bfffb5fdd3
feat(bot): compose announcements in a paste-friendly modal
...
- /announce with no message opens a modal: optional title field plus a
4000-char paragraph body for multi-line markdown
- Target channel rides in the modal customId; staff is re-checked on
submit and the post goes out as the same amber Announcement embed
- Inline message flow unchanged; modal submits route under ptf-announce:
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 21:33:55 -04:00
cb4aa0bf7e
v0.2.30 - customizable dashboard with drag-and-drop widgets, optional mission code names and cover images, campaigns list filters
2026-09-10 20:04:13 -04:00
350fdb7ac7
chore: ignore local .openchamber tooling directory
2026-09-10 20:03:39 -04:00
09ed08caf3
fix(dashboard): make stretched cards fill cells and truncate instead of overflowing
...
- Widget wrappers use flex-1 with a min-w-0 chain so cards stay at their
grid-cell width instead of shrinking to content or overflowing it
- ItemContent gains min-w-0 so nowrap text ellipsizes inside the card
(notifications, campaigns, tickets) rather than clipping at the viewport
- Stretched Service Summary and Mission Briefing top-pack their content;
Mission Briefing header flips between Next Mission and Last Mission
2026-09-10 20:03:39 -04:00
f0af778713
feat(dashboard): customizable dashboard with personal widgets
...
- Drag-and-drop widget arrangement (main two-column zone + sidebar) with
per-widget span resize, persisted to Users.preferences.dashboard.layout
via saveDashboardLayout (migration included)
- New personal widgets: Wallet, Open Negotiations, My Tickets (View all),
Recent Notifications (per-row mark as read)
- Widgets that are empty or not visible to the viewer are omitted so they
never render as empty drag targets
- Registers both pending migrations and regenerates payload types/schema
2026-09-10 20:03:27 -04:00
365e8561ec
feat(campaigns): extract CampaignsList with hide-completed toggle
...
The campaigns page now renders a client-side CampaignsList that keeps the
official/community sections and adds a hide-completed switch.
2026-09-10 20:03:16 -04:00
7180b0aa4c
feat(missions): make code name optional, add UGC cover images
...
- Missions.codeName is now optional (still unique when set); migration included
- Campaign and side-op dialogs accept an optional cover image (uploadUgcImage)
- Reminder toasts, evaluation aggregates, calendar, cards and mission headers
handle a null code name
- Mission read filter no longer hides drafts by status; visibility follows
ownershipAndStatus.visibility only
2026-09-10 20:02:47 -04:00
2ed90d9f09
v0.2.29 - add chapter table of contents to story chronicle
2026-09-10 17:57:10 -04:00
f781e53dc1
feat(story): add chapter table of contents with hover reveal to chronicle page
2026-09-10 17:56:35 -04:00
cbb320cb71
v0.2.28 - enforce mission visibility rules, accept plain-text mod lists, add voiceover spoiler gate, document dossier style
2026-09-10 16:14:44 -04:00
fb25042609
docs: document tactical dossier UI style and usage protocol
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:14:05 -04:00
de2ca66cec
feat(voiceover): add hold-to-confirm spoiler gate on recording pages
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:14:02 -04:00
c48fee4b4d
fix(missions): accept plain-text mod lists and keep side op narrative collapsed
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:59 -04:00
0fa6d9abb5
fix(missions): enforce access control on dashboard and intel mission queries
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:55 -04:00
486fdca2a0
fix(missions): enforce access control on missions pages
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:51 -04:00
8654eb40fa
fix(missions): enforce visibility rules in collection read access
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:48 -04:00
09b074734f
v0.2.27 - rework campaigns page, add tactical card styling and glitch effects
2026-09-09 19:43:02 -04:00
a7c50c5fd0
feat(campaigns): add one-shot glitch hover effects for official campaign cards
2026-09-09 19:42:50 -04:00
8668a59d06
feat(campaigns): split page into official and community sections with tactical official cards
2026-09-09 19:42:50 -04:00
42cbcbac3c
v0.2.26 - add voiceover audio preview and draft scripts, award xp on admin reviews, eod two-sector unlock, html mod list validation, opord best times and speed bonus
2026-09-09 18:55:07 -04:00
0dd9673690
fix(eod): unlock custom minefields after clearing two sectors
2026-09-09 18:55:00 -04:00
fdf6da5c5b
fix(missions): only accept html mod lists for side op uploads
2026-09-09 18:55:00 -04:00
6fe7dd62bd
feat(voiceover): add draft status to voice scripts and hide drafts from users
2026-09-09 18:55:00 -04:00
dcaa8c9bbe
fix(voiceover): award xp and notify on admin-panel review approvals via hooks
2026-09-09 18:54:58 -04:00
1b552b3a6d
feat(voiceover): add admin audio preview for voice submissions
2026-09-09 18:54:58 -04:00
cbe88c141b
feat(opord): track per-tier best times with leaderboard column and par backfill
2026-09-09 11:37:51 -04:00
eb77f45b95
feat(opord): add par-anchored speed bonus to scoring
2026-09-09 11:28:39 -04:00
181f244f62
v0.2.25 - move minigames under /minigames, hide locked UGC entries, fix return url and unlock readout
2026-09-09 00:03:54 -04:00
1d4dee0433
chore: ignore playwright report artifacts
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:45 -04:00
167ac22990
fix(radio): floor unlock-progress readout so it never overstates the threshold
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:36 -04:00
911fc31354
feat(minigames): hide UGC entry buttons until custom content unlocks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:29 -04:00
135a7fd5ae
docs: update minigame paths in AGENTS.md
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
14c9f0b4ec
feat(minigames): redirect legacy minigame URLs to /minigames/*
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
285de3ac14
fix(flappy): stop deriving returnTo from x-invoke-path
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
25975db23f
refactor(minigames): move routes, components, and libs under minigames parents
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:02:59 -04:00
76fbaba293
refactor(minigames): derive custom-page unlock state from shared lib predicates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 22:38:38 -04:00
455d705eb9
feat(minigames): add UnlockNotice and wire into EOD and radio arenas
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 22:38:38 -04:00
f76966ebc3
v0.2.24 - add custom minefield XP payouts, exposure toggle, and loss fog
2026-09-08 15:57:13 -04:00
226cd9b2b8
test(eod): cover custom payout math, loss reveal, and exposure rule
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
bf491fc9cd
feat(eod): add author exposure toggle and reduced-XP copy to custom play
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
6d4b5ad297
feat(eod): restrict custom loss reveal and add question-mark fog to hidden cells
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
efda519569
feat(eod): pay reduced XP with creator banking on custom minefield runs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
243bb8ae0d
feat(minigames): add creator bank and exposure toggle schema with migrations
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
987e78babd
feat(minigames): add custom payout math and loss-reveal helpers to shared libs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
eeab85ad35
v0.2.23 - add custom EOD minefields and custom radio tests minigames
2026-09-08 14:45:29 -04:00
4fde0fe91c
fix(ui): use h-dvh for sheet side variants so panels fill mobile viewports
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:45:29 -04:00
1cf11745fe
feat(radio): add custom radio test authoring, play, and leaderboard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
52328da8f9
feat(eod): add custom minefield authoring, play, and leaderboard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
5b4842943e
feat(minigames): extract shared custom-minigame validation and unlock libs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
1f99e34c0d
feat(minigames): add custom minefield and radio test collections with permissions, events, and migration
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00