* The outputFile was only being set for darwin universal builds. I moved the
variable assignment to a location where it will take place for all builds.
The ProjectData entries are used in generating the .app plist file, so
setting them here ensures that the app will run with the custom binary name.
* Increases the reach of the output flag.
* Updates the changelog with a record of this fix.
* Tidy up runtime JS
* Initial implementation of runtime over http
* Update runtime deps. Fix test task.
* Support Clipboard.
Message Processor refactor.
* Add `Window.Screen()`
Clipboard `GetText` -> `Text`
* Support most dialogs
Better JS->Go object mapping
Implement Go->JS callback mechanism
Rename `window.runtime` -> `window.wails` to better reflect the Go API
* Support SaveFile dialog
* Remove go.work
* Tidy up
* Event->CustomEvent to prevent potential clash with native JS Event object
Support Eventing
* Support application calls
* Support logging
* Support named windows
Remove debug info
* Update v3 changes
* [assets] Improve error message if no `index.html` could be found in the assets
* [assetoptions] Valide options that at least one property has been set
* [assetserver] Move defaultHTML handling for 404 from assethandler to assetserver
* [assetserver] Add support for serving the index.html file when requesting a directory
* [docs] Update changelog
* add tspostfix and tsprefix flags + organise under struct
* postifx -> suffix
* tsPrefix options on bindings struct
* pass prefix and suffix to the executable
* add support for CLI flags for generating module
* method to set TSpref/suff to bindings
* use passed ts prefix for typescriptify
* add brief Readme udpate to include new flags
* create reusable common flags
* use common flags instead of hardcoded text
* support tsprefix & suffix for dev
* add tsPrefix & tsSuffix for build cmd
* take pref & suff in account when gen d.ts
* export colorsful log functions into utils for reuse
* detect and warn the user about usage of reserved keyword
* fmt
* add TrimSpace on fn input
* refactor utils -> logutils
* add bindings -> ts_generation options to wailsjson parse
* use wailsjson for ts generation
* update warning message + extract to func
* remove suff/pref info from readme
* update json schema
* add tests for prefix and suffix case
* rename suffix method
* Update v2/internal/typescriptify/typescriptify.go
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Update website/static/schemas/config.v2.json
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Update website/static/schemas/config.v2.json
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* update changelog
* Minor tweaks
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* [assetserver] Add support for HTTP Middlewares
* [dev] Disable frontend DevServer if no Assets has been defined and inform user
* [dev] Consistent WebSocket behaviour in dev and prod mode for assets handler and middleware
In prod mode we can't support WebSockets so make sure the
assets handler and middleware never see WebSockets in dev mode.
* [templates] Migrate to new AssetServer option
* [docs] Add assetserver.Options to the reference
* Add single listener deregistration
* Return function to stop listening, updates types
* Add missing returns, improve documentation
* Duplicate interface in go
* Define eventName
* Use lo instead for filtering
* Move logger to Interface. Add sample test.
* Add vite test for events
* Add js test workflow
* Add corresponding go method to remove all events
* Update documentation
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* [webview2loader] Add full featured go implementation
The new go loader can be activated with the exp_gowebview2loader build tag.
* [build] Add information for using the new webvie2loader
* Support parsing embed directives from package
* Validate `embed` directives on build
* `.gitkeep` -> `gitkeep`
* Make step silent. Fix for `wails dev`
* #1057 expose ZoomFactor get/set and add the respective windows only options
* Remove debug log, use IsZoomControlEnabled as well
* use math.float to/from 64bits functions instead
* Add new windows options ZoomFactor and IsZoomControlEnabled doc
* Grammar
* Update options.mdx
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Add WindowExecJS
* [devserver] Embed the base frontend into the DevServer struct
* Update docs
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* [v2, dev] Improve logging of dev watcher command during stop
* [v2, dev] Build frontend only before starting the dev watcher command
Breaking Change: Ignore flags take precedence over Force flag.
* Add frontend:dev:install configuration
* When building the frontend in dev mode, use `frontend:dev:install` (if it has been defined) to install the dependencies
* Simplified logic for determining installation command
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Override platform with GOOS and GOARCH
* Update v2/cmd/wails/internal/commands/build/build.go
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* Only use GOOS and GOARCH env vars for default target
* Update docs. Add dryrun flag for testing
* Update v2/cmd/wails/internal/commands/build/build.go
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* Fix scenario where no arch specified
* Fixed banner
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* get dimensions working for linux
* Cleaning up some GTK code
I was getting the following errors due to some bad casts.
Gdk-CRITICAL **: 18:58:51.943: gdk_monitor_get_geometry: assertion 'GDK_IS_MONITOR (monitor)' failed
Gdk-CRITICAL **: 18:58:51.943: gdk_display_get_monitor_at_window: assertion 'GDK_IS_DISPLAY (display)' failed
This commit fixes these errors
* Adding Screen namespace along with linux implementation
* moving ScreenGetAll into a more appropriate place
* Fixing typescript definition mistake, documentation, ordering of functions, and formatting
* add ScreenGetAll to more templates
* moving screen into its own javascript file
* fixing bug where screen objects are not returned from the runtime function
* rebuilding frontend wrapper package
* adding windows implementation of ScreenGetAll
* adding screen get all implementation for darwin
* reverting a change that is unrelated to the work on expose-dimensions
* removing duplicate comparison
* changing GetNthScreen in screen API on macos
To use frame instead of visibleframe to keep into account the space the the dock takes up
We want to include that space in the calculation in order to keep the sizes of screens consistent across platforms
* Correcting screen jsdoc
It used to say it returned a single screen object. Now it says that it returns an array of screen objects
* Fixing typo in function name
* reverting pointless spacing change
* reverting pointless spacing change
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: shmuel.kamensky <shmuel.kamensky@shutterfly.com>
* [website] Fix devserver default value doc
* [v2] Add support for AssetsHandler
AssetsHandler is a http.Handler delegate, which gets called
as a fallback for all Non-GET requests and for GET requests
for which the Assets didn’t find the file.
Known Limitations on Linux:
- All requests are GET requests
- No request headers
- No request body
- No response status code, only StatusOK will be returned
- No response headers
Known Limitations on Windows:
- Request body is leaking memory. Seems to be a bug in
WebView2, investigation angoing.
Most of these limitations on Linux will be fixed in the future with
adding support for Webkit2Gtk 2.36.0+.
* [v2, linux] Add response streaming support
The complete response won’t be held anymore in memory and will
be streamed to WebKit2.
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* v2: linux: add icon to linux specific app option and load it during window creation
Signed-off-by: Martin Gysel <me@bearsh.org>
* doc: linux specific option: icon
Especially the File directive seems not to work with a `/` on
Windows. Whereas `\` works for all directives and on all platforms.
So the `\` in NSIS can be used also on Linux and MacOS.
* [v2] Add support for post build hooks
Currently only supports build-level hooks
* [v2] Improve build assets handling and use single source for manifest generation
The manifest asset files are now a go template and data will be
resolved before they are included into the build output.
Breaking Change: Windows manifest file must be named
“wails.exe.manifest” and doesn’t depend on the project name
anymore.
* [v2, windows] NSIS installer generation