Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple pdf files for single project #2045

Open
dschult opened this issue Mar 4, 2016 · 8 comments · May be fixed by #10438
Open

Multiple pdf files for single project #2045

dschult opened this issue Mar 4, 2016 · 8 comments · May be fixed by #10438
Labels
Accepted Accepted issue on our roadmap Improvement Minor improvement to code Needed: design decision A core team decision is required

Comments

@dschult
Copy link

dschult commented Mar 4, 2016

Despite the ability to create multiple pdf files (via latex) with the sphinx builder (see #245), the code for the sphinx backend only moves one pdf file to the target directory. The rest are created but never used.

Would it make more sense to move all the pdf files from the appropriate _build directory to the target directory? If we did so, would they show up in the "downloads" section of the webpage? If this sounds reasonable I could try to make a PR for it.

@agjohnson agjohnson added Improvement Minor improvement to code Needed: design decision A core team decision is required labels Mar 4, 2016
@agjohnson
Copy link
Contributor

This would be a great addition! I'm afraid the majority of the logic is likely hard coding the pdf output filename without regard for what the user is configuring. This goes for the download page as well.

Thinking through the changes required for this, I realized there are a number of design decisions to be made here. Some quick thoughts:

  • We can't completely remove the hardcoded name, as we definitely want to provide a per-version pdf
  • The download page will grow in complexity with additional pdfs, it should show the file(s) by version. More likely, the version page could be repurposed to display these files, this might be the more correct solution, but is a farther out target.
  • We could add this as a configuration option to our readthedocs.yaml, but again, display of downloads is the primary issue.

Feel free to discuss any changes you'd like to see here. We'll want to hash out the design of this a bit more before you go down the wrong path, though don't let that stop you from trying of course :)

@dschult
Copy link
Author

dschult commented Mar 7, 2016

Perhaps the downloads page could list the files in groups by version.
That is, the hardcoded name could refer to a directory inside the media server. In the folder for each version would be files that don't necessarily (and most likely wouldn't) depend on version. The downloads page could ask users to choose a version which would then provide the list of downloads for that version.

Would it be reasonable to hardcode directory names instead of pdf file names -- moving/copying them as needed instead of moving/copying individual files?

