Giter Club home page Giter Club logo

glint's People

Contributors

flofriday avatar lavish avatar lupro avatar paulpaul168 avatar

Stargazers

 avatar

Watchers

 avatar

glint's Issues

can't write in empty file

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

readonly prop on editor in lint view not working

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

toolbar alignment

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)

opening lint view is kinda slow

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

make upload dialog less wide

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.

lint view doesn't always show correct linter name

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

adding individual files twice breaks UI

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)

code with a long line forces prism editor to be wider than allowed

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

lint view is completely broken

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)

url encoding of share links a bit weird

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 broken

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

change lint toggle button behavior on error

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)

file rename broken

renaming files is broken in two ways:

  1. the backend seems to copy, not move files after rename
  2. if the renamed file is in a folder, the frontend doesn't properly update the file name until a full list reload is done

the feature is really not essential for glint's use cases so it's disabled for now, would like to revisit

issues with new custom tabs

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

line numbers in code editor broken

the line numbers in the code editor are completely broken as soon as one of the following happens:

  • the file is longer than a screen. line numbers are only created for what's within the elements height, if you scroll past that the line numbers simply vanish
  • the file contains differently sized lines. line numbers (and line edits for that matter) get "offset" when a line is taller/shorter than the default. happens in eg: rendering of markdown. not really important because our target file types all don't have this
  • when a line is too long and gets wrapped. the wrapped line now gets its own line number, which is already bad enough, but even worse, the line numbers "end too soon" in that case. eg: two lines in the file had to be wrapped due to length -> the line numbers stop 2 lines before the end. essentially it creates as many line numbers as there are newlines in the file and ignores the UI line wrapping added.

linting C crashes

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

secret search panel validity checks broken

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

delivery todo list

  • sidebar files not click-able if project not selected
  • Tried loading project with empty id
  • File delete missing implementation needs testing, I'm 100% there's bugs/it won't work at all
  • help -> 404
  • icon (eg. https://tabler-icons.io/)
  • Stats Panel Placeholder
  • remove pylint urls
  • linter mapping update not intuitive (how to update lints without changing file saving them and redoing the lint)
  • rust linter add to install script
  • only new lint if you send linters to backend
  • error if no linter available (show processing?)
  • lint error not shown
  • permalinks missing (url-parsing)
  • links/zips not working
  • add file to existing project
  • project-wide lint view?
  • upload folder structure same as .zip uploading (I will not make a manual folder edit UI)

if a lint takes longer than timeout for fetch lint only page refresh can get lint

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

closing last tab resets to first tab instead of new last tab

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 secret regex live-searches

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

error show/hide animation

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.