40 Commits

Author SHA1 Message Date
Stanko K.R. 05042ed54a Fix crash when a notification is deleted while a bundle is being sent 2026-02-13 09:22:51 +01:00
Stanko K.R. 37d7f5c569 Give more detail about why the import failed 2026-02-11 13:47:21 +01:00
Stanko K.R. 774a44f800 Tweak email copy 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. 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 Krtalić eceb6c9b43 Add self-service account deletion (#2246)
* Add self-service account deletion

* Disable access to cancelled accounts & implement Stripe interactions

* Add tests

* Fix failing tests

* Remove cancelled accounts from lists

* Fix incorrect redirect

* Use _path instead of _url for consistency

* Don't track how far the inicieration job got

We still want the step tracking so that the job can be interrupted. But, since the scope is idempotent, we don't need to track how far it got.

* Specify the exact time when the data will be deleted

* Fix crash due to unadvancable cursor

* Rename up_for_incineration to due_for_incineration

* Regenrate the schema

* Fix incorrect path check

* Migrate the SQLite schema

* Only show the cancel button on cancellable accounts

* Check that a subscirption method exists before calling it

* Ignore job failures due to missing records when an account gets deleted

* Skip sending notifications on cancelled accounts

* Use collbacks to integrate

* Add a blank line between queue_as and discard_on

* Break checks into methods

* Inline methods

* Rename Account::IncinerateJob

* Run migrations

* Migrate SQLite
2026-01-12 14:21:05 +01:00
Mark Imbriaco 56033d0a8e Use environment variable for default mailer address 2025-12-03 14:56:19 -05:00
Jason Zimdars 41c91e6dd6 Mailer copy 2025-12-01 22:27:53 -06:00
Kevin McConnell e16cc21b0a Add "data export" feature
- Adds a button in Account Settings where you can request a ZIP export of your
  Fizzy data
- Export files are created in the background. When ready, a link to
  download them is sent to the requester.
- Exports expire after 24 hours. And are limited to 10 per day.
2025-12-01 15:23:26 +00:00
Jason Zimdars 154cbf0cde Make it clear this is just notifications, not comprehensive activity 2025-11-25 16:08:11 -06:00
Jason Zimdars 9bae30f771 Show account if you have multiple
It's hard to know which account email notifications are coming from
2025-11-20 22:03:54 -06:00
Jason Zimdars b1762ea6b6 Display code right in the subject line 2025-11-20 21:45:26 -06:00
Stanko K.R. cc41a42221 Fix missing avatars in notification bundle emails 2025-11-20 10:33:42 +01:00
Stanko K.R. a0251255a7 Rename IdenityMailer to UserMailer 2025-11-17 09:12:41 -05:00
Stanko K.R. 56c41d45eb Reinstate email changes 2025-11-17 09:12:40 -05:00
Mike Dalessio 039e4a0bed Remove dead code (after deleting Membership) 2025-11-17 09:12:40 -05:00
Mike Dalessio d41d50d52b Account.sole → Current.account
and some other de-tenant changes, including removing the controller
tenanting concerns
2025-11-17 09:11:40 -05:00
Jason Zimdars 0f28ded99e Send email from support@fizzy.do 2025-11-11 10:47:30 -06:00
Jason Zimdars e7646fab96 More copy and design edits 2025-11-07 07:08:24 +01:00
Jason Zimdars d18c9d3867 No longer used 2025-11-07 07:06:28 +01:00
Jason Zimdars 7a58c23e55 Copy edits for unified flow 2025-11-07 07:06:28 +01:00
Jason Zimdars 7d154b682e Rename 'BOXCAR' to 'Fizzy'
Missed files
2025-11-03 16:30:44 -06:00
Jason Zimdars fd727a1a65 Update mailers that still read "fizzy" 2025-10-31 11:25:57 -05:00
Stanko K.R. 452c6a8373 Rework the email change flow to tie to memberships 2025-10-31 16:26:08 +01:00
Stanko Krtalić 98755844a1 Remove the internal API
* Bind sessions to identities
* Remove references to the identity token
* Move email changes to identity
* Move account menu into a turbo-frame
* Create tenants from a tenanted route
2025-10-31 16:26:08 +01:00
Stanko K.R. 79b012f319 Add Join Codes 2025-10-31 16:24:30 +01:00
Stanko K.R. c8843360fe Clean up and simplify magic links 2025-10-31 16:23:38 +01:00
Stanko K.R. 5cef4ffeb0 Add sign in flow using magic links 2025-10-31 16:22:12 +01:00
Jason Zimdars f5384baf63 Boxcar -> BOXCAR 2025-10-23 15:05:36 -07:00
Jason Zimdars 49e87310d7 Rename Fizzy, Boxcar 2025-10-22 13:42:41 -07:00
Jorge Manrubia 8f1a6852fa Preferred form of passing the tenant slug 2025-08-28 18:09:13 +02:00
Jorge Manrubia c2fe32cdfc Fix email 2025-08-28 17:59:13 +02:00
Jorge Manrubia e4ab1366be Add unsubscribe links and headers for emails
https://3.basecamp.com/2914079/buckets/37331921/todos/9002504172
2025-08-28 16:59:24 +02:00
Jorge Manrubia 45d3bb4b3e Set current tenant in mailers 2025-08-27 11:30:08 +02:00
Jason Zimdars a1529cadd2 First pass at email styles 2025-08-26 20:56:32 -05:00
Jorge Manrubia c1605b5972 Initial templates for notifications 2025-08-26 14:21:38 +02:00
Jorge Manrubia cfafc54a81 Deliver emails for bundled notifications (initial WIP) 2025-08-26 13:22:22 +02:00
Kevin McConnell 564a0f48ae New Rails app 2024-06-21 13:19:56 +01:00