feat: Notify with desktop toast when generation/workflow errors out - #294
Open
iammojogo-sudo wants to merge 5 commits into
Open
feat: Notify with desktop toast when generation/workflow errors out#294iammojogo-sudo wants to merge 5 commits into
iammojogo-sudo wants to merge 5 commits into
Conversation
Modly had no SECURITY.md and no private channel for vulnerability reports, which left email as the only route for researchers. Private vulnerability reporting is now enabled on the repository; this points people at it and sets expectations around it. The policy leads with a threat model and lets the scope follow from it, so that an excluded report comes with the reason it was excluded. Two assumptions are deliberate: workflow files are untrusted input because sharing them is normal, and any web page the user has open is an untrusted caller of the loopback API. The second is why the network-exposure exclusion is narrowed to deliberate exposure only -- a page in the user's own browser needs none. Every claim was checked against the code. The policy does not call the installer signed (no platform signs it), says nothing about PyTorch (we do not ship it), and does not excuse social engineering on the strength of UI warnings that do not exist.
…curity docs: add a security policy with a private reporting route
- Add showErrorNotification mirroring showCompletionNotification - Fire error notification from appStore.updateCurrentJob when status becomes error - Fire error toasts even when window has focus (was gated by hasFocus) - Disable backgroundThrottling so renderer polling + notifications fire when minimized
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Mirrors the existing "Generation complete" desktop notification so that when
a generation or workflow run is force-stopped by an error (the red error box
with "Try again / Close" over the progress bar), the user also gets a native OS
notification with sound — same channel and appearance as completion, but with
error text.
Applies universally to all extensions: every fatal error already routes
through the single
useAppStore.updateCurrentJob({ status: "error" })action(the one that renders the red box), so a single hook covers them all with no
per-extension changes.
Changes
src/shared/utils/notification.ts— addshowErrorNotification(), an exactmirror of
showCompletionNotification()(same OS toast + sound). Fires evenwhen the app window has focus, so the user is always alerted to the failure.
src/shared/stores/appStore.ts— hookupdateCurrentJobto fireshowErrorNotification()wheneverstatusbecomes"error".electron/main/index.ts— disablebackgroundThrottlingso the rendererpolling loop (which detects the error) keeps running when the window is
minimized/backgrounded, ensuring the toast fires reliably.
package.json/package-lock.json— unrelated pre-existing versionbumps (0.4.2, electron ^42.11.1).
Behavior
no desktop notification.
Generation failed, bodyWorkspace generation failed: <reason>. Errormessages, the red box, and "Try again / Close" UI are unchanged.
Non-goals / not touched
logic.
Testing
behavior changed.
Note
npm testmay fail locally if the Python API deps (fastapi) aren't installedin the active Python env — that failure is environmental and unrelated to this
PR.