Commit Graph

1802 Commits

Author SHA1 Message Date
pewdiepie-archdaemon e4e181aabb Move task start-now pill up 2026-06-30 10:25:53 +00:00
pewdiepie-archdaemon 1f1a5460ca Fix task activity scrolling and background spam 2026-06-30 08:16:19 +00:00
pewdiepie-archdaemon 3468503bd3 Show thumbnails on past research cards 2026-06-30 08:00:01 +00:00
pewdiepie-archdaemon affc8b1c37 Improve document agent streaming and chat metrics 2026-06-30 05:14:41 +00:00
pewdiepie-archdaemon 2f6c7cda2d Cancel background tasks when Odysseus becomes active 2026-06-30 04:23:04 +00:00
pewdiepie-archdaemon 81193dca85 Add hover labels to mini sidebar buttons 2026-06-30 03:26:55 +00:00
pewdiepie-archdaemon f351555537 Auto scan cookbook hardware when cache is missing 2026-06-30 02:55:25 +00:00
pewdiepie-archdaemon 0b56c064ee Pause background tasks while Odysseus is active 2026-06-30 02:12:30 +00:00
pewdiepie-archdaemon 38e345d476 Gate email auto translate behind active chat 2026-06-30 02:08:57 +00:00
pewdiepie-archdaemon edbc9131b7 Fix incognito agent mode and cookbook tmux preview 2026-06-30 01:47:48 +00:00
pewdiepie-archdaemon ea3e7f52d2 Lazy load startup task and email work 2026-06-30 01:28:08 +00:00
pewdiepie-archdaemon 061484c8ee Speed up task activity load 2026-06-30 01:16:41 +00:00
pewdiepie-archdaemon 2584d031c8 Add task email output sender controls 2026-06-30 00:34:31 +00:00
pewdiepie-archdaemon e92d4385e8 Lengthen email loading skeleton rows 2026-06-29 23:07:25 +00:00
pewdiepie-archdaemon 296fadcb52 Implement email auto translate cache task 2026-06-29 14:59:25 +00:00
pewdiepie-archdaemon 1a23f39da8 Rescue plain UI open-panel tool text 2026-06-29 14:07:48 +00:00
pewdiepie-archdaemon df5d22f191 Fix task status toggle hit target 2026-06-29 13:55:30 +00:00
pewdiepie-archdaemon a5a361e619 Gate background tasks behind foreground activity 2026-06-29 13:52:52 +00:00
pewdiepie-archdaemon 5a5284926d Show cached model scan failures 2026-06-29 12:27:56 +00:00
pewdiepie-archdaemon 18700f92f6 Persist email AI reply context notes 2026-06-29 11:30:25 +00:00
pewdiepie-archdaemon 6139fc39bc Retry blank email AI replies 2026-06-29 11:26:16 +00:00
pewdiepie-archdaemon fcf6ce57d6 Fix added models probe button 2026-06-29 11:20:32 +00:00
pewdiepie-archdaemon 8016e3aae4 Clarify empty AI reply errors 2026-06-29 10:07:48 +00:00
pewdiepie-archdaemon c80a35a96e Reuse open email drafts for agent replies 2026-06-29 09:18:26 +00:00
pewdiepie-archdaemon 757ebd8795 Keep open editor drafts in chat context 2026-06-29 03:10:42 +00:00
pewdiepie-archdaemon d919f84b65 Restore cookbook download task progress 2026-06-29 03:02:58 +00:00
pewdiepie-archdaemon ef6cda29f6 Link gallery uploads back to chat 2026-06-29 02:34:11 +00:00
pewdiepie-archdaemon 9401fd2870 Allow stalled chat uploads to be cancelled 2026-06-29 02:06:39 +00:00
pewdiepie-archdaemon 99c87c7c7e Show chat uploads in gallery immediately 2026-06-29 01:57:35 +00:00
pewdiepie-archdaemon ec93ea368b Persist upload OCR captions in gallery 2026-06-29 01:45:05 +00:00
pewdiepie-archdaemon fada157099 Restore chat thumbnails and gallery OCR captions 2026-06-29 01:19:50 +00:00
pewdiepie-archdaemon bb5d57f5b0 Show overlays during bulk email delete 2026-06-28 23:42:53 +00:00
pewdiepie-archdaemon d8f3985474 Show email delete overlay before request 2026-06-28 22:41:09 +00:00
pewdiepie-archdaemon d0d83e95c3 Show busy spinner while deleting email 2026-06-28 22:19:32 +00:00
pewdiepie-archdaemon 9d576dc9ee Clear stale chat stream indicators 2026-06-28 22:06:20 +00:00
pewdiepie-archdaemon 4e81a5aa87 Guard document style against persona guessing 2026-06-28 21:49:09 +00:00
pewdiepie-archdaemon 58ee4e78a1 Move email writing style into AI settings 2026-06-28 14:27:52 +00:00
pewdiepie-archdaemon 38d5e65e36 Merge dev into main for testing 2026-06-28 14:07:23 +00:00
Tal.Yuan d13d8aa905 refactor(routes): move research domain into routes/research/ subpackage
Move the research route domain into the canonical routes/research/ subpackage while preserving the legacy routes.research_routes import path through a sys.modules compatibility shim.

