Rebuild portal and Angular 20 workspace support#297
Merged
siarheihuzarevich merged 12 commits intomainfrom Apr 22, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR vendors and modernizes the portal stack for Angular 20.x while rebuilding the home/services experience and adding SSR-backed stats/contributors + refreshed SEO/crawler artifacts.
Changes:
- Vendors
@foblex/m-renderinto the repo, adds analytics (gtag + cookie consent), and ships shared SCSS assets for docs/portal UI. - Refactors the portal app shell/routing (new
App, new home/services pages) and adds server-side bootstrap/config that hydrates stats + contributors via TransferState. - Updates
f-flowdeclarables for Angular 20 module-compat (standalone: falsewhere needed), adds an ESLint override, and adjusts virtualization rendering.
Reviewed changes
Copilot reviewed 245 out of 544 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| libs/m-render/src/lib/common/services/popover.service.ts | Adds a signal-based popover message service |
| libs/m-render/src/lib/common/services/index.ts | Exposes service barrel exports (incl. theme service) |
| libs/m-render/src/lib/common/index.ts | Adds common barrel exports |
| libs/m-render/src/lib/common/domain/providers.ts | Adds HEADER_CONFIGURATION_PROVIDER token + store interface |
| libs/m-render/src/lib/common/domain/index.ts | Adds domain barrel exports |
| libs/m-render/src/lib/common/domain/i-link.ts | Adds ILink type |
| libs/m-render/src/lib/common/domain/configuration-providers/provide-title.ts | Adds title configuration interface |
| libs/m-render/src/lib/common/domain/configuration-providers/provide-logo.ts | Adds logo configuration interface |
| libs/m-render/src/lib/common/domain/configuration-providers/provide-language.ts | Adds language configuration interface |
| libs/m-render/src/lib/common/domain/configuration-providers/provide-header.ts | Adds header configuration interfaces |
| libs/m-render/src/lib/common/domain/configuration-providers/index.ts | Adds configuration-providers barrel |
| libs/m-render/src/lib/analytics/provide-g-tag.ts | Adds provider factory + config token for gtag |
| libs/m-render/src/lib/analytics/index.ts | Exports analytics entrypoints |
| libs/m-render/src/lib/analytics/g-tag.service.ts | Adds gtag loader/service with router pageview support |
| libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.ts | Adds cookie consent popup component |
| libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.scss | Adds cookie consent popup styles |
| libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.html | Adds cookie consent popup template |
| libs/m-render/src/index.ts | Adds library root barrel exports |
| libs/m-render/src/assets/styles/styles.scss | Adds m-render base styles entrypoint |
| libs/m-render/src/assets/styles/_table.scss | Adds table styles |
| libs/m-render/src/assets/styles/_preview-group.scss | Adds preview-group styles |
| libs/m-render/src/assets/styles/_link.scss | Adds link styles |
| libs/m-render/src/assets/styles/_fonts.scss | Adds Inter font-face declarations |
| libs/m-render/src/assets/styles/_doc-text.scss | Adds markdown/doc typography styles |
| libs/m-render/src/assets/styles/_code-highlight.scss | Adds syntax highlighting token styles |
| libs/m-render/src/assets/styles/_code-group.scss | Adds code-group styles |
| libs/m-render/src/assets/styles/_button.scss | Adds shared button styling |
| libs/m-render/src/assets/styles/_badge.scss | Adds badge styling |
| libs/m-render/src/assets/styles/_alert.scss | Adds alert block styling |
| libs/m-render/project.json | Adds Nx project configuration for m-render |
| libs/m-render/package.json | Defines m-render package metadata + peer deps |
| libs/m-render/ng-package.json | Configures ng-packagr packaging + assets |
| libs/m-render/jest.config.ts | Adds Jest config for m-render |
| libs/m-render/eslint.config.mjs | Adds ESLint config for m-render package |
| libs/m-render/README.md | Adds m-render README content |
| libs/m-render/LICENSE | Adds MIT license + attribution |
| libs/f-flow/src/f-virtual/f-virtual-for.ts | Reworks progressive render loop; removes unused trackBy input |
| libs/f-flow/src/f-node/f-rotate-handle/f-rotate-handle.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-node/f-resize-handle/f-resize-handle.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-node/f-node.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-node/f-group.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-node/f-drag-handle.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-line-alignment/f-line-alignment.component.ts | Marks component as standalone: false |
| libs/f-flow/src/f-draggable/f-draggable.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-draggable/f-drag-blocker.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-connectors/f-node-output/f-node-output.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-connectors/f-node-outlet/f-node-outlet.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-connectors/f-node-input/f-node-input.directive.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection/f-connection/f-connection.component.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection-v2/components/connection-selection/f-connection-selection.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection-v2/components/connection-path/f-connection-path.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection-v2/components/connection-marker/f-connection-marker.ts | Marks directive as standalone: false |
| libs/f-flow/src/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.ts | Marks component as standalone: false |
| libs/f-flow/src/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.ts | Marks component as standalone: false |
| libs/f-examples/nodes/stress-test/example.ts | Removes Material imports + removes unused trackCell |
| libs/f-examples/nodes/stress-test/example.html | Drops trackBy trackCell usage from *fVirtualFor |
| libs/f-examples/external-apps/ai-low-code-platform/project.json | Fixes project root/sourceRoot + lint glob paths |
| libs/f-examples/external-apps/ai-low-code-platform/ai-low-code-platform.ts | Removes unused FFlowModule import from standalone component |
| libs/f-examples/extensions/minimap-example/example.ts | Removes unused MatIcon import |
| libs/f-examples/connections/connection-content/example.ts | Removes unused Angular Material imports |
| eslint.config.js | Disables prefer-standalone for module-compatible f-flow subset |
| apps/f-flow-portal/tsconfig.app.json | Updates server entry path |
| apps/f-flow-portal/src/server/stats/index.ts | Exports server stats fetcher |
| apps/f-flow-portal/src/server/main.server.ts | Adds server bootstrap entry |
| apps/f-flow-portal/src/server/contributors/index.ts | Exports server contributors fetcher |
| apps/f-flow-portal/src/server/app.config.server.ts | Adds SSR config + app initializer hydration for stats/contributors |
| apps/f-flow-portal/src/main.ts | Boots App instead of AppComponent |
| apps/f-flow-portal/src/main.server.ts | Removes old server bootstrap |
| apps/f-flow-portal/src/app/showcase.config.ts | Removes old showcase config (moved to app/config) |
| apps/f-flow-portal/src/app/shared/styles/_section.scss | Adds shared section/card/link mixins for portal |
| apps/f-flow-portal/src/app/shared/models/index.ts | Adds shared model barrel |
| apps/f-flow-portal/src/app/shared/models/footer.ts | Adds footer link/column models |
| apps/f-flow-portal/src/app/shared/index.ts | Adds shared barrel |
| apps/f-flow-portal/src/app/shared/components/section-head/section-head.ts | Adds reusable section heading component |
| apps/f-flow-portal/src/app/shared/components/section-head/section-head.scss | Styles section heading component |
| apps/f-flow-portal/src/app/shared/components/section-head/section-head.html | Template for section heading component |
| apps/f-flow-portal/src/app/shared/components/section-head/index.ts | Barrel export for section-head |
| apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.ts | Adds portal header component |
| apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.scss | Styles portal header component |
| apps/f-flow-portal/src/app/shared/components/portal-header/portal-header.html | Template for portal header component |
| apps/f-flow-portal/src/app/shared/components/portal-header/index.ts | Barrel export for portal-header |
| apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.ts | Adds portal footer component |
| apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.scss | Styles portal footer component |
| apps/f-flow-portal/src/app/shared/components/portal-footer/portal-footer.html | Template for portal footer component |
| apps/f-flow-portal/src/app/shared/components/portal-footer/index.ts | Barrel export for portal-footer |
| apps/f-flow-portal/src/app/shared/components/index.ts | Adds shared components barrel |
| apps/f-flow-portal/src/app/pages/services/services.scss | Adds services page grid + anchor scrolling layout |
| apps/f-flow-portal/src/app/pages/services/services.html | Adds services page composition + cookie popup defer |
| apps/f-flow-portal/src/app/pages/services/sections/why/why.ts | Adds services “why” section |
| apps/f-flow-portal/src/app/pages/services/sections/why/why.scss | Styles services “why” section |
| apps/f-flow-portal/src/app/pages/services/sections/why/why.html | Template for services “why” section |
| apps/f-flow-portal/src/app/pages/services/sections/why/index.ts | Barrel export for services “why” |
| apps/f-flow-portal/src/app/pages/services/sections/tiers/tiers.ts | Adds services tiers section |
| apps/f-flow-portal/src/app/pages/services/sections/tiers/tiers.html | Template for tiers section |
| apps/f-flow-portal/src/app/pages/services/sections/tiers/index.ts | Barrel export for tiers |
| apps/f-flow-portal/src/app/pages/services/sections/team/team.ts | Adds services team section |
| apps/f-flow-portal/src/app/pages/services/sections/team/team.scss | Styles services team section |
| apps/f-flow-portal/src/app/pages/services/sections/team/team.html | Template for services team section |
| apps/f-flow-portal/src/app/pages/services/sections/team/index.ts | Barrel export for services team |
| apps/f-flow-portal/src/app/pages/services/sections/steps/steps.ts | Adds services steps section |
| apps/f-flow-portal/src/app/pages/services/sections/steps/steps.scss | Styles services steps section |
| apps/f-flow-portal/src/app/pages/services/sections/steps/steps.html | Template for services steps section |
| apps/f-flow-portal/src/app/pages/services/sections/steps/index.ts | Barrel export for services steps |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/services-flow.scss | Styles services background flow surface |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/services-flow.html | Adds deferred render for services flow canvas |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/services-flow-configuration.ts | Adds services flow configuration model |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/service-node.ts | Adds service node model |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/models/service-connection.ts | Adds service connection model |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/mock/mock.ts | Adds services flow mock configuration |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/index.ts | Barrel export for services flow |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/enums/service-node-type.ts | Adds node type enum |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/enums/service-connection-style.ts | Adds connection style enum |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.ts | Adds wrapper node component |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.scss | Styles wrapper node host |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/service-wrapper-node.html | Wrapper node template |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/index.ts | Barrel export for wrapper node |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.ts | Adds step node component |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.scss | Styles step node |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/service-step-node.html | Step node template |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/step-node/index.ts | Barrel export for step node |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/index.ts | Barrel export for wrapper node components |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/service-build-node.ts | Adds build node component |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/service-build-node.html | Build node template |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/wrapper-node/components/build-node/index.ts | Barrel export for build node |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/index.ts | Barrel export for services-flow components |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/service-node-connector.ts | Adds visual connector component |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/service-node-connector.scss | Styles connector component |
| apps/f-flow-portal/src/app/pages/services/sections/services-flow/components/connector/index.ts | Barrel export for connector |
| apps/f-flow-portal/src/app/pages/services/sections/index.ts | Barrel export for services sections |
| apps/f-flow-portal/src/app/pages/services/sections/hero/index.ts | Barrel export for services hero |
| apps/f-flow-portal/src/app/pages/services/sections/hero/hero.ts | Adds services hero section using live stats |
| apps/f-flow-portal/src/app/pages/services/sections/hero/hero.html | Template for services hero section |
| apps/f-flow-portal/src/app/pages/services/sections/final/index.ts | Barrel export for services final CTA |
| apps/f-flow-portal/src/app/pages/services/sections/final/final.ts | Adds services final section |
| apps/f-flow-portal/src/app/pages/services/sections/final/final.scss | Styles services final section |
| apps/f-flow-portal/src/app/pages/services/sections/final/final.html | Template for services final section |
| apps/f-flow-portal/src/app/pages/services/sections/faq/index.ts | Barrel export for FAQ section |
| apps/f-flow-portal/src/app/pages/services/sections/faq/faq.ts | Adds FAQ section behavior |
| apps/f-flow-portal/src/app/pages/services/sections/faq/faq.scss | Styles FAQ section |
| apps/f-flow-portal/src/app/pages/services/sections/faq/faq.html | FAQ template |
| apps/f-flow-portal/src/app/pages/services/sections/cases/index.ts | Barrel export for cases section |
| apps/f-flow-portal/src/app/pages/services/sections/cases/cases.ts | Adds services cases section (theme-aware showcase cards) |
| apps/f-flow-portal/src/app/pages/services/sections/cases/cases.scss | Styles cases section |
| apps/f-flow-portal/src/app/pages/services/sections/cases/cases.html | Cases template |
| apps/f-flow-portal/src/app/pages/not-found/not-found.ts | Adds new not-found page with centralized SEO service |
| apps/f-flow-portal/src/app/pages/not-found/not-found.scss | Removes trailing whitespace |
| apps/f-flow-portal/src/app/pages/not-found/not-found.html | Renames “Blog” link label to “Articles” |
| apps/f-flow-portal/src/app/pages/home/sections/why/why.ts | Adds home “why” section |
| apps/f-flow-portal/src/app/pages/home/sections/why/why.scss | Styles home “why” section |
| apps/f-flow-portal/src/app/pages/home/sections/why/why.html | Home “why” template |
| apps/f-flow-portal/src/app/pages/home/sections/why/index.ts | Barrel export for home “why” |
| apps/f-flow-portal/src/app/pages/home/sections/team/team.ts | Adds home team + contributors section |
| apps/f-flow-portal/src/app/pages/home/sections/team/team.html | Home team template |
| apps/f-flow-portal/src/app/pages/home/sections/team/index.ts | Barrel export for home team |
| apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.ts | Adds home showcase section |
| apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.scss | Styles home showcase section |
| apps/f-flow-portal/src/app/pages/home/sections/showcase/showcase.html | Home showcase template |
| apps/f-flow-portal/src/app/pages/home/sections/showcase/index.ts | Barrel export for home showcase |
| apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.ts | Adds home ref-apps section |
| apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.scss | Styles ref-apps section |
| apps/f-flow-portal/src/app/pages/home/sections/ref-apps/ref-apps.html | Ref-apps template |
| apps/f-flow-portal/src/app/pages/home/sections/ref-apps/index.ts | Barrel export for ref-apps |
| apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.ts | Adds structured “project facts” content |
| apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.scss | Styles project facts section |
| apps/f-flow-portal/src/app/pages/home/sections/project-facts/project-facts.html | Project facts markup |
| apps/f-flow-portal/src/app/pages/home/sections/project-facts/index.ts | Barrel export for project facts |
| apps/f-flow-portal/src/app/pages/home/sections/index.ts | Adds home sections barrel |
| apps/f-flow-portal/src/app/pages/home/sections/hero/index.ts | Barrel export for home hero |
| apps/f-flow-portal/src/app/pages/home/sections/hero/hero.ts | Adds new home hero with copy-to-clipboard install |
| apps/f-flow-portal/src/app/pages/home/sections/hero/hero.html | Home hero template |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow/index.ts | Barrel export for hero flow |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow/hero-flow.scss | Updates marker selector + removes deep layout override |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow/hero-flow.html | Switches to @defer + marker component usage |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/index.ts | Barrel export for hero-flow-anchor |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/hero-flow-anchor.ts | Adds hero-flow anchor component for layout |
| apps/f-flow-portal/src/app/pages/home/sections/hero-flow-anchor/hero-flow-anchor.html | Anchor template |
| apps/f-flow-portal/src/app/pages/home/sections/final-cta/index.ts | Barrel export for home final CTA |
| apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.ts | Adds home final CTA section |
| apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.scss | Styles home final CTA |
| apps/f-flow-portal/src/app/pages/home/sections/final-cta/final-cta.html | Home final CTA template |
| apps/f-flow-portal/src/app/pages/home/sections/changelog/index.ts | Barrel export for changelog section |
| apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.ts | Adds home changelog cards |
| apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.scss | Styles changelog section |
| apps/f-flow-portal/src/app/pages/home/sections/changelog/changelog.html | Changelog template |
| apps/f-flow-portal/src/app/pages/home/home.scss | Adds home page grid + pointer-events layering |
| apps/f-flow-portal/src/app/pages/home/home.html | Adds home page composition + cookie popup defer |
| apps/f-flow-portal/src/app/not-found-page/not-found-page.component.ts | Removes legacy not-found component |
| apps/f-flow-portal/src/app/home.config.ts | Removes legacy home config |
| apps/f-flow-portal/src/app/home-page/home-page-image/home-page-image.component.ts | Removes legacy home-page image component |
| apps/f-flow-portal/src/app/home-page/home-page-image/home-page-image.component.html | Removes legacy image markup |
| apps/f-flow-portal/src/app/core/team/team.ts | Adds shared TEAM source + core GitHub logins set |
| apps/f-flow-portal/src/app/core/team/team-member.ts | Adds ITeamMember interface |
| apps/f-flow-portal/src/app/core/team/index.ts | Adds team barrel exports |
| apps/f-flow-portal/src/app/core/structured-data/structured-data.ts | Adds JSON-LD injection service |
| apps/f-flow-portal/src/app/core/structured-data/index.ts | Barrel export for structured-data |
| apps/f-flow-portal/src/app/core/stats/stats.ts | Adds SSR/client stats service (TransferState-backed) |
| apps/f-flow-portal/src/app/core/stats/stats-snapshot.ts | Adds stats snapshot + fallback + state key |
| apps/f-flow-portal/src/app/core/stats/index.ts | Adds stats barrel exports |
| apps/f-flow-portal/src/app/core/stats/format.ts | Adds count/version formatting helpers |
| apps/f-flow-portal/src/app/core/seo/seo.ts | Adds centralized SEO metadata service |
| apps/f-flow-portal/src/app/core/seo/index.ts | Barrel export for SEO service |
| apps/f-flow-portal/src/app/core/screenshot/external-component-screenshot.ts | Renames screenshot service class + log prefix |
| apps/f-flow-portal/src/app/core/contributors/index.ts | Adds contributors barrel exports |
| apps/f-flow-portal/src/app/core/contributors/contributors.ts | Adds SSR/client contributors service (TransferState-backed) |
| apps/f-flow-portal/src/app/core/contributors/contributors-snapshot.ts | Adds contributors snapshot + fallback + state key |
| apps/f-flow-portal/src/app/config/showcase-config.ts | Adds new showcase config location |
| apps/f-flow-portal/src/app/config/portal-config.ts | Adds shared portal constants |
| apps/f-flow-portal/src/app/config/index.ts | Adds config barrel exports |
| apps/f-flow-portal/src/app/app.ts | Replaces AppComponent with App and updates template/style refs |
| apps/f-flow-portal/src/app/app.routes.ts | Refactors routing: home/services are app-owned pages |
| apps/f-flow-portal/src/app/app.config.ts | Updates gtag + consent bridge; imports cookie key constant |
| apps/f-flow-portal/src/app/app.config.server.ts | Removes legacy server app config (moved under src/server) |
| apps/f-flow-portal/server.ts | Uses @angular/ssr/node engine + new server bootstrap + legacy redirect |
| apps/f-flow-portal/public/robots.txt | Expands crawler allow-list notes + explicit LLM bots |
| apps/f-flow-portal/public/markdown/showcase/overview.md | Updates SEO title/description |
| apps/f-flow-portal/public/markdown/guides/react-flow-vs-foblex-flow-for-angular-teams.md | Updates SEO title/description |
| apps/f-flow-portal/public/markdown/guides/consulting.md | Converts consulting page to “moved” notice + client redirect |
| apps/f-flow-portal/public/markdown/404.md | Updates 404 copy and links |
| apps/f-flow-portal/public/llms.txt | Refreshes LLM-readable site summary + links |
| apps/f-flow-portal/project.json | Adds Sass include path, SSR entry, budgets, and allowedCommonJsDependencies |
| CLAUDE.md | Adds agent guidance entrypoint |
| CHANGELOG.md | Adds note about fVirtualForTrackBy removal |
| AGENTS.md | Adds agent guidance entrypoint (duplicate of CLAUDE.md content) |
Files not reviewed (1)
- libs/m-render/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Replace polynomial regexes with linear indexOf-based parsers in parseFileLinkLine, parseSingleBracketText, parseComponentTag, and MarkCodeFocusedBlocksPostProcessor to close CodeQL ReDoS alerts. - Unnest <button> from <a> in cookie popup, fix invalid opacity: 100%. - Clear pending timeout in PopoverService.show before scheduling a new one. - Tear down GTagService router subscription with takeUntilDestroyed. - Drop duplicated JSDoc in contributors snapshot and the <script> redirect in the consulting markdown stub (server already 301s to /services). - Cap f-virtual-for calibration batch by the frame budget to avoid jank. - Remove theme.service re-export from common barrel and import ThemeService from ../theme directly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Production Angular builds strip ng-reflect-* attributes, so the cypress specs could not locate connections, groups, or dragged nodes against a production build. Expose stable data-f-connection-type, data-f-group-parent-id, and data-f-node-parent-id host bindings and update the specs accordingly. Also silence benign ResizeObserver notifications in support/e2e.ts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Root config is eslint.config.js, not .mjs — the old import resolved to undefined and skipped the shared rules for this project. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace fixed cy.wait(150) with a waitForStableNodePosition helper that polls getBoundingClientRect until consecutive reads agree within 2px. Removes a flaky timing assumption where the node layout had not settled by the time the drag started. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
m-render, upgrades the workspace to Angular 20.3, and adds module-compatiblestandalone: falsedeclarations whereFFlowModulestill declares legacy slices.f-flowdeclarables so Angular 20 compatibility and CI lint rules do not conflict.Validation
npx nx run f-flow:lint