First Class TrackActive plugin release
First Class Track Change Log
V1.0-B15 — 2026-10-21 - Restore automatic eBay shipping status confirmation badges: SHIPPED, UNSHIPPED, CANCELLED, MIXED, UNAVAILABLE. - Keep fast B14 initial local order table; retrieve shipping asynchronously in <=20 visible-order batches only AFTER rendering, never under the global spinner. - Check pending local shipments first; display progress and update each cell as eBay results arrive. - Confirm combined-order status only after verifying each source; persist shipped dates only for all-shipped combined orders with complete timestamps. - Retain manual Refresh eBay shipping status button (forces fresh eBay lookup). - No startup migration or automatic communications sync; no eBay buyer/message API calls during Orders Management. - No database schema changes; preserve stored FCT shipping labels, tracking numbers and locally imported shipped dates. V1.0-B14 — 2026-10-21 - CRITICAL: Fix the Orders Management initial AJAX search crashing on WordPress jQuery noConflict: a free `$` reference was outside the jQuery-ready callback lexical scope, immediately after showSpinner(). - Use locally bound jQuery handle before starting AJAX; display a useful error if jQuery is unavailable. - Always dismiss the global spinner when AJAX completes or fails. - Add a 45-second request timeout and visible diagnostics for failures. - Retain B13 restrictions on live eBay API calls and automatic background sync; shipped-date check remains manually available. - No order database rebuild or schema changes in this release. V1.0-B13 – Startup migration disabled; cron communications paused; orders queries reduced. V1.0-B12 — Orders Management local data load optimization - Critical: skip 3 costly item-history queries per item when merely displaying orders; preserve legacy COGS logic in non-table contexts. - Bulk-read saved item images for visible orders with a single user-scoped query. - External Bootstrap and Font Awesome CSS now load without blocking the DOM/initial order search. - Instrument real Orders load durations (AJAX, SQL, PHP render, image/row prefetch, FJ cache, payment shortcode, communications). - B11 eBay API restriction remains: no automatic eBay calls while displaying Orders Management; manual shipped-date refresh only. - No database schema migration; original plugin folder retained. V1.0-B11 - 2026-10-21 First Class Track V1.0-B11 — Temporary eBay Shipped-Date-Only Performance Mode October 21, 2026 CHANGES - Orders Management initially renders from local database records. No eBay API calls during page load or search. - Disabled eBay buyer profile, member message, conversation and unread-badge lookups on Orders Management (including B10's on-hover AJAX handler). - Removed eBay live cancellation/other status changes from the table; only shipped dates may be retrieved from the eBay GetOrders API through a manual button. - Added "Check eBay shipped dates" button; validates logged-in user and order ownership, calls only GetOrders in batches of up to 20 FCT order numbers per request, writes dates to local database only upon confirmed positive timestamps. It never blocks the initial table render. - Multi-order shipment dates are updated only when every associated source order has a confirmed shipped time. - FJ live order status HTTP call removed from initial table rendering too (up to 15 second blocking delay); previously cached FJ statuses can display. New FJ live state will not appear until local data is refreshed or another feature updates its cache. - Search AJAX now includes sql/table rendering timings in `timing_ms` to diagnose any remaining bottleneck. - Preserved existing order display, FCT shipping-label workflow, local customer communications badges, cached/imported order data, upload and search, all without eBay API calls in the table flow. SCOPE / LIMITS - Temporary restriction applies to the Orders Management screen and its B10 hover endpoint; standalone eBay API/Customer Communications admin tools elsewhere are unchanged. - Shipped dates reflect locally imported values until the button is clicked. No automatic eBay status polling during initial table load. - No live site performance test possible from the ZIP; PHP syntax, JavaScript syntax and ZIP structure should be verified before production. V1.0-B10 - 2026-10-21 - eBay Orders Management no longer executes separate buyer profile, GetOrders, GetMemberMessages, and unread-conversation calls for every visible eBay order while rendering its badges. - Buyer/profile badge data now loads on actual hover/click through a nonce-protected AJAX handler that verifies ownership of the stored order; existing 15-minute cached snapshots still display immediately. - First table request begins when the search handlers bind rather than waiting for window.onload and every browser asset to complete. - Removed an unnecessary second external jQuery include from the search bar. - Reuses eBay Orders schema metadata within each request instead of running DESCRIBE once for every displayed order. - Live shipping-status checks (GetOrders batch of up to 20), their 5-minute cache, reconciliations, and FJ status checks are intentionally unchanged. - Database schema unchanged, stable plugin folder First Class Track/. V1.0-B9 - 2026-10-01 - Platform import API now accepts PLT's explicit `shipping_upgrade_override` flag. - An overridden order can bypass the duplicate FCT >$25 seller-funded Ground Advantage gate while retaining all service/address eligibility checks. - Over-$25 shipment groups are allowed only when every newly added order carries the explicit override (Puerto Rico exemption unchanged). - Successful overridden imports explicitly report that the PLT shipping-upgrade override was honored. - Persists override authorization in USPSBCG_platformImports so print-time label eligibility uses the same decision. - Database schema advances to 2026.10.01.1 to add USPSBCG_platformImports.shipping_upgrade_override. Stable plugin folder remains First Class Track/. V1.0-B8 - 2026-09-26 - Corrected PLT customer-status business-day age: ship date = Day 0; Saturdays, Sundays, and USPS holidays never count. - Added authoritative Day 6/Day 8 delivery-window dates. - tracking-profile exports the last three events actually tagged eMail Sent and latest USPS anticipated-delivery evidence. - Elapsed status age is no longer allowed to run forward to a future EDD. - Database schema unchanged at 2026.09.08.1. V1.0-B6 - 2026-09-21 - Platform Listings imports no longer reject a shipment because the country field is blank, abbreviated differently, or names a USPS domestic-treated destination such as Marshall Islands. - FCT now determines domestic-label eligibility from a default whitelist of USPS two-letter destination codes: 50 states, DC, AS/FM/GU/MH/MP/PR/PW/VI, and military AA/AE/AP. - State/territory input is normalized to a two-letter code before storage after it passes the whitelist; unsupported codes return a specific state/territory-code rejection message. - Country remains stored as supplied for reference but is excluded from label eligibility and destination grouping, so country spelling differences cannot split otherwise identical shipments. - Puerto Rico seller-funded $25+ handling now keys from the validated PR destination code rather than country text. - Database schema remains unchanged at 2026.09.08.1. Stable plugin folder remains First Class Track/. V1.0-B5 - 2026-09-21 - Upgraded the USPS business-day calculator so an Estimated Delivery Date is considered current only when the newest shipment event still carries that estimate. - A newer shipping event with no Estimated Delivery Date now invalidates an older estimate instead of letting the stale date permanently stop the elapsed-business-day clock. - Once an old EDD is invalidated, the calculator resumes through the current time; if a still-newer event supplies a replacement EDD, that replacement becomes the active stop date. - Regression case from the Tracking Dashboard: Sep-11 shipment + Sep-14 EDD + later Sep-14/Sep-21 scans with no EDD now reports 5 full USPS business days as of Sep-21 13:54 EDT instead of remaining frozen at 1. - Added calculator diagnostics for the last observed EDD, the event that supplied it, and the newer event that invalidated it. - Database schema remains unchanged at 2026.09.08.1. Stable plugin folder remains First Class Track/. V1.0-B4 - 2026-09-13 - Moved the public elapsed-business-day guidance into the existing Tracking Report cell instead of using a separate full-width row. - Removed the blue callout treatment so the guidance visually blends with the USPS tracking history. - Keeps the existing business-day calculation and 6–8 business-day First Class reminder unchanged. - Logged-in Tracking Dashboard behavior and database schema remain unchanged. V1.0-B3 - 2026-09-13 - Public/non-logged-in Tracking Report now shows how many whole USPS business days have already elapsed for the shipment. - Reuses the existing FCT_USPS_Full_Business_Day_Calculator, including the existing USPS weekend/holiday rules. - Elapsed-day display intentionally excludes future Estimated Delivery Date time so the customer sees days already passed as of now. - If USPS has not produced a parseable scan event yet, the same calculator falls back to the label/batch date so zero-scan shipments still receive an elapsed-business-day count. - Public reminder states: USPS First Class takes 6–8 business days for delivery. - Logged-in Tracking Dashboard behavior is unchanged. No database schema change. V1.0-B02ae - 2026-09-10 - Customer Communications: removed the keyword-gated eBay media repair that skipped image-bearing messages whose authored text did not literally say picture/photo/image/attachment. - Exact media recovery now scans every local Inbox/Sent bubble with a numeric My Messages MessageID and zero stored media, then writes returned MessageMedia to that exact DB record by MessageID. - A media-version bump now reopens the full configured eBay lookback instead of only the normal one-day sync overlap, so older image-bearing messages are actually revisited after upgrade. - Exact repair prefers XML MessageMedia and falls back to HTML image extraction only when XML is empty, preventing duplicate $_1/$_0 variants of the same eBay image from rendering twice. - Thread #18 case: MessageID 211872392066 / DB 170 is now eligible for repair even though its text does not contain a media keyword; the recovered eBay image is rendered by the existing thread-bubble image renderer. - No database schema change. V1.0-B02ad - 2026-09-09 - Customer Communications: repaired the B02ac Media Diagnostic layout where stripped eBay HTML indentation was preserved as hundreds of blank lines, making the actual exact-message probes effectively unreachable. - Diagnostic message bodies are now whitespace-compacted and height-bounded; priority zero-media turns whose text mentions a picture/photo/image/attachment are surfaced at the top with jump links to their exact MessageID probe. - Exact GetMyMessages HTML media extraction now accepts a direct EPS/image HREF even when eBay renders it as a text filmstrip link with no nested IMG element. - Media replay marker bumped to message-media-v6-exact-html-href so the corrected extraction path is forced once after upgrade. - Preserves exact MessageID-to-DB-record attachment routing; no database schema change. V1.0-B02ac - 2026-09-09 - Customer Communications: fixed the remaining eBay picture-recovery blind spot exposed by thread #18 / faunaf0. - Exact media repair now probes the visible My Messages MessageID with GetMyMessages DetailLevel=ReturnMessages before using GetMemberMessages as an ASQ fallback. - Existing known MessageIDs can no longer be skipped during the B02ac media repair pass; media marker bumped to message-media-v5-exact-my-message-id to force one corrected full-detail replay. - Missing-media candidate repair maps returned MessageMedia directly back to the exact DB record instead of guessing the seller response from exchange LastModifiedDate. - Media Diagnostic now traces every visible bubble through local DB state, exact GetMyMessages ReturnMessages, XML MessageMedia, embedded HTML image candidates, normalizer output, raw message XML, intended DB/renderer state, and GetMemberMessages fallback. - No database schema change. V1.0-B02ab - 2026-09-09 - Customer Communications: fixed exact eBay media recovery dropping buyer Question.MessageMedia while looking only at seller response_media. - Exact media repair now routes buyer Question media to incoming turns and seller Response media to outgoing turns. - eBay exchange parser now preserves per-Response media plus image URLs embedded in question/response HTML. - Added read-only per-thread eBay Media Diagnostic modal with local transcript IDs/media, live exact GetMemberMessages results, buyer/seller media separation, and Copy Diagnostic. - Bumped media replay marker to message-media-v4-bidirectional-exact-thread. - No database schema change. V1.0-B02z - Customer Communications database-native eBay thread union and embedded picture recovery V1.0-B02y - Customer Communications eBay Sent-thread binding and seller media recovery - Rebinds Sent-folder replies that older builds placed in seller-only threads back into the buyer/item conversation. - Persists and matches GetMyMessages ExternalMessageID as the eBay conversation key. - Adds multi-source buyer inference for Sent rows: SendToName, RecipientUserID, Dear wrapper, subject hint, external conversation key, and existing incoming context. - Replays known Inbox/Sent details once, repairs existing thread_id/buyer/item/order context, and deletes empty orphan thread shells. - Merges message media during enrichment and uses documented GetMemberMessages Response values only as de-duplicated gap-fill seller turns. - No database schema change. V1.0-B02x - Customer Communications eBay thread reconstruction and message-media recovery - Removes B02w synthetic duplicate buyer rows. - Recovers missing seller history from full GetMyMessages thread snapshots. - Keeps GetMemberMessages as media/metadata only and no longer uses it as a seller-reply source. - Restores exchange-level eBay message pictures even when no standalone Response node is available. - No database schema change. V1.0-B02v - 2026-09-08 - Fixed Customer Communications Sync Messages HTTP 404 by routing the no-reload sync through a dedicated wp_ajax_fct_cc_sync_now_ajax handler instead of AJAX-posting the redirect-based admin-post.php form. - Added sync progress state/spinner and preserved B02s/B02u stable-position and persistent sizing behavior. - Kept admin-post.php sync as the normal no-JavaScript fallback. - No database schema change. V1.0-B02u - 2026-09-08 - Customer Communications: added persistent 9–20px message font sizing with compact A−/slider/A+ control. - Added mouse/pointer draggable folder/thread panel dividers with per-user persistent widths. - UI preferences are stored in WordPress user meta with localStorage instant restore; AJAX screen updates preserve the chosen geometry. - No database schema change. V1.0-B02t - 2026-09-08 - Repaired eBay conversation-turn parsing so each Inbox/Sent MessageID stands on its own bubble. - Hard-stop quoted eBay history at Dear <member>, Previous message, attribution, reply, original/forwarded-message, order-status and item-ID boundaries. - Added protection for quote markers collapsed onto the end of an authored line (for example "Tim Dear skibe-38,"). - Existing stored eBay messages are cleaned at render time; new imports are cleaned before storage/deduplication. - Preserves B02s no-reload Customer Communications workspace and B02q full Inbox/Sent pagination. V1.0-B02s - 2026-09-08 - Customer Communications: rebuilt the message-list row around a master checkbox + per-thread checkbox column with bright blue unread indicators. - Checkboxes use blue selected boxes with white checkmarks; the master checkbox controls every visible row and shows an indeterminate state for partial selection. - Thread thumbnails are rounded squares, open the live eBay item in a new tab, and carry a lower-right Seller Hub edit shortcut that also opens in a new tab. - Replaced the old Re:/message-subject line in the thread list with the actual local eBay order item title, with a clean subject fallback when no order title is available. - Added no-reload AJAX navigation for folders, thread selection, search, Sync Messages, replies, settings saves, and Gmail disconnect while preserving page position, pane scroll positions, workspace dimensions, and checkbox selection. - No database schema change; stable First Class Track/ folder and all B02r sync/conversation repairs are preserved. V1.0-B02r - 2026-09-08 - Customer Communications: normalize each eBay GetMyMessages row to one current conversation turn instead of rendering the quoted full thread inside one bubble. - Strip Dear/member duplicate blocks, Your previous message/history, member IDs, feedback counts, and other eBay wrapper chrome. - Apply cleanup at display time to existing records and before storage/deduplication for new eBay imports. - No database schema change. V1.0-B02q - 2026-09-08 - Customer Communications: fixed missed eBay messages on high-volume accounts by removing the one-page / newest-100 GetMyMessages collection ceiling. - eBay Inbox and Sent now paginate all headers in the configured lookback window using PaginationResult. - Added one-time full Inbox + Sent paginated history backfill for existing installs and automatic re-backfill when lookback days increase. - Existing stored eBay IDs skip redundant body retrieval; detail-batch failures no longer silently advance sync history. - No database schema change. V1.0-B02p - 2026-09-08 - Customer Communications: fixed eBay wrapper metadata leaking into message bubbles when feedback counts contain thousands separators such as (1,149). - Customer Communications: added cleanup for member-on-marker-line + score-on-next-line wrapper variant. - No database schema change. V1.0-B02m - eBay Inbox + Sent synchronization repair * Fetch FolderID 0 and FolderID 1 independently using the existing two-pass GetMyMessages implementation. * One-time Sent backfill for existing B02 installations. * Preserve eBay folder provenance in source_reference. * Avoid duplicate FCT outbound messages when their Sent-folder copy is later returned by eBay. First Class Track V1.0-B02l - Customer Communications now suppresses unrelated WordPress, plugin, theme, updater, telemetry and recommendation admin notices on that page only. - The suppression runs at the end of admin_head and clears admin_notices, all_admin_notices, network_admin_notices and user_admin_notices callbacks for the Customer Communications request. - Added a CSS fallback for standard notice containers that are printed directly instead of through WordPress notice hooks. - FCT Customer Communications own contextual success/error notice remains visible inside the messaging workspace. - No database schema change; stable First Class Track/ folder and B02k activation repair are preserved. First Class Track V1.0-B02k - Fixed stable-folder activation so an existing B02 database is adopted instead of being sent through the heavy historical migration path. - Removed the pre-init dependency on fct_cc_threads_table()/fct_cc_messages_table() from activation and plugins_loaded schema checks; this was capable of being caught as a misleading database migration failure during activation. - Extended current-schema legacy recognition through B02j. - Added a metadata-only B02 installation detector for folder-identity migrations. - Existing B02 activation updates only the schema/release markers; clean installs retain full schema creation and safety verification. - Package root remains permanently First Class Track/. First Class Track V1.0-B02j - Customer Communications now uses a three-pane native messaging workspace: folder/source navigation, searchable thread list, and active conversation. - Added compact product/avatar thread rows, latest-message previews, source/order context, and persistent unread/Needs Reply state. - Added eBay/Gmail/Fahmah/General source navigation plus Sent and Archive views. - eBay notification-wrapper HTML is minimized to the actual customer text when confidently detected. - Preserves B02h fast boot and all prior behavior; no database schema bump. First Class Track V1.0-B02h - Decoupled plugin version from database schema version so ordinary ZIP replacements do not replay the full migration/audit path. - B02-series installs bootstrap the schema marker with a lightweight structural check; full migrations run only when actually required. - Clean installs skip the redundant full per-column definition sweep after dbDelta. - Removed invalid settings-table indexes that referenced nonexistent imbDigitString/order_id columns. - Delayed the first five-minute cron run until five minutes after activation to keep activation responsive. - Added schema boot timing to the FCT trace log. - Preserves B02g and all prior behavior. First Class Track V1.0-B02g - Customer Communications transcript now uses a minimalist left/right chat bubble layout instead of stacked email-style cards. - Incoming messages show a customer initial avatar; outgoing Tim/FCT messages align right. - Per-message source remains explicit but is reduced to a small transport label beside the compact local time. - Added Today/Yesterday/date separators and automatic scroll-to-latest on conversation open. - Reply composer is compact and messaging-style while preserving the existing send routes and thread logic. - Preserves B02f and all prior behavior. First Class Track V1.0-B02f - Shipping-label PDF popups now use a new unique browser window for every print job instead of the reusable "Printing Labels" target. - eBay Orders and manual address printing pre-open the label window during the user's click, preserving browser popup permission across asynchronous PDF generation. - Stale/unfinished placeholder windows are closed before a new job; completed older PDF windows are never reused by later jobs. - If a browser still blocks the PDF popup, the affected row receives a direct clickable shipping-label PDF link instead of silently requiring DevTools. - Legacy upload printing uses the same print-window manager when available, and packing-slip windows also receive unique names. - Preserves V1.0-B02e and all prior behavior. First Class Track V1.0-B02e - Puerto Rico Economy/First-Class imports are no longer rejected solely because order/physical-shipment value exceeds $25. - Added authoritative PR destination helper to the platform import API. - Per-order and combined-shipment $25 checks retain existing behavior for non-PR destinations. - Preserves V1.0-B02d and prior behavior.
eBay Transactions Database
You have a total of 0 records in the database. Showing records 0 to 0
| Transaction Creation Date | Order Number | Item Title | Gross Transaction Amount | Buyer Name | Description | |
|---|---|---|---|---|---|---|
| No Transactions For You. You have to upload eBay Transactions from a downloaded Transactions report. | ||||||
Page 0 of 1