Commit Graph

407 Commits

Author SHA1 Message Date
roncodes
affa141c9d perf: optimize fleetbase.config.json loading with localStorage caching
- Added 1-hour localStorage cache for runtime config
- Reduces 750ms+ HTTP request to instant cache lookup
- Cache automatically expires and refreshes
- Includes cache clear utility function
- Uses browser cache as fallback
- Performance logging with debug()
- Excluded JSON files from fingerprinting

Expected improvement: 783ms → <5ms (99.4% faster)
2025-11-28 04:37:29 -05:00
roncodes
5726eb974f refactor: Move runtime config and router fix to proper Ember initializers
Refactored app.js boot sequence to follow Ember conventions:

1. Created app/initializers/load-runtime-config.js
   - Loads fleetbase.config.json before application boots
   - Uses deferReadiness/advanceReadiness pattern
   - Runs before all other initializers
   - Added performance timing with debug logging

2. Created app/instance-initializers/apply-router-fix.js
   - Applies router refresh bug fix patch
   - Runs as instance-initializer (needs app instance)
   - Runs before extension loading
   - Added performance timing with debug logging

3. Refactored app/app.js
   - Removed custom ready() hook
   - Removed document.addEventListener('DOMContentLoaded')
   - Removed manual deferReadiness/boot calls
   - Now uses standard Ember boot sequence
   - Clean, minimal implementation

Benefits:
- Follows Ember conventions and best practices
- Proper initialization order guaranteed
- Performance monitoring for boot phases
- Easier to debug and maintain
- No custom boot logic needed

Boot sequence:
1. load-runtime-config initializer (runs first)
2. Other initializers (socketcluster, etc.)
3. apply-router-fix instance-initializer
4. load-extensions instance-initializer
5. Other instance-initializers
6. Application ready
2025-11-27 23:12:14 -05:00
Ronald A. Richardson
ca3050905d feat: preparing for performance tweaking to page load sub 1s 2025-11-28 11:56:38 +08:00
roncodes
cf2ced1512 feat: Add ASCII logo header to generated files and improve console output
- Added Option 1 ASCII logo header to all generated files
- Header includes copyright notice and AGPL-3.0 license
- Improved console logging with [Fleetbase] prefix
- Better formatted output with separators and extension listing
- Cleaner file change notifications
- More professional and readable build output
2025-11-27 06:12:02 -05:00
roncodes
93b7224335 feat: Generate app/extensions/index.js with new format and cleanup
- Changed extension loader generation to create app/extensions/index.js
- New format uses direct imports instead of dynamic imports
- Added getExtensionLoader helper function
- Removed unused plugins directory
- Removed old extension-loaders.generated.js file
- Cleaner and simpler loader structure
2025-11-27 05:48:54 -05:00
roncodes
9a053cfd9f fix: Use exact working logic from prebuild.js in in-repo addon
- Copied all working functions from prebuild.js
- Adapted only for addon context (this.project.root instead of __dirname)
- No logic changes, just direct migration
- Should work exactly like prebuild.js did
2025-11-27 05:30:14 -05:00
roncodes
56897af057 Revert refactor - caused regression in extension discovery 2025-11-27 05:28:25 -05:00
roncodes
b27e485a44 fix: Router mount context issue and refactor into modular utilities
- Fixed 'this' context issue in addConsoleExtensions/addRootExtensions
- Refactored monolithic index.js into separate utility modules:
  - discover-extensions.js - Extension discovery logic
  - generate-extension-shims.js - Shim file generation
  - generate-extension-loaders.js - Loader map generation
  - generate-router.js - Router AST manipulation
  - generate-manifest.js - Manifest generation
  - watch-extensions.js - File watching logic
- Simplified index.js to orchestrate utilities
- Improved code organization and maintainability
2025-11-27 05:23:38 -05:00
Ronald A. Richardson
94c5407387 fix: syntax error in extensions generator lib 2025-11-27 18:15:27 +08:00
roncodes
54ac27b304 fix: Use correct router.map.js path (console/router.map.js not app/router.map.js) 2025-11-27 04:56:56 -05:00
roncodes
4fb596c866 fix: Router generation and add file watching for extension changes
**Router Generation Fixes:**
- Fix router.js parsing (was looking for non-existent router.map.js)
- Parse Router.map(function() {...}) structure correctly
- Fix console route detection (check for path: '/' config)
- Fix function expression location (3rd arg after path config)
- Fix root extensions to use this.mount() not router.mount()

