loop-uh
64d31201ce
Windows project source guards / test (push) Successful in 1m10s
Match the real Happ header set when emulating the client
...
Imitating a client only works when the set matches the original: panels match
subscription requests by header rules, and a surplus header identifies a forgery
as reliably as a missing one. The real Happ client sends no Accept header and no
X-App-Version at all — that header does not exist in Happ — and its locale is a
bare language code, so those three differences marked our requests as an
imitation and could be answered with 403.
On Windows locale.getlocale() reports a human readable name such as
Russian_Russia, which no client writes into a header; it is now translated into
a language code before it is sent.
A 403 is explained instead of being reported as a bare status: the panel refused
the client, or the site protection in front of it did, and the two need different
answers from the user.
The subscription dialog now rejects an identifier that panels silently ignore.
An HWID outside the Happ format never reaches the device limit, so the user
would otherwise see no effect and no error.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 19:03:51 +03:00
..
data
release: prepare v0.4.82
2026-08-12 01:27:02 +03:00
test_app_accent_theme.py
feat: global accent color scheme
2026-08-20 17:09:51 +03:00
test_app_accent_widgets.py
feat: global accent color scheme
2026-08-20 17:09:51 +03:00
test_app_dashboard_layout.py
feat: hide server endpoints in the UI
2026-08-20 00:49:38 +03:00
test_app_detail_pages.py
feat: rebuild server table columns
2026-08-20 15:17:27 +03:00
test_app_fluent_dialog.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
test_app_icon.py
Update application icon ( #75 )
2026-07-15 20:43:44 +03:00
test_app_nodes_page_view.py
fix: clip active row fill segments to cell rects
2026-08-20 17:28:58 +03:00
test_app_scrollable_page.py
Stabilize scrollable-page tests on Windows
2026-08-11 23:37:19 +03:00
test_app_settings_nodes_view.py
feat: rebuild server table columns
2026-08-20 15:17:27 +03:00
test_app_startup_subscription_settings.py
Add startup and subscription auto-update settings
2026-08-12 00:50:59 +03:00
test_app_theme_repaint.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_app_theme_tokens.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_app_update_check.py
fix: make update checks resilient
2026-08-20 01:33:13 +03:00
test_app_updater_urls.py
Prepare v0.4.80: fix updater trust after repo owner rename
2026-08-11 23:45:30 +03:00
test_async_steps.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_auto_switch_dead_link.py
fix: harden hot-switch and auto-switch away from dead servers
2026-08-13 21:11:02 +03:00
test_background_workers.py
Make server switching responsive
2026-08-05 00:06:32 +03:00
test_championat_direct_templates.py
Синхронизировать клиентские маршруты с политикой VPnBot
2026-08-12 20:23:51 +03:00
test_core_hot_switch.py
fix: harden hot-switch and auto-switch away from dead servers
2026-08-13 21:11:02 +03:00
test_country_flags_assets.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_engine_process_stop.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_happ_crypt.py
release: prepare v0.4.82
2026-08-12 01:27:02 +03:00
test_hot_switch_hardening.py
fix: harden hot-switch and auto-switch away from dead servers
2026-08-13 21:11:02 +03:00
test_http_utils.py
fix: make update checks resilient
2026-08-20 01:33:13 +03:00
test_main_window_static.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_native_routing_templates.py
fix: verify overlaid core bundle files
2026-08-12 01:33:03 +03:00
test_node_lookup.py
Optimize server UI and proxy routing safeguards
2026-08-04 23:23:13 +03:00
test_nodes_filter_proxy.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_nodes_table_model.py
feat: flex column layout for server table
2026-08-20 16:13:43 +03:00
test_port_allocator.py
sing-box extended
2026-07-11 21:01:15 +03:00
test_proxy_engine_settings.py
sing-box extended
2026-07-11 21:01:15 +03:00
test_proxy_manager_state.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
test_raw_config_cache.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_release_windows_automation.py
release: refresh tags before creating state
2026-08-12 12:45:07 +03:00
test_rotation.py
fix: keep core outbound switching hot
2026-08-12 01:19:46 +03:00
test_rotation_transitions.py
release: prepare v0.4.82
2026-08-12 01:27:02 +03:00
test_runtime_services_metrics.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_singbox_config_recovery.py
Automatically recover wrapped sing-box configs
2026-07-25 18:34:27 +03:00
test_singbox_document_validation.py
Clarify invalid sing-box JSON root errors
2026-07-25 18:17:10 +03:00
test_singbox_protocols.py
sing-box extended
2026-07-11 21:01:15 +03:00
test_singbox_proxy_runtime.py
fix: interrupt stale connections on server switch
2026-08-12 12:01:35 +03:00
test_singbox_template_dns_contract.py
Fix sing-box DNS and hybrid port fallback
2026-08-05 16:11:55 +03:00
test_subscription_limits.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
test_subscriptions.py
Match the real Happ header set when emulating the client
2026-08-20 19:03:51 +03:00
test_template_sync.py
Automatically sync shipped JSON templates
2026-07-15 22:58:11 +03:00
test_transition_responsiveness.py
Make server switching responsive
2026-08-05 00:06:32 +03:00
test_tun2socks_route_batching.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_ui_theme_static.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
test_update_notification.py
fix: make update checks resilient
2026-08-20 01:33:13 +03:00
test_win_netinfo.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_wireguard_endpoints.py
fix native WireGuard DNS policy
2026-07-15 20:12:40 +03:00
test_worker_service_batching.py
Prepare v0.4.78: server list rework, faster switching, subscriptions
2026-08-11 22:10:53 +03:00
test_yandex_music_direct_templates.py
feat: ship protected Russian routing data
2026-08-12 01:30:24 +03:00
test_zapret_manager.py
Make server switching responsive
2026-08-05 00:06:32 +03:00
test_zapret_moe_proxy_templates.py
Синхронизировать клиентские маршруты с политикой VPnBot
2026-08-12 20:23:51 +03:00