FelipeFTN / Emoji-Copy

πŸ˜„ Emoji copy is a versatile extension designed to simplify emoji selection and clipboard management.
https://extensions.gnome.org/extension/6242/emoji-copy/
GNU General Public License v3.0
95 stars 10 forks source link

Gnome 45 support? #11

Closed DuttaAB-dev closed 8 months ago

FelipeFTN commented 10 months ago

Working on it! πŸ˜…

Here is the Gnome 45 branch. πŸŽ‰

DuttaAB-dev commented 10 months ago

I just started learning JS. Lemme know if I can help you in any way!

FelipeFTN commented 10 months ago

Of course, dude! Here is the new Gnome 45 port documentation: gjs.guide. This doc explains how to correctly migrate the Gnome extension to Gnome 45. Since the gnome-45 branch still in progress, it would be very useful if you could review if the changes are correct. I will open a PR on this branch, so you can review the changes better. Feel free to look if there is any error, missing import or if some import path does not exist! πŸ˜€πŸ‘ Here's the PR #12 πŸŽ‰ Feel free to review and send comments on it!

BloodyIron commented 8 months ago

So uh yeah can we get Gnome 45 mainlined already please? The extension page site still only lists 44 supported :/

ctrueden commented 8 months ago

@BloodyIron If you read through the changes in #12, you will see that the work is complicated. GNOME 45 requires major reworking of the codebase. Please be patient, or else help out to make the development go faster.

FelipeFTN commented 8 months ago

@BloodyIron Hello Buddy! I would be so happy if the problem was just adding the new Gnome version to the extension and deploying it :smile: But Unfortunately, Gnome changed a lot how the extensions should be made. The migration to the Gnome 45 is taking a long time, it's being almost a refactor :skull: But don't worry, I'm still working on it! :tada: I'm just joined some Gnome IRC channels, and I'm getting some help there! Hopefully I will finish it soon! :rocket: I'm sorry for taking too long :sweat_smile:

BloodyIron commented 8 months ago

Alright well I appreciate the help from all involved! And no worries about however long it takes, more just throwing my hat into the ring and shouting "Me too please!", or something like that πŸ˜…πŸ˜…

I do see from other extensions that generally all have a bunch of work needed to reach GNOME 45. πŸ€“

Anyways, quite like this extension, so I'm looking forward to the '45 release! 🍿🍿🍿🍿🍿🍿❀️❀️❀️

(as for contributing, I'm not really able to at this time, sorry!)

p134c0d3 commented 8 months ago

@FelipeFTN what can I do to help? I know JS, TS. Same as you told @DuttaAB-dev ? Review changes? This would be my first Gnome contribution so I'll dive into the Gnome docs for this and see what I can pick up pretty quick. Only thing I'd need is a direction for you to point me πŸ™‚

FelipeFTN commented 8 months ago

Hello Buddy! Thank you so much! :tada: Good news! I just finished the migration, now I'm just fixing some bugs :rocket: Thank you so much for your offer to help. I'm finishing the migration already, but be sure, there is a lot of work to do in this project yet hahaha :sweat_smile: I will be updating here soon! One quick update is that the extension settings page was killed :hocho: We were not using that much, and I don't know how to migrate it to GTK, so I just deleted from now :sweat_smile: In a couple of days it will be available on Gnome Extension store!! :tada:

p134c0d3 commented 8 months ago

@FelipeFTN Great! Glad to hear it! Love the extension. πŸ™‚ Do you have a list of to-do's for contributors to look at should they decide to jump in? Yeah I can't say that I ever opened the settings page personally aside from when I installed it. It just worked!

FelipeFTN commented 8 months ago

Hello, @p134c0d3!! What a great idea! I will be creating a to-do's list, for sure! For now, I can see two major things that must be done:

**1. Code cleaning & polishing

  1. Better pattern (apply gnome linters)**

I can see some more complex and better performance fixes that can me done, but for now, these are the ones I'm most aware of. :space_invader:

Now, describing them better, the first one is because there are a lot of functions that are not doing anything, we are not using or can be done better. Also, this involves adding comments to the code and explaining what is happening on the code. 🧹

This is very important for new contributors to properly read and understand the code. 😁

The second one is a bit less difficult to do, and will make our code with a brand-new linter, provided by the GNOME Shell. I don't know yet, how good the code will look (I would say I prefer beauty and easy understanding over minimalism), but we need to test it. I've already saved the GNOME Shell linters files in our project, right here, the task would be to apply these linters config to each file and save it (we still need to decide if their linter config is better than ours current before applying, we shall open a discussion here on the repo to decide that when we got to work on it). :100:

If you want to contribute, the first task would be to understand how GNOME Extensions works. As this extension code is very old, it must be updated with new practice as fast as possible! I would recommend you to build a simple extension on your PC, by following some tutorials and guides, like this one. By doing that, you will understand how to work with gnome extensions, and learn the latest practices from building extensions (which we are probably not using) :sweat_smile: After understanding the GJS code, you jump into emoji-copy's code, and you'll probably see many things to change and update as well. :popcorn: Searching for removing useless functions, better code practices and upgrading some old logics is the best way to start on emoji-copy! :smile:

Update: I just saw, there is an issue opened, shall be a good one to start working on! :sweat_smile: It involves updating the emoji's description, it should make our emoji search a lot better! https://github.com/FelipeFTN/emoji-copy/issues/13

p134c0d3 commented 8 months ago

Thank you for the response @FelipeFTN ! I will take a look at this when I have some free time later and see what I can dive into. πŸ™‚