Complete Documentation

Comprehensive API reference, configuration, architecture, and changelog for TrackForcePro

Version 2.1.9

🎯 Complete Feature Reference

Explore Mode (Blue) — Querying & Data

Feature Description Entry Point
SOQL Builder Visual query editor with searchable objects, field suggestions, guidance engine (6 rule types), multi-tab queries, inline result editing on compatible fields, virtual table with 1000+ row support, column pinning (max 3), global search with highlighting, per-column filtering, smart view (auto-hide nulls), 5 export formats (JSON, CSV, TSV, Excel, copy) Workspace > Explore > SOQL
GraphQL Builder Three-pane editor (query, variables, response) with CodeMirror 6 autocomplete, real-time validation, pagination support, relationship field navigation, inline edit (if enabled), export to CSV/Excel/JSON Workspace > Explore > GraphQL
Records Record scanner with ID input, bulk scan (up to 200 IDs), All Fields table paginated at 100 per page, inline edit (type-aware), breadcrumb lookup navigation, pinned records (org-scoped), 25-item history, search, comparison mode, related records Workspace > Explore > Records
REST Explorer Method selector (GET/POST/PATCH/DELETE), headers editor, body editor with syntax highlighting, environment variables, collections, request history (per org), chain mode, cURL import/export, Salesforce API catalog, sandbox selection Workspace > Explore > REST
Metadata Explorer (Schema) Search all objects by API name with case-insensitive matching, field properties (type, length, updateable, createable), validation rules, flows, permission sets, custom settings, quick Setup links Workspace > Explore > Schema
User Manager Search users by username/email, bulk update profiles/roles/language, permission matrix drill-down, session manager (sessions per user), freeze/unfreeze actions, access summary (profiles + permission sets), user comparison (up to 5 users), login as Workspace > Explore > Users
Security Manager Browse all Profiles, Permission Sets, Permission Set Groups, view assignments with drill-down, copy API name, quick Setup links Workspace > Explore > Security

Debug Mode (Amber) — Events & Logs

Feature Description Entry Point
Platform Events CometD streaming with real-time event list, event type filtering (dropdown), pause/resume controls, auto-scroll toggle, event payload viewer, log export, event search by topic/timestamp Workspace > Debug > Platform Events
Debug Logs Fetch Setup Audit Trail-style logs filtered by class/method/level (DEBUG, INFO, WARN, ERROR), search, date range filter, stack trace inspection, export to CSV/JSON Workspace > Debug > Debug Logs

Analyze Mode (Green) — Audit & Administration

Feature Description Entry Point
Audit Trail Setup Audit Trail viewer with category filter (Config, Metadata, Monitoring, etc.), date range picker, search by user/action, result count, CSV export, pagination Workspace > Analyze > Audit
Org Health Real-time org limits card (API requests, bulk API, etc.), storage breakdown (data, file, etc.), active sessions count, API usage graph, performance metrics Workspace > Analyze > Org Health
Org Tools (7 Panels) (1) Login As — sign in as any user; (2) Custom Labels — search, export all (CSV), bulk import, translate; (3) Deployments — check recent deploy status; (4) Scheduled Jobs — view, cancel, reschedule; (5) Debug Logs — fetch and view; (6) Org Limits — real-time limits; (7) Admin Utils — 15 quick setup links (profiles, permission sets, custom settings, etc.) Workspace > Analyze > Org Tools
Org & Favicon Custom favicon editor: 8 shape options (circle, square, diamond, etc.), 8 colors, 6 environment presets (prod=red, sandbox=blue, dev=green, etc.), badge label (text up to 3 chars), live tab title and logo updates Workspace > Analyze > Org & Favicon

In-Page Overlays (On Salesforce Pages)

