Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1326 commits
Select commit Hold shift + click to select a range
b82c84e
feat: add src/views/Settings/PolicyWorkbench/settings/envelope/realDe…
vitormattos Apr 30, 2026
46a3c8e
feat: add src/views/Settings/PolicyWorkbench/settings/expiration-rule…
vitormattos Apr 30, 2026
b161ea7
feat: add src/views/Settings/PolicyWorkbench/settings/expiration-rule…
vitormattos Apr 30, 2026
2c43c77
feat: add src/views/Settings/PolicyWorkbench/settings/expiration-rule…
vitormattos Apr 30, 2026
db38cf1
feat: add src/views/Settings/PolicyWorkbench/settings/expiration-rule…
vitormattos Apr 30, 2026
7dae8a4
feat: add src/views/Settings/PolicyWorkbench/settings/expiration-rule…
vitormattos Apr 30, 2026
446ff39
feat: add src/views/Settings/PolicyWorkbench/settings/legal-informati…
vitormattos Apr 30, 2026
468a641
feat: add src/views/Settings/PolicyWorkbench/settings/legal-informati…
vitormattos Apr 30, 2026
6476abe
feat: add src/views/Settings/PolicyWorkbench/settings/legal-informati…
vitormattos Apr 30, 2026
77f6e2c
feat: add src/views/Settings/PolicyWorkbench/settings/reminder/Remind…
vitormattos Apr 30, 2026
3ba3bc8
feat: add src/views/Settings/PolicyWorkbench/settings/reminder/model.ts
vitormattos Apr 30, 2026
21a19d4
feat: add src/views/Settings/PolicyWorkbench/settings/reminder/realDe…
vitormattos Apr 30, 2026
916cf97
feat: add src/views/Settings/PolicyWorkbench/settings/signature-hash-…
vitormattos Apr 30, 2026
8b9c95f
feat: add src/views/Settings/PolicyWorkbench/settings/signature-hash-…
vitormattos Apr 30, 2026
00144e3
feat: add src/views/Settings/PolicyWorkbench/settings/signature-hash-…
vitormattos Apr 30, 2026
70bd8a1
test: add tests/integration/features/admin/boolean_policy_layers.feature
vitormattos Apr 30, 2026
24f33f7
test: add tests/integration/features/admin/reminder_policy_settings.f…
vitormattos Apr 30, 2026
4a12ebc
test: add tests/php/Unit/Service/Policy/Provider/Confetti/ConfettiPol…
vitormattos Apr 30, 2026
221373d
test: add tests/php/Unit/Service/Policy/Provider/CrlValidation/CrlVal…
vitormattos Apr 30, 2026
527a351
test: add tests/php/Unit/Service/Policy/Provider/DefaultUserFolder/De…
vitormattos Apr 30, 2026
730c52f
test: add tests/php/Unit/Service/Policy/Provider/Envelope/EnvelopePol…
vitormattos Apr 30, 2026
7a9cdc0
test: add tests/php/Unit/Service/Policy/Provider/ExpirationRules/Expi…
vitormattos Apr 30, 2026
3b139bb
test: add tests/php/Unit/Service/Policy/Provider/LegalInformation/Leg…
vitormattos Apr 30, 2026
323fd98
test: add tests/php/Unit/Service/Policy/Provider/Reminder/ReminderPol…
vitormattos Apr 30, 2026
d0f0b70
test: add tests/php/Unit/Service/Policy/Provider/SignatureHashAlgorit…
vitormattos Apr 30, 2026
450f667
refactor: migrate TSA settings to policy system
vitormattos Apr 30, 2026
9b07d60
refactor: migrate identify_methods settings to policy system
vitormattos Apr 30, 2026
c9a981c
refactor: remove legacy initial state values (docmdp_config, legal_in…
vitormattos Apr 30, 2026
2e1dcbe
refactor: migrate sign engine handlers settings to policy system
vitormattos Apr 30, 2026
d16e3f2
refactor: inject PolicyService into certificate engine handlers
vitormattos Apr 30, 2026
a7f004b
refactor: make setEngine() atomic and remove swallowed exceptions
vitormattos Apr 30, 2026
4db3fdc
chore: add migration to remove legacy appConfig keys
vitormattos Apr 30, 2026
ff16c91
chore: register new policy definitions and update frontend specs
vitormattos Apr 30, 2026
d83bf75
feat(frontend): add identify-methods and tsa policy UI definitions
vitormattos Apr 30, 2026
1ae776f
refactor(frontend): remove double cast in normalizeIdentifyMethodsPolicy
vitormattos Apr 30, 2026
ea97ba0
fix(types): widen EffectivePolicyValue to include arrays, remove cast…
vitormattos Apr 30, 2026
6a35313
fix(ci): add missing policy providers and restore scalar policy paylo…
vitormattos Apr 30, 2026
bb5e704
fix: cs
vitormattos Apr 30, 2026
cf7ea4b
fix(compat): restore legacy admin state and tsa config fallback
vitormattos Apr 30, 2026
3756d8d
fix: remove legacy appConfig TSA fallbacks, fix policy API response d…
vitormattos Apr 30, 2026
6bf4fa3
fix: remove duplicated admin initial states and align TSA integration…
vitormattos May 3, 2026
d47e009
fix: migrate CRL admin state to effective policies
vitormattos May 3, 2026
d47905a
fix: migrate footer preview states from app config to policies
vitormattos May 3, 2026
bb82902
fix: cs
vitormattos May 3, 2026
d28fd42
fix: align response type aliases with policy payloads
vitormattos May 3, 2026
6c4047d
fix: align frontend policy typing after OpenAPI regen
vitormattos May 3, 2026
b1b216d
test: align identify methods initial-state assertions
vitormattos May 3, 2026
79c6456
test: strengthen page index feature with policy value validation
vitormattos May 3, 2026
e04c933
test: validate identify_methods attributes in page initial state
vitormattos May 3, 2026
1f70d0f
test: simplify jq expressions by removing redundant if/else
vitormattos May 3, 2026
ae10943
test: reformat table in page index feature for readability
vitormattos May 3, 2026
572fa52
fix: handle AppConfigTypeConflictException when array policy stored a…
vitormattos May 3, 2026
384708d
fix(policy): enrich identify_methods with friendly_name in normalizer
vitormattos May 3, 2026
df2f60c
fix(policy): resolve IdentifyService constructor injection and fix un…
vitormattos May 3, 2026
fc0f874
fix: harden footer policy fallback
vitormattos May 3, 2026
65e01de
test: align e2e footer flows with policy workbench
vitormattos May 3, 2026
4bbc070
fix(ci): add missing newline, fix IdentifyMethodsPolicy ctor in test,…
vitormattos May 4, 2026
24af758
fix: cs
vitormattos May 4, 2026
0c3ddf9
fix(test): use async import in vi.mock factory to fix vitest hoisting…
vitormattos May 4, 2026
48cd716
feat: polish PolicyWorkbench UI - active chip indicator, focus manage…
vitormattos May 5, 2026
723692e
refactor: establish Catalog component directory structure for PolicyW…
vitormattos May 5, 2026
4b7a5f6
refactor: extract catalog and navigation composables from PolicyWorkb…
vitormattos May 5, 2026
25ae755
refactor: fix settingsFilter references in Catalog.vue template and c…
vitormattos May 5, 2026
b5f11e5
refactor: consolidate policy workbench on Catalog implementation
vitormattos May 5, 2026
0917a84
refactor: extract catalog interaction handlers into composable
vitormattos May 5, 2026
d96be63
refactor: split catalog presentation and crud table composables
vitormattos May 5, 2026
bd5daf3
fix: persist policy workbench user preferences
vitormattos May 5, 2026
6434639
fix: resolve TypeScript type errors in policy workbench
vitormattos May 5, 2026
b534217
fix: stabilize policy workbench Playwright scenarios
vitormattos May 5, 2026
ad252ed
fix: restore catalog JS by removing TS annotation from template event
vitormattos May 5, 2026
323b35c
fix: expand filtered catalog sections without persisting state
vitormattos May 5, 2026
ec73c1c
test: fix hoisted l10n mocks in policy workbench specs
vitormattos May 5, 2026
6680e6c
test: replace insecure randomness in policy visibility spec
vitormattos May 5, 2026
e941074
fix: send back-to-top to catalog search field
vitormattos May 5, 2026
5cc39c0
test: add unit coverage for policy workbench navigation
vitormattos May 5, 2026
445a049
fix: align active category chip with fully visible cards
vitormattos May 5, 2026
fa7e8d1
fix: wire catalog refs for back-to-top search targeting
vitormattos May 5, 2026
854daff
fix: keep active category chip synced during scroll
vitormattos May 5, 2026
4d654e4
test: stabilize policy workbench card-opening flows in e2e
vitormattos May 5, 2026
5b58f5a
test: stabilize active chip sync assertion in catalog e2e
vitormattos May 5, 2026
55891ef
refactor(policy): remove legacy validation_site appconfig usage
vitormattos May 7, 2026
e7e5363
test: fix unit regressions after policy migration
vitormattos May 7, 2026
6ba436a
fix: align admin certificate schema and regenerate openapi
vitormattos May 8, 2026
07f2c8d
fix(types): restore policy aliases and test signer typing
vitormattos May 8, 2026
0aad710
refactor: Refine PolicyRuleEditorPanel CSS for lighter visual hierarchy
vitormattos May 10, 2026
4a7dfe6
refactor: Convert account creation option to switch control
vitormattos May 10, 2026
0e544a6
fix: Correct alignment of global onboarding toggle
vitormattos May 10, 2026
74d9205
refactor: UX polish pass on Identification factors rule editor
vitormattos May 10, 2026
dbc807c
fix: Disable 'Create rule' when no identification factors are enabled
vitormattos May 10, 2026
f4549eb
fix: enable create rule button on initial load when factors are pre-s…
vitormattos May 10, 2026
70f6776
refactor: refine identify methods rule modal density and hierarchy
vitormattos May 10, 2026
402c1a2
refactor: revert 2-column grid, remove badge from locked required state
vitormattos May 10, 2026
73402c3
feat: add RuntimeRequirementValidator service
vitormattos May 10, 2026
a2d4b64
refactor: delegate runtime requirement validation to RuntimeRequireme…
vitormattos May 10, 2026
954f6c8
refactor: unpack structured identify_methods payload in IdentifyService
vitormattos May 10, 2026
0e99309
feat: normalize identify_methods to structured payload in IdentifyMet…
vitormattos May 10, 2026
bc18ea3
fix: handle both flat-list and object payloads in migration normalizer
vitormattos May 10, 2026
88c115e
feat: update frontend identify-methods model to object payload
vitormattos May 10, 2026
765742d
refactor: read/write new identify-methods payload shape in workbench
vitormattos May 10, 2026
69cb6cf
fix: use normalizeIdentifyMethodsPolicy in RequestSignatureTab
vitormattos May 10, 2026
415f5a3
fix: use normalizeIdentifyMethodsPolicy in Signer
vitormattos May 10, 2026
cdb2e1b
fix: use normalizeIdentifyMethodsPolicy in configureCheck store
vitormattos May 10, 2026
24b2515
test: update ValidateHelper tests after RuntimeRequirementValidator e…
vitormattos May 10, 2026
bf84de0
test: add RuntimeRequirementValidator unit tests
vitormattos May 10, 2026
195d5b7
test: update IdentifyMethodsPolicyValue tests for structured payload
vitormattos May 10, 2026
e229289
test: update IdentifyMethodsPolicy tests
vitormattos May 10, 2026
cef682f
test: update IdentifyMethodsFilePolicyApplier tests
vitormattos May 10, 2026
7fdbd7b
test: add migration tests for object payload normalization
vitormattos May 10, 2026
38f7db2
test: update identify-methods model spec for object payload
vitormattos May 10, 2026
3b04357
test: update workbench spec for new identify-methods payload shape
vitormattos May 10, 2026
65e5bd8
test: add object payload normalization test to RequestSignatureTab spec
vitormattos May 10, 2026
29bd9cd
test: update Signer spec for normalizeIdentifyMethodsPolicy
vitormattos May 10, 2026
79374ae
test: update configureCheck spec for normalizeIdentifyMethodsPolicy
vitormattos May 10, 2026
abfa15f
refactor: unify identification_documents policy to structured payload
vitormattos May 12, 2026
e282014
refactor: update IdentificationDocumentsPolicy to unified payload
vitormattos May 12, 2026
87522a7
refactor: extract approvers from identification_documents policy
vitormattos May 12, 2026
d0b39f5
migration: consolidate approval_group into identification_documents p…
vitormattos May 12, 2026
6a5058d
test: update identification documents policy value tests
vitormattos May 12, 2026
d87e875
test: update IdDocsPolicyService tests for unified policy
vitormattos May 12, 2026
0a9b866
refactor: update identification documents real definition for unified…
vitormattos May 12, 2026
a3e1859
feat: add conditional approvers section to IdentificationDocumentsRul…
vitormattos May 12, 2026
090f238
migration: consolidate approval_group into identification_documents p…
vitormattos May 12, 2026
766c195
refactor: remove legacy value handling from PolicyValue
vitormattos May 12, 2026
760ae91
test: remove legacy value tests from PolicyValue
vitormattos May 12, 2026
ceadfcb
refactor: remove legacy value handling from real definition
vitormattos May 12, 2026
262e5b9
refactor: remove legacy value handling from Vue component
vitormattos May 12, 2026
f0380b1
test: remove legacy value tests from Vue component
vitormattos May 12, 2026
39e2f55
chore: remove superseded separate migration file
vitormattos May 12, 2026
c860eb3
fix: resolve identification documents editor SFC parse error
vitormattos May 12, 2026
cc4a2af
fix: hide legacy approval_group card from policy workbench
vitormattos May 12, 2026
f9cdfbd
refactor: remove orphaned approval groups workbench card
vitormattos May 12, 2026
23b1c59
fix: prevent identification documents editor crash when enabling
vitormattos May 12, 2026
66a12d4
feat: improve identification documents approver UX
vitormattos May 12, 2026
876c960
feat(identify-method): add IdentifyMethodRequirement enum for require…
vitormattos May 12, 2026
935aee1
refactor(identify-method): add getRequirement/setRequirement using en…
vitormattos May 12, 2026
a497064
refactor(identify-method): add exists() via class_exists and resolve …
vitormattos May 12, 2026
08195a3
refactor(validate): delegate identify method existence check to Ident…
vitormattos May 12, 2026
f918024
refactor(response): replace optional mandatory with required requirem…
vitormattos May 12, 2026
a6a8da7
refactor(envelope): use getRequirement() instead of mapping from getM…
vitormattos May 12, 2026
9ea6895
refactor(file-list): replace mandatory with requirement in signer data
vitormattos May 12, 2026
dab8406
refactor(signers-loader): replace mandatory with requirement in signe…
vitormattos May 12, 2026
ac27710
refactor(id-docs): use requirement field instead of mandatory in iden…
vitormattos May 12, 2026
7cba846
refactor(identify-method): use IdentifyMethodRequirement enum and dro…
vitormattos May 12, 2026
67fee61
refactor(requirement-validator): use getRequirement() enum comparison…
vitormattos May 12, 2026
8d79d28
refactor(policy-value): simplify identify methods policy value using …
vitormattos May 12, 2026
6d9fe3a
refactor(sign-file): pass requirement when building identify method e…
vitormattos May 12, 2026
8f9a899
refactor(types): add IdentifyMethodRequirement type and relax mandato…
vitormattos May 12, 2026
9858c75
refactor(policies-store): update identify method types to use require…
vitormattos May 12, 2026
7de659b
refactor(files-store): replace mandatory with requirement in identify…
vitormattos May 12, 2026
67b44ff
refactor(validation-doc): use requirement instead of mandatory in ide…
vitormattos May 12, 2026
cefcbea
refactor(identify-signer): replace mandatory with requirement in sign…
vitormattos May 12, 2026
da853ed
refactor(visible-elements): use requirement field in identify method …
vitormattos May 12, 2026
e562c1a
refactor(request-tab): update identify method requirement handling
vitormattos May 12, 2026
df62639
refactor(policy-workbench): add requirement type to real workbench types
vitormattos May 12, 2026
94ab45d
refactor(policy-workbench): update identify methods workbench to use …
vitormattos May 12, 2026
7171618
refactor(identify-methods-model): replace mandatory with requirement …
vitormattos May 12, 2026
926cb55
refactor(identify-methods-def): update real definition to use require…
vitormattos May 12, 2026
2526dc4
refactor(identify-methods-editor): use requirement in rule editor com…
vitormattos May 12, 2026
2c2fe98
refactor(id-docs-editor): replace mandatory with requirement in ident…
vitormattos May 12, 2026
eb15fe2
refactor(id-docs-def): update real definition to use requirement field
vitormattos May 12, 2026
a2eaed0
test(identify-signer): update spec to use requirement instead of mand…
vitormattos May 12, 2026
408acfa
test(visible-elements): update spec to use requirement field
vitormattos May 12, 2026
1927873
test(files-store): update tests to use requirement instead of mandatory
vitormattos May 12, 2026
525e73a
test(identify-methods-editor): update spec to use requirement field
vitormattos May 12, 2026
465d4f1
test(identify-methods-model): update spec to use requirement field
vitormattos May 12, 2026
caa9908
test(identify-methods-def): update spec to use requirement field
vitormattos May 12, 2026
ecabd6a
test(id-docs-editor): update spec to use requirement instead of manda…
vitormattos May 12, 2026
1e8d851
test(policy-workbench): update spec to use requirement field
vitormattos May 12, 2026
4d42799
test(validate-helper): fix exists() mock for validateIfIdentifyMethod…
vitormattos May 12, 2026
4eaf73c
test(envelope-assembler): update test to use requirement instead of m…
vitormattos May 12, 2026
a72481b
test(file-policy-applier): update test to use requirement instead of …
vitormattos May 12, 2026
6774529
test(policy-value): update test to use requirement instead of mandatory
vitormattos May 12, 2026
e6b3f8f
test(integration): replace mandatory with requirement in create_to_si…
vitormattos May 12, 2026
f4e6a5a
test(integration): replace mandatory with requirement in signature fe…
vitormattos May 12, 2026
b49c364
test(integration): replace mandatory with requirement in identificati…
vitormattos May 12, 2026
6701673
test(integration): replace mandatory with requirement in initial_stat…
vitormattos May 12, 2026
25a715f
test(integration): replace mandatory with requirement in list feature
vitormattos May 12, 2026
b4e34d1
test(integration): replace mandatory with requirement in thumbnail fe…
vitormattos May 12, 2026
dcf137e
test(integration): replace mandatory with requirement in validate fea…
vitormattos May 12, 2026
fb6b594
test(integration): replace mandatory with requirement in index feature
vitormattos May 12, 2026
c363156
test(integration): replace mandatory with requirement in validate fea…
vitormattos May 12, 2026
bd59015
test(integration): replace mandatory with requirement in request feature
vitormattos May 12, 2026
ea80389
test(integration): replace mandatory with requirement in sequential_s…
vitormattos May 12, 2026
2970a53
test(integration): replace mandatory with requirement in signed feature
vitormattos May 12, 2026
ad3792c
test(integration): replace mandatory with requirement in tsa feature
vitormattos May 12, 2026
0241c3c
chore(psalm): update baseline after mandatory to requirement refactoring
vitormattos May 12, 2026
212266f
fix(psalm): move type alias before first use and regenerate baseline
vitormattos May 12, 2026
3ca55e1
fix(tests): stabilize service suite and CRL URL parsing
vitormattos May 12, 2026
92eba71
test(crl): expand URL parser data providers
vitormattos May 12, 2026
cbd0e28
test(security): remove 0777 from unit TestCase helper
vitormattos May 12, 2026
bdbca7b
test(security): separate dir and file permissions in TestCase helper
vitormattos May 12, 2026
b3d832a
test: replace deprecated instanceId helper in TestCase
vitormattos May 12, 2026
342c954
refactor(crl): use named regex groups for URL parsing
vitormattos May 12, 2026
1fdac05
test: remove broad exception swallowing in recursive copy helper
vitormattos May 12, 2026
a3f3e32
test: remove deprecated container registration from TestCase
vitormattos May 12, 2026
bf62fb4
test: restore AppConfigOverwrite and remove deprecated setAppValue usage
vitormattos May 12, 2026
017eb52
fix: cs
vitormattos May 12, 2026
716b42b
fix: update openapi documentation
vitormattos May 12, 2026
517e947
fix: align policy tests and appconfig compatibility
vitormattos May 13, 2026
4f76538
fix: align policy tests and metadata response schema
vitormattos May 13, 2026
6c414c5
test: stabilize policy workbench back-to-top assertion
vitormattos May 13, 2026
5cb95ed
fix: restore dynamic metadata schema compatibility
vitormattos May 13, 2026
2c79051
chore: update documentation
vitormattos May 13, 2026
777af0f
fix: simplify dynamic metadata type definitions to resolve openapi sc…
vitormattos May 13, 2026
2359acc
fix: stabilize visible element serialization
vitormattos May 14, 2026
b3bc886
fix: use patch for existing request drafts
vitormattos May 14, 2026
1de95e0
test: cover visible element serialization fallbacks
vitormattos May 14, 2026
28ae098
test: cover draft patch selection
vitormattos May 14, 2026
c0cc48e
test: stabilize pending request deletion
vitormattos May 14, 2026
abb0d20
test: stabilize files context menu flow
vitormattos May 14, 2026
1daf64a
test: stabilize footer policy hierarchy flow
vitormattos May 14, 2026
8750d19
test: make mobile pdf scroll assertion deterministic
vitormattos May 14, 2026
fcead9a
test: stabilize policy catalog scrolling
vitormattos May 14, 2026
3792dbf
test: stabilize policy target selection
vitormattos May 14, 2026
47d98e3
test: stabilize native engine file status flow
vitormattos May 14, 2026
cf2ffe4
test: stabilize drawn signature flow
vitormattos May 14, 2026
bf7a8fa
test: stabilize visible element persistence flow
vitormattos May 14, 2026
98bb9eb
fix: separate renderizable files from mapping files in visible elements
vitormattos May 14, 2026
2e4f72e
fix: add timing waits to prevent flaky E2E tests
vitormattos May 14, 2026
30d14b3
fix: prioritize files array fetch when fallback is not renderable
vitormattos May 14, 2026
773b84b
fix: resolve Psalm type errors in SignSetupService.getArchitectures()
vitormattos May 14, 2026
5e340b6
test: stabilize policy workbench scroll container assertions
vitormattos May 14, 2026
4ee2907
chore: remove legacy endpoints without active usage
vitormattos May 15, 2026
48daa8e
refactor: migrate signature-background to policy store pattern
vitormattos May 15, 2026
613c431
refactor: consolidate AdminController endpoints, consolidate upload v…
vitormattos May 15, 2026
24b6899
feat: support whatsapp business with centralized identify catalogs
vitormattos May 15, 2026
cedaace
fix: cs
vitormattos May 15, 2026
2771de5
feat: move signing mode and tsa settings to policy definitions
vitormattos May 16, 2026
2c9f8e2
fix: cs
vitormattos May 16, 2026
a99b53f
fix: resolve psalm type errors in AdminController, DevelopController,…
vitormattos May 16, 2026
6506b23
fix: correct mock structure in IdentifyMethodsRuleEditor test
vitormattos May 16, 2026
4d40b9c
fix: cs
vitormattos May 16, 2026
22d5452
chore: update openapi
vitormattos May 16, 2026
a4f683b
fix: resolve TypeScript errors in AllowedGroups and ParallelWorkersRu…
vitormattos May 16, 2026
b955dd2
refactor: extract footer template endpoints to FooterTemplateController
vitormattos May 17, 2026
bf93533
fix: handle AppConfigTypeConflictException in PolicySource and apply …
vitormattos May 17, 2026
d82edd4
test: add DataProvider unit tests for ResultFilter and ResultEnricher
vitormattos May 17, 2026
a1622a5
test: migrate E2E and integration tests to use policy/admin API endpo…
vitormattos May 17, 2026
6067a2c
fix: cs
vitormattos May 17, 2026
d512f74
test: fix invalid certificate engine value 'PhpNative' to 'openssl' i…
vitormattos May 17, 2026
60d64fa
feat: update policy signature flow controllers and tests
vitormattos May 17, 2026
99d2083
fix: run policy migration after latest version
vitormattos May 17, 2026
a2d65af
fix: align footer template routes with policy access
vitormattos May 17, 2026
67f056d
test: make footer policy explicit in playwright setup
vitormattos May 18, 2026
b37c2d2
test: align footer preview integration scenarios with policy rules
vitormattos May 18, 2026
a926d77
fix: add missing IdentifyMethodService to Admin constructor and updat…
vitormattos May 18, 2026
064e7d5
fix: stabilize identify methods policy flow
vitormattos May 18, 2026
d823cb8
refactor: simplify identification docs rule UX
vitormattos May 18, 2026
0604772
feat: consolidate signature stamp policy flow
vitormattos May 18, 2026
c481af0
fix: resolve policy signature CI failures
vitormattos May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8",
"nextcloud/ocp": "dev-master",
"psr/http-client": "^1.0",
"roave/security-advisories": "dev-latest"
},
"config": {
Expand Down
97 changes: 54 additions & 43 deletions composer.lock

Large diffs are not rendered by default.

16 changes: 14 additions & 2 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,23 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/

import js from '@eslint/js'
import { FlatCompat } from '@eslint/eslintrc'
import nextcloudConfig from '@nextcloud/eslint-config'
import globals from 'globals'
import { dirname } from 'node:path'
import { fileURLToPath } from 'node:url'

const compat = new FlatCompat({
baseDirectory: dirname(fileURLToPath(import.meta.url)),
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
})

const compatConfigs = (Array.isArray(nextcloudConfig) ? nextcloudConfig : [nextcloudConfig])
.flatMap((config) => compat.config(config))

export default [
...(Array.isArray(nextcloudConfig) ? nextcloudConfig : [nextcloudConfig]),
...compatConfigs,

{
name: 'libresign/ignores',
Expand Down
1 change: 0 additions & 1 deletion lib/AppInfo/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ public function register(IRegistrationContext $context): void {
$context->registerNotifierService(Notifier::class);

$context->registerSearchProvider(FileSearchProvider::class);

$context->registerEventListener(LoadSidebar::class, TemplateLoader::class);
$context->registerEventListener(BeforeNodeDeletedEvent::class, BeforeNodeDeletedListener::class);
$context->registerEventListener(CacheEntryRemovedEvent::class, BeforeNodeDeletedListener::class);
Expand Down
8 changes: 4 additions & 4 deletions lib/Capabilities.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@

namespace OCA\Libresign;

use OCA\Libresign\AppInfo\Application;
use OCA\Libresign\Service\Envelope\EnvelopeService;
use OCA\Libresign\Service\Policy\PolicyService;
use OCA\Libresign\Service\Policy\Provider\Confetti\ConfettiPolicy;
use OCA\Libresign\Service\SignatureTextService;
use OCA\Libresign\Service\SignerElementsService;
use OCP\App\IAppManager;
use OCP\Capabilities\IPublicCapability;
use OCP\IAppConfig;

/**
* @psalm-import-type LibresignCapabilities from ResponseDefinitions
Expand All @@ -29,7 +29,7 @@ public function __construct(
protected SignatureTextService $signatureTextService,
protected IAppManager $appManager,
protected EnvelopeService $envelopeService,
protected IAppConfig $appConfig,
protected PolicyService $policyService,
) {
}

Expand All @@ -43,7 +43,7 @@ public function getCapabilities(): array {
$capabilities = [
'features' => self::FEATURES,
'config' => [
'show-confetti' => $this->appConfig->getValueBool(Application::APP_ID, 'show_confetti_after_signing', true),
'show-confetti' => $this->policyService->resolve(ConfettiPolicy::KEY)->getEffectiveValueAsBool(true),
'sign-elements' => [
'is-available' => $this->signerElementsService->isSignElementsAvailable(),
'can-create-signature' => $this->signerElementsService->canCreateSignature(),
Expand Down
4 changes: 2 additions & 2 deletions lib/Collaboration/Collaborators/AccountPhonePlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
use OC\KnownUser\KnownUserService;
use OCA\Libresign\Service\Identify\SearchNormalizer;
use OCA\Libresign\Service\Identify\SignerSearchContext;
use OCA\Libresign\Service\IdentifyMethodService;
use OCP\Accounts\IAccountManager;
use OCP\Collaboration\Collaborators\ISearchPlugin;
use OCP\Collaboration\Collaborators\ISearchResult;
Expand All @@ -22,7 +23,6 @@

class AccountPhonePlugin implements ISearchPlugin {
public const TYPE_SIGNER_ACCOUNT_PHONE = 51;
private const PHONE_BASED_METHODS = ['whatsapp', 'sms', 'telegram', 'signal'];

public function __construct(
private IAppConfig $appConfig,
Expand All @@ -44,7 +44,7 @@ public function search($search, $limit, $offset, ISearchResult $searchResult): b
$method = $this->searchContext->getMethod();
$search = trim((string)$search);

if ($search === '' || !in_array($method, self::PHONE_BASED_METHODS, true)) {
if ($search === '' || !in_array($method, IdentifyMethodService::IDENTIFY_PHONE_METHODS, true)) {
return false;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/Collaboration/Collaborators/ContactPhonePlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
use OC\KnownUser\KnownUserService;
use OCA\Libresign\Service\Identify\SearchNormalizer;
use OCA\Libresign\Service\Identify\SignerSearchContext;
use OCA\Libresign\Service\IdentifyMethodService;
use OCP\Collaboration\Collaborators\ISearchPlugin;
use OCP\Collaboration\Collaborators\ISearchResult;
use OCP\Collaboration\Collaborators\SearchResultType;
Expand All @@ -22,7 +23,6 @@

class ContactPhonePlugin implements ISearchPlugin {
public const TYPE_SIGNER_CONTACT_PHONE = 52;
private const PHONE_BASED_METHODS = ['whatsapp', 'sms', 'telegram', 'signal'];

public function __construct(
private IAppConfig $appConfig,
Expand All @@ -44,7 +44,7 @@ public function search($search, $limit, $offset, ISearchResult $searchResult): b
$method = $this->searchContext->getMethod();
$search = trim((string)$search);

if ($search === '' || !in_array($method, self::PHONE_BASED_METHODS, true)) {
if ($search === '' || !in_array($method, IdentifyMethodService::IDENTIFY_PHONE_METHODS, true)) {
return false;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/Collaboration/Collaborators/ManualPhonePlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
namespace OCA\Libresign\Collaboration\Collaborators;

use OCA\Libresign\Service\Identify\SignerSearchContext;
use OCA\Libresign\Service\IdentifyMethodService;
use OCP\Collaboration\Collaborators\ISearchPlugin;
use OCP\Collaboration\Collaborators\ISearchResult;
use OCP\Collaboration\Collaborators\SearchResultType;
Expand All @@ -17,7 +18,6 @@

class ManualPhonePlugin implements ISearchPlugin {
public const TYPE_SIGNER_MANUAL_PHONE = 53;
private const PHONE_BASED_METHODS = ['whatsapp', 'sms', 'telegram', 'signal'];

public function __construct(
private IConfig $config,
Expand All @@ -34,7 +34,7 @@ public function search($search, $limit, $offset, ISearchResult $searchResult): b
$method = $this->searchContext->getMethod();
$search = trim((string)$search);

if ($search === '' || !in_array($method, self::PHONE_BASED_METHODS, true)) {
if ($search === '' || !in_array($method, IdentifyMethodService::IDENTIFY_PHONE_METHODS, true)) {
return false;
}

Expand Down
23 changes: 23 additions & 0 deletions lib/Command/Developer/Reset.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ protected function configure(): void {
mode: InputOption::VALUE_NONE,
description: 'Reset config'
)
->addOption(
name: 'policy',
shortcut: null,
mode: InputOption::VALUE_NONE,
description: 'Reset policy data'
)
;
}

Expand Down Expand Up @@ -140,6 +146,10 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$this->resetConfig();
$ok = true;
}
if ($input->getOption('policy') || $all) {
$this->resetPolicy();
$ok = true;
}
} catch (\Exception $e) {
$this->logger->error($e->getMessage());
throw $e;
Expand Down Expand Up @@ -254,4 +264,17 @@ private function resetConfig(): void {
} catch (\Throwable) {
}
}

private function resetPolicy(): void {
try {
$delete = $this->db->getQueryBuilder();
$delete->delete('libresign_permission_set_binding')
->executeStatement();

$delete = $this->db->getQueryBuilder();
$delete->delete('libresign_permission_set')
->executeStatement();
} catch (\Throwable) {
}
}
}
Loading
Loading