5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-06 22:42:09 +08:00
Commit Graph

101 Commits

Author SHA1 Message Date
Fabio Massaioli
e7c134de4e
[v3] Late service registration and error handling overhaul (#4066)
* Add service registration method

* Fix error handling and formatting in messageprocessor

* Add configurable error handling

* Improve error strings

* Fix service shutdown on macOS

* Add post shutdown hook

* Better fatal errors

* Add startup/shutdown sequence tests

* Improve debug messages

* Update JS runtime

* Update docs

* Update changelog

* Fix log message in clipboard message processor

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

* Remove panic in RegisterService

* Fix linux tests (hopefully)

* Fix error formatting everywhere

* Fix typo in windows webview

* Tidy example mods

* Set application name in tests

* Fix ubuntu test workflow

* Cleanup template test pipeline

* Fix dev build detection on Go 1.24

* Update template go.mod/sum to Go 1.24

* Remove redundant caching in template tests

* Final format string cleanup

* Fix wails3 tool references

* Fix legacy log calls

* Remove formatJS and simplify format strings

* Fix indirect import

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-19 09:27:41 +01:00
Ian VanSchooten
a49bfcc956
[v3] Update copyright date (#4037)
* Update copyright date to 2025

* Update changelog
2025-02-14 08:43:19 +11:00
Lea Anthony
282b420faf
Fix windows paths -> forward slashes 2025-01-31 07:14:18 +11:00
Lea Anthony
db61f9f263
Event cancellation for standard listeners.
Major doc updates.
Runtime build tidy up.
Removed redundant default event mappings.
2025-01-27 09:29:22 +11:00
Lea Anthony
31487b5a0c
Fix bad merge 2025-01-23 22:03:14 +11:00
Fabio Massaioli
3f825823d5
[v3] Pass build flags to binding generator (#4023)
* Pass build flags to binding generator

* Update changelog

* Track variable dependencies using task labels

* Track JS/TS sources for binding generator

The `/wails:include` directive allows for the inclusion of additional JS/TS files in the generated bindings.

* Pass production var to frontend task

* Track binding generator output as source

* Fix generates pattern for frontend build task

* Fix typo in function `term.Warningf`

* Use facilities from `internal/term` in bindings command instead of `pterm`

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-01-23 10:58:35 +00:00
Fabio Massaioli
16ce1d3448
[v3] Service API cleanup and comments (#4024)
* Gather and document service API

* Update changelog

* Add NewServiceWithOptions

* Revert static analyser change

* Remove infinite loop in NewService[WithOptions]

* Fix compiler warning in bindings command

* Add test for NewServiceWithOptions

* Update changelog

* Fix service example

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-01-23 10:53:48 +00:00
Lea Anthony
5ccc810999
Fix tests 2025-01-20 19:56:03 +11:00
Akshay Kalose
9a54f5832d
[v3] Update Templates (macOS Target Version and Linux aarch64 AppImage) (#3981)
* [v3] Update Templates (macOS Target Version and Linux aarch64 AppImage)

* Update changelog.mdx

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-01-15 08:01:24 +11:00
Lea Anthony
8b64705dd6
Frontend builds now use vite environment "development" or "production" depending on build type
Fix windows webview2 bootstrapper path issue
2025-01-13 18:24:21 +11:00
Lea Anthony
c6f9ebe22d
Add -clean option for bindings generation. 2025-01-11 14:31:57 +11:00
Lea Anthony
1f9f8dae66
Add -buildvcs=false for dev mode 2025-01-10 16:33:26 +11:00
Lea Anthony
0e239c9771
Add -buildvcs=false flag to Taskfiles 2025-01-10 16:04:05 +11:00
Lea Anthony
d3d11593bc
Add update cli
Terminal output refactor
2025-01-02 16:24:37 +11:00
Lea Anthony
78bde14388
Add releasenotes command 2025-01-02 11:38:48 +11:00
Lea Anthony
59a8ecc5b2
Support template generation 2025-01-01 20:58:49 +11:00
Lea Anthony
97cc4a4b2c
Make common taskfile generate TS bindings when using a Typescript template. 2024-12-28 19:51:53 +11:00
Lea Anthony
65f95b0380
Removed OnShouldClose: Create single way of handling conditional and unconditional close. 2024-12-23 08:23:07 +11:00
Lea Anthony
01899adef9
Add bootstrapper back in 2024-12-18 19:51:22 +11:00
Lea Anthony
7aa6abfefe
Documentation updates.
New `-git` flag for `wails3 init`.
New `wails3 generate webview2bootstrapper` command.
2024-12-16 20:00:56 +11:00
Lea Anthony
dcb7a7fdfc
Taskfile / build assets refactor. 2024-12-08 19:27:46 +11:00
Lea Anthony
e0d788bea9
v3.0.0-alpha.8.3 2024-12-07 10:13:58 +11:00
Lea Anthony
65e7437eed
v3.0.0-alpha.8.2 2024-12-07 10:11:41 +11:00
Anshuman
b37cdf5ba9
[v3] fix: Add cross-platform cleanup for .syso files during Windows build (#3924)
* fix: Add cross-platform cleanup for .syso files during Windows build

* Updated changelog
2024-12-02 20:39:00 +11:00
Atterpac
9173537ce5
[V3-Linux] Support for deb,rpm,arch linux packager packaging (#3909)
* Support for linux deb,rpm,arch linux packager packaging

* remove optional tasks from linux:package task

CHANGELOG.md

* Update Taskfile.linux.yml

* Integrated nfpm into CLI.
Fixed task update.

* package tool fixes and add bundle name field

empty name guard

* add linux depdencies

* Add some docs

* Fixed tests. Updated task to latest.

* Update v3/internal/commands/tool_package.go

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

* Remove doctor references to nfpm

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-30 13:31:56 +11:00
Atterpac
76e7654242
Fix AMD64 appimage generation (#3898)
changelog

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-11-22 20:45:27 +11:00
Anshuman
c54fbdb075
Fix build assets update (#3901)
* fix: build assets update from config

* Updated changelog
2024-11-22 20:42:19 +11:00
Lea Anthony
a98bf32b24
Fix syso naming issue 2024-11-18 20:43:03 +11:00
Kodflow
3b7c870a53
[V3 Linux] aarch64 compilation (#3854)
* [V3 Linux] Add multi arch package for imageapp

base

quick refacto

* update changelog

* update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-11-16 12:20:32 +11:00
Lea Anthony
b4a61e11fa
Add devmode config to config.yml.
Remove devmode.config.yaml.
Update Watcher command.
Update templates.
2024-11-09 09:35:13 +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
f078ee9f9a
Support wails3 generate runtime 2024-11-03 17:28:32 +11:00
Lea Anthony
1cb7a33442
Support updating the build assets 2024-10-24 10:07:11 +11:00
Lea Anthony
5367d056e2
Taskfile Refactor (#3748)
* Refactor taskfile

* Fix escaping

* Fix event error

* Fix dev mode

* Fixes for Windows

* Add docs. Improve docs build system

* Update v3/internal/commands/build_assets/Taskfile.darwin.yml

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

* Update v3/internal/commands/build_assets/Taskfile.linux.yml

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

* Improve docs

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-09-21 20:49:25 +10:00
Lea Anthony
5cde12b42a
Refactored Events (#3731)
Experimental rename
2024-09-07 16:39:02 +10:00
Atterpac
e316cd0719
[V3] Plugins implemenations (#3570)
* plugin handler and lifecycle

* rebase

* remove reflect

s

* remove Config and NewPlugin from plugin template

* Remove plugin manager, generation of plugin interface

* implement http handlers for services

remove log

trim path

prefix wails/services

* update plugine example

* Misc updates

* Ported plugins to services, rewritten example

* Added fileserver

* Update OnStartup and use a context for the application

* Rename PathPrefix to Route. Create docs.

* Use service config copy. Add Name to Service Options. Improve service generation.

* Use service config copy. Add Name to Service Options. Improve service generation. Update README

* Remove rogue db

* Update changelog.md

---------

Co-authored-by: Lea O'Anthony <lea.anthony@gmail.com>
2024-09-01 17:26:22 +10:00
Lea O'Anthony
96b97b25bf
Fix syso generation bug 2024-08-16 21:09:40 +10:00
Atterpac
cfab21bc81
fix syso icon generation (#3675)
update changelog.md
2024-08-10 07:26:37 +10:00
Lea Anthony
1cba1416a1 Fix tests 2024-08-04 21:28:15 +10:00
Lea O'Anthony
c88f02c5a5
Add build info tool 2024-07-30 22:03:01 +10:00
Lea Anthony
212f5c7270
Clean up footer 2024-07-30 07:57:25 +10:00
Atterpac
7941f00c35
https flag for dev mode (#3603) 2024-07-29 20:46:44 +10:00
Lea Anthony
d7e103de59
Fix nsis install 2024-07-16 06:25:05 +10:00
Mohamed Gharib
d5e289880f
[v3] Rename AbsolutePosition() to Position() (#3611) 2024-07-15 19:27:21 +10:00
DeltaLaboratory
749c433ca6
feat: disable spinner in ci or non terminal (#3574)
* added nospinner flag to disable spinner in ci environment

Signed-off-by: delta <delta@deltalab.dev>

* deduplicated result message

Signed-off-by: delta <delta@deltalab.dev>

* removed flag and added terminal check

Signed-off-by: delta <delta@deltalab.dev>

* added changelog entry

Signed-off-by: delta <delta@deltalab.dev>

---------

Signed-off-by: delta <delta@deltalab.dev>
2024-07-02 18:35:39 +10:00
Lea Anthony
ab06920e74 Fix non-windows build issues 2024-06-09 08:28:38 +10:00
Fabio Massaioli
90b7ea944d
[v3] New binding generator (#3468)
* Support variadic arguments and slice, pointer types

* Fix computation of type namespaces

* Improve comments and general formatting

* Set default values correctly for composite types

* Add templates for bindings

Additionally:
* fixes generation of tuple return type
* improves imports and namespacing in JS mode
* general cleanup of generated code

* Simplify import list construction

* Refactor type generation code

Improves support for unknown types (encoded as any) and maps (using
Typescript index signatures)

* Support slices with pointer elements

* Match encoding/json behaviour in struct parser

* Update tests and example

* Add tests for complex method signatures and json tag parsing

* Add test `function_multiple_files`

* Attempt looking up idents with missing denotation

* Update test data

* fix quoted bool field

* Test quoted booleans

* Delete old parser code

* Remove old test data

* Update bindgen flags

* Makes call by ID the default

* Add package loading code

* Add static analyser

* Temporarily ignore binding generation code

* Add complex slice expressions test

* Fix variable reference analysis

* Unwrap casts to interface types

* Complete code comments

* Refactor static analyser

* Restrict options struct usage

* Update tests

* Fix method selector sink and source processing

* Improve Set API

* Add package info collector

* Rename analyser package to analyse

* Improve template functions

* Add index file templates

* Add glue code for binding generation

* Refactor collection and rendering code

* Implement binding generator

* Implement global index generation

* Improve marshaler and alias handling

* Use package path in binding calls by name

* Implement model collection and rendering

* Fix wrong exit condition in analyser

* Fix enum rendering

* Generate shortcuts for all packages.

* Implement generator tests

* Ignore non-pointer bound types

* Treat main package specially

* Compute stats

* Plug new API into generate command

* Support all named types

* Update JS runtime

* Report dual role types

* Remove go1.22 syntax

* Fix type assertion in TS bindings

* encoding/json compliance for arrays and slices

* Ignore got files in testdata

* Cleanup type rendering mechanism

* Update JS runtime

* Implement generic models

* Add missing field in renderer initialisation

* Improve generic creation code

* Add generic model test

* Add error reporting infrastructure

* Support configurable file names

* Detect file naming collisions

* Print final error report

* New shortcut file structure + collision detection

* Update test layout and data

* Autoconfiguration for analyser tests

* Live progress reporting

* Update code comments

* Fix model doc rendering

* Simplify name resolution

* Add test for out of tree types

* Fix generic creation code

* Fix potential collisions between methods and models

* Fix generic class alias rendering

* Report model discovery in debug mode

* Add interface mode for JS

* Collect interface method comments

* Add interface methods test

* Unwrap generic instantiations in method receivers

* Fix rendering of nullable types in interface mode

* Fix rendering of class aliases

* Expose promise cancel method to typescript

* Update test data

* Update binding example

* Fix rendering of aliased quoted type params

* Move to strongly typed bindings

* Implement lightweight analyser

* Update test cases

* Update binding example

* Add complex instantiation test

* Load full dependency tree

* Rewrite collector

* Update renderer to match new collector

* Update generator to match new collector

* Update test data

* Update binding example

* Configure includes and injections by language

* Improve system path resolution

* Support rich conditions in inject/include directives

* Fix error handling in Generator.Generate

* Retrieve compiled go file paths from fileset

* Do not rely on struct info in struct flattening algorithm

* Fix doc comment for findDeclaraion

* Fix bugs in embedded field handling

* Fix bugs and comments in package collection

* Remove useless fields from ServiceInfo

* Fix empty line at the beginning of TS indexes

* Remove global index and shortcuts

* Remove generation tests for individual packages

* Enforce lower-case file names

* Update test data

* Improve error reporting

* Update binding example

* Reintroduce go1.22 syntax

* Improve relative import path computation

* Improve alias support

* Add alias test

* Update test data

* Remove no services error

* Rename global analyser test

* Add workaround and test for bug in typeutil.Map

* Update test data

* Do not split fully qualified names

* Update typeutil package and remove workaround

* Unify alias/named type handling

* Fix rendering of generic named class aliases

* Fix rendering of array types

* Minor tweaks and cleanups

* Rmove namespaced export construct

* Update test data

* Update binding example

* Break type cycles

* Fix typo in comment

* Fix creation code for cyclic types

* Fix type of variadic params in interface mode

* Update test data

* Fix bad whitespace

* Refactor type assertions inside bound methods

* Update test data

* Rename field application.Options.Bind to Services

* Rename parser package to generator

* Update binding example

* Update test data

* Update generator readme

* Add typescript test harness

* Move test output to new subfolder

* Fix code generation bugs

* Use .js extensions in TS mode imports

* Update test data

* Revert default generator output dir to frontend/bindings

* Bump runtime package version

* Update templates

* Update changelog

* Improve newline handling

---------

Co-authored-by: Andreas Bichinger <andreas.bichinger@gmail.com>
2024-05-19 20:40:44 +10:00
Atterpac
2c29e1ca76
update devmode to use types and yaml (#3454)
go mod update
2024-05-05 17:27:53 +10:00
abichinger
2255af1c45
[v3] Add port flag to dev command (#3429)
* Add `port` flag to dev command, ...

Add support for environment variable WAILS_VITE_PORT

* Check if port is already in use

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-05-02 21:48:50 +10:00
Atterpac
b050a07362
dev mode adapt to OS (#3412)
changelog
2024-04-22 12:44:10 +10:00