🎯 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
Org & Session Data
Workspace State
Layout & Customization
Session & Transient Data
Cache & Index
⚙️ 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
- User interacts with Workspace or Salesforce page
- UI sends message via chrome.runtime.sendMessage() to background.js
- Background.js routes to appropriate handler (bg_sf_api.js, bg_org_tab_tracking.js, etc.)
- Handler calls Salesforce REST/Tooling/GraphQL API with session from bg_session_auth.js
- Result cached in chrome.storage.local (org-scoped by ID)
- Response sent back to popup or content script
Session Management
Session detected from Salesforce cookies (sid, sfdc, etc.). Flows:
- Content script detects SF page → sends session to background.js
- Background stores in orgInstanceMap (one per org)
- Popup requests session via GET_SESSION message
- Fallback: Utils.getSessionFromCookies() if service worker is crashed
Permissions
See Permissions section below.
🔐 Permissions Explained
Required Permissions
storage— Local storage for settings, cache, workspace statetabs— Tab management, URL detection for Salesforce pagesscripting— Inject content script into Salesforce pages-
webRequest(background only) — Optional monitoring of Salesforce API calls contextMenus— Right-click menu on record pages
Host Permissions
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
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.
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.
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.
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.
Features: Configurable keyboard shortcuts; Per-org inline edit toggles; Tab reorganization (Records promoted, Org Tools → top-level); Org Management table in Settings.
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).
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.
Features: LMS Explorer detail pane; Context-aware empty state; Beta badge on LMS; Network detail overflow fix; Extension context invalidated error fix.
Features: SOQL relationship field links (dot-notation); LWC Explorer live mode (3s polling); Labeled buttons; Dock persistence; LMS bridge rewrite; Two-row header layout.
Features: Independent button positioning for Show All Data and Command Palette; Bottom position support.
Features: Save & Apply button; Org Management table with inline edit toggles; Multi-source org ID resolution.
Features: Per-org inline edit toggles; Configurable keyboard shortcuts; Tab reorganization; Org Tools promoted to top-level tab.
Features: Show All Data floating panel; Content script injection; Inline field editing; Command Palette; Context menu.
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:
- On old machine: Settings > Advanced > Backup → Export JSON
- Install extension on new machine
- On new machine: Settings > Advanced > Restore → Import JSON
Clearing Cache & Resetting Defaults
- Settings > Advanced > Cache Management
- Click "Clear All Cache" — removes describe results, search history, workspace state
- Click "Reset to Defaults" — restores all settings to initial state