The moved canonical module is behavior-preserving, app wiring now imports the canonical route setup function, source-introspection tests point at the new canonical path, and shim regression coverage pins legacy/canonical same-object behavior plus string-targeted monkeypatch reach-through.

Refs #4082.
Refs #4071.
2026-06-28 14:34:11 +01:00
Michael c096af5afd fix(cookbook): accept $(find) subshells in serve command validation
Allow the generated Cookbook mmproj lookup command substitution while keeping serve-command validation constrained to explicit safe subshell patterns.

Preserves the existing safe printf substitution, allowlists the generated find/sort/head mmproj lookup shape, and adds negative regression coverage for unrelated substitutions and pipelines.

Fixes #4772.
2026-06-28 14:00:49 +01:00
pewdiepie-archdaemon e75e1d038e Close notes when opening documents 2026-06-28 12:58:01 +00:00
pewdiepie-archdaemon a90b60a9b0 Keep PDF annotation controls hoverable 2026-06-28 11:26:45 +00:00
pewdiepie-archdaemon 6ead14c5ec Fix expanded email attachment chip layout 2026-06-28 11:14:06 +00:00
pewdiepie-archdaemon d749de2694 Fix failed task activity colors 2026-06-28 11:04:26 +00:00
nopoz 7f6044f0e5 fix(security): prevent ReDoS in verdict-prose and continuation matchers (#4943)
Two py/polynomial-redos sinks ran regexes with two adjacent \s-matching
quantifiers over untrusted model text, backtracking O(n^2) when the tail failed
on a whitespace flood:

  - routes/skills_routes.py: the last-resort verdict-from-prose extractor used
    `["\'\s:]*\s*` — the class already matches \s, so the trailing \s* was a
    redundant second quantifier. Dropped it (extracted to a documented module
    constant _VERDICT_PROSE_RE); the matched text is identical, the scan linear.
  - src/agent_loop.py _EXPLICIT_CONTINUATION_RE: `\s*[.!?]*\s*$` put two \s*
    around `[.!?]*`. Rewrote as `\s*(?:[.!?]+\s*)?$` — same accepted tails (no
    two \s* adjacent), linear. Portable form (no possessive quantifiers).

Both verified output-equivalent to the originals across a fuzz corpus. Adds
tests/test_redos_verdict_continuation.py pinning the unchanged match sets and
bounding the flood inputs (old patterns took seconds at 40k whitespace chars).
2026-06-28 11:42:20 +01:00
red person fc994867fd Reject blank ownerless claim owner (#4929) 2026-06-28 10:57:11 +01:00
Tal.Yuan 3441061345 refactor(routes): move gallery domain into routes/gallery subpackage (#4903)
Move the gallery route domain into routes/gallery/ while preserving backward-compatible legacy import shims.

- app imports the canonical gallery route module
- canonical gallery route code imports canonical gallery helpers
- legacy gallery route/helper paths remain compatibility aliases
- add shim regression coverage for module identity and monkeypatch behavior
- repoint gallery source-introspection tests to the canonical paths

No intended behavior change.
2026-06-28 10:40:34 +01:00
pewdiepie-archdaemon 7c77b43fb6 Fix mobile note archive action 2026-06-28 09:11:59 +00:00
pewdiepie-archdaemon 21998a891f Avoid model endpoint probes on boot 2026-06-28 08:07:15 +00:00
pewdiepie-archdaemon 37ccfcc493 Make added models list cache-only 2026-06-28 07:10:55 +00:00