Skip to content

Order config lifecycle management, full config list, live activity timeline - #350

Merged
roncodes merged 1 commit into
release/v0.6.71from
fix/order-config-lifecycle-management
Oct 5, 2026
Merged

roncodes merged 1 commit into
release/v0.6.71from
fix/order-config-lifecycle-management

Conversation

@roncodes

@roncodes roncodes commented Oct 5, 2026

Copy link
Copy Markdown
Member

Summary

Follow-ups from testing the configured order lifecycle (merged in #346) with the Porsche RSA Loan extension.

  • Order Config › Lifecycle tab (new). View and edit meta.lifecycle from the console: initial activity, completed / canceled activities, terminal activities, allow dispatch, strict transitions. Options come from the config's activity flow; a lifecycle that references an activity missing from the flow cannot be saved. Removing the configured lifecycle asks for confirmation and restores the default dispatch lifecycle. Before this there was no way to see whether a config had a configured lifecycle, let alone manage it.
  • Order Config manager lists every config. loadOrderConfigs used store.findAll('order-config'), which resolves immediately with whatever configs the store already holds (for example a single config embedded in an order loaded earlier) and only refreshes in the background — Array.from then froze that partial list. Configs created after the console session started (here, the extension-installed RSA Loan config) never appeared in the selector. It now fetches with reload: true.
  • Activity timeline follows server-side status changes. Order::Details::Activity only reloaded tracking statuses through the Update Activity modal. With a configured lifecycle the status can change on an ordinary save (e.g. assigning a vehicle advances the order), through an extension action, or through a realtime update, leaving the timeline stale until a page reload. The panel now reloads activity when the order's status changes.

Test plan

  • Fleet-Ops › Settings › Order Configuration: every company config is listed in the selector, including configs created while the console was open.
  • Lifecycle tab: toggle on, pick activities, save; reload and confirm meta.lifecycle persisted; toggling off asks for confirmation and removes it.
  • Lifecycle tab: select an activity, then delete it from the Activity Flow tab — the Lifecycle tab reports the missing activity and refuses to save.
  • Order details: trigger a status change outside the Update Activity modal (e.g. a configured-lifecycle config whose save advances the order) and confirm the timeline refreshes without a page reload.
  • ember-template-lint / eslint pass on the changed files (run locally).

…meline

- Order Config: add a Lifecycle tab to view and edit `meta.lifecycle` (initial,
  completed, canceled and terminal activities, dispatch, strict transitions),
  with validation against the activity flow.
- Order Config: always fetch the config list. `findAll` resolved with the subset
  the store already held (e.g. an order's embedded config) and only refreshed
  in the background, so configs created later were missing from the manager.
- Order details: reload the activity timeline when the order's status changes
  outside the Update Activity modal (configured lifecycle advancing on save,
  extension actions, realtime updates).
@roncodes
roncodes merged commit ccf5c35 into release/v0.6.71 Oct 5, 2026
6 checks passed
@roncodes
roncodes deleted the fix/order-config-lifecycle-management branch October 5, 2026 05:03
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.

1 participant