Commit graph

27 commits

Author SHA1 Message Date
Lea Anthony
637713fae6 feat: adapt iOS and Android message processors to RuntimeRequest transport
Transport layer refactor adaptations for mobile platforms:

- Refactor processIOSMethod to use RuntimeRequest signature
- Refactor processAndroidMethod to use RuntimeRequest signature
- Add androidRequest constant (12) and handler to messageprocessor.go
- Update messageprocessor_mobile_stub.go for non-mobile builds
- Fix undefined windowID variable (use req.WebviewWindowID)
- Add iOS event generation to tasks/events/generate.go
- Add InvalidIOSCallError and InvalidAndroidCallError to errs package
- Update iOS delegate and webview files with generated event handlers

iOS methods refactored: Haptics.Impact, Device.Info, Scroll settings,
Navigation gestures, Link previews, Debug inspector, UserAgent

Android methods refactored: Haptics.Vibrate, Device.Info, Toast.Show

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 21:27:04 +11:00
Lea Anthony
a937780218 Add iOS support for Wails v3 alpha
This commit introduces comprehensive iOS platform support for Wails v3, enabling
developers to build native iOS applications using Go and web technologies.

Key Features:
- Full iOS application lifecycle management with WKWebView integration
- Native iOS options configuration (scroll, bounce, navigation gestures, media playback)
- iOS-specific build system with Xcode project generation
- Support for iOS simulators and physical devices
- Native tab bar (UITabBar) integration with SF Symbols
- iOS runtime API for platform-specific functionality
- Complete example iOS application with Puppertino UI framework
- iOS template for new projects
- Build tasks and configuration for iOS development
- Support for input accessory view management
- Custom user agent configuration
- Background color support for iOS windows

Technical Implementation:
- iOS-specific message processor for event handling
- Native Objective-C bridges for iOS APIs
- WKWebView configuration and management
- iOS asset handling and bundling
- Proper build constraints for iOS platform
- Integration with existing Wails v3 architecture

