{"items":[{"id":"33285078-7455-413c-93f5-8cc5e3516a94","type":"push","org":"lukelouyu","repo":"ip","title":"Add parser support for the 'find' command","summary":"The `Parser` class has been updated to recognize and handle the `find` command, properly routing user inputs to a new `FindCommand` execution flow. Additionally, module imports within the parser were reorganized for better code readability and structure. This addition lays the groundwork for allowing users to search their task lists seamlessly by keywords.","url":"https://nomit.dev/lukelouyu/ip/status/0f2436d5296c90dbfe00d03b42edaa74ffc220e457e6f773d42e4dd6d4d4e418","author":"lukelouyu","contributors":["lukelouyu"],"updated_at":"2026-02-24T11:16:10+00:00"},{"id":"d5f4c6b8-99bb-489e-9f5c-2c8f6aec04e8","type":"push","org":"lukelouyu","repo":"ip","title":"Add `FindCommand` to enable searching tasks by keyword","summary":"A new `FindCommand` class has been introduced to support querying tasks that contain a specific keyword. It handles user input validation by throwing an exception if the keyword is missing, delegates the search operation to the task list, and hands the matching tasks off to the UI for rendering. This provides users with a convenient way to quickly locate specific items without having to manually read through the entire list.","url":"https://nomit.dev/lukelouyu/ip/status/4bba565bd62e20607b9628719ac187eff3e7134f88ac8f935ede41e34b9a4983","author":"lukelouyu","contributors":["lukelouyu"],"updated_at":"2026-02-24T11:14:13+00:00"},{"id":"af0183fa-31b8-4655-a23d-ab2e2642b7fd","type":"push","org":"lukelouyu","repo":"ip","title":"Add UI method to display find results","summary":"The UI class has been updated with a new `showFindResults` method to handle displaying task search matches to the user. This method iterates through the provided list of matching tasks and formats them as a numbered list, or displays a placeholder message if no tasks are found. This makes the interface more robust for upcoming search functionalities.","url":"https://nomit.dev/lukelouyu/ip/status/c26547d1eb3970eb38e8999b24e5d448ca546b0d85ed62d704005404e288af57","author":"lukelouyu","contributors":["lukelouyu"],"updated_at":"2026-02-24T11:12:14+00:00"},{"id":"3d757826-fd23-48f6-abd1-1f24852db8c9","type":"push","org":"lukelouyu","repo":"ip","title":"Implement `findByKeyword` in `TaskList` to support searching tasks","summary":"Added a new `findByKeyword` method to the `TaskList` class to iterate through the current tasks and find matches. By stripping whitespace and comparing both the task description and the keyword in lowercase, the search becomes fully case-insensitive. This implements the necessary logic for users to quickly retrieve relevant tasks using related search terms.","url":"https://nomit.dev/lukelouyu/ip/status/60799e369ddfc1945ddc93e686ff14350d492d21c94385da1fe0b52ec6dfb708","author":"lukelouyu","contributors":["lukelouyu"],"updated_at":"2026-02-24T11:08:04+00:00"},{"id":"15a59145-5893-4ba8-a914-31aeae89825c","type":"push","org":"lukelouyu","repo":"ip","title":"Ensure Event tasks parse start and end dates accurately when loaded from storage","summary":"Previously, `Event` tasks were loaded from storage using raw strings for their start and end dates. The `Storage` component has now been updated to properly reconstruct these into `LocalDateTime` objects using `DateTimeUtil`. Additionally, a validation step was added to gracefully discard any events where the end time precedes the start time. This change ensures that all tasks are robustly structured and reliable for manipulation once the application initializes.","url":"https://nomit.dev/lukelouyu/ip/status/0565a61f95cc4c4655df28c8f9e9e50e5ecc0849141ed15ed35eaffcb8712468","author":"lukelouyu","contributors":["lukelouyu"],"updated_at":"2026-02-24T10:49:24+00:00"}],"pagination":{"offset":0,"limit":5,"has_more":true}}