Commit Graph

38 Commits

Author SHA1 Message Date
Stanko K.R. 5f11ee154f Fix attribute name 2026-01-12 15:16:33 +01:00
Stanko K.R. ae78f25b06 Fix incorrect recurring job config 2026-01-12 15:16:33 +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
Mike Dalessio 27093e4e78 Remove unnecessary recurring execution cleanup task
This task is unnecessary because the
`solid_queue_recurring_executions` table has a foreign key to
`solid_queue_jobs` with `on_delete: :cascade`.

This config was cargo-culted from HEY (in 44429644), which *does* need
this task to run because we've omitted the FK constraints there.
2026-01-04 11:12:01 -05:00
Rosa Gutierrez 329e9ef7cb Don't run application recurring jobs in betas
Betas use the same application DB as production, so all these tasks
already take place there. Moreover, since betas have different Solid
Queue instances, we can't prevent simultaneous runs of the same
recurring jobs because each Solid Queue instance is isolated from the
others, so they don't know these jobs are running already, leading to
all sort of issues.
2025-12-23 22:12:08 +01: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
Jorge Manrubia 8e0445ddf5 Add yabeda metrics check only in SaaS mode 2025-11-28 15:53:58 +01:00
Mike Dalessio 5ca2df22ce Load recurring jobs in development 2025-11-17 09:12:41 -05:00
Kevin McConnell fd3ad90f47 Remove outdated job reference 2025-11-17 09:12:41 -05:00
Stanko K.R. e0693de7c3 Scope jobs and controllers by account 2025-11-17 09:12:41 -05:00
Mike Dalessio 4d3c265042 Rip out activerecord-tenanting
Co-authored-by: Stanko K.R. <stanko@stanko.io>
2025-11-17 09:11:35 -05:00
Jorge Manrubia 9d4dd3b00e Remove "save as draft"
Removes the creating status completely as well as the abandoned cards system. It will
always resume drafts if they exist, for a given collection and user.

https://app.box-car.com/5986089/cards/2489
2025-11-03 09:32:29 +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
Jorge Manrubia aa1ffb3357 Remove AI summaries and semantic searches
We were not using either. We can restore if we revisit.
2025-10-29 11:55:32 +01:00
Jorge Manrubia 392bdae316 Rename highlights -> summary 2025-10-25 20:06:57 +02:00
Mike Dalessio 6f725fc9cf Stagger the timings on recurring jobs
just to avoid dogpiling writes on the database
2025-10-16 09:42:08 -04:00
Mike Dalessio 28e9b4a496 Fix recurring job config for webhook cleanup 2025-10-11 13:57:19 -04:00
Mike Dalessio 4f981e9c2f Add yabeda-actioncable metrics 2025-10-11 13:35:31 -04:00
Mike Dalessio 5c651a7f94 Tidy recurring.yml 2025-10-11 13:23:25 -04:00
Jorge Manrubia ea03116ad0 Remove unused job 2025-09-29 18:53:01 +02:00
Jorge Manrubia 2f6a639682 Prepare entropy code for the new auto postpone approach 2025-09-24 16:22:42 +02:00
Stanko K.R. fee25a49ea Periodically cleanup deliveries 2025-09-16 20:04:20 +02:00
Mike Dalessio 4442964408 Introduce yabeda for Solid Queue metrics 2025-09-15 11:05:04 -04:00
Jorge Manrubia 0e30f73d40 Fix cron syntax (this didn't trigger) 2025-09-08 08:29:24 +02:00
Jorge Manrubia 5b68750713 Generate weekly highlights instead of daily ones
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047
2025-09-01 16:01:19 +02:00
Jorge Manrubia cfafc54a81 Deliver emails for bundled notifications (initial WIP) 2025-08-26 13:22:22 +02:00
Mike Dalessio 9da3744dc2 Add recurring job to clean up Solid Queue finished jobs 2025-08-19 13:27:41 -04:00
Mike Dalessio e67d59e341 Introduce a staging environment
ref: https://3.basecamp.com/2914079/buckets/21350690/card_tables/cards/8708868711
2025-06-04 11:06:09 -04:00
Mike Dalessio c3a9ac7391 Create a distinct "beta" environment
and move secrets into Rails credentials for both beta and production
environments.
2025-05-31 10:57:26 -04:00
Mike Dalessio (aider) 2f9a0bbe75 Introduce a recurring job to delete unused tags
ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009072
2025-05-14 12:35:52 -04:00
Mike Dalessio 9d8d38873e Backup the tenant databases nightly.
This is probably not a permanent solution, but should provide some
disaster recovery capability while we're building up Fizzy operationally.
2025-04-30 06:15:25 -04:00
Jorge Manrubia 221bbb3247 Fix renames that the scripts missed 2025-04-09 14:56:59 +02:00
Jorge Manrubia 723e6d94f5 Rename bubbles => cards 2025-04-09 14:50:58 +02:00
Jorge Manrubia 6f93d4b72a Add system to auto reconsider inactive bubbles after 30 days 2025-04-04 10:04:39 +02:00
Kevin McConnell 6b457fc26f Add job to auto-pop the items that are due 2025-02-12 13:22:31 +00:00
Kevin McConnell bd4e475d44 Remove old abandoned bubble creations via cron 2025-02-11 14:34:39 +00:00
Kevin McConnell 90538afb3b Add Solid Queue
We'll run jobs via the Puma plugin for now, to simplify the deployment.
2025-01-08 14:02:45 +00:00