Skip to content

Releases: LMSCloud/LMSEventManagement

Carnival

04 Mar 12:32
Compare
Choose a tag to compare

Carnival

20 Nov 02:20
Compare
Choose a tag to compare

Release Notes

These commits involve various changes and improvements to the codebase, including refactoring, feature additions, and code organization. Some notable changes include:

Summary:

  • Refactoring:

    • Removing unused elements and consolidating dynamic breadcrumbs.
    • Updating to use ES2021 features like replaceAll.
    • Simplifying and separating RequestHandler components.
    • Introducing an abstract view class for code consistency.
    • Making properties optional and using directives for conditional rendering.
  • New Features:

    • Adding a new feature called "skeleton-floating-menu."
  • Bug Fixes:

    • Fixing issues like accidental bottom margins in mobile views.
    • Using the context API to prevent prop drilling.
    • Adding a new component to handle open-API errors.
  • Code Organization:

    • Modularizing the code for better organization.
    • Updating components and views to use the new requestHandler interface.

Refactoring

  • refactor: initial refactor
  • refactor: remove unused elements and consolidate dynamic breadcrumbs
  • refactor: remove legacy type declaration
  • refactor: clean up opac events view template
    • Remove legacy type declaration.
    • Include active link to current breadcrumb for resetting state.
  • refactor: replace regex replacements w/ 'replaceAll' call
  • refactor: simplify and separate RequestHandler components
    • Add a config file for ENDPOINTS and BASE_PATH.
    • Move common types into a shared declaration file.
    • Simplify the library by using pattern matching in the individual, now commented, steps of an actual request.
    • Use names that map to the names used in native requests to avoid confusion.
    • Use the logic of the requestInit interface instead of reinventing it.
  • refactor: introduce abstract view class
    • This is intended to prevent logical divergences in future refactors of the views used in the application.
    • The abstraction allows for more concise view declarations.
  • refactor: use abstract view class in views
    • Initialize the components in their connectedCallback calls.
    • Use pattern matching on the current state to render the appropriate template.
  • refactor: make properties optional in LMSDropdown
    • Handle potentially undefined property.
  • refactor: update LMSStaffEventCard subcomponents
    • Use refactored requestHandler version.
    • Use directives where applicable.
    • Make properties optional and remove properties passed via context from components.
  • refactor: modularize the render method in LMSTable
    • Move optionally renderable content into sub-render methods.
  • refactor: update requestHandler calls to use new interface
  • refactor: update extensions to use new requestHandler interface
  • refactor: adjust opac events filter to new interfaces
  • refactor: export abstract view and open API errors classes
  • refactor: adjust opac events view to new interfaces

New Features

  • feat: add skeleton-floating-menu
    • Correct border-radii to reflect daisyUI's settings.
  • feat: show active entry in floating menu bars
    • Use map directives instead of plain array iterations.
    • Add a prototypical isActive method meant to be implemented in extensions of the LMSFloatingMenu component.
    • Make all properties optional.
    • Extend the refactored component in LMSEventManagementMenu.
  • feat: introduce new component to communicate open-API errors

Bug Fixes

  • fix: accidental bottom margin in mobile view
  • fix: correct request body format in staff events view
  • fix: adjust field name in detail to refactored standard

Code Organization

  • chore: remove unused LMSView component
  • chore: reformat after change in Prettier's sorting order
  • chore: reformat after change in prettier's sorting order
  • chore: stage removal of submodule sfrom root for git
  • follow-up: add the submodules previously removed again
  • chore: add hash store class
  • follow-up(656bcfcc92fcae83091343e9b216888b06fb0d41): update logfile name
  • chore: update package scripts to reflect new symlinks
  • refactor: add a class field for optional parameters
  • chore: build new package

Carnival

07 Nov 22:20
Compare
Choose a tag to compare

What's Changed

Fixes

  • Infinite "Scrolling": Fixed the infinite "scrolling" (rather requesting) functionality for the LMSEventsView component. The pagination of event results now dynamically adjusts with the _per_page parameter, removing the need for a separate event count endpoint. This update provides a smoother user experience by seamlessly loading more events as needed.
  • Event Count Endpoint Removal: The /public/events/count endpoint and its associated backend method count have been removed to optimize the event fetching process in line with the new infinite scrolling feature.

Chores

  • Added caching for perltidy to improve the performance of formatting operations.
  • Included individual entries for formatting in the build process to cater to different file types.
  • Adjusted the build package script to use canonical exit values for better interoperability.
  • Updated the .gitignore to include cache files for prettier and perltidy.

Refactoring and Improvements

  • Refactored the event retrieval logic in the Public/Events controller for better readability and maintainability.
  • Fixed issues related to event filtering and target group selection to ensure accurate data retrieval.
  • Enhanced DOM update performance by using the repeat directive in the frontend.

Breaking Changes

  • The removal of the count method and /public/events/count endpoint requires clients to update their implementations to handle event counts via the infinite scrolling mechanism. This change is intended to streamline the frontend experience but necessitates changes on the client side.

Reversions

  • Reverted a previous fix where id was temporarily set as the default sort column due to unforeseen issues that arose from the change.