@agjohnson agjohnson added the Accepted Accepted issue on our roadmap label Sep 18, 2018
tsjackson-noaa pushed a commit to tsjackson-noaa/MDTF-diagnostics that referenced this issue May 15, 2020
It doesn't appear possible to adapt the readthedocs build process to
generate multiple PDFs
(readthedocs/readthedocs.org#2045).
Instead, build Getting Started and Walkthough files locally and serve
them from doc/_static.
@cwalther
Copy link

The rest are created but never used.

Note that this is no longer true – the build now fails before having created any of the PDFs. See #8612.

@stretch4x4
Copy link

I would certainly like to see this added also. We are looking to add user documentation alongside our existing documentation. Being able to break this up into smaller pdfs would better match our current setup, as opposed to one gigantic pdf the combines both user centric documentation and technical dev based documentation

FirelightFlagboy added a commit to Scille/parsec-cloud that referenced this issue May 12, 2023
Read the docs doesn't support multiple pdfs generation for the moment.
See <readthedocs/readthedocs.org#2045>.
github-merge-queue bot pushed a commit to Scille/parsec-cloud that referenced this issue May 12, 2023
Read the docs doesn't support multiple pdfs generation for the moment.
See <readthedocs/readthedocs.org#2045>.
NicoTuxx pushed a commit to Scille/parsec-cloud that referenced this issue May 30, 2023
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685469316 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685467460 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685467365 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685467349 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685466874 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685466843 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685465875 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685465414 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685465274 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685465221 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685464237 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685462315 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685460805 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685460313 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685458266 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685458024 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685458012 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685455718 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685454970 +0200

parent e5f02692b63c07dc3aa60786e7ee4ec1c1a3d714
author firelight flagboy <firelight.flagboy@gmail.com> 1680101502 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1685454915 +0200

Merge Manifest & Chunk Storage together

`Manifest` & `Chunk` storage can be merge together because they're using the same `database` file + `ManifestStorage` need `ChunkStorage`'s tables.

Since this is the lowest level possible for the abstraction of the storage and is highly dependent on the platform the code is run-on (we can use `sqlite` on desktop but in a web context we don't have that).

I choose to use trait on `platform_storage` because they're simpler to use and will help us to implement the equivalent object in web.

Other changes
-------------

- More picky on error in `get_manifest` before returning `LocalMiss`.
- Factorize `remove_chunks` `ManifestStorage` & `ChunkStorage` both have a way to remove chunks, I've extracted that logic in a specific fonction.
- Remove `Remanence` interface.

Co-authored-by: Emmanuel Leblond <touilleMan@users.noreply.github.com>

First commit

fix icon 'name' attribute problem

fix pass device via router

add resizable menu

replace 'init' service by watcher

• Change menu UI

• Change font files (only Regular and Bold) with variable font files

• Change logos in assets

Update fonts + logos

Changing UI menu

Create topbar menu (breadcrumb and profile component)

Unified background color and hover icon

Change in positive way the function isHidden() -> isVisible()

Rename property value in HeaderPage of sidebarMenu service

fix topbar buttons icon size, linter and imports

fix fr locale file key error

fix remove useless import

• Change menu UI

• Change font files (only Regular and Bold) with variable font files

• Change logos in assets

Changing UI menu

Create topbar menu (breadcrumb and profile component)

Unified background color and hover icon

Change in positive way the function isHidden() -> isVisible()

Rename property value in HeaderPage of sidebarMenu service

fix topbar buttons icon size, linter and imports

fix fr locale file key error

fix remove useless import

Add python version to libparsec cache key

This would force to re-link the libparsec when updating the python version.

Closes #4413

Bump happy-dom from 8.9.0 to 9.8.1 in /oxidation/client

Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 8.9.0 to 9.8.1.
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](https://github.com/capricorn86/happy-dom/compare/v8.9.0...v9.8.1)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump cypress from 12.9.0 to 12.10.0 in /oxidation/client

Bumps [cypress](https://github.com/cypress-io/cypress) from 12.9.0 to 12.10.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.9.0...v12.10.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @ionic/cli from 6.20.9 to 7.0.1 in /oxidation/client

Bumps [@ionic/cli](https://github.com/ionic-team/ionic-cli) from 6.20.9 to 7.0.1.
- [Release notes](https://github.com/ionic-team/ionic-cli/releases)
- [Changelog](https://github.com/ionic-team/ionic-cli/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ionic-team/ionic-cli/compare/@ionic/cli@6.20.9...@ionic/cli@7.0.1)

---
updated-dependencies:
- dependency-name: "@ionic/cli"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @typescript-eslint/parser in /oxidation/client

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.58.0 to 5.59.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vite from 4.2.1 to 4.2.2 in /oxidation/client

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.2.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.2.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @ionic/vue from 6.7.3 to 7.0.2 in /oxidation/client

Bumps [@ionic/vue](https://github.com/ionic-team/ionic) from 6.7.3 to 7.0.2.
- [Release notes](https://github.com/ionic-team/ionic/releases)
- [Changelog](https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ionic-team/ionic/compare/v6.7.3...v7.0.2)

---
updated-dependencies:
- dependency-name: "@ionic/vue"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Add a crate to manage http proxy configuration

I've added a new crate `platform_http_proxy` with the only goal is to configure and Http client from `reqwest`.

For now it only handle the configuration from the env variables `HTTP_PROXY` & `HTTPS_PROXY`.

> Note: that proxy configuration isn't possible on `wasm`.
> `Reqwest` does not expose `Proxy` when compile on `wasm`

Other changes
-------------

- Make `AuthenticatedCmds::new`, `InvitedCmds::new`, `AnonymousCmds::new` directly return `Self` instead of being wrapped in a result that wasn't failible.
- Refactor `generate_anonymous_client`, `generate_authenticated_client`, `generate_invited_client` to use the same fonction to generate the http client with the provided proxy configuration.

Closes #3873

Bump typescript from 4.9.5 to 5.0.4 in /oxidation/client

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vm2 from 3.9.16 to 3.9.17 in /oxidation/client

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.16 to 3.9.17.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patriksimek/vm2/compare/3.9.16...3.9.17)

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

Signed-off-by: dependabot[bot] <support@github.com>

[code-owners] Actually `oxidation/client` is written without an `s`

Re-enable autotest in libparsec_types
Having a single integration test is more verbose and complex while not providing a significant speed boost.

Switch to `use libparsec_type::prelude::*` in testbed crate

Merge libparsec_miniprotocol into libparsec_types

Switch to `use libparsec_type::prelude::*` in protocol crate

Small simplification in *Cmds::send return typing

Fix libparsec_platform_storage dev deps when running `cargo test -p libparsec_platform_storage`

Switch to `use libparsec_type::prelude::*` in platform_storage crate

Replace PartialEq impl for errors in tests by `assert!(matches!(...))`

Switch to `use libparsec_type::prelude::*` in client_connection crate

Switch to `use libparsec_type::prelude::*` in core crate

Switch to `use libparsec_type::prelude::*` in core_fs crate

Switch to `use libparsec_type::prelude::*` in platform_device_loader crate

Switch to `use libparsec_type::prelude::*` in serialization_format crate

Switch to `use libparsec_type::prelude::*` in tests_fixtures crate

Correct use import order

Re-enable `ci-web` by desactivating `e2e tests` & `unit tests` steps

Other Changes
-------------

- Add steps to verify code style
- Add a disabled step build web binding
  Currently disabled because it won't be used until we re-enable the tests steps.

[web] Correct undefined `message` props in `TestPage.vue`

[web] Rework injector by defining const symbol that is used as a key

This allow to have the correct type and prevent typo on the key and easier refactor if needed.

- Define the interface used by `Formatters`.
- Use null-assertion for `inject`.

Update Quickstart steps to start hacking parsec

- Add specific section for `web`, `python` & `rust`.
- Move previous section that where only related to the python part.
- Add section for `MacOS` setup
- Add steps to install `*fuse` lib

Closes #4404

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

remove useless file

replace ion-change by ion-input for ion-input

replace unwanted ion-popover by popoverController

replace svg by unworking custom ion-icon

• Create Popover styling
• Add a chevron transition to the profile header
• Add locales text (profile header)

remove useless icon from org manage button

Revert "replace svg by unworking custom ion-icon"

This reverts commit 97438be03d3153162552ba4f303002b4491b7e84.

add offset on profile header popover

Sidebar : fix positioning of the custom icon

remove user selection in profile header popover

Delete .python-version file

• Rename font (variables.css)
• define a prop email in profile header popover
• Remove unused function (onClickMenu)
• Remove comment in component Props (openPopover function)
• CSS file: spaces added

parent d9e6e9f03885751e40fd7401b00df14fbb149bff
author fabienSvstr <fabien.sevestre@my-digital-school.org> 1683188573 +0200
committer NicoTuxx <nicolasstempert@gmail.com> 1683648047 +0200

Locales added according to mockups

Modify SearchInput component

Updating the style of the whole page
• Add the svg image of bg sidebar
• create topbar (no popover yet)
• arrange each element according to the mockups

Update popover style

Filter button + popover
• Add a checkmark when selected
• Change the font
• Fix the height of the button

Update topbar and slide transition

Disable `electron`, `android` & `web` package build job

Those jobs need to be update to work with the new build system.
Currently I'm disabling it, to reduce the error reporting on those job.

- For `electron`, see: #4419.
- For `android`, see: #4395 & #4419.
- For `web`, see: #4419.

Don't require to install `poetry` & `python` in Q&A.

Installing `poetry` & `python` in `Q&A` was only required when we change python code.

It's more efficient to do that in `ci-python` since this workflow should be run when actual python code is changed (note, it is also run when we modify `rust` code).

Other Changes
-------------

- Action `use-pre-commit`:
  - Return the install path of `pre-commit` in the outputs variable `install-path`.
  - Skip `Run pre-commit` step when `install-only != true`.

Update .github/actions/use-pre-commit/action.yml

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Remove `env` variables in `ci.yml`

Remove the variables defined in `env` since they're now unused.

Add step to check if `pyenv` is usable by the user

i.e.: Add a step that indicate the user to modify it's `PATH` variable to add the installation path of `pyenv`

Closes #4448

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Remove `rust-version` in `package-ci.yml`

We don't need to specify `rust-version` since when the jobs will call `cargo ...` it will check `rust-toolchain.yml` first and install the correct toolchain.
We also don't need to install rust, since it's already present in the base image.

Change `yamllint` configuration to only allow for double-quote style in yaml files

This will ensure a consistent style across our yaml files.
I choose double-quote since it's the same style enforced in the python files.

Re-enable web unit test

Remove `wasm-pack` from `devDependencies` since it don't work.
Instead install it from the wasm-pack repo.

Other Changes
-------------

- Correct unused warning when compiling `platform_http_proxy` on `wasm32`.
- In `bindings/web/scripts/build.js`:
  - Provide `process.env` to sub command.
  - Now the script will directly invoque `wasm-pack`.
  - Ensure rust target `wasm32-unknown-unknown` is installed.
  - Ensure a link exist between `ci-rust` & `debug`.
- Cache rust artifact when build the web bindings.

Closes #4447

Add script to udpate the version of an used tool across the entire repository

This script is configurable to add new file to watch for a specific version used by a tool.

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

pre-commit `mypy` check for `misc`

[CI] Add check for tools version

Set the correct node version (`18.12.0`) to use in `package-ci` & `pre-commit`

Set the correct poetry version to use (`1.3.2`)

Set minimal python version to `3.9.5` (According to the documentation & snap requirement)

Fix typo concent -> consent

Remove rust toolchain version in `setup-rust.sh` since we use `rust-toolchain.toml`

Update cibuildwheel to `2.12.3` (from `2.10.0`)

Bump chrono from 0.4.23 to 0.4.24

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump email-address-parser from 2.0.0-rc2 to 2.0.0-rc3

Bumps [email-address-parser](https://github.com/Sayan751/email-address-parser) from 2.0.0-rc2 to 2.0.0-rc3.
- [Release notes](https://github.com/Sayan751/email-address-parser/releases)
- [Changelog](https://github.com/Sayan751/email-address-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Sayan751/email-address-parser/compare/v2.0.0-rc2...v2.0.0-rc3)

---
updated-dependencies:
- dependency-name: email-address-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump reqwest from 0.11.16 to 0.11.17

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.16 to 0.11.17.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.16...v0.11.17)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hex-literal from 0.3.4 to 0.4.1

Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Add logged pages UI skeleton (sidebarMenu and topbar)

Fix missing merge element

remove useless word 'order'

Change form password
• Add a text above the input

Login view
• Update style of login card
• Update transition

Remove colors in double

Update text name style

Create popover "create or Join" organization

• Fix missings spaces css
• Remove old homepage view

Disable `electron`, `android` & `web` package build job

Those jobs need to be update to work with the new build system.
Currently I'm disabling it, to reduce the error reporting on those job.

- For `electron`, see: #4419.
- For `android`, see: #4395 & #4419.
- For `web`, see: #4419.

Don't require to install `poetry` & `python` in Q&A.

Installing `poetry` & `python` in `Q&A` was only required when we change python code.

It's more efficient to do that in `ci-python` since this workflow should be run when actual python code is changed (note, it is also run when we modify `rust` code).

Other Changes
-------------

- Action `use-pre-commit`:
  - Return the install path of `pre-commit` in the outputs variable `install-path`.
  - Skip `Run pre-commit` step when `install-only != true`.

Update .github/actions/use-pre-commit/action.yml

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Remove `env` variables in `ci.yml`

Remove the variables defined in `env` since they're now unused.

Add step to check if `pyenv` is usable by the user

i.e.: Add a step that indicate the user to modify it's `PATH` variable to add the installation path of `pyenv`

Closes #4448

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Remove `rust-version` in `package-ci.yml`

We don't need to specify `rust-version` since when the jobs will call `cargo ...` it will check `rust-toolchain.yml` first and install the correct toolchain.
We also don't need to install rust, since it's already present in the base image.

Change `yamllint` configuration to only allow for double-quote style in yaml files

This will ensure a consistent style across our yaml files.
I choose double-quote since it's the same style enforced in the python files.

Re-enable web unit test

Remove `wasm-pack` from `devDependencies` since it don't work.
Instead install it from the wasm-pack repo.

Other Changes
-------------

- Correct unused warning when compiling `platform_http_proxy` on `wasm32`.
- In `bindings/web/scripts/build.js`:
  - Provide `process.env` to sub command.
  - Now the script will directly invoque `wasm-pack`.
  - Ensure rust target `wasm32-unknown-unknown` is installed.
  - Ensure a link exist between `ci-rust` & `debug`.
- Cache rust artifact when build the web bindings.

Closes #4447

Add script to udpate the version of an used tool across the entire repository

This script is configurable to add new file to watch for a specific version used by a tool.

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

pre-commit `mypy` check for `misc`

[CI] Add check for tools version

Set the correct node version (`18.12.0`) to use in `package-ci` & `pre-commit`

Set the correct poetry version to use (`1.3.2`)

Set minimal python version to `3.9.5` (According to the documentation & snap requirement)

Fix typo concent -> consent

Remove rust toolchain version in `setup-rust.sh` since we use `rust-toolchain.toml`

Update cibuildwheel to `2.12.3` (from `2.10.0`)

Bump chrono from 0.4.23 to 0.4.24

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump email-address-parser from 2.0.0-rc2 to 2.0.0-rc3

Bumps [email-address-parser](https://github.com/Sayan751/email-address-parser) from 2.0.0-rc2 to 2.0.0-rc3.
- [Release notes](https://github.com/Sayan751/email-address-parser/releases)
- [Changelog](https://github.com/Sayan751/email-address-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Sayan751/email-address-parser/compare/v2.0.0-rc2...v2.0.0-rc3)

---
updated-dependencies:
- dependency-name: email-address-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump reqwest from 0.11.16 to 0.11.17

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.16 to 0.11.17.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.16...v0.11.17)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hex-literal from 0.3.4 to 0.4.1

Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Add logged pages UI skeleton (sidebarMenu and topbar)

Update package-lock.json

Bump serde_with from 2.2.0 to 2.3.2

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 2.2.0 to 2.3.2.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v2.2.0...v2.3.2)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Fix shamir RFC

Bump yaml from 2.2.1 to 2.2.2 in /oxidation/client

Bumps [yaml](https://github.com/eemeli/yaml) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>

Bump github/codeql-action from 2.2.9 to 2.3.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.9 to 2.3.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/04df1262e6247151b5ac09cd2c303ac36ad3f62b...f3feb00acb00f31a6f60280e6ace9ca31d91c76a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/setup-python from 4.5.0 to 4.6.0

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435...57ded4d7d5e986d7296eab16560982c6dd7c923b)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump pypa/cibuildwheel from 2.12.1 to 2.12.3

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.12.1 to 2.12.3.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/02ad79a31bf7aa0eee07f690509048d2fb9fd445...5e15bb25b428e1bf2daf2215f173d2b40135f56f)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.5

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.3 to 1.8.5.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/48b317d84d5f59668bb13be49d1697e36b3ad009...0bf742be3ebe032c25dd15117957dc15d0cfc38d)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Fix `maturin` version to `0.14.15`

Since `maturin` isn't stable (version > `1.*`) minor change are allowed to be breaking.
This actually bites us because the CI now use the version `0.15.1` that contain breaking change.

To correct that, I've fixed the version (using `==` instead of `~=`)
and also display the version of maturin in `build.py`.

Fix minor issues

Locales added according to mockups

Updating the style of the whole page
• Add the svg image of bg sidebar
• create topbar (no popover yet)
• arrange each element according to the mockups

Update popover style

Filter button + popover
• Add a checkmark when selected
• Change the font
• Fix the height of the button

Update topbar and slide transition

Add step to check if `pyenv` is usable by the user

i.e.: Add a step that indicate the user to modify it's `PATH` variable to add the installation path of `pyenv`

Closes #4448

Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Re-enable web unit test

Remove `wasm-pack` from `devDependencies` since it don't work.
Instead install it from the wasm-pack repo.

Other Changes
-------------

- Correct unused warning when compiling `platform_http_proxy` on `wasm32`.
- In `bindings/web/scripts/build.js`:
  - Provide `process.env` to sub command.
  - Now the script will directly invoque `wasm-pack`.
  - Ensure rust target `wasm32-unknown-unknown` is installed.
  - Ensure a link exist between `ci-rust` & `debug`.
- Cache rust artifact when build the web bindings.

Closes #4447

pre-commit `mypy` check for `misc`

[CI] Add check for tools version

Set the correct node version (`18.12.0`) to use in `package-ci` & `pre-commit`

Set minimal python version to `3.9.5` (According to the documentation & snap requirement)

Fix typo concent -> consent

Bump chrono from 0.4.23 to 0.4.24

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump email-address-parser from 2.0.0-rc2 to 2.0.0-rc3

Bumps [email-address-parser](https://github.com/Sayan751/email-address-parser) from 2.0.0-rc2 to 2.0.0-rc3.
- [Release notes](https://github.com/Sayan751/email-address-parser/releases)
- [Changelog](https://github.com/Sayan751/email-address-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Sayan751/email-address-parser/compare/v2.0.0-rc2...v2.0.0-rc3)

---
updated-dependencies:
- dependency-name: email-address-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Add logged pages UI skeleton (sidebarMenu and topbar)

Fix missing merge element

remove useless word 'order'

Change form password
• Add a text above the input

Login view
• Update style of login card
• Update transition

Remove colors in double

Update text name style

Create popover "create or Join" organization

• Fix missings spaces css
• Remove old homepage view

Bump yaml from 2.2.1 to 2.2.2 in /oxidation/client

Bumps [yaml](https://github.com/eemeli/yaml) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>

pre-commit `mypy` check for `misc`

[CI] Add check for tools version

Set the correct node version (`18.12.0`) to use in `package-ci` & `pre-commit`

Set the correct poetry version to use (`1.3.2`)

Set minimal python version to `3.9.5` (According to the documentation & snap requirement)

Fix typo concent -> consent

Bump chrono from 0.4.23 to 0.4.24

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump email-address-parser from 2.0.0-rc2 to 2.0.0-rc3

Bumps [email-address-parser](https://github.com/Sayan751/email-address-parser) from 2.0.0-rc2 to 2.0.0-rc3.
- [Release notes](https://github.com/Sayan751/email-address-parser/releases)
- [Changelog](https://github.com/Sayan751/email-address-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Sayan751/email-address-parser/compare/v2.0.0-rc2...v2.0.0-rc3)

---
updated-dependencies:
- dependency-name: email-address-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Add logged pages UI skeleton (sidebarMenu and topbar)

Update package-lock.json

Bump serde_with from 2.2.0 to 2.3.2

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 2.2.0 to 2.3.2.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v2.2.0...v2.3.2)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Fix shamir RFC

Bump yaml from 2.2.1 to 2.2.2 in /oxidation/client

Bumps [yaml](https://github.com/eemeli/yaml) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>

Bump github/codeql-action from 2.2.9 to 2.3.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.9 to 2.3.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/04df1262e6247151b5ac09cd2c303ac36ad3f62b...f3feb00acb00f31a6f60280e6ace9ca31d91c76a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump pypa/cibuildwheel from 2.12.1 to 2.12.3

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.12.1 to 2.12.3.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/02ad79a31bf7aa0eee07f690509048d2fb9fd445...5e15bb25b428e1bf2daf2215f173d2b40135f56f)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.5

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.3 to 1.8.5.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/48b317d84d5f59668bb13be49d1697e36b3ad009...0bf742be3ebe032c25dd15117957dc15d0cfc38d)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Remove useless styles

Remove duplicate code

Global homepage
• Remove useless comments
• Remove functions for join or create organization (move to popover file)
• Fix CSS issues

Adding SettingsModal function

Revert "Adding SettingsModal function"

This reverts commit c7b2b975a8b3bda40ba8cc30820568f308b2c383.

Remove Adding SettingModal function

Add missing import on OrganizationCard

Minor fixes
• Remove useless spaces
• Replace px to variable or percentage
• Update aria-label -> aria-labelledby

Add with variable for max-width

Change transition delay

Bump actions/setup-python in /.github/actions/setup-python-poetry

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435...57ded4d7d5e986d7296eab16560982c6dd7c923b)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

add administration commands into documentation

small fix on doc notation

put locale doc

Bump vite from 4.2.2 to 4.3.3 in /oxidation/client

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.2.2 to 4.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vue-tsc from 1.2.0 to 1.6.3 in /oxidation/client

Bumps [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/vue-tsc) from 1.2.0 to 1.6.3.
- [Release notes](https://github.com/vuejs/language-tools/releases)
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/language-tools/commits/v1.6.3/packages/vue-tsc)

---
updated-dependencies:
- dependency-name: vue-tsc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @capacitor/android from 4.7.3 to 4.8.0 in /oxidation/client

Bumps [@capacitor/android](https://github.com/ionic-team/capacitor) from 4.7.3 to 4.8.0.
- [Release notes](https://github.com/ionic-team/capacitor/releases)
- [Changelog](https://github.com/ionic-team/capacitor/blob/4.8.0/CHANGELOG.md)
- [Commits](https://github.com/ionic-team/capacitor/compare/4.7.3...4.8.0)

---
updated-dependencies:
- dependency-name: "@capacitor/android"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @electron/rebuild in /oxidation/client/electron

Bumps [@electron/rebuild](https://github.com/electron/rebuild) from 3.2.10 to 3.2.13.
- [Release notes](https://github.com/electron/rebuild/releases)
- [Changelog](https://github.com/electron/rebuild/blob/main/.releaserc.json)
- [Commits](https://github.com/electron/rebuild/compare/v3.2.10...v3.2.13)

---
updated-dependencies:
- dependency-name: "@electron/rebuild"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vitest from 0.29.8 to 0.31.0 in /oxidation/client

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 0.29.8 to 0.31.0.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v0.31.0/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tokio from 1.27.0 to 1.28.1

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.27.0 to 1.28.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump wasm-bindgen from 0.2.83 to 0.2.85

Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.83 to 0.2.85.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.83...0.2.85)

---
updated-dependencies:
- dependency-name: wasm-bindgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump flate2 from 1.0.25 to 1.0.26

Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.25 to 1.0.26.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.25...1.0.26)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump digest from 0.10.5 to 0.10.6

Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.5 to 0.10.6.
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.5...digest-v0.10.6)

---
updated-dependencies:
- dependency-name: digest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump regex from 1.7.3 to 1.8.1

Bumps [regex](https://github.com/rust-lang/regex) from 1.7.3 to 1.8.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.7.3...1.8.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Use `concurrency` to prevent multiple workflow runs

See [`concurrency`](https://docs.github.com/en/actions/using-jobs/using-concurrency) for more information.

The goal was to limit multiple workflow runs on a given PR.
This will cancel previous runs and make the workflows run on the most up-to-date code.

Fix logos:
• Row gradient ("e" color issue)
• Strapeline gradient/black/white (strapeline font issue)
• Replace Column + row gradient webp logo

Rework sphinx configuration for PDF

- Add extension `sphinx.ext.imgconverter` to allow using `svg` images in pdfs.
- Customize pdf generation:
  - `parsec.pdf`: Contains the full documentation.
  - `parsec-userguide.pdf`: Contains only the `userguide/` documentation.
  - `parsec-adminguide.pdf`: Contains only the `adminguide/` documentation.
- Include only the index note & `history` on html

  Those elements are only usefull on the website.

- Update readthedocs configuration

  - Add a dockerfile to try locally a configuration.
  - Update readthedocs with the required apt packages from the dockerfile.

Other Changes
-------------

- Remove unused `development/index.rst`

  We don't include the dev related doc in the documentation anymore.
  So the `index.rst` in `development` wasn't in use and sphinx generate warning for it.

- Rework `docs/Makefile`

  - Make `latexpdf` & `latexpdfja` depends on `latex`.
  - Add variable `LATEXMKOPTS` to provide the option `-interaction=nonstopmode` by default to `latexmk`.

Bump maturin to `0.15.1` (from `0.14.15`)

The breaking change that was affecting our code was PyO3/maturin#1531 where
`Cargo.toml:package.metadata.maturin.name` was replaced in favor of `pyproject.toml:tool.maturin.module-name`.

Closes #4512

Fix typing

Disable pdfs generation on read the docs

Read the docs doesn't support multiple pdfs generation for the moment.
See <https://github.com/readthedocs/readthedocs.org/issues/2045>.

[MS] Moved injection keys to a separate file

Config `pre-commit` to validate snapcraft file

Add updated workflow to build webapp

Closes #4419

Correct `run: command not found`

I discover that the script `web:release` was executing `run lint` after `vite build`.

We run `npm run lint` here because `vite` only transpile typescript without doing type-check (see <https://vitejs.dev/guide/features.html#typescript>)

Correct transpilation error

- `vite-plugin-top-level-await` wasn't able to find the `swc` binding for the specific platform.
- `SidebarMenuPage` scss was referencing an image using the wrong folder name `logo` instead of `Logo`.

Update package electron job

Rewrite `build.js` to be on part with `bindings/web`.

Note: we try to detect `python3` and `python` to not have to install python on the CI
(the python3 already installed should be enough)

Closes #4454

Bump vm2 from 3.9.17 to 3.9.18 in /oxidation/client

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.17 to 3.9.18.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patriksimek/vm2/compare/3.9.17...3.9.18)

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

Signed-off-by: dependabot[bot] <support@github.com>

Update the pull request template to match the one described in `docs/merging-process.md`

Correct newsfragement name newsfragments/4127.docs.rst -> newsfragments/4127.doc.rst

`check_newsfragment` validate `fragment` type

[MS] Implemented log out button

[MS] Autofocus the password input

Convert `functional_architecture.rst` to `functional_architecture.md`

- Rewrite it in english.
- Include the referenced figure using a mermaid diagram.
- Remove `parsec_core_submodules.png` since it isn't used in the documentation.

Co-authored-by: Marcos Medrano <786907+mmarcos@users.noreply.github.com>

Create release starter workflow

That new workflow will help creating new release.
To use it, you need to go at <https://github.com/Scille/parsec-cloud/actions/release-starter.yml>.

You will than have a button `Run workflow` (more info here <https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow>)

Other Changes
-------------

- `misc/version_updater.py` can update parsec version.
  - Can update parsec version in `parsec/_version.py`, `pyproject.toml` & `licenses/BUSL-Scille.txt`
  - Fix `args` is not defined instead of using `not update` in `check_tool(..)`

- Rework `releaser.py`
  - Rework sub commands.

    - Allow for more customization of arguments required by each commands.
    - Add sub command `parse-version` to parse a provided version.

  - Refactor python code: add typing, split functions.
  - Use `version_updater.py` to check or update parsec version.
  - Rework how `Version` are parsed to allow `semver` compatible version.
    - But allow to parse `git describe` version (they are not compatible by default).
  - Improve assert error message in `update_license_file`

- Allow to ignore question from `releaser.py` when building a new release

  Passing the new flag `--yes` in `misc/releaser.py build ..` will skip the question asking to check the modification made to `HISTORY.rst`.

Fix release-starter workflow syntax error

- Fix syntax error in step `Create git branch for new version` where a `then` was missing after `elif <cond>;```.
- Add the workflow link in `release.md`.

Add git configuration to workflow `release-starter`

Create settings modal
• Add menu (general / advanced)
• Add locales
• Add an event on HomePage to open the modal

Update modal
• Modify option component (add toggle + toggle display)
• Update CSS menu

Modal settings
• Style close arrow btn
• Add component settings option for toggle settings
• Add a watcher (not working yet)
• Add border-radius

Store changes when we toggle a setting

Fix border-radius issue on modal

Remove older settings link to modal settings

fix css synthax

Add v-model on settings-option component
Location: SettingsPage

Add 'unsync' word in .cpsell

Change position 'unsync' word in .cpsell

Change value syncWifiOnly -> meteredConnection

Adding enum code for setting tabs

Setting minimizeToTray accessible only on Electron

remove letter in locales FR

[MS] Split settings so it can be reused in a non-modal context

[MS] Fixed injection keys

[MS] Breadcrumbs for workspace navigation

[MS] Add a "Back" button to breadcrumbs

[MS] Fixed header page style

[MS] Fixed side bar navigation

Fix style issues
• setting a maximal width for content
• spacing of title and close button

Replace workflow `release-starter` with updated `releaser.py`

The workflow `release-starter` could not work since we require to use signed tag and github action don't allow it currently.

I've discussed with @touilleMan and it will be simpler to do what `release-starter` was doing directly in `releaser.py`.

So `releaser.py` will now:

- Check if we are on the correct release branch (will create it for the first version).
- Show the generate `git-tag`.
- Push the release branch and the tag to the remote.

On top of that, since we require the tag to be signed that mean the user can also sign the commit.

When a release is stable (no prerelease part, dev or local) I've added the `acknowledge` sub-command that will create a Pull-request from the release to the main branch.

Other Changes
-------------

- Fix `mypy` error with missing module `version_updater`.

Co-authored-by: Alban Costaz <41511029+Ironicbay@users.noreply.github.com>
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>

Add workflow to publish `testbed` docker image

- Rework tag used for the docker testbed image the format is `vMAJOR.MINOR.PATCH-dev.YYYY-MM-DD-sha.<commit-sha>`.
- Allow to overwrite computed `SRCDIR` & `ROOTDIR`.

Bump typescript from 4.9.5 to 5.0.4 in /oxidation/client/electron

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump @ionic/vue-router from 7.0.3 to 7.0.8 in /oxidation/client

Bumps [@ionic/vue-router](https://github.com/ionic-team/ionic-framework) from 7.0.3 to 7.0.8.
- [Release notes](https://github.com/ionic-team/ionic-framework/releases)
- [Changelog](https://github.com/ionic-team/ionic-framework/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ionic-team/ionic-framework/compare/v7.0.3...v7.0.8)

---
updated-dependencies:
- dependency-name: "@ionic/vue-router"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump electron from 23.1.1 to 24.4.0 in /oxidation/client/electron

Bumps [electron](https://github.com/electron/electron) from 23.1.1 to 24.4.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v23.1.1...v24.4.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Rework snapcraft configuration to install any python version

We use the python pre-built package from `python-build-standalone`.

I've rewrite how we Add/Remove files from being included in the snap using `fileset`.

The generated snap in `12Mo` smaller than the previously generated one (from `120Mo` to `108Mo`).

Other Changes
-------------

I've rewrite the starting scripts `parsec` & `parsec-cli` to share the same setup steps in `parsec-setup.sh`.

Co-authored-by: Emmanuel Leblond <3187637+touilleMan@users.noreply.github.com>

`version_updater` Check snapcraft python version

Update minimal python version to `3.9.10`

[MS] Mark variables prefixed by "_" as unused for eslint

fix lint errors

fix unit tests
@ericholscher
Copy link
Member

ericholscher commented Jun 7, 2023

Next step here is a quick proposal for how to implement this, and then once we agree, doing the actual implementation work.

We can split this up into 3 changes:

  • Build backend changes to upload multiple PDFs
  • Web backend changes to track multiple PDF files
  • Dashboard changes to show multiple PDF files

@agjohnson
Copy link
Contributor

We discussed the dashboard UI implications here: readthedocs/ext-theme#77

I'd like to see this implemented in the new dashboard primarily/solely. This is because the project downloads page does not exist in the new dashboard. Instead of solving this multiple ways in our dashboards, I'd like to reduce our focus to just the one implementation of this.

The other area that we need to reflect this change is in the theme flyout menu, where we currently link to only a single file. This was the largest blocker to this change when we started the change last. There was an issue somewhere with more discussion that I'm not yet finding. @humitos would have more background here though.

We could still ship this without the flyout change, and doc authors/readers could always get the files from our UI, but the flyout is a fairly significant part of this work that I don't think we'll handle until we get to the addons JS customization work.

@humitos
Copy link
Member

humitos commented Jun 8, 2023

I'm pretty excited we are prioritizing this work! 💯

The other area that we need to reflect this change is in the theme flyout menu, where we currently link to only a single file.

This is the most important thing here. I think we will need to re-thing and re-design some part of the flyout to support this. However, I think this shouldn't be a blocker for the initial backend + dashboard UI implementation.

There was an issue somewhere with more discussion that I'm not yet finding. @humitos would have more background here though.

I remember we discussed about multiple PDF file in different places, but I think we never touched on the flyout.

Note the build system backend is already prepared to support multiple PDF/ePub/etc files. We will need to remove this restriction and add a new one to check that all the files in that folder are PDF/ePub/etc only:

# Check if there are multiple files on artifact directories.
# These output format does not support multiple files yet.
# In case multiple files are found, the upload for this format is not performed.
if artifact_type in ARTIFACT_TYPES_WITHOUT_MULTIPLE_FILES_SUPPORT:
artifact_format_files = len(os.listdir(artifact_directory))
if artifact_format_files > 1:
log.error(
"Multiple files are not supported for this format. "
"Skipping this output format.",
output_format=artifact_type,
)
raise BuildUserError(
BuildUserError.BUILD_OUTPUT_HAS_MULTIPLE_FILES.format(
artifact_type=artifact_type
)
)
if artifact_format_files == 0:
raise BuildUserError(
BuildUserError.BUILD_OUTPUT_HAS_0_FILES.format(
artifact_type=artifact_type
)
)

Then we will need a way to know "how many PDF files a version has and its names" (either by doing a listdir on S3 for that version, or by saving this data into the db) so we return this via the API and also to the dashboard. Finally, we will need El Proxito to handle each of this URLs properly.

The current URL is, for example for test-builds, https://test-builds.readthedocs.io/_/downloads/en/all-formats-build-jobs/pdf/. Note this URL does not include the filename and it's unique. So, we will need to decide what to do here. Should we keep the old URL working? Which file it will point to if the project has multiple PDFs? Should we re-use this URL to show a list of all the PDFs available for this project & version?

Some extra kind-of-related context for the future:

@benjaoming
Copy link
Contributor

Thanks for the amazing overview @humitos 💯

I'm going to split out this issue into sub-tasks to protect the comment history here :)

@ericholscher ericholscher assigned humitos and unassigned benjaoming Jul 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Improvement Minor improvement to code Needed: design decision A core team decision is required
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

7 participants