FieldBase Updates
Patch Notes
Safe update notes for FieldBase. Current patch notes are organized through 1.6.8.3.172. Updates are additive and should never clear user IndexedDB, local storage, or Firebase data.
- Improves Employee Directory deletes so the local delete resolves first and Cloud Sync tombstone/cloud cleanup continues in the background instead of freezing the click handler.
- Adds a visible Deleting... state to employee cards while the local employee record is being removed.
- Keeps Cloud Sync delete tombstones active so deleted employees and schedule items do not reappear after sync.
- Adds safer schedule delete error handling while preserving the existing schedule delete behavior.
- Updates employee and schedule page script/style cache strings so the browser loads the patched delete lifecycle files.
- Does not change Firebase rules, Stripe/billing, Pro guards, Dev guards, invite/team controls, FORGE calculator math, project history, or user account data.
- Updates FieldBase version files and service-worker cache strings to
1.6.8.3.125so Cloudflare/browser cache can pick up the latest patch correctly. - Updates stale
forge-global-writer.jsscript query strings on AI, Directory, and Projects pages so the guarded FORGE writer is not served from an older cache. - Improves mobile wrapping for Settings permission toggles so the switches stay inside their cards on smaller screens.
- Improves Manual Cloud Sync card wrapping so long company IDs and sync status text stay inside the card on mobile.
- Does not change Firebase rules, Stripe/billing, Cloud Sync data behavior, Pro guards, Dev guards, invite/team controls, FORGE calculator math, project data, or user data.
- Changes invite creation to fail closed when the seat manager is missing, late, or unavailable, preventing invites from being created without seat validation.
- Adds invite-acceptance seat validation so an old or pending invite cannot attach a user to a company workspace when the plan is already full.
- Keeps primary developer bypass aligned with solo Pro seat limits unless the actual company billing plan is Pro 10, Pro 25, or Enterprise.
- Refreshes account team/seat display cache versions without adding remove, block, or role-edit actions yet.
- Does not change Firebase rules, Pro guards, role permissions, Dev Center, Cloud Sync, FORGE pricing, existing users, accepted users, or user-created data.
- Adds
assets/js/account-team-overview.jsas a new Account & Billing helper that shows active company users, pending invites, seat usage, and remaining seats. - Updates the seat manager so primary developer bypass follows solo Pro seat limits unless the company plan itself is Pro 10, Pro 25, or Enterprise.
- Refreshes invite seat validation cache versions so regular Pro accounts block extra invites once the owner seat is counted.
- Adds a non-destructive Team Seats panel to Account & Billing. This patch is visibility/enforcement only; remove, block, and role-edit actions are reserved for a later controlled patch.
- Does not change Firebase rules, invite acceptance, role permissions, Pro guards, Dev Center, Cloud Sync, FORGE pricing, existing users, pending invites, or user-created data.
- Adds
assets/js/fieldbase-seat-manager.jsas a new helper foundation for plan seat/user limits. - Rebases the seat manager on the latest Cloudflare footer correction revision so no older dashboard/footer files are restored.
- Validates invite creation against account limits: Free/Pro solo accounts use 1 seat, Pro 10 uses 10 seats, Pro 25 uses 25 seats, and Enterprise/Developer are treated as unlimited.
- Updates dashboard script loading so the seat manager loads before the existing invite system, while preserving the existing invite storage and acceptance flow.
- Does not delete, rewrite, or migrate existing company users, pending invites, roles, Firebase rules, Pro guards, Dev Center, Cloud Sync, FORGE pricing, or user data.
- Adds the FieldBase global footer loader to app HTML pages so Cloudflare deployments can show the shared footer consistently.
- Updates
assets/js/fieldbase-global-ui.js?v=1.6.8.4.81to 1.6.8.3.99 and refreshes footer/cache query strings where the loader already existed. - Repairs the patch notes layout by keeping new release cards below the Patch Notes hero instead of above the page header.
- Aligns
version.json,service-worker.js, andassets/js/version-manager.jsat 1.6.8.3.99 so the update flag can detect this patch. - Does not change Firebase rules, Stripe billing, Pro/free guards, Dev Center controls, Cloud Sync storage, IndexedDB, localStorage, or user-created data.
- Restores stable mixed material + project quote routing after the 1.6.8.3.70 routing break.
- Reverts ai-engine.js to the safe calculator baseline while keeping current version labels.
- Restores the combined quote wrapper so complex quotes are handled before single-item fallback pricing.
- Keeps directory items, calculator sections, and final totals in one normal AI answer block.
- No user data, Firebase rules, billing, private chat scope, Pro guards, or Cloud Sync storage logic changed.
- Moves the final directory + project total merge into
ai-engine.jsso the combined summary is rendered once through the normal AI answer/export pipeline. - Stops the old combined wrapper from re-parsing rendered HTML and duplicating the combined project quote summary.
- Keeps all detected directory items, including long-sentence items like Vantech, while preserving calculator sections.
- Keeps the normal Export, Hide, Yes, and No controls attached to the final answer.
- Preserves user data, Firebase rules, billing, Cloud Sync, private chat isolation, and the existing calculator math.
- Fixes combined quote item preservation so long prompts keep items such as 44 4x8x3/4 Vantech when the same sentence continues into concrete, gravel, or block scope.
- Fixes the project-keyword trimming regex in the combined quote engine so material lines are trimmed safely instead of being dropped.
- Moves the directory + project grand total into the normal project calculator answer section instead of creating a separate odd-looking final block.
- Keeps combined answers inside the standard AI answer card so Export, Hide, Yes, and No remain attached.
- Keeps update flag diagnostics active and does not clear IndexedDB, localStorage, Firebase, Cloud Sync, billing, private chats, directories, projects, or FORGE regional pricing data.
- Stabilizes mixed FORGE quotes that contain saved/regional directory items and project calculator scopes in the same long sentence.
- Preserves item lines such as
4x8x3/4 Vantecheven when the prompt continues into concrete, gravel, or block-wall wording. - Wraps combined quote output in the standard
ai-answer-blockso Export, Hide, Yes, and No answer controls attach like the other AI windows. - Restores visible region/state context where available, such as
TN, without exposing private user, client, or account details. - Uses theme-safe FieldBase-style sections: red accent for directory/material items, blue accent for project calculators, and purple accent for the final total.
- Adds update-flag diagnostics and a safer version manager path so user update banners log current, installed, remote, last-seen, and banner decisions.
- Does not remove, clear, overwrite, or migrate user IndexedDB, localStorage, Firebase, Cloud Sync, project, directory, billing, role, or FORGE data.
- Improves the safe additive FORGE combined quote engine so saved/regional directory line items are included with concrete, gravel, and block project calculator totals.
- Filters project scope phrases out of the material parser so dimensions like
20x20x4 concrete paddo not become false material line items. - Keeps the existing concrete/gravel/block calculator sections and combined project summary intact, then adds a matching directory-total summary below it.
- Uses the existing FORGE multi-item pricing chain for materials, tooling, equipment, and services instead of modifying the working regional pricing reader/writer.
- Keeps the restored 1.4.1.4.4 update flag/version manager intact. User data, IndexedDB, localStorage, Firebase, Cloud Sync, billing, roles, private chats, and directories are not removed or cleared.
- Restores the full FieldBase update banner/version manager after patches 1.4.1.4.2 and 1.4.1.4.3 accidentally shipped a placeholder version-manager file.
- Re-enables local patch notices, remote
version.jsonchecks, service worker registration, and safe refresh/update behavior. - Keeps
version.json,service-worker.js, andassets/js/version-manager.jsaligned on1.4.1.4.4. - Adds a clear patch rule: FieldBase patches must never replace the full version manager with a short placeholder because user update flags are required.
- Does not remove, clear, overwrite, or migrate IndexedDB, localStorage, Firebase, Cloud Sync, project, directory, billing, role, or FORGE data.
- Adds
assets/js/forge-combined-quote-engine.jsas a safe additive layer for mixed material/item + project calculator requests. - Lets FORGE combine known material/item totals with existing concrete, gravel, and block calculator totals when both are present in one prompt.
- Repairs Patch Notes structure so recent FORGE patches appear inside the page instead of above the page header.
- Updates
version.json,service-worker.js, andassets/js/version-manager.jsso the user update flag can show normally. - Does not remove or overwrite user IndexedDB, localStorage, Firebase data, Cloud Sync data, billing records, roles, or the working FORGE regional pricing chain.
- Adds a dedicated multi-item parser for comma-separated and and-separated quote requests.
- Improves matching for typed dimensions such as
2x4x8,2"x4"x8', and similar material forms. - Changes multi-item quote output from a wide table to stacked mobile-friendly line cards.
- Keeps user directory first, user project history second, anonymized FORGE regional data third, and fallback last.
- Adds
assets/js/forge-multi-item-quote-builder.jsfor multiple saved/regional item prices in one response. - Shows quantity, matched item, unit price, source, line total, and combined known item total.
- Does not touch the concrete, gravel, block, billing, Pro, Cloud Sync, or private chat systems.
- Adds the quick save-target menu after users mark a FORGE answer helpful.
- Lets users choose Materials, Tooling, Equipment, Services, Project Pricing, or Knowledge, with auto-selection if they do not answer.
- Improves AI voice input patience during normal speech pauses.
- Preserves private chat isolation and the working regional pricing chain.
- Adds sanitized approved-answer learning when users click Yes on a helpful answer.
- Mirrors safe pricing signals into FORGE global when pricing is detected.
- Does not save private chats, client names, addresses, emails, UIDs, or private project notes globally.
- Fixes FORGE script loading cleanup, normalizer state syntax, and stale backfill script errors.
- Improves fraction item matching such as
4x8x3/4. - Keeps private chat isolation, regional pricing, and user data protections intact.
- Loads the FORGE global writer on the AI Assistant page so local directory/project pricing answers can mirror safe anonymized pricing signals into
/forge. - Backfills signed-in user/company materials, tooling, equipment, and services into the FORGE global index without touching clients or private records.
- Adds exact lookup support for fraction-style items such as
4x8x3/4. - Does not change Stripe, billing, Pro guards, Dev Center, Cloud Sync, Firebase rules, or normal directory saves.
- Rebuilt the Patch Notes page structure so all release cards live inside the normal Patch Notes page instead of appearing above the page header.
- Restored missing recent entries for 1.6.8.3.56 through 1.6.8.3.59 and kept later billing/account/dev notes in order.
- Replaced disabled Freeze soon / Ban soon placeholders with a safe Active/Frozen/Banned status selector and Save Status action for non-developer users.
- Writes account status metadata, ban count preparation, and audit log entries without adding timed bans or automation yet.
- Kept Stripe Worker/webhooks, Firebase rules, payment unlock logic, Pro guards, Cloud Sync, Business Directory, projects, and FORGE logic unchanged.
- Added Dev Center Active/Frozen/Banned status saving foundation with status metadata, ban count preparation, and audit log records.
- Improved Users & Companies and Dev Billing Audit table headers for stronger dark/light theme readability.
- Prepared account-status metadata for the future ban rules/timer system without adding timers yet.
- No Stripe Worker, Firebase rules, payment unlock logic, Cloud Sync, Business Directory, projects, or FORGE logic changed.
- Added a developer-only billing audit section to Dev Center for support review across FieldBase accounts.
- Shows user email/UID, company, plan, billing status, provider, last amount, last payment date, renewal date, masked Stripe customer ID, masked subscription ID, and last billing update.
- Added billing search and filters so the developer can locate a user billing record by email, UID, company, plan, status, or Stripe reference.
- Kept the user-facing Account & Billing page scoped to the current logged-in user only; regular users do not receive the global audit view.
- Did not change Stripe Worker/webhooks, Firebase rules, payment unlock records, Pro guards, Business Directory records, Cloud Sync, projects, Dev Center write actions, or FORGE logic.
- Expanded the Account & Billing page with a verified subscription record section for provider, last payment, amount/currency, next renewal, Stripe customer, and Stripe subscription.
- Added a lightweight account timeline for recent billing checkpoints such as payment verification, plan period start, renewal/period end, and record updates.
- Prepared disabled invoice export and billing portal buttons for a future management patch without connecting new Stripe portal logic yet.
- Kept Stripe Worker, webhook processing, Firebase rules, payment unlock records, Pro guards, Business Directory data, Cloud Sync, projects, and FORGE logic unchanged.
- Kept Business Directory profile data on Settings while moving account and billing detail focus to the Account & Billing page.
- Hid developer-only Pro preview/payment-link controls from normal users so Settings is less confusing for paid accounts.
- Added paid-account CTA cleanup so Pro users stop seeing Start Free and generic Upgrade prompts where the global Pro system can safely manage them.
- Added Account & Billing shortcuts for paid users while keeping Stripe checkout, webhook verification, Firebase rules, and Pro guards unchanged.
- Added a new Account & Billing profile page at /pages/account/account.html.
- Displays current plan, billing status, subscription status, renewal/expiration, user limit, account email, role, and company ID.
- Added Dashboard navigation and Settings link access to the new Account & Billing page.
- Keeps account/billing identity separate from Business Directory profile data.
- Added placeholders for future payment history, invoice export, and Stripe billing portal features.
- Did not move Settings data, alter Business Directory records, change Firebase rules, touch Stripe Worker logic, or modify Pro/free guard behavior.
- Larger, darker, higher-contrast Dev Center user table header labels.
- Light-theme specific header contrast polish.
- Maintains sticky header behavior in the scrollable user table.
- Makes the Users & Companies table easier to scan as the user list grows.
- Improves readability without changing account controls or user data.
- pages/dev/dev.css
- version.json
- service-worker.js
- assets/js/version-manager.js
- pages/patch-notes/patch-notes.html
- Stripe checkout or webhooks.
- Firebase rules or Firebase user records.
- Pro/free guards.
- Freeze/Ban enforcement logic.
- Cloud Sync, IndexedDB data, Business Directory, projects, AI/FORGE, or billing unlock logic.
- 1. Upload the patch files.
- 2. Open Dev Center > Users & Companies.
- 3. Confirm the table header font is larger, darker, and easier to read.
- Visual row highlighting in Dev Center Users & Companies.
- Frozen rows receive amber highlighting.
- Banned rows receive red highlighting.
- Developer rows receive blue highlighting.
- Unknown rows receive neutral highlighting.
- Pro/free row state styling for easier scanning.
- Makes account status easier to locate in large user lists.
- Keeps the user table scrollable with sticky headers.
- Adds display-only row classes based on existing user status, plan, and Pro state.
- assets/js/dev-center.js
- pages/dev/dev.css
- version.json
- service-worker.js
- assets/js/version-manager.js
- pages/patch-notes/patch-notes.html
- Stripe checkout or webhooks.
- Cloudflare Worker code.
- Firebase rules.
- Safer plan-button fallbacks that keep users on Compare Plans unless JavaScript opens secure Stripe checkout.
- A clearer manual checkout fallback page.
- Pro access cache refresh to reduce the brief shaded-button flicker for verified Pro users.
- Paid buttons on Start Free and Features keep data-plan-link behavior for Stripe checkout, but no longer fall back to the old upgrade route if JS is slow or unavailable.
- Direct /pages/upgrade/upgrade.html access remains available only as a manual checkout fallback and never auto-starts Stripe.
- Verified Pro access is cached as soon as the app receives FieldBase access state, reducing flicker on the next page load.
- Plan pages and paid plan link fallback behavior.
- Pro UI startup cache behavior.
- Public landing wording.
- Required version/update files and Patch Notes.
- Stripe Worker/webhooks.
- Firebase rules or Firebase data structures.
- Billing unlock records.
- Cloud Sync, IndexedDB data, Business Directory data, project data, AI engine logic, or Dev Center account controls.
- 1. Log in as a Free user and click AI Assistant, Schedules, Receipts, Trends, Businesses, and paid plan buttons. Locked features should route to Compare Plans; paid plan buttons should open Stripe only after the user chooses the plan.
- 2. Open /pages/upgrade/upgrade.html directly. It should show a manual checkout fallback and should not auto-launch Stripe.
- 3. Log in as a Pro user and open Dashboard/AI/Settings. Pro features should open normally, and the brief locked/shaded startup flicker should be reduced after access loads once.
- 4. Confirm no Stripe Worker, Firebase rule, or user data changes were required.
- Consistent locked Pro feature routing for Free users.
- AI Assistant/FORGE and Businesses Directory are included in shared Pro gating aliases.
- Public wording cleanup for build/promo/developer-facing messages.
- Free users selecting locked Pro features are sent to /pages/features/features.html#plans.
- Direct visits to protected Pro pages redirect to Compare Plans instead of showing a mixed upgrade page or direct checkout.
- Paid plan cards still start checkout only after the user intentionally selects a paid plan.
- assets/js/pro-access.js
- assets/js/pro-system.js
- assets/js/pro-route-guard.js
- assets/js/landing.js
- pages/features/features.html
- pages/start/start.html
- pages/legal/privacy.html
- pages/legal/terms.html
- pages/settings/settings.css
- version.json
- service-worker.js
- assets/js/version-manager.js
- Added the first protected account status guard for Active, Frozen, and Banned account states.
- Added a blocked account page for frozen or banned users.
- Prepared freeze/ban access enforcement while preserving primary developer access.
- Did not change Stripe payments, Pro/free billing unlock logic, Firebase rules, IndexedDB data, Cloud Sync, Business Directory records, projects, or FORGE logic.
- Fixed the Dev Center Users & Companies plan/status dropdowns so option text stays readable instead of white-on-white.
- Added light-theme-safe select backgrounds, text colors, borders, and option colors for the new Dev Center user search/filter controls.
- Kept the fix scoped to Dev Center UI styling only.
- Did not change Stripe payments, Pro/free guards, Firebase rules, Cloud Sync, IndexedDB data, Freeze/Ban behavior, or account records.
- Added a Dev Center user search box for email, UID, company, role, plan, status, billing, and license values.
- Added plan and status filters so growing user lists are easier to inspect without scrolling through every account.
- Made the Users & Companies table vertically scrollable with sticky headers so the Dev Center stays usable as more accounts sign up.
- Added a visible count showing how many users match the current filters.
- Did not change Freeze/Ban behavior, Firebase rules, billing unlock logic, Pro guards, Cloud Sync, or user data structures.
- Combined the skipped 1.6.8.3.50 payment verification foundation into this patch so the current install path moves cleanly from 1.6.8.3.49 to 1.6.8.3.51.
- Corrected the payment success experience to be branded as FieldBase Payment Success instead of FORGE-first billing language.
- Keeps FORGE as a FieldBase AI/quoting feature mention only; no FORGE AI files or logic were changed.
- Updated checkout routing so paid Stripe checkout requires a logged-in FieldBase user and sends uid, email, companyId, and plan metadata to the Cloudflare Worker.
- Added the 1.6.8.3.51 Cloudflare Worker file with Stripe Checkout creation, CORS support, webhook signature verification, and Firebase Realtime Database billing updates.
- Verified Stripe payment events can now write active billing fields to /users/{uid}, companies/{companyId}/profile, companies/{companyId}/users/{uid}, and companies/{companyId}/settings when companyId is available.
- Updated version.json, service-worker.js, and assets/js/version-manager.js to 1.6.8.3.51.
- No Firebase rules, IndexedDB data, Cloud Sync, Dev Center, project data, role guard rewrites, invite logic, or AI engine files changed.
- Removed the repeated scroll visibility console logging from assets/js/fieldbase-back-to-top.js.
- Stops mobile scrolling from filling DevTools with thousands of Back to Top visibility messages.
- Keeps the Back to Top button behavior isolated and unchanged otherwise.
- Leaves Patch 1.6.8.3.48 Stripe checkout routing and Cloudflare Worker CORS changes intact.
- Updated version.json, service-worker.js, and assets/js/version-manager.js to 1.6.8.3.49.
- No Firebase rules, IndexedDB, user data, Cloud Sync, Dev Center, Pro guards, roles, invites, billing unlock logic, project data, or AI logic changed.
- Added a new isolated assets/js/fieldbase-back-to-top.js helper so the mobile scroll fix stays separate from existing FieldBase app logic.
- Updated the Back to Top button to support window scrolling, document scrolling, and internal mobile scroll containers.
- Added a mobile fallback so long mobile pages keep the small transparent up-arrow available even when the browser does not fire normal window scroll events.
- Moved the Back to Top button higher on mobile so it stays bottom-right, visible, and out of the footer area.
- Tightened the global footer mobile wrapping so footer menu items fit better on smaller screens.
- Refreshed FieldBase logo, favicon, Apple touch icon, PWA icon, preview, and social image assets using the newer sharper FB artwork.
- Updated version.json, service-worker.js, and assets/js/version-manager.js to 1.6.8.3.46.
- No Firebase rules, IndexedDB, user data, Cloud Sync, Dev Center, Pro guards, roles, invites, billing, project data, or AI logic changed.
- Moved the Back to Top button to a true fixed bottom-right position so it follows the user while scrolling.
- Made the button smaller, semi-transparent, and less intrusive on mobile pages.
- Added Back to top hover/title text for clarity.
- Tightened global footer margin, padding, and spacing so it uses less vertical room.
- Kept footer links public/safe only and did not add Pro-only destinations.
- Updated version.json, service-worker.js, and assets/js/version-manager.js to 1.6.8.3.45.
- No Firebase rules, IndexedDB, user data, Cloud Sync, Dev Center, Pro guards, roles, invites, billing, project data, or AI logic changed.
- Added a small professional FieldBase footer through a new isolated global UI layer.
- Footer links are public/safe only: Dashboard, Start Free, Compare Plans, Help, Patch Notes, Privacy, and Terms.
- Added a sticky mobile-friendly Back to Top button for long pages.
- Added starter Privacy Policy and Terms of Use pages for early public launch preparation.
- Improved Patch Notes with search, category filtering, result count, expand visible, and collapse visible controls.
- Updated version.json, service-worker.js, and assets/js/version-manager.js to 1.6.8.3.43.
- No Firebase rules, IndexedDB, user data, Cloud Sync, Dev Center, Pro guards, roles, invites, billing, project data, or AI logic changed.
- Rebuilt the Start Free page into a polished onboarding guide with stronger user instructions, local-first data explanation, first-step path, and plan cards.
- Rebuilt the Features page into a true Compare Plans page with Free, Pro, Business Pro 10, Business Pro 25, and Business Unlimited cards.
- Added a detailed feature map explaining projects, estimates, receipts, directories, schedules, finance, roles, FORGE AI, cloud sync, backup/export, and add-on suites.
- Added one isolated CSS file for these public-facing pages so the polish does not disturb existing app pages.
- Caught Patch Notes up from 1.6.8.3.27 through 1.6.8.3.42.
- Updated version.json, service-worker.js, and assets/js/version-manager.js.
- Fixed the knowledge fallback limiter in assets/js/ai-engine.js.
- The previous file sorted knowledge matches but returned the full scored list before the limiter could run.
- Knowledge fallback now deduplicates repeated seed matches and returns only one best/closest result.
- Updated AI assistant script query versions so the browser loads the newest AI files instead of cached 1.6.8.3.33 files.
- Updated required version/update files.
- Stops FORGE from displaying a huge wall of seed answers for broad questions.
- Polished the small FORGE ? help icon so it inherits the chat icon color style instead of standing out with mismatched colors.
- Updated the FORGE Help popup theme colors for light and dark modes.
- Improved dark-mode readability by reducing overly bright backgrounds/text contrast issues.
- The ? help icon should visually match the nearby microphone/search icons better.
- The popup should no longer look overly bright in dark mode.
- The popup should remain readable in both light and dark themes.
- Moves the FORGE ? help button into the same input icon strip as search and microphone.
- Prevents the help button from sitting below the text box or affecting ASK FORGE.
- Restores the compose form to one centered text area with ASK FORGE centered below it.
- The ? icon should appear inside the text box area beside search/microphone.
- ASK FORGE should no longer drift to the far right.
- The text entry box should be centered again.
- Fixed FORGE direct answers so a direct built-in answer (such as What is FAP?) returns immediately.
- Prevented knowledge fallback / closest-help seed results from appending below direct answers.
- No calculator math changed.
- No Firebase rules changed.
- No user data changed.
- What is FAP? should show only the FAP answer plus Business snapshot.
- Updated assets/css/forge-help-panel.css to force the ? help button to stay a small fixed-size icon.
- Updated assets/js/forge-help-panel.js so the help button is injected safely without replacing or stretching ASK FORGE.
- Ensured pages/ai-assistant/ai-assistant.html loads the FORGE help panel CSS/JS with the new version.
- Updated version.json, service-worker.js, and assets/js/version-manager.js.
- Restores the ASK FORGE button layout.
- Keeps the ? help button small and inline near the chat controls.
- Added a direct built-in answer for FAP / FieldBase Automated Pricing.
- strong match: show only the top result
- partial match: show only the closest one or two results
- Added cleaner v2 seed section rendering when knowledge fallback uses structured answers[].
- Replaced the old "I need more information" fallback with "Closest FORGE help" wording.
- Updated version/update files so the Cloudflare update flag can show when deployed.
- Added assets/js/forge-help-panel.js.
- Added assets/css/forge-help-panel.css.
- Loaded the new FORGE help panel on pages/ai-assistant/ai-assistant.html.
- Added a ? help button beside ASK FORGE.
- Included required update files: version.json, service-worker.js, assets/js/version-manager.js.
- Opens a clean FORGE Help & Terms modal from the AI chat input area.
- Tightened FORGE direct directory item detection.
- Prevented construction/project scope questions from showing random saved tools or materials.
- Specifically protects masonry/block wall quotes from matching saved tools like Block Hammer.
- Kept calculators, floating pad specials, fence calculator, gravel routing, and seed v2 support intact.
- Project quote questions route to calculators first.
- Directory item pricing only appears when the user clearly asks for a specific item/tool/material price.
- Restored floating/elevated/lifted pad detection for typo variants such as floatign/floting/floaitng.
- Added a starter Fence calculator fallback so fence questions do not fall through to unrelated knowledge answers.
- Added FORGE Seed Schema v2 support in ai-store.js while keeping old legacy question/answer seeds supported.
- Added v2 section helper methods to ai-response-engine.js for future section-based answer rendering.
- Kept calculators additive; no user data or Firebase rules changed.
- A prompt like "I need a quote for a floatign pad that is 12x15x5" should trigger floating/elevated concrete specials again.
- Fixed ai-engine.js ReferenceError caused by routedQuestion being used inside estimateFromHistory before it was defined.
- Kept the FORGE response engine/router in place.
- Bumped required update files to 1.6.8.3.32.
- Restores AI answers after the 1.6.8.3.31 router patch.
- Lets gravel typo routing continue without crashing.
- Keeps internal seed filtering and calculator-first routing intact.
- Added assets/js/ai-response-engine.js as a new calculator-first routing layer.
- Updated pages/ai-assistant/ai-assistant.html to load the response engine before ai-engine.js.
- concrete calculator skips gravel-only driveway questions.
- plumbing calculator skips roof leak / vent pipe questions that belong to roofing.
- directory item lookup only answers direct material/tool requests.
- customer-visible knowledge search hides internal FORGE behavior/ranking/routing seeds.
- Ensured assets/js/ai-concrete-scope-splitter.js is actually loaded before ai-engine.js on the AI Assistant page.
- Tightened floating/elevated keyword detection so a later floating pad does not modify the first normal concrete pad.
- Added protection so masonry wall chains like 20x20x20x20x17 are not treated as concrete pad dimensions.
- Changed the AI submit button label from Ask to ASK FORGE.
- A prompt with a normal concrete pad plus a separate floating pad should produce two concrete sections.
- The floating/elevated specials should attach to the floating dimensions only.
- Added assets/js/ai-concrete-scope-splitter.js.
- Updated assets/js/ai-engine.js with a tiny split-scope hook before the normal concrete calculator path.
- Updated assets/js/ai-floating-concrete-specials.js wording from hardcoded pricing language to FAP - FieldBase Automated Pricing.
- High ribbed metal / steel decking: low $9.50/ft, typical $12.50/ft, high $15.50/ft.
- 4x4x8 pressure treated posts: low $8.00 each, typical $10.00 each, high $14.00 each.
- Updated pages/ai-assistant/ai-assistant.html to load the new splitter before ai-engine.js.
- Floating/elevated/lifted concrete pads now keep the normal concrete calculator and add the floating specials into the final concrete estimate.
- The final result now says Final floating/elevated concrete installed starter so it is clear this is the concrete total, not a separate quote.
- Outer form stake cost is removed for floating/elevated pads. Center grade stakes remain for grade control.
- Price source wording now says Starter hardcoded price when no saved user/project pricing is found, instead of the confusing fallback-only wording.
- No Firebase rules changed. No user data is removed or overwritten.
- 1. Quote me a 20x20x4 floating concrete pad
- Patch-only local test package.
- Changed files:
- assets/js/ai-floating-concrete-specials.js (new)
- assets/js/ai-engine.js (tiny integration hook only)
- pages/ai-assistant/ai-assistant.html (loads new helper before ai-engine)
- version.json
- Changed the Manual Cloud Sync Settings card to stay hidden by default and appear only for developer access.
- Removed the Open Dev Center Tests shortcut from the Manual Sync card; Dev Center remains controlled by its existing protected entry point.
- Kept the Sync Now button available for the developer account only, so normal users do not see developer sync controls.
- No Firebase rules changed, no user data is removed, and Businesses, global search, premium buttons, Cloud Sync logic, and styles.css are untouched.
- Added a Manual Cloud Sync card to Settings so users can force an immediate Firebase mirror check when needed.
- Kept automatic Cloud Sync backgrounding and cooldown behavior from 1.6.8.3.24 so regular page navigation stays fast.
- Added last-sync and active-account status details plus a clear note explaining when to use Sync Now.
- The Sync Now action bypasses startup cooldown only when clicked by the user and reports completion or errors in the Settings page.
- No Firebase rules changed and no user data is removed. Businesses, search, premium buttons, Dev Center QA, and styles.css are untouched.
- Moved automatic Cloud Sync startup farther off the navigation path so page navigation can become usable before heavier mirror checks run.
- Added a five-minute startup Cloud Sync cooldown per company/user while keeping manual Cloud Sync available at any time.
- Changed the service worker from always-network CSS/JS loading to stale-while-revalidate caching for static assets so repeat page switches feel faster after update activation.
- Kept version.json network-fresh so FieldBase update flags still work after Cloudflare uploads.
- Moved service worker registration and remote version checks to idle time so update checks do not compete with first render.
- No Firebase rules changed and no user data is removed. Businesses, search, premium buttons, and Dev Center QA logic are untouched.
- Added a real Cloud Sync material mirror QA test that creates a temporary material, confirms the Firebase mirror, deletes it, and confirms cloud cleanup.
- Added a Cloud Sync node to the QA run simulator so cloud verification appears alongside Materials, Clients, Tooling, Equipment, Services, Employees, Schedules, and Businesses readiness.
- Kept existing lifecycle QA tests unchanged and kept Businesses prepared as a skipped future module until that directory is live.
- Updated version.json, service-worker.js, version-manager.js, Dev Center cache-busting, and both Patch Notes pages to 1.6.8.3.23.
- No Firebase rules changed and no user data is removed except temporary QA records created and cleaned up by the tests.
- Debounced FieldBase Pro UI refreshes so repeated access-ready, DOM-ready, and safety refreshes no longer scan the same page over and over.
- Added Firebase session caching in firebase-auth.js so repeated getCurrentFieldBaseSession calls can reuse the active session instead of rereading it every time.
- Throttled duplicate Cloud Sync startup requests and delayed the first startup sync until browser idle time when supported.
- Kept manual Cloud Sync available and did not remove any sync, auth, role, project, directory, business, search, or dashboard features.
- Kept Firebase rules, Businesses Directory files, global search behavior, styles.css, and premium button styling untouched.
- Added the seventh real lifecycle QA test for the Scheduling foundation: create, read, update, delete, and verify cleanup.
- The schedule QA runner safely loads schedule-store.js from the Dev Center when needed and uses temporary QA records only.
- Kept Materials, Clients, Tooling, Equipment, Services, and Employees lifecycle tests unchanged.
- Kept the Businesses QA slot prepared as a skipped future module until the Businesses directory lifecycle store is live.
- Kept runtime-based scoring with the 80% QA pass gate and 97% market-ready advertising target.
- No Firebase rules changed and no user data is removed except temporary QA records created and cleaned up by the tests.
- Improved Cloudflare/service-worker cache reliability so updated CSS and JavaScript can load for users without requiring a hard refresh.
- Updated the service worker cache version and added a safe network-first rule for CSS and JavaScript files while leaving existing app data behavior untouched.
- Kept the existing FieldBase update banner/version-manager flow so users can accept the newest update safely.
- Documented the recent SEO/Search Console foundation work, page head cleanup, sitemap support, Open Graph/social preview image setup, and Google image support additions.
- Documented the recent mobile polish work: dashboard header overflow fixes, mobile sidebar action buttons, hamburger/close button upgrades, premium nav button styling, and hover/selected button behavior.
- No Firebase rules changed and no local, IndexedDB, Cloud Sync, project, receipt, directory, AI, role, invite, or user data is removed.
- Added the sixth real lifecycle QA test for the Employees directory: create, read, update, deactivate, hard cleanup, and verify deletion.
- Kept the Businesses QA slot prepared as a skipped future module until the Businesses directory is live.
- Kept Materials, Clients, Tooling, Equipment, and Services lifecycle tests unchanged.
- Kept runtime-based scoring with the 80% QA pass gate and 97% market-ready advertising target.
- No Firebase rules changed and no user project, estimate, receipt, invoice, customer, or directory data is removed except temporary QA records created and cleaned up by the tests.
- Reworked the Dev Center QA result list into smaller collapsible groups with date, score, and status.
- Added recent QA history rows below the latest report so previous runs can be opened without a giant page.
- Improved the Print / Save PDF report with section scores, exact checks, timings, details, and improvement tips.
- Kept the Materials lifecycle QA test behavior unchanged and kept the patch limited to Dev Center QA display and required update files.
- No Firebase rules changed and no user data is removed except the temporary QA material created and cleaned up by the test.
- Reworked the Dev Center QA output into a compact scrollable report that matches the existing Dev Center styling.
- Added the first real lifecycle test for the Materials directory: create, read, update, snapshot for export, delete, and verify deletion.
- Unavailable scripts now show as SKIP instead of false FAIL so the score focuses on tests that can actually run from the Dev Center page.
- Added improvement tips and a Print / Save PDF action for the latest QA report.
- No Firebase rules changed and no user data is removed except the temporary QA material record created and cleaned up by the test.
- Improved the Upgrade/Billing page contrast so large headings, plan names, prices, status text, and payment details remain readable on the light page background.
- Added a landing-page plan-card contrast safeguard for the new five-plan billing layout.
- Kept signup logic, payment foundation logic, Dev Center Free Pro Promo controls, Pro route guards, Firebase rules, roles, cloud sync, exports, AI tools, and stored user data untouched.
- Added the FieldBase billing plan catalog for Free, Pro, Business Pro 10, Business Pro 25, and Business Unlimited.
- Added safe plan selection from the landing page through signup without enabling paid access until payment validation is connected.
- Added billing and license metadata fields to new owner signup records so Dev Center can track plan, license key, subscription status, renewal date, and user limit.
- Rebuilt the Upgrade page as a payment-ready plan screen that can use a future Stripe or Cloudflare Worker checkout endpoint without changing existing Pro guards.
- Kept Free Pro Promo Mode, Pro route guard, Firebase rules, invites, roles, cloud sync, exports, AI tools, and stored user data untouched.
- Fixed AI answer action buttons so Export, Hide, Yes, and No continue working after saved chats are restored or the page refreshes.
- Made the AI mobile input/search/Ask area stay reachable at the bottom of the screen while reading long chats.
- Made the mobile Chat Tools and Try Asking toolbar sticky while scrolling.
- Kept New Chat, Clear Chat, Saved Chats, Export, Hide, Voice, AI engine, Firebase rules, Pro, invites, receipts, roles, tutorials, and stored user data untouched.
- Added a compact search navigator for AI chats with match count, previous, next, and close controls.
- Search now lets users cycle through every matching answer section instead of only jumping to one match.
- Improved mobile usability by keeping the AI input/search/Ask area sticky at the bottom while reading long chats.
- Kept mobile Chat Tools and Try Asking easy to reach while scrolling.
- Kept New Chat, Clear Chat, Saved Chats, Export, Hide, Voice Input, AI engine math, Firebase rules, Pro, invites, receipts, roles, tutorials, and stored user data untouched.
- Restored a larger AI question input box for easier typing on desktop and mobile.
- Moved the microphone control inside the AI input box with a mobile-friendly icon button.
- Added a search icon inside the AI input box to search the current visible chat and scroll to the best matching answer.
- Kept Talk-to-AI behavior the same: speech fills the input box and users still press Ask.
- Kept New Chat, Clear Chat, Saved Chats, Export, Hide, AI engine math, Firebase rules, Pro, invites, receipts, roles, tutorials, and stored user data untouched.
- Added a Talk button on the AI Assistant page so users can speak a question into the input box.
- Voice input fills the question box only; users can review/edit before pressing Ask.
- Added local App Permissions controls in Settings for microphone, notifications, popups/exports, and speakers.
- Added browser microphone permission handling and unsupported-browser messaging for mobile and desktop.
- Kept New Chat, Clear Chat, Saved Chats, Export, Hide, AI engine math, Firebase rules, Pro, invites, receipts, roles, tutorials, and stored user data untouched.
- Removed duplicate top New Chat / Clear Chat buttons.
- New Chat now preserves the current saved chat before starting another one.
- Mobile Chat Tools New/Clear now use the saved-chat session manager.
- Try Asking examples rotate again and can be refreshed.
- No AI engine math, Firebase rules, Pro, invite, receipt, role, tutorial, or stored project data changed.
- Restores Patch Notes page markup so all new patches appear inside the normal Patch Notes window.
- Uses an in-page print frame for AI answer export instead of a popup window.
- Adds Export, Hide, and Yes/No feedback controls inside each AI answer block.
- No AI engine math, Firebase rules, Pro, invite, receipt, role, tutorial, or user-data logic changed.
- New Chat creates separate saved chats and the saved chat list can show multiple sessions.
- Export no longer relies on a popup window path.
- Answer controls are available inside AI answer areas.
- No AI engine math, Firebase rules, Pro, invite, receipt, role, tutorial, or user-data logic changed.
- Restored saved AI chat access inside the left mobile Chat Tools drawer.
- Kept the improved mobile AI layout.
- Kept Export, Hide, and Yes/No feedback available under AI answers.
- No AI engine, Firebase rules, Pro, invite, receipt, role, tutorial, or user-data logic changed.
- Fixed the pro-system.js badges reference crash on dashboard load.
- Stopped Pro UI refresh from breaking when access state loads.
- No AI, Firebase rules, invites, receipts, roles, tutorials, or user-data logic changed.
- Restored desktop saved AI chat list/search/delete controls.
- Kept the mobile AI drawer layout from 1.6.8.2.48.
- Improved mobile scrolling for AI answers.
- No AI engine, Firebase rules, Pro, invite, receipt, role, tutorial, or user-data logic changed.
- Improved the AI Assistant mobile page with cleaner chat, answer actions, Try Asking, and tools.
- Moved Try Asking into a right-side mobile drawer and Chat Tools into a left-side drawer.
- Reduced mobile overflow and improved button spacing.
- No Firebase rules, Pro, invite, receipt, role, tutorial, or stored user-data changes.
- Added visible Export Answer buttons under AI responses.
- Added a concrete calculator safety check for unrealistic thickness values above 12 inches.
- Added local-only helpful/not-helpful feedback buttons for future AI review work.
- No Firebase rules, Pro, invite, receipt, role, tutorial, or user-data changes.
- Moved Try Asking to the right side on larger screens.
- Rotated example questions and added Show Different Examples.
- Improved Export Answer print/PDF view.
- No ai-engine.js, Firebase rules, Pro, invite, receipt, or user-data logic changed.
- Added New Chat, Clear Chat, saved chat list, search, delete, Hide/Show Answer, Export Answer, and local Yes/No feedback.
- Made the empty chat area smaller.
- Kept all new chat controls local-only.
- No ai-engine.js, Firebase rules, Pro, invite, receipt, role, or stored app data changed.
- Restored AI chat scroll behavior from the working 1.6.8.2.40 base.
- Kept the user’s working ai-engine.js untouched.
- Updated version, service worker, version manager, and patch notes.
- No Firebase rules, Pro, invite, receipt, role, or stored user-data logic changed.
- Keeps AI Assistant conversations inside a clean scrollable chat window.
- AI messages stay inside a contained scroll area.
- Mobile AI chat keeps the input reachable while users can review earlier answers.
- No Pro, invite, receipt, Firebase rule, role, onboarding, or stored user-data changes.
- Added Previous button to the Dashboard guide.
- Expanded desktop guide to walk through visible navigation links.
- Added a Tutorials section in Settings with Replay Dashboard Guide.
- Prepared the structure for future tutorials as separate safe patches.
- Repositioned the onboarding pointer away from the instruction card.
- Kept the pointer near the highlighted target when safe.
- Added fallback that hides the pointer if it would overlap guide text.
- No Pro, invite, receipt, role, Firebase rule, Dev Center access, or stored data changes.
- Removed the bad final feature-card guide target.
- Added a defensive check so incomplete guide steps are skipped.
- Kept the desktop Dashboard onboarding flow intact.
- No Pro, invite, receipt, role, Firebase rule, Dev Center access, or stored data changes.
- Disabled animated onboarding on mobile to prevent lag and shaking.
- Kept the Dashboard flag visible on mobile.
- Fixed the customizer step so closing/saving advances the guide safely.
- Added desktop walkthrough points for Directories, Schedules, AI Assistant, Invites, and feature cards.
- Repositioned guide notes to avoid covering selected controls.
- Made Skip and OK/Next reachable on small screens.
- Lightened the overlay so users can still see the highlighted target.
- No Pro, invite, receipt, role, Firebase rule, Dev Center logic, or stored data changes.
- Added Dev Center controls for the Dashboard First-Time Guide.
- Added replay and reset controls for testing.
- Dashboard onboarding now respects global config before showing.
- No Firebase rules, invite, receipt, role, or data storage changes.
- Fixed Dev Center crash caused by version notes shape mismatch.
- Normalized notes handling so string or array notes do not break the page.
- No Firebase rules, Pro, invite, receipt, role, or onboarding logic changed.
- Prevented Customize Dashboard and mobile navigation from opening at the same time during the walkthrough.
- Improved instruction copy for the Customize Dashboard step.
- Made the overlay lighter so the highlighted target remains visible.
- Added a Dashboard guide replay link in Dev Center.
- Added a large Dashboard identifier at the top of the workspace.
- Added first-time guide for Customize Dashboard, navigation, Project Builder, and Quick Search.
- Saves completion locally so users only see the walkthrough once.
- Kept the guide isolated in dashboard-onboarding CSS and JS files.
- AI Assistant dashboard card now uses the same Pro feature gate as other app cards.
- Removed duplicate PRO badge behavior.
- Locked Pro features route users to the upgrade page.
- No invite, receipt, role, Firebase rule, or user-data logic changed.
- Stabilized Pro access recognition across the shared Pro access layer.
- Dev Center global Pro toggle and individual Pro account toggles work consistently.
- Kept invites, receipts, Firebase rules, and user data untouched.
- Marked as a recovery-safe checkpoint during Pro stabilization.
- Added a visible top-of-screen invite flag for logged-in users with pending invites.
- Added an invite panel with direct Accept Invite and Open Accept Page actions.
- Uses existing invite acceptance helper to attach users to the invited company/workspace.
- Includes the needed Firebase invite query/index permissions for discovery by email.
- Restored dashboard navigation access to the existing invite system.
- Restored invited-user signup helper for auth/accept-invite.html.
- Added a small invite modal for creating Firebase invite records and copying links.
- Restored receipt upload/project attachment visibility while keeping existing receipt save logic intact.
- Developer AI seed imports save approved general Q&A knowledge to Firebase.
- All users can load shared seed answers from Firebase for app help and safe global knowledge.
- Private account/project/customer data remains account-scoped.
- Includes add-only Firebase rules for aiKnowledgeSeeds.