-
Notifications
You must be signed in to change notification settings - Fork 92
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
V3 beta #212
Merged
Merged
V3 beta #212
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…t signup process - Added a new `jellyfin_api` module to the API routes - Updated the `__init__.py` module to register the `jellyfin_api` namespace - Created a new `JellyfinStream` resource in the `jellyfin_api` module to listen for authentication events - Implemented a Socket.IO event handler and background task in the `JellyfinStream` resource's `post` method - Added a new `axios` interceptor in the `index.ts` module to handle API responses and set CSRF token headers - Added a `stepper` utility module with a `StepperBuilder` and `StepperController` class - Implemented the `StepperBuilder` class to dynamically create a stepper component with multiple steps - Implemented the `StepperController` class to control the active step in the stepper component - Updated the `jellyfin.html` view to reflect changes in the signup process, including modified step labels Note: The code changes include new module additions and modifications to existing modules.
This commit removes the `unnecessary-lambda-assignment` rule from the `.pylintrc` file. The rule was disabled to prevent linting warnings for unnecessary assignments to lambdas. --- Refactor code: add 'email' parameter to Jellyfin API endpoint This commit adds an 'email' parameter to the Jellyfin API endpoint in the `jellyfin_api.py` file. The 'email' parameter is extracted from the request form and included in the call to the `global_invite_user_to_media_server` function. --- Refactor code: remove unused global_delete_user function This commit removes the unused `global_delete_user` function from the `scheduler.py` file. The function was no longer being used and was commented out. --- Refactor code: update Webpack configuration This commit updates the Webpack configuration in the `webpack.config.cjs`, `webpack.prod.cjs`, and `webpack.prod.cjs` files. The `minimizer` option is removed from the configuration to prevent class and function names from being stripped during the minification process. --- Refactor code: remove need_update utility This commit removes the unused `need_update` utility function from the `need_update.py` file. --- Refactor code: add 'email' field to signup form This commit adds an 'email' field to the signup form in the `jellyfin.html` file. The 'email' field is included in the form submission and used in the subsequent API requests. --- Refactor code: include server_type field in media settings This commit includes a hidden 'server_type' field in the media settings form in the `media.html` file. The 'server_type' value is set based on the server type and used for further processing. --- Refactor code: update global-users table view This commit updates the global-users table view in the `global-users.html` file. The table now displays user expiration dates and invitation codes. --- Refactor code: fix Jellyfin user deletion This commit fixes a bug in the `delete_jellyfin_user` function in the `jellyfin.py` file. The Jellyfin API path for user deletion has been corrected. --- Refactor code: add error handling for failed Plex user invitation This commit adds error handling for failed Plex user invitation in the `invite_plex_user` function in the `plex.py` file. If the invitation is None, a ValueError is raised. --- Refactor code: remove unused global_sync_users function This commit removes the unused `global_sync_users` function from the `scheduler.py` file. The function was no longer being used and was commented out. --- Refactor code: add 'email' field to universal helper functions This commit adds an 'email' parameter to the universal helper functions in the `universal.py` file. The 'email' parameter is used in the functions that interact with Plex and Jellyfin APIs.
- Added "class" and "disabled" attributes to indicate that the settings pages are coming soon and disabled. - Updated the CSS style for the "coming-soon" class to display a dark background with a "Coming Soon" text overlay. - Added a new template file for a deprecated HTML page and included it in the appropriate settings page. - Added a new template file for a development HTML page and included it in multiple settings pages.
- Refactored the 'get' method in the 'NotificationsListAPI' class to retrieve all notifications for the current user. - Added functionality to respond to query parameters to filter the returned notifications. - Refactored the 'post' method in the 'NotificationsListAPI' class to save a new notification in the database. - Added error handling and appropriate response messages for missing resource and unauthorized access.
This commit adds logic to set the value of the username input in the login form based on the value in the username-form input. It also focuses on the username input if it is empty, or the password input otherwise. This change improves the user experience by automatically populating the login form with the correct username and setting the focus on the appropriate input field.
…upport checks The import statements for webauthn related functions were cleaned up to only import necessary methods. Additionally, the browser support checks for webauthn and webauthn autofill were simplified and updated to match the current standards. The previous approach was modified to make use of the class methods `browserSupportsWebAuthn()` and `browserSupportsWebAuthnAutofill()` instead of direct class properties.
…r detection This commit fixes a bug in the session expiration time calculation in `AuthenticationModel`. The condition for setting the expiration time has been corrected to use `days` instead of `hours` when the `remember` flag is set. Additionally, improvements have been made to the error handling in `detect_server` function in `media_server.py`. The function now logs the error using the `error` logger and raises a more descriptive error message when the media server cannot be contacted. Lastly, in the `media.html` template, the `onfocus` event has been added to the `server_api_key` input field to trigger a function call whenever the field gains focus. This change ensures that the `serverUrlChanged` function is called appropriately for better user experience.
The previous code changes fix the Flask server name override by correctly checking if the APP_URL starts with "http://" or "https://". It then sets the server name accordingly and updates the APP_URL in the environment. Additionally, the code now checks the correctness of the APP_URL by comparing it with the host in the request. If the APP_URL is not set or doesn't match the host, it returns an error template with a message explaining the issue.
- The Dockerfile has been updated to include the nmap package. - This will allow for network scanning functionality in the application.
…oken_cookie. The code in the authentication file was refactored to remove redundant code for setting the access_token_cookie. Previously, there was a conditional check to see if the auth object had a token property, and if so, set the access_token to the cookie. However, this conditional check was unnecessary because the token object was always present in the response. As a result, the conditional check was removed.
The ScanServers API in utilities_api.py has been updated to include the option to pass a subnet or IP parameter when scanning for Media Servers on the network. This allows for more targeted scanning based on specific subnets or IP addresses. The subnet and IP parameters are retrieved from the request arguments, and if provided, are used to determine the target for the scan_network function. Also, the buttonSpinner function in submitSpinner.ts has been exported for use in other modules.
…backup.html - Improved readability and simplified code by removing redundant classes - Added font awesome icon to the li element in createElement method
The commit adds the following changes: - Addition of backup API routes. - Model update for the accounts module. - Addition of a new square logo image for Wizarr. - Update in the authentication utility script to include the User interface and enhance the redirect functionality.
- Change push_url to "/admin/settings/discord-bot" and add "class" and "disabled" attributes to the link element in settings.json.j2 to make it "coming-soon" and disabled respectively. - The link now has a new class and is disabled for future implementation.
- Added a new function `restore_database` to the `backup.py` file that restores a backup by deleting existing rows in tables and inserting new rows based on the backup dictionary. - Modified the `BackupUpload` class in the `backup_api.py` file to handle the restore functionality. If the restore fails, an error message is returned. If successful, a success message is returned. - Updated the `customToastify.ts` file to include an optional `options` parameter for the `errorToast`, `successToast`, `infoToast`, and `warningToast` functions. This allows for customization of the toast messages. - Updated the `backup.html` file to show a warning message to the user before restoring a backup and added a spinner to indicate the restore process. After the restore is complete, the input fields are cleared. - Updated the `create_user` function in the `manage.py` file to set the user role as "admin".
- Added `*.backup` to the `.gitignore` file. - In `app/utils/backup.py`, when restoring the database, create a backup of the database file before restoring, using the current date and time as the backup filename. - In `app/views/settings/backup.html`, added a function `restoreNotifications()` to display informative toast messages to the user during the restore process.
- Discord API routes and model have been added to enable OAuth related operations. - The new Discord API routes are now available for handling GET and POST requests. - The Discord model has been added to the database module to store Discord information. - These changes have been made in the `api/routes/__init__.py`, `api/routes/discord_api.py`, `app/models/database/__init__.py`, and `app/models/database/discord.py` files. - Discord API routes have been integrated into the existing API namespace. - The database module has been updated to include the new Discord model in the list of all models. - These changes will enable managing Discord settings and performing OAuth related operations.
- Use `docker/build-push-action@v2` action for building and pushing Docker image. - Specify context, Dockerfile, push status, tags, and platforms for the action.
- Add matrix platform tag to the docker build configuration in docker-build.yml file. - This allows for better organization of the tagged docker images based on different platforms.
This commit disables pushing the Docker images at the build stage. The images are pulled, tagged with the same tag, and pushed later in the workflow.
… build, based on the platform.
The platform matrix values in the Docker build workflow were changed from "linux/amd64" and "linux/arm64" to "amd64" and "arm64" respectively. This change improves the clarity and consistency of the code.
- Remove unused steps for logging in to GHCR - Move login step to the beginning of the workflow - Pull and push images after logging in to GHCR
The commit refactors the Docker build workflow by adding two new steps for artifact upload and download. The artifact contains the generated Docker images for different platforms. Additionally, the commit includes steps to login to GHCR, download the artifacts for AMD64 and ARM64 platforms, and then load and push the images to the registry.
Download artifacts to temporary path for both amd64 and arm64 architectures.
The commit removes the use of the REGISTRY environment variable from the Docker build tags in order to simplify the tagging process. This change allows for a more streamlined and efficient build process, reducing complexity and ensuring consistency in the tagging format.
The Docker build workflow has been modified to support re-tagging images and creating a multi-arch manifest for arm64 and amd64. The changes enable pushing the multi-arch manifest to the registry.
… images Caching Docker images for faster builds and restoring them from cache if available. Also, pushing multi-arch images with manifest annotations for arm64 and amd64 platforms.
This commit includes changes to upload the artifact for docker image and download the artifacts for AMD64 and ARM64 platforms.
- Improve caching efficiency for Docker images - Comment out unnecessary artifact upload steps - Utilize GitHub cache to save Docker image for next job - Comment out unnecessary artifact download steps - Restore Docker image cache for AMD64 and ARM64 using keys docker-images-amd64 and docker-images-arm64 - Create a multi-arch manifest for arm64 and amd64 - Re-tag and push Docker images - Push the multi-arch manifest
…ker image build. - Added `cache-from` and `cache-to` configuration to the Docker build step. - Modified the action for restoring Docker image cache to use the latest version (`actions/cache/restore@v3`).
…acts The Docker image cache settings (cache-from and cache-to) were reverted back to their original commented-out state. Additionally, the download of artifacts for AMD64 and ARM64 was added. Some debug lines were also added to print the contents of the /tmp and /tmp/MrDynamoIsAwesome directories.
- Simplify docker-build workflow by removing unnecessary steps and comments. - Enable push for docker image at the build stage. - Update tags for docker image in build stage. - Comment out irrelevant steps related to artifact upload and image caching. - Comment out steps related to loading and tagging images. - Update the multi-arch manifest to include arm64 and amd64 architectures. - Remove unused environment variables.
This commit updates the tags for Docker images in the docker-build.yml file to include the registry information. It replaces the previous tags with the new format: ${{ env.REGISTRY }}:${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ matrix.platform }}. This change ensures that the correct registry is used when pushing the images.
- Refactor the build workflow to create a manifest for different architectures - Replace `push_images` step with `create-manifest` step - Update Dockerfile to include version information and labels
The changes include: - Removal of the unnecessary version extraction step using jq. This commit simplifies the Dockerfile by removing the version extraction step using jq and makes the code more readable and maintainable.
…prove readability - Removes commented out code and unused steps in the workflow. - Updates the tags to only include the registry, image name, and image tag. - Removes the provenance flag from the Docker build step.
This commit adds the necessary code changes to set up Docker Buildx and configure platform-specific tags for the Docker image. The setup is done using the `docker/setup-buildx-action@v3` action. The tags for each image now include the platform information to differentiate between different image builds.
- Short description: Refactor Docker build workflow tags - Detailed description: Removed the platform-specific tag from Docker build workflow tags in order to simplify the tag naming convention.
This commit updates the Docker build platforms and manifest creation process in order to support additional ARM64 platforms (linux/arm64/v7, linux/arm64/v8) alongside the existing platforms (linux/amd64, linux/arm64). The changes ensure that the Docker images are built for all necessary platforms and the multi-arch manifest is created and pushed correctly. Closes #123
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.