Feature Description How to Access
Show All Data Floating panel on record detail pages: view all fields (including hidden), search by name, filter by updateable, inline edit (type-aware: text, boolean select, textarea), breadcrumb navigation to related records, copy field name/value, field history quick link Right-click > Show All Data, floating button on record pages, or configurable keyboard shortcut
Sidebar Quick-access panel on every Salesforce page: configurable shortcuts to SOQL, Schema, Records, REPL, Audit, User Manager, etc. Position: Right/Left/Bottom. Visibility toggle, width adjustment (500px–900px), collapse/expand Ctrl+Shift+S or sidebar button
Command Palette Global feature search: search all tabs and views by name, record ID detection (15-18 char IDs auto-launch Records), arrow key navigation, Enter to select, Escape to close, recent searches, favorites Ctrl+K (browser may intercept) or click trigger button
Context Menu Right-click on record pages for 5 quick actions: Show All Data, Field History, Sharing, SOQL Builder (pre-fill object), Copy Record ID Right-click on record page
LWC Explorer Page-side inspector: component tree view, trace filtering (All, Apex, UI API, GraphQL, Fetch/API, Errors), request/response inspection, edit code/apex links, performance metrics per component, activity feed with timestamps Sidebar or Command Palette (Ctrl+K > "LWC")
LMS (Beta) Lightning Message Service monitor: subscribe/unsubscribe to channels, publish messages with JSON payload editor, activity log with timestamps and payloads, channel list with field count badges, subscribe status indicator LWC Explorer > LMS pill

🏗️ Three-Surface Model

1. Launcher Popup

Quick-access menu shown by clicking the extension icon. Appears as a compact popup (~240px wide).

  • Current Org Display: Shows org name, instance URL, and favicon
  • Quick Jump Buttons: SOQL, GraphQL, Records, Schema, REST, Audit, Debug Logs
  • Resume Workspace: Button to open the last-used workspace tab (if exists)
  • Open Full Workspace: Link to new full workspace tab
  • Settings Gear: Quick link to Settings tab

2. Workspace Tab

Full-screen browser tab for serious work. URL: chrome-extension://[ID]/popup.html

  • Header: Brand logo, mode pill selector (Explore/Debug/Analyze), view tabs, search bar, theme toggle
  • Mode Bar: Switch between 3 modes; mode persists across sessions
  • View Tabs: Per-mode tabs visible only in active mode (7 tabs in Explore, 2 in Debug, 4 in Analyze)
  • Settings Drawer: Slide-over drawer (not a tab) for all configuration
  • Persistence: Last-used mode and view tab remembered per session

3. In-Page Overlays

Floating panels and menus injected onto Salesforce pages via content script.

  • Show All Data Panel: Floating inspector on record pages; position configurable (right/left/bottom)
  • Sidebar: Floating shortcut panel (right/left/bottom), width 500px–900px, collapse button
  • Command Palette: Modal search overlay (Ctrl+K); triggered position customizable
  • Context Menu: Native right-click menu injected by chrome.contextMenus API
  • LWC Explorer: Right-side dock panel (~600px wide) with tree + detail pane
  • LMS Monitor: Sub-panel inside LWC Explorer dock

⌨️ Complete Keyboard Shortcuts

Browser-Native Shortcuts (Built-In)

Action Windows/Linux macOS Scope Configurable
Show Sidebar Ctrl+Shift+S Cmd+Shift+S Salesforce pages Yes
Show All Data Configurable Configurable Record detail pages Yes
Command Palette Ctrl+K Cmd+K Workspace + Salesforce pages (browser may intercept) Yes
Run Query (SOQL/GraphQL/REST) Ctrl+Enter Cmd+Enter Query builder tabs only No
Save Settings Ctrl+S Cmd+S Settings tab No

Customizable Shortcuts (Settings > General)

Three actions can be customized with any key combination:

  • Toggle Sidebar: Default Ctrl+Shift+S — customize in Settings > General > Keyboard Shortcuts, then reset button
  • Toggle Show All Data: No default shortcut — set in Settings > General > Keyboard Shortcuts. Primary access is via the floating button on record detail pages or the right-click context menu.
  • Command Palette: Default Ctrl+K — customize in Settings > General > Keyboard Shortcuts, then reset button

In-Query Editor Shortcuts

  • Ctrl+Space — Autocomplete (SOQL/GraphQL)
  • Ctrl+/ — Toggle comment line (SOQL/GraphQL)
  • Ctrl+F — Find in query (SOQL/GraphQL)

SOQL Result Table Shortcuts

  • / — Navigate rows
  • / — Navigate columns
  • Enter — Select row or drill into linked record
  • Escape — Deselect
  • Space — Toggle row checkbox
  • Ctrl+A — Select all visible rows

💾 Storage Keys Reference

All user data is stored in chrome.storage.local (or browser equivalent). Keys are org-scoped to prevent cross-org data leaks.

Settings & Preferences

tfp_appearance_theme: 'light' | 'dark' | 'system'
tfp_appearance_font_size: number (12-18px)
tfp_sidebar_width: number (500-900px)
tfp_sidebar_position: 'right' | 'left' | 'hidden'
tfp_sad_panel_settings: { position: 'right' | 'left' | 'bottom' }
tfp_cp_trigger_settings: { position: 'right' | 'left' | 'bottom' }
tfpCustomShortcuts: { [actionId]: { key, ctrl, shift, alt, meta } }

Org & Session Data

orgRecords: [{ orgId, hostname, name, favicon, environment, ... }]
tfpInlineEditDisabledOrgs: { [orgId]: true }
tfp_pinned_records_[orgId]: [{ recordId, name, type, ... }]
tfp_record_history_[orgId]: [{ recordId, name, type, timestamp }] (25 items max)

Workspace State

tfp_last_mode: 'explore' | 'debug' | 'analyze'
tfp_last_view: string (e.g., 'soql', 'records', 'audit')
tfp_soql_queries_[orgId]: [{ id, name, query, created }] (multi-tab)
tfp_graphql_queries_[orgId]: [{ id, name, query, variables }]
tfp_rest_collections_[orgId]: [{ id, name, requests }]
tfp_rest_history_[orgId]: [{ id, method, url, timestamp }]

Layout & Customization

tfp_column_widths_[orgId]: { [columnKey]: widthPx }
tfp_lwc_dock_mode: 'open' | 'closed'
tfp_sidebar_shortcuts_[orgId]: [{ id, type, label, feature }]

Session & Transient Data

tfp_soql_popout: { query, results, state } (auto-deleted after read)
tfp_session_cache_[orgId]: { accessToken, instanceUrl, expiresAt }

Cache & Index

tfp_describe_cache_[orgId:objectName]: { fields, fieldPaths, ... }
tfp_soql_guidance_index: { ruleId, rule, examples }

⚙️ Configuration & Settings

Settings Sub-Tabs

  • Org Management: Saved orgs list with environment label and per-org inline edit toggle
  • Appearance: Theme (light/dark/system), font size (12-18px)
  • General: Configurable keyboard shortcuts, tab visibility toggles (show/hide per tab)
  • Sidebar: Position (right/left/hidden), width (500-900px clamp), quick-tool shortcuts, Show All Data button position, Command Palette trigger position
  • Layout: Result view density (Normal 38px / Compact 26px / Dense 20px), SOQL column widths (persisted per org)
  • Backup: Cache management (clear cache, reset to defaults), backup/restore (JSON export/import)

Org Management Per-Org Toggles

  • Org ID: 15-char or 18-char SF org ID
  • Org Name: Display name from org records
  • Environment: Prod, Sandbox, Dev Org, Scratch Org (label only)
  • Instance: US, EU, Asia, China, etc.
  • Allow Editing: Boolean toggle for inline edit protection (fail-open if not in list)
  • Delete Button: Removes org from saved list

Inline Edit Protection

Inline editing is disabled by org ID. If an org ID is NOT in the tfpInlineEditDisabledOrgs map, editing is allowed.

  • Check on load: Compare session org ID (both 15 and 18-char) against the map
  • Show warning toast if blocked: "Inline editing is disabled for this org"
  • Per-tab guards: Records, SOQL Builder, Show All Data all check the same protection

