- File operation class methods create parent dirs if they don't exist
- Avoid stripping path from file names in several places
- Simplify prop file matching logic: check for existence of file
- Remove list_files() method which is now unused
- Rename `/config/load` endpoint to `/config/action` since it has multiple functions
- Add a `send` function to above endpoint, which triggers a download of the config file, and use it with a new Download button on the index page
- Add an option to upload to the CFG_DIR
- Improve layout of the file transfer destination web form: radio buttons before labels, and better padding between options
- Add a test for config downloading
* New class method for creating image file with python; use python file operations across the board.
Also fixed several bugs:
Added check that a file exists before copying/moving/creating
Check that parent dir exists always passed
Incorrect return message token
- Artist is Lin83
- Vector image sources, with exported bitmap favicons
- Hand drawn 16x16 and 32x32 favicons
- Pivot to using an svg image in the modern theme
- Break out generate_iso() into its own class method in file_cmds
- Add form and handling of using local file to generate iso image
- Reorder index page sections to group actions that create new image files
- Introduce a dedicated Upload page and move the upload form there
- Style the utility hyperlinks on the index page with icons and bold text
- Display the cancel / dismiss downloads link, and tweak the link text to make more sense. Note: Cancelled downloads won't remove the partially uploaded file.
- Hide image preview thumbnails. Not relevant to our usecase, and mess up the layout when it happens.
- Turn on chunk retries and tweaks chunk size to be a full MiB (probably won't make a big difference)
* Improve styling support when web authentication disabled, fix issue #1017
* Fix sudo PATH issue in Docker web container (allows easyinstall.sh to call commands in sbin)
* Fix logout button icon flicker/reload on resize
- Add a label to system name, and modify the style sheet to hide it in the modern theme
- Restore the Control Page subtitle, and hide it on small screens
- Tweak some wordings and help text
* Rebrand project to PiSCSI
- rascsi ->piscsi
- rasctl -> scsictl
- rasdump -> scsidump
- ras* -> piscsi* (rasutil -> piscsi_util, etc.)
* Refined the formatting and wording of the app startup banner
* Kept some references to rascsi and rasctl where backwards compatibility is concerned
* Point to the new github repo URL
Co-authored-by: nucleogenic <nr@nucleogenic.com>
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
- Fixed ignore patterns in .dockerignore
- Added healthchecks to backend and web containers
- Reduced Docker image sizes
- Removed RaSCSI references in various areas (e.g. rascsi -> backend)
- Added compilation-only step to easyinstall.sh
- Moved apt package lists to variables
- Revert to triggering GitHub Actions runs on push
- Updated web/frontend_checks workflow to run black and flake8 against all Python sources
- Capture log files from backend/web containers
- Fix None to float conversion bug when user agent is absent or unrecognised
* Update config for black and flake8
* Auto-format Python sources with black
* Fix issues reported by flake8
* Exclude protobuf files from black
* Address formatting feedback
- counter for refreshing network status, currently set at 10 ticks (10s with the default refresh interval)
- adding a --refresh_interval option to control the overall screen refresh rate, keeping 1000ms as the default
- Restore a 'No Media' status message for RM devices that was lost with the last PR
- Display the pretty hostname as system name in header
- Move IP and hostname down to the footer
- New endpoint for setting the pretty hostname, plus form field in the Web UI
- (unrelated) Use platform.uname() instead of shell uname
- (unrelated) Better logic for fetching the Mac HD Drivers zip file in easyinstall.sh
- Bring back the shutdown splash, with the tweak that is blanks out after 700ms
- Restore the non-Latin transliteration originally from https://github.com/akuker/RASCSI/pull/449 which was lost when the `common` package was introduced
- Bump to the latest libraries, while removing implicit dependencies from requirements.txt
- Shorter duration of the startup splash
- Reintroduce shell shutdown/reboot methods for use with the Web UI. This addresses https://github.com/akuker/RASCSI/issues/538 (the ctrlboard client will continue to use the built-in rascsi system calls which are slightly faster)
- Remove overt references to RPi. This addresses https://github.com/akuker/RASCSI/issues/990
- Other refactorings
* Expose hardware info in env string
* Improve error handling for get_properties_by_drive_name
* Verbose uname parameters.
* Close open file in introspect method
* Add error handling for when no drive name was matched with props in the database
* Docker environment fixes
* New theme for web UI
* Apply breaking wrap to filenames only
* Reduce font sizes, whitespace and padding
* Right align action fields/buttons
* Improve mobile header, hide superfluous UI elements when logged out, drop placeholders from login labels, various other adjustments
* Force footer to bottom of screen
* Show manual link to logged out users
* Reduce header text size on desktop
* Fix incorrect selector ID
* Fix selector referencing old class name
* Fix right-aligned message when images table empty
* Add CSS linter/auto-formatter
* Run Stylelint + Prettier against modern theme CSS
* Select default theme based on browser’s user agent
* Style inputs on mobile/tablet devices
* Fixes for Safari 14 on iOS + iPad OS
* Explicitly define mobile browser support, switch to bare ua-parser without user-agent wrapper
* Add LICENSE file for modern theme icons
* Improve theme selection query string/field naming.
* Remove patch workaround from Docker build
* Update log level for UAs to info
* Move Bootstrap Reboot CSS to CDN
* Account for LUN column in attached devices table
* Prevent wrapping of config forms on small viewports
* Fix Stylelint issues
* Auto-format CSS with Prettier
- New "format as" option when creating new images; removing the image creation options from easyinstall
- Bring in HFSer as new submodule providing the driver binaries; removing the Lido driver binary from this repo
- Add SpeedTools driver option
- Point to github mirror of hfdisk, since the original git server is down
- While rearranging the easyinstall options, moved the CtrlBoard option up to the main section
- Add an easyinstall script to configure Samba, while consolidating file sharing with Netatalk
* Remove deprecated critital log level from test
* Move drive_properties back into template data sets
* Move properties data integrity checks to test code
* Streamline the drive formatting logic
- Sanitize file paths with Path: for flat file structures, always extract Path().name, and for nested file structures either look for absolute paths, or someone trying to use ".." to traverse the dir strucutre.
- Reduce redundancy in network bridge detection method, and return somewhat more informative messages
- Make all endpoints return exactly one message
- Move some warning messages to logging
- Use tempfile for iso generation temp file handling
* Dockerize Pytest
* Fix auto-delete warning in delete file test
* Allow tests to be executed with a non-default home dir
* Use hostname for Docker container only if tests executed in Docker
* Update container entrypoint to pytest
* Re-format tests with black
* Define if the execution environment is a Docker container in env fixture
* Skip unsupported host bridge attachment test in Docker