4.0 Has Arrived! 🎉
This release brings two major changes: a fresh frontend look and an advanced user permission system.
JUST GIMME THE SCREENSHOTS!!!1!111!
Ok, https://github.com/seriousm4x/UpSnap#-screenshots
Whats new:
New and Improved Frontend Design
The frontend has undergone a complete makeover! Bootstrap was removed and replaced with Tailwind and DaisyUI, offering you a sleek new interface. Moreover, 29 new themes were introduced to choose from. Also, UpSnap has transitioned to TypeScript. Keep an eye out for the new timer that appears when you start up or shut down a device, indicating when the timeout will be reached.
Enhanced User Permissions
While version 3.1 introduced permissions, they were rather basic and lacked customization. With version 4 you can assign unique permissions to each user for every individual device. This means admins have the power to define read, edit, delete, and power permissions for each user, per device. Additionally, administrators can effortlessly create or remove users.
Introducing Sleep on LAN
A very frequently requests feature (#24 #78 #108 #162) was to integrate SR-G/sleep-on-lan. It's now here with support for setting a custom port and optional SOL authorization. When the user has the power permission, the device is online and SOL was enabled, you will now see it in the more
dropdown on the device card.
Other features
- A new ordering option has been introduced to the dashboard. You now have the flexibility to enable or disable group ordering and select your preferred order criteria: device name or IP.
- A reboot button was added
- A new option to the settings was added, called "Lazy Ping". With this option, UpSnap will only ping devices when an active user is browsing the website (maintaining the default behavior). If you choose to disable it, pings will be sent regardless of user activity.
- Some nice toast notifications were added. These notifications will keep you informed about the success or failure of your actions.
Changelog
Features
- d57520c: feat: add reboot button, #108 (@seriousm4x)
- 733d6d5: feat: gracefully stop cron on terminate (@seriousm4x)
- f8186ba: feat: add sleep-on-lan support, #24 #78 #108 #162 (@seriousm4x)
- b8fdb42: feat: only refresh jwt if valid less than 1 day (@seriousm4x)
Bug fixes
- 15a5663: fix: clear authstore if setup not completed (@seriousm4x)
- 834c42b: fix: frontend version var (@seriousm4x)
- d7b18c8: fix: only stop cron if cron is running (@seriousm4x)
- c335903: fix: only show sleep when device is online (@seriousm4x)
- a237fba: fix: broken nic timer (again) (@seriousm4x)
- 05686bf: fix: ping port cause device stuck on pending (@seriousm4x)
- 7b5dddf: fix: make sol port non-required (@seriousm4x)
- e52d7f4: fix: properly reset nic timer (@seriousm4x)
- bccbb94: fix: simplify nic click logic (@seriousm4x)
Go dependencies
- 6982184: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- da6c822: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 5b112d8: go-dep: update all (@seriousm4x)
Npm dependencies
- 5270661: npm-dep: bump @typescript-eslint/eslint-plugin in /frontend (@dependabot[bot])
- 4009a5c: npm-dep: bump @typescript-eslint/parser from 6.3.0 to 6.4.0 in /frontend (@dependabot[bot])
- 37c25bb: npm-dep: bump @sveltejs/kit from 1.22.5 to 1.22.6 in /frontend (@dependabot[bot])
- e866b00: npm-dep: bump autoprefixer from 10.4.14 to 10.4.15 in /frontend (@dependabot[bot])
- 15d52e4: npm-dep: bump @fortawesome/free-solid-svg-icons in /frontend (@dependabot[bot])
- 1977a25: npm-dep: bump @fortawesome/free-solid-svg-icons in /frontend (@dependabot[bot])
- 6d74414: npm-dep: bump @sveltejs/adapter-static from 2.0.2 to 2.0.3 in /frontend (@dependabot[bot])
- f5231ec: npm-dep: bump @sveltejs/adapter-static from 2.0.2 to 2.0.3 in /frontend (@dependabot[bot])
- 2b8e266: npm-dep: bump @sveltejs/kit from 1.22.3 to 1.22.4 in /frontend (@dependabot[bot])
- ae19470: npm-dep: bump @sveltejs/kit from 1.22.3 to 1.22.4 in /frontend (@dependabot[bot])
- b6a2b08: npm-dep: bump @sveltejs/kit from 1.22.4 to 1.22.5 in /frontend (@dependabot[bot])
- 0dbf703: npm-dep: bump @sveltejs/kit from 1.22.4 to 1.22.5 in /frontend (@dependabot[bot])
- 7615a26: npm-dep: bump bootstrap from 5.3.0 to 5.3.1 in /frontend (@dependabot[bot])
- d8cb3ec: npm-dep: bump bootstrap from 5.3.0 to 5.3.1 in /frontend (@dependabot[bot])
- 43a4485: npm-dep: bump sass from 1.64.0 to 1.64.1 in /frontend (@dependabot[bot])
- da5a1da: npm-dep: bump sass from 1.64.0 to 1.64.1 in /frontend (@dependabot[bot])
- 323f679: npm-dep: bump sass from 1.64.1 to 1.64.2 in /frontend (@dependabot[bot])
- 53ded68: npm-dep: bump sass from 1.64.1 to 1.64.2 in /frontend (@dependabot[bot])
- 569d265: npm-dep: bump svelte from 4.1.1 to 4.1.2 in /frontend (@dependabot[bot])
- e13504e: npm-dep: bump svelte from 4.1.1 to 4.1.2 in /frontend (@dependabot[bot])
- acee769: npm-dep: bump vite from 4.4.6 to 4.4.7 in /frontend (@dependabot[bot])
- af03b54: npm-dep: bump vite from 4.4.6 to 4.4.7 in /frontend (@dependabot[bot])
- 29a45af: npm-dep: bump vite from 4.4.7 to 4.4.8 in /frontend (@dependabot[bot])
- d53ee68: npm-dep: bump vite from 4.4.7 to 4.4.8 in /frontend (@dependabot[bot])
- 024f749: npm-dep: bump vite from 4.4.8 to 4.4.9 in /frontend (@dependabot[bot])
- e49f2d0: npm-dep: bump vite from 4.4.8 to 4.4.9 in /frontend (@dependabot[bot])
- e61a7f9: npm-dep: update all (@seriousm4x)
- 689b96b: npm-dep: update all (@seriousm4x)
- d801f7c: npm-dep: update all (@seriousm4x)
Others
- 8d2e3a5: Update .goreleaser.yaml (@seriousm4x)
- b2f2dfd: Merge pull request #163 from seriousm4x/dependabot/npm_and_yarn/frontend/typescript-eslint/eslint-plugin-6.4.0 (@seriousm4x)
- 67ea231: Merge pull request #164 from seriousm4x/dependabot/npm_and_yarn/frontend/typescript-eslint/parser-6.4.0 (@seriousm4x)
- a551522: reset timeout (@seriousm4x)
- 58d497e: try avoid loop variable capture (@seriousm4x)
- 3fe17d1: add buttons to toggle permissions (@seriousm4x)
- d9b14ad: add lazy ping option (@seriousm4x)
- a39bf0e: fix logic error (@seriousm4x)
- c1dbde5: fix nic tooltip (@seriousm4x)
- d347802: fix no records shown with multiple users (@seriousm4x)
- 2dab56e: pnpm format (@seriousm4x)
- 81cc067: actually fix build (@seriousm4x)
- 6794091: add account page (@seriousm4x)
- 318f76f: add dashboard order (@seriousm4x)
- eee83b5: add empty permissions route (@seriousm4x)
- 90eccbc: add home grid and adjust nav (@seriousm4x)
- deac242: add multiple nics to device card (@seriousm4x)
- adf2936: add network scan (@seriousm4x)
- 977a923: add other commits to changelog (@seriousm4x)
- da3f424: add page transitions (@seriousm4x)
- 67d957c: add permission page, close #75 (@seriousm4x)
- 77a73a9: add required field (@seriousm4x)
- da63e13: add settings page (@seriousm4x)
- 522f591: add spacing between sections (@seriousm4x)
- 413a2a8: add theming (@seriousm4x)
- 6fc02ce: add user permissions to backend #75 (@seriousm4x)
- 7e8b570: added toast notifications (@seriousm4x)
- 550bf74: adjust nav padding (@seriousm4x)
- 5e417f6: better admin check (@seriousm4x)
- 9481fd1: better gap spacing (@seriousm4x)
- ab13dae: better mobile view (@seriousm4x)
- 97d0aab: change default dark theme (@seriousm4x)
- de2d86f: cleanup (@seriousm4x)
- 4a80618: cleanup merge errors (@seriousm4x)
- 24aec5e: define possible device.status values (@seriousm4x)
- ac15e39: delete forgotten device store things (@seriousm4x)
- a875613: finish device edit, fix navbar (@seriousm4x)
- 4d682e0: first commit for tailwind rewrite (@seriousm4x)
- 2d6cf95: fix avatar update (@seriousm4x)
- cd94895: fix build (@seriousm4x)
- 390d077: fix home spacing, fix create dev as admin (@seriousm4x)
- d5ecbad: fix order by when groups activated (@seriousm4x)
- 89bb99e: fix save icon (@seriousm4x)
- 870d2dc: improve /login and /welcome (@seriousm4x)
- 1cc232e: improve group buttons (@seriousm4x)
- 90baf0a: improve home loading, remove $devices store (@seriousm4x)
- 2cc1913: improve navbar menus (@seriousm4x)
- 9d2871e: improve theme colors (@seriousm4x)
- 39b2cc6: improve ts (@seriousm4x)
- 00a098b: make port fields required (@seriousm4x)
- 054f9ef: match dark theme with cupcake (@seriousm4x)
- ef69268: more changes to device settings (@seriousm4x)
- e5e710f: multiple fixes (@seriousm4x)
- 1c06774: no hover if no shutdown:_cmd, move required fields (@seriousm4x)
- 2a90457: order by groups if localstorage unset (@seriousm4x)
- a79c1bf: port ports by number (@seriousm4x)
- 8155a9a: remove dark theme overwrite (@seriousm4x)
- ef5329f: remove prettier plugin-search-dir (@seriousm4x)
- 311684f: rename permissions to users, add create new user (@seriousm4x)
- 541e8b3: rename workflow (@seriousm4x)
- 4b36131: required form fields and margin (@seriousm4x)
- 18046b6: reuse device form, simplify realtime updates (@seriousm4x)
- 1602136: settings: add icon, change color (@seriousm4x)
- 54191b7: several button improvements (@seriousm4x)
- af021ae: show correct avatar for other users (@seriousm4x)
- 6099b67: show countdown for wake/shutdown (@seriousm4x)
- 3ffd3c6: simplify fetch on edit page (@seriousm4x)
- f9e8438: update readme and screenshots (@seriousm4x)
- 768be7c: update web ui to match backend permissions #75 (@seriousm4x)
- a4c7fd4: use form for scan range (@seriousm4x)
- 904b167: use pnpm for build (@seriousm4x)
- 9411184: ux improvements (@seriousm4x)
- b04029a: ux improvements for network scan (@seriousm4x)
- 19e3c63: various small changes (@seriousm4x)