Review of "Litsycal" version 5

Details Page Preview

A compact calendar for the GNOME panel, inspired by Itsycal for macOS. Click the panel badge for a small month calendar with an agenda of your upcoming events, using the calendars GNOME already knows about (GNOME Calendar and Online Accounts such as Google). - Create, edit, search and delete events right from the panel, including quick-add from a one-liner like "Lunch tomorrow 12pm at Cafe Nero" - One-click join buttons and an optional countdown for video meetings - Live world clocks with the offset from your home time zone - Week numbers, pinning, Itsycal-style keyboard shortcuts and plenty of appearance options Clipboard: an agenda event's right-click menu has a "Copy" action that copies the event's details to the clipboard.

Extension Homepage
https://github.com/mlkonrad/litsycal

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) manual_review 1

Shexli found 1 issue that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • calendarWidget.js:1536
    St.Clipboard.get_default()

All Versions

Version Status
8 Active
7 Rejected
6 Active
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection waiting for author
Is this code generated by AI? If so, we have a rule for that: [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated)
mlkonrad posted a review
Hello! Thank you for reviewing my extension. Indeed, I had help from AI for the major part of the project. But rest assured, I've strictly followed the EGO rules regarding the coding and especially the license, as this is a port from another software (itsycal) from macOS. I even requested permission from the owner of itsycal to use the name "litsycal". As you can see from this project's Github page, I've been working for a while on this extension. A lot of effort was put into this project, as this is not a "vibecoded" weekend slop. Let me know if any questions. Regards, mlkonrad
JustPerfection rejected
1. Please fix all the wrong characters in comments. You have that all over the files. For example, line 58 `calendarManager.js`. 2. Use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup (`extension.js` process only). 3. Use icons instead of emjoi: [Extension Best Practices Guidelines: Icons vs. Emojis](https://gjs.guide/extensions/review-guidelines/best-practices.html#ui-elements-icons-vs-emojis) 4. You cannot use the same property for holding two different timeout ids (line 868, 985 `calendarWidget.js`). 5. Selective disable isn't allowed. You should remove line 114-115 `floatingPanel.js`. 6. Defined but never called (line 146 `searchPanel.js`). So that's not cleaning up on disable/destroy.