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

[slightly less scuffed bugfix]: Update table rating/favorite when updated anywhere … #707

Merged
merged 6 commits into from
Sep 3, 2024

Conversation

kgarner7
Copy link
Collaborator

…else

Modify player store to have temporary state for favorite/rating update Add effect handler for virtual-table to update rating/favorite for players

Note that this does not handle song grid view.
Using a similar handler for gird view did not work, as it appeared to result in inconsistent state.

Finally, this is probably not the optimal solution. Performance appears fine for ~20k items, but no guarantees.

…else

Modify player store to have temporary state for favorite/rating update
Add effect handler for `virtual-table` to update rating/favorite for players

Note that this does not handle song grid view.
Using a similar handler for gird view did not work, as it appeared to result in inconsistent state.

Finally, this is probably not the optimal solution.
Performance appears fine for ~20k items, but no guarantees.
Copy link

vercel bot commented Aug 14, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
feishin ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 3, 2024 5:09am

@@ -248,7 +249,7 @@ export const PlaylistDetailSongListContent = ({ tableRef }: PlaylistDetailConten
onCellContextMenu: handleContextMenu,
status,
}}
getRowId={(data) => data.data.uniqueId}
getRowId={(data) => data.data.id}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate songs can exist in playlists which is why uniqueId is used here.

@kgarner7 kgarner7 marked this pull request as ready for review September 2, 2024 05:49
@kgarner7 kgarner7 changed the title [scuffed bugfix]: Update table rating/favorite when updated anywhere … [slightly less scuffed bugfix]: Update table rating/favorite when updated anywhere … Sep 2, 2024
@kgarner7
Copy link
Collaborator Author

kgarner7 commented Sep 2, 2024

Performance:

  1. Feishin chugs when opening an album with ~270 tracks. But that's probably more a problem of not paginating albums. Favoriting/starring items (max ~20, before Navidrome errors out) is pretty fast after queue favorite. Playcount/playdate update is also quick.
  2. The worst case, Navidrome playlist with 20K tracks (Jellyfin doesn't allow for duplicates, apparently) is surprisingly fast as well.

@jeffvli jeffvli merged commit 56c229a into jeffvli:development Sep 3, 2024
3 checks passed
spiceratops referenced this pull request in spiceratops/k8s-gitops Sep 3, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/jeffvli/feishin](https://redirect.github.com/jeffvli/feishin)
| minor | `0.7.3` -> `0.8.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>jeffvli/feishin (ghcr.io/jeffvli/feishin)</summary>

###
[`v0.8.0`](https://redirect.github.com/jeffvli/feishin/releases/tag/v0.8.0):
0.8.0

[Compare
Source](https://redirect.github.com/jeffvli/feishin/compare/v0.7.3...v0.8.0)

As always, thanks to contributors!

#### Highlights

- (UI) Added alternative album header styling using blurred image
([#&#8203;717](https://redirect.github.com/jeffvli/feishin/issues/717))
- (UI) Added play countto album header
([#&#8203;720](https://redirect.github.com/jeffvli/feishin/issues/720))
- (UI) Fixed synchronization between playqueue rating/favorite values
and detail pages
([#&#8203;707](https://redirect.github.com/jeffvli/feishin/issues/707))
- (UI) Fixed issue where in-page text could not be deselected if
selected using keyboard shortcuts
([#&#8203;723](https://redirect.github.com/jeffvli/feishin/issues/723))

#### What's Changed

- Bump electron-updater from 4.6.5 to 6.3.0 in the npm_and_yarn group
across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/jeffvli/feishin/pull/687](https://redirect.github.com/jeffvli/feishin/pull/687)
- Add play count to albums by
[@&#8203;pyxfluff](https://redirect.github.com/pyxfluff) in
[https://github.com/jeffvli/feishin/pull/720](https://redirect.github.com/jeffvli/feishin/pull/720)
- Album blur, allow clicking the playerbar to toggle the player, misc
changes by [@&#8203;pyxfluff](https://redirect.github.com/pyxfluff) in
[https://github.com/jeffvli/feishin/pull/717](https://redirect.github.com/jeffvli/feishin/pull/717)
- Bump electron-updater from 6.3.0 to 6.3.1 in the npm_and_yarn group
across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/jeffvli/feishin/pull/688](https://redirect.github.com/jeffvli/feishin/pull/688)
- \[qol]: adjust rules for user-select by
[@&#8203;iiPythonx](https://redirect.github.com/iiPythonx) in
[https://github.com/jeffvli/feishin/pull/723](https://redirect.github.com/jeffvli/feishin/pull/723)
- \[slightly less scuffed bugfix]: Update table rating/favorite when
updated anywhere … by
[@&#8203;kgarner7](https://redirect.github.com/kgarner7) in
[https://github.com/jeffvli/feishin/pull/707](https://redirect.github.com/jeffvli/feishin/pull/707)

**Full Changelog**:
jeffvli/feishin@v0.7.3...v0.8.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC42NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNjQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants