Skip to content

Conversation

@HerrTopi
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Aug 13, 2025

PR Preview Action v1.8.0

🚀 View preview at
https://instructure.design/pr-preview/pr-2102/

Built to branch gh-pages at 2026-01-16 15:32 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@HerrTopi HerrTopi self-assigned this Aug 13, 2025
@HerrTopi HerrTopi force-pushed the v12 branch 2 times, most recently from 1f5fd86 to ca9bbbf Compare August 13, 2025 14:01
@CLAassistant
Copy link

CLAassistant commented Sep 23, 2025

CLA assistant check
All committers have signed the CLA.


function bootstrap() {
execSync(path.resolve('scripts/clean.js'), opts)

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.

Copilot Autofix

AI 2 months ago

To fix this vulnerability and avoid misinterpretation of a file path passed to the shell, the project should explicitly invoke the script using the Node.js interpreter and pass the path as an argument, rather than passing the resolved path directly as the shell command to execSync. The best practice is to use execFileSync("node", [path.resolve("scripts/clean.js")], opts) instead. This approach ensures that the file path is not interpreted by the shell, and special characters, spaces, or shell metacharacters in the path cannot alter command execution. The edit should be made only on line 68 in scripts/bootstrap.js, replacing the usage of execSync for executing the clean script.


Suggested changeset 1
scripts/bootstrap.js

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/scripts/bootstrap.js b/scripts/bootstrap.js
--- a/scripts/bootstrap.js
+++ b/scripts/bootstrap.js
@@ -65,7 +65,11 @@
 }
 
 function bootstrap() {
-  execSync(path.resolve('scripts/clean.js'), opts)
+  require('child_process').execFileSync(
+    'node',
+    [path.resolve('scripts/clean.js')],
+    opts
+  );
   buildProject()
 }
 
EOF
@@ -65,7 +65,11 @@
}

function bootstrap() {
execSync(path.resolve('scripts/clean.js'), opts)
require('child_process').execFileSync(
'node',
[path.resolve('scripts/clean.js')],
opts
);
buildProject()
}

Copilot is powered by AI and may make mistakes. Always verify output.
HerrTopi and others added 20 commits November 28, 2025 11:49
Migrates Text component from legacy theme.ts to new token-based theming system:

- Remove theme.ts file and use direct token references in styles
- Update color mappings to use new semantic tokens (baseColor, mutedColor, etc.)
- Add fontFamily to variant definitions from typography tokens
- Update theme variable references throughout styles.ts

BREAKING CHANGE: Removed 'alert' color prop value. Use 'primary' color instead.

Also improves documentation:
- Clarify variant usage and recommendations in README
- Add deprecation notes for size, weight, and lineHeight legacy values
- Update color examples to include inverse colors and remove alert
- Add JSDoc comments for deprecated prop values
- Improve code examples with clearer formatting

To test: Compare with Figma design

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Converted `NumberInput` from class-based to functional component
- It uses the theme from TextInput, they are the same in Figma
- The styling of the upper label/messages are not done, they are coming
 in `FormFieldLayout`

Tokens are also not fully used (they are used only in `TextInput`):

- `fontSizeSm`, `heightSm`, `paddingHorizontalSm`: This component has no
 small size
- `gapContent`: This is a gap between the text and elements rendered
 after it, `NumberInput` does not have such

To test:

- Check the examples in the docs, they should function exactly as before
- Compare its CSS to the ones in Figma

Completes INSTUI-4814
svc-instui and others added 30 commits January 13, 2026 15:59
…gs when a focusable element is rendered inside

It was using a :focus-within selector, but this was not a good solution when the TextInput contained
a focusable element.
The new solution only displays the component's focus ring if an input is focused, preventing double
focus
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.

10 participants