Releases: ShaneIsrael/fireshare
v1.6.6
What's New
Sidebar / Toolbar
- Folder selector moved to the top-bar area to sit next to the sort order.
- Toolbar button and dropdown styles updated to match the rest of the app better.
Game Specific Pages
- Updated the game specific pages to use the same performance improved scrolling and loading that the primary videos page uses.
Image Gallery
- Images that scroll out of view are now unloaded to reduce memory usage and keep scrolling smooth for libraries with many images.
- Clicking the randomize button no longer causes off-screen images to get stuck as blank placeholders
- Image skeletons now use the correct aspect ratio while loading instead of defaulting to 16:9
- Card borders only appear once the image has finished loading
Image Modal
- The modal now waits for the image to fully load before appearing, eliminating the pop/flicker on open
Video Player
- Fixed (allegedly as I don't have an iphone to test it) the fullscreen button on iOS. If the fix works it should now correctly allow fullscreen from the homepage video modal (iOS Safari requires a different fullscreen API that wasn't being used)
- Fixed the copy link button in the video modal, which was copying
[object Object]instead of the actual URL
v1.6.5
Pretty big update with this one. I think there's definitely something in here for everyone. If you experience any issues please create a github issue and provide any app logs you can so that I can try to get a fix out as soon as possible.
Note: The first app start after this release might be a little slow. With the update to the game assets, a migration script needs to run to migrate any game assets you already have to the new format. Subsequent updates/restarts should be just as fast as before.
What's New
Password Protected Videos
Videos can now be protected with a password. Admins can set a password on any video, and visitors will be prompted to enter it before playback begins. Even if someone has a direct link to the video file, the file will not be served if they have not unlocked the video. Once unlocked, the session is remembered for one hour. Only the video files are protected; thumbnails and other video related metadata (title, description, game, tags, etc) are not.
Video Resume / Playback Progress
Fireshare now remembers where you left off. When you reopen a video you've previously watched, playback automatically resumes from your last position (as long as you were more than 10 seconds in and haven't reached the last 10% of the video). Progress is stored locally in the browser.
Fireshare Lite Image
A new fireshare:latest-lite Docker image is available. This is a smaller image without GPU transcoding dependencies. CPU transcoding is still supported. Ideal for users who don't need GPU acceleration. Versioned images also have a -lite version. So for this release and forward you'll be able to use v1.6.5-lite if you want to pin to a specific release rather than using the latest tag.
Game Suggestions Sidebar
A suggestions panel now appears in the sidebar showing game tags based on your video library, making it easier to browse and discover content by game. This feature is on by default but can be disabled in the Settings menu. @dammitjeff
Live Upload Preview
The upload card now shows a live video preview while selecting a file before uploading. @dammitjeff
Nginx Error Pages
Friendly error pages are now shown for HTTP error codes (404, 403, 500, etc.). A dedicated page is shown when the Fireshare API is unavailable.
Performance Improvements
Game Assets Served Directly by Nginx
Game artwork (hero images, logos, icons) is now served directly by nginx rather than proxied through the API server, reducing load and improving response times. Downloaded assets are also converted to webp which is a much more friendly web format and reduces file size.
Bug Fixes
- Fixed transcoding job queue reporting incorrect progress counts after a server restart
- Fixed an issue where game info on video cards would sometimes pop-in which would shift the text over as you scroll creating a visually jarring experience.
v1.6.4
What's Changed
Bug Fixes
- Fixed an issue where uploading large or slow files could result in the video never appearing in the library after upload completed successfully
- Fixed a race condition that could result in multiple workers attempting to transcode the same file
- Fixed an issue where transcoding the same video multiple times simultaneously could cause corrupted output or failed transcodes
- Fixed an issue where transcoding would silently fail if the job was interrupted by a container restart. Affected jobs are now automatically retried on next startup
Improvements
- Transcoding jobs are now queued in the database, so manually triggered transcodes from any session are no longer lost if the server handles the request on a different internal worker
- Video library scans no longer skip or get blocked while a long transcode is in progress
- Servers with high core-count CPUs (e.g. 32-core Threadripper) no longer spawn an excessive number of worker processes, which could exhaust container PID limits and prevent startup. By default, Fireshare will us at most 4 workers with 8 threads each. If you want more or less workers than the defaults worker count can now be tuned via environment variables (
GUNICORN_WORKERS,GUNICORN_WORKER_CAP,GUNICORN_THREADS).
v1.6.3
What's Changed
Improvements / Fixes:
- Added
image_defaultsto the default configuration and ensured it's kept in sync withvideo_defaultsfor privacy settings; ifimage_defaultsis missing, it is automatically inherited fromvideo_defaults - Added atomic writing for config files and improved error handling: invalid
config.jsonfiles are now backed up and reset to defaults, preventing startup failures. - Added warnings if required data directories are not properly mounted, to help prevent data loss in containerized environments.
UI / UX:
- Improved image upload feedback: success alerts now reflect the actual number of images uploaded, and error messages include server responses for better troubleshooting.
- Updated the image feed to automatically refresh after uploads, ensuring users see new images without manual reloads.
Full Changelog: v1.6.2...v1.6.3
v1.6.2
What's New
- Release notes dialog - A new in-app release notes viewer now appears automatically when a new version is detected. It renders markdown, supports pagination, and can be reopened anytime from the navigation bar when a new release is available.
- Update indicator - The version box in the sidebar now shows a clickable icon when a newer version of Fireshare is available.
Dockerfile Improvements
- Switched apt sources to a kernel.org mirror for more reliable builds.
- Removed stale NVIDIA apt sources that were causing build failures.
- Standardized all
ENVdeclarations to useENV KEY=VALUEformat. - Demo mode is now disabled by default in
.env.dev.
Bug Fixes & Cleanup
- Fixed card size change handler signature.
- Removed unused props and minor code cleanups.
Full Changelog: v1.6.1...v1.6.2
v1.6.1
What's Changed
Server
SECRET_KEYis auto-generated if not explicitly set causing sessions to be auto expired every app restart
UI & UX
- Refreshed login screen look and feel
- Sidebar look and feel updates
- Version info moved to its own component
- Folder dropdown enabled by default
- Various mobile fixes especially for mobile Firefox
Infrastructure & Performance
- SQLite:
busy_timeoutraised to 30 seconds andwal_autocheckpointtuned to reduce write-latency spikes under concurrent load. - Gunicorn: Fixed config file not being loaded - workers now scale with CPU count, threads per worker doubled to 8. This should resolve timeout issues that would occasionally happen on requests.
Full Changelog: v1.6.0...v1.6.1
v1.6.0
Whats New
This has been a much requested feature and I have had a lot of time to slowly think about how I wanted to implement it and tie it in with everything else. Being mostly house ridden as of late due to sickness I have been spending waaaaay too much time coding. I'm finally feeling a lot better so hopefully I'll slow it down now and mostly focus on bug fixes and smaller updates. Sorry for so many releases!
Screenshots & Images
- New screenshot/image system - Fireshare now supports scanning, uploading, and managing screenshots and images alongside your video library.
- Dedicated image feed view and per-image detail page with metadata
- Image file manager for bulk management (edit, delete, move)
- Images linked to a game are mixed into that game's page
- Drag & drop image uploading
- Mobile-friendly image viewing with pinch-to-zoom and pan support
- Image folder rules configuration in Settings
To enable and use images in Fireshare all you need to do is mount a new volumes to the /images mount. Images must be in their own separate directory from your videos. Any images placed in your /videos mount will not get scanned in.
Check it out live on: https://v.fireshare.net
Fixes
- File manager row selection no longer opens the item
- Memoized cards for improved rendering performance
- Memoized file manager rows to be more snappy on larger collections
- Fixed sidebar not appearing on mobile for Files and Settings pages
- Mobile improvements to file manager
Docs
- Added TROUBLESHOOTING.md guide
- Cleaned up leftover chunked upload file fragments that can happen in the event of a broken connection.
v1.5.7
Whats New
- Changed the
FileManagerview to require user authentication (instead of admin access), displaying a styled message and icon for unauthenticated users. - Updated the navigation bar to hide itself and the toolbar on
/filesand/settingsroutes, in addition to/loginand/watch, for a cleaner UI on these pages. - Adjusted the
Settingsview layout to use a maximum height instead of a fixed height for better responsiveness. - Improved the
Tagsdialog behavior by resetting the editing state only after the dialog has fully closed, preventing premature state changes.
Whats Fixed
- Fixed an issue where the discord webhook url would get overwritten on app restart with an empty value.
v1.5.6
What's New
Moved from hash router to browser router
URLs will no longer have the /#/ in them making them a little cleaner and following a more standard format. This however means that share links will now resolve to /watch/:id, this shouldn't affect anyone but it is the only path that that has changed outside of removing the /#/.
So before a share link would be /w/:id -> resolves to -> /#/w/:id
Now a share link will be /w/:id -> resolves to -> /watch/:id
Tag Editing
You can now edit tags. Nothing crazy here, but now if you create a tag directly on a video you have the option to go to the tags page and edit the color or even label of the tag without having to first create it there if you wanted it colored a certain way.
v1.5.5
Quite a big update in this one. Part of that is because I've been super sick and dealing with a bunch of health issues which has given me a lot of time to code which helps distract my mind. Primarily I've been working on the Bulk File Manager but would often get sidetracked into other additions and or add/fixing things from support requests. So apologies for the massive update!
Additionally! I finally got around to putting together a project site for Fireshare. It has needed one for a while and I think this will make it easier for people to share what the app is with people. It's easier to link to and gives a good summary of what Fireshare offers without someone having to scan a github page.
Check it out: https://fireshare.net
What's New
File Manager
A new dedicated File Manager page (admin only) is accessible from the sidebar. It provides a full table view of your video library with bulk actions:
- Bulk Move — Select multiple videos and move them to a different folder in one action. Video paths, thumbnails, and game associations are automatically updated.
- Bulk Rename — Rename titles across multiple files at once using Find & Replace, Strip Prefix/Suffix, or the new Smart Clean mode which strips non-alphanumeric characters and formats titles into title case.
- Bulk Delete — Permanently delete multiple videos and all associated data in one action.
- Bulk Remove Transcodes — Free up disk space by removing 480p/720p/1080p transcoded versions from selected videos.
- Bulk Set Privacy — Set multiple videos to public or private at once.
- Orphaned Derived Cleanup — Scan for and remove leftover thumbnail/transcode folders that no longer have a corresponding video.
- Disk usage now includes derived files (transcodes, thumbnails, etc.) in the total calculation, giving a more accurate picture of storage used by Fireshare.
Move Individual Videos
Added the ability to move a video file to a different folder directly from the video card. Videos moved into a folder with a game association will automatically inherit that game link.
Custom Thumbnails
Authenticated users can now upload a custom thumbnail, capture the current video frame as a thumbnail, preview changes, and remove custom thumbnails — all from within the video modal. Thumbnail cache headers have been updated to ensure browsers always display the latest version after a change.
Public Upload Folder Selection
When enabled in Settings, public users can select which upload folder their videos go into.
Watch Page
Removed the top navigation bar from the /w/ watch page so the video is flush with the top of the viewport.
AV1 Decoding
Added dav1d as a fallback decoder to improve reliability when transcoding AV1 content.
Time Handling
Recorded timestamps are now stored exactly as entered, without timezone conversion, improving accuracy for users in non-UTC timezones.
Docker Image Size
Removed build-time dependencies (build-essential, compiler headers, dev libraries) and cleaned up pip/apt caches after installation, reducing the final image size.