mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-09-11 07:55:34 +03:00
Spelling (#4880)
Co-authored-by: Lorenzo Lewis <lorenzo_lewis@icloud.com> Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
This commit is contained in:
parent
14f337d8ad
commit
8fd79b8fc0
@ -24,7 +24,7 @@ Prerequisites are mainly derived from VS Code's instructions for usage of develo
|
||||
|
||||
### A note on filesystem performance
|
||||
|
||||
Due to limititations in how Docker shares files between the Docker host and a container, it's also recommended that developers [clone Tauri source code into a container volume](https://code.visualstudio.com/remote/advancedcontainers/improve-performance#_use-clone-repository-in-container-volume). This is optional, but highly advised as many filesystem/IO heavy opearations (`cargo build`, `yarn install`, etc) will be very slow if they operate on directories shared with a Docker container from the Docker host.
|
||||
Due to limitations in how Docker shares files between the Docker host and a container, it's also recommended that developers [clone Tauri source code into a container volume](https://code.visualstudio.com/remote/advancedcontainers/improve-performance#_use-clone-repository-in-container-volume). This is optional, but highly advised as many filesystem/IO heavy operations (`cargo build`, `yarn install`, etc) will be very slow if they operate on directories shared with a Docker container from the Docker host.
|
||||
|
||||
To do this, open your project with VS Code and run **Remote-Containers: Clone Repository in Container Volume...** from the Command Palette (<kbd>F1</kbd>).
|
||||
|
||||
|
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@ -50,7 +50,7 @@ First, [join our Discord server](https://discord.gg/SpmNs4S) and let us know tha
|
||||
|
||||
To set up your machine for development, follow the [Tauri setup guide](https://tauri.app/v1/guides/getting-started/prerequisites/) to get all the tools you need to develop Tauri apps. The only additional tool you may need is [Yarn](https://yarnpkg.com/), it is only required if you are developing the Node CLI or API packages (`tooling/cli/node` and `tooling/api`). Next, fork and clone this repo. It is structured as a monorepo, which means that all the various Tauri packages are under the same repository. The development process varies depending on what part of Tauri you are contributing to, see the guides below for per-package instructions.
|
||||
|
||||
Some Tauri packages will be automatically built when running one of the examples. Others, however, will need to be built beforehand. To build these automatically, run the `.scripts/setup.sh` (Linux and macOS) or `.scripts/setup.ps1` (Windows) script. This will install the Rust and Node.js CLI and build the JS API. After that, you should be able to run all the examples. Note that the setup script should be executed from the root folder of the respository in order to run correctly.
|
||||
Some Tauri packages will be automatically built when running one of the examples. Others, however, will need to be built beforehand. To build these automatically, run the `.scripts/setup.sh` (Linux and macOS) or `.scripts/setup.ps1` (Windows) script. This will install the Rust and Node.js CLI and build the JS API. After that, you should be able to run all the examples. Note that the setup script should be executed from the root folder of the repository in order to run correctly.
|
||||
|
||||
### Packages Overview
|
||||
|
||||
@ -87,4 +87,4 @@ The JS API provides bindings between the developer's JS in the Webview and the b
|
||||
|
||||
## Financial Contribution
|
||||
|
||||
Tauri is an MIT-licensed open source project. Its ongoing development can be supported via [Github Sponsors](https://github.com/sponsors/nothingismagick) or [Open Collective](https://opencollective.com/tauri). We prefer Github Sponsors as donations made are doubled through the matching fund program.
|
||||
Tauri is an MIT-licensed open source project. Its ongoing development can be supported via [GitHub Sponsors](https://github.com/sponsors/nothingismagick) or [Open Collective](https://opencollective.com/tauri). We prefer GitHub Sponsors as donations made are doubled through the matching fund program.
|
||||
|
2
.github/workflows/artifacts-updater.yml
vendored
2
.github/workflows/artifacts-updater.yml
vendored
@ -24,7 +24,7 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-artifacs:
|
||||
build-artifacts:
|
||||
runs-on: ${{ matrix.platform }}
|
||||
|
||||
strategy:
|
||||
|
2
.github/workflows/bench.yml
vendored
2
.github/workflows/bench.yml
vendored
@ -43,7 +43,7 @@ jobs:
|
||||
python-version: '3.x'
|
||||
architecture: x64
|
||||
|
||||
- name: install depedencies
|
||||
- name: install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
sudo apt-get update
|
||||
|
@ -40,7 +40,7 @@ This is common code that is reused in many places and offers useful utilities li
|
||||
|
||||
### Tauri Tooling
|
||||
#### [api](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) [TS -> JS]
|
||||
A typescript library that creates `cjs` and `esm` Javascript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure typescript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.
|
||||
A TypeScript library that creates `cjs` and `esm` JavaScript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure TypeScript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.
|
||||
|
||||
#### [bundler](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) [RUST / SHELL]
|
||||
The bundler is a library that builds a Tauri App for the platform triple it detects / is told. At the moment it currently supports macOS, Windows and Linux - but in the near future will support mobile platforms as well. May be used outside of Tauri projects.
|
||||
|
@ -106,7 +106,7 @@ pub struct WindowsAttributes {
|
||||
///
|
||||
/// For MSVC the Windows SDK has to be installed. It comes with the resource compiler rc.exe.
|
||||
/// This should be set to the root directory of the Windows SDK, e.g., "C:\Program Files (x86)\Windows Kits\10" or,
|
||||
/// if multiple 10 versions are installed, set it directly to the corret bin directory "C:\Program Files (x86)\Windows Kits\10\bin\10.0.14393.0\x64"
|
||||
/// if multiple 10 versions are installed, set it directly to the correct bin directory "C:\Program Files (x86)\Windows Kits\10\bin\10.0.14393.0\x64"
|
||||
///
|
||||
/// If it is left unset, it will look up a path in the registry, i.e. HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots
|
||||
sdk_dir: Option<PathBuf>,
|
||||
|
@ -70,7 +70,7 @@ pub fn get_config(path: &Path) -> Result<(Config, PathBuf), CodegenConfigError>
|
||||
|
||||
let config = serde_json::from_value(config)?;
|
||||
|
||||
// Reset workding directory.
|
||||
// Reset working directory.
|
||||
std::env::set_current_dir(old_cwd).map_err(CodegenConfigError::CurrentDir)?;
|
||||
|
||||
Ok((config, parent))
|
||||
|
@ -88,7 +88,7 @@ pub fn derive_command_module(input: TokenStream) -> TokenStream {
|
||||
/// The `run` method takes a `tauri::endpoints::InvokeContext`
|
||||
/// and returns a `tauri::Result<tauri::endpoints::InvokeResponse>`.
|
||||
/// It matches on each enum variant and call a method with name equal to the variant name, lowercased and snake_cased,
|
||||
/// passing the the context and the variant's fields as arguments.
|
||||
/// passing the context and the variant's fields as arguments.
|
||||
/// That function must also return the same `Result<InvokeResponse>`.
|
||||
#[doc(hidden)]
|
||||
#[proc_macro_attribute]
|
||||
|
@ -134,7 +134,7 @@ pub trait WindowBuilder: WindowBuilderBase {
|
||||
#[must_use]
|
||||
fn visible(self, visible: bool) -> Self;
|
||||
|
||||
/// Whether the the window should be transparent. If this is true, writing colors
|
||||
/// Whether the window should be transparent. If this is true, writing colors
|
||||
/// with alpha values different than `1.0` will produce a transparent window.
|
||||
#[cfg(any(not(target_os = "macos"), feature = "macos-private-api"))]
|
||||
#[cfg_attr(
|
||||
|
@ -671,7 +671,7 @@ pub struct CliArg {
|
||||
pub required: bool,
|
||||
/// Sets an arg that override this arg's required setting
|
||||
/// i.e. this arg will be required unless this other argument is present.
|
||||
#[serde(alias = "requred-unless-present")]
|
||||
#[serde(alias = "required-unless-present")]
|
||||
pub required_unless_present: Option<String>,
|
||||
/// Sets args that override this arg's required setting
|
||||
/// i.e. this arg will be required unless all these other arguments are present.
|
||||
@ -2551,7 +2551,7 @@ pub struct PackageConfig {
|
||||
/// App name.
|
||||
#[serde(alias = "product-name")]
|
||||
pub product_name: Option<String>,
|
||||
/// App version. It is a semver version number or a path to a `package.json` file contaning the `version` field.
|
||||
/// App version. It is a semver version number or a path to a `package.json` file containing the `version` field.
|
||||
#[serde(deserialize_with = "version_deserializer", default)]
|
||||
pub version: Option<String>,
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ pub enum Error {
|
||||
#[error("CSPRNG error")]
|
||||
Csprng(#[from] CsprngError),
|
||||
|
||||
/// Something went wrong with decryping an AES-GCM payload
|
||||
/// Something went wrong with decrypting an AES-GCM payload
|
||||
#[error("AES-GCM")]
|
||||
Aes,
|
||||
|
||||
|
@ -1357,7 +1357,7 @@ Note: The order that event handlers are called when triggered is still non-deter
|
||||
- The HTTP API was improved with client caching and better payload and response types.
|
||||
- [a7bc472](https://www.github.com/tauri-apps/tauri/commit/a7bc472e994730071f960d09a12ac85296a080ae) refactor(core): improve HTTP API, closes [#1098](https://www.github.com/tauri-apps/tauri/pull/1098) ([#1237](https://www.github.com/tauri-apps/tauri/pull/1237)) on 2021-02-15
|
||||
- [a6def70](https://www.github.com/tauri-apps/tauri/commit/a6def7066eec19c889b0f14cc1e475bf209a332e) Refactor(tauri): move tauri-api and tauri-updater to tauri ([#1455](https://www.github.com/tauri-apps/tauri/pull/1455)) on 2021-04-11
|
||||
- Added new Javascript API to extract `name`, `version`, `tauri version` from the running application. We exposed `relaunch` and `exit` as well to control your application state.
|
||||
- Added new JavaScript API to extract `name`, `version`, `tauri version` from the running application. We exposed `relaunch` and `exit` as well to control your application state.
|
||||
- [e511d39](https://www.github.com/tauri-apps/tauri/commit/e511d3991041a974273a2674a9bf60230b7519ee) feat(api): Expose application metadata and functions to JS api - fix [#1387](https://www.github.com/tauri-apps/tauri/pull/1387) ([#1445](https://www.github.com/tauri-apps/tauri/pull/1445)) on 2021-04-08
|
||||
- [a6def70](https://www.github.com/tauri-apps/tauri/commit/a6def7066eec19c889b0f14cc1e475bf209a332e) Refactor(tauri): move tauri-api and tauri-updater to tauri ([#1455](https://www.github.com/tauri-apps/tauri/pull/1455)) on 2021-04-11
|
||||
- The event listener `once` kind was moved to a dedicated function.
|
||||
|
@ -219,7 +219,7 @@ impl From<MessageDialogKind> for rfd::MessageLevel {
|
||||
/// which makes them easier to use.
|
||||
///
|
||||
/// **NOTE:** You cannot block the main thread when executing the dialog APIs, so you must use the [`crate::api::dialog`] methods instead.
|
||||
/// Examples of main thread context are the [`crate::App::run`] closure and non-async commmands.
|
||||
/// Examples of main thread context are the [`crate::App::run`] closure and non-async commands.
|
||||
pub mod blocking {
|
||||
use super::{MessageDialogButtons, MessageDialogKind};
|
||||
use crate::{Runtime, Window};
|
||||
|
@ -865,7 +865,7 @@ impl<R: Runtime> App<R> {
|
||||
// we only listen for `tauri://update`
|
||||
// once we receive the call, we check if an update is available or not
|
||||
// if there is a new update we emit `tauri://update-available` with details
|
||||
// this is the user responsabilities to display dialog and ask if user want to install
|
||||
// this is the user responsibilities to display dialog and ask if user want to install
|
||||
// to install the update you need to invoke the Event `tauri://update-install`
|
||||
updater::listener(handle);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ type ChildId = u32;
|
||||
type ChildStore = Arc<Mutex<HashMap<ChildId, crate::api::process::CommandChild>>>;
|
||||
|
||||
#[cfg(any(shell_execute, shell_sidecar))]
|
||||
fn command_childs() -> &'static ChildStore {
|
||||
fn command_child_store() -> &'static ChildStore {
|
||||
use once_cell::sync::Lazy;
|
||||
static STORE: Lazy<ChildStore> = Lazy::new(Default::default);
|
||||
&STORE
|
||||
@ -160,12 +160,12 @@ impl Cmd {
|
||||
let (mut rx, child) = command.spawn()?;
|
||||
|
||||
let pid = child.pid();
|
||||
command_childs().lock().unwrap().insert(pid, child);
|
||||
command_child_store().lock().unwrap().insert(pid, child);
|
||||
|
||||
crate::async_runtime::spawn(async move {
|
||||
while let Some(event) = rx.recv().await {
|
||||
if matches!(event, crate::api::process::CommandEvent::Terminated(_)) {
|
||||
command_childs().lock().unwrap().remove(&pid);
|
||||
command_child_store().lock().unwrap().remove(&pid);
|
||||
}
|
||||
let js = crate::api::ipc::format_callback(on_event_fn, &event)
|
||||
.expect("unable to serialize CommandEvent");
|
||||
@ -184,7 +184,7 @@ impl Cmd {
|
||||
pid: ChildId,
|
||||
buffer: Buffer,
|
||||
) -> super::Result<()> {
|
||||
if let Some(child) = command_childs().lock().unwrap().get_mut(&pid) {
|
||||
if let Some(child) = command_child_store().lock().unwrap().get_mut(&pid) {
|
||||
match buffer {
|
||||
Buffer::Text(t) => child.write(t.as_bytes())?,
|
||||
Buffer::Raw(r) => child.write(&r)?,
|
||||
@ -195,7 +195,7 @@ impl Cmd {
|
||||
|
||||
#[module_command_handler(shell_script)]
|
||||
fn kill_child<R: Runtime>(_context: InvokeContext<R>, pid: ChildId) -> super::Result<()> {
|
||||
if let Some(child) = command_childs().lock().unwrap().remove(&pid) {
|
||||
if let Some(child) = command_child_store().lock().unwrap().remove(&pid) {
|
||||
child.kill()?;
|
||||
}
|
||||
Ok(())
|
||||
|
@ -18,7 +18,7 @@ use tauri_macros::default_runtime;
|
||||
pub type SetupHook<R> =
|
||||
Box<dyn FnOnce(&mut App<R>) -> Result<(), Box<dyn std::error::Error>> + Send>;
|
||||
|
||||
/// A closure that is run everytime Tauri receives a message it doesn't explicitly handle.
|
||||
/// A closure that is run every time Tauri receives a message it doesn't explicitly handle.
|
||||
pub type InvokeHandler<R> = dyn Fn(Invoke<R>) + Send + Sync + 'static;
|
||||
|
||||
/// A closure that is responsible for respond a JS message.
|
||||
|
@ -215,7 +215,7 @@ pub struct InnerWindowManager<R: Runtime> {
|
||||
pub(crate) tray_icon: Option<Icon>,
|
||||
|
||||
package_info: PackageInfo,
|
||||
/// The webview protocols protocols available to all windows.
|
||||
/// The webview protocols available to all windows.
|
||||
uri_scheme_protocols: HashMap<String, Arc<CustomProtocol<R>>>,
|
||||
/// The menu set to all windows.
|
||||
menu: Option<Menu>,
|
||||
|
@ -32,7 +32,7 @@ type EventListener = Box<dyn Fn(&Event) + Send>;
|
||||
/// Scope for filesystem access.
|
||||
#[derive(Clone)]
|
||||
pub struct Scope {
|
||||
alllowed_patterns: Arc<Mutex<HashSet<Pattern>>>,
|
||||
allowed_patterns: Arc<Mutex<HashSet<Pattern>>>,
|
||||
forbidden_patterns: Arc<Mutex<HashSet<Pattern>>>,
|
||||
event_listeners: Arc<Mutex<HashMap<Uuid, EventListener>>>,
|
||||
}
|
||||
@ -41,9 +41,9 @@ impl fmt::Debug for Scope {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("Scope")
|
||||
.field(
|
||||
"alllowed_patterns",
|
||||
"allowed_patterns",
|
||||
&self
|
||||
.alllowed_patterns
|
||||
.allowed_patterns
|
||||
.lock()
|
||||
.unwrap()
|
||||
.iter()
|
||||
@ -86,10 +86,10 @@ impl Scope {
|
||||
env: &Env,
|
||||
scope: &FsAllowlistScope,
|
||||
) -> crate::Result<Self> {
|
||||
let mut alllowed_patterns = HashSet::new();
|
||||
let mut allowed_patterns = HashSet::new();
|
||||
for path in scope.allowed_paths() {
|
||||
if let Ok(path) = parse_path(config, package_info, env, path) {
|
||||
push_pattern(&mut alllowed_patterns, path)?;
|
||||
push_pattern(&mut allowed_patterns, path)?;
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ impl Scope {
|
||||
}
|
||||
|
||||
Ok(Self {
|
||||
alllowed_patterns: Arc::new(Mutex::new(alllowed_patterns)),
|
||||
allowed_patterns: Arc::new(Mutex::new(allowed_patterns)),
|
||||
forbidden_patterns: Arc::new(Mutex::new(forbidden_patterns)),
|
||||
event_listeners: Default::default(),
|
||||
})
|
||||
@ -111,7 +111,7 @@ impl Scope {
|
||||
|
||||
/// The list of allowed patterns.
|
||||
pub fn allowed_patterns(&self) -> HashSet<Pattern> {
|
||||
self.alllowed_patterns.lock().unwrap().clone()
|
||||
self.allowed_patterns.lock().unwrap().clone()
|
||||
}
|
||||
|
||||
/// The list of forbidden patterns.
|
||||
@ -141,7 +141,7 @@ impl Scope {
|
||||
pub fn allow_directory<P: AsRef<Path>>(&self, path: P, recursive: bool) -> crate::Result<()> {
|
||||
let path = path.as_ref().to_path_buf();
|
||||
{
|
||||
let mut list = self.alllowed_patterns.lock().unwrap();
|
||||
let mut list = self.allowed_patterns.lock().unwrap();
|
||||
|
||||
// allow the directory to be read
|
||||
push_pattern(&mut list, &path)?;
|
||||
@ -157,7 +157,7 @@ impl Scope {
|
||||
/// After this function has been called, the frontend will be able to use the Tauri API to read the contents of this file.
|
||||
pub fn allow_file<P: AsRef<Path>>(&self, path: P) -> crate::Result<()> {
|
||||
let path = path.as_ref();
|
||||
push_pattern(&mut self.alllowed_patterns.lock().unwrap(), &path)?;
|
||||
push_pattern(&mut self.allowed_patterns.lock().unwrap(), &path)?;
|
||||
self.trigger(Event::PathAllowed(path.to_path_buf()));
|
||||
Ok(())
|
||||
}
|
||||
@ -212,7 +212,7 @@ impl Scope {
|
||||
false
|
||||
} else {
|
||||
let allowed = self
|
||||
.alllowed_patterns
|
||||
.allowed_patterns
|
||||
.lock()
|
||||
.unwrap()
|
||||
.iter()
|
||||
|
@ -363,7 +363,7 @@ impl<R: Runtime> UpdateBuilder<R> {
|
||||
let mut last_error: Option<Error> = None;
|
||||
for url in &self.urls {
|
||||
// replace {{current_version}}, {{target}} and {{arch}} in the provided URL
|
||||
// this is usefull if we need to query example
|
||||
// this is useful if we need to query example
|
||||
// https://releases.myapp.com/update/{{target}}/{{arch}}/{{current_version}}
|
||||
// will be translated into ->
|
||||
// https://releases.myapp.com/update/darwin/aarch64/1.0.0
|
||||
@ -420,7 +420,7 @@ impl<R: Runtime> UpdateBuilder<R> {
|
||||
// Extracted remote metadata
|
||||
let final_release = remote_release.ok_or(Error::ReleaseNotFound)?;
|
||||
|
||||
// did the announced version is greated than our current one?
|
||||
// is the announced version greater than our current one?
|
||||
let should_update = if let Some(comparator) = self.should_install.take() {
|
||||
comparator(&self.current_version, &final_release)
|
||||
} else {
|
||||
@ -520,7 +520,7 @@ impl<R: Runtime> Update<R> {
|
||||
// We fail here because later we can add more linux support
|
||||
// actually if we use APPIMAGE, our extract path should already
|
||||
// be set with our APPIMAGE env variable, we don't need to do
|
||||
// anythin with it yet
|
||||
// anything with it yet
|
||||
#[cfg(target_os = "linux")]
|
||||
if self.app.state::<Env>().appimage.is_none() {
|
||||
return Err(Error::UnsupportedLinuxPackage);
|
||||
@ -1309,7 +1309,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn http_updater_fallback_urls_withs_array() {
|
||||
fn http_updater_fallback_urls_with_array() {
|
||||
let _m = mockito::mock("GET", "/")
|
||||
.with_status(200)
|
||||
.with_header("content-type", "application/json")
|
||||
|
@ -64,7 +64,7 @@
|
||||
//!
|
||||
//! If the user accepts, the download and install are initialized. The user will be then prompted to restart the application.
|
||||
//!
|
||||
//! ## Javascript API
|
||||
//! ## JavaScript API
|
||||
//!
|
||||
//! **Attention, you need to _disable built-in dialog_ in your [tauri configuration](#configuration), otherwise, events aren't emitted and the javascript API will NOT work.**
|
||||
//!
|
||||
@ -107,7 +107,7 @@
|
||||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! #### Javascript
|
||||
//! #### JavaScript
|
||||
//! ```js
|
||||
//! import { emit } from "@tauri-apps/api/event";
|
||||
//! emit("tauri://update");
|
||||
@ -145,7 +145,7 @@
|
||||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! #### Javascript
|
||||
//! #### JavaScript
|
||||
//! ```js
|
||||
//! import { listen } from "@tauri-apps/api/event";
|
||||
//! listen("tauri://update-available", function (res) {
|
||||
@ -180,7 +180,7 @@
|
||||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! #### Javascript
|
||||
//! #### JavaScript
|
||||
//! ```js
|
||||
//! import { emit } from "@tauri-apps/api/event";
|
||||
//! emit("tauri://update-install");
|
||||
@ -209,7 +209,7 @@
|
||||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! #### Javascript
|
||||
//! #### JavaScript
|
||||
//!
|
||||
//! Event : `tauri://update-download-progress`
|
||||
//!
|
||||
@ -270,7 +270,7 @@
|
||||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! #### Javascript
|
||||
//! #### JavaScript
|
||||
//! Event : `tauri://update-status`
|
||||
//!
|
||||
//! Emitted data:
|
||||
|
@ -358,7 +358,7 @@ impl<'a, R: Runtime> WindowBuilder<'a, R> {
|
||||
self
|
||||
}
|
||||
|
||||
/// Whether the the window should be transparent. If this is true, writing colors
|
||||
/// Whether the window should be transparent. If this is true, writing colors
|
||||
/// with alpha values different than `1.0` will produce a transparent window.
|
||||
#[cfg(any(not(target_os = "macos"), feature = "macos-private-api"))]
|
||||
#[cfg_attr(
|
||||
@ -844,7 +844,7 @@ impl<R: Runtime> Window<R> {
|
||||
self.window.dispatcher.is_resizable().map_err(Into::into)
|
||||
}
|
||||
|
||||
/// Gets the window's current vibility state.
|
||||
/// Gets the window's current visibility state.
|
||||
pub fn is_visible(&self) -> crate::Result<bool> {
|
||||
self.window.dispatcher.is_visible().map_err(Into::into)
|
||||
}
|
||||
@ -917,7 +917,7 @@ impl<R: Runtime> Window<R> {
|
||||
})
|
||||
}
|
||||
|
||||
/// Returns the `ApplicatonWindow` from gtk crate that is used by this window.
|
||||
/// Returns the `ApplicationWindow` from gtk crate that is used by this window.
|
||||
///
|
||||
/// Note that this can only be used on the main thread.
|
||||
#[cfg(any(
|
||||
|
@ -400,7 +400,7 @@
|
||||
target="_blank"
|
||||
href="https://github.com/tauri-apps/tauri"
|
||||
>
|
||||
Github
|
||||
GitHub
|
||||
<span class="i-codicon-link-external" />
|
||||
</a>
|
||||
<a
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
// This example show how updater events work when dialog is disabled.
|
||||
// This allow you to use custom dialog for the updater.
|
||||
// This is your responsability to restart the application after you receive the STATUS: DONE.
|
||||
// This is your responsibility to restart the application after you receive the STATUS: DONE.
|
||||
|
||||
import { checkUpdate, installUpdate } from '@tauri-apps/api/updater'
|
||||
import { listen } from '@tauri-apps/api/event'
|
||||
|
2
examples/isolation/dist/index.html
vendored
2
examples/isolation/dist/index.html
vendored
@ -14,7 +14,7 @@
|
||||
|
||||
<style>
|
||||
body {
|
||||
/* Add a nice colorscheme to our page and text */
|
||||
/* Add a nice color scheme to our page and text */
|
||||
background-color: #222831;
|
||||
color: #ececec;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
// This is an example of a taui app built into a dll
|
||||
// This is an example of a tauri app built into a dll
|
||||
// Calling lib_test1 within the dll will launch the webview
|
||||
|
||||
#![cfg_attr(
|
||||
|
@ -23,7 +23,7 @@ Tauri apps can have custom menus and have tray-type interfaces. They can be upda
|
||||
|
||||
## This module
|
||||
|
||||
This is a typescript library that creates `cjs` and `esm` Javascript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure typescript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.
|
||||
This is a typescript library that creates `cjs` and `esm` JavaScript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure typescript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts.
|
||||
|
||||
To learn more about the details of how all of these pieces fit together, please consult this [ARCHITECTURE.md](https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md) document.
|
||||
|
||||
|
@ -54,7 +54,7 @@ async function listen<T>(
|
||||
* token: string
|
||||
* }
|
||||
* const unlisten = await once<LoadedPayload>('loaded', (event) => {
|
||||
* console.log(`App is loaded, logggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);
|
||||
* console.log(`App is loaded, loggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);
|
||||
* });
|
||||
*
|
||||
* // you need to call unlisten if your handler goes out of scope e.g. the component is unmounted
|
||||
|
@ -456,7 +456,7 @@ async function removeDir(
|
||||
}
|
||||
|
||||
/**
|
||||
* Copys a file to a destination.
|
||||
* Copies a file to a destination.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { copyFile, BaseDirectory } from '@tauri-apps/api/fs';
|
||||
|
@ -589,7 +589,7 @@ async function resolve(...paths: string[]): Promise<string> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes the given `path`, resolving `'..'` and `'.'` segments and resolve symolic links.
|
||||
* Normalizes the given `path`, resolving `'..'` and `'.'` segments and resolve symbolic links.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { normalize, appDir } from '@tauri-apps/api/path';
|
||||
|
@ -37,7 +37,7 @@
|
||||
- [82eb6e79](https://www.github.com/tauri-apps/tauri/commit/82eb6e79e8098bccd2b3d3581056b5350beb46c6) fix(bundler): Fix appimage bundler crashing if path has spaces ([#4471](https://www.github.com/tauri-apps/tauri/pull/4471)) on 2022-06-26
|
||||
- Ensure `usr/lib` is a directory in the AppImage bundle.
|
||||
- [aa0336d6](https://www.github.com/tauri-apps/tauri/commit/aa0336d6c5764f1357d845f2bf3763a89a3771a1) fix(bundler): ensure AppImage usr/lib is a dir ([#4419](https://www.github.com/tauri-apps/tauri/pull/4419)) on 2022-06-21
|
||||
- AppImage bundling will now prefer bundling correctly named appincidator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- AppImage bundling will now prefer bundling correctly named appindicator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- [bf45ca1d](https://www.github.com/tauri-apps/tauri/commit/bf45ca1df6691c05bdf72c5716cc01e89a7791d4) fix(cli,bundler): prefer AppImage libraries with ABI version ([#4505](https://www.github.com/tauri-apps/tauri/pull/4505)) on 2022-06-29
|
||||
- Fix language code for korean (ko-KR).
|
||||
- [08a73acd](https://www.github.com/tauri-apps/tauri/commit/08a73acde877453ca5b45ea7548cdd3d407366a2) fix(bundler): fix language code. closes [#4437](https://www.github.com/tauri-apps/tauri/pull/4437) ([#4444](https://www.github.com/tauri-apps/tauri/pull/4444)) on 2022-06-24
|
||||
|
@ -365,7 +365,7 @@ mod tests {
|
||||
AppCategory::from_str("Developer Tool"),
|
||||
Ok(AppCategory::DeveloperTool)
|
||||
);
|
||||
// Lowercase, spaces, and hypens are fine:
|
||||
// Lowercase, spaces, and hyphens are fine:
|
||||
assert_eq!(
|
||||
AppCategory::from_str(" puzzle game "),
|
||||
Ok(AppCategory::PuzzleGame)
|
||||
|
@ -15,7 +15,7 @@ use std::{
|
||||
};
|
||||
|
||||
/// Returns true if the path has a filename indicating that it is a high-density
|
||||
/// "retina" icon. Specifically, returns true the the file stem ends with
|
||||
/// "retina" icon. Specifically, returns true the file stem ends with
|
||||
/// "@2x" (a convention specified by the [Apple developer docs](
|
||||
/// https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html)).
|
||||
#[allow(dead_code)]
|
||||
|
@ -18,7 +18,7 @@ const KEYCHAIN_PWD: &str = "tauri-build";
|
||||
// APPLE_CERTIFICATE is the p12 certificate base64 encoded.
|
||||
// By example you can use; openssl base64 -in MyCertificate.p12 -out MyCertificate-base64.txt
|
||||
// Then use the value of the base64 in APPLE_CERTIFICATE env variable.
|
||||
// You need to set APPLE_CERTIFICATE_PASSWORD to the password you set when youy exported your certificate.
|
||||
// You need to set APPLE_CERTIFICATE_PASSWORD to the password you set when you exported your certificate.
|
||||
// https://help.apple.com/xcode/mac/current/#/dev154b28f09 see: `Export a signing certificate`
|
||||
pub fn setup_keychain(
|
||||
certificate_encoded: OsString,
|
||||
|
@ -474,7 +474,7 @@ impl SettingsBuilder {
|
||||
///
|
||||
/// Package settings will be read from Cargo.toml.
|
||||
///
|
||||
/// Bundle settings will be read from from $TAURI_DIR/tauri.conf.json if it exists and fallback to Cargo.toml's [package.metadata.bundle].
|
||||
/// Bundle settings will be read from $TAURI_DIR/tauri.conf.json if it exists and fallback to Cargo.toml's [package.metadata.bundle].
|
||||
pub fn build(self) -> crate::Result<Settings> {
|
||||
let target = if let Some(t) = self.target {
|
||||
t
|
||||
|
@ -26,7 +26,7 @@ use tauri_utils::{config::WebviewInstallMode, resources::resource_relpath};
|
||||
use uuid::Uuid;
|
||||
use zip::ZipArchive;
|
||||
|
||||
// URLS for the WIX toolchain. Can be used for crossplatform compilation.
|
||||
// URLS for the WIX toolchain. Can be used for cross-platform compilation.
|
||||
pub const WIX_URL: &str =
|
||||
"https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip";
|
||||
pub const WIX_SHA256: &str = "2c1888d5d1dba377fc7fa14444cf556963747ff9a0a289a3599cf09da03b9e2e";
|
||||
|
@ -91,7 +91,7 @@ fn locate_signtool() -> crate::Result<PathBuf> {
|
||||
}
|
||||
|
||||
pub fn sign<P: AsRef<Path>>(path: P, params: &SignParams) -> crate::Result<()> {
|
||||
// Convert path to string reference, as we need to pass it as a commandline parameter to signtool
|
||||
// Convert path to string reference, as we need to pass it as a command-line parameter to signtool
|
||||
let path_str = path.as_ref().to_str().unwrap();
|
||||
|
||||
info!(action = "Signing"; "{} with identity \"{}\"", path_str, params.certificate_thumbprint);
|
||||
|
@ -39,7 +39,7 @@
|
||||
This only works with recent versions of `libappindicator-sys` (including https://github.com/tauri-apps/libappindicator-rs/pull/38),
|
||||
so a `cargo update` may be necessary if you create `.deb` bundles and use the tray feature.
|
||||
- [0e6edeb1](https://www.github.com/tauri-apps/tauri/commit/0e6edeb14f379af1e02a7cebb4e3a5c9e87ebf7f) fix(cli): Don't add `pkg-config` to `deb` ([#4508](https://www.github.com/tauri-apps/tauri/pull/4508)) on 2022-06-29
|
||||
- AppImage bundling will now prefer bundling correctly named appincidator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- AppImage bundling will now prefer bundling correctly named appindicator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- [bf45ca1d](https://www.github.com/tauri-apps/tauri/commit/bf45ca1df6691c05bdf72c5716cc01e89a7791d4) fix(cli,bundler): prefer AppImage libraries with ABI version ([#4505](https://www.github.com/tauri-apps/tauri/pull/4505)) on 2022-06-29
|
||||
- Improve error message when `cargo` is not installed.
|
||||
- [e0e5f772](https://www.github.com/tauri-apps/tauri/commit/e0e5f772430f6349ec99ba891e601331e376e3c7) feat(cli): improve `cargo not found` error message, closes [#4428](https://www.github.com/tauri-apps/tauri/pull/4428) ([#4430](https://www.github.com/tauri-apps/tauri/pull/4430)) on 2022-06-21
|
||||
|
@ -41,7 +41,7 @@
|
||||
This only works with recent versions of `libappindicator-sys` (including https://github.com/tauri-apps/libappindicator-rs/pull/38),
|
||||
so a `cargo update` may be necessary if you create `.deb` bundles and use the tray feature.
|
||||
- [0e6edeb1](https://www.github.com/tauri-apps/tauri/commit/0e6edeb14f379af1e02a7cebb4e3a5c9e87ebf7f) fix(cli): Don't add `pkg-config` to `deb` ([#4508](https://www.github.com/tauri-apps/tauri/pull/4508)) on 2022-06-29
|
||||
- AppImage bundling will now prefer bundling correctly named appincidator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- AppImage bundling will now prefer bundling correctly named appindicator library (including `.1` version suffix). With a symlink for compatibility with the old naming.
|
||||
- [bf45ca1d](https://www.github.com/tauri-apps/tauri/commit/bf45ca1df6691c05bdf72c5716cc01e89a7791d4) fix(cli,bundler): prefer AppImage libraries with ABI version ([#4505](https://www.github.com/tauri-apps/tauri/pull/4505)) on 2022-06-29
|
||||
- Improve error message when `cargo` is not installed.
|
||||
- [e0e5f772](https://www.github.com/tauri-apps/tauri/commit/e0e5f772430f6349ec99ba891e601331e376e3c7) feat(cli): improve `cargo not found` error message, closes [#4428](https://www.github.com/tauri-apps/tauri/pull/4428) ([#4430](https://www.github.com/tauri-apps/tauri/pull/4430)) on 2022-06-21
|
||||
|
@ -205,7 +205,7 @@
|
||||
]
|
||||
},
|
||||
"version": {
|
||||
"description": "App version. It is a semver version number or a path to a `package.json` file contaning the `version` field.",
|
||||
"description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field.",
|
||||
"default": null,
|
||||
"type": [
|
||||
"string",
|
||||
|
@ -285,7 +285,7 @@ pub fn command(mut options: Options) -> Result<()> {
|
||||
let pub_key_decoded = String::from_utf8_lossy(&pubkey);
|
||||
let public_key = minisign::PublicKeyBox::from_string(&pub_key_decoded)?.into_public_key()?;
|
||||
|
||||
// make sure we have our package builts
|
||||
// make sure we have our package built
|
||||
let mut signed_paths = Vec::new();
|
||||
for elem in updater_bundles {
|
||||
// we expect to have only one path in the vec but we iter if we add
|
||||
|
@ -927,7 +927,7 @@ fn get_package_manager<T: AsRef<str>>(app_dir_entries: &[T]) -> crate::Result<Pa
|
||||
|
||||
if found.len() > 1 {
|
||||
return Err(anyhow::anyhow!(
|
||||
"only one package mangager should be used, but found {}\nplease remove unused package manager lock files",
|
||||
"only one package manager should be used, but found {}\nplease remove unused package manager lock files",
|
||||
found.join(" and ")
|
||||
));
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ fn format_error<I: IntoApp>(err: clap::Error) -> clap::Error {
|
||||
err.format(&mut app)
|
||||
}
|
||||
|
||||
/// Run the Tauri CLI with the passed arguments, exiting if an error occurrs.
|
||||
/// Run the Tauri CLI with the passed arguments, exiting if an error occurs.
|
||||
///
|
||||
/// The passed arguments should have the binary argument(s) stripped out before being passed.
|
||||
///
|
||||
|
@ -50,7 +50,7 @@ pub fn command(options: Options) -> Result<()> {
|
||||
);
|
||||
}
|
||||
|
||||
println!("\nEnvironment variabled used to sign:\n`TAURI_PRIVATE_KEY` Path or String of your private key\n`TAURI_KEY_PASSWORD` Your private key password (optional)\n\nATTENTION: If you lose your private key OR password, you'll not be able to sign your update package and updates will not work.\n---------------------------\n");
|
||||
println!("\nEnvironment variables used to sign:\n`TAURI_PRIVATE_KEY` Path or String of your private key\n`TAURI_KEY_PASSWORD` Your private key password (optional)\n\nATTENTION: If you lose your private key OR password, you'll not be able to sign your update package and updates will not work.\n---------------------------\n");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -23,6 +23,6 @@ tauri = {{{ tauri_dep }}}
|
||||
# by default Tauri runs in production mode
|
||||
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
|
||||
default = [ "custom-protocol" ]
|
||||
# this feature is used used for production builds where `devPath` points to the filesystem
|
||||
# this feature is used for production builds where `devPath` points to the filesystem
|
||||
# DO NOT remove this
|
||||
custom-protocol = [ "tauri/custom-protocol" ]
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
As you create PRs and make changes that require a version bump, please add a new markdown file in this folder. You do not note the version *number*, but rather the type of bump that you expect: major, minor, or patch. The filename is not important, as long as it is a `.md`, but we recommend it represents the overall change for our sanity.
|
||||
|
||||
When you select the version bump required, you do *not* need to consider depedencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
|
||||
When you select the version bump required, you do *not* need to consider dependencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
|
||||
|
||||
Use the following format:
|
||||
```md
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
As you create PRs and make changes that require a version bump, please add a new markdown file in this folder. You do not note the version *number*, but rather the type of bump that you expect: major, minor, or patch. The filename is not important, as long as it is a `.md`, but we recommend it represents the overall change for our sanity.
|
||||
|
||||
When you select the version bump required, you do *not* need to consider depedencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
|
||||
When you select the version bump required, you do *not* need to consider dependencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
|
||||
|
||||
Use the following format:
|
||||
```md
|
||||
|
Loading…
Reference in New Issue
Block a user