Skip to content

Hide Exolix swap feature#1241

Merged
thakel merged 1 commit intodevelopmentfrom
exolix-feature-flag
Jan 23, 2026
Merged

Hide Exolix swap feature#1241
thakel merged 1 commit intodevelopmentfrom
exolix-feature-flag

Conversation

@thakel
Copy link
Copy Markdown
Contributor

@thakel thakel commented Jan 21, 2026

Set feature flag to hidden until we're ready to release the feature

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @thakel, 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 focuses on controlling the visibility of the Exolix swap feature within the mobile wallet application. It introduces a mechanism to hide the 'Buy XTM' button from the user interface by default, ensuring that the feature remains dormant until explicitly enabled for release. This approach allows for better management of feature rollouts and prevents premature exposure of unfinished functionality.

Highlights

  • Feature Flag Implementation: Introduced a new feature flag, isFeatureSupported, within the Exolix service to control the visibility and availability of the Exolix swap functionality.
  • Conditional UI Rendering: Modified the Home.swift view to conditionally display the 'Buy XTM' button based on the state of the exolix.isFeatureSupported flag, ensuring the feature remains hidden until ready.
  • Project Version Update: Incremented the CURRENT_PROJECT_VERSION in the Xcode project file from 7 to 9.
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.

CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 7;
CURRENT_PROJECT_VERSION = 9;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Shouldn't it be automatic increment?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I didn't update this so it was done automatically. The CI will probably override it too

Copy link
Copy Markdown

@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 feature flag to hide the Exolix swap feature. The implementation is straightforward, with a new boolean property isFeatureSupported in the Exolix service and a conditional check in the UI to show or hide the 'Buy XTM' button. My review includes a suggestion to make the feature flag more flexible by using a compilation directive instead of a hardcoded value. This will make it easier to enable the feature for testing in debug builds while keeping it disabled for release builds.

var monitoredTransactions: Set<String> = []
var latestTransactions = [String: ExolixTransactionResponse]()

let isFeatureSupported = false
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

For better flexibility during development and testing, consider using a compilation directive to control this feature flag. Hardcoding it to false requires a code change every time you want to enable it for a debug or test build.

A better approach would be to use the DEBUG flag, which is automatically defined by Xcode for debug builds. This would keep the feature enabled for developers and testers, but disabled in release builds. You can implement this cleanly using an immediately-executed closure.

    let isFeatureSupported: Bool = {
        #if DEBUG
            return true
        #else
            return false
        #endif
    }()

@thakel thakel merged commit 92864e6 into development Jan 23, 2026
1 check passed
@thakel thakel deleted the exolix-feature-flag branch January 23, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants