Commit Graph

1594 Commits

Author SHA1 Message Date
jamesread 62ae4fea2b fix: prefix form arguments to prevent collisions with other page elements 2026-07-13 22:10:43 +01:00
jamesread 5b1a29db7f docs: Standardize on "Server Diagnostics", update many screenshots 2026-07-09 11:30:16 +01:00
jamesread 929e951a58 docs: dropdown images 2026-07-09 09:00:32 +01:00
jamesread 1708cf15ad docs: screenshot for checklist 2026-07-08 22:32:41 +01:00
jamesread 5f0d7d2392 docs: Extra entities fields 2026-07-08 21:46:14 +01:00
James Read d0075a7a8d
Next (#1070) 2026-07-08 19:00:51 +00:00
jamesread 8eda67a39e fix(docs): correct shellAfterCompleted quoting for output and exitCode
The after-completion example put {{ output }} and {{ exitCode }} inside
  single-quoted shell arguments, so  and  never expanded
  after substituteShellAfterCompletedEnvRefs runs.
  Update the apprise sample to use printf-based quoting that allows env
  substitution, document the single-quote pitfall, and extend
  TestShellAfterCompletedUsesOutputEnvSafely to assert stdout is
  substituted as well as injection being blocked.
2026-07-08 14:01:43 +01:00
jamesread 4ef86abee7 security: GHSA-vc6p-m6vx-6cwq (HIGH) harden shellAfterCompleted execution
Route output and exitCode through OUTPUT/EXITCODE environment variables
instead of shell interpolation, and block shellAfterCompleted for webhook
actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 12:29:37 +01:00
jamesread 1396184777 fix(executor): always anchor custom regex patterns and harden shellAfterCompleted
Wrap regex: patterns in a non-capturing group before applying ^...$ so
  alternation cannot bypass full-string matching. Return template parse
  errors from buildShellAfterCommand, and guard nil binding/action before
  building shellAfterCompleted commands.
2026-07-08 10:46:13 +01:00
James Read e421780c98
Merge commit from fork
security: GHSA-jm28-2wcr-qf3h (LOW) enforce logs ACL on sync execution endpoints
2026-07-08 09:53:16 +01:00
jamesread 904616b1b1 security: GHSA-jm28-2wcr-qf3h (LOW) enforce logs ACL on sync execution endpoints
StartActionAndWait and StartActionByGetAndWait now apply the same logs
permission check used by GetLogs and ExecutionStatus.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 09:52:30 +01:00
jamesread e8e2d1ff7c chore: add SECURITY_ADVISORY_DUPLICATES maintainer guide
Document known duplicate advisory clusters and triage steps referenced
from SECURITY.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 09:51:44 +01:00
James Read 995ff79736
Merge commit from fork
security: GHSA-xc5w-4v5w-7x65 (HIGH) harden shell argument type safety
2026-07-08 09:45:48 +01:00
jamesread 0e45f3b0e3 security: GHSA-xc5w-4v5w-7x65 (HIGH) harden shell argument type safety
Block additional unvalidated argument types from shell actions, enforce
full-string custom regex matching, and allowlist http/https URL schemes.

Update checkbox integration test to use exec, matching the intended shell
vs exec split for choiceless checkbox arguments.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 09:40:48 +01:00
James Read ec114e95d2
Merge commit from fork
security: GHSA-xpxj-f2fm-rqch (HIGH) bound OAuth2 state map growth
2026-07-08 08:59:51 +01:00
jamesread 422044317c security: GHSA-xpxj-f2fm-rqch (HIGH) bound OAuth2 state map growth
Sweep expired OAuth2 state entries, cap the map at 10000 entries, and
remove stale state on failed callback validation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 14:26:37 +01:00
jamesread 42f2572616 fix(config): reject ambiguous checklist comma format and propagate encode errors
ParseChecklistValue now accepts JSON arrays or single bare values and rejects
  legacy comma-separated input. Empty JSON segments are validated consistently,
  and FormatChecklistValue returns marshal errors instead of an empty string
2026-07-07 11:57:20 +01:00
jamesread a58e2fe0c3 chore: fix flakey test 2026-07-07 10:32:33 +01:00
jamesread 114a007d9d chore: Add developer check for current environment 2026-07-07 10:32:20 +01:00
jamesread 9dc51df01d fix: harden checklist JSON wire format, entity pagination, and review findings across API and UI 2026-07-07 10:14:17 +01:00
James Read f3a1315e00
Merge branch 'main' into next 2026-07-07 00:39:01 +01:00
James Read 6ce93629e7
feat: add entity UI with list filtering and prefilled action arguments (#1069) 2026-07-07 00:32:15 +01:00
jamesread 9028b8ef03 chore: coderabbit suggestions 2026-07-07 00:24:00 +01:00
jamesread 9f5c3bf596 Merge branch 'next' into feat/entity-ui-prefilled-arguments
Resolve conflicts after merging entity API and justification changes in
the wrong order, keeping prefilled entity arguments with string justification.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 00:12:49 +01:00
James Read 506ad4c883
feat: expand entity list and detail APIs with properties and related … (#1068) 2026-07-07 00:09:24 +01:00
jamesread 74504aabec chore: resolve proto conflict 2026-07-06 23:57:41 +01:00
James Read 1325ba6a72
Merge branch 'next' into feat/entity-list-related-actions-api 2026-07-06 23:57:06 +01:00
James Read 832e706a43
refactor: collapse action justification into a string template field (#1067) 2026-07-06 23:55:20 +01:00
jamesread 58dc804e78 fix: coderabbit suggestions on the justification 2026-07-06 23:35:04 +01:00
jamesread 0c4d25e525 feat: add entity UI with list filtering and prefilled action arguments
Introduce entity list/detail components and wire related actions through the
argument form so entity context can prefill values when starting actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 20:37:59 +01:00
jamesread afd9f9033a feat: expand entity list and detail APIs with properties and related actions
Support filtered paginated entity lists, configurable instance columns, and
entity-scoped actions with prefilled arguments for richer entity workflows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 20:37:26 +01:00
jamesread a530dca579 refactor: collapse action justification into a string template field
Use a single justification string for both requirement and templating so
empty values skip prompts while templates can prefill audit reasons at start.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 20:36:30 +01:00
jamesread 09212dafeb fix: default choices causing the filter values to be hidden (#1065) 2026-07-06 13:04:36 +01:00
James Read a856d46324
feat: Checklist support (#922) (#1066) 2026-07-06 12:30:46 +01:00
jamesread b18518ebea fix: add support for entities in checklists 2026-07-06 12:17:03 +01:00
jamesread 6077c63cfd chore: Fix coderabbit warnings 2026-07-06 11:39:43 +01:00
jamesread e24ae6265b feat: Checklist support (#922) 2026-07-06 11:01:22 +01:00
James Read 5bcbdb4085
fix: windows bits and pieces (#1064) 2026-06-29 19:59:37 +00:00
jamesread cdf501e62a Merge branch 'next' of github.com:OliveTin/OliveTin into next 2026-06-29 20:40:12 +01:00
jamesread ba7d9f51a1 chore: flakey test finder 2026-06-29 20:40:05 +01:00
James Read 5c76cb7728
Merge branch 'main' into next 2026-06-29 18:50:32 +01:00
jamesread 1cbd1cfb6b fix: windows installer branding 2026-06-29 16:44:01 +01:00
jamesread 03af6890c2 fix: flakey unit tests 2026-06-29 16:25:10 +01:00
jamesread 5092d9f3f8 fix: windows bits and pieces 2026-06-29 15:03:49 +01:00
James Read 9ed635038e
Next (#1063) 2026-06-29 10:07:26 +00:00
jamesread 043f16beae Merge branch 'next' of github.com:OliveTin/OliveTin into next 2026-06-29 11:00:32 +01:00
jamesread 7851c5d7d4 docs: Dark mode screenshots 2026-06-29 10:59:01 +01:00
jamesread ea053baf80 docs: Update screenshots in README 2026-06-29 10:46:43 +01:00
James Read e2bec68c4d
fix: windows installer and icons (#1062) 2026-06-29 10:21:34 +01:00
jamesread 9598f453a5 fix: windows installer and icons 2026-06-29 09:53:58 +01:00