Commit Graph

25 Commits

Author SHA1 Message Date
Mike Dalessio 51df4af6ba Add test coverage for the image lightbox
because we're about to mess with it.
2025-12-13 16:00:54 -05:00
Jorge Manrubia ffb357becf Merge pull request #1742 from basecamp/latest-lexxy
Update lexxy to latest
2025-12-06 10:31:19 +01:00
Mike Dalessio 4602cd3cdd Add verified_at timestamp to use for spam prevention
User are marked as verified after a join code is redeemed. The user is
redirected to Users::VerificationsController, either:

- after submitting a valid magic link code,
- or immediately after redeeming the join code (if they're already
  authenticated with the correct identity)

Account owners are automatically verified when the account is
created (because they have already provided a magic link code at that
point).

This sets up for later commits that will backfill existing users and
require verification before sending notification emails.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 21:51:44 -05:00
Mike Dalessio fa549a370b Add a system test for joining an account
Reworked the magic link stimulus controller, because the system test
was causing double-submission of the form (because the event was
bubbling up). I think that change simplifies the form and will still
work well for iOS devices.
2025-12-05 21:51:44 -05:00
Jorge Manrubia 80a0eb3a4d Fix system test 2025-12-05 11:30:58 +01:00
Jorge Manrubia b55bd70a8a Make system test stable
We need to wait for the request to materialize before checking the DB
2025-11-18 10:20:02 +01:00
Mike Dalessio 0a76d10184 Add test for dragging cards
See fix in ec25d73c
2025-11-17 09:12:41 -05:00
Mike Dalessio 954d094d18 Fix the stacked notifications to respect time-sortable uuid 2025-11-17 09:12:41 -05:00
Kevin McConnell 59dd8ca549 Make IDs more time-sortable in tests
In order for model ordering to work as expected in tests, we need to
keep two properties:

- Fixtures are all created in the past
- Models sort in the order that they were created

This allows us to do things like this:

    post cards_path, params: { ... }
    created_card = Card.last

When using UUIDv7 PKs rather than sequential integers, we have to make
sure a couple of things happen in order for this still to be true:

- Fixtures should generate deterministic IDs that translate to UUIDs
  that would have been created in the past (i.e. before today)
- Newly created objects must have enough precision in their timestamps
  so that they sort in the order they were created, and their random
  component doesn't come into play.

To solve this, we use the deterministic numeric ID as a number of
milliseconds after an early year. And we ensure that the new timestamps
we create have sub-millisecond precision.
2025-11-17 09:12:40 -05:00
Mike Dalessio 3f2eee38ba test: skip the test failing related to UUIDs and notif grouping 2025-11-17 09:12:36 -05:00
Jorge Manrubia 8f4b6926f5 Fiz test 2025-11-13 09:41:45 +01:00
Jason Zimdars 7d095c87b1 Simplify label, try showing the hotkey outside the button when we have room 2025-11-11 17:54:56 -06:00
Jorge Manrubia 03a345609e Baseline replacing collection with board across code 2025-11-05 13:31:54 +01:00
Stanko K.R. 875515b51d Skip the menu screen if there is just one account 2025-11-04 17:52:31 +01:00
Jorge Manrubia 5775702159 Fix smoke tests 2025-11-04 17:20:04 +01:00
Mike Dalessio e682f2742d test: Fix the flaky smoke test on attachments 2025-11-03 15:12:39 -05:00
David Heinemeier Hansson b1c8dc1e64 Need even more grace to ensure success 2025-11-02 13:56:31 +01:00
David Heinemeier Hansson 3bba72bf19 Wait a little to ensure attachments have loaded 2025-11-02 08:19:22 +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. 201c3e27d3 Update tests for the Internal API 2025-10-31 16:26:08 +01:00
Jason Zimdars 1c8a9fdc67 Update tests 2025-10-23 07:54:46 -07:00
Jorge Manrubia 48d4a65c7d Fix test 2025-09-29 17:48:29 +02:00
Jorge Manrubia fa4106c13e Fix test 2025-09-29 17:45:36 +02:00
Mike Dalessio 5dec991d7c Introduce a few system tests
Primarily I'm trying to exercise active storage and action cable /
turbo streams, both of which have been brittle when making changes to
tenanting.
2025-09-13 13:18:32 -04:00
Kevin McConnell 564a0f48ae New Rails app 2024-06-21 13:19:56 +01:00