bce910fa1c
fix(campaigns): wrap campaign cards evenly with flex layout
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:26:27 -04:00
a843a85656
fix(banking): keep activity tabs list stretched in flex column
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:26:27 -04:00
f90d9348e7
fix(intel): require write permissions for wiki moderation qualification
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:59 -04:00
6169bf6ce6
feat(awards): add ribbon design studio, review queue and submission UI
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:59 -04:00
ac822f259c
feat(awards): add ribbon submissions collection, design validation and migration
...
Also scopes the MCP plugin to explicit per-collection eligibility (mcpCollections).
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:59 -04:00
b477103522
feat(poker): add poker stats to profiles with migration
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:43 -04:00
1fb0165c12
feat(poker): add sit-and-go tables UI, felt styles, realtime events and navigation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:43 -04:00
6968ee0abc
feat(poker): add poker engine, evaluation and stats libs with tests
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:43 -04:00
91bdd433d5
feat(poker): add playing card svg assets
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:43 -04:00
91a3a38831
chore(events): add poker and ribbon event constants and notification labels
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:21 -04:00
cbbf1816f6
chore(events): add ribbon-submissions to event log targets
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:21 -04:00
2406df82dd
feat(qualification): draw configurable crosshair on the aim trainer canvas
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:21 -04:00
51f9d57aaa
feat(qualification): add crosshair preferences module and settings popover
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:21 -04:00
c204581366
v0.2.32 - announce modal channel picker, strict announce default, changelog and env docs
2026-09-10 23:58:11 -04:00
4f160c624f
docs: trim the v0.2.30 changelog wording
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 23:58:08 -04:00
c12bccca7c
chore(env): label the roll call and app updates channel vars
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 23:58:08 -04:00
0125cd6d4d
docs(bot): note the modal channel picker and announce default
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 23:58:08 -04:00
ecdbcbd15b
feat(bot): pick the target channel inside the announce modal
...
- The compose modal gains an optional channel select (text and
announcement channels), preselected with the configured default
- /announce now posts only to the announce channel by default: the ops
fallback is gone, so an unconfigured announce channel errors instead
of silently posting to ops
- Roll call was already ops-only and is unchanged
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 23:58:03 -04:00
0bda8c56e3
v0.2.31 - add announce composer modal, changelog and bot docs
2026-09-10 21:34:02 -04:00
abb037fb05
docs: add changelog for releases through v0.2.30
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 21:33:59 -04:00
cb62a2f1b7
docs(bot): document the announce modal composer
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 21:33:59 -04:00
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