wails/v3/pkg/application
Lea Anthony a06d55804c
perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843)
* perf(v3): optimize JSON processing and reduce allocations in hot paths

- Switch to goccy/go-json for method binding, events, and HTTP transport
  (21-63% faster, 40-60% less memory for method calls)
- Optimize BoundMethod struct layout to reduce padding (144 -> 136 bytes)
- Cache isVariadic flag at registration to avoid reflect call per invocation
- Use stack-allocated buffer for method arguments (<=8 args)
- Optimize result collection to avoid slice allocation for single return values
- Use sync.Map for MIME cache to improve concurrent read performance
- Use buffer pool for HTTP transport request body reading
- Lazily allocate CloseNotify channel in content type sniffer
- Remove debug CSS logging from asset server
- Add comprehensive benchmark tests (build tag: bench)

Performance improvements for BoundMethod.Call:
- SimpleCall:   1290ns -> 930ns (28% faster), 240B -> 80B (67% less memory)
- ComplexCall:  10500ns -> 3900ns (63% faster), 1192B -> 1020B (14% less)
- VariadicCall: 3460ns -> 1600ns (54% faster), 512B -> 289B (44% less)

* perf(v3): add max size limit to buffer pool to prevent memory bloat

Buffers larger than 512KB are not returned to the pool, allowing GC
to reclaim memory after large requests (e.g., base64 encoded images).

* perf(v3): remove mimetype library dependency, saving ~208KB binary size

- Replace github.com/wailsapp/mimetype with expanded extension map + stdlib
- Expand MIME type map from 16 to 50+ common web formats (fonts, audio, video, etc.)
- Add comprehensive test suite validating MIME detection for all web formats
- Use http.DetectContentType as fallback for unknown extensions
- Actual binary size reduction: 1.2MB (11MB -> 9.8MB in test app)

* perf(v3): migrate all runtime code to goccy/go-json

Migrate remaining encoding/json usages to goccy/go-json in:
- pkg/application (android, darwin, ios, single_instance, webview_window)
- pkg/services (kvstore, notifications on all platforms)
- internal/assetserver/webview (request/response handling)
- internal/runtime and internal/capabilities

Note: encoding/json (110KB) remains in binary because:
1. goccy/go-json imports it for interface compatibility (json.Marshaler, etc.)
2. log/slog (stdlib) uses it for JSON output

The performance benefit is in the hot paths which now use the faster library.

* perf(v3): replace gopkg.in/ini.v1 with minimal .desktop file parser

Replace the gopkg.in/ini.v1 dependency with a purpose-built minimal parser
for Linux .desktop files.

The new parser:
- Only extracts the Exec key from [Desktop Entry] section (all we need)
- Follows the Desktop Entry Specification
- Has comprehensive test coverage (40 tests) including:
  - All major file managers (Nautilus, Dolphin, Thunar, PCManFM, Caja, Nemo)
  - Edge cases (UTF-8, special chars, comments, empty files, etc.)
  - Buffer limit handling

Binary size reduction: 45KB (10.22MB -> 10.18MB)

* perf(v3): remove samber/lo from runtime code, saving ~310KB binary size

Replace samber/lo with Go 1.21+ stdlib slices package and minimal internal
helpers in all runtime code paths. This removes 80 transitive dependencies
from the production binary.

Changes:
- Create internal/sliceutil package with Unique and FindMapKey helpers
- Replace lo.Without with slices.DeleteFunc in event handling
- Replace lo.Ternary with inline if/else in Windows code
- Replace lo.Uniq with sliceutil.Unique for feature flags
- Replace lo.FindKey with sliceutil.FindMapKey for method aliases
- Replace lo.Filter with slices.DeleteFunc in event listeners
- Replace lo.Must with inline panic in w32 package

Binary size: 10.18MB -> 9.87MB (~310KB / 3% reduction)

Note: CLI tools still use samber/lo since they don't affect
production binary size. The application_debug.go file also
retains lo usage as it has //go:build !production tag.

