-
v0.2.0
StableSome checks failedBuild OCI container / Build and push mokosh-www image (push) Failing after 6m38sreleased this
2026-05-14 23:57:17 +02:00 | 1197 commits to main since this releaseChangelog
1e0e5a1Merge pull request 'Release v0.2.0' (#133) from release/v0.2.0 into main
471b01fRelease v0.2.0
e0af4afMerge pull request 'refactor(ui): remove dead components and finish portal/admin stub pages' (#129) from feat/mapps-142-remove-dead-components into main
3a700e1Merge remote-tracking branch 'origin/main' into feat/mapps-142-remove-dead-components
4634e2dMerge pull request 'chore(cleanup): remove orphaned modules, hooks, structs, and cfg(server) stubs' (#128) from chore/mapps-141-remove-dead-code into main
8c718bfMerge remote-tracking branch 'origin/main' into chore/mapps-141-remove-dead-code
9e94768Merge pull request 'fix(auth): close OIDC callback role/uuid drift and flow defects' (#124) from fix/mapps-137-role-parser-uuid-oidc-defects into main
200fa61Merge remote-tracking branch 'origin/main' into fix/mapps-137-role-parser-uuid-oidc-defects
fc84bc5Merge pull request 'chore(contracts): align local DTOs and document mokosh-server drift (MAPPS-138)' (#125) from chore/mapps-138-contract-drift-local-subset into main
6ceab49Merge branch 'main' into chore/mapps-138-contract-drift-local-subset
9f813e0Merge pull request 'fix(apps): correct page and component defects across tickets, KB, picker, SLA, models' (#126) from fix/mapps-139-page-component-correctness into main
f7a313fMerge branch 'main' into fix/mapps-139-page-component-correctness
304c1efMerge pull request 'feat(profile): prefill date format presets with live examples' (#127) from feat/mapps-144-prefilled-date-format into main
94f3b1cMerge branch 'main' into feat/mapps-144-prefilled-date-format
3095e5fMerge pull request 'chore(infra): clean up Dockerfiles, CI workflows, justfile, packaging' (#130) from chore/mapps-143-infra-ci-packaging-cleanup into main
3259456Merge branch 'main' into chore/mapps-143-infra-ci-packaging-cleanup
4f66fbfMerge pull request 'fix(projects): render zero Total Budget as "$0" not "$-0"' (#131) from fix/mapps-145-total-budget-negative-zero into main
b3ee98dMerge branch 'main' into fix/mapps-145-total-budget-negative-zero
c6f67d0Merge pull request 'fix(404): point Contact support link to real support address' (#132) from fix/mapps-147-404-support-mailto into main
cea7e9cMerge branch 'main' into fix/mapps-147-404-support-mailto
cac3e3bMerge pull request 'fix(time): enforce user_id ownership on time-entry stop/update/delete' (#123) from fix/mapps-136-time-entry-ownership-guard into main
f907232Merge branch 'main' into fix/mapps-136-time-entry-ownership-guard
31d5fe4Merge pull request 'fix: pagination count 500s, order_by, and billing state (MAPPS-135)' (#122) from fix/mapps-135-pagination-billing-correctness into main
99c581dMerge branch 'main' into fix/mapps-135-pagination-billing-correctness
fb2747fMerge pull request 'refactor: consolidate duplicated helpers and envelope types' (#121) from refactor/mapps-140-consolidate-helpers into main
c062923fix(404): point Contact support link to real support address
06fbf70fix(projects): render zero Total Budget as "$0" not "$-0"
52b7a3bchore(infra): clean up Dockerfiles, CI workflows, justfile, packaging
6db9195refactor(ui): remove dead components and finish portal/admin stub pages
694eb47chore(cleanup): remove orphaned modules, hooks, structs, and cfg(server) stubs
612a8bffeat(profile): prefill date format presets with live examples
1332872fix(apps): correct page and component defects across tickets, KB, picker, SLA, models
1260e37chore(contracts): align local DTOs and document mokosh-server drift (MAPPS-138)
147adbefix(auth): close OIDC callback role/uuid drift and flow defects
b2971c4fix(time): enforce user_id ownership on time-entry stop/update/delete
2a2fb6cfix: pagination count 500s, order_by, and billing state (MAPPS-135)
ab903b6refactor: consolidate duplicated helpers and envelope types
1610f78Merge pull request 'feat(time): add H:MM duration display format option (PMS-265)' (#120) from feat/pms-265-duration-format-option into main
5b15312feat(time): add H:MM duration display format option (PMS-265)
10b593eMerge pull request 'feat(profile): custom date/time format builder with token preview' (#119) from feat/pms-254-custom-date-format-builder into main
f4fe14efeat(profile): custom date/time format builder with token preview
7aa5d4cMerge pull request 'feat(profile): preset date/time format picker + central formatter (frontend)' (#118) from feat/pms-253-date-format-preference-frontend into main
24df1bcfeat(profile): preset date/time format picker + central formatter (frontend)
e1071faMerge pull request 'feat(status): dedicated System Status page in the user menu (PMS-237)' (#117) from feat/mapps-237-system-status into main
065043afeat(status): dedicated System Status page in the user menu (PMS-237)
84bb63aMerge pull request 'fix(time): accept fractional hours in Log Time form (PMS-233)' (#116) from fix/mapps-233-fractional-hours into main
357f5cefix(time): accept fractional hours in Log Time form (PMS-233)
01babc9Merge pull request 'feat(team): admin invitations management UI (PMS-247)' (#115) from feat/mapps-247-invitations-ui into main
c72a235chore: drop accidentally-committed local CLAUDE.md from PMS-247 branch
456111dfeat(team): admin invitations management UI (PMS-247)
2392b7aMerge pull request 'feat(timesheets): submit-certification modal and withdraw action (PMS-183)' (#114) from feat/mapps-183-timesheet-withdraw into main
d40e5cbfeat(timesheets): submit-certification modal and withdraw action (PMS-183)
aa10d64Merge pull request 'feat(projects): show the project's own change history and edited marker (PMS-205)' (#113) from feat/mapps-205-project-history into main
4da1a9afeat(projects): show the project's own change history and edited marker (PMS-205)
4f8e284Merge pull request 'feat(history): show before/after content in change history (PMS-204)' (#112) from feat/mapps-204-history-content into main
e67522fMerge pull request 'fix(tickets): keep Created and SLA Due on one line (PMS-181)' (#105) from fix/mapps-181-ticket-detail-oneline into main
17ccfe7feat(history): show the before/after content of each change, not just who/when (PMS-204)
b961d22Merge pull request 'feat(assets): edit asset with change history and edited marker (PMS-185)' (#109) from feat/mapps-185-asset-edit-history into main
46b78e9Merge pull request 'feat(projects): edit project and tasks with change history (PMS-184)' (#111) from feat/mapps-184-task-edit-history into main
c438ee0Merge pull request 'feat(tickets): edit ticket description with change history (PMS-182)' (#110) from feat/mapps-182-ticket-edit-history into main
4836870feat(projects): edit project and tasks with change history and edited marker (PMS-184)
c8832dbfeat(tickets): edit ticket description with change history and edited marker (PMS-182)
b08fe9cfeat(assets): edit asset from detail with change history and edited marker (PMS-185)
7c56e2eMerge pull request 'docs: add 2026-06-06 platform audit to dev-docs/audits' (#108) from docs/add-platform-audit-2026-06-06 into main
6356b22docs: add 2026-06-06 platform audit to dev-docs/audits
bfd0b31Merge pull request 'feat(audit-log): show resolved names instead of UUIDs in the table + detail' (#107) from feat/audit-log-show-names into main
841e47afeat(audit-log): show resolved names instead of UUIDs in the table + detail
068fa8cMerge pull request 'feat(auth): forced name-onboarding gate for new Bunyip-JIT users' (#106) from feat/force-name-onboarding into main
e45216afeat(auth): forced name-onboarding gate for new Bunyip-JIT users
df3701ffix(tickets): keep Created and SLA Due values on one line (PMS-181)
9cab36dMerge pull request 'fix(billing): mark all required fields on the New Invoice form (PMS-187)' (#104) from fix/mapps-187-invoice-required-fields into main
651e1b7fix(billing): mark all required fields on the New Invoice form (PMS-187)
315f194Merge pull request 'feat(billing): label payments by invoice number, not UUID (PMS-186)' (#103) from feat/mapps-186-billing-company-name into main
a4ee1f6feat(billing): label payments by invoice number, not UUID (PMS-186)
748458dMerge pull request 'feat(billing): show company name (not UUID) on invoices and payments (PMS-186)' (#102) from feat/mapps-186-billing-company-name into main
91f5195Merge pull request 'fix(billing): friendly locked state for users without finance access (MAPPS-133)' (#101) from fix/mapps-133-billing-locked-state into main
75b43f4feat(billing): show company name (not UUID) on invoices and payments (PMS-186)
b678a94fix(billing): friendly locked state for users without finance access (MAPPS-133)
376a9b6Merge pull request 'fix(auth): source the user role from mokosh-server /api/v1/auth/me (PMS-158)' (#100) from fix/mapps-158-role-from-server-me into main
3508e1efix(auth): source the user role from mokosh-server /api/v1/auth/me (PMS-158)
a033622Merge pull request 'feat(reports): add custom Report Builder UI (PMS-180)' (#99) from feat/mapps-custom-report-builder into main
2c56c20feat(reports): add custom Report Builder UI (MAPPS, PMS-180)
d546181Merge pull request 'feat(reports): wire Projects + Clients report detail views (PMS-179)' (#98) from feat/mapps-reports-project-client into main
827a691feat(reports): wire Projects + Clients report detail views (MAPPS, PMS-179)
85ac2d7Merge pull request 'feat(notifications): wire the top-bar bell to the in-app inbox' (#97) from feat/mapps-132-notification-bell into main
0d34618style(notifications): match rustfmt multiline Date::new form
2dde8b2style(notifications): satisfy rustfmt on the Date::new call
ed0ca02fix(notifications): close panel on outside click + show local-tz timestamps
0c07ecffeat(notifications): wire the top-bar bell to the in-app inbox
094ab8fMerge pull request 'fix(ci): decouple build-cache export so a registry stall can't hang the job' (#96) from fix/mapps-131-cache-export-stall into main
f25be87fix(ci): run cache-warm step last so a stall can't delay the mirror
0d447c5fix(ci): decouple build-cache export so a registry stall can't hang the job
e0ad230Merge pull request 'fix(ui,auth): modals dim instead of blanking + role parser covers all variants' (#95) from fix/modal-overlay-and-billing-perm into main
7aef060fix(ui,auth): modals dim instead of blanking + role parser covers all variants
0ab6a14Merge pull request 'feat(auto-update): SPA polls _mokosh_config.js build_sha and reloads on mismatch' (#94) from feat/auto-reload-on-new-spa-build into main
4725c8cfeat(auto-update): SPA polls _mokosh_config.js build_sha and reloads on mismatch
806ae77Merge pull request 'chore(build): bump rust-builder-glibc to v1.0.1' (#90) from chore/bump-rust-builder-glibc-v1.0.1 into main
90503beMerge branch 'main' into chore/bump-rust-builder-glibc-v1.0.1
32221a4Merge pull request 'feat(dashboard,reports): wire Dashboard + Reports summaries (MAPPS-130)' (#93) from feat/mapps-130-wire-dashboard-reports into main
5e0e380feat(dashboard,reports): wire Dashboard + Reports summaries to the backend (MAPPS-130)
348b82eMerge pull request 'feat(assets): wire Assets list, create, detail (CMDB) to the backend (MAPPS-129)' (#92) from feat/mapps-129-wire-assets into main
bbc9048feat(assets): wire Assets list, create, and detail (CMDB) to the backend (MAPPS-129)
4dc3a27Merge pull request 'feat(projects,time): task creation, budget input, project/task time logging (MAPPS-128)' (#91) from feat/mapps-128-project-task-budget-logtime into main
841b73dfeat(projects,time): task creation, budget input, and project/task time logging (MAPPS-128)
9e2ed17chore(build): bump rust-builder-glibc to v1.0.1
079faa4Merge pull request 'feat(projects): wire Project detail + tasks pages (MAPPS-127)' (#89) from feat/mapps-127-wire-project-detail-tasks into main
67ec6e1feat(projects): wire Project detail + tasks pages to the backend (MAPPS-127)
906942fMerge pull request 'feat(projects): wire Projects list + create to the backend (MAPPS-126)' (#88) from feat/mapps-126-wire-projects into main
202b603feat(projects): wire Projects list + create to the backend (MAPPS-126)
d3a3610Merge pull request 'fix(tickets): show ticket number + title in detail header, not the UUID' (#87) from fix/mapps-ticket-detail-title into main
c98f941fix(tickets): show ticket number + title in detail header, not the UUID
fc56575Merge pull request 'feat(time): wire Timesheets page to the backend (MAPPS-125)' (#86) from feat/mapps-125-wire-timesheets into main
0807f92feat(time): wire Timesheets page to the backend (MAPPS-125)
4fe4e93Merge pull request 'feat(time): wire Time Tracking pages to the backend (MAPPS-124)' (#70) from feat/mapps-124-wire-time-tracking into main
4756da1Merge branch 'main' into feat/mapps-124-wire-time-tracking
05d0da0Merge pull request 'chore: Sync .gitignore' (#85) from chore/sync-gitignore into main
42cedf2chore: Sync .gitignore
3013822Merge pull request 'fix(oidc): persist tokens before navigating + router-push internal return_to' (#84) from fix/auth-callback-persists-tokens-before-nav into main
c75a6ebfix(oidc): persist tokens before navigating + router-push internal return_to
bfa5f30Merge pull request 'feat(profile): timezone is a select with curated IANA list + browser auto-detect' (#83) from feat/profile-timezone-dropdown into main
1d90100feat(profile): timezone is a select with curated IANA list + browser auto-detect
1647be4Merge pull request 'feat(profile): Bunyip identity strip + local Preferences (theme, time format, week start)' (#82) from feat/profile-bunyip-identity-preferences into main
83075c4feat(profile): Bunyip identity strip + local Preferences (theme, time format, week start)
c1eda0bMerge pull request 'fix(auth): logout lands on this SPA's origin home, not Bunyip's login' (#81) from fix/logout-lands-on-mokosh-home into main
04943c8fix(auth): logout lands on this SPA's origin home, not Bunyip's login
9084771Merge pull request 'feat(profile): add mokosh-side Profile page, rename hub link to Account Settings' (#80) from feat/mokosh-profile-page into main
18e2f77feat(profile): add mokosh-side Profile page, rename hub link to Account Settings
6d6cf52Merge pull request 'fix(auth): drop auth-signal writes from UserMenu logout closure' (#79) from fix/logout-no-signal-writes-pre-navigation into main
8272512fix(auth): drop auth-signal writes from UserMenu logout closure
78d86ceMerge pull request 'fix(auth): logout via bunyip OptionalUser endpoint, Profile -> /settings, synthesize memberships locally' (#78) from fix/logout-profile-memberships-noise into main
f076391fix(auth): logout via bunyip OptionalUser endpoint, Profile -> /settings, synthesize memberships locally
27dea24Merge pull request 'feat(kb): one-vote rating UI (reflect + toggle the user's vote)' (#77) from feat/kb-rating-toggle-client into main
cd48d84Merge branch 'main' into feat/kb-rating-toggle-client
f677ad5Merge pull request 'fix(layout): main sidebar nav scrolls when it overflows' (#76) from fix/main-sidebar-scroll into main
506e2d3fix(layout): make the main sidebar nav scroll when it overflows
52163c5feat(kb): one-vote rating UI - reflect and toggle the user vote
0592aabMerge pull request 'fix(kb): read-mode button (derive + minimize icon) and density paragraph spacing' (#75) from fix/kb-readmode-button into main
bbea601chore: sync Cargo.lock with the ammonia dependency
e58bd90feat(kb): density toggle also controls paragraph spacing, not just line height
1689cc0fix(kb): derive read-mode from both rails collapsed, swap expand/minimize icon
6087886Merge pull request 'feat(ui): themed global scrollbars (no more white trough on the dark/blue theme)' (#74) from feat/themed-scrollbars into main
1b8f9feMerge branch 'main' into feat/themed-scrollbars
7636ef9Merge pull request 'feat(kb): KB UI/UX overhaul - rendered markdown, three-pane reading view, tree nav' (#71) from feat/kb-ui-overhaul into main
cb43bb6Merge branch 'main' into feat/kb-ui-overhaul
af77f18Merge pull request 'fix(billing): show permission message when user lacks finance access' (#73) from fix/billing-finance-permission into main
4ffbaa3Merge branch 'main' into fix/billing-finance-permission
a89a714Merge pull request 'fix(ci): embed commit hash in OCI build (footer no longer 'unknown')' (#72) from fix/ci-embed-git-sha into main
aa5b8b3feat(ui): themed global scrollbars instead of the default white trough
f9933a5fix(kb): share rating state across the duplicated header slots
2c23255fix(billing): show a permission message when the user lacks finance access
4a8866dfix(ci): embed the commit hash in the OCI build so the footer is not "unknown"
e0f2d10style(kb): apply rustfmt line wrapping
7819378fix(components): rebind CollapsibleRail signal props to mut
cdb77d7feat(kb): live slug generation and Write/Preview tabs on the article form
9864474feat(kb): add collapsible category tree rail to the article list page
1d03438fix(kb): drop redundant PageHeader on the article detail view
44a3d47feat(kb): three-pane reading view with rendered markdown and header
4ddf4b9feat(kb): add rating bar, density toggle, and read-mode button
d467f35feat(components): add OverflowActions collapsing header cluster
f120ef8feat(components): add CollapsibleRail with persisted collapse and overlay
8b41cf9feat(kb): add breadcrumb and category/article tree-nav components
2605e16feat(kb): add category/article tree builder
13f7828feat(time): wire Time Tracking pages to the backend (MAPPS-124)
df96fd8feat(kb): add category breadcrumb path resolution
f5b576ffeat(kb): add localStorage pref helper for KB UI state
dc1f800feat(kb): add sanitized markdown render helper
51e5687docs(kb): implementation plan for the KB UI/UX overhaul
545378edocs(kb): collapse header items into overflow dropdown when too narrow
c50e7c5docs(kb): consolidate metadata onto article header, slim right rail to versions
57c5946docs(kb): add fullscreen read-mode toggle
b831d1fdocs(kb): refine spec - collapsible chevron rails + card-free article
540095bdocs(kb): design spec for KB UI/UX overhaul
00c6eb6Merge pull request 'feat(tickets): wire TicketDetailPage to real data (MAPPS-123)' (#68) from feat/mapps-123-wire-ticket-detail into main
4483882Merge pull request 'fix(calendar): send dispatch from/to as Z-suffixed UTC, not +00:00' (#69) from fix/dispatch-board-timestamp-z-suffix into main
8a5083efix(calendar): send dispatch from/to as Z-suffixed UTC, not +00:00
fd1c2d2feat(tickets): wire TicketDetailPage to real ticket data (MAPPS-123)
88be09aMerge pull request 'feat(dev-sso): point the SPA OIDC issuer at bunyip-api' (#67) from feat/dev-sso-bunyip-issuer into main
0b5a9d0feat(dev-sso): point the SPA OIDC issuer at bunyip-api
7a11e2fMerge pull request 'fix(calendar): create/update/delete via /appointments, role-gate users fetch' (#66) from fix/calendar-appointment-crud-paths-and-role-gate-users-fetch into main
8b1cf53fix(calendar): create/update/delete via /appointments, role-gate users fetch
9fa67b2Merge pull request 'fix(calendar): /auth/users path + Z-suffix appointment timestamps' (#65) from fix/calendar-fetch-paths-and-tz-encoding into main
e5a9269fix(calendar): /auth/users path + Z-suffix appointment timestamps
ee01e54Merge pull request 'fix(contacts): decode paginated envelope on company-detail Contacts and Sites cards' (#64) from fix/company-detail-cards-shape into main
0423fdcfix(contacts): decode paginated envelope on company-detail Contacts and Sites cards
18683aeMerge pull request 'feat(calendar): wire calendar + dispatch to the API (PMS-58 client)' (#62) from feat/pms-58-calendar-client into main
56778b8Merge branch 'main' into feat/pms-58-calendar-client
f40e8b5Merge pull request 'feat(sla): SLA management pages + ticket badges (PMS-106 client)' (#59) from feat/pms-106-sla-client into main
9f3ada3Merge branch 'main' into feat/pms-106-sla-client
b52fa0eMerge remote-tracking branch 'origin/main' into feat/pms-58-calendar-client
193c4f5Merge remote-tracking branch 'origin/main' into feat/pms-106-sla-client
c9e3decMerge pull request 'feat(kb): wire knowledge base + portal feed to the API (PMS-79 client)' (#63) from feat/pms-79-kb-client into main
a87e28cMerge remote-tracking branch 'origin/main' into feat/pms-79-kb-client
158069efeat(kb): wire knowledge base + portal feed to the API (PMS-79 client)
b404ec7Merge remote-tracking branch 'origin/main' into feat/pms-58-calendar-client
f00e03ffeat(calendar): wire calendar + dispatch to the API (PMS-58 client)
a335172Merge pull request 'feat(billing): wire billing pages to the API (PMS-33 client)' (#61) from feat/pms-33-billing-client into main
f81f086Merge branch 'main' into feat/pms-33-billing-client
9ddfb58Merge remote-tracking branch 'origin/main' into feat/pms-33-billing-client
3800fb4feat(billing): wire billing pages to the API (PMS-33 client)
e1232dfMerge pull request 'feat(contracts): wire contracts pages to the API (PMS-64 client)' (#60) from feat/pms-64-contracts-client into main
d53bd41Merge branch 'main' into feat/pms-64-contracts-client
a60431afeat(contracts): wire contracts pages to the API (PMS-64 client)
4d601c3feat(sla): SLA management pages + ticket badges (PMS-106 client)
5688270Merge pull request 'feat(audit): admin audit-log page (PMS-117 client)' (#58) from feat/pms-117-audit-client into main
2dfc60cfeat(audit): admin audit-log page (PMS-117 client)
2a22f26Merge pull request 'fix(tickets): use CompanyPicker on TicketNewPage so create works (MAPPS-122)' (#57) from fix/mapps-122-ticket-new-company-picker into main
3bce482fix(tickets): use CompanyPicker on TicketNewPage so create works (MAPPS-122)
c5aaf2cMerge pull request 'fix(crm): the CompanyType variant is 'client', not 'customer'' (#56) from feat/crm-ops into main
9af4835fix(crm): the CompanyType variant is 'client', not 'customer'
0600485Merge pull request 'feat/crm-ops' (#55) from feat/crm-ops into main
1aac724feat(crm): prefill CompanyPicker on /contacts/new from ?company_id= query
e896c2efeat(crm): server-side pagination, filters, and sort on Company + Contact lists
6b8e5dafeat(crm): inline add/edit/delete sites modal on the company detail page
77042f2Merge pull request 'style: cargo fmt --all (rewrap long format!/post_authed calls past 100 cols)' (#54) from feat/crm-ops into main
4556b33style: cargo fmt --all (rewrap long format!/post_authed calls past 100 cols)
817d506Merge pull request 'fix(crm): point CRM client paths at /contacts/companies and /contacts/contacts' (#53) from feat/crm-ops into main
e9e2ae6fix(crm): point CRM client paths at /contacts/companies and /contacts/contacts
c07d1f3Merge pull request 'feat/crm-ops' (#52) from feat/crm-ops into main
cd01007feat(crm): rewrite contact pages on live backend, add CompanyPicker, Edit, portal toggle
cd6aa78feat(crm): rewrite CompanyDetailPage on live backend data, add Edit + Delete
7799af5feat(crm): drop demo-rows fallback in Company + Contact lists
6ae5471Merge pull request 'feat(time-tracking): add byte-identical time-tracking DTOs from server' (#51) from feat/time-tracking-client-dtos into main
948e97dfeat(time-tracking): add byte-identical time-tracking DTOs from server
799c0edMerge pull request 'feat(oidc): kick off code+PKCE flow on /login instead of HubRedirect' (#50) from feat/start-authorize-on-sign-in into main
a6959f8feat(oidc): kick off code+PKCE flow on /login instead of HubRedirect
a1b06c2Merge pull request 'feat(oidc): derive issuer host from bunyip apex (bunyip-as-OP cutover)' (#49) from feat/bunyip-op-cutover into main
5918051feat(oidc): derive issuer host from bunyip apex (bunyip-as-OP cutover)
39f9a9dMerge pull request 'fix(ci): generate release notes from commits since previous tag' (#48) from fix/release-notes-since-prev-tag into main
664ca91fix(ci): generate release notes from commits since previous tag
768110dMerge pull request 'fix(dev-sso): route mokosh-apps on nebula-secure via list-syntax labels' (#47) from fix/dev-sso-nebula-secure-list into main
2ee900cfix(dev-sso): route mokosh-apps on nebula-secure via list-syntax labels
dfc95a6Merge pull request 'Rename to mokosh-apps + Phase-4 audit fixes' (#46) from feat/m1-vas into main
f6860ebfix(oidc): derive the API/issuer host as api.msp, not msp-api
aca886brefactor(m1): defer tickets + portal to dev-yousif (drop redundant F2/F3)
8822b77feat(m1): Phase-4 audit fixes - tenant-cache reactivity, portal wiring, list controls, OIDC nonce
0e6ad3crefactor: rename mokosh-client to mokosh-apps
2cf12e2feat(m1): vas sprint - gitignore For AI working dir
4c32e87Merge pull request 'fix(ci): skip cache-to on tag builds (MAPPS-121)' (#45) from fix/oci-cache-skip-tag-builds-MAPPS-121 into main
b9c0285fix(ci): skip cache-to on tag builds (MAPPS-121)
e322f98Merge pull request 'fix(ci): use $RUNNER_TEMP instead of hardcoded /tmp in claude-fix' (#44) from fix/claude-fix-no-tmp-PMC-120 into main
be127a0fix(ci): use $RUNNER_TEMP instead of hardcoded /tmp in claude-fix
db7260aMerge pull request 'SSO related' (#43) from feat/mfa-spa into main
285f0bdMerge remote-tracking branch 'origin/main' into feat/mfa-spa
834bb5dMerge remote-tracking branch 'origin/main' into feat/mfa-spa
0ca67b4Merge pull request 'feat(justfile): fj-driven create-release + group attrs (DEV-331)' (#42) from feat/justfile-fj-pr-create-DEV-331 into main
81ce881feat(justfile): fj-driven create-release + group attrs (DEV-331)
167f806refresh CurrentUser from /v1/auth/me after each token rotation
5993a1fMerge pull request 'feat: consolidate PMC client UI PRs (PMC-2..PMC-119)' (#41) from feat/pmc-merge into main
964f092ci(check): stub the generated CSS asset before cargo steps
f275f68fix(clippy): resolve all clippy warnings for the CI -D warnings gate
7943007style: cargo fmt --all across consolidated PMC branches
254a77dMerge remote-tracking branch 'origin/chore/claude-fix-workflow' into feat/pmc-merge
ee013f9Merge remote-tracking branch 'origin/feat/pmc-100-component-infra' into feat/pmc-merge
f9dc2b5Merge remote-tracking branch 'origin/feat/pmc-92-portal-ui' into feat/pmc-merge
aad7dd3Merge remote-tracking branch 'origin/feat/pmc-88-admin-ui' into feat/pmc-merge
b7e9abcMerge remote-tracking branch 'origin/feat/pmc-72-kb-ui' into feat/pmc-merge
56addb1Merge remote-tracking branch 'origin/feat/pmc-66-assets-ui' into feat/pmc-merge
2a66facMerge remote-tracking branch 'origin/feat/pmc-60-billing-ui' into feat/pmc-merge
841e94cMerge remote-tracking branch 'origin/feat/pmc-55-contracts-ui' into feat/pmc-merge
db0e9e2Merge remote-tracking branch 'origin/feat/pmc-50-calendar-dispatch' into feat/pmc-merge
641d674Merge remote-tracking branch 'origin/feat/pmc-41-contacts-ui' into feat/pmc-merge
91740c8Merge remote-tracking branch 'origin/feat/pmc-36-projects-ui' into feat/pmc-merge
e0e6959Merge remote-tracking branch 'origin/feat/pmc-31-time-tracking-ui' into feat/pmc-merge
dbe9a28Merge remote-tracking branch 'origin/feat/pmc-23-tickets-ui' into feat/pmc-merge
5a0792fMerge remote-tracking branch 'origin/fix/pmc-17-dashboard-scrollbar' into feat/pmc-merge
935e6e3Merge remote-tracking branch 'origin/feat/pmc-2-api-client-layer' into feat/pmc-merge
f19c612ci: add claude-fix workflow
de5747bfeat(components): optional data-testid prop on Button, Input, TableRow (PMC-111)
6002b25fix(detail-pages): route-param titles on Asset + Contract detail (PMC-104)
858fa21feat(portal): row nav, file input, invoice detail, KB links, route titles (PMC-95, PMC-96, PMC-97, PMC-98, PMC-99)
265c191fix(admin): hide decorative Add Tenant on TenantManagementPage (PMC-90)
ae79cacfeat(kb): scaffold article editor, linkify related, route-param title (PMC-73, PMC-75, PMC-77)
9e2594afeat(assets): implement AssetNewPage form (PMC-67)
a2960b2fix(assets): linkify Related Tickets sub-table on AssetDetailPage (PMC-71)
b424683feat(billing): implement InvoiceNewPage form (PMC-61)
78b6b61fix(billing): wire PaymentList invoice cells to InvoiceDetail (PMC-64)
bba764cfix(billing): use route param for InvoiceDetailPage title (PMC-65)
3128d64feat(contracts): implement ContractNewPage form (PMC-56)
78c9d85feat(calendar): render dispatch board appointments (PMC-53)
e42460dfix(contacts): detail-page titles, hide Edit, demote Open Tickets stat (PMC-46, PMC-47, PMC-48, PMC-49)
134947efix(projects): hide decorative Add Task on tasks page (PMC-39)
3945440fix(projects): route-param title + hide decorative Add Task on detail (PMC-40, PMC-38)
4d991a5feat(time): work_item navigation on TimeEntryListPage (PMC-35)
85473f9feat(tickets): wire Add Note modal submit + inputs (PMC-25)
7cf0d56feat(tickets): POST /tickets on TicketNewPage submit (PMC-27)
718289cfix(tickets): wire Log Time button to TimeEntryNew route (PMC-26)
1bb76fdfix(tickets): use route param for TicketDetailPage title (PMC-28)
404783efix(layout): show scrollbar affordance on short-viewport sidebars (PMC-22)
eaea8c6feat(admin): wire TenantManagementPage to /tenants with demo fallback (PMC-8)
86ddde4feat(client): wire ContactListPage to /contacts with demo fallback (PMC-7)
6ec701efeat(client): wire TicketListPage to /tickets with demo fallback (PMC-6)
a497bfdfeat(client): wire TableLoading + TableEmpty on companies list (PMC-11)
4262f7ffeat(client): typed ApiError + global toast surface (PMC-10)
9bb81c4Merge pull request 'fix(ci): replace setup-qemu-action with direct binfmt install' (#25) from fix/ci-qemu-no-toolcache into main
b5a0b04fix(ci): replace setup-qemu-action with direct binfmt install
325b248Merge pull request 'fix/milestone-1-review-findings' (#24) from fix/milestone-1-review-findings into main
1ef686cfix(update-banner): gate version fetch on admin status
42852b8fix(milestone-1): address multi-arch review findings
05ab2acMerge pull request 'feat(client): admin update-available banner' (#23) from feat/update-banner into main
8f54151Merge branch 'main' into feat/update-banner
0d07352feat(client): admin update-available banner
d328eedMerge pull request 'feat(oci): operator compose example + public registry mirror' (#22) from feat/operator-compose-and-public-mirror into main
ee4cfc7feat(oci): operator compose example + public registry mirror
1b64a87Merge pull request 'feat(oci): runtime config injection via entrypoint' (#21) from feat/runtime-config-injection into main
0bbf267feat(oci): runtime config injection via entrypoint
8b56a26Merge pull request 'feat(oci): multi-arch image build for amd64 + arm64' (#20) from feat/multi-arch-oci-build into main
e8f702fMerge pull request 'fix(contacts): pass usize to DataTable.total_items' (#19) from fix/contacts-total-items-usize into main
5b29870feat(oci): multi-arch image build for amd64 + arm64
4feabc5fix(contacts): pass usize to DataTable.total_items
d265914Merge pull request 'feat: runtime URL derivation + calendar wire + org-aware TopBar' (#18) from feat/runtime-url-derivation into main
de872bbdocs: milestone-1 handoff for the PSA Systems v0.1.0 cutoverDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)