-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Xjj dev #2542
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
escapade0668
wants to merge
49
commits into
Anankke:master
Choose a base branch
from
escapade0668:XJJ_DEV
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.
Open
Xjj dev #2542
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
e4c4536 to
bf5bf47
Compare
- Add online IP list feature to user index page - Display IP address, node name, and last online time - Fetch online IP records from OnlineLog model in UserController - Show empty state when no online records exist - Maintain consistent UI design with existing dashboard style
322679b to
b93319e
Compare
Sync XJJ_DEV to main
- Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display
- Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display
- Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold
330f642 to
8a4ac3f
Compare
* fix: use Smarty date_format modifier instead of PHP date function - Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display * fix: only show active online IPs within last 90 seconds - Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold
- Increase online IP activity detection from 90 seconds to 5 minutes (300 seconds) - Update UI text to reflect new 5-minute threshold - Provide longer visibility for active connections
* fix: use Smarty date_format modifier instead of PHP date function - Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display * fix: only show active online IPs within last 90 seconds - Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold * feat: extend online IP detection window to 5 minutes - Increase online IP activity detection from 90 seconds to 5 minutes (300 seconds) - Update UI text to reflect new 5-minute threshold - Provide longer visibility for active connections
…s per IP - Change UNIQUE KEY from (user_id, ip) to (user_id, ip, node_id) - Fix issue where only one node would be displayed when the same IP connects to multiple nodes - Add transaction protection to ensure data consistency - Support rollback operations
eae2766 to
c3b523f
Compare
- Update addAliveIp to use new unique key (user_id, ip, node_id) - Add IP location display to user home page online IP list - Refactor ProfileController to use OnlineLog model methods - Unify IP display format across user pages
* fix: use Smarty date_format modifier instead of PHP date function - Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display * fix: only show active online IPs within last 90 seconds - Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold * feat: extend online IP detection window to 5 minutes - Increase online IP activity detection from 90 seconds to 5 minutes (300 seconds) - Update UI text to reflect new 5-minute threshold - Provide longer visibility for active connections * fix: update online_log unique key constraint to support multiple nodes per IP - Change UNIQUE KEY from (user_id, ip) to (user_id, ip, node_id) - Fix issue where only one node would be displayed when the same IP connects to multiple nodes - Add transaction protection to ensure data consistency - Support rollback operations * Streamline 2025111300-fix_online_log_unique_key.php * Fix online_log unique key and enhance online IP display - Update addAliveIp to use new unique key (user_id, ip, node_id) - Add IP location display to user home page online IP list - Refactor ProfileController to use OnlineLog model methods - Unify IP display format across user pages
d5024e1 to
4118d6d
Compare
* fix: use Smarty date_format modifier instead of PHP date function - Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display * fix: only show active online IPs within last 90 seconds - Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold * feat: extend online IP detection window to 5 minutes - Increase online IP activity detection from 90 seconds to 5 minutes (300 seconds) - Update UI text to reflect new 5-minute threshold - Provide longer visibility for active connections * fix: update online_log unique key constraint to support multiple nodes per IP - Change UNIQUE KEY from (user_id, ip) to (user_id, ip, node_id) - Fix issue where only one node would be displayed when the same IP connects to multiple nodes - Add transaction protection to ensure data consistency - Support rollback operations * Streamline 2025111300-fix_online_log_unique_key.php * Fix online_log unique key and enhance online IP display - Update addAliveIp to use new unique key (user_id, ip, node_id) - Add IP location display to user home page online IP list - Refactor ProfileController to use OnlineLog model methods - Unify IP display format across user pages * Remove Hiddify, FlClash, SFM, SFA, and SFI clients from user interface * Optimize admin dashboard chart colors with Tabler native color scheme * Remove deprecated ga_enable field after MFA refactoring * Fix textarea value attribute for banned_reason and remark * Add null coalescing operator for banned_reason and remark * Add MFA device management for admin user edit page
- Add Stash.php subscription handler - Update Subscribe service to support stash format - Add stash to SubController supported types - Add Stash client to client_display.json - Add Stash configuration to appprofile.example.php
e644829 to
1425175
Compare
- Add RFC 2231 compliant filename encoding for Content-Disposition header - Properly encode Chinese characters in subscription title - Fixes issue where Clash clients display raw UTF-8 bytes instead of Chinese text
* fix: use Smarty date_format modifier instead of PHP date function - Replace date() function with Smarty's date_format modifier - Fix template compilation error in online IP list display * fix: only show active online IPs within last 90 seconds - Add time filter to display only connections active in the last 90 seconds - Match admin online log behavior for consistency - Pre-format IP, node name and time in controller - Add subtitle to clarify online status criteria - Update empty state message to reflect 90-second threshold * feat: extend online IP detection window to 5 minutes - Increase online IP activity detection from 90 seconds to 5 minutes (300 seconds) - Update UI text to reflect new 5-minute threshold - Provide longer visibility for active connections * fix: update online_log unique key constraint to support multiple nodes per IP - Change UNIQUE KEY from (user_id, ip) to (user_id, ip, node_id) - Fix issue where only one node would be displayed when the same IP connects to multiple nodes - Add transaction protection to ensure data consistency - Support rollback operations * Streamline 2025111300-fix_online_log_unique_key.php * Fix online_log unique key and enhance online IP display - Update addAliveIp to use new unique key (user_id, ip, node_id) - Add IP location display to user home page online IP list - Refactor ProfileController to use OnlineLog model methods - Unify IP display format across user pages * Remove Hiddify, FlClash, SFM, SFA, and SFI clients from user interface * Optimize admin dashboard chart colors with Tabler native color scheme * Remove deprecated ga_enable field after MFA refactoring * Fix textarea value attribute for banned_reason and remark * Add null coalescing operator for banned_reason and remark * Add MFA device management for admin user edit page * Improve MFA error handling - show detailed error messages for debugging * Add Stash subscription support for iOS - Add Stash.php subscription handler - Update Subscribe service to support stash format - Add stash to SubController supported types - Add Stash client to client_display.json - Add Stash configuration to appprofile.example.php * Hide subscription address display in user interface * Fix: Encode UTF-8 characters in Clash subscription filename - Add RFC 2231 compliant filename encoding for Content-Disposition header - Properly encode Chinese characters in subscription title - Fixes issue where Clash clients display raw UTF-8 bytes instead of Chinese text
- Create new Coupon service class to centralize coupon validation logic - Fix new_user restriction not being enforced in coupon validation - Fix potential negative price when discount exceeds product price - Refactor CouponController and OrderController to use the new service - Reduce code duplication between controllers
- Add 'no_balance_pay' field to coupon limit configuration - Add balance payment check methods in Coupon service class - Block balance payment in InvoiceController when coupon disallows it - Display 'no_balance_pay' status in admin coupon list
- Fix backend: remove incorrect ->first() chain after find() method - Add null check for coupon existence before disabling - Fix frontend: swap incorrect success-dialog/success-message selectors in disableCoupon callback
- Add switchToUser method to allow admin to view user interface as target user - Add switchBackToAdmin method to return to admin interface - Add switch button in user list table (admin/user) - Add 'Return to Admin' button in user header when admin is viewing as user - Store admin_uid in cookie to enable switching back
- Store all admin auth cookies (with admin_ prefix) instead of just admin_uid - Restore cookies directly when switching back, leveraging existing cookie signature mechanism - Prevents privilege escalation by forging admin_uid cookie - No additional signing required as existing key/ip/device hashes provide security
- Call Auth::logout() to clear user cookies when admin session expired - Redirect to login page instead of user dashboard
- Cookie domain must match for proper clearing - Use same method as Auth login/logout to ensure cookies are set on correct domain
- Add activate method in OrderController to handle immediate order activation
- Add route POST /user/order/{id}/activate for the activation endpoint
- Add 'Instant Activate' button for orders in pending_activation status
- Support all product types: tabp, bandwidth, time, and topup
- For tabp/time: reset traffic and calculate time from current moment
- For bandwidth: add traffic to existing quota
- For topup: add balance to user account
- Move pinned announcement above traffic usage section - Add scrollable mode for online IP list when count exceeds 5 - Keep table header sticky when scrolling - Add hover effect to table rows
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.