* fix: address CodeRabbit review comments

- Use application/x-typescript MIME type (not IANA-registered text/typescript)
- Fix potential panic in mimetype_stdlib_test.go for short MIME strings
- Use cached isVariadic flag in bindings_optimized_bench_test.go

* fix: initialize goccy/go-json decoder early to fix Windows test failure

On Windows, goccy/go-json's type address calculation can fail if the
decoder is first invoked during test execution rather than at init time.
Force early initialization by unmarshaling a []int during package init.

See: https://github.com/goccy/go-json/issues/474

* 📝 Add docstrings to `v3/performance-improvements` (#4844)

* fix: initialize goccy/go-json decoder early to fix Windows test failure

On Windows, goccy/go-json's type address calculation can fail if the
decoder is first invoked during test execution rather than at init time.
Force early initialization by unmarshaling a []int during package init.

See: https://github.com/goccy/go-json/issues/474

* 📝 Add docstrings to `v3/performance-improvements`

Docstrings generation was requested by @leaanthony.

* https://github.com/wailsapp/wails/pull/4843#issuecomment-3703472562

The following files were modified:

* `v3/internal/assetserver/common.go`
* `v3/internal/assetserver/content_type_sniffer.go`
* `v3/internal/assetserver/mimecache.go`
* `v3/internal/fileexplorer/desktopfile.go`
* `v3/internal/fileexplorer/fileexplorer_linux.go`
* `v3/internal/sliceutil/sliceutil.go`
* `v3/pkg/application/application_ios.go`
* `v3/pkg/application/bindings.go`
* `v3/pkg/application/ios_runtime_ios.go`
* `v3/pkg/w32/window.go`

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-02 07:03:36 +11:00
..
assets/alpha BREAKING CHANGE: wml attributes are now prefixed with data- 2025-01-28 07:37:17 +11:00
internal/tests Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
application.go docs: Update dialogs documentation to match actual v3 API (#4793) 2025-12-16 06:05:40 +11:00
application_android.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
application_android_nocgo.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
application_darwin.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
application_darwin.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
application_darwin_delegate.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
application_darwin_delegate.m feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
application_debug.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
application_dev.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
application_ios.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
application_ios.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
application_ios.m Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
application_ios_delegate.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
application_ios_delegate.m feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
application_linux.go fix: prevent window menu crash on Wayland (#4769) (#4770) 2025-12-12 17:59:47 +11:00
application_options.go fix: resolve merge conflict in AndroidOptions and add AGENTS.md 2025-12-10 21:15:15 +11:00
application_options_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
application_production.go Refactor menu functions and streamline devtools toggle across systems 2024-01-21 20:52:32 +11:00
application_windows.go [v3 alpha] windows tray minor refactor (#4653) 2025-11-04 07:44:58 +11:00
bindings.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
bindings_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
bindings_optimized_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
bindings_test.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
browser_manager.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
clipboard.go [linux] support clipboard 2023-10-02 20:47:04 +11:00
clipboard_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
clipboard_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
clipboard_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
clipboard_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
clipboard_manager.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
clipboard_windows.go [v3 windows] Add clipboard support 2023-06-10 13:01:10 +10:00
context.go Fix build issue 2025-01-17 21:21:32 +11:00
context_application_event.go rename context consts 2025-07-12 19:09:57 -06:00
context_menu_manager.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
context_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
context_window_event.go [V3] Drag-n-Drop Zones and improvements (#4318) 2025-08-04 20:40:19 +10:00
dialog_manager.go docs: Update dialogs documentation to match actual v3 API (#4793) 2025-12-16 06:05:40 +11:00
dialogs.go Refactor to using Window interface (#4471) 2025-08-09 15:28:08 +10:00
dialogs_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
dialogs_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
dialogs_darwin_delegate.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
dialogs_darwin_delegate.m Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
dialogs_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
dialogs_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
dialogs_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
dialogs_windows.go Refactor to using Window interface (#4471) 2025-08-09 15:28:08 +10:00
dialogs_windows_test.go Create dialogs_windows_test.go 2025-04-09 16:21:59 -03:00
environment.go Update system.Environment 2024-03-19 20:37:03 +11:00
environment_manager.go Added getAccentColor implementation to Env (#4399) 2025-07-15 03:44:34 +00:00
errors.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
event_manager.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
events.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
events_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
events_common_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
events_common_darwin.go fix(macos): Show hidden windows when dock icon is clicked (#4583) (#4790) 2025-12-14 15:26:16 +11:00
events_common_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
events_common_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
events_common_windows.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
events_loose.go [v3] Typed Events, revisited (#4633) 2025-11-11 20:25:57 +11:00
events_strict.go [v3] Typed Events, revisited (#4633) 2025-11-11 20:25:57 +11:00
events_test.go [v3] Typed Events, revisited (#4633) 2025-11-11 20:25:57 +11:00
image.go V3 alpha linux dbus (#2996) 2023-10-21 11:39:46 +11:00
init_android.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
init_desktop.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
init_ios.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
ios_runtime_api.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
ios_runtime_ios.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
ios_runtime_stub.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
json_libs_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
json_v2_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
key_binding_manager.go Refactor to using Window interface (#4471) 2025-08-09 15:28:08 +10:00
keys.go Fix tests 2024-08-04 21:28:15 +10:00
keys_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
keys_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
keys_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
keys_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
keys_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
keys_windows.go Fix modifier processing on windows. 2023-10-15 13:53:31 +11:00
linux_cgo.go feat(linux): add WebKit2 load-change events (#4783) 2025-12-14 06:59:01 +11:00
linux_purego.go fix: prevent window menu crash on Wayland (#4769) (#4770) 2025-12-12 17:59:47 +11:00
logger_dev.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
logger_dev_windows.go Standardise and enhance logger service 2025-02-13 03:11:21 +01:00
logger_ios.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
logger_prod.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
mainthread.go Improved panic handling. Added guide. 2025-01-16 22:08:18 +11:00
mainthread_android.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
mainthread_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
mainthread_ios.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
mainthread_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
mainthread_windows.go [v3] Make Windows window class configurable (#3682) 2024-08-20 18:20:44 +10:00
menu.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
menu_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
menu_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
menu_internal_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
menu_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
menu_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
menu_manager.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
menu_test.go Menu improvements (#3492) 2024-05-20 21:15:02 +10:00
menu_windows.go Refactor to using Window interface (#4471) 2025-08-09 15:28:08 +10:00
menuitem.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
menuitem_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
menuitem_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
menuitem_darwin.h Ensure some menuitem methods are run on the main thread. 2025-01-12 15:05:39 +11:00
menuitem_darwin.m Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
menuitem_dev.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
menuitem_internal_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
menuitem_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
menuitem_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
menuitem_production.go Significant updates to mac menu items. More roles. More fixes to come. 2024-09-12 20:51:07 +10:00
menuitem_roles.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
menuitem_selectors_darwin.go Fix typos 2025-01-16 20:25:07 +11:00
menuitem_test.go Fix tests 2024-08-04 21:28:15 +10:00
menuitem_windows.go fix: restore hidden menuitem at correct position 2025-04-27 12:00:13 +08:00
messageprocessor.go feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
messageprocessor_android.go feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
messageprocessor_application.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_args.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
messageprocessor_browser.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_call.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
messageprocessor_clipboard.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_contextmenu.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_dialog.go docs: Update dialogs documentation to match actual v3 API (#4793) 2025-12-16 06:05:40 +11:00
messageprocessor_events.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
messageprocessor_ios.go feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
messageprocessor_mobile_stub.go feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
messageprocessor_screens.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_system.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
messageprocessor_window.go fix(macos): fix print dialog not opening and add Window.Print() to runtime (#4789) 2025-12-14 15:04:54 +11:00
panic_handler.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
parameter_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
path.go *BREAKING CHANGE* move Path and Paths methods into application package. 2025-01-24 08:09:29 +11:00
popupmenu_windows.go fix(windows): Prevent systray menu crash on rapid clicks (#4151) (#4812) 2025-12-25 19:35:44 +11:00
roles.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
roles_dev.go ToggleDevTools -> OpenDevTools 2024-03-06 11:43:12 -06:00
roles_production.go Refactor menu functions and streamline devtools toggle across systems 2024-01-21 20:52:32 +11:00
screen_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
screen_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
screen_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
screen_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
screen_windows.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
screenmanager.go Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
screenmanager_internal_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
screenmanager_test.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
services.go [v3] Typed Events, revisited (#4633) 2025-11-11 20:25:57 +11:00
services_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
signal_handler_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
signal_handler_desktop.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
signal_handler_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
signal_handler_types_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
signal_handler_types_desktop.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
signal_handler_types_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
single_instance.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
single_instance_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
single_instance_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
single_instance_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
single_instance_linux.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
single_instance_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
single_instance_windows.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
system_tray_manager.go feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
systemtray.go Prevent app crashing when calling systray.Run() before app.Run() (#4826) 2025-12-23 06:33:09 +11:00
systemtray_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
systemtray_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
systemtray_darwin.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
systemtray_darwin.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
systemtray_darwin.m Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
systemtray_ios.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
systemtray_linux.go Merge origin/v3-alpha into v3-alpha-feature/android-support 2025-11-28 21:20:47 +11:00
systemtray_windows.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
TODO.md merge exp branch 2023-01-18 21:42:49 +11:00
transport.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
transport_event_ipc.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
transport_http.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
urlvalidator.go [v3] Sanitise browser URL (#4500) 2025-08-12 21:20:36 +10:00
urlvalidator_test.go [v3] Sanitise browser URL (#4500) 2025-08-12 21:20:36 +10:00
webview_window.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
webview_window_android.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
webview_window_close_darwin.go fix(darwin): prevent window destruction when hiding with ApplicationShouldTerminateAfterLastWindowClosed (#4800) 2025-12-15 22:28:41 +11:00
webview_window_darwin.go feat(macos): add CollectionBehavior option to MacWindow (#4799) 2025-12-29 11:07:37 +11:00
webview_window_darwin.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
webview_window_darwin.m [v3] Debug printf statements left in webview_window_darwin.m (#4834) 2025-12-29 11:05:17 +11:00
webview_window_darwin_dev.go Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
webview_window_darwin_drag.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
webview_window_darwin_drag.m Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
webview_window_darwin_production.go ToggleDevTools -> OpenDevTools 2024-03-06 11:43:12 -06:00
webview_window_ios.go fix: use structured logging for debug/info methods (#4767) 2025-12-12 09:03:11 +11:00
webview_window_ios.h Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
webview_window_ios.m feat: adapt iOS and Android message processors to RuntimeRequest transport 2025-12-10 21:27:04 +11:00
webview_window_linux.go feat(linux): add WebKit2 load-change events (#4783) 2025-12-14 06:59:01 +11:00
webview_window_linux_dev.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
webview_window_linux_production.go feat: Add Android support for Wails v3 2025-11-28 21:06:59 +11:00
webview_window_options.go feat(macos): add CollectionBehavior option to MacWindow (#4799) 2025-12-29 11:07:37 +11:00
webview_window_options_test.go test(v3): add comprehensive unit tests for pkg/application (#4827) 2025-12-27 09:53:24 +11:00
webview_window_windows.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
webview_window_windows_devtools.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
webview_window_windows_production.go [v3] Late service registration and error handling overhaul (#4066) 2025-02-19 09:27:41 +01:00
window.go [V3] Refactor binding transport layer (#4702) 2025-12-07 22:19:12 +11:00
window_bench_test.go perf(v3): optimize JSON processing and reduce allocations in hot paths (#4843) 2026-01-02 07:03:36 +11:00
window_manager.go Refactor to using Window interface (#4471) 2025-08-09 15:28:08 +10:00