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

Update main with latest develop #298

Merged
merged 35 commits into from
Apr 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
b589d48
♻️ Scanner and background task rewrite (#265)
aaronleopold Feb 10, 2024
581110a
:bug: Fix typos from merge
aaronleopold Feb 10, 2024
1128556
:technologist: Migrate to Yarn (#266)
aaronleopold Feb 11, 2024
fd3396a
:adhesive_bandage: Fix dockerfile for yarn (#267)
aaronleopold Feb 11, 2024
7024792
Merge remote-tracking branch 'origin/develop' into experimental
aaronleopold Feb 17, 2024
d8e9e4c
👷 Adjust CI workflows (#275)
aaronleopold Feb 18, 2024
1a5e0d4
Merge remote-tracking branch 'origin/develop' into experimental
aaronleopold Feb 18, 2024
b3f7d16
✨ Hide libraries from target user(s) (#271)
aaronleopold Feb 19, 2024
d61ab76
🚧 Mobile App Foundations (#282)
LRotenberger Feb 23, 2024
3108cb7
✨ Search entire EPUB text and vertical scroll reader (#278)
aaronleopold Feb 24, 2024
a2a49b7
:recycle: Refactor image readers with more shared logic (#285)
aaronleopold Feb 25, 2024
1d30084
:lipstick: Redesign file explorer and isolate to shared component(s) …
aaronleopold Feb 27, 2024
aec4118
🍻 POC EpubJS RN reader (#289)
aaronleopold Mar 10, 2024
46e34f2
✨ Extract age rating meta for EPUB files (#291)
aaronleopold Mar 16, 2024
65bd3e8
Merge pull request #290 from stumpapp/experimental
aaronleopold Mar 19, 2024
42d97c0
🎨 Isolate `i18n` to separate package (#272)
aaronleopold Mar 20, 2024
17d8526
✏️ Fix typo in README.md (#294)
yoav-lavi Apr 2, 2024
7b3d4d9
:white_check_mark: Update failing tests (#295)
JMicheli Apr 12, 2024
ba5aaca
🌐 Update translations (#293)
aaronleopold Apr 13, 2024
f130c8b
:white_check_mark: Add OPDS tests to `core` (#301)
JMicheli Apr 14, 2024
b286339
🌐 Update translations (#303)
aaronleopold Apr 14, 2024
e03442b
:bug: Fix top-bar flex sizing for mobile"
aaronleopold Apr 14, 2024
1bdc664
:bug: Add missed permission check for `file:download` in `get_media_f…
aaronleopold Apr 14, 2024
2f06b7c
:children_crossing: Add prefetching to book/series grid pagination
aaronleopold Apr 14, 2024
c826678
:rotating_light: Fix React warning for invalid progress prop
aaronleopold Apr 14, 2024
cc376ec
0.0.2 bug hunting (#302)
aaronleopold Apr 16, 2024
09b280f
✨ Arrangeable sidebar and topbar (#308)
aaronleopold Apr 19, 2024
724f7e0
:arrow_up: Pre-0.0.2 housekeeping (#305)
JMicheli Apr 20, 2024
b6e312d
:bug: Fix query loading navigation arrangements
aaronleopold Apr 19, 2024
f1382d4
:loud_sound: Improve logging during config init
aaronleopold Apr 20, 2024
9c89774
:memo: Update README and CONTRIBUTING
aaronleopold Apr 20, 2024
79592dc
:memo: Update outdated docs pages
aaronleopold Apr 20, 2024
f82ee09
:rotating_light: Fix clippy lints
aaronleopold Apr 20, 2024
4beb7b3
Merge pull request #312 from stumpapp/al/0.0.2-fixes
aaronleopold Apr 20, 2024
f9d467e
🌐 Update translations (#306)
aaronleopold Apr 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// TODO: Update this config... https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/
// TODO: Please I already forgot :sob:
module.exports = {
env: {
browser: true,
Expand Down
7 changes: 6 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,9 @@
*.sql linguist-detectable=false

# I don't want docs website to be included in language stats
docs/** linguist-vendored
docs/** linguist-vendored

# Ignore all snapshots and test files
**/__snapshots__/** linguist-vendored
**/*.test.ts linguist-vendored
**/*.test.tsx linguist-vendored
57 changes: 14 additions & 43 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,65 +6,36 @@ To ensure nobody's time and effort is wasted, please be sure to follow the guide

1. Check to see if an issue already exists relevant to your feature/topic
2. Create an issue (if an issue does not already exist) and express interest in working it (see the [issues](#issues) section below)
3. Create a new feature branch **off of the `develop` branch** - _not_ `main`. All PRs should be made against `develop`.
3. Create a new feature branch **off of the `experimental` or `develop` branches** - _not_ `main`. All PRs should be made against either `experimental` or `develop`.
4. Add appropiate documentation, tests, etc, if necessary.
5. Ensure you have your code formatters properly configured (both Prettier and Rustfmt).
6. Once you've completed your changes, create your PR!
7. Follow the PR naming format to help ensure the changelog generator properly picks up your additions:
7. Follow the PR naming format outlined at [gitmoji.dev](https://gitmoji.dev/specification), used for more uniform generation of release notes

> :information_source: Honestly, don't stress about this part right now. I don't even have a changelog generator!! This kind of structure will only matter once releases are more regular and providing changelogs are more important. For now, just make sure your PR name and body is descriptive and concise :heart:

```
<type>: <description>
```

Where `type` is one of the following:

- `feat`: A new feature
- `fix`: A bug fix
- `docs`: Documentation only changes
- `refactor`: A code change that neither fixes a bug nor adds a feature
- `perf`: A code change that improves performance
- `test`: Adding missing tests or correcting existing tests
- `ci`: Changes to our CI configuration files and scripts
- `chore`: Other changes that don't modify `src` or `test` files, such as updating `package.json` or `README.md`
- `revert`: Reverts a previous commit
- `WIP`: Work in progress

The `description` should contain a _succinct_ description of the change:

- use the imperative, present tense: "change" not "changed" nor "changes"
- don't capitalize the first letter
- no dot (.) at the end

Examples:

```
feat: add support for Reading Lists
fix: remove broken link
docs: update CONTRIBUTING.md to include PR naming format
```
> :information_source: Don't stress too much about this part. Just make sure your PR name and body is descriptive and concise, :heart:

8. Stick around and make sure your PR passes all checks and gets merged!

## Issues

I use GitHub issues to track bugs, feature requests, and other tasks. No rigid structure is enforced, but please try and follow these guidelines:
I use GitHub issues to track bugs, feature requests, and other tasks. No rigid structure is enforced, but please try to fill out the templates fully as best you can. Generally, it is useful to include the following information:

- Docker tag (or commit hash displayed in settings)
- Log output (server logs, browser console, etc)
- Access method (browser on host machine, mobile on network, etc)
- Network logs (network tab) and details (reverse proxy, VPN, etc)

If you're not sure if an issue is relevant or appropriate, e.g. if you have more of a question to ask, feel free to pop in the [Discord](https://discord.gg/63Ybb7J3as) and ask!

- Please try and be as descriptive as possible when opening an issue.
- There are a few templates available to help guide you, but if you're not sure which one to use just use the "Blank Issue" template.
- If you're opening an issue to request a feature, please try and explain why you think it would be a good addition to the project. If applicable, include example use cases.
- If you're opening an issue to report a bug, please try and include a minimal reproduction of the bug (video, code, logs, etc).
- If you're not sure if an issue is relevant or appropriate, e.g. if you have more of a question to ask, feel free to pop in the [Discord](https://discord.gg/63Ybb7J3as) and ask!
- **Please don't ghost an issue you've been assigned** - if you're no longer interested in working on it, that is totally okay! Just leave a comment on the issue so that I know you're no longer interested and I can reassign it to someone else. I will never be offended if you no longer want to work on an issue - I'm just trying to make sure that nobody's time and effort is wasted.
## Pull Requests

## A note on merging
> :information_source: There are two development branches: `experimental` and `develop`. These correspond to the `experimental` and `nightly` tags on Docker Hub, respectively. In general, `experimental` is for large or breaking changes, while `develop` is for smaller, more incremental changes.

PRs will be merged once the following criteria are met:

- All CI checks pass
- At least one _maintainer_ has reviewed your PR

All PRs to `develop` will be squashed. All PRs to `main` will be merge commits. This is to ensure that the commit history is clean and easy to follow, and to ensure that the changelog generator works properly.
All PRs to `experimental` will be squashed. All PRs to `develop` from `experimental` and to `main` will be merge commits. This is to ensure that the commit history is clean and easy to follow, and to ensure that the changelog generator works properly.

Thanks for considering contributing to Stump! :heart:
5 changes: 1 addition & 4 deletions .github/actions/build-desktop/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,7 @@ runs:
# fi

- name: Setup rust
uses: ./.github/actions/setup-cargo

- name: Generate Prisma client
uses: ./.github/actions/setup-prisma
uses: ./.github/actions/setup-rust

- name: Copy bundled web app
uses: actions/download-artifact@v3
Expand Down
8 changes: 3 additions & 5 deletions .github/actions/build-docker/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,7 @@ runs:
shell: bash

- name: Setup rust
uses: ./.github/actions/setup-cargo

- name: Generate Prisma client
uses: ./.github/actions/setup-prisma
uses: ./.github/actions/setup-rust

# We only need QEMU when an arm* platform is targeted
- name: Check QEMU requirement
Expand Down Expand Up @@ -74,14 +71,15 @@ runs:
context: .
build-args: |
"GIT_REV=${{ env.GIT_REV }}"
"TAGS=${{ env.TAGS }}"
file: docker/Dockerfile
platforms: ${{ inputs.platforms }}
load: ${{ inputs.load }}
push: ${{ inputs.push }}
tags: ${{ env.TAGS }}

- name: Discord notification
if: ${{ success() && inputs.push == 'true' }}
if: ${{ success() && inputs.push == 'true' && inputs.discord-webhook != '' }}
env:
DISCORD_WEBHOOK: ${{ inputs.discord-webhook }}
uses: 'Ilshidur/action-discord@0.3.2'
Expand Down
13 changes: 1 addition & 12 deletions .github/actions/build-server/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,8 @@ runs:
- name: Checkout project
uses: actions/checkout@v3

# - name: Configure environment
# run: |
# if [[ ${{ inputs.platform }} == 'linux' || ${{ inputs.platform }} == 'windows' ]]; then
# echo "RUN_SETUP=false" >> $GITHUB_ENV
# else
# echo "RUN_SETUP=true" >> $GITHUB_ENV
# fi

- name: Setup rust
uses: ./.github/actions/setup-cargo

- name: Generate Prisma client
uses: ./.github/actions/setup-prisma
uses: ./.github/actions/setup-rust

- name: Copy bundled web app
uses: actions/download-artifact@v3
Expand Down
22 changes: 18 additions & 4 deletions .github/actions/build-web/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,31 @@ runs:
- name: Checkout project
uses: actions/checkout@v3

- name: Setup pnpm
uses: ./.github/actions/setup-pnpm
- uses: actions/setup-node@v4
with:
node-version: '20.0.0'

- name: Install yarn
shell: bash
run: npm install -g yarn

- uses: actions/setup-node@v4
with:
node-version: '20.0.0'
cache: 'yarn'

- name: Install yarn
shell: bash
run: npm install -g yarn

- name: Install dependencies
shell: bash
run: pnpm install
run: yarn install
working-directory: apps/web

- name: Build app
shell: bash
run: pnpm run build
run: yarn build
working-directory: apps/web

- name: Upload bundle
Expand Down
45 changes: 0 additions & 45 deletions .github/actions/setup-cargo/action.yml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/actions/setup-pnpm/action.yaml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/actions/setup-prisma/action.yaml

This file was deleted.

44 changes: 44 additions & 0 deletions .github/actions/setup-rust/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: 'Setup system dependencies'
description: 'Install system dependencies and setup cache'

runs:
using: 'composite'
steps:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.77.2
profile: minimal
override: true
components: rustfmt, clippy

- name: Configure environment
if: ${{ runner.name != 'oromei-ubuntu' && runner.os != 'Windows' }}
shell: bash
run: CHECK_NODE=0 CHECK_CARGO=0 DEV_SETUP=0 ./scripts/system-setup.sh

- name: Cache Rust Dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: stump-rust-cache

- name: Restore cached Prisma client
id: cache-prisma-restore
uses: actions/cache/restore@v3
with:
path: core/src/prisma.rs
key: ${{ runner.os }}-prisma-${{ hashFiles('**/schema.prisma') }}

- name: Generate Prisma client
if: ${{ steps.cache-prisma-restore.outputs.cache-hit != 'true' }}
shell: bash
run: cargo prisma generate --schema=./core/prisma/schema.prisma

- name: Save Prisma client
id: cache-prisma-save
if: ${{ steps.cache-prisma-restore.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v3
with:
path: core/src/prisma.rs
key: ${{ runner.os }}-prisma-${{ hashFiles('**/schema.prisma') }}
restore-keys: ${{ runner.os }}-prisma-${{ hashFiles('**/schema.prisma') }}
2 changes: 0 additions & 2 deletions .github/workflows/build_nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,3 @@ jobs:
- uses: cachix/install-nix-action@v17
- name: test
run: nix develop --command "pkg-config" "--libs" "--cflags" "gdk-3.0" "gdk-3.0 >= 3.22"
# - name: Building package
# run: nix develop --command pnpm core run setup && cargo check
30 changes: 20 additions & 10 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,13 @@ jobs:
check-rust:
if: "!contains(github.event.pull_request.head.ref, 'release/v')"
name: Rust checks
runs-on: [self-hosted]
runs-on: [ubuntu-22.04]
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup cargo
uses: ./.github/actions/setup-cargo

- name: Setup prisma
uses: ./.github/actions/setup-prisma
- name: Setup rust
uses: ./.github/actions/setup-rust

- name: Run cargo checks
run: |
Expand All @@ -33,13 +30,26 @@ jobs:
check-typescript:
if: "!contains(github.event.pull_request.head.ref, 'release/v')"
name: TypeScript checks
runs-on: [self-hosted]
runs-on: [ubuntu-22.04]
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup PNPM and TypeScript
uses: ./.github/actions/setup-pnpm
- uses: actions/setup-node@v4
with:
node-version: '20.0.0'

- name: Install yarn
shell: bash
run: npm install -g yarn

- uses: actions/setup-node@v4
with:
node-version: '20.0.0'
cache: 'yarn'

- name: Install dependencies
run: yarn install

- name: Run TypeScript lints
run: pnpm lint
run: yarn lint
Loading
Loading