Spaces:
Running
Running
Commit History
-
Handle stringified Gradio JSON bodies
Verified signatureAdd a narrow ASGI wrapper for /gradio_api POST requests that unwraps JSON bodies double-encoded by the index.openhands.dev custom-domain proxy. This preserves direct HF Space behavior while preventing proxied callbacks from failing FastAPI validation with 422 and surfacing as Gradio connection errors. Follow-up to OpenHands/openhands-index-results#1227.9a787f2
-
Show ACP agent results in the leaderboard (#11)
- Show ACP agent results in the leaderboard (bef7adee8f9654453b27b8d6be41b13e49431cbc) - Move alternative agents to a dedicated page (d7034b85ee14f6dc4445cc0379396ca6dd77c19d) - Show harness in scatter-plot hover on Alternative Agents page (f00a617b2ae09d13284067736bcd5479d30f26ed) - Add Alternative Agents page screenshot (55dc87fa37ef618d4a372d48ef29fd887951a7b6) - Add harness logo assets for Alternative Agents composite markers (6860223b90f3ee4aca8a66e95f57e3fc523a3a54) - Stack model + harness logos on Alternative Agents scatter (fb16d57ae9b3b8e401e09be3af5617febb4a0528) - Replace harness badge letters with generic pictograms (8a1c0edd35eff9780aa5ba987941514c278821f3) - Move harness logos to assets/harnesses/ with graceful missing-file fallback (282557d8a4eb676f672d6d36bf7f25ffb522140d) - Add harness logos for Claude Code, Codex CLI, Gemini CLI, OpenHands (e6877f36e0135f17611518da4254aeb3730482a3) Co-authored-by: Simon Rosenberg <simonrosenberg1@users.noreply.huggingface.co>6d3b657
-
Fix root path redirect issue on HuggingFace Spaces
openhands +1: openhandsThe issue: When Gradio is mounted at path '/', FastAPI's default behavior causes a 307 redirect from '/' to '//', which breaks routing on HuggingFace Spaces (the page appears blank). The fix: 1. Add RootRedirectMiddleware that intercepts requests to '/' and redirects to '/home' with a 302 status code before Gradio handles it 2. Create FastAPI app with redirect_slashes=False to prevent automatic trailing slash redirects This is a workaround for Gradio bug #11071: https://github.com/gradio-app/gradio/issues/11071 Co-authored-by: openhands <openhands@all-hands.dev>41e5220
-
Remove redundant root redirect - now handled by proxy
openhandsc560986 -
Add explicit root redirect with 302 status code
openhandsUse 302 redirect instead of letting Gradio's default 307 redirect handle it. The 307 redirect was causing issues with the Vercel proxy due to malformed redirect URLs (double slash, http instead of https).20c58ab -
Remove conflicting server-side redirect
openhandsThe JavaScript redirect_script already handles / -> /home redirection. The server-side redirect was causing issues with the proxy.9ba6edb -
Fix root route redirect to /home
openhandsThe root FastAPI app needs an explicit handler for / to redirect to /home since Gradio multi-page apps don't handle the bare root path.14690be -
Mount API at /api path instead of root
openhands- API endpoints now available at /api/* (e.g., /api/leaderboard, /api/health) - Swagger docs at /api/docs - Gradio UI remains at root path (/)c744cbf -
Add REST API for programmatic access to leaderboard data
openhands- Add api.py with FastAPI endpoints for leaderboard data - Mount API on root path using gr.mount_gradio_app() - Add API documentation link to About page Resources section - API uses same data loading functions as UI for consistency Endpoints: - /health - Health check with cache status - /leaderboard - Full leaderboard with filtering/sorting - /leaderboard/models - List all models - /leaderboard/model/{name} - Get specific model - /categories - List benchmark categories - /benchmarks - List benchmarks - /docs - Swagger UI documentationd05a70e
-
Fix nav links opening in new tab and simplify methodology text
openhands +1: openhands- Remove target="_blank" from navigation links so they open in same tab - Remove unnecessary note about agents without cost/runtime data Co-authored-by: openhands <openhands@all-hands.dev>1ca9fc3
-
Fix navigation links to use relative paths and match category names
openhands +1: openhands1. Add JavaScript to convert absolute navigation hrefs to relative paths - Fixes issue where links pointed to hf.space domain when accessed via index.openhands.dev - Navigation now stays on the same domain regardless of proxy configuration 2. Update route paths to match category names: - Issue Resolution: /bug-fixing → /issue-resolution - Greenfield: /app-creation → /greenfield - Frontend: /frontend-development → /frontend - Testing: /test-generation → /testing Co-authored-by: openhands <openhands@all-hands.dev>0813604
-
Consolidate font definitions into single source of truth
openhandsCreate constants.py with FONT_FAMILY and FONT_FAMILY_SHORT. All Python files now import and use these constants instead of hardcoded font values.acd5bf8 -
Fix font change - update Gradio theme font to Arial
openhands721acc6 -
Add dark mode support for Plotly chart backgrounds
openhandsUse JavaScript to dynamically update Plotly chart backgrounds when dark mode is toggled. Sets paper_bgcolor, plot_bgcolor, font color, and grid colors appropriately for dark/light modes.8980c87 -
Use JavaScript to swap OpenHands logos based on dark mode
openhands- Added logo_swap_script that uses MutationObserver to detect dark mode changes - JavaScript directly sets display:none on the appropriate logo - Simplified CSS to just remove filters from OpenHands logos - More reliable than CSS attribute selectors on Plotly images7962903 -
Make PostHog API key configurable via POSTHOG_API_KEY env var
openhands +1: openhandsAllows overriding the default key without code changes. Default still set for convenience. Co-authored-by: openhands <openhands@all-hands.dev>73ebfec -
Fix PostHog snippet with correct API key
openhands +1: openhandsUse the dedicated OpenHands Index PostHog project key and updated snippet from PostHog dashboard. Co-authored-by: openhands <openhands@all-hands.dev>886446f -
Add PostHog analytics tracking
openhands +1: openhandsUses the same PostHog project key as the main OpenHands app. Tracks pageviews and page leaves automatically via client-side JS. Co-authored-by: openhands <openhands@all-hands.dev>5639e2a -
Remove OG meta tags - handled by proxy
openhands +1: openhandsOpen Graph meta tags are now injected by the Cloud Run proxy (All-Hands-AI/infra#886) which also removes Gradio's default tags that were causing social media previews to show 'Gradio' instead of 'OpenHands Index'. Co-authored-by: openhands <openhands@all-hands.dev>0658c19 -
Add static preview image for Open Graph social sharing
openhands +1: openhands- Resized to 1200x735 and converted to JPEG for smaller file size (52KB) Co-authored-by: openhands <openhands@all-hands.dev>4c523d5 -
Fix Open Graph image URL format for Gradio file serving
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>13e565b -
Add Open Graph meta tags for social media previews
openhands +1: openhands- Title: OpenHands Index - Description: A Holistic Benchmark for Software Engineering - Preview image: OpenHands logo Co-authored-by: openhands <openhands@all-hands.dev>f600f52
-
Align color scheme with OpenHands brand
openhands +1: openhands- Update primary accent from mint green to yellow (#FFE165) - Update secondary accent to green (#BCFF8C) - Update dark mode background to grey scale (#18191C) - Change font from Manrope to Outfit (OpenHands brand font) - Update CSS variables to match openhands-ui/tokens.css - Update chart colors (efficiency frontier, trend lines, hover labels) Co-authored-by: openhands <openhands@all-hands.dev>928e4af -
Fix dark mode: use legible logo and lighter link colors
openhands +1: openhands- Add dark mode logo (logo-dark.png) for better visibility on dark backgrounds - Use CSS .dark class selector to switch logos based on theme - Make link colors lighter in dark mode (#cccccc instead of #aaaaaa) Co-authored-by: openhands <openhands@all-hands.dev>9b84cf0
-
Add periodic cache refresh for leaderboard data
openhands- Add background refresh scheduler that checks for new data every hour - Implement thread-safe caching with configurable TTL (CACHE_TTL_SECONDS env var) - Register cache clear callback to invalidate viewer cache when data refreshes - Add refresh_data_if_needed() function for on-demand refresh - Data is fetched from GitHub repo and cached, then periodically refreshed This ensures the leaderboard shows fresh data while maintaining good performance through caching.6bddf26
-
Change blue links and text to dark grey (#555555)
openhands +1: openhandsUpdated link colors in both CSS variables and Gradio theme to use dark grey instead of blue/indigo for better visual consistency. Co-authored-by: openhands <openhands@all-hands.dev>d68f190 -
Update DeepSeek logo, tooltip format, and category names
openhands +1: openhands1. Replace DeepSeek logo with official SVG from LobeHub 2. Update tooltip format to: {lm_name} (SDK {version}) - Average Score, Average Cost, Openness 3. Rename categories: - Bug Fixing -> Issue Resolution - App Creation -> Greenfield - Frontend Development -> Frontend - Test Generation -> Testing - Information Gathering (unchanged) 4. Update intro paragraph to mention all category names Co-authored-by: openhands <openhands@all-hands.dev>5778893
-
Fix data plotting requirements and server port handling; ensure per-benchmark plots use correct agent column.\n\n- Respect HOST/PORT env for local runs\n- Use 'OpenHands Version' in plot requirements\n- Avoid plotting when use_plotly=False\n\nCo-authored-by: openhands <openhands@all-hands.dev>
openhandsfb3d0db -
Force rebuild: Trigger HuggingFace Space to fetch latest data from GitHub
openhands +1: openhandsThe Space appears to be using cached data or needs to re-clone the openhands-index-results repository. This commit forces a rebuild to ensure the latest data with real scores is loaded. Co-authored-by: openhands <openhands@all-hands.dev>8be216f -
Cleanup codebase: remove unused code, simplify data loading, and add pre-release notice
openhands +1: openhands- Remove unused github_data_loader.py (71 lines of dead code) - Clean up debug logging in app.py (replaced ~40 print statements with proper logger) - Remove scheduler code and APScheduler dependency from requirements.txt - Simplify simple_data_loader.py by removing old JSONL format fallback - Update setup_data.py to fetch data from results/ directory only - Update mock data to use new agent-centric directory structure - Add pre-release notice to main page intro paragraph Co-authored-by: openhands <openhands@all-hands.dev>855423e -
Remove submission page and add submission instructions to About page
openhands +1: openhands- Removed submission page import and route from app.py - Removed redirect_submission_on_close_script (no longer needed) - Added new section in About page: 'Submitting Results & Accessing Raw Data' - Instructions now point users to submit via GitHub PR to openhands-index-results - Added information about accessing raw results from GitHub repository - Clarified data format requirements (metadata.json and scores.json) Submissions are now handled via GitHub PR workflow instead of web form Co-authored-by: openhands <openhands@all-hands.dev>701c496
-
Update category structure to OpenHands Index with 5 categories
openhands +1: openhands- Replace ASTA Bench scientific categories with OpenHands software engineering categories: - Bug Fixing (SWE-Bench, SWE-Bench-Multimodal) - App Creation (Commit0) - Frontend Development (Multi-SWE-Bench) - Test Generation (SWT-Bench) - Information Gathering (GAIA) - Update content.py category descriptions for coding agents - Update app.py routes to use new category pages - Add 5 new category page files - Update category_page_builder.py diagram mappings - Change 'four' to 'five' categories in intro - Change 'scientific agents' to 'coding agents' Co-authored-by: openhands <openhands@all-hands.dev>c56f232 -
Add verbose logging and include JSONL data files
openhands +1: openhands- Add comprehensive logging throughout app.py to track initialization progress - Include JSONL data files that were missing from data directory - These files contain the actual leaderboard data needed by SimpleLeaderboardViewer Co-authored-by: openhands <openhands@all-hands.dev>b5df580 -
Add comprehensive error handling and timeout protection
openhands- Wrap setup_mock_data() in try-except in app.py to prevent crashes - Add 60-second timeout to data setup using signal.alarm() - Add verbose logging to stderr for debugging HF Space issues - Change logging level to INFO for better visibility - Print clear status messages at each step - Ensures app continues even if data setup fails87e9f6b -
Fix data loading: fetch from GitHub with fallback to mock data
openhands- Add setup_data.py to fetch data from openhands-index-results GitHub repo - Falls back to mock data when GitHub repo is empty/unavailable - Copy data to expected extraction directory on app startup - Fixes JavaScript error: Cannot read properties of null - Data now loads correctly and tables render properlya63b4cf -
Fix runtime errors and data loading
openhands- Created combined test.jsonl with all 6 benchmark results - Updated agenteval.json to include test split with all tasks - Added missing imports to submission.py (DatasetDict, Dataset, etc.) - Fixed LeaderboardViewer reference in ui_components.py - Commented out submission page due to Modal component issue - Disabled scheduler that was causing indentation issues66fcacd -
Convert to JSONL data format and remove agent-eval dependency
openhands +1: openhands- Replace parquet files with JSONL for better readability and simplicity - Remove agent-eval library dependency to avoid secret requirements - Create simple_data_loader.py as lightweight replacement for LeaderboardViewer - Create submission_utils.py for submission handling functions - Simplify Dockerfile (no SSH keys or secrets needed) - Reduce requirements.txt to essential packages only - Generate mock data for all 6 benchmarks (swe-bench, multi-swe-bench, swe-bench-multimodal, swt-bench, commit0, gaia) - Update aliases.py to define constants locally - Fix imports in submission.py and test files Co-authored-by: openhands <openhands@all-hands.dev>1027cfb -
Initial OpenHands Index leaderboard based on ASTA Bench
openhands +1: openhands- Updated branding (title, README, logo) - Changed dataset references to OpenHands Index datasets - Modified agenteval.json to include 6 OpenHands datasets: * swe-bench * multi-swe-bench * swe-bench-multimodal * swt-bench * commit0 * gaia - Added mock data for initial testing Co-authored-by: openhands <openhands@all-hands.dev>085a012