This enables developers to target iOS alongside existing desktop platforms
(macOS, Windows, Linux) using a single Go + web technology codebase.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 14:14:14 +10:00
Atterpac
10447e6fcd
[V3] Drag-n-Drop Zones and improvements (#4318)
* new events

* macOS dnd improvements

* wailsio adds for dropzone

* update example

* sorta working

the top 300px of the window are not dropabble for some reason i suspect it has to do with the drag enter/drag leave xy as the performOperation needed to use the ContentView for appropriate X/Y

* implement attribute detection for data-wails-dropzone

* docs

* pass x/y dnd linux

* cleanup exmample

* changelog

* pass all attributes to golang on dragdrop

* filetree example

* fix dnd build windows

* Fix windows dnd

* update docs

* remove debug log

* appease the security bot

* Fix changelog

* Fix changelog

* Revert "Fix event generation issues."

This reverts commit ae4ed4fe

* Fix events

* Fix merge conflicts. Fix events generation formatting

* Update docs

* Fix duplicate bundledassets import causing build failures

Remove duplicate import of bundledassets package that was causing
compilation errors in PR #4318. The import was declared twice in
the same import block, causing "bundledassets redeclared" errors.

Fixes build issues in GitHub Actions for drag-and-drop zones feature.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Replace fmt.Printf debug statements with globalApplication.debug

Replace all fmt.Printf debug logging statements in drag-and-drop
functionality with proper globalApplication.debug calls. This provides:

- Consistent logging with the rest of the application
- Proper key-value structured logging
- Better integration with the application's logging system
- Cleaner debug output format

Changes:
- application_darwin.go: Replace 2 fmt.Printf calls
- webview_window.go: Replace 6 fmt.Printf calls
- webview_window_windows.go: Replace 13 fmt.Printf calls
- Remove unused fmt import from application_darwin.go

All debug messages maintain the same information but now use
structured logging with key-value pairs instead of printf formatting.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add nil checks to WindowEventContext methods

Ensure all WindowEventContext methods properly handle nil c.data
by initializing the map when it's nil. This prevents panics when
methods are called on contexts that haven't been properly initialized.

Changes:
- DroppedFiles(): Add nil check and map initialization
- setCoordinates(): Add nil check and map initialization
- setDropZoneDetails(): Add nil check and map initialization
- DropZoneDetails(): Add nil check and map initialization

All methods now follow the same pattern as setDroppedFiles()
where a nil data map is automatically initialized to prevent
runtime panics during drag-and-drop operations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update v3/pkg/application/webview_window_darwin.m

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* reinstate events docs.

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-04 20:40:19 +10:00
Lea Anthony
ae4ed4fe31
Fix event generation issues. 2025-05-31 17:13:54 +10:00
Lea Anthony
6423abe630
Merge branch 'v3-alpha' into v3-alpha-feature/typescript-runtime 2025-02-28 07:41:04 +11:00
Fabio Massaioli
30f0ec4e9c Go mod tidy 2025-02-27 12:05:54 +01:00
Fabio Massaioli
0a0592a52e Fix npm ci 2025-02-27 12:01:43 +01:00
Fabio Massaioli
95b4bfc253 Migrate runtime to TypeScript 2025-02-25 03:30:30 +01:00
Lea Anthony
b4c4cd8ae8
Fix mac/js events 2025-02-02 10:22:11 +11:00
Lea Anthony
8e98d6dd19
Handle events at a lower level 2024-12-22 10:02:16 +11:00
Lea Anthony
d18b7bc4b8
V3 alpha feature/file association port (#3873)
* Update nsis template

* Move app data into config.yml

* mac support

* Add FileAssociations application config option
Support `ApplicationOpenedWithFile` event on Windows
Add docs

* Add FileAssociations application config option
Support `ApplicationOpenedWithFile` event on Windows
Add docs
Add test project

* Update example & docs.
Fix show window bug.

* Fix window show event bug

* Update changelog
2024-11-09 08:58:20 +11:00
Lea Anthony
bfa53dfd6c Update windowSetupSignalHandlers & linux events 2024-03-06 11:42:19 -06:00
Lea Anthony
1195464acb Improve window teardown on termination
This commit adds a robust teardown process for windows on application shutdown. It introduces a field to track the destruction state of each window and checks such before performing window operations. Also, it enhances the destroy functions within application for thorough clean up. Finally, redundant event handlers related to application termination were removed while fixing file generating challenge in go tasks.
2024-01-09 07:45:56 +11:00
Lea Anthony
68e779d64e
[darwin] add support for quitting app 2024-01-08 21:22:33 +11:00
Travis McLane
ca21a3b79d [v3 linux] initial pass at event generation 2023-11-06 10:49:14 -06:00
Lea Anthony
8463c01123
[windows] Drag-n-drop support 2023-10-21 11:21:10 +11:00
Lea Anthony
c77c823c3c Revert "[linux] Implement events"
This reverts commit 8ddd29d285.
2023-10-07 12:21:49 +11:00
Lea Anthony
8ddd29d285
[linux] Implement events 2023-10-03 08:37:11 +11:00
Lea Anthony
86354e9fc0 Support IsDarkMode in application event context. Fix bug with event mapping. 2023-09-15 20:10:09 +10:00
Lea Anthony
c0b4a3ff35
[v3] Fix generation of common events 2023-07-05 20:39:35 +10:00
Lea Anthony
3fcac435b2
[v3] Support window events in JS. Fix ExecJS blocking issues. 2023-06-26 22:10:31 +10:00
Lea Anthony
86f2ac0e96 [v3 mac] Fix WindowShouldClose bug 2023-06-18 11:25:38 +10:00
Lea Anthony
f210357bfe
[v3 mac] Basic common event support. Taskfile refactor 2023-05-17 07:58:40 +10:00
Lea Anthony
57422dccf3
[windows] Split out wndProc. Generate windows events, support per-window themes 2023-04-29 12:14:12 +10:00
Lea Anthony
2c4c0b4b6b
Add dnd window event + demo 2023-02-12 08:54:08 +11:00
Lea Anthony
f951b51c11
Context menu WIP
options refactor
2023-02-09 18:35:26 +11:00
Lea Anthony
81645190f0
merge exp branch 2023-01-18 21:42:49 +11:00