[ ] Re-visit default scripts (one script demonstrating each prompt
[ ] script generator
[ ] Basic AI Chat
[x] Check watchers and restart if failed. Touch a ~/.kit/ping.txt file and check to see if watcher picked it up
[x] Replace key/mouse automation library
[x] Network permissions screen on Windows when installing the app I believe this is fine. I also saw that popup for Spotify, so if a large app like that requires it...
[x] open calls completely broken for URLs
[x] Since 2.9.24, after any prompt (e.g. main menu) exits, the window focus is not returned to where it previously was
[x] When trigging scripts via shortcut, they now always appear off-screen and cannot be moved to a visible spot. See Video. Same for the npm install popup (sometimes).
[x] Resizing snaps back, see Discord. Also need to rework the height/resizing. height argument and setBounds({height: ...}) don't work at all.
[x] NPM install prompts are reportedly open, but not visible anywhere on screen. See Discord.
[x] Widgets completely broken: They open in the top right, show "Missing body", and behave weirdly when resizing.
[x] Provide various GPU configuration settings to debug NVIDIA driver performance/compatibility issues
[ ] debounceInput on editor debounces, but then fires the inputs for all characters in rapid succession. Generally, the debounce function works in very strange ways and the usage is unclear from just the type annotations. @JosXa to provide repro.
[x] Might need to overhaul the .env writing/reading using a propery validator. Trusting/distrusting kenvs sometimes just doesn't do anything.
[x] Mac 'onBlur' makeWindow/onTop not working as expected
[x] Allow prompt x,y positioning
[x] Check focusTab and other applescript tools
[x] Quick Scripts
[x] "More than 2 prompts requires a sponsorship" - don't prevent main menu or else user can seem stuck
[x] Check bin generation "arg-only" is pointing to an old .js version?
[ ] Consider a "detachPrompt()" feature when a long-running/background script will never need it's prompt again
Minor Bugs
(in order of annoyance)
[x] Likely only Windows: Whenever await run is called, on Windows the shell window pops up for a split second, causing the kit UI to lose focus. See Discord.
[x] The chat prompt allows empty messages. Provide an allowEmpty: boolean and default it to false as 80% of users won't want this. Alternatively, not adding an empty message when return preventSubmit is used would also solve the issue. Re-use strict flag. Users can provide inputRegex: "\S"
[x] height value in PromptConfigs is not working
[x] Strange cutoff bug in chat prompt: See Discord
[ ] The GitHub login is very flaky. When Kit starts up, it often doesn't automatically relogin and detect your sponsor status until you explicitly click the Sign In button.
[ ] Hotkeys in editor (still) not overridden correctly, at least on Windows. See Discord
[ ] Add kenv to PATH has meaningless "Profiles" on Windows. See Discord
[ ] Remove the internal exists function. See Discord
[ ] Provide ability to attach an external debugger (VS Code, WebStorm, etc.)
[ ] Provide ability to turn NPM package installation popups off via env var
[x] Add something like an onAnyScriptChanged hook. Necessary because watching ~/.kit/db/scripts.json and immediately exiting yields endless loop.
[ ] Reindex the available computer applications on Kit start (App Launcher)
[ ] Add ability to use the Windows key (meta/super)
[ ] widget that controls a site's JavaScript
[ ] Retain cursor position when setInput is called: See Discord
[ ] Prompt for a hotkey on first install instead of assuming QWERTY layout with ${cmd}+;. Highlyrequested.
[ ] Provide a globals.ts/.js file in the user's main kenv that automatically loads in for every script. Should provide some documentation on how to declare global in a globals.d.ts.
Critical Bugs
(in order of priority)
div
prompt doesn't work (don't trigger handler)chat
prompt anymorechat
prompt always puts the entire message into the clipboard, not the selection.npm install
uses ~/.knode...kit run
Network permissions screen on Windows when installing the appI believe this is fine. I also saw that popup for Spotify, so if a large app like that requires it...open
calls completely broken for URLsheight
argument andsetBounds({height: ...})
don't work at all.lstat
problem when Emojis in the filename. PR is open: #1476await run("sub-script")
, the parent script does not continue execution.debounceInput
on editor debounces, but then fires the inputs for all characters in rapid succession. Generally, thedebounce
function works in very strange ways and the usage is unclear from just the type annotations. @JosXa to provide repro.Minor Bugs
(in order of annoyance)
await run
is called, on Windows the shell window pops up for a split second, causing the kit UI to lose focus. See Discord.chat
prompt allows empty messages.Provide anRe-useallowEmpty: boolean
and default it to false as 80% of users won't want this. Alternatively, not adding an empty message whenreturn preventSubmit
is used would also solve the issue.strict
flag. Users can provideinputRegex: "\S"
height
value in PromptConfigs is not workingchat
prompt: See Discordeditor
(still) not overridden correctly, at least on Windows. See DiscordAdd kenv to PATH
has meaningless "Profiles" on Windows. See Discordexists
function. See Discordawait arg({..., html: md("Test")})
doesn't show a panel, butsetPanel(md("Test"))
onInit works.Starting...
.Potential Improvements and Features
(in order of how much JosXa wants them 😏)
~/.kit/db/scripts.json
and immediately exiting yields endless loop.globals.ts
/.js
file in the user's main kenv that automatically loads in for every script. Should provide some documentation on how todeclare global
in aglobals.d.ts
..env.local
(and maybe.env.shared
) to control which settings are gitignored and which can be checked in