From 6efdcbb336f5807f93181e9803b0c5465e5df82a Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 18 Sep 2025 18:05:19 +0530 Subject: [PATCH 1/4] fix matomo settings --- apps/remix-ide/src/app/tabs/settings-tab.tsx | 1 + libs/remix-ui/settings/src/lib/remix-ui-settings.tsx | 4 ++++ libs/remix-ui/settings/src/lib/settingsReducer.ts | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/remix-ide/src/app/tabs/settings-tab.tsx b/apps/remix-ide/src/app/tabs/settings-tab.tsx index abf6995a9d8..993f74e4fd6 100644 --- a/apps/remix-ide/src/app/tabs/settings-tab.tsx +++ b/apps/remix-ide/src/app/tabs/settings-tab.tsx @@ -129,6 +129,7 @@ export default class SettingsTab extends ViewPlugin { // set timestamp to local storage to track when the user has given consent localStorage.setItem('matomo-analytics-consent', Date.now().toString()) this.useMatomoPerfAnalytics = isChecked + this.emit('matomoPerfAnalyticsChoiceUpdated', isChecked) if (!isChecked) { // revoke tracking consent for performance data _paq.push(['disableCookies']) diff --git a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx index 014985de496..8d0d5da831f 100644 --- a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx +++ b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx @@ -244,6 +244,10 @@ export const RemixUiSettings = (props: RemixUiSettingsProps) => { dispatch({ type: 'SET_VALUE', payload: { name: 'copilot/suggest/activate', value: isChecked } }) }) + props.plugin.on('settings', 'matomoPerfAnalyticsChoiceUpdated', (isChecked) => { + dispatch({ type: 'SET_VALUE', payload: { name: 'matomo-perf-analytics', value: isChecked } }) + }) + }, []) useEffect(() => { diff --git a/libs/remix-ui/settings/src/lib/settingsReducer.ts b/libs/remix-ui/settings/src/lib/settingsReducer.ts index c4b703f03e8..e17b706eab4 100644 --- a/libs/remix-ui/settings/src/lib/settingsReducer.ts +++ b/libs/remix-ui/settings/src/lib/settingsReducer.ts @@ -88,7 +88,7 @@ export const initialState: SettingsState = { isLoading: false }, 'matomo-analytics': { - value: config.get('settings/matomo-analytics') || false, + value: config.get('settings/matomo-analytics') || true, isLoading: false }, 'auto-completion': { From ea0235f8a78495eb46a37ff8cd7efc520a4be9ed Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 18 Sep 2025 18:20:42 +0530 Subject: [PATCH 2/4] remove lang selection --- apps/remix-ide/src/app/tabs/settings-tab.tsx | 3 --- libs/remix-ui/settings/src/lib/remix-ui-settings.tsx | 10 ---------- libs/remix-ui/settings/src/lib/select-dropdown.tsx | 10 ---------- libs/remix-ui/settings/src/lib/settingsReducer.ts | 5 ----- libs/remix-ui/settings/src/types/index.ts | 1 - 5 files changed, 29 deletions(-) diff --git a/apps/remix-ide/src/app/tabs/settings-tab.tsx b/apps/remix-ide/src/app/tabs/settings-tab.tsx index 993f74e4fd6..69a653b65db 100644 --- a/apps/remix-ide/src/app/tabs/settings-tab.tsx +++ b/apps/remix-ide/src/app/tabs/settings-tab.tsx @@ -33,7 +33,6 @@ export default class SettingsTab extends ViewPlugin { editor: any private _deps: { themeModule: any - localeModule: any } element: HTMLDivElement public useMatomoAnalytics: any @@ -48,7 +47,6 @@ export default class SettingsTab extends ViewPlugin { this.editor = editor this._deps = { themeModule: Registry.getInstance().get('themeModule').api, - localeModule: Registry.getInstance().get('localeModule').api } this.element = document.createElement('div') this.element.setAttribute('id', 'settingsTab') @@ -82,7 +80,6 @@ export default class SettingsTab extends ViewPlugin { useMatomoPerfAnalytics={state.useMatomoPerfAnalytics} useCopilot={state.useCopilot} themeModule={state._deps.themeModule} - localeModule={state._deps.localeModule} /> ) } diff --git a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx index 8d0d5da831f..294664289a4 100644 --- a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx +++ b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx @@ -6,7 +6,6 @@ import { EtherscanConfigDescription, GitHubCredentialsDescription, SindriCredent import { initialState, settingReducer } from './settingsReducer' import {Toaster} from '@remix-ui/toaster' // eslint-disable-line import { ThemeModule } from '@remix-ui/theme-module' -import { LocaleModule } from '@remix-ui/locale-module' import { ThemeContext, themes } from '@remix-ui/home-tab' import { FormattedMessage } from 'react-intl' import { Registry } from '@remix-project/remix-lib' @@ -23,7 +22,6 @@ export interface RemixUiSettingsProps { useMatomoPerfAnalytics: boolean useCopilot: boolean themeModule: ThemeModule - localeModule: LocaleModule } const _paq = (window._paq = window._paq || []) @@ -73,14 +71,6 @@ const settingsSections: SettingsSection[] = [ { title: 'Appearance', options: [{ - name: 'locale', - label: 'settings.locales', - type: 'select', - selectOptions: settingsConfig.locales.map((locale) => ({ - label: locale.name.toLocaleUpperCase() + '-' + locale.localeName, - value: locale.code - })) - }, { name: 'theme', label: 'settings.theme', type: 'select', diff --git a/libs/remix-ui/settings/src/lib/select-dropdown.tsx b/libs/remix-ui/settings/src/lib/select-dropdown.tsx index c7a12529068..da2979d9a90 100644 --- a/libs/remix-ui/settings/src/lib/select-dropdown.tsx +++ b/libs/remix-ui/settings/src/lib/select-dropdown.tsx @@ -26,16 +26,6 @@ const SelectDropdown = ({ value, options, name, dispatch }: SelectDropdownProps) } else { console.error('Theme not found: ', value) } - } else if (name === 'locale') { - const localeModule = Registry.getInstance().get('localeModule').api - const locale = localeModule.getLocales().find((locale) => locale.code === value) - - if (locale) { - localeModule.switchLocale(locale.code) - dispatch({ type: 'SET_VALUE', payload: { name: name, value: locale.localeName } }) - } else { - console.error('Locale not found: ', value) - } } else { dispatch({ type: 'SET_VALUE', payload: { name: name, value: value } }) } diff --git a/libs/remix-ui/settings/src/lib/settingsReducer.ts b/libs/remix-ui/settings/src/lib/settingsReducer.ts index e17b706eab4..35907d6d19a 100644 --- a/libs/remix-ui/settings/src/lib/settingsReducer.ts +++ b/libs/remix-ui/settings/src/lib/settingsReducer.ts @@ -4,7 +4,6 @@ import { SettingsActions, SettingsState } from '../types' const config = Registry.getInstance().get('config').api const settingsConfig = Registry.getInstance().get('settingsConfig').api const defaultTheme = config.get('settings/theme') ? settingsConfig.themes.find((theme) => theme.name.toLowerCase() === config.get('settings/theme').toLowerCase()) : settingsConfig.themes[0] -const defaultLocale = config.get('settings/locale') ? settingsConfig.locales.find((locale) => (locale.code === config.get('settings/locale')) || locale.localeName.toLowerCase() === config.get('settings/locale').toLowerCase()) : settingsConfig.locales.find((locale) => locale.code === 'en') const gistAccessToken = config.get('settings/gist-access-token') || '' const githubUserName = config.get('settings/github-user-name') || '' const githubEmail = config.get('settings/github-email') || '' @@ -115,10 +114,6 @@ export const initialState: SettingsState = { value: defaultTheme ? defaultTheme.name : "Dark", isLoading: false }, - 'locale': { - value: defaultLocale ? defaultLocale.localeName : "English", - isLoading: false - }, 'github-config': { value: githubConfig, isLoading: false diff --git a/libs/remix-ui/settings/src/types/index.ts b/libs/remix-ui/settings/src/types/index.ts index 9106fddd571..2b6896d1d10 100644 --- a/libs/remix-ui/settings/src/types/index.ts +++ b/libs/remix-ui/settings/src/types/index.ts @@ -94,7 +94,6 @@ export interface SettingsState { 'copilot/suggest/activate': ConfigState 'save-evm-state': ConfigState, 'theme': ConfigState, - 'locale': ConfigState, 'github-config': ConfigState, 'ipfs-config': ConfigState, 'swarm-config': ConfigState, From 9389b26684356db6400499a26ac58e2ad67650b9 Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 18 Sep 2025 18:26:26 +0530 Subject: [PATCH 3/4] RemixAI text --- apps/remix-ide/src/app/tabs/locales/en/settings.json | 10 +++++----- libs/remix-ai-core/src/agents/contractAgent.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/remix-ide/src/app/tabs/locales/en/settings.json b/apps/remix-ide/src/app/tabs/locales/en/settings.json index f473da1e0a1..ac9edcda3a8 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/settings.json +++ b/apps/remix-ide/src/app/tabs/locales/en/settings.json @@ -55,15 +55,15 @@ "settings.services": "Connected Services", "settings.generalSettingsDescription": "Manage code editor settings, UI theme, language and analytics permissions.", "settings.analyticsDescription": "Control how Remix uses AI and analytics to improve your experience.", - "settings.aiDescription": "The Remix AI Assistant enhances your coding experience with smart suggestions and automated insights. Manage how AI interacts with your code and data.", + "settings.aiDescription": "The RemixAI Assistant enhances your coding experience with smart suggestions and automated insights. Manage how RemixAI interacts with your code and data.", "settings.servicesDescription": "Configure the settings for connected services, including Github, IPFS, Swarm, Sindri and Etherscan.", "settings.matomoAnalyticsNoCookies": "Matomo Analytics (necessary, no cookies)", "settings.matomoAnalyticsNoCookiesDescription": "Help improve Remix with anonymous usage data.", "settings.matomoAnalyticsWithCookies": "Matomo Performance Analytics (with cookies)", "settings.matomoAnalyticsWithCookiesDescription": "Enable tracking with cookies for more detailed insights.", - "settings.aiCopilot": "AI Copilot", - "settings.aiCopilotDescription": "AI Copilot assists with code suggestions and improvements.", - "settings.aiPrivacyPolicy": "AI Privacy & Data Usage", + "settings.aiCopilot": "RemixAI Copilot", + "settings.aiCopilotDescription": "RemixAI Copilot assists with code suggestions and improvements.", + "settings.aiPrivacyPolicy": "RemixAI Privacy & Data Usage", "settings.viewPrivacyPolicy": "View Privacy Policy", - "settings.aiPrivacyPolicyDescription": "Understand how AI processes your data." + "settings.aiPrivacyPolicyDescription": "Understand how RemixAI processes your data." } diff --git a/libs/remix-ai-core/src/agents/contractAgent.ts b/libs/remix-ai-core/src/agents/contractAgent.ts index eb7ba3298e3..0d3d7c871df 100644 --- a/libs/remix-ai-core/src/agents/contractAgent.ts +++ b/libs/remix-ai-core/src/agents/contractAgent.ts @@ -3,7 +3,7 @@ import { workspaceAgent } from "./workspaceAgent"; import { CompilationResult } from "../types/types"; import { compilecontracts, compilationParams } from "../helpers/compile"; import { OllamaInferencer } from "../inferencers/local/ollamaInferencer" -const COMPILATION_WARNING_MESSAGE = '⚠️**Warning**: The compilation failed. Please check the compilation errors in the Solidity compiler plugin. Enter `/continue` or `/c` if you want Remix AI to try again until a compilable solution is generated?' +const COMPILATION_WARNING_MESSAGE = '⚠️**Warning**: The compilation failed. Please check the compilation errors in the Solidity compiler plugin. Enter `/continue` or `/c` if you want RemixAI to try again until a compilable solution is generated?' export class ContractAgent { plugin: any; From e8e0c1034eabf6a1643f1b6e32b84847a7349a15 Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 18 Sep 2025 18:56:54 +0530 Subject: [PATCH 4/4] remove locale e2e --- .../src/tests/generalSettings.test.ts | 32 ------------------- 1 file changed, 32 deletions(-) diff --git a/apps/remix-ide-e2e/src/tests/generalSettings.test.ts b/apps/remix-ide-e2e/src/tests/generalSettings.test.ts index cf2f06d337e..99c14475172 100644 --- a/apps/remix-ide-e2e/src/tests/generalSettings.test.ts +++ b/apps/remix-ide-e2e/src/tests/generalSettings.test.ts @@ -83,38 +83,6 @@ module.exports = { // .checkElementStyle(':root', '--danger', remixIdeThemes.light.danger) // }, - - - 'Should load zh locale ': function (browser) { - browser.waitForElementVisible('*[data-id="settings-sidebar-general"]') - .click('*[data-id="settings-sidebar-general"]') - .pause(100) - .scrollAndClick('*[data-id="settingsTabDropdownTogglelocale"]') - .waitForElementVisible('[data-id="custom-dropdown-items"]') - .waitForElementVisible('[data-id="settingsTabDropdownItemzh"]') - .click('[data-id="settingsTabDropdownItemzh"]') - .pause(2000) - .assert.containsText('[data-id="settings-sidebar-header"] h2', '设置') - .assert.containsText('*[data-id="listenNetworkCheckInput"]', '监听所有交易') - .assert.containsText('*[data-id="settingsTabgenerate-contract-metadataLabel"]', '生成合约元数据') - .assert.containsText('*[data-id="settingsTabauto-completionLabel"]', '在编辑器中启用代码自动补全') - .assert.containsText('*[data-id="settingsTabshow-gasLabel"]', '在编辑器中展示 gas 预算') - .assert.containsText('*[data-id="settingsTabdisplay-errorsLabel"]', '编辑代码时展示错误提示') - }, - - 'Should load en locale ': function (browser) { - browser.scrollAndClick('*[data-id="settingsTabDropdownTogglelocale"]') - .waitForElementVisible('[data-id="custom-dropdown-items"]') - .waitForElementVisible('[data-id="settingsTabDropdownItemen"]') - .click('[data-id="settingsTabDropdownItemen"]') - .pause(2000) - .assert.containsText('[data-id="settings-sidebar-header"] h2', 'Settings') - .assert.containsText('*[data-id="listenNetworkCheckInput"]', 'Listen on all transactions') - .assert.containsText('*[data-id="settingsTabgenerate-contract-metadataLabel"]', 'Generate contract metadata') - .assert.containsText('*[data-id="settingsTabauto-completionLabel"]', 'Enable code completion in editor') - .assert.containsText('*[data-id="settingsTabshow-gasLabel"]', 'Display gas estimates in editor') - .assert.containsText('*[data-id="settingsTabdisplay-errorsLabel"]', 'Display errors in editor while typing') - } } const remixIdeThemes = {