Commit Graph

907 Commits

Author SHA1 Message Date
Enqvy
1515448976 added tls fragmenting packet option 2026-02-20 17:43:12 +00:00
hiddify
07f7874506 better support for events 2026-02-20 18:08:46 +03:30
hiddify
2134ecf42e new: add endpoint to json editor, 2026-02-20 02:10:38 +03:30
hiddify
fa2f082e78 fix: issue in profile editor, better error display 2026-02-17 23:51:38 +03:30
hiddify
44775a408b fix: issues 2026-02-15 20:27:46 +03:30
hiddify
f9eff9ffef release: version 4.0.0 2026-02-14 02:44:17 +03:30
hiddify
e396af994f refactor: update InboundOptions fields and translations for direct and redirect ports 2026-02-13 00:12:24 +03:30
hiddify
9bf32cc11a new: add more inbounds(TPROXY, REDIRECT DIRECT) disable pause on desktop 2026-02-12 22:17:54 +03:30
hiddify
1e5362ea61 add naive 2026-02-12 03:05:27 +03:30
hiddify
53dd6ac96c fix 2026-02-10 03:00:01 +03:30
hiddify
f73df923d0 update 2026-02-10 02:38:29 +03:30
hiddify
3eaf13b7b6 fix: sticky notif 2026-02-09 23:45:25 +03:30
hiddify
478339c5bd fix connection change issue and more and more optimisation 2026-02-07 22:04:06 +03:30
hiddify
00121c8aa9 update psiphon add new dns manager, fix ios ipv6 issue 2026-02-06 20:27:33 +03:30
hiddify
6d308e761f add proxy usage bytes, psiphon and more and more 2026-02-06 03:38:47 +03:30
hiddify
b482717b56 new balancer approach 2026-02-05 02:49:06 +03:30
hiddify
ef36031ee9 better proxy,fix ios 2026-02-03 15:16:03 +03:30
hiddify
9f9344ffd2 add inner proxy link, add debounce 2026-02-02 20:41:36 +03:30
hiddify
29a21db009 fixes and improvements 2026-02-02 18:04:16 +03:30
hiddify
a4a4780e02 update ios 2026-02-01 02:17:13 +03:30
hiddify
c017e3cefe better android vpn service start and fix bugs 2026-02-01 00:37:40 +03:30
hiddify
a6c6823db3 merge 2026-01-24 20:27:02 +03:30
hiddify
fa11b26c53 new: better connection management 2026-01-24 20:24:28 +03:30
Hiddify
5314b7d4c9 Merge remote-tracking branch 'h/new-design-v2' into small-fix/fastforge-apk-release 2026-01-24 12:16:19 +00:00
veto9292
17b902c71e Implement window state persistence and position validation
- Added `saveWindowState` to persist window size, position, and maximized state.
- Added `initWindowState` to restore window bounds with safety checks.
- Implemented `checkWindowVisibility` to prevent off-screen startup in multi-monitor setups.
2025-12-31 22:49:15 +03:30
veto9292
3442e521bf Calling saveWindowState in onWindow (Resized, Moved, Maximize, Unmaximize) methods 2025-12-31 22:38:51 +03:30
veto9292
820e4b72eb Add window (position, size, maximize) preferences to general_preferences 2025-12-31 22:35:57 +03:30
veto9292
575d7070ca relocate 'window silent start' logic to window_notifier.dart 2025-12-31 22:33:41 +03:30
veto9292
fb5a6d6749 Format .dart files 2025-12-26 19:47:11 +03:30
veto9292
2742413303 Replace flutter_markdown with flutter_markdown_plus and update version in pubspec.yaml; adjust pubspec.lock accordingly. 2025-12-25 22:45:56 +03:30
veto9292
5f65060160 - Update getDatabaseDirectory to support portable mode based on the `` env var.
- Create 'hiddify_portable_data' in the app directory if running in portable mode.
- Add 'checkDirectoryAccess' to verify read/write permissions for the portable data folder.
- Fallback to the default system path if write access to the portable directory is denied.
2025-12-18 11:42:57 +03:30
veto9292
547770057a - Add environment variable to identify the Windows portable version
- This variable is set during the 'windows-release-zip' build process
2025-12-18 11:42:57 +03:30
veto9292
f4073c5b9d On Linux, left-clicking the tray icon opens the context menu instead of triggering onTrayIconMouseDown.
Added a "Dashboard" menu item as a workaround to allow users to open the app window.
2025-12-18 11:42:04 +03:30
veto9292
1bcbbe7903 synchronizing main_prod.dart with main.dart 2025-10-29 11:36:48 +03:30
veto9292
34c65bc8b3 fixing riverpod issue with adding "agreed" parameter to recurcise method (applyConfigOption) and using this paramter instead of reading provider state in next call 2025-10-29 11:26:50 +03:30
veto9292
c28b8eb0f1 small fix/ using _prefs instead of ref.read 2025-10-29 11:24:08 +03:30
veto9292
2f094e2f82 "not important" formating text for better understaning changes in next commits 2025-10-29 11:21:45 +03:30
veto9292
93586b19fd renaming db name and import path 2025-10-29 11:07:11 +03:30
veto9292
eed9ccf299 removing "DbV1" provider and renamign "DbV2" to "Db" 2025-10-29 11:01:37 +03:30
veto9292
fd59c8dbea renaming "db_v2" to "db" and using this "db" as main database by adding onUpgrade and increasing "schemaVersion" to 5 and fixing directory issue by adding "native" parameter to "driftDatabase" method 2025-10-29 11:00:09 +03:30
veto9292
4232383b14 generation new steps.dart for new database 2025-10-29 10:53:42 +03:30
veto9292
248aa4496a removing migration helper for copying data from "db_v1" to "db_v2" 2025-10-29 10:52:12 +03:30
veto9292
71423a576d "not important" formating text for better understaning changes in next commit 2025-10-29 10:50:11 +03:30
veto9292
5acd22641b moving "db_v1" schemas to "schemas\db" and generation "schema_v5" 2025-10-29 10:43:23 +03:30
hiddify
b5f6a06ffe fix: issue in ios and imrpove stablity 2025-10-26 23:10:44 +01:00
hiddify
033579249d update release files 2025-10-25 21:00:23 +02:00
Hiddify
1ae058833b
Merge pull request #30 from veto9292/remove/geo-assets
Remove/geo assets
2025-10-25 12:11:43 +02:00
Hiddify
583b7d5827
Merge pull request #29 from veto9292/fix/reported-issues-v1
Fix/reported issues v1
2025-10-25 12:11:31 +02:00
veto9292
2ab868593b Merge branch 'new-design-v2' into remove/geo-assets 2025-10-22 13:04:12 +03:30
veto9292
9276955ada removing "MissingGeoAssets" from "ConnectionFailure" 2025-10-08 10:54:15 +03:30
veto9292
252786ed82 moving "GeoAssetType" to "db_v1" 2025-10-08 10:53:36 +03:30
veto9292
85746c6b31 removing lib\features\geo_asset 2025-10-08 10:51:39 +03:30
veto9292
ddf72d4d1b update/ using DbV2 instead of AppDatabase 2025-10-06 23:42:46 +03:30
veto9292
72185aca17 comment geo asset data 'mapper | source' 2025-10-06 23:40:38 +03:30
veto9292
5f8d20e073 new/ run db migration from v1 to v2 in bootstrap 2025-10-06 23:37:27 +03:30
veto9292
b145f6c404 new/ db migration helper from v1 to v2 2025-10-06 23:35:47 +03:30
veto9292
04612f15af improve/ renaming. add dbV2 provider. 2025-10-06 23:35:06 +03:30
veto9292
67afbe8d76 new/creating db_v2 that equals db_v1 v5 schema. downgrade db_v1 to v4 schema. merging tables logics with db logics. 2025-10-06 23:33:21 +03:30
veto9292
d711b1fba7 update/schemas move db schema to new location and regenerate db_v1 schema_v4. 2025-10-06 23:22:25 +03:30
veto9292
56ed33a531 fix/ with the new version of go_router, there is no need to add a navigatorKey to StatefulShellBranch to preserve its state. 2025-09-29 11:58:46 +03:30
veto9292
9b0e41d976 small fix/warnings "unnecessary_underscores" 2025-09-29 11:39:08 +03:30
veto9292
75e27d5424 fix/ fixing prevent closing branch issue... removing "back_button_interceptor" and "prevent_closing_branch.dart"... upgrading go_router to 16.2.4 and using "PopScope" instead of "back_button_interceptor" package 2025-09-29 11:37:57 +03:30
veto9292
1180a5efa9 small fix/ add: Warp, Fragment, and Padding icons in Settings option. Change the icon for the 'Padding-Size' option. 2025-09-29 11:19:33 +03:30
Hiddify
1cc6ee5469
Merge pull request #27 from veto9292/feature/i18n-refactor
Feature/i18n refactor
2025-09-28 13:34:58 +02:00
veto9292
e2aa5479f1 small fix/ update pages.profiles.updateSub to updateSubscriptions. "Update connection profiles" => "Update subscriptions" 2025-09-28 11:17:38 +03:30
veto9292
a46f56e508 refactor(localization): Sync codebase with new i18n structure
This commit adapts the application's source code to the newly restructured and renamed translation files. It ensures all UI text is correctly referenced and improves how feedback messages are handled.

