Skip to content

fix: material icons font file#8366

Merged
pushya22 merged 1 commit into
previewfrom
fix/material-font
Dec 17, 2025
Merged

fix: material icons font file#8366
pushya22 merged 1 commit into
previewfrom
fix/material-font

Conversation

@aaryan610

@aaryan610 aaryan610 commented Dec 17, 2025

Copy link
Copy Markdown
Member

Description

This PR fixes the bug where material icon font file is not being loaded.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)

Summary by CodeRabbit

  • Style

    • Enhanced the publish project modal with refined button styling, including updated button sizes and border treatments on the unpublished info container and link action elements.
  • Chores

    • Optimized Material Symbols Rounded font delivery by switching to self-hosted font files.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Dec 17, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

The changes migrate the Material Symbols Rounded font from an external package import to a local font-face definition, and apply styling updates to the publish-project modal component using updated design tokens (replacing bg-surface colors with bg-layer variants).

Changes

Cohort / File(s) Change Summary
Font delivery updates
packages/tailwind-config/variables.css, packages/tailwind-config/fonts/LICENSE.txt
Removes the @fontsource/material-symbols-rounded/400.css import and replaces it with a custom @font-face declaration referencing a local material-symbols-rounded-v168-latin-regular.woff2 file. Adds a license file for the font asset.
Modal UI styling
apps/web/core/components/project/publish-project/modal.tsx
Updates design token classes: replaces bg-surface-2 with bg-layer-3 and bg-layer-3-hover across interactive elements; changes unpublished info container from bg-layer-1 to border border-strong; adds size="lg" to the Unpublish button.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify the local font file path and format are correct and accessible in packages/tailwind-config/fonts/
  • Confirm the @font-face declaration is syntactically valid and the woff2 file exists with the expected filename
  • Validate that the Material Symbols Rounded font renders correctly after the migration from the fontsource package
  • Review modal styling changes to ensure design token replacements align with the new design system

Poem

🐰 From fontsource to local we hop,
Our symbols rounded, our styles on top,
Layer by layer, the colors align,
A font file served with each perfect line! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: material icons font file' directly matches the main change in the changeset—replacing the Material Symbols Rounded font import with an explicit font-face declaration to fix a font loading bug.
Description check ✅ Passed The description includes a brief explanation and correctly identifies the change type as a bug fix, but lacks Test Scenarios, Screenshots, and References sections recommended by the template.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/material-font

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8b0a816 and 8341fdc.

⛔ Files ignored due to path filters (1)
  • packages/tailwind-config/fonts/material-symbols-rounded-v168-latin-regular.woff2 is excluded by !**/*.woff2
📒 Files selected for processing (3)
  • apps/web/core/components/project/publish-project/modal.tsx (3 hunks)
  • packages/tailwind-config/fonts/LICENSE.txt (1 hunks)
  • packages/tailwind-config/variables.css (1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{js,jsx,ts,tsx,json,css}

📄 CodeRabbit inference engine (AGENTS.md)

Use Prettier with Tailwind plugin for code formatting, run pnpm fix:format

Files:

  • packages/tailwind-config/variables.css
  • apps/web/core/components/project/publish-project/modal.tsx
**/*.{ts,tsx,mts,cts}

📄 CodeRabbit inference engine (.github/instructions/typescript.instructions.md)

