Commit Graph

354 Commits

Author SHA1 Message Date
Émile Ré
cf5ffc319a Fix review
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:23 +04:00
Émile Ré
aef0da4c52 Refactor duplicated code
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:22 +04:00
Émile Ré
48fbca6b04 Add split cells action
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:22 +04:00
Émile Ré
935e650991 Fix style of the drop cursor
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:22 +04:00
Émile Ré
525f1e4473 Fix lit item paragraph must be full size
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
d0592df676 Ensure caret is always visible
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
67273fe1b6 Fix table dragging
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
48206cbc36 Add header row / column option
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
4840dd510d Select all column / row cells on menu trigger click
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
d75edca6b1 Add TableRowMenu
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:21 +04:00
Émile Ré
c89c437074 Add table column menu
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
9a3077b320 Fix drag
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
74380f78d9 Add table cell menu
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
70ebdd771d Add table extension
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
3afdb0b5b8 Fix placeholder not displayed in table and lists
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
fc0c71ea7d Fix block and options menu triggers alignment with hovered block
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:20 +04:00
Émile Ré
c81769b926 Use slash to display menu and filter commands
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:19 +04:00
Émile Ré
9c810eb1dc Fix bug on hovered hr options menu click
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:19 +04:00
Émile Ré
7c5d8a8cc5 Add link handling in floating ui instead of prompt
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:19 +04:00
Émile Ré
9ce510caa7 Add phosphor icons and improve menus UI
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:19 +04:00
Émile Ré
34d64ecb75 Add side actions for insertin new / editing blocks
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:18 +04:00
Émile Ré
21eb2e5197 Add document node styling + extensions to handle clicking links with ctrl or cmd
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:18 +04:00
Émile Ré
6d18c7fce7 Remove outline on rich editor focus
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:18 +04:00
Émile Ré
eede0b72f1 Make rich editor full height
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:17 +04:00
Émile Ré
b84eab4698 Disable RichEditor on non draft version
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:17 +04:00
Émile Ré
3a054c70ba Implement debounced auto save
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:17 +04:00
Émile Ré
a9f4ecacfa Install tip tap
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:17 +04:00
Émile Ré
bd3869e0f0 Remove gif from allowed image types
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-31 19:05:46 +04:00
Émile Ré
687148e2c1 Unify dropzone accept prop with accept helpers
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-31 19:05:46 +04:00
Sacha Al Himdani
851e585b9b Add ISC license headers to Go, TypeScript, and SQL files
Add ISC license headers to all .go, .ts, .tsx, and .sql files
using each file's git history to determine the correct copyright
year or year range. Trademarked icons (brand logos, vendor logos,
compliance framework logos) are excluded.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-31 13:31:30 +02:00
Sacha Al Himdani
999171a626 Add document approval workflow
Introduce a complete approval system for document publishing. Document
versions can now require approval from selected reviewers before being
published, with automatic publishing once all approvers have approved.

- Add approval quorum and decision tables with backfill migration
- Implement request approval, approve, and reject flows with electronic
  signature support for approve decisions
- Add employee approvals page with dedicated tab and pending approvals view
- Add changelog field to publish and request approval flows
- Pre-select previous version's approvers in the publish dialog
- Show quorum approvers in document list with 100 approver hard limit
- Expose approval workflow through GraphQL, MCP, and CLI
- Remove legacy default approvers feature entirely
- Add comprehensive e2e test coverage for approval workflows

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-27 19:43:20 +01:00
Sacha Al Himdani
a8f733706b Fix npm audit vulnerabilities
Bump @n8n/node-cli to ^0.24.1 and remove stale form-data override.