**File Watching:**
- Add chokidar to watch extension.js files in development
- Regenerate shims and loaders when extension.js changes
- Cache discovered extensions for regeneration
- Only watch in development mode

**Issues Fixed:**
1. Router.js now properly contains engine mounts
2. Extension.js changes trigger automatic regeneration
2025-11-27 04:35:16 -05:00
roncodes
3f12e98448 refactor: Simplify extension generator to write directly to app directory
- Remove Broccoli tree complexity, use included() hook instead
- Write files directly to app/ using Node.js fs operations
- Generate extension shims in app/extensions/
- Generate extension loaders in app/utils/extension-loaders.generated.js
- Generate router.js with proper engine mounts using recast AST
- Generate extensions.json manifest in public/
- Add recast dependency for AST manipulation
- Much simpler and more reliable than Broccoli trees
2025-11-27 04:09:59 -05:00
roncodes
a1fc1e4ff8 fix: Correct Funnel srcDir configuration and add improved logging
- Fix BroccoliMergeTrees error by adding srcDir to Funnel calls
- extensionShims: srcDir 'extensions' (files in outputPath/extensions/)
- extensionLoaders: srcDir 'utils' (files in outputPath/utils/)
- routerGen: srcDir '/' (files at outputPath root)
- Add comprehensive debug logging to all plugins
- Add detailed logging to in-repo addon index.js
- Improves debugging and troubleshooting of build process
2025-11-27 03:25:56 -05:00
Ronald A. Richardson
d622b617c3 feat: migrate from plugins to in-app-repo with build hooks 2025-11-27 16:13:44 +08:00
roncodes
edba6c8396 fix: Correct Broccoli plugin wiring to merge into app.trees.app
- Merge generatedAppTree into app.trees.app before app.toTree()
- Fix Funnel srcDir/destDir configuration
- Remove prebuild extension generation (now handled by Broccoli)
- Add extensionManifestTree to expose dist/extensions.json
- Files now treated as real app source for ember-auto-import
2025-11-27 01:12:36 -05:00
roncodes
a0fc1ce402 feat: Implement extension boot refactor with prebuild approach
- Modified prebuild.js to generate extension shims in app/extensions/
- Generate extension-loaders.js with dynamic import map
- Added ember-auto-import allowAppImports configuration
- Extension setup code is now code-split into separate chunks
- Removed FleetbaseExtensionsIndexer in favor of prebuild generation
- Added generated files to .gitignore

