| 2025-11-14 07:25 | test: add tests for missing tests | Carlosokumu | 5 | +108 | -0 |
| 2025-11-14 06:46 | fix: make datetime.datetime always a real type and avoid shadowing. | Carlosokumu | 1 | +1 | -1 |
| 2025-11-14 06:46 | chore: clean up logs | Carlosokumu | 1 | +0 | -1 |
| 2025-11-14 06:45 | fix failing tests | Carlosokumu | 2 | +4 | -4 |
| 2025-11-11 09:47 | chore: pass config as an argument | Carlosokumu | 1 | +2 | -2 |
| 2025-11-11 09:46 | feat: implement merge function | Carlosokumu | 1 | +81 | -2 |
| 2025-11-11 09:44 | feat: add a merge command | Carlosokumu | 1 | +42 | -2 |
| 2025-11-11 09:12 | feat: pass config to ArgParser | Carlosokumu | 1 | +3 | -1 |
| 2025-11-06 15:02 | chore: handle string concatenation using urllib.parse | Carlosokumu | 2 | +24 | -19 |
| 2025-11-05 19:07 | fix: ensure html contents are read correctly | Carlosokumu | 1 | +9 | -5 |
| 2025-11-05 18:45 | chore: rename name to key for clarity | Carlosokumu | 3 | +9 | -9 |
| 2025-11-05 18:42 | feat: implement functionality to store object files | Carlosokumu | 1 | +32 | -3 |
| 2025-11-05 18:41 | feat: add read for poster and long data | Carlosokumu | 1 | +18 | -6 |
| 2025-11-05 18:38 | feat: add obj store location configs | Carlosokumu | 1 | +2 | -0 |
| 2025-11-05 18:37 | feat: add load for object stores | Carlosokumu | 1 | +19 | -5 |
| 2025-11-05 18:35 | fix: always include a console handler | Carlosokumu | 1 | +17 | -21 |
| 2025-11-05 07:41 | feat: add store implementation for fs and wala | Carlosokumu | 5 | +78 | -0 |
| 2025-09-27 12:59 | add check for geo properties | Carlosokumu | 1 | +1 | -1 |
| 2025-09-25 19:22 | add methods to extract and parse datetime and duration for event | Carlosokumu | 1 | +37 | -1 |
| 2025-09-25 19:21 | add entry start date and duration | Carlosokumu | 1 | +10 | -2 |
| 2025-09-25 18:48 | add method to extract ical attachments | Carlosokumu | 1 | +22 | -0 |
| 2025-09-25 18:41 | add missing ical fields | Carlosokumu | 1 | +20 | -0 |
| 2025-09-25 16:22 | add missing ical fields | Carlosokumu | 1 | +23 | -4 |
| 2025-09-25 16:16 | add method to get ical classes | Carlosokumu | 1 | +6 | -0 |
| 2025-09-24 19:13 | add missing ical fields | Carlosokumu | 1 | +61 | -0 |
| 2025-09-24 19:12 | add method to extract ical fields | Carlosokumu | 1 | +11 | -0 |
| 2025-09-18 06:36 | handle SIGINT gracefully | Carlosokumu | 1 | +9 | -0 |
| 2025-09-16 00:19 | Downgrade mimetypes requirement to 3.8 | lash | 2 | +8 | -3 |
| 2025-09-15 14:41 | Fix breaking equality test for geo object | lash | 1 | +1 | -1 |
| 2025-09-15 14:20 | Merge branch 'master' into lash/gui | lash | 13 | +374 | -45 |
| 2025-09-12 07:19 | add main block | Carlosokumu | 4 | +13 | -1 |
| 2025-09-12 07:08 | make each test dir an executable | Carlosokumu | 4 | +0 | -0 |
| 2025-09-11 17:40 | add test discovery | Carlosokumu | 1 | +4 | -0 |
| 2025-09-11 04:03 | only include contact if not None | Carlosokumu | 1 | +4 | -4 |
| 2025-09-10 16:03 | update READE.md | Carlosokumu | 1 | +4 | -4 |
| 2025-09-10 14:41 | test edit command | Carlosokumu | 1 | +29 | -7 |
| 2025-09-10 04:54 | rename non_interactive to event_fields | Carlosokumu | 1 | +20 | -22 |
| 2025-09-10 04:41 | remove explicit interactive mode flag | Carlosokumu | 1 | +4 | -11 |
| 2025-09-08 06:33 | add ICalHelper tests | Carlosokumu | 1 | +61 | -0 |
| 2025-09-08 06:30 | update check_existing_event to tick to standard iCalendar property names | Carlosokumu | 1 | +5 | -3 |
| 2025-09-08 06:05 | add utils tests | Carlosokumu | 1 | +54 | -0 |
| 2025-09-07 14:33 | add unit tests | Carlosokumu | 3 | +168 | -0 |
| 2025-09-04 21:27 | Make entry edit work with last merge | lash | 2 | +5 | -3 |
| 2025-09-04 12:42 | Merge branch 'master' into lash/gui | lash | 4 | +293 | -217 |
| 2025-09-03 10:46 | add setting host,venue and organizer via edit | Carlosokumu | 2 | +19 | -3 |
| 2025-09-02 20:24 | allow setting contact and attachment on the create command. | Carlosokumu | 2 | +58 | -3 |
| 2025-09-02 19:11 | disable interactive mode for edit: pick up set flags for an ical file that contains multiple events defined. | Carlosokumu | 1 | +11 | -12 |
| 2025-09-02 18:39 | add check attempting edits for invalid ical files | Carlosokumu | 2 | +13 | -2 |
| 2025-09-02 18:14 | add check for multiline user input | Carlosokumu | 1 | +15 | -10 |
| 2025-09-02 13:47 | Set up textview for description | lash | 6 | +101 | -17 |
| 2025-09-01 12:13 | ensure single letters in short flags | Carlosokumu | 1 | +5 | -5 |
| 2025-09-01 09:55 | move methods that require explicit cal argument to IcalHelper class | Carlosokumu | 1 | +6 | -142 |
| 2025-09-01 09:54 | add an IcalHelper | Carlosokumu | 1 | +110 | -0 |
| 2025-09-01 09:53 | add helper functions | Carlosokumu | 1 | +56 | -0 |
| 2025-09-01 09:52 | move datetime parsing to utils | Carlosokumu | 1 | +14 | -36 |
| 2025-09-01 04:44 | deduplicate poster and long attachments | Carlosokumu | 1 | +15 | -22 |
| 2025-09-01 00:22 | Replace main window with event listings | lash | 5 | +270 | -108 |
| 2025-08-31 21:07 | Separate runner from gui module | lash | 6 | +209 | -189 |
| 2025-08-31 20:58 | Introduce config, move gui to package | lash | 5 | +208 | -167 |
| 2025-08-31 05:51 | Demo file picker and image display | lash | 2 | +76 | -3 |
| 2025-08-31 04:30 | Set uid and domain | lash | 3 | +49 | -24 |
| 2025-08-31 04:15 | Use xgettext generated pot file | lash | 1 | +12 | -1 |
| 2025-08-31 04:12 | Hello world translation | lash | 4 | +39 | -3 |
| 2025-08-31 02:56 | GUI hello world set field value | lash | 1 | +13 | -5 |
| 2025-08-31 02:27 | Hello world gui | lash | 2 | +66 | -0 |
| 2025-08-30 11:06 | ensure domain is respected in interactive mode. | Carlosokumu | 1 | +7 | -2 |
| 2025-08-29 15:04 | retrieve domain flag value and use it to generate uids,add dtstamp,class and status entries | Carlosokumu | 1 | +14 | -4 |
| 2025-08-29 15:02 | allow user to specify domain using the --domain flag | Carlosokumu | 1 | +12 | -4 |
| 2025-08-29 10:39 | go interactive if no argument is specified | Carlosokumu | 1 | +46 | -36 |
| 2025-08-29 09:52 | add user input validation | Carlosokumu | 1 | +64 | -35 |
| 2025-08-28 12:58 | update ArgsParser: - separate edit and create required arguments - ensure a safe timestamp based filename is generated if not given | Carlosokumu | 1 | +129 | -82 |
| 2025-08-27 17:13 | add interactive calendar creation | Carlosokumu | 2 | +139 | -75 |
| 2025-08-26 10:35 | update project script to match new project name | Carlosokumu | 1 | +1 | -1 |
| 2025-08-26 07:40 | rename runnable instance filename to ungana_cal_cli to match project name | Carlosokumu | 1 | +0 | -0 |
| 2025-08-25 18:36 | make ical_file argument positional | Carlosokumu | 1 | +5 | -6 |
| 2025-08-25 13:13 | use ungana as the domain name for generated ical files | Carlosokumu | 1 | +1 | -1 |
| 2025-08-25 13:11 | use ungana as the domain name | Carlosokumu | 1 | +2 | -2 |
| 2025-08-25 13:04 | update ArgsParser: - make --tzid argument optional - extend handle_create to check if -tzid is a valid timezone if given | Carlosokumu | 1 | +11 | -2 |
| 2025-08-25 12:44 | update project name to ungana | Carlosokumu | 1 | +3 | -3 |
| 2025-08-25 12:39 | ignore generated ical files | Carlosokumu | 1 | +4 | -0 |
| 2025-08-25 12:34 | change project name and associated submodules from calendarapp to ungana. | Carlosokumu | 14 | +339 | -339 |
| 2025-08-25 11:26 | extend IcalManager: - update update_event to pop existing components when doing an edit | Carlosokumu | 1 | +3 | -0 |
| 2025-08-25 11:24 | extend ArgsParser: - add an email regex for checking valid emails -extend _get_user_updates_from_args to check if the provided contact is an email,if so add a mailto as ALTREP. | Carlosokumu | 1 | +7 | -2 |
| 2025-08-23 13:03 | extend IcalManager: - update generate_uuid to generate a globally unique UID using UUID + domain format for new event entries. - update load_ical_file to return a calendar instance if the the provided ical_path does not exist. - add check_existing_event to check if an event with same summary,start and end already exists. | Carlosokumu | 1 | +55 | -7 |
| 2025-08-23 12:57 | extend ArgsParser: -Updatehandle_create to detect and prevent creating events with duplicate details in an existing iCalendar file | Carlosokumu | 1 | +15 | -3 |
| 2025-08-21 20:00 | update README.md | Carlosokumu | 1 | +3 | -0 |
| 2025-08-21 19:39 | update IcalManager update_event method to ensure that If you run edit multiple times with the same poster or long attachment, it won’t duplicate the fields | Carlosokumu | 1 | +20 | -0 |
| 2025-08-21 15:04 | Extend IcalManager 'update_event' to handle property updates with parameters (ALTREP for CONTACT fields) | Carlosokumu | 1 | +5 | -1 |
| 2025-08-21 15:02 | enhance _process_contact_arg in ArgsParser to parse CONTACT information, supporting freeform text and optional parameters such as ALTREP for alternative representations. | Carlosokumu | 1 | +20 | -0 |
| 2025-08-21 13:08 | improve ArgsParser: - add _get_user_updates_from_args that extracts and parses editable fields provided to the edit sub command via arguments. - extend handle_edit to check if the user gave any field args: if yes → do non-interactive update If no → go into interactive edit mode. | Carlosokumu | 1 | +34 | -24 |
| 2025-08-20 18:26 | extends IcalManager's update_event so that it supports both detailed attachment tuples and simple attachment values, instead of assuming a fixed tuple structure. | Carlosokumu | 1 | +6 | -3 |
| 2025-08-20 18:20 | pdate ArgParser’s handle_edit method to format the extracted iCalendar file for editing | Carlosokumu | 1 | +66 | -48 |
| 2025-08-20 11:09 | update README.md | Carlosokumu | 1 | +5 | -10 |
| 2025-08-20 07:05 | update README.md | Carlosokumu | 1 | +17 | -13 |
| 2025-08-20 05:05 | add command argument to specify filename for created icalendar file | Carlosokumu | 1 | +6 | -1 |
| 2025-08-19 11:58 | add parsing of attachments by introducing the AttachmentManager | Carlosokumu | 1 | +33 | -10 |
| 2025-08-19 11:57 | update ICalManager's update_event method to handle attachment updates for long and poster | Carlosokumu | 1 | +10 | -6 |
| 2025-08-19 11:49 | add an AttachmentManager that: - creates attachment - validates attachment file type according to ctx rules. - returns a SHA256 digest of the file content. | Carlosokumu | 1 | +51 | -0 |
| 2025-08-18 21:20 | update README.md | Carlosokumu | 1 | +2 | -2 |
| 2025-08-18 21:20 | breakdown parse_args and add a run dispatcher | Carlosokumu | 1 | +136 | -118 |
| 2025-08-18 21:14 | add method to retrieve first event if --all flag is not specified for ical files with more than one event | Carlosokumu | 1 | +9 | -0 |
| 2025-08-18 21:11 | setup a dispatcher for running parse_args initialization | Carlosokumu | 1 | +1 | -1 |
| 2025-08-18 15:23 | ensure flags come after subcommands | Carlosokumu | 1 | +12 | -17 |
| 2025-08-18 15:22 | ensure ical field DTSTART stores two entries : one with tzid and withoout tzid | Carlosokumu | 1 | +33 | -24 |
| 2025-08-15 19:07 | update README.md | Carlosokumu | 1 | +10 | -1 |
| 2025-08-15 13:40 | add logging, and saving updated ical fields | Carlosokumu | 1 | +12 | -2 |
| 2025-08-15 13:39 | add logging, implement ical updates | Carlosokumu | 1 | +62 | -9 |
| 2025-08-15 13:39 | add logging | Carlosokumu | 1 | +0 | -0 |
| 2025-08-15 13:37 | add logging | Carlosokumu | 1 | +39 | -0 |
| 2025-08-14 19:32 | update README.md | Carlosokumu | 1 | +7 | -2 |
| 2025-08-14 18:07 | add parsing for editing an ical file | Carlosokumu | 1 | +80 | -19 |
| 2025-08-14 18:06 | remove print statement for passed args | Carlosokumu | 1 | +1 | -2 |
| 2025-08-14 18:04 | add logic to load existing ical files | Carlosokumu | 1 | +40 | -0 |
| 2025-08-14 08:27 | update README.md | Carlosokumu | 1 | +7 | -6 |
| 2025-08-13 21:54 | update README.md | Carlosokumu | 1 | +20 | -0 |
| 2025-08-13 21:27 | add an IcalManager | Carlosokumu | 1 | +56 | -0 |
| 2025-08-13 21:27 | add IcalManager instance,add ical file creation logic | Carlosokumu | 1 | +16 | -0 |
| 2025-08-13 21:25 | add icalendar dependency | Carlosokumu | 1 | +4 | -2 |
| 2025-08-13 17:07 | update README.md | Carlosokumu | 1 | +16 | -2 |
| 2025-08-13 14:10 | initialize arg parser | Carlosokumu | 1 | +6 | -1 |
| 2025-08-13 14:07 | add an argument parser | Carlosokumu | 1 | +93 | -0 |
| 2025-08-13 08:08 | initial commit | Carlosokumu | 9 | +45 | -0 |
| 2025-08-13 08:07 | initial commit | Carlosokumu | 1 | +35 | -0 |
| 2025-08-12 16:53 | remove test file | Carlosokumu | 1 | +0 | -2 |
| 2025-08-12 14:52 | add test commit | Carlosokumu | 1 | +2 | -0 |