Commit Graph

3238 Commits

Author SHA1 Message Date
GitHub Actions
35ca99866a fix: update tar package version from 7.5.9 to 7.5.10 2026-03-05 04:43:10 +00:00
GitHub Actions
2f83526966 fix: resolve email provider test regression from Stage 2 flag registration
After email was recognised as a supported provider type, the existing
rejection assertion for unsupported types incorrectly included email
in its denial list, causing a nil-dereference panic.

- Remove email from the unsupported-type rejection list and cover it
  in the accepted-types path instead
- Correct allFeaturesEnabled fixture to set email flag to true, keeping
  the fixture semantically consistent with all other service flags
2026-03-05 04:22:04 +00:00
GitHub Actions
5a58404e1b feat: register email as feature-flagged notification service
Add email as a recognized, feature-flagged notification service type.
The flag defaults to false and acts as a dispatch gate alongside the
existing discord, gotify, and webhook notification service flags.

- Add FlagEmailServiceEnabled constant to the notifications feature flag
  registry with the canonical key convention
- Register the flag in the handler defaults so it appears in the feature
  flags API response with a false default
- Recognise 'email' as a supported notification provider type so that
  providers of this type pass the type validation gate
- Gate email dispatch on the new flag in isDispatchEnabled() following
  the same pattern as gotify and webhook service flags
- Expand the E2E test fixtures FeatureFlags interface to include the new
  flag key so typed fixture objects remain accurate

No email message dispatch is wired in this commit; the flag registration
alone makes the email provider type valid and toggleable.
2026-03-05 03:36:27 +00:00
GitHub Actions
8ea907066b chore: remove Shoutrrr residue and dead notification legacy code
Remove all deprecated Shoutrrr integration artifacts and dead legacy fallback
code from the notification subsystem.

- Remove legacySendFunc field, ErrLegacyFallbackDisabled error, and
  legacyFallbackInvocationError() from notification service
- Delete ShouldUseLegacyFallback() from notification router; simplify
  ShouldUseNotify() by removing now-dead providerEngine parameter
- Remove EngineLegacy engine constant; EngineNotifyV1 is the sole engine
- Remove legacy.fallback_enabled feature flag, retiredLegacyFallbackEnvAliases,
  and parseFlagBool/resolveRetiredLegacyFallback helpers from flags handler
- Remove orphaned EmailRecipients field from NotificationConfig model
- Delete feature_flags_coverage_v2_test.go (tested only the retired flag path)
- Delete security_notifications_test.go.archived (stale archived file)
- Move FIREFOX_E2E_FIXES_SUMMARY.md to docs/implementation/
- Remove root-level scan artifacts tracked in error; add gitignore patterns to
  prevent future tracking of trivy-report.json and related outputs
- Update ARCHITECTURE.instructions.md: Notifications row Shoutrrr → Notify

No functional changes to active notification dispatch or mail delivery.
2026-03-05 00:41:42 +00:00
GitHub Actions
ffe5d951e0 fix: update terminology from "PR Slicing Strategy" to "Cmmit Slicing Strategy" in agent instructions 2026-03-04 21:02:59 +00:00
Jeremy
e5af7d98d1 Merge pull request #799 from Wikid82/renovate/feature/beta-release-non-major-updates
chore(deps): update github/codeql-action digest to b6dfacb (feature/beta-release)
2026-03-04 13:38:58 -05:00
GitHub Actions
27c252600a chore: git cache cleanup 2026-03-04 18:34:49 +00:00
GitHub Actions
c32cce2a88 chore: git cache cleanup 2026-03-04 18:34:39 +00:00
renovate[bot]
c01c6c6225 chore(deps): update github/codeql-action digest to b6dfacb 2026-03-04 18:33:32 +00:00
GitHub Actions
7a8b0343e4 fix: update user record to trigger user_update audit event in E2E workflow 2026-03-04 15:36:02 +00:00
Jeremy
cc3077d709 Merge pull request #798 from Wikid82/renovate/feature/beta-release-docker-login-action-4.x
chore(deps): update docker/login-action action to v4 (feature/beta-release)
2026-03-04 08:36:19 -05:00
renovate[bot]
d1362a7fba chore(deps): update docker/login-action action to v4 2026-03-04 13:35:15 +00:00
GitHub Actions
4e9e1919a8 fix: update UserProfile role type and enhance API response typings for getProfile and updateProfile 2026-03-04 12:43:41 +00:00
GitHub Actions
f19f53ed9a fix(e2e): update user lifecycle audit entry checks to ensure both user_create and user_update events are present 2026-03-04 12:41:56 +00:00
GitHub Actions
f062dc206e fix: restrict email changes for non-admin users to profile settings 2026-03-04 12:38:28 +00:00
GitHub Actions
a97cb334a2 fix(deps): update @exodus/bytes, electron-to-chromium, and node-releases to latest versions 2026-03-04 12:28:05 +00:00
Jeremy
cf52a943b5 Merge pull request #797 from Wikid82/renovate/feature/beta-release-docker-setup-qemu-action-4.x
chore(deps): update docker/setup-qemu-action action to v4 (feature/beta-release)
2026-03-04 07:18:01 -05:00
Jeremy
46d0ecc4fb Merge pull request #796 from Wikid82/renovate/feature/beta-release-non-major-updates
fix(deps): update non-major-updates (feature/beta-release)
2026-03-04 07:17:31 -05:00
renovate[bot]
348c5e5405 chore(deps): update docker/setup-qemu-action action to v4 2026-03-04 12:16:35 +00:00
renovate[bot]
25dbe82360 fix(deps): update non-major-updates 2026-03-04 12:16:29 +00:00
GitHub Actions
fc404da455 fix(e2e): resolve shard 4 failures from 3-tier role model changes
Three tests broke when the Admin/User/Passthrough privilege model replaced
the old admin/user/guest hierarchy in PR-3.

- user-management: tighten heading locator to name='User Management' to avoid
  strict mode violation; the settings layout now renders a second h1
  ('Settings') alongside the page content heading
- user-lifecycle: update audit trail assertion from 2 to 1; users are now
  created with a role in a single API call so the backend does not emit a
  user_update audit entry when STEP 2 sends the same role value as creation
- auth-fixtures: replace invalid role='guest' with role='passthrough' in the
  guestUser fixture; the 'guest' role was removed in PR-3 and 'passthrough' is
  the equivalent lowest-privilege role in the new model

Verified: all three previously-failing tests now pass locally.
2026-03-03 13:10:44 +00:00
GitHub Actions
ed27fb0da9 fix(e2e): update account navigation locator and skip legacy Account.tsx test sections
The Account.tsx page was removed in PR-2b and replaced by UsersPage.tsx with
a UserDetailModal. Several E2E test sections still referenced UI elements that
only existed in the deleted page, causing CI failures across shards.

- admin-onboarding: update header profile link locator from /settings/account
  to /settings/users to match the new navigation target in Layout.tsx
