Skip to content

Platform batch: PLAT-18/19/21/24, session reload fix, tab session touch, deps (-> dev) - #123

Merged
ATRIwOX merged 9 commits into
devfrom
platform
Oct 12, 2026
Merged

ATRIwOX merged 9 commits into
devfrom
platform

Conversation

@ATRIwOX

@ATRIwOX ATRIwOX commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Merges the platform branch into dev with the platform issue batch, web session hardening, and toolchain alignment after the currency/UoM addon split.

  • SUM-PLAT-19 (automation): Triggers, safety checks, server-action UI; tests in test/addons/automation/.
  • SUM-PLAT-24 (properties): ORM sdk.Properties, PropertiesField widget, sys.property.definition admin list/form, core.partner.extra_properties + seed defs + contacts form inherit; list domain example (gold tier).
  • SUM-PLAT-21 (activities): Mail activity models/board UX — columns by overdue/today/later, type then assignee grouping, “Activities for this record” in the messages panel; activity CSS and Vitest coverage.
  • SUM-PLAT-18 (currency / monetary): Arch currency_field for monetary fields, MonetaryField + list formatting, reference model platform.pricing.sample (platform depends on currency); conversion/pricing tests.
  • Web / session: Fix session loss on reload; optional close session when last tab stops heartbeating (/web/session/touch, tab lease, sumeru.conf.example keys); OAuth/session integration tests extended.
  • Housekeeping: Digest KPI docs/tests, remove dead SWC/CSS; Go 1.26.9, golang.org/x/crypto v0.58.0, SWC vitest/jsdom bumps; merged latest dev (dedicated currency / uom addons).

Not in this PR: SUM-PLAT-06, 20, 23, 25. SUM-PLAT-22 (inbound mail) intentionally not implemented.

Follow-ups (other repos)

After merge, tier-2/3 workspaces should declare currency in manifest where models use CoreCurrency / sdk.Money, run make generate, and update modules — see sibling PRs on sumeru_addons / sumeru_custom_addons if applicable.

Test plan

  • cd sumeru && make (lint, SWC, Go tests, build)
  • From monorepo root: make update-graphify (if tracking graph locally)
  • PLAT-18: Platform → Pricing samples — form/list, monetary symbol follows currency field
  • PLAT-24: Settings → Property definitions; Contacts partner form → Extra properties (char/selection/boolean); gold-tier contact action/domain
  • PLAT-21: Activities board — type headers within columns; open record → messages panel → “Activities for this record”
  • PLAT-19: Automation rules / server actions smoke (create rule, run safe action)
  • Session: Login → hard reload stays logged in; with close_session_on_last_tab enabled, close all tabs → session ends after grace (config as documented in sumeru.conf.example)
  • Fresh DB: install base, currency, platform, mail, contacts; no module install errors

Risk / notes

  • New JSONB column extra_properties on core.partner via normal ORM sync.
  • Platform addon now depends on currency — ensure install order / -u platform on existing DBs.
  • Large SWC surface (activity board, properties widget, shell tab presence); regressions best caught by make + manual Activities/Contacts pass.

…ction UI

Wire record.created/updated/deleted to sys.server.action with unlink-safe
domains, depth cap 5, 60s cooldown via sys.server.action.log, and https-only
webhooks. Run actions as the event actor without bypass; reject sensitive
write: fields. Add activity: server actions and form fields for model,
event, domain, and code.
Introduce sys.property.definition seeding, domain support for field.key,
ORM properties handling, and SWC PropertiesField registration with tests.
Add mail addon for mail.activity and mail.message, board grouping
(overdue/today/later), done/snooze actions, parent deep links, shell
Activities link, and calendar arch date_start behavior. Outbound SMTP
unchanged; no inbound routing.
Stop pagehide GET /web/logout from shell tabs; make GET /web/logout
redirect-only. Portal sign-out uses POST with CSRF. RpcService and HttpService
send unauthenticated clients to /web/login on 401.
…ating

Add shell tab lease and POST /web/session/touch, browser_seen_at on sys.session,
grace checks in resolveSession, and config keys in sumeru.conf.example.
…SWC/CSS

Add addons/digest README and compute test coverage; LinkOAuthUser edge cases;
drop unused sum template parser path, debug aliases, and orphaned message CSS.
Update x/crypto to v0.58.0 and vitest/jsdom patch releases; refresh
package-lock.json (source-map-js audit fix).
Wire currency_field through arch and MonetaryField; add platform.pricing.sample.
Add sys.property.definition views, partner extra_properties, and PropertiesField polish.
Group activity board by type; link activities from the messages panel; extend tests.
@ATRIwOX
ATRIwOX requested a review from a team October 12, 2026 19:14
@ATRIwOX
ATRIwOX merged commit 2353659 into dev Oct 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants