Skip to content

✨ Implement remote configuration settings#164

Merged
patou merged 21 commits intopatou:masterfrom
glazrtom:feature/remote-config-settings
Dec 10, 2025
Merged

✨ Implement remote configuration settings#164
patou merged 21 commits intopatou:masterfrom
glazrtom:feature/remote-config-settings

Conversation

@glazrtom
Copy link
Contributor

@glazrtom glazrtom commented Dec 2, 2025

Hello,

I’ve added new settings that allow you to configure the set of emojis used by the plugin. This is useful because many users and organizations follow different standards or restrict which types of emojis they want to allow (there are far too many to choose from, after all).

With this configuration, you can define your own custom set of gitmojis that will be permitted and shared across your team.

Usage example: https://github.com/glazrtom/conventional-gitmoji-intellij-config

Related issue: #9

@gemini-code-assist
Copy link

Summary of Changes

Hello @glazrtom, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the Gitmoji plugin by introducing remote configuration capabilities. It allows users and organizations to specify custom URLs for fetching both Gitmoji definitions and localization files. This feature addresses the need for greater control over the available emoji sets, enabling teams to enforce specific standards or restrict certain emojis, and ensures that the plugin can dynamically adapt to custom or updated emoji lists and translations.

Highlights

  • Remote Configuration for Gitmojis: Introduced settings to configure the set of emojis used by the plugin via remote URLs.
  • Custom Gitmoji Sets: Users can now define and share custom sets of permitted Gitmojis across their team.
  • Configurable Data Sources: Added new configuration fields for "Gitmoji JSON URL" and "Localization URL template" in the plugin settings.
  • Dynamic Loading: The plugin will now fetch Gitmoji definitions and localization data from the specified remote URLs, allowing for dynamic updates.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a valuable feature for remotely configuring gitmoji sets, which is a great addition for teams with custom standards. The implementation is generally well-done, with new UI settings and logic to fetch data from user-defined URLs. However, I've identified a critical issue that could cause a crash due to unsafe handling of a network response. I've also included a few medium-severity recommendations to improve maintainability and reliability. Addressing these points will help ensure the new feature is robust and stable.

Copy link
Owner

@patou patou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks interesting, thanks for your proposition.
I begin to change the configuration for use global configuration or project configuration in this PR #163, I will merge my PR and you can rebase on it.

And maybe, in your proposition, we can add a dropdown to choose the convention :

  • Gitmoji
  • Gitmoji Conventional
  • Custorm (and with this option, display customs fields)

@patou
Copy link
Owner

patou commented Dec 3, 2025

@glazrtom I merge my PR for global configuration.
Can you rebase your proposition.

Thanks.

@glazrtom
Copy link
Contributor Author

glazrtom commented Dec 3, 2025

@patou thank's, will do it today or tomorrow together with the proposed improvement of the settings

@glazrtom glazrtom force-pushed the feature/remote-config-settings branch from 251ad55 to 47b2bcb Compare December 6, 2025 00:20
@glazrtom
Copy link
Contributor Author

glazrtom commented Dec 6, 2025

@patou I've rebased and improved the settings. And also added some documentation. Let me know, what you think 🙂

PS: those translations are done by AI so they can be incorrect...

image image

Copy link
Owner

@patou patou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your edit, it's look a very good addition to the extension.
Some review.

I'm not tested yet.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements remote configuration settings that allow users to customize the set of gitmojis available in the plugin. Users can now choose between official Gitmoji, Conventional Gitmoji, or a custom source via configurable JSON URLs.

Key Changes:

  • Added support for three gitmoji source types: Gitmoji (default), Conventional Gitmoji, and Custom
  • Introduced configuration UI for specifying custom JSON and localization URLs
  • Modified data loading to use project-specific configurations with remote URL support

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/main/resources/messages/GitmojiBundle.properties Added English localization strings for new configuration options
src/main/resources/messages/GitmojiBundle_zh_CN.properties Added Chinese translations for new configuration options
src/main/resources/messages/GitmojiBundle_fr_FR.properties Added French translations for new configuration options
src/main/kotlin/com/github/patou/gitmoji/source/GitmojiSourceType.kt New sealed interface defining source types with URLs and localization support
src/main/kotlin/com/github/patou/gitmoji/source/GitmojiSourceTypeProvider.kt Provides appropriate source type based on project configuration
src/main/kotlin/com/github/patou/gitmoji/OptionItem.kt UI helper class for rendering dropdown options
src/main/kotlin/com/github/patou/gitmoji/Gitmojis.kt Modified to load gitmojis from configurable remote URLs
src/main/kotlin/com/github/patou/gitmoji/GitmojiStartupActivity.kt Updated to pass project context for configuration loading
src/main/kotlin/com/github/patou/gitmoji/GitmojiLocale.kt Modified to support localization from configurable remote URLs
src/main/kotlin/com/github/patou/gitmoji/GitmojiData.kt Added new configuration constants for source type and URLs
src/main/kotlin/com/github/patou/gitmoji/GitMojiConfig.kt Extended configuration UI with source type selection and URL inputs
custom_gitmojis.md New documentation explaining custom gitmoji configuration
README.md Updated with link to custom gitmoji documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 11 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@patou patou merged commit f488809 into patou:master Dec 10, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants