Repository navigation
Release: merge development into beta #834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
366 commits
Select commit
Hold shift + click to select a range
969ba4e
feat(generator): generate passwords and passphrases in the browser (#…
rubenvdlinde f221a08
Merge origin/development into feat/sharing-use-only-and-expiring-shares
rubenvdlinde 7bd5288
feat(extension): chosen idle lock delay, several accounts, fingerprin…
rubenvdlinde 40bb9c4
Merge remote-tracking branch 'origin/development' into feat/apps-clie…
rubenvdlinde 7ac7d1e
chore: merge development into feat/crypto-new-device-approval
rubenvdlinde 4a506ff
Merge pull request #914 from ConductionNL/feat/apps-client-libraries-…
rubenvdlinde 69d50e0
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde 682066d
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde e92d135
Merge remote-tracking branch 'origin/development' into feat/apps-kube…
rubenvdlinde 79afd05
chore: merge development into feat/sharing-use-only-and-expiring-shares
rubenvdlinde 6e73566
feat(admin): split Keepiq administration into five delegable areas (b…
rubenvdlinde 6960b20
feat: Splunk HEC, Microsoft Sentinel and CEF connectors for the SIEM …
rubenvdlinde 592a886
wip: unfinished lane work saved by the coordinator after a usage limi…
rubenvdlinde 4b061ef
test(generator): count passphrase words without splitting on hyphens …
rubenvdlinde 68f447d
chore: move the use-only migration past development's 180000
rubenvdlinde 7f36477
docs(openspec): admin-scoped-roles follows the split per area (decisi…
rubenvdlinde fff9973
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde e83ab8d
chore: move the device approval migration past development's 180000
rubenvdlinde f495849
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde f07a4fa
feat(offline): edit secrets offline and sync when back online (#929)
rubenvdlinde 031f686
Merge remote-tracking branch 'origin/development' into feat/apps-kube…
rubenvdlinde e4c97f1
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde 3ed8568
Merge pull request #922 from ConductionNL/feat/apps-kubernetes-injection
rubenvdlinde 7dce0ed
Merge remote-tracking branch 'origin/development' into feat/apps-secr…
rubenvdlinde b930ca1
refactor(admin): area settings in their own controller, areas registe…
rubenvdlinde ff6d7af
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde 68516ce
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde 6e5564a
feat(extension): store packages, version handshake and next-step code…
rubenvdlinde e7cff9b
refactor(machine): the If-Match comparison lives next to the ETag it …
rubenvdlinde 7474d16
Merge remote-tracking branch 'origin/development' into feat/apps-secr…
rubenvdlinde bc6007b
fix(admin): development's offline edits switch belongs to the General…
rubenvdlinde 80fa36a
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde 114b5a9
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde 233598c
feat(cli): keepiq ssh-agent serves vault SSH keys (#932)
rubenvdlinde ad0d467
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde 486170b
Merge remote-tracking branch 'origin/development' into feat/apps-secr…
rubenvdlinde 9a08b14
feat(admin): member overview and complete offboarding (replaces #895)…
rubenvdlinde eae81e3
Merge remote-tracking branch 'origin/development' into feat/apps-secr…
rubenvdlinde 2c34fb2
Merge pull request #926 from ConductionNL/feat/apps-secret-sync-and-r…
rubenvdlinde 7455e34
Merge remote-tracking branch 'origin/development' into feat/apps-terr…
rubenvdlinde 9b8bb8c
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde 4a7f184
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde d1ae584
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde 656e9c2
fix(l10n): extract n() as Nextcloud plural entries with per-locale fo…
rubenvdlinde 10322f6
fix(extension): the next-step code watcher does nothing once its page…
rubenvdlinde 4f9a260
Merge remote-tracking branch 'origin/development' into feat/apps-terr…
rubenvdlinde 509a91e
feat(extension): Vault, Generator and Send tabs, and a strong passwor…
rubenvdlinde 71d4088
test(admin): People guard for the member overview, offboarding servic…
rubenvdlinde c9d523c
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde 04c6a56
Merge remote-tracking branch 'origin/development' into feat/apps-terr…
rubenvdlinde 00d06ef
Merge pull request #930 from ConductionNL/feat/apps-terraform-provider
rubenvdlinde b06eaa5
Merge remote-tracking branch 'origin/development' into feat/crypto-ne…
rubenvdlinde a5a25a4
Merge pull request #909 from ConductionNL/feat/crypto-new-device-appr…
rubenvdlinde 9e0eeff
chore(admin): name the config_version read as written by OpenRegister…
rubenvdlinde 340c4a1
style: capital letter on the gate-59 marker comment
rubenvdlinde 630237d
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde ee97f02
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde f07e80c
fix(revocation): a compromise force-revoke revokes temporary delegati…
rubenvdlinde 24c4038
fix(admin): device approval switch belongs to the General area, where…
rubenvdlinde be15d88
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde 440d9df
Merge remote-tracking branch 'origin/development' into feat/sharing-u…
rubenvdlinde fd5c5f9
Merge pull request #898 from ConductionNL/feat/sharing-use-only-and-e…
rubenvdlinde 5ecffea
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde 0344536
feat(recovery): organisation account recovery (#920)
rubenvdlinde b9c5f9f
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde cca06cc
fix(admin): account recovery is managed under the People area
rubenvdlinde 524493b
feat(team-folders): a manager role on team folders (#903)
rubenvdlinde 8d16d9a
fix(admin): import the account recovery section the admin page renders
rubenvdlinde 2c52c65
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde e8f1dd5
feat(extension): complete Generator and Send: usernames, history, pic…
rubenvdlinde 60d50c8
Merge remote-tracking branch 'origin/development' into feat/admin-sco…
rubenvdlinde cf48cd8
Merge pull request #962 from ConductionNL/feat/admin-scoped-roles
rubenvdlinde c1baa57
fix(revocation): force-revoke needs the typed suite id, on every back…
rubenvdlinde ece983f
feat(extension): item detail, editing and folder manager in the popup…
rubenvdlinde 656efd1
feat(extension): vault snapshot and sync, offline reads and autofill …
rubenvdlinde 61329cb
feat(extension): popup shell with a bottom tab bar, pop-out window, l…
rubenvdlinde 968521c
fix(sharing): a vault-key proof for a share to a new recipient, batch…
rubenvdlinde 3402a4d
fix(extension): a passkey's private key stays in the worker (#1002)
rubenvdlinde 792bc92
feat(admin-api): a versioned admin API under /api/v1/admin (stacked o…
rubenvdlinde 6c8c766
docs(openspec): keep the keepiq-extension plans as a reference, mappe…
rubenvdlinde 7b0e9b3
docs(openspec): propose closing the gaps against the keepiq-extension…
rubenvdlinde 8949797
feat(machine-api): an application reads its own certificate at /api/v…
rubenvdlinde 8e12688
fix(expiry): earliest expiry wins everywhere; drop the enforce switch…
rubenvdlinde dcde9d5
fix(link-sharing): only the owner or a delegate may create a public l…
rubenvdlinde 4031e5b
feat(terraform): keepiq_application and keepiq_application_lease_poli…
rubenvdlinde d529a51
fix(leases): drop the renew endpoint; fetching again is the one renew…
rubenvdlinde 79a2104
feat(team-folders): approve one waiting member at a time (#970)
rubenvdlinde 3a17be6
ci: run the development to beta promotion PR so Playwright sees it (#…
rubenvdlinde a4c404e
chore(deps): migrate to phpseclib 4 (#980)
rubenvdlinde 8d000b9
feat: metadata-only MCP tools for AI agents, and a guard against inte…
rubenvdlinde 1df09ac
ci(extension): attach the AMO-signed Firefox file to the release afte…
rubenvdlinde 774478f
docs: CHANGELOG.md, and archive leaf-integrations (#1016)
rubenvdlinde 44a0e74
feat(sharing): pick share recipients from the user search, marked whe…
rubenvdlinde c86ea42
feat(extension): approve a locked extension from another device (#983)
rubenvdlinde 3ade24a
feat(federation): partner endpoints under OCM, partner allowlist and …
rubenvdlinde 67851f7
feat(federation): federated share tables and read-only copies
rubenvdlinde abb1a1e
chore(sharing): one-line key-proof attribute on ShareController::create
rubenvdlinde 4d5c8ac
feat(federation): send, receive and accept federated shares over OCM
rubenvdlinde 244429e
chore(sharing): one-line key-proof attribute on ShareController::create
rubenvdlinde df914a2
Merge branch 'feat/federated-recipients-sharing' into feat/federated-…
rubenvdlinde 656a6c6
feat(federation): share with someone at another organisation from the…
rubenvdlinde 4f9b010
chore(l10n): the federated share dialog and the receive setting in ev…
rubenvdlinde f0fd5bf
feat(federation): updates, revocation, suspension, retries and audit …
rubenvdlinde 66a9cca
chore(l10n): federated share states and audit labels in every catalogue
rubenvdlinde b009cae
fix(federation): name the sender in OCM calls so Nextcloud 35 can ver…
rubenvdlinde f7c9eca
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 13420a4
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 252aeb4
fix(federation): compare cloud ids without the scheme an http instanc…
rubenvdlinde c1235a2
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 0f2d22d
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 801d24c
refactor(federation): compare the partner's user by host, without a n…
rubenvdlinde 374c75a
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 7815a3b
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 3857284
chore(federation): move the two-instance test files to their own change
rubenvdlinde a54788a
fix(federation): check an incoming share's signature against its owne…
rubenvdlinde cffafe5
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 800d880
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 8a21909
fix(federation): let Nextcloud 35 verify the signature of a share not…
rubenvdlinde 9acbf0b
fix(federation): share again after a suspended, failed or revoked fed…
rubenvdlinde 1fa2447
test(federation): share, accept, update and revoke across two Nextclo…
rubenvdlinde 6263e87
style(federation): prettier on the federation frontend files
rubenvdlinde 0d968c2
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde c329e3e
style(federation): prettier on the federation frontend files
rubenvdlinde c64a9e3
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 47ef5b4
style(federation): prettier and eslint agree on the federation fronte…
rubenvdlinde cf2320b
style(federation): prettier and eslint agree on the federation fronte…
rubenvdlinde e3a359e
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 8f191ee
style(federation): prettier and eslint agree on the federation fronte…
rubenvdlinde 9c25cc8
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde f7a56ee
Merge branch 'feat/federated-recipients-sync' into feat/federated-rec…
rubenvdlinde 7f15511
docs(openspec): tick 1.3 with its live check; 5.1 built, its CI run owed
rubenvdlinde fa02877
chore(sharing): key-proof attribute above the docblock, within the li…
rubenvdlinde dc601fe
Merge branch 'feat/federated-recipients-sharing' into feat/federated-…
rubenvdlinde 5fb59cc
test(router): classify the incoming shares page as protected
rubenvdlinde e894266
Merge branch 'feat/federated-recipients-delivery' into feat/federated…
rubenvdlinde 71e8571
docs(sharing): spec tags on the share dialog's mounted hook
rubenvdlinde 73c67bd
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde 2b88f80
refactor(federation): the duplicate-share check in its own method
rubenvdlinde 7dc4220
Merge branch 'feat/federated-recipients-sync' into feat/federated-rec…
rubenvdlinde 918db93
test(federation): wait on the outcome, not a fixed pause, in the shar…
rubenvdlinde 67185db
Merge branch 'feat/federated-recipients-dialog' into feat/federated-r…
rubenvdlinde b96e2e0
Merge branch 'feat/federated-recipients-sync' into feat/federated-rec…
rubenvdlinde f76a576
docs(openspec): record the live key-proof checks for harden-vault-key…
rubenvdlinde 51ed544
test(e2e): an Audit-only delegated group sees its area and nothing el…
rubenvdlinde 2f19c14
fix(backup): bind restored values with their own type (#1029)
rubenvdlinde 4933a57
docs(openspec): live-check and archive app-own-certificate (#1032)
rubenvdlinde 475f2ca
feat(extension): record the extension's standing decisions, and hold …
rubenvdlinde c302cf1
fix(cli): page the secret list and let eval start the SSH agent (#786…
rubenvdlinde 542b832
feat(extension): https server addresses, no cookies, and a revoked ap…
rubenvdlinde 65f0b82
fix(extension): fill the one-time code on the next step again; unpack…
rubenvdlinde 9c11b46
feat(extension): the popup forgets the vault on lock, a new master pa…
rubenvdlinde 8afb518
test(admin-api): delegate through the real settings route, archive ad…
rubenvdlinde 8f6d017
chore(openspec): verify the Keepiq MCP tools live through OpenRegiste…
rubenvdlinde 0d747d8
fix(vault): show "Approve from another device" on the lock screen; de…
rubenvdlinde e52998c
feat(extension): fill only frames on the site, ask before http, and a…
rubenvdlinde 9e7eb08
fix(backup): restore switches maintenance mode on and off itself (#1055)
rubenvdlinde d648646
chore(openspec): run the Integrations e2e spec live and archive adopt…
rubenvdlinde 91f3c3a
feat(extension): the worker clears every copy after the user's delay,…
rubenvdlinde 216934d
fix(recovery): valid notification object ids; account recovery e2e; a…
rubenvdlinde 0af31ad
fix(sharing): a team-folder manager can register the fan-out; manager…
rubenvdlinde 29689be
feat(extension): icons, Firefox's data collection declaration and thi…
rubenvdlinde c2f5372
test(sharing): expired copies on every read path, use-only share e2e;…
rubenvdlinde 9c4f48d
feat(extension): offline unlock, clear messages, show and hide, log o…
rubenvdlinde fd615cd
fix(policies): live checks for vault policies, two defects fixed, arc…
rubenvdlinde 6486e36
feat(extension): unlock with a PIN until the browser closes (#1084)
rubenvdlinde 9e1929f
test(e2e): auto-confirm and member offboarding flows, archive both ch…
rubenvdlinde 0576c8a
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 797b749
feat(extension): fields in shadow roots, fill from the menu or a shor…
rubenvdlinde 013ac2e
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 959807c
Merge pull request #1035 from ConductionNL/feat/federated-recipients-…
rubenvdlinde 21fe6c7
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 5bf0766
feat(extension): a vault list that says what it shows, and settings f…
rubenvdlinde 3e03924
docs(openspec): archive four changes whose last steps live outside th…
rubenvdlinde e563088
test(e2e): the incoming shares page renders at #/incoming
rubenvdlinde 9d9d5f0
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde e030ef7
Merge pull request #1036 from ConductionNL/feat/federated-recipients-…
rubenvdlinde 7467b61
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 5d31839
Merge pull request #1037 from ConductionNL/feat/federated-recipients-…
rubenvdlinde 970982a
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 6589158
Merge pull request #1038 from ConductionNL/feat/federated-recipients-…
rubenvdlinde 9a921e9
Merge remote-tracking branch 'origin/development' into feat/federated…
rubenvdlinde 7868671
Merge pull request #1039 from ConductionNL/feat/federated-recipients-e2e
rubenvdlinde 5abd22e
fix(api): refusals reach the browser as 428 with an error code (#1104)
rubenvdlinde ef5dbd4
feat(federation): recipients decline by deleting, file copies in fold…
rubenvdlinde f53d72e
ci(federation): build on Node 24, whose npm 11 reads the lockfiles (#…
rubenvdlinde 0c80a77
docs(openspec): archive sharing-federated-recipients (#1108)
rubenvdlinde ccdec18
docs(openspec): reproduce the #395 lockout pre-fix, refuse it post-fi…
rubenvdlinde e7647a4
docs(adr): vault audit and share checks stay app-local (gate-23 excep…
rubenvdlinde d130a1b
feat(extension): send details: offline, progress, logins only, what a…
rubenvdlinde f925093
feat(extension): save prompt details: one login to update, password o…
rubenvdlinde 1375727
feat(generator): every chosen kind of character appears, and the poli…
rubenvdlinde 0a1b7e0
feat(extension): small items: last use first, site address for a new …
rubenvdlinde cd86dac
feat(federation): declining a pending share and restoring a deleted c…
rubenvdlinde d5e7833
docs(extension): a user guide, a README that matches the code, and a …
rubenvdlinde 12ddfa7
docs(openspec): archive the four finished extension changes into open…
rubenvdlinde 38cf2e8
fix: psalm green again, two spec references that pointed nowhere, and…
rubenvdlinde d1ddfe3
feat(admin-areas): remove the vault_admin alias and its notice (#1138)
rubenvdlinde 7f1a679
spec: native iOS and Android apps, on the App Store, Google Play and …
rubenvdlinde 8ad04aa
ci(cli): check keepiq ssh-agent on macOS (#1142)
rubenvdlinde add76d4
fix(cli): keepiq ssh-agent stays in the foreground under systemd (#1144)
rubenvdlinde 2fd2ec2
chore(deps): close the Dependabot alerts on the docs site and fast-ur…
rubenvdlinde 722dec8
docs(extension): screenshots and videos of the browser extension, wit…
rubenvdlinde cb299d8
chore(openspec): archive favourites, tags and last used, whose live f…
rubenvdlinde 0f7bc7d
fix(extension): space Copy and Open, show Hours only for Custom, hide…
rubenvdlinde fc00a0f
Merge pull request #1151 from ConductionNL/chore/livepass-archive-vau…
rubenvdlinde bbf85af
feat(mobile): shared Kotlin core and the crypto contract with the web…
rubenvdlinde 410d4af
feat(mobile): API client, offline store and sync in the shared core (…
rubenvdlinde 1f14508
feat(mobile): vault, Send and generator screens on Android and iOS (#…
rubenvdlinde 8ee612e
feat(mobile): pairing and unlock on Android and iOS, with the mobile …
rubenvdlinde 40df649
feat(mobile): open the vault after unlock, lock forgets the key, vaul…
rubenvdlinde de3ef2b
feat(mobile): system autofill on Android and iOS (task group 4) (#1164)
rubenvdlinde b5a914d
feat(mobile): Android preview APK release and the mobile user guide (…
rubenvdlinde c970180
fix(mobile): autofill in settings, no iOS save prompt, QUERY_ALL_PACK…
rubenvdlinde eaef9fc
spec(app-shell): Keepiq runs without any other app
rjzondervan 4729165
feat(mobile): passkeys on Android 14+ and iOS 17+ (task group 5) (#1170)
rubenvdlinde cc77c4e
feat(app-shell): Keepiq's own app shell instead of OpenRegister's App…
rjzondervan 25bb572
feat(app-shell): frontend runs without OpenRegister, integrations gated
rjzondervan 49d74a2
test(app-shell): tests for Keepiq's own shell, AppHost-era tests removed
rjzondervan 631786a
ci(app-shell): prove Keepiq runs alone; docs say OpenRegister is opti…
rjzondervan d1c2416
test(app-shell): Flows menu gate in navEntries; health check without …
rjzondervan e9d1147
chore(app-shell): mark task 6.1 done
rjzondervan d248121
fix(secrets): show the login field above the secret value in the crea…
SudoThijn ef24601
Merge pull request #1173 from ConductionNL/fix/create-dialog-login-ab…
SudoThijn ea7e5a4
chore(app-shell): live checks 6.2 and 6.3 done
rjzondervan b708c2d
docs(app-shell): document the health, metrics and preferences endpoints
rjzondervan 6164c0e
chore(deps): DOMPurify 3.4.16 (#1176)
rubenvdlinde 081dc9b
fix(app-shell): version bump for the new repair step; CI fixes
rjzondervan 012d96c
fix(app-shell): self-review fixes for #1175
rjzondervan e294c0e
fix(app-shell): review findings on the legacy-row cleanup
rjzondervan 6e29b4b
feat(mobile): ready the Android app for F-Droid and Google Play (#1179)
rubenvdlinde 9008e2c
test: fix the two CI failures that development also has
rjzondervan 4a6fbc4
test: declare the classes three tests use, so failOnRisky passes
rjzondervan 4f942f7
Merge pull request #1175 from ConductionNL/spec/standalone-app-shell
rjzondervan 4374ef8
fix(encryption-suites): count, always run and audit compromise contai…
rjzondervan f62614c
docs(encryption-suites): specify counted, always-run, audited contain…
rjzondervan f7d28e6
refactor(nc35): replace deprecated IQueryBuilder::PARAM_DATE
claude 63bed77
fix(encryption-suites): answer a failed migration end as unfinished, …
rjzondervan bd1f798
Merge pull request #1191 from ConductionNL/claude/nc35-support
rubenvdlinde 4cdb075
fix(encryption-suites): skip re-containment only on a recorded comple…
rjzondervan f4c5066
feat(mobile): launcher and store icon, Play-sized screenshots (#1183)
rubenvdlinde 4aba930
feat(mobile): encrypted offline store on iOS and no save-password pro…
rubenvdlinde 72aea88
fix(encryption-suites): pin the containment-skip lookup and refuse un…
rjzondervan c88f9c1
Merge pull request #1190 from ConductionNL/fix/1189-compromise-contai…
rjzondervan 0d278db
fix(ci): resolve the open code-scanning alerts on development
rjzondervan 7690868
Merge pull request #1196 from ConductionNL/fix/code-scanning-alerts
rjzondervan 4934a64
feat(nav): Reports moves under Advanced in the navigation (#1198)
rubenvdlinde f443547
fix(ci): green PHPUnit on Nextcloud 32-34 and a setup race after app:…
rjzondervan 5609942
test(e2e): fix the three Playwright tests red on every development run
rjzondervan 91b845a
test(e2e): allowlist the lock screen's device-approval traffic
rjzondervan 8b7fd8b
Merge pull request #1200 from ConductionNL/fix/ci-matrix-and-setup-race
rjzondervan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| name: Admin API document | ||
|
|
||
| # Lints docs/api/admin-v1.openapi.json as OpenAPI 3.1 (admin-public-api §2.1). | ||
| # That the document and appinfo/routes.php agree is checked by PHPUnit | ||
| # (tests/Unit/Contract/AdminApiContractTest.php) in the code quality workflow. | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main, development] | ||
| paths: ["docs/api/**", ".github/workflows/admin-api.yml"] | ||
| pull_request: | ||
| branches: [main, development, beta] | ||
| paths: ["docs/api/**", ".github/workflows/admin-api.yml"] | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| lint: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "20" | ||
| - run: npx --yes @redocly/cli@1 lint docs/api/admin-v1.openapi.json |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| name: Browser extension | ||
|
|
||
| # Builds the extension for Chromium and Firefox and loads each package in a | ||
| # headless browser to check its background starts and answers the popup | ||
| # (clients-browser-builds). Safari needs a macOS runner and stays an open task. | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main, development] | ||
| paths: ["browser-extension/**", "src/crypto/**", "src/totp/**", ".github/workflows/browser-extension.yml"] | ||
| pull_request: | ||
| branches: [main, development, beta] | ||
| paths: ["browser-extension/**", "src/crypto/**", "src/totp/**", ".github/workflows/browser-extension.yml"] | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build-and-load: | ||
| runs-on: ubuntu-latest | ||
| # A build and two browser starts; minutes at most. | ||
| timeout-minutes: 20 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "24" | ||
| cache: npm | ||
| - run: npm ci --ignore-scripts | ||
| - run: npm run build:extension | ||
| - name: Chromium loads the package | ||
| run: | | ||
| npx playwright install --with-deps chromium | ||
| node browser-extension/load-check/chromium.mjs | ||
| - name: Firefox loads the package | ||
| run: | | ||
| npm install --no-save selenium-webdriver@4 | ||
| firefox --version | ||
| geckodriver --version | ||
| node browser-extension/load-check/firefox.mjs | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: browser-extension | ||
| path: browser-extension/dist/ | ||
| retention-days: 14 | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| name: CLI on macOS | ||
|
|
||
| # Checks `keepiq ssh-agent` on macOS, where nobody on the team has a Mac to | ||
| # try it by hand (keepiq#1042). With no secrets and no Nextcloud server it: | ||
| # | ||
| # - runs the CLI's Go tests, including the real-sshd integration test and | ||
| # the `eval` test, and fails if either of those is skipped | ||
| # - runs cli/scripts/ssh-agent-e2e.sh: the README's recipe in a real shell | ||
| # against a fake Keepiq (cli/internal/fakevault) and a throwaway sshd | ||
| # started as the runner user on a high port, never the system sshd | ||
| # - installs the README's launchd plist in the runner user's home and checks | ||
| # the agent launchd starts (same script, KEEPIQ_E2E_LAUNCHD=1) | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [main, development, beta] | ||
| paths: ["cli/**", "sdk/go/**", "sdk/testdata/**", ".github/workflows/cli-macos.yml"] | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: cli-macos-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| ssh-agent: | ||
| runs-on: macos-latest | ||
| # The Go tests take a few minutes (RSA-4096 keys); the e2e script under two. | ||
| timeout-minutes: 25 | ||
| defaults: | ||
| run: | ||
| working-directory: cli | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: "1.25.x" | ||
| cache-dependency-path: cli/go.sum | ||
| - name: Versions | ||
| run: | | ||
| sw_vers | ||
| uname -m | ||
| go version | ||
| ssh -V | ||
| command -v sshd ssh-add git | ||
| id | ||
| - run: go vet ./... | ||
| - name: Go tests, with the ssh-agent tests required to run | ||
| run: | | ||
| set -o pipefail | ||
| go test -count=1 -v ./... 2>&1 | tee "$RUNNER_TEMP/go-test.log" | grep -E '^(--- |ok|FAIL|PASS)' | ||
| for t in TestRealSSHThroughTheAgent TestEvalReturnsAndTheAgentKeepsServing TestVaultUnlockerReadsOnlyCiphertext; do | ||
| grep -q -- "--- PASS: $t " "$RUNNER_TEMP/go-test.log" || { echo "::error::$t did not pass (skipped or missing)"; exit 1; } | ||
| done | ||
| - name: README recipe and launchd plist, end to end | ||
| # A hang in `eval "$(keepiq ssh-agent)"` (keepiq#1022) ends here, not at the job limit. | ||
| timeout-minutes: 10 | ||
| env: | ||
| KEEPIQ_E2E_LAUNCHD: "1" | ||
| run: bash scripts/ssh-agent-e2e.sh |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.