Linus Rath
f716ea66ee
fix: ask before a share starts a message and save nothing until the first edit
...
Any site could POST a form to the share target on load: with no clicks
the composer opened with its subject and file, and autosave stored a
real draft on the server 2 seconds later. The worker can't see where a
POST came from, and Chromium's link capturing accepts form submissions,
so an installed-app window proves nothing either.
- every share landing now asks first, in every window and browser; a
text landing address gets the same question. Nothing goes up before
the answer.
- handed-in text and files are the composer's starting state: no
autosave, page-close save or sign-out flush before the first real
edit.
- the worker ignores frames, keeps at most 5 entries and 100 MB for 15
minutes, sweeps on activate, on each share and from a page timer,
and seals what it keeps with a key passed in the landing fragment.
Offline wipes clear it too.
- the server fallback uses the fragment and caps by encoded length:
3000 Japanese characters made a 27 KB `Location` and a 431.
- a second compose handoff waits until the composer closes, also one
set aside by reading a message, where it used to replace the first.
- a launch leaving the mail page saves what was just typed first.
- an expired handoff or a missing stored file now says so; shares get
the control-character stripping and limits of `parseMailto`.
Existing tests changed because the landing moved from the query to the
fragment, stored entries gained a sealed part, and a share now asks
first.
2026-11-03 07:08:38 +01:00
..
2026-10-16 20:48:28 +02:00
2026-10-16 20:48:28 +02:00
2026-10-31 01:50:03 +01:00
2026-10-29 18:02:59 +01:00
2026-11-01 07:09:25 +01:00
2026-11-02 22:52:04 +01:00
2026-11-03 01:36:12 +01:00
2026-10-14 03:44:33 +02:00
2026-11-03 07:08:38 +01:00
2026-10-14 03:44:33 +02:00
2026-11-01 06:48:01 +01:00
2026-10-30 14:28:21 +02:00
2026-11-01 18:00:10 +02:00
2026-10-19 16:33:27 +02:00
2026-10-28 06:30:27 +01:00
2026-11-01 10:51:54 +01:00
2026-11-02 22:52:04 +01:00
2026-10-28 05:09:03 +01:00
2026-11-02 11:05:17 +08:00
2026-10-31 01:50:03 +01:00
2026-10-15 23:54:39 +02:00
2026-11-02 11:05:17 +08:00
2026-11-02 11:05:17 +08:00
2026-10-14 03:45:12 +02:00
2026-10-18 14:39:07 +02:00
2026-10-24 22:13:19 +02:00
2026-10-28 10:07:39 +01:00
2026-10-14 03:44:33 +02:00
2026-10-14 03:44:33 +02:00
2026-11-02 11:05:17 +08:00
2026-10-14 03:44:33 +02:00
2026-11-03 01:54:32 +01:00
2026-11-03 01:54:32 +01:00
2026-11-03 01:54:32 +01:00
2026-11-03 01:54:32 +01:00
2026-10-17 19:18:23 +02:00
2026-10-17 19:17:52 +02:00
2026-11-02 11:05:17 +08:00
2026-10-26 12:26:57 +01:00
2026-10-14 03:44:33 +02:00
2026-11-02 20:23:58 +01:00
2026-11-01 03:27:49 +01:00
2026-10-30 14:28:21 +02:00
2026-10-14 03:44:33 +02:00
2026-11-02 19:46:00 +01:00
2026-11-01 10:09:20 +01:00
2026-10-14 03:44:33 +02:00
2026-10-28 04:48:12 +01:00
2026-10-31 14:15:06 +01:00
2026-10-14 03:44:33 +02:00
2026-10-14 03:44:33 +02:00
2026-10-28 04:06:05 +01:00
2026-11-01 20:15:52 +01:00
2026-11-02 22:06:02 +01:00
2026-10-28 07:13:34 +01:00
2026-10-28 07:42:24 +01:00
2026-10-14 03:44:33 +02:00
2026-10-15 14:56:14 +02:00
2026-10-31 15:16:17 +02:00
2026-06-15 15:06:35 +02:00
2026-10-29 17:53:59 +01:00
2026-10-29 21:08:59 +01:00
2026-10-11 20:07:46 +02:00
2026-10-02 23:04:28 +02:00
2026-10-12 01:45:35 +02:00
2026-10-31 01:16:34 +01:00
2026-10-17 19:18:25 +02:00
2026-10-28 08:58:19 +01:00
2026-10-28 04:48:13 +01:00
2026-10-28 15:14:34 +01:00
2026-10-12 01:01:09 +02:00
2026-10-31 01:47:00 +01:00
2026-10-11 20:07:05 +02:00
2026-10-28 06:48:00 +01:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-28 09:08:44 +01:00
2026-10-31 15:57:34 +01:00
2026-10-14 03:44:33 +02:00
2026-10-28 04:18:11 +01:00
2026-10-28 05:11:24 +01:00
2026-10-28 05:09:35 +01:00
2026-10-14 19:44:54 +02:00
2026-09-07 16:58:54 +08:00
2026-10-31 01:38:17 +01:00
2026-10-28 19:26:44 +01:00
2026-10-15 00:41:07 +02:00
2026-10-28 05:48:50 +01:00
2026-10-28 19:26:44 +01:00
2026-10-28 07:42:24 +01:00
2026-10-29 18:02:57 +01:00
2026-10-29 19:38:45 +01:00
2026-10-28 05:16:07 +01:00
2026-10-29 18:02:59 +01:00
2026-10-31 01:26:58 +01:00
2026-10-31 16:21:40 +01:00
2026-10-12 01:16:15 +02:00
2026-10-31 16:31:17 +01:00
2026-10-31 02:28:55 +01:00
2026-10-18 14:39:58 +02:00
2026-11-01 05:55:48 +01:00
2026-10-13 13:57:30 +02:00
2026-10-28 03:11:43 +01:00
2026-11-01 07:07:30 +01:00
2026-11-01 07:14:10 +01:00
2026-10-27 23:03:41 +01:00
2026-09-30 20:00:01 +02:00
2026-10-28 08:16:52 +01:00
2026-10-31 15:57:34 +01:00
2026-10-29 14:11:34 +01:00
2026-11-02 20:26:21 +01:00
2026-10-11 20:26:43 +02:00
2026-10-19 01:15:39 +02:00
2026-10-26 19:30:18 +01:00
2026-10-31 23:28:20 +01:00
2026-11-02 23:54:53 +01:00
2026-10-20 17:21:12 +02:00
2026-10-29 17:53:59 +01:00
2026-09-24 23:07:15 -03:00
2026-11-01 05:35:29 +01:00
2026-10-14 03:44:33 +02:00
2026-10-14 03:44:33 +02:00
2026-10-19 00:47:05 +02:00
2026-10-14 03:44:33 +02:00
2026-10-21 16:54:29 +02:00
2026-11-01 06:42:46 +01:00
2026-11-01 07:08:45 +01:00
2026-10-31 17:32:24 +01:00
2026-10-28 05:38:39 +01:00
2026-10-31 16:55:10 +01:00
2026-10-29 11:00:58 +01:00
2026-11-01 09:42:19 +01:00
2026-10-29 17:53:43 +01:00
2026-10-13 16:58:19 +02:00
2026-10-29 10:01:12 +01:00
2026-10-28 04:48:11 +01:00
2026-10-29 14:14:41 +01:00
2026-10-29 10:01:12 +01:00
2026-09-30 13:52:41 +02:00
2026-11-03 00:17:45 +01:00
2026-10-28 03:37:59 +01:00
2026-07-04 15:00:15 +02:00
2026-10-17 19:17:54 +02:00
2026-10-30 05:46:11 +01:00
2026-10-30 05:40:16 +01:00
2026-10-29 19:38:45 +01:00
2026-10-28 06:18:53 +01:00
2026-11-02 20:26:21 +01:00
2026-10-29 17:53:35 +01:00
2026-11-01 09:51:00 +01:00
2026-10-17 19:17:56 +02:00
2026-10-26 11:22:10 +01:00
2026-10-31 15:57:34 +01:00
2026-10-18 17:37:21 +02:00
2026-10-31 15:57:34 +01:00
2026-10-31 15:57:34 +01:00
2026-10-15 02:59:20 +02:00
2026-10-26 16:11:52 +01:00
2026-10-15 02:29:24 +02:00
2026-10-28 09:08:44 +01:00
2026-11-01 08:31:27 +01:00
2026-10-28 04:48:13 +01:00
2026-10-29 20:06:15 +01:00
2026-10-31 23:35:54 +01:00
2026-11-01 09:51:00 +01:00
2026-11-03 00:33:59 +01:00
2026-09-25 21:57:11 +02:00
2026-10-28 07:42:24 +01:00
2026-10-15 00:58:45 +02:00
2026-11-02 23:54:53 +01:00
2026-10-14 05:44:35 +02:00
2026-11-03 03:30:33 +01:00
2026-10-26 11:22:10 +01:00
2026-11-02 22:52:03 +01:00
2026-10-28 05:23:25 +01:00
2026-11-01 18:18:48 +01:00
2026-10-29 20:06:15 +01:00
2026-10-28 08:16:47 +01:00
2026-10-29 17:53:44 +01:00
2026-10-15 06:21:25 +02:00
2026-11-03 01:35:57 +01:00