Add overrides for transitive sub-dependencies with no upstream fix:
- brace-expansion ^5.0.5 (ReDoS / process hang)
- minimatch@9 ^9.0.9 (ReDoS in 9.0.0-9.0.6)
- langsmith ^0.5.0 (SSRF via tracing header injection)
- handlebars 4.7.9 (prototype pollution / XSS)
- @langchain/community ^1.1.25 (SSRF bypass)

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-27 11:23:41 +01:00
Bryan Frimin
36d517e8ce Fix n8n sub-dep CVE
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-27 08:10:57 +01:00
Sacha Al Himdani
a3580a5647 Treat ESLint warnings as errors in all packages
Add --max-warnings 0 to every eslint lint script so that any warning
causes a non-zero exit code. This makes `make lint` and CI fail on
warnings, not just hard errors.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-26 10:47:33 +01:00
Sacha Al Himdani
8c02c53315 Update copyright headers across all Go files
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-25 17:38:32 +01:00
Bryan Frimin
359f85f5da Add SEO controls and sitemap for compliance pages
Add search engine indexing toggle, robots.txt, and sitemap.xml
generation for compliance pages. Replace checkboxes with toggle
components in the compliance page UI and add an "Open" button
in the page header to quickly access the live compliance page.
The search engine indexing toggle is disabled when the compliance
page is inactive.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-24 15:55:31 +01:00
Bryan Frimin
83468db034 Refactor sign-in page and IAM service lifecycle
Redesign the sign-in page to show email/password form inline
with OIDC provider buttons (with vendor icons) instead of
separate pages. Extract OIDCProvider type to its own file.

Replace errgroup with sync.WaitGroup + WithCancelCause for
graceful shutdown in IAM services. Refactor garbage collectors
to use functional options and time.Ticker instead of
time.After to avoid repeated allocations.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-23 14:17:43 +01:00
Bryan Frimin
4f54241382 Add document types filtering and rename ISMS to GOVERNANCE
Adds 5 new document types (PLAN, REGISTER, RECORD, REPORT, TEMPLATE), renames ISMS to GOVERNANCE, and implements type-based filtering across GraphQL, MCP, and frontend. Includes migration, enum updates, filter implementation with SQL array support, and frontend dropdown UI with Relay refetch pattern.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 12:31:39 +01:00
Bryan Frimin
c8df8b0c87 Update TS types for nullable audit framework
The console GraphQL schema made Audit.framework nullable which
requires updating the TrustCenterDocumentAccess type and its
helper to handle the optional framework field.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 15:05:33 +01:00
Bryan Frimin
a82e353a47 Update shared helpers for findings
Add new finding statuses (RISK_ACCEPTED, MITIGATED, FALSE_POSITIVE)
to the registry status helper. Update snapshot type references to
use FINDINGS instead of NONCONFORMITIES and CONTINUAL_IMPROVEMENTS.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 15:05:33 +01:00
Bryan Frimin
43d6ab38fb Fix formatting and React hook dependency lint errors
Fix max-len violations by breaking long lines across multiple
lines. Fix react-hooks/exhaustive-deps by adding missing deps
and removing unnecessary ones. Remove stale eslint-disable
comments in DataTable stories.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 13:32:54 +01:00
Sacha Al Himdani
0192971035 Fix compliance page bundle size
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-13 16:26:34 +01:00
Sacha Al Himdani
c98ffaeda3 Add mermaid suport
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-12 14:41:30 +01:00
Sacha Al Himdani
85ec106cd6 Send mailing list emails
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:37 +01:00
Émile Ré
355e6b81b8 Add an account activation step in the signing request flow when needed
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-11 17:08:42 +04:00
Émile Ré
0a532f17c5 Remove legacy document signing endpoints
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-11 17:08:42 +04:00
Sacha Al Himdani
fe241fc136 Add social links
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 12:10:57 +01:00
Sacha Al Himdani
66a7d6c3e8 Update vendor compliance report UI
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 10:28:39 +01:00
Bryan Frimin
d4b3025463 Use go 1.26 syntax
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-06 15:00:42 +01:00
Bryan Frimin
54f80596b6 Set cache header
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-06 14:59:34 +01:00