Commit Graph

1210 Commits

Author SHA1 Message Date
Jorge Manrubia 4b5e8dc233 The collections filters is pretty crucial, make it evident in the code 2025-10-16 17:34:16 +02:00
Jorge Manrubia 41a23b5634 Reapply "Don't relay name change events to the timeline"
This reverts commit 44d3c84e13.
2025-10-16 17:32:24 +02:00
Jorge Manrubia 44d3c84e13 Revert "Don't relay name change events to the timeline"
This reverts commit fc0b59267e.
2025-10-16 17:32:05 +02:00
Jorge Manrubia fc0b59267e Don't relay name change events to the timeline
it also adds a missing index

https://fizzy.37signals.com/5986089/cards/411
2025-10-16 17:31:51 +02:00
Jorge Manrubia 13135941d8 Sort search results by recency
https://fizzy.37signals.com/5986089/cards/2236/edit
2025-10-16 15:55:01 +02:00
Jorge Manrubia 7f918ca73f Fix: use user timezone when delivering notification emails 2025-10-16 06:35:27 +02:00
Jorge Manrubia 0666e504d6 Assign postpone_by to system when auto-cleaning 2025-10-15 15:08:41 +02:00
Jorge Manrubia acdc7706ce Add not now and closed as status filters
https://fizzy.37signals.com/5986089/cards/2342
2025-10-15 13:59:50 +02:00
Jorge Manrubia 9263cff3d5 Store and show the user that postpones cards 2025-10-15 13:44:49 +02:00
Andy Smith 9f3b0755f1 Add stamp to Not Now (doesn't include the name, though) 2025-10-14 16:09:41 -05:00
Jason Zimdars 99d7f62dbc Merge pull request #1299 from basecamp/order-stream-by-activity
Activity bumps cards to the top
2025-10-14 08:14:42 -05:00
Jorge Manrubia d2838fc3d8 Show completed cards when filtering cards by creator 2025-10-14 10:35:18 +02:00
Jason Zimdars fb865effac Activity bumps cards to the top of the stream 2025-10-13 15:39:14 -05:00
Mike Dalessio 3399e45130 Introduce an "Identity" model to ease login
- New untenanted Identity and Membership models
- New `identity_token` cookie with path "/" holds state across tenants

We're not sure whether the untenanted database will be sqlite or
MySQL, and so I've been careful to minimize

- database reads, placing them behind etags and caching
- database writes, only writing when a new Session is created (login)

Note that we track two things in the identity_token cookie: a signed
id, and the updated_at for the underlying Identity object. This allows
us to effectively cache on the Identity without having to hit the
database, by using an Identity::Mock object that is compatible with
etag and cache methods.

The new integration test shows the desired user-facing behavior, which
is to make it easy to login without a tenanted URL and to jump between
tenants.

- the untenanted "login_help" page shows all linked memberships
- the jump menu shows all linked memberships (except the current)

Also introduced a utility script to populate existing employee
Identities, grouping accounts by email address.
2025-10-10 10:12:25 -04:00
Jason Zimdars fcba8b6acb Add column color to cache keys
So cards change colors when you change the column color
2025-10-08 17:08:32 -05:00
Jorge Manrubia 1d1a3da9cf Cleanup workflow/stages
This was pending after moving to columns
2025-10-07 11:10:10 +02:00
Jorge Manrubia 7cb575b329 Exclude drafts from filtered cards 2025-10-07 10:32:10 +02:00
Jorge Manrubia e7db336a84 Use new method to fetch collection watchers 2025-10-07 08:33:14 +02:00
Mike Dalessio 3df6683736 Fix filter title when there's only one Collection in the account 2025-10-07 00:04:38 -04:00
Jorge Manrubia 6073f79191 Invalidate cards when watching/unwatching
Follow up to https://fizzy.37signals.com/5986089/cards/2198
2025-10-06 16:13:33 +02:00
Jorge Manrubia c846221208 Invalidate cards when watchers change 2025-10-06 15:44:12 +02:00
Jorge Manrubia 6b0bca2475 Reduce size further since sometimes you get truncated summaries 2025-10-06 15:17:28 +02:00
Jorge Manrubia 969d971616 Use a more consistent approach to highligts dates 2025-10-06 15:17:28 +02:00
Jorge Manrubia e6750bfccd Remove hanging } 2025-10-06 14:58:32 +02:00
Jorge Manrubia 328b488d3d Remove trace 2025-10-06 12:47:27 +02:00
Jorge Manrubia 7178945418 Reduce max length 2025-10-06 12:44:24 +02:00
Jorge Manrubia 4e5edef4df Invalidate cache when there are higlights 2025-10-06 12:43:05 +02:00
Jorge Manrubia 3e67da7d0e Add a new join model to link summaries with users
So that changing the set of events does not result in not being able to find a generated highlight summary
2025-10-06 12:33:28 +02:00
Mike Dalessio 5c706e7888 Merge pull request #1233 from basecamp/flavorjones/small-account-fixes
Rename account column, small account-related fixes
2025-10-03 17:25:54 -04:00
Mike Dalessio f26b0b7256 Rename accounts.tenant_id to external_account_id
and simplify the params to Account.create_with_admin_user
2025-10-03 17:21:01 -04:00
Jason Zimdars d591166f01 Merge pull request #1212 from basecamp/column-perma
Column perma
2025-10-03 16:09:42 -05:00
Mike Dalessio 8e0cb930af Delete SignalId concerns from the codebase
including Signup for now, will rebuild it with just QB
2025-10-03 14:06:51 -04:00
Jorge Manrubia 5e09944606 Separate card and collection watchers
https://fizzy.37signals.com/5986089/cards/375
2025-10-03 19:04:01 +02:00
Jorge Manrubia 7eb99c308c Fix: watchers list not updating due to caching
https://fizzy.37signals.com/5986089/cards/2157/edit
2025-10-03 16:56:39 +02:00
Jorge Manrubia e31ce965e6 Make sure you don't reopen cards 2025-10-03 16:36:09 +02:00
Jorge Manrubia 1dfb871c44 Don handle collection change on creation 2025-10-03 16:26:23 +02:00
Jorge Manrubia 4daeb2a33b Make sure we clear the column when moving cards to another collection
Or it will be become not accessible
2025-10-03 16:19:42 +02:00
Jorge Manrubia 4527dcbeda Remove unnecessary filtering code
After removing collections from the filtering menu, there was quite a good cleanup here pending
2025-10-03 10:56:34 +02:00
Mike Dalessio 9bed917b49 Merge pull request #1216 from basecamp/flavorjones/local-authentication
Standalone authentication: step 1
2025-10-02 17:33:56 -04:00
Mike Dalessio fcd3c178ce Account#slug uses the virtual "tenant" attribute 2025-10-02 16:44:24 -04:00
Jorge Manrubia 08c6a38492 Remove falling back status that we don't support anymore 2025-10-02 10:30:14 +02:00
Jason Zimdars 7e43cc3ab4 Stub collections filter UI 2025-10-01 15:38:32 -05:00
Jorge Manrubia eec9bf2cbe Touch colections when creating columns 2025-10-01 16:15:14 +02:00
Stanko K.R. 9ddfe4d803 Fix production Basecamp webhook format 2025-10-01 14:44:36 +02:00
Mike Dalessio 0213140a7c Update User so that it can be cleanly destroyed
- Delete unused dependent-destroy associations
- Include watchers as a dependent-destroy
2025-09-30 14:44:38 -04:00
Jorge Manrubia c95bdf0dc7 Add some basic caching for the new columns approach 2025-09-29 15:09:38 +02:00
Jorge Manrubia 402fe6ca39 No default columns for new collections
https://3.basecamp.com/2914079/buckets/37331921/todos/9104429380#__recording_9118363137
2025-09-28 22:04:06 +02:00
Jorge Manrubia e1f052935a Add test for triaging cards 2025-09-28 22:02:34 +02:00
Jorge Manrubia d16e0c942c Fix test and adjust prompts to reflect the column 2025-09-28 20:49:25 +02:00
Jorge Manrubia 24f1394ca3 Remove workflows code, remove more unused code 2025-09-28 20:39:47 +02:00