ajnart
f07b5c1f91
fix(widgets): preserve compact scaling
2026-08-27 09:18:27 +02:00
ajnart
3edf874ca3
fix(widgets): restore compact v1 surfaces
2026-08-27 09:18:10 +02:00
Bergasha
b8bc304c5c
fix(mediaServer): use proportional column widths, populate Emby playback/transcoding metadata
...
The User and Status columns used hardcoded pixel widths with table-layout:
fixed, so they stayed narrow regardless of how wide the widget actually
rendered - text truncated even with plenty of unused space in the
"currently playing" column. Switch both to percentages so they scale with
the widget.
Emby's integration also hardcoded playback/metadata to null for every
session, so the widget's existing progress bar, resolution, and bitrate
display never had anything to show. Port the same TranscodingInfo/
MediaStreams parsing Jellyfin already does (same underlying /Sessions API
shape) so Emby sessions get real position/duration, resolution, bitrate,
and transcode-status data. Also fix ticksToMs treating a position of
exactly 0 as missing, and share the one implementation between the two
integrations instead of duplicating it.
2026-08-24 11:16:20 +10:00
ajnart
978b3c7f33
fix: stabilize widgets in board edit mode
2026-08-23 01:56:31 +02:00
Thomas
6297ca4b16
fix: keep media stream status at table edge ( #6661 )
2026-08-22 11:48:33 +02:00
Thomas
9e14a07e64
refactor: consolidate English translations ( #6640 )
2026-08-21 19:00:27 +02:00
Bergasha
76ba13fbad
Address Codex review feedback on PR #6627
...
- Classify IPv4/IPv6 link-local addresses (169.254.0.0/16, fe80::/10) as
LAN in Jellyfin location parsing - they can't traverse a router, so a
false WAN reading was possible for common autoconfig/link-local sessions.
- Fix portrait video resolution mislabeling - a 1080x1920 clip was
classified off its long-axis height (1920) and showed as 1440p. Classify
by the short axis instead so orientation doesn't flip the result.
- Raise the compact-mode status column breakpoint from 420 to 540px - at
420 the fixed-width user (200px) and status (190px) columns left almost
no room for the currentlyPlaying column, the widget's primary content.
- Document the new resolution indicator in the media-server widget docs.
2026-08-19 16:45:09 +10:00
Bergasha
a4bbed0cb8
Fixed resolution showing the raw cropped height (e.g. 804p) instead of the nominal class Plex/Jellyfin display (1080p) - letterboxed/cinemascope sources are shorter than their resolution tier, so classify off the width-derived 16:9 height instead
2026-08-19 14:54:48 +10:00
Bergasha
4b20d6ecd0
Widened the status column from 140 to 190px - the Np resolution format is shorter so line 2 had room, but Transcoding video/audio badges are noticeably longer than Direct play and needed the space on line 1
2026-08-19 13:33:21 +10:00
Bergasha
6cac34e968
Changed resolution to show the actual streaming resolution (transcode target) instead of the source file's, formatted as e.g. 1080p instead of 1920x1080
2026-08-19 13:33:14 +10:00
Bergasha
c6f77cec2e
Added resolution to the status column, restructured into two lines: status + LAN/WAN on top, resolution + bitrate underneath
2026-08-19 13:33:08 +10:00
Bergasha
6b10ac2ab5
Gave User a fixed 200px width so Currently playing (the busiest column) gets the largest share of the row instead of splitting it evenly with User
2026-08-19 13:32:34 +10:00
Bergasha
96676182f4
Gave the status column a fixed 140px width - it had no explicit width so it shared an equal, unconstrained share of the row with the other columns despite only holding a small badge
2026-08-19 13:32:21 +10:00
Bergasha
3769d88ebb
Dimmed the column header labels and added a bottom border under the sticky header, so it reads as its own band instead of the same weight as the row data
2026-08-19 13:32:15 +10:00
Bergasha
d9c35744f6
Only show a server's badge in the footer when it actually has an active session - selecting both Plex and Jellyfin always showed both badges even if only one was streaming. Also gave the footer badges a pill style and added a separator between the stream count and bitrate
2026-08-19 13:31:58 +10:00
Bergasha
33991f4e22
Added flexShrink to the session avatar so it stops getting squished in a tight row
2026-08-19 13:31:33 +10:00
Thomas Camlong
315245e048
fix(media-server): close Stack element in session table cell
2026-08-18 10:28:44 +02:00
Bergasha and Thomas
ebdfeb724b
fix(media widget): text size fix and added season + Episode info ( #6605 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-08-18 09:44:12 +02:00
Thomas Camlong
6d284adb98
fix(media-server): stack user details reliably
2026-08-17 15:40:49 +02:00
Thomas Camlong
0afed2c3f6
fix: contain media server streams
2026-08-14 20:09:57 +02:00
Thomas Camlong
c851609041
fix: stabilize media streams and edit hover
2026-08-14 14:33:02 +02:00
ajnart
8eb6735387
perf: reduce widget and runtime overhead
2026-08-14 11:32:11 +02:00
ajnart
eb918b805a
chore: reconcile mobile layer after stack rebase
2026-08-14 11:32:09 +02:00
ajnart
c1da19c9b2
feat: refine mobile dashboard experience
2026-08-14 11:32:09 +02:00
Thomas Camlong
096cf56ac9
fix: rework media session details
2026-08-14 11:07:08 +02:00
Thomas Camlong
38d30acb87
fix: require advanced widget focus opt-in
2026-08-14 11:07:08 +02:00
Thomas Camlong
842e86012d
feat: refine widget interactions
2026-08-14 11:07:08 +02:00
Thomas Camlong
a38e731209
fix: address widget review feedback
2026-08-14 11:07:08 +02:00
Thomas Camlong
add40370aa
fix: refine widget modernization
2026-08-14 11:07:07 +02:00
Thomas Camlong
a2763d1f6f
feat: modernize dashboard widgets
2026-08-14 11:07:07 +02:00
ajnart
0482c040ec
chore: reconcile v2 after stack rebase
2026-08-13 19:59:46 +02:00
Thomas Camlong
572bc71396
fix(ci): refresh v2 generated artifacts
2026-08-13 19:51:08 +02:00
Bergasha
49314533bf
feat(Media player widget): expands on Direct Play and Transcoding badges ( #6489 )
2026-08-01 23:21:13 +02:00
Thomas
1706289124
fix(media-server): guard against undefined playback from stale cached data ( #6433 )
2026-07-21 16:01:37 +02:00
Bergasha
5144e14da4
fix(media-server): populate playback progress, transcode status, and network location for streams ( #6315 )
2026-07-15 16:27:58 +02:00
Thomas
7e4cb0201b
fix(widgets): add refetchInterval to WidgetDefinition for per-widget polling ( #6352 )
2026-07-15 11:52:35 +02:00
Thomas
f19033e0d5
feat: simplify caching — TanStack Query as single source of truth ( #6075 )
2026-07-03 16:33:03 +02:00
Thomas
74443a49b2
feat(ui): add global query cache leveraging Redis ( #5811 )
2026-06-10 18:52:06 +02:00
Meier Lukas
6e93c3b608
feat(media-server): add stats for nerds ( #4170 )
2025-10-02 19:54:53 +02:00
Meier Lukas
58d5b14c51
feat(integrations): add mock integration ( #3505 )
2025-07-04 09:49:18 +02:00
Meier Lukas
f98750d0b3
feat(media-server): add option to only show playing sessions ( #2899 )
2025-04-22 18:30:46 +02:00
Meier Lukas
82528dbd96
fix(media-server): improve responsive styles ( #2548 )
...
* fix(media-server): improve responsive styles
* fix(media-server): translate table headers
2025-03-09 14:20:04 +01:00
Manuel and Meier Lukas
37d471457a
feat: remove cqmin system ( #2407 )
...
* feat: remove cqmin system
* fix: improve weather widget
---------
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2025-03-07 18:46:01 +01:00
Meier Lukas
7dfc3646b7
feat(integration): add emby integration ( #2466 )
...
* feat(integration): add emby integration
* fix: deepsource issue
2025-03-02 10:56:01 +01:00
Meier Lukas
dff6cb9d31
feat(settings): add simple-ping settings ( #2118 )
2025-02-07 22:10:35 +01:00
Yossi Hillali
23c7d0bbf0
fix(media-server): redesign widget ( #1775 )
...
* fix: redisign media server widget
* fix: reviewed changes
* fix: reviewed chenges
* fix: add icon title
* fix: text resize
2024-12-29 19:24:38 +02:00
Yossi Hillali
cf9b0581a4
feat: plex integration ( #1342 )
...
* feat: plex integration
* feat: plex integration
* fix: DeepSource error
* fix: lint error
* fix: pnpm-lock
* fix: lint error
* fix: errors
* fix: pnpm-lock
* fix: reviewed changes
* fix: reviewed changes
* fix: reviewed changes
* fix: pnpm-lock
2024-10-23 17:18:55 +03:00
Meier Lukas
0f8d9edb3e
refactor: replace serverdata with suspense query ( #1265 )
...
* refactor: replace serverdata with suspense query
* fix: deepsource issues
2024-10-11 23:47:07 +02:00
Meier Lukas
4380aa9b3e
fix: mantine-react-table not localized #333 ( #873 )
2024-07-27 17:10:51 +02:00
Manuel
bb8640b162
feat: add jellyfin integration ( #672 )
...
* feat: #655 implement jellyfin media server
* fix: table overflow
* feat: pr feedback
* refactor: format
* refactor: merge existing code
* fix: code smells
* refactor: format commit
2024-07-03 20:06:57 +02:00