paulpaul168 / glint Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
after raising z-index of toolbar the first line is now inaccessible because it's behind the toolbar. maybe only raise buttons inside toolbar over the content, investigate
for some reason unless I hardcode it the readonly parameter of the prism-editor in the linter view just doesn't work. even if I set it to readonly per default and the file edit mode correctly is not editable anymore the lint view will still be editable. I just don't get it
there seems to be some cross talk or wrong caching happening. if I set language of tab 0 on project 0 and then switch to project 1 the file at tab 0 of that other project will have the same language setting as set before (in the other project)
as title says
the toolbar used to be position: absolute
but this made it scroll away in the file edit mode (which is stupid). I "fixed" this by simply setting it to position: fixed
but that's not great as this doesn't align to the parent container (aligns to viewport) and thus on different viewport widths the alignment is better or worse. also switching tab animation is kinda broken on the toolbar now. best would be position absolute in the parent of the current container, but then it loses knowledge of which tab is shown. not sure what to do here, investigate. (current fix works decently okay though)
due to the new structure the lint view is generated for all files on switch (and discarded on every switch as well) which takes a while
no folder :(
no files in folders :(
doesn't need to be as wide as the entire screen. either make it % of screen or max-width, probably better the latter for if the window gets slim.
when no lints are available it should show the linter name + "found no linters in this file", but more often than not it just has the default "linter found no..." and not the actual linter name
would be nice if the upload section would highlight itself a bit during a dragevent
it does the right stuff in the background, but the UI kinda breaks and needs to reload the projects.
probably because after uploading the dialog isn't reset properly (it still shows the last file uploaded in the file input)
instead of scrolling, if the project list gets too long it just pushes the project settings off screen
if there is an especially long code line prism editor becomes wider than its container's max width instead of wrapping said line when needed. not sure what I can do against that if there even is something. this seems pretty deeply entrenched in the editors behavior
when clicking on a file in an inactive project it correctly switches to that project and opens the file, but the active file stays the previous active file
clicking on a button with line numbers correctly opens the file and scrolls to the line unless the file is in a subfolder in the project.
they should be set up to filter only allowed files but they don't
creating a project with a file linked (like the unnamed placeholder file) doesn't properly close the unnamed placeholder file. not really tragic, just weird and not good UX.
update to put file api needed to also support path change
it shows lint messages that make no sense to the actual line in the file and the code line shown for it seems to be nonsensical. may be some line offset issue, may be that it shows the lint messages for the wrong file
(at least on python lint)
it seems at some point I'm double encoding the URLs because space becomes %2520 (% encodes to %25, so %20 encoded is %2520). everything still seems to work properly which is odd, but it's a bit of a beauty problem
secret search loops through all files in all projects, but data structure for results is only made to store results of one project. either change the loop or do the proper way and do project storage. latter is preferred so results don't always have to be searched on each project switch (but needs more logic to stay in sync!)
alternatively switch to a manual search mode - search could start taking a while on many regexes and big projects
if an error occurred an error symbol is shown and the button is disabled. this means that there can't be a tooltip that an error occurred while linting (because it's disabled) and it can't be retried - in the future I'd like to active the button so I can add a popup for trying to resubmit the lint (and showing an error message)
forgot to add the scrollbar styling to the (potential) scrollbar in the lint view (shouldn't the styling in chromium be global? investigate)
renaming files is broken in two ways:
the feature is really not essential for glint's use cases so it's disabled for now, would like to revisit
input field is fixed width instead of adaptive to content - no idea if I can even do something about this.
title is currently a prop, but a prop should not be mutated, so either I need to somehow set up a v-model access for the file tab custom component or I do the same as I did before with an internal variable and a rename event (probably better because I don't want to update things like language detection while writing, only when submitting)
display for unsaved changes (the * after the file name) does not work anymore with the new file input UI
the line numbers in the code editor are completely broken as soon as one of the following happens:
Exception in thread Thread-37 (lint_thread):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1009, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 946, in run
self._target(*self._args, **self._kwargs)
File "/home/luis/data/projects/glint/backend/glint_server/threading.py", line 28, in lint_thread
lint_project(
File "/home/luis/data/projects/glint/backend/glint_server/linter_collection/lint.py", line 66, in lint_project
lint = lint_c_project(path, linter)
TypeError: lint_c_project() takes 1 positional argument but 2 were given
each pattern is checked for validity and ending pattern edit is only possible with a valid pattern. likewise, saving patterns is only possible if no pattern is currently being edited. this works fine, however when starting to edit a pattern it will be wrongly seen as invalid and a change has to be made for the check to work correctly
the refresh lint button always requests a new lint. if linting takes longer than the frontend tries to fetch for (now ~10 seconds) the lint result is unobtainable without refreshing the page as all buttons are only able to request an entirely new lint (which again takes longer than the ~10 seconds)
fix for right now is to make the timeout long enough, but this needs a proper solution at some point
as title says, behavior should be that the tab left of the one being closed is opened if the closed tab is the last in the list. instead, it highlights the first tab (index 0). the active tab value should be set "correctly", meaning to the index of the file left of the closed one, not the first tab meaning there is now a discrepancy between the stored active tab and the actual active tab. this is not really all that important because that is already the case on a normal tab switch, but might be worth investigating when/if I fully sync active tab.
editing (not creating) a secret regex doesn't wait for confirmation of the edit and starts searching live while typing. this is problematic because of performance while typing
for some reason no matter what I do it does either the fade transition or nothing, even if I specify one of the other transitions (would love to use scroll-y-transition
or scroll-y-reverse-transition
)
when creating a second new regex it shows the inputs from before.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.