Commit Graph

9156 Commits

Author SHA1 Message Date
Stanko K.R. eed2b3c8a7 Cleanup code 2026-02-02 12:36:48 +01:00
Stanko K.R. e0cee2c770 Simplify the import test 2026-02-02 12:36:48 +01:00
Stanko K.R. f50d6d093d Implement cursors for imports 2026-02-02 12:36:48 +01:00
Stanko K.R. 63f6be4ef5 Resolve import conflicts 2026-02-02 12:36:48 +01:00
Stanko K.R. 6044303078 Remove unused association 2026-02-02 12:36:48 +01:00
Stanko K.R. eb9cfc3b36 Push updates via Turbo 2026-02-02 12:36:48 +01:00
Stanko K.R. 2cb77eaaf7 Fix orphaned Entropy records upon Account destruction 2026-02-02 12:36:48 +01:00
Stanko K.R. 0452d243e1 Fix account creation and import updates 2026-02-02 12:36:48 +01:00
Stanko K.R. b97934ff48 Fix crash when exporting ActiveStorage files 2026-02-02 12:36:48 +01:00
Andy Smith 1ca52f0572 Smaller border radius to handle long file names 2026-02-02 12:36:48 +01:00
Andy Smith 5278b8e5fd Touch up the Download Export page 2026-02-02 12:36:48 +01:00
Andy Smith 77b15687eb Better instructions 2026-02-02 12:36:48 +01:00
Andy Smith ba260db8a2 Nicer file input 2026-02-02 12:36:48 +01:00
Andy Smith d55aa25f9a Polish the session menu page 2026-02-02 12:36:48 +01:00
Andy Smith 60787a00ef Touch up export modals 2026-02-02 12:36:48 +01:00
Stanko K.R. 122a228ed4 Use convention to create boilerplate record sets 2026-02-02 12:36:48 +01:00
Stanko K.R. f457273937 Convert double negatives into a positive question 2026-02-02 12:36:48 +01:00
Stanko K.R. 3f2a91922a Regenerate schemas 2026-02-02 12:36:48 +01:00
Stanko K.R. 00c5f7feab Break import and export objects into record sets 2026-02-02 12:36:48 +01:00
Andy Smith 4f2cb01143 Polish up notification settings to match 2026-02-02 12:36:48 +01:00
Andy Smith e892b74cf2 Simplify settings layout and correct h2 levels 2026-02-02 12:36:48 +01:00
Stanko K.R. 19ae555c2e Convert Account::SingleUserExport to User::DataExport 2026-02-02 12:36:48 +01:00
Stanko K.R. 161efb0b8e Implement basic imports 2026-02-02 12:36:48 +01:00
Stanko K.R. 8953920652 Implement full account exports 2026-02-02 12:36:48 +01:00
Stanko K.R. 6f17e3867d Split Export model into user and whole-account export 2026-02-02 12:36:31 +01:00
Rosa Gutierrez 63d9f29b1e Return internal account ID after signup completion
This matches what we return from `/my/identity` endpoint for each
account.
2026-01-30 13:41:37 +01:00
Rosa Gutierrez 614527e9c2 Add JSON format support to signup flow for native API clients
The magic link verification endpoint now returns `requires_signup_completion`
to indicate whether the client needs to collect a name and complete signup.
The signup completion endpoint now supports JSON responses with the account ID.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:41:37 +01:00
Mike Dalessio 231fa311c1 Merge pull request #2453 from basecamp/flavorjones/fix-create-card-2
Fix lightbox blocking clicks on page elements
2026-01-28 17:58:21 -05:00
Mike Dalessio 017e1434f1 Reapply "Fix lightbox blocking clicks on page elements"
This reverts commit c70c4b4107.
2026-01-28 17:53:53 -05:00
Mike Dalessio c70c4b4107 Revert "Fix lightbox blocking clicks on page elements"
This reverts commit 17b7af9b92.
2026-01-28 17:53:21 -05:00
Mike Dalessio 17b7af9b92 Fix lightbox blocking clicks on page elements
The CSS change in 39575a0 added `display: flex` to the lightbox dialog
unconditionally, which overrode the browser's default `display: none`
for closed dialogs. This made the invisible lightbox overlay intercept
all clicks on the page.

Move flexbox properties to the `&[open]` selector so they only apply
when the dialog is actually open.