Miscellaneous

  • Corrected the name of perltidyrc as it was accidentally named perlcriticrc.
  • Fixed an issue where settings updates were not correctly refetched and rendered, which caused confusion due to outdated state information.

Carnival

28 Oct 19:26
Compare
Choose a tag to compare
Carnival Pre-release
Pre-release

Build and Package Updates

  • Incremented version after applying a patch.

Bug Fixes

  • Reverted the omission of open_registration to address unintended behavior in the Events controller.
  • Temporarily set id as the default sort column to ensure proper listing of all events. (Note: This change will be reverted after resolving a bug related to unexpected filtering based on 'start_time.')
  • Updated filters on the load of additional content to prevent issues with filter states.
  • Limited the width of pell editor modal to 5xl or 1024px from sm.
  • Prevented null pointer on event type links.

Features and Enhancements

  • Required double-click on modal editors for simple edits. Added titles to describe the new behavior.
  • Commenced work on API tests (requires fix in upstream).

Refactoring

  • Moved count into Public::Events controller for code conciseness. Changed route to events/count instead of events_count.
  • Reordered and formatted Tailwind classes.
  • Added .perlcriticrc and reformatted modules.

Localization

  • Updated German translations.

Information and Communication

  • Informed users about cascading on event type deletion due to events being deleted.

Carnival

18 Sep 14:19
Compare
Choose a tag to compare

Improvements

  • Let users delete event types which was previously prevented by a foreign key constraint.
  • Inform users on cascading on event deletion.

If you need the plugin to work w/ perl 5.030, pick the appropriate version *-5.030-*.kpz.

Carnival

18 Sep 13:28
Compare
Choose a tag to compare

Improvements

  • Fix an error where you couldn't save an event without declaring registration dates, even though they're optional

Carnival

11 Aug 15:06
Compare
Choose a tag to compare

New Features:

  • Build & Formatting: Added formatting rules for Perl files on builds, and a new build package. Reformatting Perl files according to new rules is now supported.

Improvements:

  • Chores & Refactoring: Various chores and refactoring efforts have been implemented, including:
    • An automatic datetime update script for demo instances.
    • A cleanup of unmaintained tests and orphaned table rows.
    • Added transactions to migration helper and reformatted Perl code.
    • Incremented the patch version multiple times.
  • Localization: Multiple updates to the German translations have been made to enhance the user experience for German-speaking audiences.

Bug Fixes:

  • UI & Interaction: Numerous fixes have been made to enhance user interaction:
    • Proper grouping of evaluations for the "load more" button.
    • Proper handling of checkbox and textarea inputs.
    • Fixes to revert modals and inputs to empty or previous states on specific events.
    • Fixed the centered text issue in the pell editor to be left-aligned.
    • Prevent masking of updated form fields and proper use of convention 'images' in event types modal.
  • Validations & Registrations: Improved handling of validations, including skipping validations if nullish value and nullable is true. Additionally, registration dates have been set as optional for the moment.
  • Database & Migrations: Several enhancements to the migration process, including:
    • More verbose logs while applying migrations.
    • Logging of database error strings if statements fail.
    • Fixing missing private methods and returning failing statements in migration helper.

This release encapsulates a series of enhancements, chores, and critical bug fixes that aim to improve the overall stability and usability of the system. The efforts in localization and UI refinements are particularly noticeable, ensuring a more streamlined and user-friendly experience. The introduction of new build and formatting features further streamline the development process.

Carnival

24 Jul 13:55
Compare
Choose a tag to compare

This release contains many bug fixes and a refactored code base.

  • Fixes a state leak in the staff event cards where a subsequent event card took the place of its neighboring card and populated all inputs with the deleted card's current values by mistake.
  • Fixes a minor bug where Koha::Objects were sent in API responses due to changes in the schema.
  • Explicitly destroys intersectionObserverHandler instances to prevent memory leaks.
  • Fixes an unidiomatic approach to nested components for the staff event card deck.
  • Styles anchor components like links.
  • TSConfig is now much stricter.
  • Fixes a mismatch of modal requests and user input by creating consistent handling of target group state objects in modals. Modals now also use the shared input converter class.
  • Reintroduces updating event creation modals on event type changes.
  • Reintroduce locale based datetime display in user-facing components.

Carnival

18 Jul 15:24
Compare
Choose a tag to compare

This release contains 2 new features and several bug fixes.

  • Revert commit 2885b7e which introduced several bugs and did not fix the timezone issue. For reference look at release v1.1.1-beta.2.
  • Introduces dayjs for date parsing and formatting.
    • Standardizes all datetime writes to the db. This time using dayjs.
    • Uses dayjs w/o explicit utc conversion as the api implementation does that already. This behaviour caused the confusion in the first place but is actually great if you know about it.
  • Handles null values in new entries in the db now gracefully when rendering.
  • Adds a reset button for filters in the staff events view.
  • Adds a confirmation modal for deletions.
  • Fixes some typos in the german translations.
  • Some housekeeping.

Carnival

17 Jul 21:07
Compare
Choose a tag to compare

This release contains some bug fixes.

  • Fix wrongly interpreted 'booleans': 1|0 and use actual bools for 21.05
  • Fix bug where configured datetimes jump by the difference between UTC and client tz
    • Write all datetimes as UTC into the db
    • Don't use Date constructor on api responses which caused this behaviour