Skip to content

Conversation

@kube
Copy link
Collaborator

@kube kube commented Dec 17, 2025

🌟 What is the purpose of this PR?

  • Allow for Quick Simulation directly from Edit mode.
    • Disable Simulate Tab for now
  • Enhancement and tweaks on Toolbar
  • Make all Panels (Left/Right/Bottom) share the same component
  • Rename DiagnosticsPanel to BottomPanel
    • Expose three tabs in BottomPanel:
      • Diagnostics
      • Global Parameters (will move in next PR, back to LeftPanel)
      • Simulation Settings (Computation + Parameters values)

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • modifies an npm-publishable library and I have added a changeset file(s)

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change

🕸️ Does this require a change to the Turbo Graph?

The changes in this PR:

  • do not affect the execution graph

⚠️ Known issues

  • Global Parameters is moved in BottomPanel but should be in LeftPanel (model objects)

🐾 Next steps

  • Create PanelView component (name subject to change) to simplify creation of subviews/tabs in Panels
  • Bring back Global Parameters to LeftPanel
  • Add Simulation Timeline in BottomPanel
  • Add Simulation Logs in BottomPanel

🛡 What tests cover this?

  • No tests at the moment as we still need to define a testing strategy for the UI
    • (Simulation features are still tested as unit tests)

❓ How to test this?

  1. Use latest Petrinaut deploy

@github-actions github-actions bot added area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team labels Dec 17, 2025
@kube kube changed the title Everything always available in BottomBar H-5768: Quick Simulation in Edit Mode, and disable Simulate temporarily Dec 17, 2025
@kube kube changed the base branch from cf/h-5850-fix-pandacss-config-and-usage-in-petrinaut to graphite-base/8195 December 17, 2025 23:05
@kube kube force-pushed the cf/h-5768-integrate-quick-simulation-in-edit-mode branch from ae0b9a1 to 1d58d6c Compare December 17, 2025 23:05
@kube kube force-pushed the graphite-base/8195 branch from 2f6ebba to 33209de Compare December 17, 2025 23:05
@kube kube changed the base branch from graphite-base/8195 to cf/h-5850-fix-pandacss-config-and-usage-in-petrinaut December 17, 2025 23:05
@kube kube changed the base branch from cf/h-5850-fix-pandacss-config-and-usage-in-petrinaut to graphite-base/8195 December 19, 2025 09:39
@kube kube force-pushed the cf/h-5768-integrate-quick-simulation-in-edit-mode branch from 38a85b3 to 99b5eb3 Compare December 19, 2025 09:40
@kube kube force-pushed the graphite-base/8195 branch from 33209de to e26ecc9 Compare December 19, 2025 09:40
@kube kube changed the base branch from graphite-base/8195 to cf/h-5850-fix-pandacss-config-and-usage-in-petrinaut December 19, 2025 09:40
@kube kube force-pushed the cf/h-5850-fix-pandacss-config-and-usage-in-petrinaut branch from e26ecc9 to 97f0212 Compare December 19, 2025 10:37
@kube kube force-pushed the cf/h-5768-integrate-quick-simulation-in-edit-mode branch from 99b5eb3 to ec63ab3 Compare December 19, 2025 11:30
<li
key={`${group.entityId}-${itemGroup.subType}-${
diagnostic.start ?? index
}`}
Copy link

Choose a reason for hiding this comment

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

Duplicate React keys when diagnostics share same position

The React list key uses diagnostic.start ?? index, meaning the array index is only used as fallback when start is undefined. When two TypeScript diagnostics occur at the same character position (which is possible for certain code patterns), both would have the same key like entityId-lambda-42, causing duplicate React keys. This could lead to incorrect DOM updates and React console warnings. The previous implementation used just index which always produced unique keys.

Fix in Cursor Fix in Web

CiaranMn
CiaranMn previously approved these changes Dec 23, 2025
@github-actions github-actions bot dismissed CiaranMn’s stale review December 23, 2025 18:13

Your organization requires reapproval when changes are made, so Graphite has dismissed approvals. See the output of git range-diff at https://github.com/hashintel/hash/actions/runs/20468286757

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

3 participants