Adrien Maston
45f65bd1c3
Merge pull request #2466 from basecamp/mobile/hide-sections-from-apps
...
Mobile / Hide sections from apps
2026-02-03 11:29:08 +01:00
Adrien Maston
2ab9dd8a30
Remove no-longer wanted margin
...
... after getting the newer stuff from main
2026-02-03 11:25:35 +01:00
Adrien Maston
a6a20fa56e
Merge branch 'main' into mobile/hide-sections-from-apps
...
* main: (65 commits)
Fix crash due to missing ActiveStorage URL options
Capture backtrace of nested errors
Remove debug code
Add more debug info
Pass all service options
Prevent duplicate files in user data export
Write in binmode
Replace custom IO object with a transport manager IO
Explain imports & exports
Add missing method to IO object
Rename jobs
Finishing touches
Delete accounts for failed imports
Check that associations don't exist
Bust the cache after import
Explicitly use the default storage service
Fix ActiveStorage writing to disk
Fix crash on successful import email
Fix orphaned attachments when deleting the whole account
Add size to remote io
...
2026-02-03 10:49:16 +01:00
Stanko Krtalić
0f1850c674
Merge pull request #2474 from basecamp/fix-crash-during-export
...
Fix crash due to missing ActiveStorage URL options
2026-02-02 21:51:49 +01:00
Stanko K.R.
b497aa07e9
Fix crash due to missing ActiveStorage URL options
2026-02-02 21:49:06 +01:00
Stanko Krtalić
571af6be5a
Merge pull request #2473 from basecamp/fix-crash-during-export
...
Capture backtrace of nested errors
2026-02-02 21:38:58 +01:00
Stanko K.R.
e587cb6a2b
Capture backtrace of nested errors
2026-02-02 21:37:37 +01:00
Stanko K.R.
5eb15ebf4d
Remove debug code
2026-02-02 21:33:48 +01:00
Stanko Krtalić
30b2c7f27a
Merge pull request #2472 from basecamp/fix-crash-during-export
...
Add more debug info
2026-02-02 21:26:29 +01:00
Stanko K.R.
e0c3e09aa9
Add more debug info
2026-02-02 21:17:43 +01:00
Stanko Krtalić
b94ba00ed3
Merge pull request #2471 from basecamp/fix-crash-during-export
...
Fix crash during export
2026-02-02 20:12:51 +01:00
Stanko K.R.
d0c6253716
Pass all service options
2026-02-02 20:06:45 +01:00
Stanko K.R.
88d84b3eaa
Prevent duplicate files in user data export
2026-02-02 19:58:57 +01:00
Stanko Krtalić
fbffc84fcc
Merge pull request #2470 from basecamp/fix-crash-during-export
...
Write in binmode
2026-02-02 19:50:01 +01:00
Stanko K.R.
4b7bbda222
Write in binmode
2026-02-02 19:46:20 +01:00
Stanko Krtalić
adb8bdf59d
Merge pull request #2469 from basecamp/fix-crash-during-export
...
Fix crash during export
2026-02-02 19:35:59 +01:00
Stanko K.R.
4b70c1cc3b
Replace custom IO object with a transport manager IO
2026-02-02 19:31:18 +01:00
Stanko K.R.
f70560f810
Explain imports & exports
2026-02-02 19:31:12 +01:00
Stanko Krtalić
efcd2552f2
Merge pull request #2468 from basecamp/fix-crash-during-export
...
Add missing method to IO object
2026-02-02 19:09:27 +01:00
Stanko K.R.
77d9331d90
Add missing method to IO object
2026-02-02 19:06:37 +01:00
Stanko Krtalić
10e23c8768
Merge pull request #2356 from basecamp/import-export
...
Account import & export
2026-02-02 18:28:40 +01:00
Stanko K.R.
5c929238b7
Rename jobs
2026-02-02 18:22:07 +01:00
Stanko K.R.
5dac2fa678
Finishing touches
2026-02-02 18:06:19 +01:00
Adrien Maston
270eacf43a
Hide push notifications settings
2026-02-02 17:37:47 +01:00
Adrien Maston
88d99e58bc
Hide appearance/devices/developer panel on profile page
2026-02-02 17:30:12 +01:00
Stanko K.R.
b06d95a20d
Delete accounts for failed imports
2026-02-02 16:24:10 +01:00
Stanko K.R.
539cd638e2
Check that associations don't exist
...
Without this you can change a belongs to to some other account's record and get access to it
2026-02-02 16:03:50 +01:00
Stanko K.R.
dca67c59ca
Bust the cache after import
...
Without this exporting, deleting and then re-imporing an account would reuse the old cache entries since the IDs are the same, but those cache entries will likely have the old account ID and would break
2026-02-02 15:48:49 +01:00
Stanko K.R.
1bc1b68ddf
Explicitly use the default storage service
2026-02-02 15:22:16 +01:00
Stanko K.R.
60c63271b9
Fix ActiveStorage writing to disk
2026-02-02 15:16:37 +01:00
Stanko K.R.
96a1d7d2d3
Fix crash on successful import email
2026-02-02 14:47:58 +01:00
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