Sidebar Quick-Tool Customization

Configure shortcuts in Settings > Sidebar. Each shortcut can point to:

  • A workspace feature (SOQL, Records, Schema, etc.)
  • A Salesforce page (Setup, Reports, etc.)
  • A saved SOQL query
  • A custom command (record lookup, etc.)

🏛️ Architecture Overview

Three-Layer Extension Model

Service Worker (background.js)

Orchestrates API calls, session management, tab tracking, message routing. ES modules. Imports: bg_session_auth.js, bg_sf_api.js, bg_org_tab_tracking.js, bg_popup_windows.js, bg_context_menus.js, bg_streaming.js, bg_command_dispatch.js

Popup UI (popup.html/popup.js)

Main workspace tab. IIFE + window globals. Loads 25+ helper scripts via script tags. Renders 3-mode, 9-tab interface with settings drawer.

Content Script (content.js)

Injects overlays on Salesforce pages. IIFE. Detects SF pages, sends messages to background.js, renders Show All Data, Sidebar, LWC Explorer, context menus.

Helper Scripts

Modular task handlers (IIFE pattern). soql_helper.js, graphql_helper.js, audit_helper.js, data_explorer_helper.js, user_manager_helper.js, security_helper.js, org_tools_helper.js, settings_helper.js, etc.

Module Systems

Background (Service Worker): ES modules (import/export). Popup + Content: IIFE + window globals (no import/export).

Data Flow

  1. User interacts with Workspace or Salesforce page
  2. UI sends message via chrome.runtime.sendMessage() to background.js
  3. Background.js routes to appropriate handler (bg_sf_api.js, bg_org_tab_tracking.js, etc.)
  4. Handler calls Salesforce REST/Tooling/GraphQL API with session from bg_session_auth.js
  5. Result cached in chrome.storage.local (org-scoped by ID)
  6. Response sent back to popup or content script

Session Management

Session detected from Salesforce cookies (sid, sfdc, etc.). Flows:

  1. Content script detects SF page → sends session to background.js
  2. Background stores in orgInstanceMap (one per org)
  3. Popup requests session via GET_SESSION message
  4. Fallback: Utils.getSessionFromCookies() if service worker is crashed

Permissions

See Permissions section below.

🔐 Permissions Explained

Required Permissions

  • storage — Local storage for settings, cache, workspace state
  • tabs — Tab management, URL detection for Salesforce pages
  • scripting — Inject content script into Salesforce pages
  • webRequest (background only) — Optional monitoring of Salesforce API calls
  • contextMenus — Right-click menu on record pages

Host Permissions

https://*.salesforce.com/* https://*.lightning.force.com/* https://*.visual.force.com/* https://developer.salesforce.com/*

Why We Ask for What We Ask

  • Cookies: We read browser cookies to detect Salesforce session (sid), not to track you
  • Scripts: We inject the content script only on Salesforce pages to enable overlays
  • Storage: All settings are stored locally in your browser, not sent to any server
  • Network: We only make CORS requests to your Salesforce instance (not cross-origin)

What We DON'T Do

  • We don't collect usage analytics
  • We don't send your data to external servers
  • We don't modify Salesforce UI without your explicit action
  • We don't store API responses beyond your current session

🌐 Browser Compatibility

Supported Browsers

Browser Min Version Notes
Chrome 88+ (Jan 2021) Full support, native MV3
Edge 88+ (Jan 2021) Full support, native MV3
Firefox 109+ (Jan 2023) Full support with polyfills for chrome.* APIs
Opera 74+ (Jan 2021) Full support, Chromium-based

Known Issues by Browser

  • Firefox: Content script context may invalidate during SPA navigation. Reload the Salesforce page if "Extension context invalidated" appears. Gecko ID required in manifest.json.
  • Opera: No known issues. Chromium-based, full Chrome API support.
  • Edge: Requires Microsoft Store installation or manual developer mode loading. Full API support.

API Polyfills