**/*.{ts,tsx,mts,cts}: Use const type parameters for more precise literal inference in TypeScript 5.0+
Use the satisfies operator to validate types without widening them
Leverage inferred type predicates to reduce the need for explicit is return types in filter/check functions
Use NoInfer<T> utility to block inference for specific type arguments when they should be determined by other arguments
Utilize narrowing in switch(true) blocks for control flow analysis (TypeScript 5.3+)
Rely on narrowing from direct boolean comparisons for type guards
Trust preserved narrowing in closures when variables aren't modified after the check (TypeScript 5.4+)
Use constant indices to narrow object/array properties (TypeScript 5.5+)
Use standard ECMAScript decorators (Stage 3) instead of legacy experimentalDecorators
Use using declarations for explicit resource management with Disposable pattern instead of manual cleanup (TypeScript 5.2+)
Use with { type: "json" } for import attributes; avoid deprecated assert syntax (TypeScript 5.3/5.8+)
Use import type explicitly when importing types to ensure they are erased during compilation, respecting verbatimModuleSyntax flag
Use .ts, .mts, .cts extensions in import type statements (TypeScript 5.2+)
Use import type { Type } from "mod" with { "resolution-mode": "import" } for specific module resolution contexts (TypeScript 5.3+)
Use new iterator methods (map, filter, etc.) if targeting modern environments (TypeScript 5.6+)
Utilize new Set methods like union, intersection, etc., when available (TypeScript 5.5+)
Use Object.groupBy / Map.groupBy standard methods for grouping instead of external libraries (TypeScript 5.4+)
Use Promise.withResolvers() for creating promises with exposed resolve/reject functions (TypeScript 5.7+)
Use copying array methods (toSorted, toSpliced, with) for immutable array operations (TypeScript 5.2+)
Avoid accessing instance fields via super in classes (TypeScript 5....

Files:

  • apps/web/core/components/project/publish-project/modal.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Enable TypeScript strict mode and ensure all files are fully typed

Files:

  • apps/web/core/components/project/publish-project/modal.tsx
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{js,jsx,ts,tsx}: Use ESLint with shared config across packages, adhering to max warnings limits per package
Use camelCase for variable and function names, PascalCase for components and types
Use try-catch with proper error types and log errors appropriately

Files:

  • apps/web/core/components/project/publish-project/modal.tsx
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use `bg-surface-1`, `bg-surface-2`, or `bg-surface-3` for top-level containers that sit directly on the canvas, such as main content areas, page sections, or primary containers
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use semantic border colors: `border-subtle` for subtle borders and dividers, `border-subtle-1` for slightly more visible borders, `border-strong` for strong emphasis borders, and `border-strong-1` for very strong borders

Applied to files:

  • packages/tailwind-config/variables.css
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use semantic text colors that match the visual hierarchy: `text-primary` for main text and headings, `text-secondary` for descriptions, `text-tertiary` for labels and metadata, and `text-placeholder` for placeholder text and hints

Applied to files:

  • packages/tailwind-config/variables.css
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use the rare exception to go one level above for visual separation only in interactive form elements (inputs, buttons, switches) within modals - for example, a modal with `bg-surface-1` can use `bg-layer-2` for form inputs to achieve visual distinction

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Sidebar menu items should use transparent backgrounds with hover states like `hover:bg-layer-1-hover` rather than base layer backgrounds, maintaining visual lightness while providing hover feedback

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use `-active` state variants (e.g., `bg-layer-1-active`) when an element is in a pressed or active state

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Do not use hover state classes (e.g., `bg-layer-1-hover`) as base backgrounds - hover states should only be applied with the `hover:` prefix alongside the base background class

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Never use `bg-layer-2` or higher for content boxes and cards - always use the matching layer number; the exception for going one level above applies only to interactive form elements

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
📚 Learning: 2025-12-17T10:58:59.581Z
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use `-selected` state variants (e.g., `bg-layer-1-selected`) only when there is actual selection logic implemented, or use data attributes like `data-[selected]:bg-layer-1-selected`

Applied to files:

  • apps/web/core/components/project/publish-project/modal.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Agent
  • GitHub Check: CodeQL analysis (javascript-typescript)
  • GitHub Check: Build packages
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (5)
apps/web/core/components/project/publish-project/modal.tsx (3)

180-180: LGTM!

The addition of size="lg" provides consistent sizing with other buttons in the modal.


201-201: LGTM!

Replacing the background with border border-strong provides cleaner visual separation for the published link container.


213-221: Change button backgrounds from bg-layer-3 to bg-layer-2.

The modal uses bg-surface-1, and according to the design system, interactive form elements within modals should use bg-layer-2 (one level above) for visual distinction. Using bg-layer-3 goes too high in the hierarchy.

Lines 213 and 221: Replace bg-layer-3 hover:bg-layer-3-hover with bg-layer-2 hover:bg-layer-2-hover.

⛔ Skipped due to learnings
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Never use `bg-layer-2` or higher for content boxes and cards - always use the matching layer number; the exception for going one level above applies only to interactive form elements
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use the rare exception to go one level above for visual separation only in interactive form elements (inputs, buttons, switches) within modals - for example, a modal with `bg-surface-1` can use `bg-layer-2` for form inputs to achieve visual distinction
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Sidebar menu items should use transparent backgrounds with hover states like `hover:bg-layer-1-hover` rather than base layer backgrounds, maintaining visual lightness while providing hover feedback
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use `bg-layer-1`, `bg-layer-2`, and `bg-layer-3` for nested elements within a surface to create depth, with layer-1 being the closest to the surface, layer-2 on top of layer-1, and layer-3 on top of layer-2
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Always pair hover states with matching base backgrounds: use `hover:bg-layer-X-hover` only with `bg-layer-X`, use `hover:bg-surface-X-hover` only with `bg-surface-X`, never use mismatched combinations like `bg-layer-1 hover:bg-layer-2-hover`
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Do not use hover state classes (e.g., `bg-layer-1-hover`) as base backgrounds - hover states should only be applied with the `hover:` prefix alongside the base background class
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Match layers to their parent surface: use `bg-layer-1` within `bg-surface-1`, use `bg-layer-2` within `bg-surface-2`, and use `bg-layer-3` within `bg-surface-3`
Learnt from: CR
Repo: makeplane/plane PR: 0
File: packages/tailwind-config/AGENTS.md:0-0
Timestamp: 2025-12-17T10:58:59.581Z
Learning: Applies to packages/tailwind-config/**/*.{ts,tsx} : Use `bg-surface-1`, `bg-surface-2`, or `bg-surface-3` for top-level containers that sit directly on the canvas, such as main content areas, page sections, or primary containers
packages/tailwind-config/variables.css (1)

