tracking: support explicit carrier_id and test_mode selection#976
Open
HansDaigle wants to merge 5474 commits intokarrioapi:mainfrom
Open
tracking: support explicit carrier_id and test_mode selection#976HansDaigle wants to merge 5474 commits intokarrioapi:mainfrom
HansDaigle wants to merge 5474 commits intokarrioapi:mainfrom
Conversation
Remove custom async wrappers and logic from mapper.py to strictly follow the Karrio mapper template. The mapper should only contain simple delegation methods that call provider functions. Changes: - Removed create_shipment(), _create_shipment() async wrapper methods - Removed get_tracking(), _get_tracking() async wrapper methods - Removed custom response handling logic from parse_tracking_response() - Updated tracking provider to handle multiple responses from proxy - Mapper now only contains pure delegation methods as per template This follows the template at: github.com/karrioapi/karrio/.../templates/sdk.py
Add pickup preview sheet (side panel) matching the shipment detail sheet pattern. Includes pickup detail view with header, status badge, details sidebar (carrier, confirmation, dates, time window, location), pickup address, parcels, related shipments table with tracker status, tracking records from related shipments, metadata viewer, and activity timeline with API logs and system events. Expand GET_PICKUP GraphQL query to include tracker data on related shipments. Add View details menu option and clickable table rows on the pickups list page.
Add tests for carrier-agnostic pickup scheduling, status transitions, and pickup lifecycle event handling.
Rename CARRIER_CONNECTION_ARCHITECTURE.md to use hyphenated casing (CARRIER-CONNECTION-ARCHITECTURE.md) for consistency.
…nt KeyError when key is missing
Add a dedicated tracker detail page at /trackers/[id] with tracking events timeline, shipment link, metadata editor, and ActivityTimeline for API logs, traces, and system events. Augment the tracker preview sheet with a condensed activity section and "View all" navigation. - Create TrackerComponent with entity-based log/event filtering - Add stacked layout mode to ActivityTimeline for inline detail viewing - Add condensed prop to ActivityTimeline for compact rendering - Fix infinite re-render in trackers list (searchParams object ref) - Fix infinite re-render in trackers filter (variables object ref) - Fix preview sheet showing unrelated logs (hooks initialized before tracker selection)
…ents Stabilize useEffect dependencies across all list pages and filter components to prevent maximum update depth errors. Replace object reference dependencies with stable string representations. - Use searchParams.toString() instead of searchParams object in Shipments, Pickups, Orders, Manifests, and Workflows list pages - Use JSON.stringify(variables) instead of variables object in shipments-filter and orders-filter components
Replace jinja2.Template() with jinja2.sandbox.SandboxedEnvironment in the document generator and workflow automation engine to prevent Server-Side Template Injection allowing authenticated users to execute arbitrary Python code via crafted document templates. Reported by: i0.rs (Georgios Tsimpidas, Edward Passenidis)
- Add weight range per-service scoping with inline CRUD - Add service rate detail view with virtual rows - Add CSV import/export preview for rate sheets - Add zone/surcharge editor dialogs - Enhance carrier connector plugins with services.csv data - Add authentication test fixtures for carriers - Add caching tests and improvements - Add pickup capability migration for dhl_parcel_de - Sync Redis configuration improvements Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
[patch] 2026.1.5
|
@HansDaigle is attempting to deploy a commit to the karrio Team on Vercel. A member of the Team first needs to authorize it. |
Member
|
Merged into patch-2026.1.16 release branch. |
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.
Summary
carrier_idandtest_modetoTrackingDatafor tracking POST APIs.POST /v1/proxy/trackingPOST /v1/trackersWhy
When multiple connections exist for the same carrier, tracking should be able to deterministically target a specific connection/mode, consistent with shipping connection selection behavior.
Tests
carrier_idandtest_modeare forwarded toShipments.track.Connections.firstin serializer flow.Validation
py_compilefor changed files.