-
Notifications
You must be signed in to change notification settings - Fork 994
implemented custom authentication, expenses and license flows #1430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Charlitokenn
wants to merge
22
commits into
frappe:master
Choose a base branch
from
Charlitokenn:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+17,777
−2,066
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Integrates authentication, expenses, and licensing features: - Custom authentication system with hashed passwords - Enhanced expense tracking with descriptions - Hybrid online/offline licensing with keymint.dev (7-day grace period) - Fork-safe implementation in custom/ directory - User management with role-based access Co-Authored-By: Warp <[email protected]>
Changed vite invocation from 'yarn vite' to 'npx vite' to support npm-based development workflow. Co-Authored-By: Warp <[email protected]>
Required by custom/licensing/fingerprint/device-id.ts for hardware-based device identification. Co-Authored-By: Warp <[email protected]>
Added: - Startup license check in app lifecycle with error handling - Comprehensive unit tests for grace period, encryption, and license states - Manual testing guide with 12 test scenarios and debugging tips All licensing TODOs are now complete. Co-Authored-By: Warp <[email protected]>
Added licenseManager const export for convenient access to singleton instance. Co-Authored-By: Warp <[email protected]>
Added: - LicenseSettings.vue component with full license management UI - License tab in Settings page navigation - License status display, activation, and deactivation controls - Grace period warnings and expiry notifications License management is now accessible via Settings > License tab. Co-Authored-By: Warp <[email protected]>
Relocated License management from Setup to Reports section for better accessibility. Now accessible via: Sidebar > Reports > License Co-Authored-By: Warp <[email protected]>
Created new Settings group in sidebar (with gear icon) containing: - License management as first item Accessible via: Sidebar > Settings > License Co-Authored-By: Warp <[email protected]>
Exposed ipcRenderer.invoke to preload script to support licensing IPC calls: - activate-license - check-license - get-license-state - clear-license Co-Authored-By: Warp <[email protected]>
Added dotenv.config() at app startup to load .env file containing: - KEYMINT_API_URL - KEYMINT_ACCESS_TOKEN - KEYMINT_PRODUCT_ID - ENABLE_LICENSING This fixes the 'Product ID must be at least 22 characters' error. Co-Authored-By: Warp <[email protected]>
Updated dotenv.config() to use correct path based on environment: - Development: Uses process.cwd()/.env - Production: Uses __dirname/../.env Added debug logging to verify config is loaded. Co-Authored-By: Warp <[email protected]>
Added dotenv.config() in build/scripts/dev.mjs to load environment variables before running Electron. This ensures KEYMINT_* variables are available in the Electron main process. Co-Authored-By: Warp <[email protected]>
Removed: - Old License schema (License.json) - Old License model (License.ts) - License validation redirect in App.vue - License exports from custom schemas and models Fixed: - Dark mode text colors in LicenseSettings component - 'License Management' heading now visible in dark mode - Last validation date text now visible in dark mode Users will no longer be redirected to old License page after login. Co-Authored-By: Warp <[email protected]>
The License tab now appears in the bottom tab navigation alongside: - General - Print - Inventory - Defaults - POS Settings - ERPNext Sync - System - License (NEW) Users can now click the License tab to access license management. Co-Authored-By: Warp <[email protected]>
Removed the dedicated Settings sidebar group since license management is now accessible via: - Setup > Settings > License tab Sidebar structure is now cleaner with license accessible through the existing Setup section. Co-Authored-By: Warp <[email protected]>
Fixed: - Encryption key now derived from fixed seed instead of random generation - Key persists across app restarts, allowing license cache decryption - Added debug logging to track cache load/save operations - Clear cache on decryption failure to prevent corrupt data This fixes the issue where offline license validation failed after app restart because the encryption key was regenerated per session. Co-Authored-By: Warp <[email protected]>
…ns for unactivate and expired licenses
…nces, modified expense form to use numbers series, and removed unnecessary fields
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.