Commit Graph

9178 Commits

Author SHA1 Message Date
Stanko K.R. 6e6e4e9b5a Fix orphaned attachments when deleting the whole account 2026-02-02 14:35:01 +01:00
Stanko K.R. ac7d0308ac Add size to remote io 2026-02-02 14:09:04 +01:00
Stanko K.R. a70bbf472b Fix crash on account destruction 2026-02-02 14:08:52 +01:00
Stanko K.R. edb676cd2c Make remote IOs rewindable
This is required for active storage to work
2026-02-02 13:52:14 +01:00
Stanko K.R. 8be26a283e Tell brakeman that everything is OK 2026-02-02 13:39:54 +01:00
Stanko K.R. d7dcf64310 Remove model validation 2026-02-02 13:38:34 +01:00
Stanko K.R. 54a7ecea98 Fail the import if the check fails 2026-02-02 13:33:06 +01:00
Stanko K.R. 2dbbeffdcf Fix SSL issues when reading remote ZIP files
This is caused by our self-signed PureStorage certs. Once that's taken care of this commit can be reverted.
2026-02-02 13:16:59 +01:00
Stanko K.R. a6609e1bbc Add test got the import job 2026-02-02 13:03:26 +01:00
Stanko K.R. ccbf571be4 Fix crash on commentable check 2026-02-02 12:51:46 +01:00
Stanko K.R. 58a14fb1f5 Fix load error 2026-02-02 12:49:39 +01:00
Stanko K.R. de69d2e6fe Add import cleanup 2026-02-02 12:36:48 +01:00
Stanko K.R. 5bbd7f633d Process everything in chunks
The old implementation loaded files into memory to provide an IO interface. This has the obvious downside of loading any file included in the import, e.g. a 10GB video file, into memory. ZipKit has no native IO object for reading but it provides all the necessary methods to implement one.
2026-02-02 12:36:48 +01:00
Stanko K.R. dd13a3b87c Style 2026-02-02 12:36:48 +01:00
Stanko K.R. 774a44f800 Tweak email copy 2026-02-02 12:36:48 +01:00
Stanko K.R. a791fe1919 Hide importing accounts 2026-02-02 12:36:48 +01:00
Stanko K.R. 27c73ff42b Rename validate to check
Validate is an ActiveModel method, overriding it could have unintended side-effects so I opted to rename it
2026-02-02 12:36:48 +01:00
Stanko K.R. 0240ffca34 Fix import validation failure
During import, card return nil since it doesn't exist yet
2026-02-02 12:36:48 +01:00
Stanko K.R. b659e326e1 Name the export ZIPs differently 2026-02-02 12:36:48 +01:00
Stanko K.R. 992f15066b Replace RubyZip with ZipKit
ZipKit can read and write files directly from S3 which makes both imports and exports way more efficient in terms of disk usage.
2026-02-02 12:36:48 +01:00
Stanko K.R. 184150006f Unify ZIP file interactions between all exports 2026-02-02 12:36:48 +01:00
Stanko K.R. 635dbb90cb Rename the Import controller to Account::Import 2026-02-02 12:36:48 +01:00
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