Successfully tested: extension code is code-split into separate chunk
(chunk.app_extensions_fleetops_js.*.js)
2025-11-27 00:34:12 -05:00
Ronald A. Richardson
ffab66ac6c feat: refactoring extension build pipelines 2025-11-27 11:20:14 +08:00
Ronald A. Richardson
9fa1bf54d2 v0.7.19 ~ A major leap forward in scheduling, reporting, and user interface capabilities. 2025-11-17 18:17:51 +08:00
Ronald A. Richardson
b98eb3adf5 Merge branch 'main' of github.com:fleetbase/fleetbase into ron/dev-v0.7.19 2025-11-10 11:30:12 +08:00
Ronald A. Richardson
5473b50c40 development in progress 2025-11-10 11:27:50 +08:00
Ronald A. Richardson
da420f0b4a ready for release 2025-11-10 10:49:29 +08:00
Ronald A. Richardson
e923a89719 v0.7.18 2025-11-10 10:35:47 +08:00
Ronald A. Richardson
a17aa3f5cc hotfix router map 2025-11-06 21:58:40 +08:00
Ronald A. Richardson
235f1ce80c upgraded dependencies 2025-11-06 20:45:42 +08:00
Ronald A. Richardson
5d1b2e1939 - Made the LogApiRequests middleware more robust
- Fixed controller validation handling
- Added microsoft365/graph mail driver
- Improved password requirements (including breached password check)
- Patched creating duplicate users by email in IAM
- Patch env mapper
- Vehicle/driver tracking API doesnt fire resource lifecycle events or log requests - only tracking events
- Patched `<ModelCoordinatesInput />` component
- Security patch on Storefront customers API
- Styling updates on Storefront
2025-11-06 20:33:23 +08:00
Ronald A. Richardson
a11b77592c fix console/package.json 2025-10-30 18:23:44 +08:00
Ronald A. Richardson
6cd7ddffcb v0.7.14 2025-10-30 18:20:04 +08:00
Ronald A. Richardson
785bc55bb7 v0.7.13 ~ Connectivity Module + Positions Playback + Positions & Device Events Drawer 2025-10-28 05:39:54 +08:00
Ronald A. Richardson
27c063fbfb v0.7.12 ~ Patches and Order Board Improvement 2025-10-22 12:21:58 +08:00
Ronald A. Richardson
9911c96c09 All packages upgraded 2025-10-15 22:15:33 +08:00
Ronald A. Richardson
284c62cd06 v0.7.11 ~ Maintenance, Reports, Telematics Upgrade/Features 2025-09-30 13:49:34 +08:00
Ronald A. Richardson
67aa793537 v0.7.10 - Maintenance capability overhaul, Storefront critical patches and improvements 2025-09-02 14:32:39 +08:00
Ronald A. Richardson
1d003ee31e v0.7.9 ~ shorter default data retention + template variable resolver + patched order vehicle update via api 2025-08-13 17:32:46 +08:00
Ronald A. Richardson
205fcf1480 Optimized maintenance script, added linux/arm64 to docker image platforms 2025-08-12 18:53:23 +08:00
Ronald A. Richardson
f3bc42ace5 upgraded dependencies 2025-08-09 18:56:38 +08:00
Ronald A. Richardson
b91cbed080 v0.7.7 - Configurable rate limiting and maintenance patches 2025-08-09 16:40:59 +08:00
Ronald A. Richardson
ab2e102e28 v0.7.6 ~ Minor patches, WIP multi-order route optimization 2025-06-04 12:30:02 +08:00
Ronald A. Richardson
4244a04052 upgraded fleetops 2025-05-30 16:57:31 +08:00
Ronald A. Richardson
1d64d18b8b v0.7.5 ~ Added route optimization and routing control registry and settings & optimized environment/settings mapper 2025-05-30 16:10:56 +08:00
Ronald A. Richardson
ebbc4b2bf8 v0.7.4 ~ new docker install script, added logic condition property shortcut keys 2025-05-26 14:52:32 +08:00
Ronald A. Richardson
5c73b6e76d v0.7.3 ~ hotfix: route optimization w/ no driver, seeder command 2025-05-24 13:16:47 +08:00
Ronald A. Richardson
a4033db36c fixed fleetops route optimization, fixed network store management 2025-05-23 19:57:38 +08:00
Ronald A. Richardson
c54ef7fb30 v0.7.2 ~ Telemetry tweak patch 2025-05-22 15:19:01 +08:00
Ronald A. Richardson
8c74c0fb99 release is almost ready 2025-05-22 10:30:10 +08:00
Ronald A. Richardson
98511fd418 patch console route && debug osx action binary build 2025-05-21 20:13:14 +08:00
Ronald A. Richardson
d61205d898 added fleetbase config file, added ability to set tz for user and organization 2025-05-21 19:21:22 +08:00
Ronald A. Richardson
c59f028755 fix docker build 2025-05-20 10:06:26 +08:00
Ronald A. Richardson
6697b79185 secured runtime config to only allow select config values to be set 2025-05-19 13:50:10 +08:00
Ronald A. Richardson
4dc9764853 v0.7.1 ~ Fleetbase console can now read in a runtime config 2025-05-19 13:12:57 +08:00
Ron
490f2f1b41 Merge pull request #345 from nstankov-bg/feature/translate-bulgarian
feature/translate-bulgarian
2025-05-16 16:07:25 +08:00