Skip to content

Feature/organization improvements #1930

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

Open
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

niemyjski
Copy link
Member

No description provided.

niemyjski added 23 commits July 19, 2025 15:55
Uses HashSet instead of Collection for storing user organization IDs and roles.

This change improves performance by leveraging the efficient lookup capabilities of HashSet,
ensuring uniqueness and faster access when checking for organization or role membership.
Adds links to manage organization settings and billing directly from the user and organization switcher dropdowns.

This provides quick access to organization management features, improving the user experience.
Corrects user pagination by including pending invites in the total user count for accurate "has more" calculations.
Replaces the `goto` function calls with the `A` component from the typography module for navigating to organization management and creation pages.
This change enhances the user experience and allows for styling.
Updates Svelte and Typescript-eslint dev dependencies.

This ensures the project is using the latest available versions
of these packages, which may include bug fixes, performance
improvements, and new features.
Refactors code to use the TimeProvider abstraction when introducing delays.

This allows for easier testing and mocking of time-dependent operations in jobs and migrations.

Also changes AllScopes to be an ISet.
Ensures the notification settings form only renders after the form data is available. This prevents errors that occur when attempting to access properties of an undefined object.
Refactors the Beast Mode chatmode configuration for improved tool usage and instruction clarity.

The update includes a refined set of available tools, clarifies internet research guidelines with more specific instructions on link fetching, and emphasizes the importance of memory management to avoid redundant file reads. Also enforces .env file creation and updates todo list formatting.
Refactors notification settings forms for users and integrations, improving UI and separating concerns.

Introduces a generic `UserNotificationSettingsForm` for user-specific settings and an `IntegrationNotificationSettingsForm` for integration settings, enhancing code organization and reusability.

Updates the UI to use a consistent card-based layout with descriptive text for each setting.
Enhances the user interface for the user notification settings form.

Replaces the heading component to ensure consistent styling.

Improves the loading state of the form by using a more visually appealing skeleton loader, providing a better user experience while data is being fetched.
Enhances the appearance settings page layout by aligning the theme options (Light, Dark, System) to the center using flexbox.
This provides a better user experience by visually centering the theme previews and labels.
Updates dependencies to their latest versions.

This ensures the project benefits from the latest features,
bug fixes, and security patches in the updated libraries.
Refactors the notification settings forms for projects and users.

This change introduces a new `UserNotificationSettingsForm` component that provides a better UI, including descriptions for each notification type.

It also handles the display of settings based on plan features and email verification status.
Refactors the alert component to use variants for styling,
and applies the 'information' variant to the alert in the user
notification settings form to enhance readability.
Improves reactivity by utilizing SvelteMap for filter caching
and SvelteDate for date calculations, enhancing UI responsiveness.
Refactors the notification settings form to use `onCheckedChange` instead of `onclick` for switch components, ensuring consistent event handling.

Moves `isEmailAddressVerified` declaration for better readability.

Improves project notification settings saving with toast notifications to provide user feedback.
Introduces `structuredCloneState` utility to prevent cache mutation and reactive entanglement when working with forms.

Updates form components to use `structuredCloneState` for initializing and resetting form data, ensuring data isolation and predictable behavior.

Adds Svelte component guidelines to promote best practices and consistent development.

Improves performance by using reference comparison instead of JSON stringification for reset logic.

Also adds reactive binding pattern to handle query data.
Adds documentation for async components in Svelte.

Enables the `experimental.async` compiler option in the Svelte configuration file to allow using `await` directly in component scripts, `$derived` expressions, and template expressions.
Copy link

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Web 44% 32% 2938
Exceptionless.AppHost 18% 6% 87
Exceptionless.Core 66% 44% 8566
Exceptionless.Insulation 27% 24% 231
Summary 57% (9901 / 17223) 40% (3912 / 9690) 11822

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant