fix(align): review round 1 for the alignment page
- server: collapse leading slashes so //host/x is never proxied off-host or redirected cross-origin; 1 MB body limit; max 10k anchors; a corrupt alignment.json no longer 500s /api/songs (song falls back to auto with a warning); comments on cookie scope and the loopback inner server - warp (ruling A6): adding/moving a manual anchor removes autos only within 10 s (MIDI) of the new/old position, never past a manual, plus any auto that would break audio monotonicity - page: first anchor clamped at >= 0 s; ruler scrubbing seeks on release; wording for the new auto-removal rule; removed-count excludes the dragged anchor; shows server warnings - manifest: unique tmp name for alignment.json; clear error for a corrupt file - resample test: speed asserted as a ratio to the direct path Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
894fd9b9ef
commit
f0249995cf
10 files changed
+192
-45
No files matched your search
@@ -16,6 +16,9 @@ describe("dragAudio (recording end)", () => {
|
||||
expect(dragAudio(base, 1, 5).anchors[1]!.audioSec).toBeCloseTo(11 + MIN_GAP_SEC, 9);
|
||||
expect(dragAudio(base, 1, 99).anchors[1]!.audioSec).toBeCloseTo(32 - MIN_GAP_SEC, 9);
|
||||
});
|
||||
test("the first anchor cannot be dragged before the start of the recording", () => {
|
||||
expect(dragAudio(base, 0, -3).anchors[0]!.audioSec).toBe(0);
|
||||
});
|
||||
test("dragging an auto anchor makes it manual and drops the autos in its stretches", () => {
|
||||
const list = [m(0, 0), a(5, 5.2), a(10, 10.3), a(15, 15.1), m(20, 20)];
|
||||
const r = dragAudio(list, 2, 10.5);
|
||||
|
||||
Reference in new issue
Block a user