Also fix typo: `innerHtml` → `innerHTML` (capital H).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:51:32 -05:00
Mike Dalessio a67dea6347 Merge pull request #2450 from basecamp/flavorjones/coworker-audit-api
saas: Update audits1984 and allow the auditor token for LLM access to audits
2026-01-28 14:34:56 -05:00
Mike Dalessio 89d2f2d0fc saas: Add bearer token authentication for audit console
- Rename SaasAdminController to Admin::AuditController
- Override require_authentication to support bearer tokens alongside
  session auth, allowing API access to audit console
- Add migration for audits1984_auditor_tokens table
- Add controller tests for authentication scenarios including staff
  validation on token-based access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 14:13:54 -05:00
Mike Dalessio 4e61b64d9a Update to feature branch of audits1984 2026-01-28 14:13:51 -05:00
Mike Dalessio 3b13c8573e saas: Backfill tests for admin audit endpoints 2026-01-28 12:55:28 -05:00
Mike Dalessio dbcf54de91 saas: Set lifetime of console1984 sessions to 60 days 2026-01-28 12:55:28 -05:00
Adrien Maston 70fba5e48b Merge pull request #2309 from basecamp/mobile/prepare-webviews-2
Mobile/prepare webviews 2
2026-01-28 16:03:54 +01:00
Kevin McConnell 9cd94a7d08 Merge pull request #2445 from basecamp/shorten-public-cache-expiration
Cache public pages for 5 mins, not 1 year
2026-01-28 14:39:33 +00:00
Kevin McConnell 108337e823 Cache public pages for 5 mins, not 1 year
Given these may be cached in CDNs, and they aren't versioned, a shorter
expiration time makes it practical to change them.
2026-01-28 14:30:43 +00:00
Kevin McConnell feaeaf5c68 Merge pull request #2443 from basecamp/remove-zero-padding-from-account-slug
Remove zero-padding from account slug
2026-01-28 14:05:16 +00:00
Jay Ohms 1e92e4b957 Merge pull request #2444 from basecamp/mobile/verify-app-links-debug
Add the Android debug fingerprint for verified app links
2026-01-28 08:56:06 -05:00
Jay Ohms 28fc7148da Fix indentation 2026-01-28 08:51:51 -05:00
Jay Ohms 3fdb79a5a4 Add the Android debug fingerprint for verified app links 2026-01-28 08:48:31 -05:00
Jay Ohms 59f04f4561 Merge pull request #2441 from basecamp/mobile/verify-app-links
Add the public Digital Asset Links file to verify app links on Android
2026-01-28 08:18:20 -05:00
Kevin McConnell a293151220 Add middleware to serve SaaS engine's public files 2026-01-28 12:17:22 +00:00
Kevin McConnell e105ca6fb5 Remove zero-padding from account slug
This shortens URLs in the self-hosted case, where external account ID is
typically a small number.
2026-01-28 11:59:42 +00:00
Jay Ohms 345fd8cdbb Add the public Digital Asset Links file to verify app links on Android 2026-01-28 06:26:33 -05:00
Rosa Gutierrez c059e0b216 Add JSON format support to session destroy for native API clients
This is so that native API clients can get the session record deleted
server-side. They still need to take care of clearing any cookies
they've set in web views.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 19:59:30 +01:00
Adrien Maston fefb28848b Merge branch 'main' into mobile/prepare-webviews-2
* main: (26 commits)
  Add a new Pins section to docs/API.md covering pin/unpin and the pinned cards list response.
  Align board name start so it doesn't get too big
  Clean up card/events header layout
  Sync email to Stripe when user changes email address (#2432)
  Fix IDOR in webhook activation endpoint (#2431)
  Add card reactions to API docs and reactions_url to card JSON (#2427)
  Remove unnecessary claude plan
  Allow boosts on cards (#2411)
  Revert "Fix notification click URL by using correct data property"
  Add migration to remove draft cards from search index
  Guard search indexing with searchable? check
  Forbid comments on draft cards
  prefactor: update search to use published cards
  Fix notification click URL by using correct data property
  Wait for service worker to be active before subscribing
  Fix stuck state when permission granted but no subscription
  Extract Card::Commentable
  Include arm64 build in Docker workflow
  Remove unnecessary `await` in push handler
  Correctly initialise WebPush connection (#2417)
  ...
2026-01-27 17:17:21 +01:00
Denis Svara ec1b8f2fed Merge pull request #2367 from basecamp/pins-api
Pins API
2026-01-27 15:52:50 +01:00