This website requires JavaScript.
8ab59fc1bb
chore(backup): ship takeone:backup command + nightly scheduler entry
master
ghassan and Claude Opus 4.7
2026-10-21 13:14:21 +03:00
e76ac39f99
feat(shorts): single reused <video> element + 1-2 next preloaded
ghassan and Claude Opus 4.7
2026-10-21 12:54:08 +03:00
c59b36ebf7
chore(match-css): remove two blocks of dead cascade-overridden CSS
ghassan and Claude Opus 4.7
2026-10-21 12:50:48 +03:00
8fef257c86
test(live): 7 tests for the Live polish work
ghassan and Claude Opus 4.7
2026-10-21 12:45:47 +03:00
5bf1128196
feat(live): polish — ended-state, chat, viewer actions, Private option
ghassan and Claude Opus 4.7
2026-10-21 12:41:56 +03:00
639279f2a2
test(deferred): coverage for the bulk deferred-items cleanup
ghassan and Claude Opus 4.7
2026-10-21 12:37:15 +03:00
8c6746e547
feat(studio): /studio content table + bulk visibility / bulk delete
ghassan and Claude Opus 4.7
2026-10-21 12:35:47 +03:00
45505e6419
fix(shorts): wire shortOpenComments / shortCloseComments
ghassan and Claude Opus 4.7
2026-10-21 12:34:15 +03:00
59513f2051
feat(shorts): comments side panel (desktop) / bottom sheet (mobile)
ghassan and Claude Opus 4.7
2026-10-21 12:33:51 +03:00
677e8711dd
feat(channel): /@handle/{tab} aliases + cursor pagination on Videos tab
ghassan and Claude Opus 4.7
2026-10-21 12:33:05 +03:00
f7c3b236ab
feat(auth): guest Subscribe shows prompt + preserves intended URL
ghassan and Claude Opus 4.7
2026-10-21 12:31:55 +03:00
e550d8d15b
feat(player): C hotkey toggles the lyrics overlay
ghassan and Claude Opus 4.7
2026-10-21 12:31:25 +03:00
7ba272edf6
feat(player): end screen + 5s autoplay countdown
ghassan and Claude Opus 4.7
2026-10-21 12:31:01 +03:00
4d9bc0f501
feat(engagement): video dislike + creator heart + creator pin
ghassan and Claude Opus 4.7
2026-10-21 12:18:17 +03:00
73de5bc97e
test(polish): match channel row, nested-reply, cursor paginator, hotkeys
ghassan and Claude Opus 4.7
2026-10-21 12:11:08 +03:00
341e94a4f8
perf(user): cursor + simple pagination on /liked and /history
ghassan and Claude Opus 4.7
2026-10-21 12:09:00 +03:00
574c9581bb
feat(player): shift+. / shift+, keyboard shortcuts for playback rate
ghassan and Claude Opus 4.7
2026-10-21 12:08:05 +03:00
22d6b1507d
feat(watch): match channel row, read-more clamp, nested-reply @prefill
ghassan and Claude Opus 4.7
2026-10-21 12:07:23 +03:00
5aef41201a
test(admin): pagination controls, HTML strip, Ready label
ghassan and Claude Opus 4.7
2026-10-21 12:03:22 +03:00
5adafc7616
feat(admin): DB-driven storage sum + grouped error log viewer
ghassan and Claude Opus 4.7
2026-10-21 12:02:03 +03:00
05ccb45fe4
feat(admin): strip HTML in video list + First/Last pagination
ghassan and Claude Opus 4.7
2026-10-21 12:01:04 +03:00
b7f3f6989b
test: rewind output-buffer stack in tearDown to clear risky warnings
ghassan and Claude Opus 4.7
2026-10-21 11:58:12 +03:00
0e8bcfd47b
test: fix ExampleTest — add RefreshDatabase and point at :memory:
ghassan and Claude Opus 4.7
2026-10-21 11:57:11 +03:00
8e719be105
test(phase-7): skip link, icon aria-labels, age gate, 404 branding
ghassan and Claude Opus 4.7
2026-10-21 10:55:03 +03:00
7dd92aaeb2
feat(a11y,admin): skip link, aria-labels, Ready label, title + age fixes
ghassan and Claude Opus 4.7
2026-10-21 10:53:23 +03:00
1b2377f20f
test(phase-6): channel handle, preview mode, playlist meta
ghassan and Claude Opus 4.7
2026-10-21 10:41:25 +03:00
e939dd3a53
feat(channel): /@handle route + hide composer in preview mode
ghassan and Claude Opus 4.7
2026-10-21 10:37:59 +03:00
d5d35ab85e
fix(channel): pluralise video counts, hide stray "0.0" from playlist meta
ghassan and Claude Opus 4.7
2026-10-21 10:37:01 +03:00
8812aaf336
test(phase-5): shorts deep-link, home shelf, branded 404
ghassan and Claude Opus 4.7
2026-10-21 10:33:58 +03:00
dd6091d0e4
feat(errors): branded 404 page
ghassan and Claude Opus 4.7
2026-10-21 10:31:52 +03:00
c3955c4a7c
feat(home): Shorts shelf above the main feed
ghassan and Claude Opus 4.7
2026-10-21 10:31:27 +03:00
9e613c05d2
feat(shorts): /shorts/{id} deep-link + URL sync + persistent mute + wheel nav
ghassan and Claude Opus 4.7
2026-10-21 10:30:42 +03:00
646d3e9d2a
feat(watch): anchor Up Next cards everywhere + Phase 4 tests
ghassan and Claude Opus 4.7
2026-10-21 10:24:41 +03:00
36295fcd6a
fix(description): render leaked markdown headers instead of showing raw
ghassan and Claude Opus 4.7
2026-10-21 10:21:17 +03:00
9eb9535c83
fix(audio): dedupe language menu by (lang, label)
ghassan and Claude Opus 4.7
2026-10-21 10:20:44 +03:00
4581870517
feat(comments): ?lc= permalink + top-level vs reply counts
ghassan and Claude Opus 4.7
2026-10-21 10:20:10 +03:00
36061d1561
feat(watch): weighted Up Next + real <a> cards
ghassan and Claude Opus 4.7
2026-10-21 10:18:37 +03:00
d1fd76c278
fix(admin): dashboard country-chart blade parse error
ghassan and Claude Opus 4.7
2026-10-21 10:12:32 +03:00
a2752643e9
test(phase-3): feeds/search/trending regression coverage
ghassan and Claude Opus 4.7
2026-10-21 10:11:01 +03:00
45b5f586ba
feat(search): /search?q= across videos, channels and playlists
ghassan and Claude Opus 4.7
2026-10-21 10:09:40 +03:00
6b2a67c4cd
fix(filter-bar): rename 'New to You' to 'Recent', add aria-current
ghassan and Claude Opus 4.7
2026-10-21 10:07:44 +03:00
4b21886cb9
fix(scoreboard): drop 'CLUB LOGO' / 'FLAG' placeholder text
ghassan and Claude Opus 4.7
2026-10-21 10:07:16 +03:00
133ab6e623
fix(feeds): trending windows 24/168/720, music newest-first, channel popular tiebreak
ghassan and Claude Opus 4.7
2026-10-21 10:06:54 +03:00
a25af30700
fix(channel): grid, scoreboard thumb, sort hash, visitor privacy
ghassan and Claude Opus 4.7
2026-10-21 10:03:39 +03:00
d9f97a672e
chore(tests): hard-isolate the test DB so it can never hit the live file
ghassan and Claude Opus 4.7
2026-10-21 09:26:49 +03:00
fa4e09ad62
test(phase-2): perf and DOM regression tests + delete 300 lines of dead CSS
ghassan and Claude Opus 4.7
2026-10-21 00:54:55 +03:00
8aa08e705a
perf(comments): lazy-render top-level reply forms
ghassan and Claude Opus 4.7
2026-10-21 00:52:13 +03:00
8fdac4b483
perf(feeds): cursor-paginated infinite scroll on /videos
ghassan and Claude Opus 4.7
2026-10-21 00:50:59 +03:00
73620a0f24
perf(video-card): strip dead per-card edit modal, tighten owner menu
ghassan and Claude Opus 4.7
2026-10-21 00:49:33 +03:00
4718888de0
test(phase-1): feature coverage for security + data-integrity fixes
ghassan and Claude Opus 4.7
2026-10-21 00:44:58 +03:00
c7d2f25ef6
feat(views): skip owner views, 30-minute device dedupe
ghassan and Claude Opus 4.7
2026-10-21 00:38:59 +03:00
48c947d171
feat(cli): comments:dedupe cleanup command
ghassan and Claude Opus 4.7
2026-10-21 00:38:34 +03:00
c9123bc7b8
feat(comments): 60s dedupe window + idempotency key
ghassan and Claude Opus 4.7
2026-10-21 00:38:03 +03:00
3122420a3d
feat(auth): tighten login throttle and alert on brute force
ghassan and Claude Opus 4.7
2026-10-21 00:37:22 +03:00
76584651a6
feat(cli): app:resend-verification command
ghassan and Claude Opus 4.7
2026-10-21 00:36:45 +03:00
1cefc6ad2d
feat(mail): make notification failures non-fatal
ghassan and Claude Opus 4.7
2026-10-21 00:35:41 +03:00
a1493462f7
feat(auth): block reserved identifiers at sign-up
ghassan and Claude Opus 4.7
2026-10-21 00:34:32 +03:00
56b6a83b34
docs: audit remediation plan (7 phases)
ghassan and Claude Opus 4.7
2026-10-21 00:33:10 +03:00
5058eaff2f
Fix video merge losing images, audio tracks, and lyrics
ghassan and Claude Opus 4.7
2026-10-02 12:18:49 +03:00
468820c9fe
Unify upload/edit modal track-form + fix slide cropper hang & reorder loss
ghassan and Claude Opus 4.7
2026-10-02 12:18:35 +03:00
2d33e39b9b
Add AI translation for comments and video descriptions
ghassan and Claude Opus 4.7
2026-10-02 12:18:20 +03:00
20c8fdcdf3
Video pages: stack Up Next below the video under 1300px
ghassan and Claude Opus 5
2026-08-24 10:22:16 +03:00
9f82d3cf31
Match capture strips: freeze video on every scrubber interaction
ghassan and Claude Opus 4.7
2026-08-11 13:48:34 +03:00
3e18bd2150
Match videos: composed VS-card OG preview + richer share metadata
ghassan and Claude Opus 4.7
2026-08-11 12:34:40 +03:00
665bad76bf
Match cards: composed title, header stage from match title, equal-sized grid
ghassan and Claude Opus 4.7
2026-08-11 09:14:25 +03:00
04d63cccdb
VS intro screen (arena design), card VS mini + live scorebar, full country names, sports-match edit fix
ghassan and Claude Opus 4.7
2026-08-10 18:34:31 +03:00
5b6bd86d70
Video player: lock frame to strict 16:9 at all times
ghassan and Claude Opus 4.7
2026-08-10 13:39:15 +03:00
b05ff14b3b
Fullscreen highlights drawer: keep scoreboard visible, don't hide feed; scrollable gear menu; remove slowmo picker + scrim tint
ghassan and Claude Opus 4.7
2026-08-10 00:19:18 +03:00
5d038488fb
Merge professional-match-overly: match scoreboard overlay + gear-menu toggles + cropper rewrite + sports metadata fixes
ghassan
2026-08-09 23:49:09 +03:00
2b5e480c9a
Remove VS screen; fix cropper + sports edit save + headshot/logo mapping
ghassan and Claude Opus 4.7
2026-08-09 23:47:59 +03:00
19741f489b
Match scoreboard overlay: identity/ticker/scorebar/timeline + VS intro + gear-menu toggles
ghassan and Claude Opus 4.7
2026-08-09 22:09:04 +03:00
ed921a4ccf
Merge mobile-view-match-highlights: frame-accurate scrubbing, mobile UX, collapsed action menu
ghassan
2026-08-09 02:27:48 +03:00
1c4e4986b5
Frame-accurate scrubbing + mobile highlights UX + collapsed action menu
ghassan and Claude Opus 4.7
2026-08-09 02:26:19 +03:00
55247828e1
Merge coach-review: in-player review capture strip, draggable overlay, timeline UI, SPA re-hydration
ghassan
2026-08-08 07:21:20 +03:00
cba8e01d56
Match videos: full re-hydration on Up Next SPA navigation
ghassan and Claude Opus 4.7
2026-08-08 07:20:50 +03:00
716693a74f
Coach reviews: in-player capture strip, draggable overlay, timeline UI
ghassan and Claude Opus 4.7
2026-08-08 07:07:03 +03:00
057ce87564
Merge match-video: sports match sheet, in-player point capture, HEVC transcode fix
ghassan
2026-08-08 05:33:36 +03:00
402c6dc89f
Point capture in the player: inline strip, grouped entries, correct scores
ghassan and Claude Opus 4.7
2026-08-08 05:31:26 +03:00
ad6cbaf742
Match highlights: DB-backed rounds/points, draggable point capture, sports sheet Edit
ghassan and Claude Opus 4.7
2026-08-08 04:01:06 +03:00
76f5ef0c84
Fix match-video playback: HEVC → H.264 transcode + correct HLS URL
ghassan and Claude Opus 4.7
2026-08-08 02:08:25 +03:00
e0aa6e4817
Drag-and-drop reordering for tracks in the edit modal
ghassan and Claude Opus 4.7
2026-08-02 02:17:24 +03:00
3d8d7b8efe
Allow converting a video to a music track without losing views/URL
ghassan and Claude Opus 4.7
2026-08-01 14:39:19 +03:00
da714958c6
Scrollable, SPA-navigated filter bar with all languages
ghassan and Claude Opus 4.7
2026-07-31 03:51:45 +03:00
847020fd02
Offline-tolerant music-video merge
ghassan and Claude Opus 4.7
2026-07-31 03:27:52 +03:00
fcb752dd76
Language filter chips on the videos feed
ghassan and Claude Opus 4.7
2026-07-31 03:27:42 +03:00
8d27520bdb
Video merge feature, default avatar, video-redirects table, misc UI tweaks
ghassan and Claude Opus 4.7
2026-07-31 02:42:43 +03:00
ba8ab11ce4
Chunked video upload, persistent track order, per-track playlist entries
ghassan and Claude Opus 4.7
2026-07-31 02:42:25 +03:00
af276f2cd1
Wire match header to real SportsMatch data; add Match#/Court + country flags
ghassan and Claude Opus 4.8
2026-07-29 01:57:07 +03:00
8ea63a6720
Bust avatar/banner cache so new image shows on all pages
ghassan and Claude Opus 4.8
2026-07-29 00:39:47 +03:00
5d4d21dcec
Fix avatar/banner showing broken right after cropping & saving
ghassan and Claude Opus 4.8
2026-07-29 00:31:33 +03:00
0a0851e120
Fix unstyled playlist cards on /videos?filter=playlists
ghassan and Claude Opus 4.8
2026-07-28 23:35:16 +03:00
eb5cea8630
Merge branch 'match-video' into master
ghassan
2026-07-28 23:26:45 +03:00
0f3110f59d
Fullscreen drawer: squeeze the video instead of overlaying it
ghassan and Claude Opus 4.8
2026-07-28 23:24:36 +03:00
4cd1d195a7
Fix fullscreen drawer stretching full-width over the video
ghassan and Claude Opus 4.8
2026-07-28 23:18:50 +03:00
f8cefc1bf9
Match highlights: fullscreen landscape drawer (narrow + clear glass)
ghassan and Claude Opus 4.8
2026-07-28 23:16:50 +03:00
cffd8491d0
Match highlights sheet: flush to player bottom + non-blocking coach caption
ghassan and Claude Opus 4.8
2026-07-28 22:56:33 +03:00
ea95a60d79
Match highlights sheet: hide bottom nav on open too
ghassan and Claude Opus 4.8
2026-07-28 22:45:55 +03:00
ecb89f9514
Match highlights sheet: full-brightness video + hide top bar on open
ghassan and Claude Opus 4.8
2026-07-28 22:42:05 +03:00
18fb4fbd63
Match highlights: mobile bottom sheet (Option A)
ghassan and Claude Opus 4.8
2026-07-28 22:35:04 +03:00
6b43a7060a
Fix player UI: sports Highlights pane, scrubber knob, volume knob, description + save-to-playlist
ghassan and Claude Opus 4.8
2026-07-28 22:12:58 +03:00