Bobby Ho and Claude Opus 5
16c58770f8
feat: constrain the OAuth2 client type column ( #27931 )
...
Extracted from #27873 so the schema change can be reviewed for migration
safety on its own. #27873 will rebase onto this.
`client_type` decides whether the token endpoint validates a client
secret at all, and the column accepts any text: nullable, no `CHECK`, no
enum. No Go path can write a bad value today, and `IsPublic` fails
closed on anything unrecognized, so the read side is safe. What the
schema still permits is the problem: a future migration writing
`'public'` onto a row that holds a secret turns off client
authentication for that app with nothing to catch it, no constraint, no
log, no audit entry, no test.
`000565` adds `CHECK (client_type IN ('confidential', 'public'))` and
`NOT NULL`. The `UPDATE` ahead of it should touch zero rows, since
migration `000344` added the column with a default of `'confidential'`
and backfilled with `COALESCE`; it is there so `SET NOT NULL` cannot
fail on an unexpected row. Both `ALTER`s take `ACCESS EXCLUSIVE` and
scan a table holding one row per registered OAuth2 client, so the lock
is brief.
## The second migration, and why it aligns the way it does
Two columns describe the same fact and can currently contradict each
other.
`token_endpoint_auth_method` is the client's own declaration: registered
client metadata under RFC 7591 §2, where `"none"` is defined to mean the
client is public and has no secret. `client_type` is Coder's derived
copy, and it is what the token endpoint enforces on. RFC 7591 defines no
`client_type` metadata field; the column exists only as a
denormalization.
Registration used to persist the declaration verbatim while hardcoding
`client_type` to `'confidential'`, so rows exist declaring `"none"` on a
client stored confidential that was issued, and still requires, a real
secret. A client that reads its own metadata and believes it is public
will drop that secret and stop being able to exchange codes.
`000566` aligns the declaration to what is enforced, not the reverse.
Deriving enforcement from the declaration would reclassify every such
client as public and stop requiring the secret it holds, which is a
silent authentication downgrade. The down migration is deliberately
empty: the previous values are not recorded, and restoring them would
only reinstate metadata that tells a client to authenticate in a way the
server rejects.
## Application changes
`SET NOT NULL` changes the generated field from `sql.NullString` to
`string`, so the three write sites are updated to match. That is the
entire application diff and no behavior depends on it.
Refs
https://linear.app/codercom/issue/ENG-3029/oauth2-support-public-client
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-10 10:49:02 -07:00
..
2026-07-30 08:37:45 +01:00
2023-12-02 11:35:25 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-02 11:38:12 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-02 11:40:23 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2025-03-18 14:47:30 +02:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-01 16:11:10 -06:00
2023-12-05 13:54:38 +00:00
2023-12-05 13:54:38 +00:00
2023-12-07 17:11:57 -06:00
2023-12-07 17:11:57 -06:00
2023-12-08 21:59:53 +00:00
2023-12-08 21:59:53 +00:00
2023-12-11 10:09:51 -07:00
2023-12-11 10:09:51 -07:00
2023-12-12 11:19:28 +00:00
2023-12-12 11:19:28 +00:00
2023-12-13 12:31:40 +00:00
2023-12-13 12:31:40 +00:00
2023-12-14 12:52:41 +00:00
2023-12-14 12:52:41 +00:00
2023-12-15 18:27:56 +10:00
2023-12-15 18:27:56 +10:00
2023-12-18 16:44:52 +00:00
2023-12-18 16:44:52 +00:00
2023-12-21 21:38:42 +00:00
2023-12-21 21:38:42 +00:00
2024-01-03 14:11:02 +00:00
2024-01-03 14:11:02 +00:00
2024-01-04 11:47:31 +00:00
2024-01-04 11:47:31 +00:00
2024-01-17 13:20:45 +01:00
2024-01-17 13:20:45 +01:00
2024-01-24 13:39:19 +00:00
2024-01-24 13:39:19 +00:00
2024-01-29 19:30:02 -06:00
2024-01-29 19:30:02 -06:00
2024-02-08 17:29:34 +01:00
2024-02-08 17:29:34 +01:00
2024-02-12 15:11:31 +01:00
2024-02-12 15:11:31 +01:00
2024-02-13 07:00:35 +00:00
2024-02-13 07:00:35 +00:00
2024-02-13 09:31:20 -05:00
2024-02-13 09:31:20 -05:00
2024-02-15 13:33:13 +01:00
2024-02-15 13:33:13 +01:00
2024-02-15 11:01:16 -06:00
2024-02-15 11:01:16 -06:00
2024-02-20 13:19:38 -06:00
2024-02-20 13:19:38 -06:00
2024-02-20 14:58:43 -09:00
2025-03-25 12:18:06 +00:00
2024-04-18 18:47:02 -05:00
2024-03-16 10:11:14 -04:00
2024-02-26 23:52:08 +00:00
2024-02-26 23:52:08 +00:00
2024-03-05 14:06:35 -06:00
2024-03-05 14:06:35 -06:00
2024-03-06 09:23:57 -05:00
2024-03-06 09:23:57 -05:00
2024-03-06 18:28:53 +00:00
2024-03-06 18:28:53 +00:00
2024-03-12 14:55:45 +00:00
2024-03-12 14:55:45 +00:00
2024-03-20 10:37:57 -05:00
2024-03-20 10:37:57 -05:00
2024-03-22 18:33:34 +02:00
2024-03-22 18:33:34 +02:00
2024-03-28 14:31:58 +02:00
2024-03-28 14:31:58 +02:00
2024-04-03 13:17:11 -05:00
2024-04-03 13:17:11 -05:00
2024-04-11 10:05:53 +04:00
2024-04-11 10:05:53 +04:00
2024-04-22 17:25:36 -06:00
2024-04-22 17:25:36 -06:00
2024-05-08 15:40:43 -06:00
2024-05-08 15:40:43 -06:00
2024-05-16 13:11:26 -05:00
2024-05-16 13:11:26 -05:00
2024-05-17 12:40:38 -06:00
2024-05-17 12:40:38 -06:00
2024-05-20 13:30:19 +00:00
2024-05-20 13:30:19 +00:00
2024-05-21 13:14:00 -05:00
2024-05-21 13:14:00 -05:00
2024-05-31 10:59:28 -06:00
2024-05-31 10:59:28 -06:00
2024-06-04 09:27:44 -05:00
2024-06-04 09:27:44 -05:00
2024-06-05 11:25:02 -05:00
2024-06-05 11:25:02 -05:00
2024-06-06 10:59:59 -06:00
2024-06-06 10:59:59 -06:00
2024-06-06 16:13:00 -05:00
2024-06-06 16:13:00 -05:00
2024-06-07 14:11:57 -05:00
2024-06-07 14:11:57 -05:00
2024-06-12 12:28:13 -06:00
2024-06-12 12:28:13 -06:00
2024-06-24 14:19:32 -05:00
2024-06-24 14:19:32 -05:00
2024-06-28 09:21:25 +00:00
2024-07-08 15:38:50 +02:00
2024-07-02 09:08:30 -05:00
2024-07-02 09:08:30 -05:00
2024-07-10 16:15:06 +02:00
2024-07-10 16:15:06 +02:00
2024-07-10 10:06:49 -05:00
2024-07-10 10:06:49 -05:00
2024-07-11 10:57:49 +02:00
2024-07-11 10:57:49 +02:00
2024-07-16 10:48:17 +02:00
2024-07-16 10:48:17 +02:00
2024-07-16 13:27:12 -04:00
2024-07-16 13:27:12 -04:00
2024-07-18 15:19:12 +02:00
2024-07-18 15:19:12 +02:00
2024-07-24 13:38:21 -03:00
2024-07-24 13:38:21 -03:00
2024-07-25 12:02:24 +02:00
2024-07-25 12:02:24 +02:00
2024-07-25 15:20:45 +00:00
2024-07-25 15:20:45 +00:00
2024-07-29 11:20:04 -03:00
2024-07-29 11:20:04 -03:00
2024-07-30 15:37:45 +02:00
2024-07-30 15:37:45 +02:00
2024-08-02 11:03:11 +02:00
2024-08-02 11:03:11 +02:00
2024-08-02 10:00:27 +00:00
2024-08-02 10:00:27 +00:00
2024-08-02 14:56:54 +02:00
2024-08-02 14:56:54 +02:00
2024-08-02 12:49:36 -04:00
2024-08-02 12:49:36 -04:00
2024-08-05 16:18:45 +02:00
2024-08-05 16:18:45 +02:00
2024-08-06 11:38:55 -04:00
2024-08-06 11:38:55 -04:00
2024-08-07 11:33:26 +02:00
2024-08-07 11:33:26 +02:00
2024-08-07 12:37:55 -05:00
2024-08-07 12:37:55 -05:00
2024-08-13 09:20:24 -05:00
2024-08-13 09:20:24 -05:00
2024-08-13 12:53:47 -05:00
2024-08-13 12:53:47 -05:00
2024-09-03 13:04:06 +02:00
2024-08-14 14:22:43 -03:00
2024-08-21 11:18:03 +02:00
2024-08-21 11:18:03 +02:00
2024-08-21 12:46:11 +00:00
2024-08-21 12:46:11 +00:00
2024-08-22 13:52:25 +02:00
2024-08-22 13:52:25 +02:00
2024-08-27 14:35:28 +00:00
2024-08-27 14:35:28 +00:00
2024-09-09 14:39:32 +01:00
2024-09-09 14:39:32 +01:00
2024-09-16 20:02:08 +00:00
2024-09-16 20:02:08 +00:00
2024-09-17 18:08:18 +01:00
2024-09-17 18:08:18 +01:00
2024-09-17 19:41:34 -05:00
2024-09-17 19:41:34 -05:00
2024-09-18 09:11:44 +02:00
2024-09-18 09:11:44 +02:00
2024-09-18 11:26:34 +00:00
2024-09-18 11:26:34 +00:00
2024-09-20 01:52:14 +10:00
2024-09-20 01:52:14 +10:00
2024-09-20 14:26:13 +01:00
2024-09-20 14:26:13 +01:00
2024-09-24 10:51:49 +01:00
2024-09-24 10:51:49 +01:00
2024-09-25 17:46:51 +01:00
2024-09-25 17:46:51 +01:00
2024-09-26 13:20:44 -05:00
2024-09-26 13:20:44 -05:00
2024-10-02 09:30:33 -06:00
2024-10-02 09:30:33 -06:00
2024-10-04 11:53:25 +01:00
2024-10-04 11:53:25 +01:00
2024-10-09 17:31:12 -05:00
2024-10-09 17:31:12 -05:00
2024-10-14 12:34:32 +00:00
2024-10-14 12:34:32 +00:00
2024-10-15 21:02:02 +02:00
2024-10-15 21:02:02 +02:00
2024-10-16 21:53:24 +02:00
2024-10-16 21:53:24 +02:00
2024-10-18 09:50:22 -03:00
2024-10-18 09:50:22 -03:00
2024-10-21 16:09:59 +01:00
2024-10-21 16:09:59 +01:00
2024-10-22 13:47:30 +01:00
2024-10-22 13:47:30 +01:00
2024-10-22 09:20:54 -05:00
2024-10-22 09:20:54 -05:00
2024-10-24 13:12:12 +01:00
2024-10-24 13:12:12 +01:00
2024-10-25 17:14:35 +01:00
2024-10-25 17:14:35 +01:00
2024-10-29 09:57:40 +00:00
2024-10-29 09:57:40 +00:00
2024-11-01 14:36:12 +11:00
2024-11-01 14:36:12 +11:00
2024-11-15 11:39:05 +00:00
2024-11-15 11:39:05 +00:00
2024-11-15 11:39:05 +00:00
2024-11-15 11:39:05 +00:00
2024-11-16 21:56:19 +01:00
2024-11-16 21:56:19 +01:00
2024-11-27 20:01:08 +01:00
2024-11-27 20:01:08 +01:00
2024-12-02 21:02:36 +00:00
2024-12-02 21:02:36 +00:00
2024-12-20 13:53:10 +00:00
2024-12-20 13:53:10 +00:00
2025-01-02 12:19:34 +00:00
2025-01-02 12:19:34 +00:00
2025-01-02 15:02:04 -06:00
2025-01-02 15:02:04 -06:00
2025-01-03 11:27:02 +01:00
2025-01-03 11:27:02 +01:00
2025-01-13 13:08:16 +02:00
2025-01-13 13:08:16 +02:00
2025-01-13 15:01:47 +00:00
2025-01-13 15:01:47 +00:00
2025-01-13 15:01:47 +00:00
2025-01-13 15:01:47 +00:00
2025-01-14 16:40:26 +00:00
2025-01-14 16:40:26 +00:00
2025-01-17 11:55:41 -06:00
2025-01-17 11:55:41 -06:00
2025-01-31 13:55:46 +01:00
2025-01-31 13:55:46 +01:00
2025-02-04 18:45:33 +01:00
2025-02-04 18:45:33 +01:00
2025-02-04 19:25:18 +00:00
2025-02-04 19:25:18 +00:00
2025-02-11 13:55:09 +02:00
2025-02-11 13:55:09 +02:00
2025-02-12 14:41:14 +02:00
2025-02-12 14:41:14 +02:00
2025-02-17 13:02:30 +00:00
2025-02-17 13:02:30 +00:00
2025-02-17 16:56:52 +00:00
2025-02-17 16:56:52 +00:00
2025-02-19 13:08:38 +00:00
2025-02-19 13:08:38 +00:00
2025-02-24 12:59:41 -05:00
2025-02-24 12:59:41 -05:00
2025-03-03 10:12:48 +01:00
2025-03-03 10:12:48 +01:00
2025-03-03 10:02:18 -05:00
2025-03-03 10:02:18 -05:00
2026-03-11 10:19:08 -07:00
2025-03-05 10:46:03 -07:00
2025-03-05 23:13:42 +01:00
2025-03-05 23:13:42 +01:00
2025-03-18 13:50:52 +02:00
2025-03-18 13:50:52 +02:00
2025-03-20 14:10:45 +00:00
2025-03-20 14:10:45 +00:00
2025-03-20 19:09:39 +02:00
2025-03-20 19:09:39 +02:00
2025-03-21 13:31:17 +01:00
2025-03-21 13:31:17 +01:00
2025-03-21 16:05:08 +01:00
2025-03-21 16:05:08 +01:00
2025-03-24 10:01:50 -06:00
2025-03-24 10:01:50 -06:00
2025-03-25 11:29:02 +01:00
2025-03-25 11:29:02 +01:00
2025-03-25 12:18:06 +00:00
2025-03-25 12:18:06 +00:00
2025-03-25 12:59:20 +00:00
2025-03-25 12:59:20 +00:00
2025-03-25 15:31:24 -04:00
2025-03-25 15:31:24 -04:00
2025-03-26 15:54:03 +01:00
2025-03-26 15:54:03 +01:00
2025-03-27 10:03:53 +00:00
2025-03-27 10:03:53 +00:00
2025-03-31 10:55:44 -04:00
2025-03-31 10:55:44 -04:00
2025-04-03 10:58:30 +02:00
2025-04-03 10:58:30 +02:00
2025-04-03 10:58:30 +02:00
2025-04-03 10:58:30 +02:00
2025-04-10 13:32:19 +01:00
2025-04-10 13:32:19 +01:00
2025-04-15 10:47:42 +01:00
2025-04-15 10:47:42 +01:00
2025-05-01 13:26:01 -03:00
2025-05-01 13:26:01 -03:00
2025-05-02 17:29:57 +01:00
2025-05-02 17:29:57 +01:00
2025-05-12 13:50:07 -06:00
2025-05-12 13:50:07 -06:00
2025-05-13 00:01:31 +01:00
2025-05-13 00:01:31 +01:00
2025-05-13 13:52:55 +01:00
2025-05-13 13:52:55 +01:00
2025-05-13 20:51:01 +02:00
2025-05-13 20:51:01 +02:00
2025-05-14 14:52:22 +02:00
2025-05-14 14:52:22 +02:00
2025-05-14 12:21:36 -05:00
2025-05-14 12:21:36 -05:00
2025-05-15 15:32:52 +01:00
2025-05-15 15:32:52 +01:00
2025-05-15 17:55:17 -05:00
2025-05-15 17:55:17 -05:00
2025-05-21 15:16:38 -04:00
2025-05-21 15:16:38 -04:00
2025-05-21 15:16:38 -04:00
2025-05-21 15:16:38 -04:00
2025-05-27 11:42:07 -03:00
2025-05-27 11:42:07 -03:00
2025-05-27 13:13:08 -06:00
2025-05-27 13:13:08 -06:00
2025-05-28 14:21:17 +01:00
2025-05-28 14:21:17 +01:00
2025-05-29 08:55:19 -05:00
2025-05-29 08:55:19 -05:00
2025-06-12 12:15:05 -04:00
2025-06-12 12:15:05 -04:00
2025-06-13 15:54:02 +02:00
2025-06-13 15:54:02 +02:00
2025-06-16 16:15:59 -06:00
2025-06-16 16:15:59 -06:00
2025-06-17 16:08:34 +02:00
2025-06-17 16:08:34 +02:00
2025-06-19 13:32:51 +00:00
2025-06-19 13:32:51 +00:00
2025-06-19 11:08:48 -04:00
2025-06-19 11:08:48 -04:00
2025-06-20 14:34:31 -08:00
2025-06-20 14:34:31 -08:00
2025-06-24 12:19:19 +02:00
2025-06-24 12:19:19 +02:00
2025-06-24 10:36:37 +00:00
2025-06-24 10:36:37 +00:00
2025-06-25 13:03:32 +00:00
2025-06-25 13:03:32 +00:00
2025-07-01 15:39:29 +02:00
2025-07-01 15:39:29 +02:00
2025-07-02 15:05:42 +00:00
2025-07-02 15:05:42 +00:00
2025-07-02 16:15:10 +00:00
2025-07-02 16:15:10 +00:00
2025-07-03 18:33:47 +02:00
2025-07-03 18:33:47 +02:00
2025-07-03 19:13:13 +02:00
2025-07-03 19:13:13 +02:00
2025-07-15 14:36:06 +10:00
2025-07-15 14:36:06 +10:00
2025-07-22 13:11:27 +02:00
2025-07-22 13:11:27 +02:00
2025-07-28 15:02:26 +01:00
2025-07-28 15:02:26 +01:00
2025-07-28 20:41:49 -05:00
2025-07-28 20:41:49 -05:00
2025-07-30 13:42:39 -07:00
2025-07-30 13:42:39 -07:00
2025-07-30 17:02:51 -06:00
2025-07-30 17:02:51 -06:00
2025-07-30 19:09:53 -05:00
2025-07-30 19:09:53 -05:00
2025-08-07 11:00:31 +10:00
2025-08-07 06:19:00 +00:00
2025-08-07 15:58:59 -04:00
2025-08-07 15:58:59 -04:00
2025-08-14 09:50:31 -05:00
2025-08-14 09:50:31 -05:00
2025-08-16 01:31:00 +10:00
2025-08-16 01:31:00 +10:00
2025-08-19 10:29:51 +02:00
2025-08-19 10:29:51 +02:00
2025-08-21 07:56:41 -07:00
2025-08-21 07:56:41 -07:00
2025-08-30 03:39:37 +10:00
2025-08-30 03:39:37 +10:00
2025-09-04 13:43:50 -07:00
2025-09-04 13:43:50 -07:00
2025-09-08 08:54:12 +00:00
2025-09-08 08:54:12 +00:00
2025-09-08 13:13:12 +03:00
2025-09-08 13:13:12 +03:00
2025-09-10 10:01:50 +01:00
2025-09-10 10:01:50 +01:00
2025-09-10 11:01:54 -05:00
2025-09-10 11:01:54 -05:00
2025-09-11 15:08:57 +02:00
2025-09-11 15:08:57 +02:00
2025-09-15 12:30:17 +10:00
2025-09-15 12:30:17 +10:00
2025-09-16 21:31:17 +02:00
2025-09-16 21:31:17 +02:00
2025-09-22 19:26:51 +02:00
2025-11-25 21:44:59 -06:00
2025-09-25 13:32:16 +02:00
2025-09-25 13:32:16 +02:00
2025-09-26 11:56:34 +02:00
2025-09-26 11:56:34 +02:00
2025-09-27 00:20:33 +10:00
2025-09-27 00:20:33 +10:00
2025-09-29 13:17:08 +02:00
2025-09-29 13:17:08 +02:00
2025-09-29 16:44:53 +01:00
2025-09-29 16:44:53 +01:00
2025-10-06 12:08:17 +02:00
2025-10-06 12:08:17 +02:00
2025-10-13 12:02:22 +03:00
2025-10-13 12:02:22 +03:00
2025-10-13 12:25:58 +03:00
2025-10-13 12:25:58 +03:00
2025-10-13 12:42:38 +03:00
2025-10-13 12:42:38 +03:00
2025-10-15 16:13:59 +00:00
2025-10-15 16:13:59 +00:00
2025-10-15 16:34:33 +00:00
2025-10-15 16:34:33 +00:00
2025-10-16 10:21:08 +01:00
2025-10-16 10:21:08 +01:00
2025-10-20 18:28:10 -04:00
2025-10-20 18:28:10 -04:00
2025-10-22 16:18:31 +11:00
2025-10-22 16:18:31 +11:00
2025-10-23 13:29:05 +02:00
2025-10-23 13:29:05 +02:00
2025-10-23 19:29:23 +03:00
2025-10-23 19:29:23 +03:00
2025-10-23 15:38:49 -05:00
2025-10-23 15:38:49 -05:00
2025-10-24 11:54:51 +00:00
2025-10-24 11:54:51 +00:00
2025-10-28 03:16:41 +11:00
2025-10-28 03:16:41 +11:00
2025-10-28 14:29:29 +00:00
2025-10-28 14:29:29 +00:00
2025-10-28 17:21:23 +00:00
2025-10-28 17:21:23 +00:00
2025-10-29 15:45:45 +00:00
2025-10-29 15:45:45 +00:00
2025-11-03 13:46:38 +02:00
2025-11-03 13:46:38 +02:00
2025-11-07 12:45:45 +02:00
2025-11-07 12:45:45 +02:00
2025-11-10 13:46:41 +01:00
2025-11-10 13:46:41 +01:00
2025-11-13 14:04:12 -06:00
2025-11-13 14:04:12 -06:00
2025-11-14 18:05:29 +00:00
2025-11-14 18:05:29 +00:00
2025-11-20 17:12:25 +01:00
2025-11-20 17:12:25 +01:00
2025-11-25 13:00:59 +00:00
2025-11-25 13:00:59 +00:00
2026-01-14 05:40:30 +02:00
2026-01-14 05:40:30 +02:00
2025-12-04 17:56:13 +02:00
2025-12-04 17:56:13 +02:00
2025-12-15 08:42:08 -08:00
2025-12-15 08:42:08 -08:00
2026-01-05 07:43:08 -08:00
2026-01-05 07:43:08 -08:00
2026-01-09 11:13:16 -06:00
2026-01-09 11:13:16 -06:00
2026-01-12 18:19:19 -08:00
2026-01-12 18:19:19 -08:00
2026-01-12 18:19:19 -08:00
2026-01-12 18:19:19 -08:00
2026-01-12 18:19:19 -08:00
2026-01-12 18:19:19 -08:00
2026-01-21 12:12:12 +02:00
2026-01-21 12:12:12 +02:00
2026-01-26 14:27:17 +04:00
2026-01-26 14:27:17 +04:00
2026-01-27 13:29:21 -07:00
2026-01-27 13:29:21 -07:00
2026-01-28 08:01:58 +04:00
2026-01-28 08:01:58 +04:00
2026-01-30 17:19:19 +00:00
2026-01-30 17:19:19 +00:00
2026-02-04 15:33:48 +00:00
2026-02-04 15:33:48 +00:00
2026-02-05 14:08:03 +02:00
2026-02-05 14:08:03 +02:00
2026-02-05 14:38:55 -06:00
2026-02-05 14:38:55 -06:00
2026-02-10 16:17:29 -08:00
2026-02-10 16:17:29 -08:00
2026-02-17 15:43:02 +01:00
2026-02-17 15:43:02 +01:00
2026-02-18 16:30:16 +00:00
2026-02-18 16:30:16 +00:00
2026-02-23 12:18:44 +01:00
2026-02-23 12:18:44 +01:00
2026-02-23 22:46:17 -06:00
2026-02-23 22:46:17 -06:00
2026-02-27 16:50:56 +00:00
2026-02-27 16:50:56 +00:00
2026-02-27 16:46:19 -05:00
2026-02-27 16:46:19 -05:00
2026-02-28 12:27:26 -05:00
2026-02-28 12:27:26 -05:00
2026-02-28 16:46:51 -05:00
2026-02-28 16:46:51 -05:00
2026-03-03 21:04:41 +02:00
2026-03-03 21:04:41 +02:00
2026-03-05 13:40:53 -07:00
2026-03-05 13:40:53 -07:00
2026-03-06 14:43:53 +02:00
2026-03-06 14:43:53 +02:00
2026-03-06 21:05:26 +02:00
2026-03-06 21:05:26 +02:00
2026-03-10 13:55:33 +00:00
2026-03-10 13:55:33 +00:00
2026-03-11 10:00:38 -04:00
2026-03-11 10:00:38 -04:00
2026-03-11 11:50:45 -04:00
2026-03-11 11:50:45 -04:00
2026-03-11 10:19:08 -07:00
2026-03-11 10:19:08 -07:00
2026-03-13 16:47:36 +00:00
2026-03-13 16:47:36 +00:00
2026-03-13 18:30:49 +01:00
2026-03-13 18:30:49 +01:00
2026-03-13 19:49:34 +01:00
2026-03-13 19:49:34 +01:00
2026-03-13 18:54:07 -04:00
2026-03-13 18:54:07 -04:00
2026-03-14 17:24:19 +00:00
2026-03-14 17:24:19 +00:00
2026-03-16 11:53:20 -05:00
2026-03-16 11:53:20 -05:00
2026-03-16 15:30:25 -05:00
2026-03-16 15:30:25 -05:00
2026-03-17 01:24:03 +01:00
2026-03-17 01:24:03 +01:00
2026-03-17 11:41:10 +00:00
2026-03-17 11:41:10 +00:00
2026-03-17 12:16:43 -07:00
2026-03-17 12:16:43 -07:00
2026-03-18 09:30:22 -05:00
2026-03-18 09:30:22 -05:00
2026-03-18 15:29:29 +00:00
2026-03-18 15:29:29 +00:00
2026-03-18 14:37:09 -04:00
2026-03-18 14:37:09 -04:00
2026-03-19 14:07:36 +00:00
2026-03-19 14:07:36 +00:00
2026-03-23 12:42:50 -06:00
2026-03-23 12:42:50 -06:00
2026-03-24 08:58:47 +02:00
2026-03-24 08:58:47 +02:00
2026-03-24 14:57:40 +01:00
2026-03-24 14:57:40 +01:00
2026-03-25 17:26:26 +00:00
2026-03-25 17:26:26 +00:00
2026-03-26 17:22:38 +11:00
2026-03-26 17:22:38 +11:00
2026-03-26 16:52:02 -04:00
2026-03-26 16:52:02 -04:00
2026-03-27 14:23:25 +00:00
2026-03-27 14:23:25 +00:00
2026-03-27 12:15:04 -04:00
2026-03-27 12:15:04 -04:00
2026-03-30 14:11:30 -04:00
2026-03-30 14:11:30 -04:00
2026-03-31 10:07:21 +01:00
2026-03-31 10:07:21 +01:00
2026-04-02 10:58:13 +01:00
2026-04-02 10:58:13 +01:00
2026-05-22 09:50:01 +02:00
2026-04-02 19:46:42 +02:00
2026-04-02 15:40:32 -06:00
2026-04-02 15:40:32 -06:00
2026-04-03 16:27:31 +02:00
2026-04-03 16:27:31 +02:00
2026-04-07 12:05:29 +01:00
2026-04-07 12:05:29 +01:00
2026-04-08 11:54:44 -04:00
2026-04-08 11:54:44 -04:00
2026-04-08 13:24:28 -04:00
2026-04-08 13:24:28 -04:00
2026-04-09 16:33:00 +02:00
2026-04-09 16:33:00 +02:00
2026-04-10 17:13:19 +00:00
2026-04-10 17:13:19 +00:00
2026-04-13 12:31:25 +01:00
2026-04-13 12:31:25 +01:00
2026-04-13 15:06:06 +02:00
2026-04-13 15:06:06 +02:00
2026-04-16 11:12:01 +02:00
2026-04-16 11:12:01 +02:00
2026-04-16 23:57:05 +10:00
2026-04-16 23:57:05 +10:00
2026-04-17 13:40:17 +02:00
2026-04-17 13:40:17 +02:00
2026-04-21 11:11:56 +01:00
2026-04-21 11:11:56 +01:00
2026-04-21 11:10:17 +00:00
2026-04-21 11:10:17 +00:00
2026-05-22 09:50:01 +02:00
2026-04-22 19:34:34 +10:00
2026-04-23 17:59:42 +01:00
2026-04-23 17:59:42 +01:00
2026-04-23 18:36:20 +01:00
2026-04-23 18:36:20 +01:00
2026-04-24 14:18:28 +01:00
2026-04-24 14:18:28 +01:00
2026-04-24 14:49:11 +00:00
2026-04-24 14:49:11 +00:00
2026-04-26 14:49:10 -07:00
2026-04-26 14:49:10 -07:00
2026-04-28 08:56:36 +01:00
2026-04-28 08:56:36 +01:00
2026-04-29 12:57:47 -06:00
2026-04-29 12:57:47 -06:00
2026-04-30 12:29:35 +02:00
2026-04-30 12:29:35 +02:00
2026-05-01 15:00:08 -05:00
2026-05-01 15:00:08 -05:00
2026-05-03 11:31:48 -04:00
2026-05-03 11:31:48 -04:00
2026-05-05 12:56:06 +10:00
2026-05-05 12:56:06 +10:00
2026-05-05 10:56:39 -06:00
2026-05-05 10:56:39 -06:00
2026-05-05 22:37:13 +02:00
2026-05-05 22:37:13 +02:00
2026-05-06 16:43:35 +02:00
2026-05-06 16:43:35 +02:00
2026-05-08 16:45:14 -04:00
2026-05-08 16:45:14 -04:00
2026-05-11 09:07:30 -06:00
2026-05-11 09:07:30 -06:00
2026-05-12 08:54:53 -04:00
2026-05-12 08:54:53 -04:00
2026-05-12 16:20:25 -04:00
2026-05-12 16:20:25 -04:00
2026-05-13 11:06:42 -04:00
2026-05-13 11:06:42 -04:00
2026-05-14 12:43:12 +02:00
2026-05-14 12:43:12 +02:00
2026-05-14 16:10:46 +02:00
2026-05-14 16:10:46 +02:00
2026-05-14 17:18:50 +01:00
2026-05-14 17:18:50 +01:00
2026-05-14 15:54:37 -04:00
2026-05-14 15:54:37 -04:00
2026-05-18 08:33:29 -04:00
2026-05-18 08:33:29 -04:00
2026-06-01 13:30:45 +00:00
2026-06-01 13:30:45 +00:00
2026-05-18 15:17:20 -04:00
2026-05-18 15:17:20 -04:00
2026-05-18 22:32:05 +01:00
2026-05-18 22:32:05 +01:00
2026-05-20 00:09:09 +02:00
2026-05-20 00:09:09 +02:00
2026-05-22 02:16:01 +02:00
2026-05-22 02:16:01 +02:00
2026-05-22 09:50:01 +02:00
2026-05-22 02:16:01 +02:00
2026-05-22 09:50:01 +02:00
2026-05-22 09:50:01 +02:00
2026-05-22 16:10:37 +02:00
2026-05-22 16:10:37 +02:00
2026-05-25 11:14:36 +02:00
2026-05-25 11:14:36 +02:00
2026-05-26 19:31:52 +00:00
2026-05-26 19:31:52 +00:00
2026-05-26 14:42:31 -06:00
2026-05-26 14:42:31 -06:00
2026-05-29 16:49:25 +10:00
2026-05-29 16:49:25 +10:00
2026-05-29 12:50:39 +02:00
2026-05-29 12:50:39 +02:00
2026-05-29 12:50:39 +02:00
2026-05-29 12:50:39 +02:00
2026-05-29 10:08:25 -04:00
2026-05-29 10:08:25 -04:00
2026-06-02 09:28:43 +02:00
2026-06-02 09:28:43 +02:00
2026-06-02 08:36:01 -06:00
2026-06-02 08:36:01 -06:00
2026-06-05 14:33:13 -05:00
2026-06-05 14:33:13 -05:00
2026-06-10 00:29:06 +00:00
2026-06-10 00:29:06 +00:00
2026-06-10 13:40:50 -04:00
2026-06-10 13:40:50 -04:00
2026-06-12 13:33:12 +02:00
2026-06-12 13:33:12 +02:00
2026-06-15 12:34:16 +02:00
2026-06-15 12:34:16 +02:00
2026-06-15 11:32:29 +00:00
2026-06-15 11:32:29 +00:00
2026-06-15 09:38:52 -07:00
2026-06-15 09:38:52 -07:00
2026-06-15 14:41:00 -07:00
2026-06-15 14:41:00 -07:00
2026-06-16 20:09:00 +00:00
2026-06-16 20:09:00 +00:00
2026-06-16 14:28:57 -07:00
2026-06-16 14:28:57 -07:00
2026-06-18 20:50:17 +02:00
2026-06-18 20:50:17 +02:00
2026-06-18 20:17:37 +00:00
2026-06-18 20:17:37 +00:00
2026-06-22 10:59:43 -05:00
2026-06-22 10:59:43 -05:00
2026-06-22 19:26:34 -06:00
2026-06-22 19:26:34 -06:00
2026-06-24 15:04:04 -04:00
2026-06-24 15:04:04 -04:00
2026-06-26 18:16:01 +02:00
2026-06-26 18:16:01 +02:00
2026-06-26 18:45:37 +02:00
2026-06-26 18:45:37 +02:00
2026-06-26 11:59:00 -07:00
2026-06-26 11:59:00 -07:00
2026-07-01 15:59:55 +03:00
2026-07-01 15:59:55 +03:00
2026-07-01 21:24:42 -05:00
2026-07-01 21:24:42 -05:00
2026-07-02 16:29:25 +01:00
2026-07-02 16:29:25 +01:00
2026-07-06 09:29:07 +02:00
2026-07-06 09:29:07 +02:00
2026-07-06 13:15:58 +01:00
2026-07-06 13:15:58 +01:00
2026-07-06 23:00:09 +01:00
2026-07-06 23:00:09 +01:00
2026-07-07 09:18:30 -07:00
2026-07-07 09:18:30 -07:00
2026-07-09 15:06:44 +02:00
2026-07-09 15:06:44 +02:00
2026-07-09 23:35:12 +01:00
2026-07-09 23:35:12 +01:00
2026-07-13 20:28:28 +02:00
2026-07-13 20:28:28 +02:00
2026-07-16 11:43:05 +00:00
2026-07-16 11:43:05 +00:00
2026-07-16 15:21:57 +01:00
2026-07-16 15:21:57 +01:00
2026-07-18 20:45:13 +02:00
2026-07-18 20:45:13 +02:00
2026-07-20 00:14:03 +02:00
2026-07-20 00:14:03 +02:00
2026-07-20 19:49:19 +02:00
2026-07-20 19:49:19 +02:00
2026-07-21 10:58:08 +02:00
2026-07-21 10:58:08 +02:00
2026-07-21 14:34:23 +02:00
2026-07-21 14:34:23 +02:00
2026-07-23 16:36:23 +01:00
2026-07-23 16:36:23 +01:00
2026-07-27 12:09:21 -04:00
2026-07-27 12:09:21 -04:00
2026-07-27 17:02:28 -04:00
2026-07-27 17:02:28 -04:00
2026-07-28 10:58:38 +01:00
2026-07-28 10:58:38 +01:00
2026-07-28 11:35:36 +00:00
2026-07-28 11:35:36 +00:00
2026-07-28 09:58:33 -06:00
2026-07-28 09:58:33 -06:00
2026-07-28 15:30:12 -05:00
2026-07-28 15:30:12 -05:00
2026-07-28 16:59:33 -07:00
2026-07-28 16:59:33 -07:00
2026-07-29 07:17:42 +00:00
2026-07-29 07:17:42 +00:00
2026-07-29 14:04:59 +02:00
2026-07-29 14:04:59 +02:00
2026-07-30 08:37:45 +01:00
2026-07-30 08:37:45 +01:00
2026-08-05 10:41:06 -07:00
2026-08-05 10:41:06 -07:00
2026-08-06 14:04:23 +10:00
2026-08-06 14:04:23 +10:00
2026-08-06 14:35:37 +10:00
2026-08-06 14:35:37 +10:00
2026-08-10 10:49:02 -07:00
2026-08-10 10:49:02 -07:00
2026-08-10 10:49:02 -07:00
2026-08-10 10:49:02 -07:00
2023-12-08 21:59:53 +00:00
2025-03-06 12:21:14 +02:00
2026-08-10 10:49:02 -07:00
2026-03-10 15:51:46 +00:00
2023-12-01 16:11:10 -06:00