- Updated all translation keys throughout the source code to align with the new nested structure.
- Added and corrected translations for user-facing toasts to provide appropriate success and failure feedback (e.g., for import/export actions).
- Implemented logic to display newly added translations where they were previously missing.
2025-09-27 17:05:14 +03:30
hiddify
7b0cb17b54 Merge branch 'new-design-v2' of ssh://github.com/hiddify/hiddify-next-ios into new-design-v2 2025-09-20 21:00:45 +02:00
veto9292
c48b38848f small fix/ profile_parser_test file was updated based on the changes in 'ProfileParser' 2025-09-10 12:51:20 +03:30
veto9292
b330f06238 update/ Improved UI/UX and aligned it with the manual section of the 'Add Profile' modal. 2025-09-06 22:50:47 +03:30
veto9292
458e63648e update/ using loadingState instead of (save, update, delete & isBusy). ProfileDetailsPage is now used only for editing. The profile_details_notifier was completely rewritten, and the logic for applying and saving changes has been greatly simplified. 2025-09-06 22:41:42 +03:30
veto9292
c0bc530919 update/ using Material icons instead of FluentIcons 2025-09-06 21:38:58 +03:30
veto9292
5f2e713342 update/ UI improvment 2025-09-06 21:37:14 +03:30
veto9292
f288edc871 delete profile_local_override.dart 2025-09-06 21:29:03 +03:30
veto9292
8fc1797653 small fix/ using Material Icons instead of Cupertino Icons 2025-09-06 21:28:15 +03:30
veto9292
8e08c218ea update, fix/ fixed 'Free' profiles not updating and made minor changes to align with AddProfileNotifier.addManual. 2025-09-06 21:27:06 +03:30
veto9292
db065f5161 update, fix/ using Material icons instead of FluentIcons. Fixed the bottom sheet not closing when showing profileDetails. 2025-09-06 21:24:45 +03:30
veto9292
3fb8cbe564 update/ rename method and use url to upsert 2025-09-06 21:16:32 +03:30
veto9292
bdc8c12162 update/ rename methods 2025-09-06 21:15:03 +03:30
veto9292
d9daccc74c small fix 2025-09-06 21:13:43 +03:30
veto9292
3ad00d7b57 update/ moved part of the deleteProfile logic to ProfileDataSource. replaced the abortConnection method with toggleConnection. 2025-09-06 21:13:11 +03:30
veto9292
f1fb607c66 update/ updated AddProfileNotifier methods. added a Tile for isAutoUpdateDisable and to display the auto-update status. made minor changes to the Add button logic. 2025-09-06 21:08:27 +03:30
veto9292
3cb47c46d2 update/ prevented error display on HTTP request cancellation. removed commented-out code. separated profile addition methods (addClipboard, addManual). rewrote the add method based on profileRepository changes and removed the renaming logic. canceled the request when AddProfileNotifier is disposed. 2025-09-06 21:00:42 +03:30
veto9292
54b1bda777 update/ added profileParser and removed httpClient from the profileRepository's input parameters, adding profileParser as the new input parameter. 2025-09-06 20:43:33 +03:30
veto9292
bb99daf667 update/ removed the local-override logic that was previously added to watchActiveProfile for preserving userOverride. added renaming logic to the insert operation; if a name is duplicated, random numbers are appended to the end (using getByName) so the user can differentiate. added logic to check for a profile's existence before editing. to manage the active profile during deletion, the isActive parameter is received. If the profile being deleted is active, another profile is selected as active after its removal. 2025-09-06 20:40:27 +03:30
veto9292
79e3c17760 update/ passing the profile object to connect and reconnect. 2025-09-06 19:46:45 +03:30
veto9292
b7c8a90174 update/ parameters of the connect and reconnect methods were changed for simplicity. Commented-out code was removed. applyConfigOption was rewritten to align with the profileOverride changes. 2025-09-06 19:44:25 +03:30
veto9292
c05f92496c refactor/ deleted methods include (getByName, addByUrl, updateContent, addByContent, updateSubscription, add, patch, fetch). upsertRemote: Handles both creation and updating of remote profiles from a single entry point. It checks for an existing profile via URL to prevent duplicates. addLocal: Allows for creating profiles directly from local string content. offlineUpdate: Enables offline modifications by re-parsing the profile with new content while preserving existing headers.
validateConfig: The logic has been updated to correctly handle and apply configuration overrides, which were previously ignored.
removed the 'http_client' dependency from the repository. This responsibility has been moved to the 'profile_parser' to better separate concerns. a previously public field has been made private. the 'setActive' and 'deleteById' methods have been formally defined in the abstract interface.
2025-09-06 18:59:28 +03:30
veto9292
414c7df157 refactor/ converts the static 'ProfileParser' into a service class with access to Riverpod's 'ref'. adds 'addRemote', 'addLocal', 'updateRemote', and 'offlineUpdate' methods using 'fpdart'. moves profile download logic from 'profile_repository' to 'ProfileParser' and rewrites it with 'fpdart'. adds error handling for user-cancelled downloads. reads 'useXrayCoreWhenPossible' directly from 'ref' instead of passing all settings. changes the 'parse' method's input to 'ProfileEntity', simplifying the return logic with 'profile.map'. updates the name parser hierarchy to use the link protocol as a fallback. adds logic to disable profile auto-updates via user override. 2025-09-06 16:28:36 +03:30
veto9292
9c53ea1ef0 remove/ move 'protocol' method from 'link_parsers' to 'profile_parser' 2025-09-06 15:08:12 +03:30
veto9292
0e1a172765 update/ removed 'toEntry' and 'subInfoPatch' methods from 'ProfileEntity'. added 'toInsertEntry' and 'toUpdateEntry' methods and replaced 'map' with 'switch'. added 'userOverride' and 'populatedHeaders' to the 'toEntity' method and renamed 'testUrl' to 'profileOverride'. 2025-09-04 18:19:34 +03:30
veto9292
744c38ae05 update/ renamed 'testUrl' to 'profileOverride'. added a default value of 'Duration.zero' to 'updateInterval'.
add/ added 'userOverride' and 'populatedHeaders' to the remote and local models. added a 'UserOverride' model with a version structure to ensure backward compatibility in the future. added isAutoUpdateDisable with default(false) to 'userOverride'
2025-09-04 18:10:58 +03:30
veto9292
8c3bd95c1c update/ changes to 'ConfigOptionRepository' class: made 'getConfigOptions' private. renamed method 'getFullSingboxConfigOption' to 'fullOptions'. added method 'fullOptionsOverrided', which applies 'profileOverride' to the 'config options' before they're sent. improved error handling with 'fpdart'. 2025-09-04 11:56:50 +03:30
veto9292
091f1b9e3c update/ add 'ConfigOptionFailure' to 'ProfileFailure.invalidConfig' parameters to easily convert 'ConfigOptionFailure' to 'ProfileFailure'. add 'cancelByUser' for when an HTTP request is cancelled by the user(this helps to distinguish the error and prevent its display) 2025-09-04 11:44:39 +03:30
veto9292
841bfd45d3 update/ add 'ConfigOptionFailure' to 'ConnectionFailure.invalidConfigOption' parameters to easily convert 'ConfigOptionFailure' to 'ConnectionFailure' 2025-09-04 11:38:57 +03:30
veto9292
c94bd40bad update/ adding columns(userOverride, populatedHeaders) to profile table in db. renaming test_url column to profileOverride. app_database.steps.dart & drift_schema_v5.json is auto generated by drift_dev. 2025-09-03 20:02:06 +03:30
veto9292
9d20b01624 update/ supporting deselected state for Per-app porxy apps in UI 2025-08-13 13:33:25 +03:30
veto9292
010575f5e9 fix/ deprecated warning 2025-08-12 02:51:41 +03:30
veto9292
92ab3dfcc4 new/ apps auto selection modal. features: auto update, reset to default, changing update interval, enable or disable auto-selection, perform now 2025-08-12 02:50:51 +03:30
veto9292
9cfc06a0e1 update/ using db for managing state. moving and removing providers. adding shareOnGithub to notifier.
removing installed apps notifier provider.
2025-08-12 02:48:18 +03:30
veto9292
9c896227c7 update/ notifying user and disabling auto-selection after a region change 2025-08-12 02:45:39 +03:30