Conversation
- Toolbar-less layout: controls injected into Navbar via setNavControls - Plugin config system: public/flamapy/plugins.conf.json drives which wheels micropip installs and which solver tabs the UI shows; Z3 disabled by default - Solver tabs (SAT/BDD/Z3) now derived from config loaded by the worker on startup - New views: Config. Distribution and Feature Prob. charts (from views branch) using react-chartjs-2; BDD-backed Python functions in flamapy_ide.py - Z3 support: attribute optimization modal, getNumericalAttributes worker action - Collaborative editing: yjs + y-websocket, gated on VITE_ENABLE_COLLAB=true - Analytics: GA4 with cookie consent, Privacy Policy and Cookie Preferences pages - Makefile: add build-wheels target to download pure-python wheels from PyPI - Remove leftover EditorPage copy files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Toolbar: add Metrics dropdown (Config Distribution, Feature Prob.) inline with View section; remove standalone Configurator section - DropdownMenu: use minWidth so option text is never clipped - ModelProperties: remove FM Fact Label link - flamapy_ide.py: fix BDDFeatureInclusionProbability printing [object Object] by serializing plain dicts to string list - Makefile: add clean-old-wheels target (reads plugins.conf.json as source of truth); runs automatically after build-wheels - .gitignore: ignore CLAUDE.md, .claude/, .env, .env.example - Wheels: upgrade all flamapy packages to 2.5.0, dd to 0.6.0; remove stale 2.1.0.dev0 wheels, flamapy_bdd_colosal, and Linux z3 wheel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Tests: fix silent assertions in test_get_model_information (missing assert keywords and accidental assignments instead of comparisons) - CI: add ESLint workflow that runs on PRs to main and pushes to develop - CI: fix Docker workflow — guard both jobs with 'conclusion == success' so a failed release-please does not trigger a build or deploy - CI: bump Python to 3.12 to match Pyodide runtime; install vendored flamapy_configurator wheel; add --cov flag to pytest - UX: persist editor content to localStorage on every edit and restore it on startup when no file is being imported; skipped during collab sessions to avoid cross-session bleed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Medium priority: - Graph view: explicitly re-fetch feature tree on every switch to graph, ensuring the visualization is always in sync with the current model - Tests: add coverage for get_configuration_distribution, get_feature_inclusion_probabilities, and BDDFeatureInclusionProbability dict serialization path - Error boundaries: add ErrorBoundary component wrapping chart views so a render crash does not take down the whole editor - Metrics charts: add Download PNG button to Config Distribution and Feature Inclusion Probabilities charts via chartjs toBase64Image Low priority: - URL model sharing: ?model=<base64> query param loads a model on startup (priority over localStorage); Share section in toolbar copies the link - UVL autocomplete: Monaco snippet completions for all UVL keywords (namespace, features, constraints, mandatory, optional, alternative, or) - Keyboard navigation in DropdownMenu: ArrowUp/Down to move focus, Enter to select, Escape to close; ARIA roles updated to listbox/option - Dark mode: Tailwind darkMode:'class', toggle button in Navbar (persisted to localStorage), dark variants on Navbar, toolbar, output panel, model info panel, and dropdown menu Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Exclude public/ from ESLint to prevent vendor files (pyodide, flamapy) from causing lint failures in CI - Wire darkMode prop from App → EditorPage → UVLEditor so Monaco editor switches between vs/vs-dark themes when the toggle is clicked Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Cover the remaining components that were displaying light-only colors: FeatureTree panel/nodes, Wizzard container, ModelProperties text/dividers, Configuration feature lists, toolbar buttons (solver/analysis/export/metrics/collab), hide/show panel buttons, Z3 optimization modal, and the UVLEditor wrapper div. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… start_coding.sh - Add chart.js, js-cookie, react-chartjs-2, react-cookie-consent, react-ga4 to package-lock.json - Update esbuild to 0.27.3 - Fix micropip.install indentation in flamapy.js - Add start_coding.sh to .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- webworker.js: pass msgId in postMessage responses, simplify context destructuring - requirements.txt: update to flamapy 2.5.0, add z3, fix configurator install note - FeatureModelVisualization.jsx: replace dom-to-svg with native XMLSerializer for SVG export - Normalize file modes and binary assets to match working environment Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Keeping develop's rollup 4.59.0 (already newer than dependabot's 4.34.6 bump). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The vendored flamapy_configurator-2.0.1-py3-none-any.whl requires flamapy-fw~=2.0.1 and flamapy-fm~=2.0.0, causing pip to downgrade those packages from 2.5.0. This removed FMLanguageLevel from flamapy-fm, breaking all test collection with an ImportError. - Use --no-deps when installing the configurator wheel so 2.5.0 packages stay in place - Also upgrade setuptools and wheel alongside pip to avoid astutils/ply build failures on older setuptools versions - Fix BDDVariantFeatures test to use order-independent comparison since the BDD operation returns features in non-deterministic order https://claude.ai/code/session_016tskPAqbm3FrFbA7ZCvisd
- Add node env override in .eslintrc.cjs for server/ files so process is recognised without explicit global declarations - Remove stale eslint-disable comments (no-console in collab-server, no-unused-vars in EditorPage) that were flagged as unused directives - Add PropTypes for Configuration, ErrorBoundary, FeatureInclusionProbabilitiesChart, Information, ProductDistributionChart - Remove unused React import from FeatureInclusionProbabilitiesChart and ProductDistributionChart (jsx-runtime transform makes it unneeded) - Add missing useEffect deps: availableWidth in FeatureModelVisualization, type in Information; suppress intentional once-on-mount effect in Home - Fix no-useless-escape in UVLEditor regex character classes - Remove unused cancelURL variable from Wizzard - Remove unused importURL state from Home https://claude.ai/code/session_016tskPAqbm3FrFbA7ZCvisd
…y client side features will be available by now.
…o new flamapy versions and retrieves the wheels
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.
No description provided.