Skip to content

Commit d220600

Browse files
authored
Merge branch 'master' into removeWeb3
2 parents a4e98ee + 192aafd commit d220600

File tree

112 files changed

+5614
-866
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+5614
-866
lines changed

.circleci/config.yml

Lines changed: 465 additions & 238 deletions
Large diffs are not rendered by default.

.github/workflows/pr-reminder.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: PRs reviews reminder
33
on:
44
schedule:
55
- cron: "0 8 * * 1-5"
6-
- cron: '50 8 * * 1-5'
6+
- cron: '52 9 * * 1-5'
77
workflow_dispatch:
88

99
jobs:
@@ -19,7 +19,7 @@ jobs:
1919
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
2020
freeze-date: '2025-07-21T18:00:00Z'
2121
- name: Reminder for standup
22-
if: github.event.schedule == '50 8 * * 1-5'
22+
if: github.event.schedule == '52 9 * * 1-5'
2323
uses: Aniket-Engg/pr-reviews-reminder-action@master
2424
env:
2525
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v20
1+
v20.19.0

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@ yarn run serve:production
8686
```
8787
Production build will be served by default to `http://localhost:8080/` or `http://127.0.0.1:8080/`
8888

89+
## Nx Cloud caching
90+
91+
This repo uses Nx Cloud to speed up builds and keep CI deterministic via remote caching.
92+
93+
- Configuration: `nx.json` uses the Nx Cloud runner and reads the token from the `NX_CLOUD_ACCESS_TOKEN` environment variable.
94+
- CI: CircleCI jobs automatically use `--cloud` when the token is present; for forked PRs (no secrets), they fall back to local-only caching. Build logs are stored under `logs/nx-build.log`.
95+
- Verifying locally: run the same target twice; the second run should print “Nx read the output from the cache”. Example: `nx run remix-ide:build` and run it again.
96+
- Insights: View cache analytics and run details at https://nx.app (links appear in Nx output when the token is configured).
97+
8998
## Docker:
9099

91100
Prerequisites:

apps/contract-verification/webpack.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ module.exports = composePlugins(withNx(), (config) => {
4343
// add public path
4444
config.output.publicPath = '/'
4545

46-
// set filename
47-
config.output.filename = `[name].plugin-contract-verification.${versionData.timestamp}.js`
48-
config.output.chunkFilename = `[name].plugin-contract-verification.${versionData.timestamp}.js`
46+
// set deterministic filenames for better caching
47+
config.output.filename = `[name].plugin-contract-verification.[contenthash].js`
48+
config.output.chunkFilename = `[name].plugin-contract-verification.[contenthash].js`
4949

5050
// add copy & provide plugin
5151
config.plugins.push(

apps/quick-dapp/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"executor": "@nrwl/webpack:webpack",
1010
"outputs": ["{options.outputPath}"],
1111
"defaultConfiguration": "development",
12-
"dependsOn": ["install"],
1312
"options": {
1413
"compiler": "babel",
1514
"outputPath": "dist/apps/quick-dapp",
@@ -40,6 +39,7 @@
4039
},
4140
"install": {
4241
"executor": "nx:run-commands",
42+
"cache": false,
4343
"options": {
4444
"commands": [
4545
"cd apps/quick-dapp && yarn"

apps/remix-dapp/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"executor": "@nrwl/webpack:webpack",
1010
"outputs": ["{options.outputPath}"],
1111
"defaultConfiguration": "development",
12-
"dependsOn": ["install"],
1312
"options": {
1413
"compiler": "babel",
1514
"outputPath": "dist/apps/remix-dapp",
@@ -39,6 +38,7 @@
3938
},
4039
"install": {
4140
"executor": "nx:run-commands",
41+
"cache": false,
4242
"options": {
4343
"commands": [
4444
"cd apps/remix-dapp && yarn"

apps/remix-ide-e2e/src/commands/hideToolTips.ts

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,49 @@ import { NightwatchBrowser } from 'nightwatch'
22
import EventEmitter from 'events'
33

44
class HideToolTips extends EventEmitter {
5-
command(this: NightwatchBrowser) {
6-
console.log('Hiding tooltips...')
5+
command(this: NightwatchBrowser): NightwatchBrowser {
6+
const browser = this.api
77
browser
8-
.perform((done) => {
9-
browser.execute(function () {
10-
// hide tooltips
11-
function addStyle(styleString) {
12-
const style = document.createElement('style')
13-
style.textContent = styleString
14-
document.head.append(style)
8+
.execute(function () {
9+
// Set global flag to disable all CustomTooltip components
10+
(window as any).REMIX_DISABLE_TOOLTIPS = true
11+
12+
// Dispatch custom event to notify all CustomTooltip components
13+
const event = new CustomEvent('remix-tooltip-toggle', {
14+
detail: { disabled: true }
15+
})
16+
window.dispatchEvent(event)
17+
18+
// Add CSS as backup for any non-CustomTooltip tooltips
19+
const style = document.createElement('style')
20+
style.id = 'nightwatch-disable-tooltips'
21+
style.textContent = `
22+
.tooltip,
23+
.popover,
24+
[role="tooltip"],
25+
[id*="Tooltip"],
26+
[id*="tooltip"] {
27+
display: none !important;
28+
visibility: hidden !important;
29+
opacity: 0 !important;
30+
pointer-events: none !important;
1531
}
16-
addStyle(`
17-
.popover {
18-
display:none !important;
19-
}
20-
#scamDetails {
21-
display:none !important;
22-
}
23-
`)
24-
}, [], done())
25-
})
26-
.perform((done) => {
27-
done()
32+
`
33+
const existing = document.getElementById('nightwatch-disable-tooltips')
34+
if (existing) existing.remove()
35+
document.head.appendChild(style)
36+
37+
// Remove any existing tooltips from DOM
38+
document.querySelectorAll('.tooltip, .popover, [role="tooltip"]').forEach(el => {
39+
try { el.remove() } catch (e) {}
40+
})
41+
}, [])
42+
.pause(100)
43+
.perform(() => {
2844
this.emit('complete')
2945
})
46+
47+
return browser
3048
}
3149
}
3250

apps/remix-ide-e2e/src/tests/staticAnalysis.test.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ module.exports = {
3939
.click('*[data-id="treeViewLitreeViewItemcontracts/2_Owner.sol"]')
4040
.clickLaunchIcon('solidity')
4141
.click('*[id="compileBtn"]')
42+
.saveScreenshot('./reports/screenshots/compile2_Owner.png')
4243
.pause(10000)
4344
.clickLaunchIcon('solidityStaticAnalysis')
4445
.useXpath()
@@ -57,10 +58,12 @@ module.exports = {
5758
.pause(1000)
5859
.waitForElementVisible('span#ssaRemixtab')
5960
.click('span#ssaRemixtab')
60-
.assert.containsText('span#ssaRemixtab > *[data-id="RemixStaticAnalysisErrorCount', '388')
61+
.waitForElementContainsText('span#ssaRemixtab > *[data-id="RemixStaticAnalysisErrorCount', '384')
62+
6163
.click('label[id="headingshowLibWarnings"]')
6264
.pause(1000)
63-
.assert.containsText('span#ssaRemixtab > *[data-id="RemixStaticAnalysisErrorCount', '3')
65+
.waitForElementContainsText('span#ssaRemixtab > *[data-id="RemixStaticAnalysisErrorCount', '3')
66+
6467
.end()
6568
}
6669
}

apps/remix-ide/.travis.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)