5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 13:02:04 +08:00
Commit Graph

504 Commits

Author SHA1 Message Date
Denis Bernard
08e12de2a0
linux: workaround for #2977 (#3027)
In NewWindow, set options.Linux.WebviewGpuPolicy to WebviewGpuPolicyNever
if options.Linux is nil, disabling GPU acceleration by default on linux
until the upstream bugs https://bugs.webkit.org/show_bug.cgi?id=228268
and https://bugs.webkit.org/show_bug.cgi?id=261874 are fixed.
2023-11-04 18:03:12 +11:00
Andrey Pshenkin
ae688aa07d
Implement custom protocol association support (#3000)
* implement MacOS openFile/openFiles events

* wip: windows file association

* fix macro import

* add file icon copy

* try copy icon

* keep only required part of scripts

* update config schema

* fix json

* set fileAssociation for mac via config

* proper iconName handling

* add fileAssociation icon generator

* fix file association icons bundle

* don't break compatibility

* remove mimeType as not supported linux for now

* add documentation

* adjust config schema

* restore formatting

* try implement single instance lock with params passing

* fix focusing

* fix focusing

* formatting

* use channel buffer for second instance events

* handle errors

* add comment

* remove unused option in file association

* wip: linux single instance lock

* wip: linux single instance

* some experiments with making window active

* try to use unminimise

* remove unused

* try present for window

* try present for window

* fix build

* cleanup

* cleanup

* implement single instance lock on mac os

* implement proper show for windows

* proper unmimimise

* get rid of openFiles mac os. change configuration structure

* remove unused channel

* remove unused function

* add documentation for single instance lock

* add PR link

* wip mac os deeplinks

* put custom url listner on top to catch link on app opening

* put custom url listner on top to catch link on app opening

* try add custom url windows

* adjust custom url

* add docs

* merge master

* update documentation

* add comment for darwin

* add PR link

* change naming

* change naming

* change naming

* change naming

* fix formatting

* fix naming

* Fix typo

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-11-02 20:26:05 +11:00
Andrey Pshenkin
c24bd5e3e8
Implement Single instance lock feature with passing arguments to initial instance (#2951)
* implement MacOS openFile/openFiles events

* wip: windows file association

* fix macro import

* add file icon copy

* try copy icon

* keep only required part of scripts

* update config schema

* fix json

* set fileAssociation for mac via config

* proper iconName handling

* add fileAssociation icon generator

* fix file association icons bundle

* don't break compatibility

* remove mimeType as not supported linux for now

* add documentation

* adjust config schema

* restore formatting

* try implement single instance lock with params passing

* fix focusing

* fix focusing

* formatting

* use channel buffer for second instance events

* handle errors

* add comment

* remove unused option in file association

* wip: linux single instance lock

* wip: linux single instance

* some experiments with making window active

* try to use unminimise

* remove unused

* try present for window

* try present for window

* fix build

* cleanup

* cleanup

* implement single instance lock on mac os

* implement proper show for windows

* proper unmimimise

* get rid of openFiles mac os. change configuration structure

* remove unused channel

* remove unused function

* add documentation for single instance lock

* add PR link

* changes after review

* update docs

* changes after review

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-10-23 21:31:56 +11:00
Andrey Pshenkin
6c46f6b41c
Implement file association Open a file from Finder/Explorer (#2918)
* implement MacOS openFile/openFiles events

* wip: windows file association

* fix macro import

* add file icon copy

* try copy icon

* keep only required part of scripts

* update config schema

* fix json

* set fileAssociation for mac via config

* proper iconName handling

* add fileAssociation icon generator

* fix file association icons bundle

* don't break compatibility

* remove mimeType as not supported linux for now

* add documentation

* adjust config schema

* restore formatting

* remove unused option in file association

* get rid of openFiles mac os. change configuration structure

* remove unused channel

* fix documentation

* fix typo

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-10-22 06:44:38 +11:00
Carl Seleborg
b5406cb13e
Add missing runtime.UnlockOSThread() (#2994)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-10-21 16:30:48 +11:00
dependabot[bot]
4257decf30
Bump postcss from 8.4.18 to 8.4.31 in /v2/internal/frontend/runtime (#2962)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.18 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.18...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-08 20:43:09 +11:00
Fadi Khadra
f6c82dcaba
[v2 mac] add fullscreen option to preference (#2953)
* [v2 mac] add fullscreen option to preference

* update changelog

* replace space by tabs
2023-10-02 07:05:25 +11:00
ALMAS
18ee469c47
[v2/Mac] Change Window Level (#2944)
* Change Window Level in Mac
2023-09-30 20:59:50 +10:00
Mohamed Gharib
3f9067c815
[v2] Devtools tag doesn't enable default context-menu (#2923)
* Devtools tag doesn't enable default context-menu

* Update changelog
2023-09-26 07:43:18 +10:00
Fadi Khadra
05eddc65b1
[v2 mac] Allow to specify webview preferences (#2937)
* [mac] allow to specify webview preferences
2023-09-25 08:15:55 +10:00
stffabi
d370f72ede
[v2, windows] Support async request processing on AssetServer (#2926) 2023-09-20 19:28:18 +02:00
Lea Anthony
3369327ad2
[v2] Support Enabling/Disabling swipe gestures (#2878)
* [v2] Support Enabling/Disabling swipe gestures

* [v2] Update change log

* [v2] Remove old call to PutIsSwipeNavigationEnabled

* Use latest webview2

* Update go-webview2 mod version
2023-09-20 08:23:38 +10:00
Mohamed Gharib
34c725231c
[v2] Refactor devtools (better naming to remove confusion) (#2921) 2023-09-19 20:56:49 +10:00
Lea Anthony
6aa6762f12
Devtools hotkey (#2915)
* Add Ctrl/Cmd+Shift+F12 Hotkey to open devtools when `-devtools` flag used.
2023-09-19 05:56:14 +10:00
Zámbó, Levente
647bc87600
[v2, Linux] fix menu background color (#2873)
* fix menu background color

* remove commented line

* handle transparent window and background color

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-09-07 21:25:02 +10:00
Andreas Christou
886bcc7b47
Add print functionality to v2 (#2822)
* Add print functionality to v2

* Update changelog

* Update runtime docs

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-09-06 07:55:36 +10:00
Zámbó, Levente
427e41f190
fix disable window resize (#2863)
* fix disable window resize

* change issue number in changelog

* change pull request number in changelog
2023-08-28 08:40:28 +10:00
stffabi
761efed84d
[v2] Introduce size and physical size of screens (#2856) 2023-08-26 10:11:01 +10:00
Phil Richards
427fe7e8d3
Init GTK in NewFrontend, not init (#2841)
* Init GTK in `NewFrontend`, not `init`

So apps that have a headless / non-gui mode will be able to run, since
they needn't call `NewFrontend` (which is called by `CreateApp`).
Previously, `init` would call `C.gtk_init` regardless of whether
CreateApp was called.

Also change to call `C.gtk_init_check` with a panic, instead of
`C.gtk_init`, since `gtk_init` just exits the process if it fails,
without a sensible error message.

Fixes #2628.

* Update changelog
2023-08-26 06:41:53 +10:00
Zámbó, Levente
5a4eae968f
set the background color for window (#2853)
* set the background color for window

* update changelog for #2853
2023-08-25 08:27:52 +10:00
Zámbó, Levente
9085e1edbb
Bugfix/2848 window set position timing (#2850)
* run WindowSetPosition on main thread

* remove wait group from SetPosition it is not neaded

* update changelog
2023-08-25 05:50:26 +10:00
Zámbó, Levente
e72e4aa179
add new programName option to linux options (#2817)
* add new programName option to linux options

* modify changelog

* free program name string
2023-08-10 07:48:09 +10:00
Ethan Reesor
22cfcbd5a1
Override error formatting (#2717) 2023-07-13 20:40:22 +10:00
Mohamed Gharib
8acbdc246c
[v2] Add smart default context-menu functionality (backported from v3) (#2748)
* [v2] Add smart default context-menu functionality (backported from v3)

* Update changelog
2023-06-28 06:35:02 +10:00
Mohamed Gharib
5292ced731
[v2, runtime] Separate runtime js debug build (#2745) 2023-06-27 21:31:08 +10:00
Mohamed Gharib
4162f097f1
[v2, options] Add EnableDefaultContextMenu option (#2733)
* [v2, options] Add EnableDefaultContextMenu option

* Update changelog & docs

* go mod tidy (./v2)

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-06-20 06:31:47 +10:00
Mohamed Gharib
fa851f29c5
[v2] Add -devtools production build flag (#2725)
* [v2] Add devtools production build flag

* Update changelog

* Fix changelog spacing

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-06-19 06:45:01 +10:00
Lea Anthony
f2ab205415
[chore] Use webview2 package (#2687)
* [v2 windows] Use external webview2 package

* Update CHANGELOG
2023-06-10 17:04:31 +10:00
Amin Yahyaabadi
35eb1e0160
fix: avoid app crashing when the Linux GTK key is empty (#2672)
* fix: avoid app crash when the Linux GTK key is empty

Fixes this error:

```
DEBUG | Log dir is: /root/.config/surrealdb_explorer/log.txt

Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal
panic: runtime error: index out of range [0] with length 0

goroutine 1 [running, locked to thread]:
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.parseKey({0x0, 0x0})
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/keys.go:87 +0xa5
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.acceleratorToGTK(0xc0001c5f20)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/keys.go:72 +0x2c
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.processMenuItem(0x866bc0?, 0xc0001c8a80, 0xc0001c8a80?)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/menu.go:159 +0x40b
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.processSubmenu(0xc0001c8a20, 0x79a2a9?)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/menu.go:99 +0xdc
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.processMenu(0xc00021f6c0, 0x12?)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/menu.go:82 +0x46
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.(*Window).SetApplicationMenu(0xc00021f6c0, 0xc000128dc8)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/menu.go:75 +0x1b6
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.NewWindow(0xc00011ba40, 0x0)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/window.go:126 +0x37b
github.com/wailsapp/wails/v2/internal/frontend/desktop/linux.NewFrontend({0x1cea4e8?, 0xc00023b890}, 0xc00011ba40, 0xc000128e40, 0xc0001c8b40, {0x1ce7480?, 0xc000139840})
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/linux/frontend.go:182 +0x5c5
github.com/wailsapp/wails/v2/internal/frontend/desktop.NewFrontend(...)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/frontend/desktop/desktop_linux.go:16
github.com/wailsapp/wails/v2/internal/app.CreateApp(0xc00011ba40)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/internal/app/app_production.go:84 +0x5a5
github.com/wailsapp/wails/v2/pkg/application.(*Application).Run(0xc000131940)
        /home/aminya/go/pkg/mod/github.com/wailsapp/wails/v2@v2.5.1/pkg/application/application.go:57 +0x29
wails_vue/backend.BootApplication(0xc000131640, 0xc000138a40, 0xc0001c5320, 0xc0001c55c0, 0xc000128b40, 0xc00012ec30, 0xc000131880)
        /home/aminya/Documents/GitHub/teamnoon/SurrealDB-Explorer/backend/Application.go:103 +0x718
reflect.Value.call({0x874160?, 0x1c761f0?, 0xc000138a00?}, {0x8e263d, 0x4}, {0xc0001584d0, 0x7, 0x1c761f0?})
        /usr/local/go/src/reflect/value.go:586 +0xb0b
reflect.Value.Call({0x874160?, 0x1c761f0?, 0x1c761f0?}, {0xc0001584d0?, 0x0?, 0x1c761f0?})
        /usr/local/go/src/reflect/value.go:370 +0xbc
github.com/Envuso/go-ioc-container.(*Invocable).CallMethodWith(0xc000138a00, 0x1c761f0?, {0x0?, 0x1cef290?, 0x8bd180?})
        /home/aminya/go/pkg/mod/github.com/!envuso/go-ioc-container@v0.0.5/invocable.go:149 +0xad
github.com/Envuso/go-ioc-container.(*ContainerInstance).Call(0xc00011c630?, {0x874160?, 0x1c761f0?}, {0x0, 0x0, 0x0})
        /home/aminya/go/pkg/mod/github.com/!envuso/go-ioc-container@v0.0.5/container_invocation.go:30 +0x6c
main.main()
        /home/aminya/Documents/GitHub/teamnoon/SurrealDB-Explorer/main.go:34 +0x112
```

* fix: merge the key length comparison
2023-05-25 18:40:37 +10:00
stffabi
496461920f
[v2] DevServer improvements and fixes (#2664)
* [assetserver, darwin] Fix copying request headers by using strdup

* [assetserver, linux] Fake some basic http headers for legacy webkit2 versions to support proxying requests to other servers

This fixes the devserver on v2 for newer vite versions that use the custom
scheme.

* [v2, windows] 304 responses are going to hang the WebView2 so prevent them by removing cache related headers in the request.

* [v2, dev] Now uses the custom schemes `wails://` on macOS and Linux for all Vite versions.

Prevent missing reload after fast multiple savings on Linux and Windows.
2023-05-16 09:35:48 +02:00
stffabi
22b53192e6
[v2, webview2loader] Prevent env and registry overrides when using the go loader (#2668) 2023-05-15 21:12:16 +02:00
LGiki
832d6bc4d3
[v2, linux] Fix StartHidden option not working on Linux (#2624)
* fix: StartHidden option not working on Linux

* chore: add an entry to the changelog
2023-04-30 01:20:39 +10:00
stffabi
3853d2d1bf
[v2, windows] Handle webview2 process crashes and add DisableWebViewRendererCodeIntegrity flag (#2627)
* Add flag to disable webview RendererCodeIntegrity checks
* Handle webview2 process crashes
2023-04-27 23:03:26 +02:00
stffabi
0bf41090b0
[v2, darwin] Add some missing default shortcuts (#2586)
* [v2, darwin] Add "Hide, Hide Others, Show All“ to appmenu

This also includes shortcuts support for those commands.
Arrange the menu items in the well known MacOS order.

* [v2, darwin] Add Window menu with well known shortcuts Minimize, Full-Screen and Zoom.
2023-04-20 12:38:32 +02:00
stffabi
529ec569f7
[v2, dev] Use custom schemes for in-app dev mode (#2610)
This fixes some long-standing inconsistencies between
dev mode builds and production builds but is a breaking
change. Dev mode uses custom scheme for Vite versions >= 3.0.0
and for older it still behaves in the old way.
2023-04-20 12:37:40 +02:00
stffabi
7c1490a8b1
[assetServer] Improve release/close handling of webview requests (#2612) 2023-04-20 12:06:37 +02:00
stffabi
767bfcff89
[v2, windows] Make sure to open the CommonFileDialogs on the main thread (#2606)
Otherwise it might have some strange side-effects like blocking
the completion of Deferrals in WebView2 when using custom
IStreams.
2023-04-17 20:50:27 +10:00
Joshua Hull
489689b477
Use json.Marshal instead of strconv.Quote to correctly support unicode (#2509)
* Use json.Marshal instead of strconv.Quote to correctly support unicode

* Add fix to changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-04-16 10:19:40 +10:00
stffabi
ec3da8b7ef
[v2, darwin] Fix updating the menu on runtime (#2588) 2023-04-14 00:14:19 +10:00
stffabi
db527c0fc2
[assetserver] Add linux platform implementation (#2543) 2023-03-31 10:08:31 +02:00
stffabi
47af68a8cb
[windows] Allow single-clicks on wails-draggable items (#2482)
* [runtime] Make it possible to restore old drag behaviour on windows with window.wails.flags.deferDragToMouseMove

* [runtime] Use deferDragToMouseMove as new default

This enhanced version should work well in all cases for Windows:
- No lag/delayed start of dragging
- Double-Clicks and Single-Click events still work in JavaScript on elements

* [docs] Add changelog
2023-03-20 08:45:21 +01:00
stffabi
6ed0eb217d
[webview2] Fix error handling in CreateWebResourceResponse (#2496)
The old error handling fails on WebView2Runtimes > 110.0.1587.69 and
will show a "connection refused" page and reloads after a short time.
After the reload everything worked as expected again.
2023-03-16 10:49:59 +01:00
stffabi
5dba18c853
[dev] Fix panic in devserver when using the logger (#2481) 2023-03-13 08:12:09 +01:00
stffabi
c11c32940e
[events] Fix race condition and missing unlock of mutex (#2453) 2023-03-07 10:40:33 +01:00
Rachel Chen
ad2fed8f08
[v2] frontend/runtime/wrapper: return function return value in runtime wrapper (#2434) 2023-03-01 07:37:09 +01:00
stffabi
c6146ccbf8
[darwin] Fix undo/redo (#2430) 2023-02-28 19:41:18 +11:00
Hao
0212698714
Patch 1 (#2352)
* update function notifyListeners in events.js

newEventListenerList will delete wrong listener if it call splice method in for-loop.

* Update events.js

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-02-25 12:58:59 +11:00
stffabi
0f57292555
[darwin] Add a macOS version guard for opening the web inspector (#2397)
Log if the inspector could not be opened due to missing or
incorrect private API.
2023-02-22 20:55:40 +11:00
Sebastian Bauer
895d6d4b80
Size() calculates DPIs back to default space. (#2325) 2023-01-22 15:25:26 +11:00
stffabi
caa0b6c804
[assetServer, darwin] Use AssetServer native WKWebView request handling (#2283) 2023-01-16 13:02:18 +01:00
stffabi
0a98efeea9
[runtime] Improve —wails-draggable by starting a drag immediately but only for the first click in a series (#2302)
This removes the sometime lagging experience when
starting to drag on Windows. But it's still possible to use
double-click events for adding e.g. a WindowToggleMaximise.
2023-01-16 20:56:13 +11:00
stffabi
d15e673a19
[windows] Some improvements to fullscreen (#2299) 2023-01-15 06:14:15 +01:00
stffabi
aaf039bcff
[windows] Disable frameless decorations during fullscreen (#2288)
Otherwise this leads to thin transparent lines on the window borders on older Windows versions.
2023-01-11 15:22:48 +01:00
stffabi
05679e70d0
[runtime] Frameless resize now sets the cursor on documentElement (#2289)
Otherwise if the body does not cover the full viewport the cursor won't
be shown outside of its rectangle.
2023-01-10 13:19:09 +01:00
stffabi
8e4606d104
[windows] Improve fullscreen mode for frameless windows (#2279)
* Improve fullscreen mode for frameless windows
* Set Window background color in addition to WebView2 background color
2023-01-09 12:15:43 +01:00
Lea Anthony
54ca6c7059
Refactor assetserver into pkg (#2260) 2023-01-08 11:25:21 +01:00
Zámbó, Levente
c3011813b0
linux separate window c and go file (#2275) 2023-01-07 16:20:11 +11:00
stffabi
284e20a290
Add EnableFraudulentWebsiteDetection to options (#2269)
This allows to explicitly opt-in to scan services for fraudulent
content, such as malware or phishing attempts.
2023-01-06 00:06:26 +11:00
Zámbó, Levente
0a32c1124e
Add common text clipboard support (#2228) 2023-01-05 16:41:07 +11:00
stffabi
ebc653a584
[windows] Add support for AdditionalBrowserArgs to the legacy Webview2Loader (#2267) 2023-01-02 22:41:56 +01:00
Zámbó, Levente
ef5f547d27
Support GPU acceleration settings on Windows & Linux (#2266)
* support GPU acceleration settings Window & Linux

* fix linux empty option crash

* fix change linux gpu policy switch case

* add PR to changelog
2023-01-02 09:38:53 +11:00
Lea Anthony
d3b4105f75
Chore/refactor assetserver (#2250)
* Remove context from API calls

* Remove logger dependency

* Remove fs dependency

* Remove runtime dependency

* Update Windows/Linux calls to NewAssetServerMainPage

* Add missing imports

* fix runtime import clash
2022-12-31 10:36:07 +11:00
stffabi
2345d3b3c2
[assetHandler] Add request path checks (#2235) 2022-12-24 18:45:07 +11:00
stffabi
a312c0ffcb
[darwin] Add support for Request/Response streaming (#2219) 2022-12-20 13:44:33 +01:00
stffabi
7d61971f86
[darwin] Add support for file input selection (#2209)
This will show a message on the console
"+[CATransaction synchronize] called within transaction"
but there's seem no way to mitigate that. Still everything
works as expected.
2022-12-15 11:18:13 +01:00
stffabi
006b0c65b4
[webview2loader] Add missing windows build constraint (#2201) 2022-12-13 13:51:01 +01:00
stffabi
4aab1e6b93
[webview2loader] Promote go loader from experimental to stable (#2199)
Default webview2loader is now the go loader
2022-12-13 23:27:50 +11:00
Lea Anthony
e57bfe002a
Fix right mouse button event (#2190) 2022-12-13 07:09:45 +11:00
Misite Bao
f70d9de366
fix: fix go test errors (#2169)
* fix: fix go test errors

* Add flags to mac test

* Run on all branches

* Update PR workflow

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-12-06 06:45:06 +11:00
stffabi
5cc012d763
[darwin] Inspector tools should also be included into a debug build (#2162) 2022-12-01 09:20:18 +01:00
Lea Anthony
ea6aee91f1
Refactored build command (#2123)
* Refactored build command

* Update v2/cmd/wails/build.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* WIP

* Refactor `wails doctor`

* Refactor `wails dev`

* Refactor `wails dev`

* Fix merge conflict

* Fix test

* Update build_and_test.yml

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-12-01 18:18:02 +11:00
stffabi
5418b879c4
[linux] Add support for WebKit2GTK 2.36+ features (#2151) 2022-11-30 11:04:12 +01:00
Lea Anthony
7f8952ebe5
Fix signal handler (#2152)
* Fix signal handler

* Update changelog
2022-11-30 20:37:55 +11:00
stffabi
993f87af97
[assetserver] Add support for serving the index.html file when requesting a directory (#2110)
* [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
2022-11-29 09:29:08 +01:00
Dieter Zhu
011d8e3094
Supplement the missing WindowSetAlwaysOnTop in runtime.d.ts and runtime.js (#2128) 2022-11-24 06:08:15 +11:00
stffabi
72aef804ef
[windows] Prevent a thin white line at the bottom of a frameless window (#2111)
This seems to be only a problem on some Windows versions.
2022-11-22 20:37:45 +11:00
stffabi
177d90497a
[assetserver] Add support for range requests if the fs.FS provides an io.Seeker (#2091)
This allows streaming audio and videos with range requests if the
platform webview supports it.
2022-11-15 07:19:25 +11:00
stffabi
0607777bec
[darwin, inspector] Fix build (#2082) 2022-11-12 21:02:53 +11:00
stffabi
f6e46ac1c3
[debug] Introducing debug options for debug builds to allow opening the inspector on startup (#2080) 2022-11-12 19:51:54 +11:00
Lea Anthony
0a7293d6b6
Update runtime 2022-11-09 21:22:32 +11:00
stffabi
0a1c05df16
[windows] Fix frameless maximizing in multi monitor setup (#2043) 2022-11-03 19:14:00 +11:00
stffabi
638caf72f0
[assetserver] Introduce middleware and extract options (#2016)
* [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
2022-10-29 23:15:15 +02:00
Joshua Hull
9f751d66e0
Add single listener deregistration (#1969)
* 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>
2022-10-23 09:03:37 +11:00
stffabi
0a20c8db96
[webview2loader] Add full featured go implementation (#1974)
* [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
2022-10-22 00:29:16 +11:00
stffabi
39addf2011
[dragging] Trim the css property value (#1989)
Webview2 on Windows returns a potential whitespace when defining the
style like this `style="--wails-draggable: drag"`. Whereas Darwin already
trims the value and returns "drag" and not " drag".
2022-10-18 10:28:59 +02:00
Pierre Joye
f4adff1cb3
#1057 expose ZoomFactor get/set and add the respective windows only options (#1463)
* #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>
2022-10-14 08:46:14 +11:00
Lea Anthony
eee6797907
Add WindowExecJS method (#1927)
* Add WindowExecJS

* [devserver] Embed the base frontend into the DevServer struct

* Update docs

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-10-05 08:44:23 +11:00
JulioDRF
bd378b2e0f
Fix wails dev (#1931)
* Fix wails dev

* Pass wg as pointer to both goroutines in DevWebServer.Run

* Remove shutdown goroutine
2022-10-05 06:47:37 +11:00
Zámbó, Levente
de49b1f125
fix gtk_window_begin_resize_drag's mouse button (#1920)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-01 15:45:37 +10:00
Zámbó, Levente
2690250378
Add window transparency for linux (#1926) 2022-10-01 15:44:38 +10:00
Zámbó, Levente
13532e00a0
add missing resize for framless window on linux (#1918)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-09-30 08:51:08 +10:00
Lea Anthony
c05666af7b
Fix asset handler on linux 2022-09-30 08:34:32 +10:00
Zámbó, Levente
b1e04772d9
bugfix/linux framless window drag (#1916) 2022-09-30 00:06:11 +10:00
Lea Anthony
b2069c871d
Refactor app (#1909)
* Application refactor

* [windows] refactor out main loop. Create new application struct. Refactor assethandler/assetserver signatures.

* Refactor darwin app

* Refactor app for linux

* Update v2/internal/frontend/assetserver/assethandler.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* Update v2/internal/frontend/assetserver/assethandler.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* Update v2/internal/frontend/assetserver/assetserver.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* Update v2/internal/frontend/assetserver/assetserver.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-09-29 18:43:35 +10:00
stffabi
953e67e7ed
[assetHandler] Remove redundant log prefix (#1896) 2022-09-24 18:03:16 +10:00
Lea Anthony
fd32734382
Add support for default No button (#1875)
* Add support for default No button

* Fix tests
2022-09-23 10:50:54 +10:00
Lea Anthony
74133c9ae3
v2.0.0 2022-09-22 11:00:57 +10:00
Lea Anthony
b93cdcd942
Releasetest/release workflow (#1869)
* Test release workflow

* Update release.yml

* Update release.yml

* add linux deps

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Fix: Misc tests

* Fix: Misc tests + linux build tags

* Fix: Bindings tests + move templates to pkg. Add json schema for templates

* Fix: template tests

* Add tests to release workflow. Test for go 1.18 + go 1.19
Fix: ignore .m files for non darwin builds. Fix watcher test. Fix warning in clilogger.

* Fix release pipeline

* Matrix for tests

* Rename templates to make tests work

* Update template test

* Debug template test

* Debug template test

* Debug template test

* Fix gitignore

* Update release.yml
2022-09-18 08:55:21 +10:00
Lea Anthony
052b9222c1
Add garble support (#1793)
Co-authored-by: AlbinoDrought <sean@albinodrought.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-09-13 10:05:37 +10:00
imgbot[bot]
eef99ee577
[ImgBot] Optimize images (#1812)
*Total -- 5,696.04kb -> 5,003.34kb (12.16%)

/v2/pkg/commands/build/internal/packager/icon32.png -- 7.95kb -> 2.95kb (62.83%)
/v2/internal/frontend/desktop/windows/winc/dock_topbottom.png -- 4.27kb -> 1.82kb (57.31%)
/assets/images/jetbrains-grayscale.png -- 102.85kb -> 52.29kb (49.16%)
/v2/internal/frontend/desktop/windows/winc/dock_topleft.png -- 3.47kb -> 1.88kb (45.81%)
/cmd/templates/svelte/frontend/public/favicon.png -- 3.05kb -> 1.91kb (37.45%)
/website/static/img/icon-windows-dark.svg -- 0.63kb -> 0.45kb (28.35%)
/v2/pkg/buildassets/build/appicon.png -- 174.74kb -> 129.52kb (25.88%)
/website/static/img/favicon.svg -- 0.99kb -> 0.76kb (23.37%)
/website/static/img/go_js.svg -- 4.49kb -> 3.45kb (23.14%)
/website/static/img/go_js_dark.svg -- 4.54kb -> 3.50kb (22.97%)
/cmd/templates/vuetify2-basic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/vuetify-basic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/create-react-app/frontend/src/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/vuebasic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/svelte/frontend/src/logo.png -- 300.95kb -> 234.35kb (22.13%)
/website/static/img/architecture.svg -- 3.83kb -> 3.04kb (20.6%)
/website/static/img/Terminal-icon-dark.svg -- 0.99kb -> 0.79kb (20.37%)
/website/static/img/Terminal-icon.svg -- 0.99kb -> 0.79kb (19.84%)
/website/static/img/wails-logo-textless.svg -- 4.11kb -> 3.40kb (17.31%)
/assets/images/pace.jpeg -- 3.06kb -> 2.55kb (16.57%)
/website/static/img/icon-apple-dark.svg -- 1.10kb -> 0.92kb (16.33%)
/website/static/img/Go_Logo_Blue.svg -- 2.20kb -> 1.86kb (15.21%)
/website/static/img/logo-dark.svg -- 7.19kb -> 6.18kb (14.12%)
/website/static/img/wails-logo-horizontal-dark.svg -- 6.29kb -> 5.41kb (14.02%)
/website/static/img/logo-light.svg -- 7.12kb -> 6.13kb (14%)
/website/static/img/wails-logo-horizontal.svg -- 6.22kb -> 5.36kb (13.87%)
/website/static/img/icon-windows.svg -- 0.42kb -> 0.39kb (8.14%)
/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/plain/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/plain/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/cmd/templates/vue3-js/frontend/src/assets/logo.png -- 6.69kb -> 6.33kb (5.4%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/preact.svg -- 1.57kb -> 1.49kb (4.99%)
/website/static/img/icon-apple.svg -- 0.76kb -> 0.72kb (4.52%)
/website/static/img/desktop-application-app-dark.svg -- 4.56kb -> 4.37kb (4.34%)
/website/static/img/desktop-application-app.svg -- 4.54kb -> 4.35kb (4.34%)
/website/static/img/logo.svg -- 6.55kb -> 6.29kb (4.05%)
/website/static/img/vitejs.svg -- 3.76kb -> 3.62kb (3.79%)
/cmd/templates/create-react-app/frontend/public/logo512.png -- 175.92kb -> 169.55kb (3.62%)
/v2/pkg/commands/build/internal/packager/icon128.png -- 16.10kb -> 15.52kb (3.58%)
/cmd/templates/vue3-full/frontend/src/assets/appicon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/packages/darwin/icon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/templates/vue3-js/frontend/src/assets/appicon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/packages/windows/icon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/templates/create-react-app/frontend/public/logo192.png -- 37.41kb -> 36.24kb (3.14%)
/cmd/templates/vuebasic/frontend/src/assets/fonts/roboto/roboto-v18-latin-regular.svg -- 47.83kb -> 46.81kb (2.13%)
/v2/pkg/commands/build/internal/packager/icon256.png -- 26.46kb -> 25.99kb (1.79%)
/website/static/img/icon-linux.svg -- 2.94kb -> 2.92kb (0.4%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-09-12 21:57:07 +10:00