- account-settings: skip five legacy test sections (Profile Management,
  Certificate Email, Password Change, API Key Management, Accessibility) that
  reference deleted Account.tsx elements (#profile-name, #profile-email,
  #useUserEmail, #cert-email) or assume these fields are directly on the page
  rather than inside the UserDetailModal
- Each skipped section includes an explanatory comment pointing to the PR-3
  'Self-Service Profile via Users Page (F10)' suite as the equivalent coverage

Verified: admin-onboarding 8/8 pass; account-settings 8 pass / 20 skipped
2026-03-03 10:27:13 +00:00
GitHub Actions
afbd50b43f fix: update @floating-ui and caniuse-lite packages to latest versions for improved functionality 2026-03-03 09:17:54 +00:00
GitHub Actions
ad2d30b525 fix: update postcss to version 8.5.8 for improved stability 2026-03-03 09:17:25 +00:00
GitHub Actions
a570a3327f fix: update opentelemetry http instrumentation to v0.66.0 2026-03-03 09:16:34 +00:00
GitHub Actions
0fd00575a2 feat: Add passthrough role support and related tests
- Implemented middleware to restrict access for passthrough users in management routes.
- Added unit tests for management access requirements based on user roles.
- Updated user model tests to include passthrough role validation.
- Enhanced frontend user management to support passthrough role in invite modal.
- Created end-to-end tests for passthrough user access restrictions and navigation visibility.
- Verified self-service profile management for admins and regular users.
2026-03-03 09:14:33 +00:00
GitHub Actions
a3d1ae3742 fix: update checkout ref to use full GitHub ref path for accurate branch handling 2026-03-03 04:31:42 +00:00
GitHub Actions
6f408f62ba fix: prevent stale-SHA checkout in scheduled CodeQL security scan
The scheduled CodeQL analysis explicitly passed ref: github.sha, which
is frozen when a cron job is queued, not when it runs. Under load or
during a long queue, the analysis could scan code that is days old,
missing vulnerabilities introduced since the last scheduling window.

Replace with ref: github.ref_name so all trigger types — scheduled,
push, and pull_request — consistently scan the current HEAD of the
branch being processed.
2026-03-03 04:24:47 +00:00
GitHub Actions
e92e7edd70 fix: prevent stale-SHA checkout and pin caddy-security in weekly security rebuild
The scheduled weekly rebuild was failing because GitHub Actions froze
github.sha at job-queue time. When the Sunday cron queued a job on
March 1 with Feb 23 code (CADDY_VERSION=2.11.0-beta.2), that job ran
two days later on March 3 still using the old code, missing the caddy
version fix that had since landed on main.

Additionally, caddy-security was unpinned, so xcaddy auto-resolved it
to v1.1.36 which requires caddy/v2@v2.11.1 — conflicting with xcaddy's
internally bundled v2.11.0-beta.2 reference.

- Add ref: github.ref_name to checkout step so the rebuild always
  fetches current branch HEAD at run time, not the SHA frozen at queue
  time
- Add CADDY_SECURITY_VERSION=1.1.36 ARG to pin the caddy-security
  plugin to a known-compatible version; pass it via --with so xcaddy
  picks up the pinned release
- Add --with github.com/caddyserver/caddy/v2@v${CADDY_TARGET_VERSION}
  to force xcaddy to use the declared Caddy version, overriding its own
  internal go.sum pin for caddy
- Add Renovate custom manager for CADDY_SECURITY_VERSION so future
  caddy-security releases trigger an automated PR instead of silently
  breaking the build

Fixes weekly security rebuild CI failures introduced ~Feb 22 when
caddy-security v1.1.36 was published.
2026-03-03 04:22:39 +00:00
GitHub Actions
4e4c4581ea fix: update Caddy Server version to 2.11.1 in architecture documentation 2026-03-03 03:52:57 +00:00
GitHub Actions
3f12ca05a3 feat: implement role-based access for settings route and add focus trap hook
- Wrapped the Settings component in RequireRole to enforce access control for admin and user roles.
- Introduced a new custom hook `useFocusTrap` to manage focus within modal dialogs, enhancing accessibility.
- Applied the focus trap in InviteModal, PermissionsModal, and UserDetailModal to prevent focus from leaving the dialog.
- Updated PassthroughLanding to focus on the heading when the component mounts.
2026-03-03 03:10:02 +00:00
GitHub Actions
a681d6aa30 feat: remove Account page and add PassthroughLanding page
- Deleted the Account page and its associated logic.
- Introduced a new PassthroughLanding page for users without management access.
- Updated Settings page to conditionally display the Users link for admin users.
- Enhanced UsersPage to support passthrough user role, including invite functionality and user detail modal.
- Updated tests to reflect changes in user roles and navigation.
2026-03-03 03:10:02 +00:00
GitHub Actions
3632d0d88c fix: user roles to use UserRole type and update related tests
- Changed user role representation from string to UserRole type in User model.
- Updated role assignments in various services and handlers to use the new UserRole constants.
- Modified middleware to handle UserRole type for role checks.
- Refactored tests to align with the new UserRole type.
- Added migration function to convert legacy "viewer" roles to "passthrough".
- Ensured all role checks and assignments are consistent across the application.
2026-03-03 03:10:02 +00:00
GitHub Actions
a1a9ab2ece chore(docs): archive uptime monitoring regression investigation plan to address false DOWN states 2026-03-03 03:10:02 +00:00
Jeremy
9c203914dd Merge pull request #795 from Wikid82/renovate/feature/beta-release-non-major-updates
chore(deps): update dependency postcss to ^8.5.8 (feature/beta-release)
2026-03-02 19:25:08 -05:00
renovate[bot]
6cfe8ca9f2 chore(deps): update dependency postcss to ^8.5.8 2026-03-03 00:22:16 +00:00
Jeremy
938b170d98 Merge branch 'development' into feature/beta-release 2026-03-02 17:41:57 -05:00
Jeremy
9d6d2cbe53 Merge pull request #793 from Wikid82/renovate/feature/beta-release-non-major-updates
chore(deps): update dependency postcss to ^8.5.7 (feature/beta-release)
2026-03-02 17:33:09 -05:00
renovate[bot]
136dd7ef62 chore(deps): update dependency postcss to ^8.5.7 2026-03-02 22:31:09 +00:00
Jeremy
f0c754cc52 Merge pull request #785 from Wikid82/feature/beta-release
Save and Import Functions Hotfix
2026-03-02 17:28:03 -05:00
GitHub Actions
28be62dee0 fix(tests): update cancel endpoint mock to match DELETE requests with session UUID 2026-03-02 22:09:53 +00:00
Jeremy
49bfbf3f76 Merge branch 'development' into feature/beta-release 2026-03-02 16:04:39 -05:00
GitHub Actions
2f90d936bf fix(tests): simplify back/cancel button handling in cross-browser import tests 2026-03-02 21:02:34 +00:00
GitHub Actions
4a60400af9 chore(deps): add tracking for Syft and Grype versions in workflows and scripts 2026-03-02 21:01:42 +00:00
GitHub Actions
18d0c235fa fix(deps): update OpenTelemetry dependencies to v1.41.0 2026-03-02 20:31:45 +00:00
GitHub Actions
fe8225753b fix(tests): remove visibility check for banner in cancel session flow 2026-03-02 20:28:40 +00:00
GitHub Actions
273fb3cf21 fix(tests): improve cancel session flow in cross-browser import tests 2026-03-02 20:04:34 +00:00
GitHub Actions
e3b6693402 fix: correct version-check hook to use global latest tag
The pre-commit version check hook was incorrectly using `git describe`
to find the latest tag, which only traverses the current branch's
ancestry. On feature branches that predate release tags applied to
main/nightly, this caused false failures — reporting v0.19.1 as latest
even though v0.20.0 and v0.21.0 existed globally.

Replaced with `git tag --sort=-v:refname | grep semver | head -1` so
the check always compares .version against the true latest release tag
in the repository, independent of which branch is checked out.
2026-03-02 19:52:47 +00:00
Jeremy
ac915f14c7 Merge pull request #792 from Wikid82/renovate/feature/beta-release-non-major-updates
chore(deps): update aquasecurity/trivy-action action to v0.34.2 (feature/beta-release)
2026-03-02 14:08:07 -05:00
renovate[bot]
5ee52dd4d6 chore(deps): update aquasecurity/trivy-action action to v0.34.2 2026-03-02 19:02:20 +00:00