Closed amrbashir closed 1 year ago
I like most of this, but I'm not sure about Make almost all callbacks (where it makes sense), return a tauri::Result because most of our APIs return tauri::Result and would be easier to use ? operator.
. This one makes it harder to use custom Result types.
I'm not sure if these qualify under "breaking changes", but I'm tracking these in https://github.com/tauri-apps/tauri-docs/issues/1344 :
I'd like to request another one, merging the 2 updater configs into one. It may be a bit awkward to have the cli/bundler care about plugin configs but that's still wayyyyy less awkward than having 2 updater configs imo. Also we'll likely need something similar for the shell and deep link plugins anyway (to bundle the additional binaries needed for them if the plugins are used)
bundle.updater
into plugins.updater
I like most of this, but I'm not sure about
Make almost all callbacks (where it makes sense), return a tauri::Result because most of our APIs return tauri::Result and would be easier to use ? operator.
. This one makes it harder to use custom Result types.
My bad, I actually thought we have more than one callback that returns a result, turns out it is only .setup
, Should be fine to keep as is then.
Met @nathan234 at RustConf, Nathan mentioned looking at integrating ART for the Android side of 2.0. Feel free to join the conversation here, open a new issue/PR, or join us on Discord!
Event
andRunEvent
, I thinkRunEvent
should be renamed toEvent
andEvent
should be changed toEmittedEvent
and a variant underEvent
(which was previously namedRunEvent
)
While trying to implement this change, I had a change of heart because the JS side uses Event
as the type name of the so called EmittedEvent
in Rust and that doesn't make sense, so I decided to keep the names as they are for now.
if anyone feels like this change is still needed, let me know
Move from TS to JS with JSDoc for @tauri-apps/api npm package, see discord wg-forum post
Decided to keep TS and instead opted into simplifying the output JS files in https://github.com/tauri-apps/tauri/pull/8025 which makes:
Go to definition
doesn't work as expected but Go to source definition
does Closing this as most items are now implemented, the remaining 2 items could be added later, and will be tracked in their respective issues.
Public API changes:
http
crate types - https://github.com/tauri-apps/tauri/pull/7754tauri::api
module, not sure if it is needed, it still has hidden exports but ultimately it should be removed and replace with a public API if needed - https://github.com/tauri-apps/tauri/pull/7874path
andplugin
modules both, have aResult
type alias, where they should be usingtauri::Result
instead and not have Error types on their own - https://github.com/tauri-apps/tauri/pull/7875Make almost all callbacks (where it makes sense), return atauri::Result
because most of our APIs returntauri::Result
and would be easier to use?
operator.rand
anduuid
crates, our usages of it could be replaced with an atomically incremented counter - https://github.com/tauri-apps/tauri/pull/7939Env.args
to pull fromstd::env::args_os
instead ofstd::env::args
- https://github.com/tauri-apps/tauri/pull/7876FsScope
, then we haveipc::Scope
- https://github.com/tauri-apps/tauri/pull/7944TrayIconBuilder/TrayIcon::on_tray_event
should be renamed toTrayIconBuilder/TrayIcon::on_tray_icon_event
- https://github.com/tauri-apps/tauri/pull/7943TAURI_<SCOPE>_<VAR>
- https://github.com/tauri-apps/tauri/pull/7949 A few examples but not limited to:TAURI_FIPS_COMPLIANT
should beTAURI_BUNDLER_WIX_FIPS_COMPLIANT
TAURI_PRIVATE_KEY
relies onTAURI_KEY_PASSWORD
and so it should be renamed toTAURI_PRIVATE_KEY_PASSWORD
APPLE_ID
andAPPLE_PASSWORD
should probably be prefixed withTAURI_
unless these env vars are somewhat of a convention used by other tools, in that case, it should be fine to keep as is.Event
andRunEvent
, I thinkRunEvent
should be renamed toEvent
andEvent
should be changed toEmittedEvent
and a variant underEvent
(which was previously namedRunEvent
)Internal changes:
@tauri-apps/api
, likeinvoke
,Channel
,convertFileSrc
and probably all exports from@tauri-apps/api/tauri
module, should be all just a shim for the globally defined equivalents inscripts/core.js
- https://github.com/tauri-apps/tauri/pull/7942Move from TS to JS with JSDoc for @tauri-apps/api npm package, see discord wg-forum postThis list is open for discussion, I just made it because I keep forgetting about them and feel free to add more as you see fit.
cc @tauri-apps/wg-tauri