Commit Graph

65 Commits

Author SHA1 Message Date
Sacha Al Himdani
9ac71f948f Update contact email to hello@probo.com
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-06-09 16:45:23 +02:00
Bryan Frimin
caeac0ed1c Improve UX error message
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-06-05 17:35:15 +02:00
Ludovic Vielle
c1c351ff81 Update frontend to use reportFile on Audit
Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-06-05 16:16:52 +02:00
Sacha Al Himdani
8ce429507b Bump langsmith to 0.5.20 and override @langchain/classic to fix CVE
langsmith <=0.5.18 leaks streamed LLM output past redaction controls
(GHSA-rr7j-v2q5-chgv). The transitive pin via @n8n/ai-utilities held
@langchain/classic at 1.0.5 which required langsmith ^0.3.64, blocking
the upgrade. Add npm overrides for @langchain/classic (^1.0.27) and
langsmith (^0.5.19) to resolve all three langsmith advisories.

The lockfile refresh bumps eslint-plugin-react-hooks from 7.0.1 to
7.1.0 which enables the react-hooks/refs and set-state-in-effect
rules. Fix the resulting lint errors:

- PDFPreview (console + trust): read currentPage through a ref synced
  via useEffect, keeping the setState updater pure and ref access
  outside of render
- MeasuresPage: remove redundant categoryFilter state that mirrored
  urlCategory, use a ref to detect URL changes and trigger refetch
  as the single source of category refetches
- WebhooksSettingsPage: defer loadEvents via requestAnimationFrame
  to avoid synchronous setState within the effect body

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-04-21 11:16:53 +02: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
Bryan Frimin
bedfd61168 Rename Vendor to Subprocessor in trust API surface
Rename Vendor → Subprocessor, VendorConnection → SubprocessorConnection, and VendorEdge → SubprocessorEdge across the GraphQL schema, Go resolvers, and React frontend components. Internal coredata types remain unchanged. User-facing labels in console app updated to reflect terminology change.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-20 09:52:37 +01:00
Bryan Frimin
52b4951507 Hide audit report buttons when no file attached
When an audit has no report attached, neither the View nor Request access button should be displayed. Updated the conditional rendering to wrap the entire button section with the audit.report check instead of only checking it in the nested ternary.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 15:20:04 +01:00
Bryan Frimin
7ffb2d5e94 Add document viewer with proper 404 handling for trust center
Move document download/view to a dedicated viewer page with PDF preview,
access request flow, and a proper 404 error boundary when documents are
not found. The backend now returns NOT_FOUND instead of INTERNAL for
missing documents and reports.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-16 19:13:21 +01:00
Bryan Frimin
807213d384 Stop tracking generated files
Run make generate in CI lint and test jobs since generated files are
now gitignored. Also include Relay codegen for frontend apps in the
generate target.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-16 16:19:47 +01:00
Bryan Frimin
13ca50df68 Fix relay lint in components and pages
Remove unused GraphQL fields (createdAt, updatedAt, totalCount,
__id, sourceId, etc.) from queries and fragments across 50+ files.

Add TypeScript generics to useMutation, usePaginationFragment,
useRefetchableFragment, and useLazyLoadQuery calls to satisfy
relay/generated-typescript-types.

Add justified eslint-disable comments for fields needed by Relay
cache normalization (id) or consumed by sibling components through
fragment spreads.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 13:32:43 +01:00
Émile Ré
0fe494bb73 Fix condition
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-13 16:58:11 +04:00
Émile Ré
5188f9638b Fix usage of getPathPrefix
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-13 16:58:11 +04:00
Sacha Al Himdani
5372404a12 Fix compliance update display
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 18:34:44 +01:00
Sacha Al Himdani
4d2cb793b6 Add compliance page mailing list base
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:36 +01: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
Émile Ré
a93f3628e4 ENG-203 stop using text ellipsis on CP framework badges
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-10 13:52:20 +04:00
Émile Ré
97e957f394 Implement guard on empty full name before NDA is signed
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-05 17:07:58 +04:00
Sacha Al Himdani
c17c53e80f Add compliance frameworks
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-04 10:19:39 +01:00
Émile Ré
8dc5fffa58 Fix misc bugs
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-04 11:04:47 +04:00
Émile Ré
a160dc1f47 Fix request mutations on complete store updates
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:02 +04:00
Émile Ré
ebfec30a14 Implement continue for each file type
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:02 +04:00
Émile Ré
bb8d477495 Add request param presence callback to request accesses
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
c79c62fc78 Implement continue on connect + nda
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:00 +04:00
Sacha Al Himdani
3c760bfc51 Change audit name display on compliance
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-03 17:32:56 +01:00
Sacha Al Himdani
067c3c1680 Use audit name in compliance page
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-27 18:36:52 +01:00
Bryan Frimin
c191d25e9a Add electronic signature
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:27 +01:00
Sacha Al Himdani
27ad068c63 Change button text while loading
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-16 14:22:45 +01:00
Émile Ré
ad122f8b2e Rework the UI of vendor row on compliance page
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-04 18:38:48 +04:00
Émile Ré
b18ebe96f8 Add mailto link to organization sidebar's contact
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:57 +04:00
Émile Ré
aa8bc15233 Use compliance page logos for favicon and org sidebar
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:57 +04:00
Émile Ré
65deef5d29 Use compliance page logo instead of organization one
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:56 +04:00
Émile Ré
73ec5ce96b Rename trust center to compliance page in displayed text
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-29 08:41:18 +04:00
Émile Ré
baad2f8a34 Display URL host on compliance page organization sidebar ENG-53
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-28 09:40:03 +04:00
Émile Ré
cf49f553f8 Fix linting issues
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-23 12:42:36 +04:00
Émile Ré
e143477d66 Remove extensions from import paths
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-23 12:42:34 +04:00
Émile Ré
3b4f77c5e8 Change folder aliases
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-22 21:14:37 +04:00
Émile Ré
4d80dccbbf Fix bot review
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-22 21:06:19 +04:00
Émile Ré
c168be6de0 Add import order sorting rules
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-22 20:38:37 +04:00
Émile Ré
aa5696b5d3 Add eslint-plugin-import
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-22 19:57:10 +04:00
Émile Ré
6ba2132cfe Fix apps/trust lint issues
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-22 14:40:12 +04:00
Émile Ré
44ff65abb9 Use a page instead of a dialog for compliance page authentication
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-19 16:42:04 +04:00
Émile Ré
2bd2c5c215 Fix trust resolver IsUserAuthorized when doc is public
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:26 -08:00
Émile Ré
491caa9e22 Ask for fullName on NDA signing
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:25 -08:00
Émile Ré
44d85a2b12 Trust center access management - get rid of access token
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:24 -08:00
Émile Ré
8b3bda56e6 Add magic link login for trust center
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:24 -08:00
Émile Ré
e220c259b3 Use trust center from context
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:23 -08:00
Émile Ré
7322201dab Plug trust center part 1
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:23 -08:00
Émile Ré
018126fae6 Style framework name
Signed-off-by: Émile Ré <nemile.re@gmail.com>
2025-12-17 12:38:38 +01:00
Émile Ré
e740e15306 Display framework name below badge on trust center
Signed-off-by: Émile Ré <nemile.re@gmail.com>
2025-12-17 12:38:38 +01:00
Émile Ré
8c772661bf Use framework logo on console & trust
Signed-off-by: Émile Ré <nemile.re@gmail.com>
2025-12-16 19:05:34 +01:00