Repository navigation
release: v1.6.71 - #313
Merged
Merged
release: v1.6.71#313
Conversation
Lifecycle events for records assigned to a driver (orders, and anything
with a driver_assigned_uuid) went only to driverAssigned.{uuid} and
driverAssigned.{public_id}. Clients that follow the {type}.{id}
convention, such as the Navigator driver app and the console scheduler,
listen on driver.{public_id} and never received them.
They now also go to driver.{public_id} and driver.{uuid}, where the
driver's location and geofence events already arrive. driverAssigned.*
is still published for existing subscribers and is marked deprecated.
broadcastOn() now returns each channel name once.
…never share entries Sandbox requests switch models to the sandbox database without any credential, company or path that tells them apart, so list, model and relationship cache keys collided: test mode served cached live data and live could be served sandbox data. Every key now carries the connection the model reads. Versions stay shared, since a list key carries versions of tables other models write and a cross-connection write only over-invalidates. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…d-orders
fix(events): publish driver-assigned records on driver.{id}
fix: isolate API model cache keys between live and sandbox
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #313 +/- ##
============================================
Coverage 100.00% 100.00%
- Complexity 8881 8931 +50
============================================
Files 472 473 +1
Lines 27918 28057 +139
============================================
+ Hits 27918 28057 +139
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
… server System administrators can now manage the socket server from the console instead of only through the environment: - system.socket.enabled / mode / token_ttl / origins / publisher_origin settings; a missing or cleared one falls back to the environment (SOCKETCLUSTER_AUTH_ENABLED, _AUTH_MODE, _TOKEN_TTL, _OPTIONS.origins, _ORIGIN), which is the behaviour before this change. - SocketSettings resolves the effective values and their sources; the stored values are cached for 60 seconds and the cache is cleared on save. An unreachable settings table reads as nothing stored. - SocketToken::enabled(), the default token TTL and the websocket publisher's Origin header follow the effective settings. - GET/POST int/v1/settings/socket (AdminRequest): effective settings plus the socket server's signed /stats (2 s timeout, short reason on failure). Switching on without SOCKETCLUSTER_AUTH_KEY is refused with 422 key_missing; saves are recorded in the activity log. - GET int/v1/socket/config, signed with the authorize key and answered while the switch is off, so the socket server can apply the switch, mode and origins at runtime. The auth key stays environment-only and is never stored or returned; only key_configured is reported.
…class Find::httpFilterForModel() cached its answer per model class for the life of the process, ignoring the filter a controller sets on its model and whether the request was internal. Under Octane, the first controller to list a model decided the filter for every other: Fleet-Ops' order filter was applied to Storefront's order lists, so a network's orders page listed every order in the company. The cache is now keyed by the model's own filter, and a filter found by convention is picked per request audience. httpRequestForModel() is keyed by the model's own request class too.
feat(socket): admin socket settings (switch, mode, token TTL, origins) with signed config for the socket server
…l-filter fix(find): key the filter and request caches by the controller's own class
A console building a category tree from a flat list (Storefront's nested product categories) needs each category's parent without loading it. The internal Category resource now sends parent_uuid; public responses do not.
feat(categories): include parent_uuid in internal category responses
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v1.6.71. Merging this PR into
maintagsv1.6.71through the release workflow.Included
#312, #311. These fix PRs target this branch; merge them here first.
Part of the Fleetbase Cloud sandbox (test mode) incident fix: core-api v1.6.71, fleetops v0.6.73, billing v0.1.28, internals v0.0.40 and registry-bridge v0.1.11. After all five are tagged, bump them in the fleetbase repo's
api/composer.jsonfor the Cloud deploy. No migrations are needed.The version files and
RELEASE.mdalready name v1.6.71. UpdateRELEASE.mdif anything else lands on this branch.