Firefox doesn't use the chrome.* namespace natively; it uses browser.*. The extension maps chrome.* → browser.* automatically at build time via manifest build script.

📋 Version History & Changelog

v2.1.8 (Current)

Analytics & Build Fixes: Extracted GA4 credentials into separate analytics_config.js (gitignored) with template file and full setup instructions; Fixed CORS errors by routing analytics through background service worker; Fixed missing analytics_helper.js in build output; Fixed locale description exceeding 132-char Chrome Web Store limit; Added contextMenus permission justification and all 7 host permissions to submission docs.

v2.1.6

Improvements: Documentation accuracy pass — keyboard shortcut references validated against codebase; Settings guide corrected (Ctrl+Shift+S default, unassigned defaults clarified); Chrome Web Store submission updated with full feature coverage, all 7 host permissions, and contextMenus permission; Version consistency maintenance.

v2.1.5

Features: Two-row header layout with tab scrolling; LMS Explorer redesign with detail pane; SOQL virtualized table with column pinning and smart view; Compact result toolbar; Pop-out results window; Collapsible query editor; Bug fixes in suggestion engine.

v2.1.3

Features: Independent button positioning (Show All Data, Command Palette); LMS bridge rewrite with 4 real Aura strategies; Subscribe/unsubscribe UI; LMS status pill with activity log; Full dark theme for LMS.

v2.0.7

Features: Configurable keyboard shortcuts; Per-org inline edit toggles; Tab reorganization (Records promoted, Org Tools → top-level); Org Management table in Settings.

v2.0.0

Major Release: Complete 3-mode architecture (Explore/Debug/Analyze); Launcher popup redesign; Workspace tab consolidation; Settings tab redesign; 9-tab interface; Cross-browser support (Chrome, Edge, Firefox, Opera).

v1.9.7

Features: Virtualized SOQL result table with 1000+ row support; Column pinning, filtering, sorting; Compact toolbar with density modes; Full-screen and focus modes; Inline edit callback delegation.

v1.9.6

Features: LMS Explorer detail pane; Context-aware empty state; Beta badge on LMS; Network detail overflow fix; Extension context invalidated error fix.

v1.9.5

Features: SOQL relationship field links (dot-notation); LWC Explorer live mode (3s polling); Labeled buttons; Dock persistence; LMS bridge rewrite; Two-row header layout.

v1.8.6

Features: Independent button positioning for Show All Data and Command Palette; Bottom position support.

v1.8.2

Features: Save & Apply button; Org Management table with inline edit toggles; Multi-source org ID resolution.

v1.8.0

Features: Per-org inline edit toggles; Configurable keyboard shortcuts; Tab reorganization; Org Tools promoted to top-level tab.

v1.5.0

Features: Show All Data floating panel; Content script injection; Inline field editing; Command Palette; Context menu.

v1.0.0

Initial Release: SOQL Builder, GraphQL Builder, Records, REST Explorer, Audit Trail, Platform Events, Org Tools, Settings.

🔄 Migration Guides

Upgrading from v1.x to v2.0+

What Changed: Major UI reorganization (3-mode architecture, Launcher popup, Settings redesign, tab reorganization).

  • Your existing SOQL queries and REST collections are automatically migrated
  • Inline edit setting (old tfpDisableInlineEditProd boolean) is auto-migrated to per-org map
  • Sidebar shortcuts are renamed: old "de-tool" → "rec-tool" (Records), "org-panel" → "org-tool" (Org Tools)
  • Data Explorer tab is now called Records; Org & Favicon is now Org Management
  • No manual action needed — upgrade seamlessly

Switching Machines

How to transfer settings:

  1. On old machine: Settings > Advanced > Backup → Export JSON
  2. Install extension on new machine
  3. On new machine: Settings > Advanced > Restore → Import JSON

Clearing Cache & Resetting Defaults

  1. Settings > Advanced > Cache Management
  2. Click "Clear All Cache" — removes describe results, search history, workspace state
  3. Click "Reset to Defaults" — restores all settings to initial state