1154-1161: Font file verification complete — no issues found.

The @font-face declaration correctly migrates from an external package import to a local font file. The font file exists at the specified path (277KB), the relative path is correct, and font-display: swap is appropriate for performance. CSS formatting follows best practices.

packages/tailwind-config/fonts/LICENSE.txt (1)

1-1: Verify the license file format against Material Symbols official requirements.

The file contains only a copyright notice. Both Material Symbols license files in this repository (packages/tailwind-config/fonts/LICENSE.txt and packages/propel/src/styles/fonts/Material-Symbols-Rounded/LICENSE) follow the same abbreviated format. However, confirm whether the complete Material Symbols license text should be included. Note: The project root license is GNU AGPL 3.0, not Apache 2.0.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Biome (2.1.2)
packages/tailwind-config/variables.css

The --json option is unstable/experimental and its output might change between patches/minor releases.
{"summary":{"changed":0,"unchanged":1,"matches":0,"duration":{"secs":0,"nanos":93666116},"scannerDuration":{"secs":0,"nanos":7667767},"errors":1750,"warnings":0,"skipped":0,"suggestedFixesSkipped":0,"diagnosticsNotPrinted":0},"diagnostics":[{"category":"parse","severity":"error","description":"expected , but instead found *","message":[{"elements":[],"content":"expected , but instead found *"}],"advices":{"advices":[{"log":["info",[{"elements":[],"content":"Remove *"}]]}]},"verboseAdvices":{"advices":[]},"location":{"path":{"file":"packages/tailwind-config/variables.css"},"span":[847,848],"sourceCode":"@import "@fontsource/inter/200.css";\n@import "@fontsource/inter/300.css";\n@import "@fontsource/inter/400.css";\n@import "@fontsource/inter/500.css";\n@import "@fontsource/inter/600.css";\n@import "@fontsource/inter/700.css";\n@import "@fontsource/inter/800.css";\

... [truncated 99999690 characters] ...

olor-layer-transparent-hover: var(--color-alpha-white-100);\n --background-color-layer-transparent-active: var(--color-alpha-white-200);\n --background-color-layer-transpaBiome encountered an unexpected error

This is a bug in Biome, not an error in your code, and we would appreciate it if you could report it to https://github.com/biomejs/biome/issues/ along with the following information to help us fixing the issue.

When opening the issue, please provide a minimal reproduction, or identify and share the file/code that triggers it. Without a way to reproduce the error, the error can't be fixed:

Source Location: crates/biome_console/src/lib.rs:151:14
Thread Name: main
Message: called Result::unwrap() on an Err value: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 fixes the Material Icons font loading issue by replacing the npm package import with a local font file. However, the PR also includes unrelated UI styling changes to the publish project modal that should ideally be separated.

Key Changes

  • Replaces @fontsource/material-symbols-rounded npm package import with a local @font-face declaration
  • Adds Material Symbols Rounded font file (woff2 format) and license to the local fonts directory
  • Updates button styling in the publish project modal (unrelated to font fix)

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
packages/tailwind-config/variables.css Removes npm package import and adds @font-face declaration for Material Symbols Rounded font
packages/tailwind-config/fonts/material-symbols-rounded-v168-latin-regular.woff2 Adds local woff2 font file for Material Symbols Rounded
packages/tailwind-config/fonts/LICENSE.txt Adds copyright notice for Material Symbols font
apps/web/core/components/project/publish-project/modal.tsx Updates button size and background color classes (unrelated to font fix)

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

@@ -0,0 +1 @@
MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf: Copyright 2022, 2022 Google LLC. All Rights Reserved.

Copilot AI Dec 17, 2025

Copy link

Choose a reason for hiding this comment

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

The copyright notice appears to have a duplicate year ("Copyright 2022, 2022"). This should likely be either a single year or a range.

Copilot uses AI. Check for mistakes.
@pushya22 pushya22 merged commit b906d42 into preview Dec 17, 2025
17 of 18 checks passed
@pushya22 pushya22 deleted the fix/material-font branch December 17, 2025 15:00
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.

4 participants