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 -
Fix open model filter callback reliability (#38)
- Fix open model filter callback reliability (5c02fd06b29fccf7afb556e9f4eb5d647f6ea33e)ab75229
-
Show alternative agents in top nav
Graham Neubig81071cf
-
Fix timer arg mismatch that wipes alternative agents table; remove OpenHands Sub-agents (#36)
- Fix timer arg mismatch that wipes alternative agents table; remove OpenHands Sub-agents (70c525c7fcaa4341c423a8e368e4d73752ab78ca) Co-authored-by: Simon Rosenberg <simonrosenberg1@users.noreply.huggingface.co>1a5d4b8
-
Fix scatter plot: zoom and show_all_labels for all labels not just frontier
Verified signature- Use data coordinates (xref='x', yref='y') for logos so they zoom/pan with chart - Add if show_all_labels block to show all labels when enabled3a62e57
-
Fix _plot_scatter_plotly missing show_all_labels parameter
Verified signaturea8f1aa1 -
Add OpenHands design assets from kosmonautical/openhands-index-paul
Verified signatureAdd design files from kosmonautical/openhands-index-paul: - OpenHands-Design/ folder with design system files - New logo assets (logotype-design.svg, logotype-on-dark.svg, logotype-on-light.svg) This PR also includes the previously synced staging fixes: - Show all labels toggle for scatter plots - Logo zoom behavior fixescd40c70 -
Sync staging changes to main (#14)
8bc4971 -
Sync show_all_labels toggle from staging (#2, #3, #4)
Verified signatureSync from stagingb7b9c64
-
Hide Alternative Agents nav item
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>5a51d1c
-
Fix numeric runtime sorting in leaderboard tables
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>443f738
-
Show OpenHands on alternate agents page for shared models
openhands +1: openhandsThis commit was created by an AI assistant (OpenHands) on behalf of the user. Co-authored-by: openhands <openhands@all-hands.dev>70749cd -
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
-
Date in summary table is missing (#10)
- Date in summary table is missing (45fc3a4337e324d17f54b9564db1dbc11951ff36)7949205
-
Hide incomplete entries from home page charts by default
openhands0b126a8
-
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
-
Add dedicated API Access section to About page
openhands- New section with links to API documentation - Links to key endpoints (/api/leaderboard, /api/categories) - Includes curl example for quick reference168fd64 -
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 -
Add methodology section and benchmark instance counts to About page
openhands +1: openhands- Add instance/task counts for all five benchmarks - Add new Methodology section explaining: - Per-benchmark scores are percentages (comparable across datasets) - Average score is macro-average with equal weighting - Cost and runtime are per-instance averages - All evals use identical OpenHands Agent SDK configuration Co-authored-by: openhands <openhands@all-hands.dev>d8b77db -
Add z.ai logo for GLM language model
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>3b71657
-
fix: Add Visualization column to main table (not just benchmark tables)
openhands +1: openhandsThe previous commit only added visualization links to individual benchmark detail tables. This commit adds the Visualization column to the main front page table as well. Changes: - Add 'visualization' column to record in simple_data_loader.py - Add 'Visualization' to ending_cols in leaderboard_transformer.py - Add make_visualization_icons() to format the column in ui_components.py - Update column widths and datatypes to include Visualization - Add tooltip description for Visualization column Co-authored-by: openhands <openhands@all-hands.dev>5f628a6 -
feat: Add Visualization column for Laminar eval links
openhands +1: openhandsDisplay eval_visualization_page URLs as clickable 📊 icons in a new Visualization column next to Logs. Changes: - Load eval_visualization_page from score entries in simple_data_loader.py - Store as '{benchmark} visualization' column similar to download URLs - Add 📊 column to benchmark detail tables with clickable links - Only show icon if visualization URL exists, otherwise blank - Add tooltip documentation for the new column Co-authored-by: openhands <openhands@all-hands.dev>dfa8bfc -
Reduce left/right margins on mobile view
openhandsAdd responsive CSS media query for screens 768px and narrower that: - Reduces padding on #page-content-wrapper from 25px to 8px - Reduces padding on #intro-paragraph from 35px to 8px - Reduces padding on .nav-holder from 20px to 8px - Reduces padding on .gradio-container - Makes content full width (max-width: 100%) - Reduces table cell padding for better mobile display0f8031a
-
Fix dark mode modebar styling - transparent background with light gray icons
openhands +1: openhands- Make modebar, modebar-container, modebar-group, and modebar-btn backgrounds transparent - Style modebar icons to match the light gray text color (neutral-400) - Add hover state with slightly lighter color for better UX This fixes the ugly gray background that appeared when hovering over Plotly figures in dark mode. Co-authored-by: openhands <openhands@all-hands.dev>4f4a27d
-
Widen Logs column to prevent vertical stacking of download icons
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>9cab912 -
Add download icons to Logs column for benchmark results
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>67867ec
-
Skip entries with hide_from_leaderboard=True
openhands +1: openhandsFilter out models from the leaderboard when their metadata has hide_from_leaderboard set to true. This allows hiding models that shouldn't be displayed (e.g., due to lack of comparable models in similar size classes). Co-authored-by: openhands <openhands@all-hands.dev>2123552
-
Format date column to show only date, not time
openhands- Add format_date_column function to leaderboard_transformer.py - Apply date formatting in ui_components.py for all table displays - Strips time portion from ISO datetime strings (e.g. 2025-11-24T19:56:00 -> 2025-11-24)2b7cd27
-
Trigger rebuild
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>73df5bb -
Update mock data and docs to match new openhands-index-results format
openhands +1: openhands- Update scores.json: rename total_cost -> cost_per_instance, total_runtime -> average_runtime - Add new required fields to mock data: full_archive, agent_version, submission_time - Add agent_name and country fields to metadata.json - Update DATA_STRUCTURE.md documentation to reflect new schema This ensures mock data works as a proper fallback when GitHub is unavailable and matches the production format from openhands-index-results. Co-authored-by: openhands <openhands@all-hands.dev>f7e6b58
-
Add NVIDIA logo and update company mappings
openhands +1: openhands- Added logo-nvidia.svg asset for NVIDIA branding - Added NVIDIA and Nemotron to COMPANY_LOGO_MAP - Added NVIDIA and Nemotron to MODEL_COUNTRY_MAP (US company) Co-authored-by: openhands <openhands@all-hands.dev>68b25a7
-
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 -
Trigger deploy
openhandsbdd9196
-
Empty commit to update results
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>2e46852 -
Fix: Preserve mark_by selection during periodic data refresh
openhands +1: openhandsThe 60-second timer that checks for data updates was not passing the current mark_by dropdown value, causing charts to revert to 'Company' when data refreshed. Changes: - Add mark_by parameter to check_and_refresh_data() - Add mark_by parameter to check_and_refresh_all() - Add mark_by parameter to check_and_refresh_simple() - Include mark_by_dropdown in timer inputs for all refresh paths - Pass mark_by to create_cost_scatter_plot() and create_runtime_scatter_plot() Co-authored-by: openhands <openhands@all-hands.dev>df058f7 -
Fix icon positioning for date-based charts
openhands +1: openhandsUse data coordinates (xref='x', yref='y') for date axes instead of domain coordinates. This matches the previous behavior where icons were positioned using actual x/y values. - Date charts: use data coordinates with sizex in milliseconds - Log charts: continue using domain coordinates (0-1 range) Co-authored-by: openhands <openhands@all-hands.dev>88a8840 -
Refactor: Create generic create_scatter_chart() as single source of truth
openhands +1: openhandsMajor refactoring to eliminate code duplication across scatter plots: - Add create_scatter_chart() in leaderboard_transformer.py (~270 lines) - Handles all scatter plot types: cost, runtime, date, params - Configurable x-axis type (log or date) - Configurable Pareto frontier direction - Consistent marker icons, hover text, and styling - Auto-detects column names - Add STANDARD_LAYOUT and STANDARD_FONT constants for shared styling - Simplify visualizations.py from 536 lines to 159 lines - create_evolution_over_time_chart() now uses generic function - create_accuracy_by_size_chart() now uses generic function - Only contains data filtering and column detection logic Benefits: - Single source of truth for all scatter plot styling - Consistent fonts (Arial) across all charts - Easier to maintain and extend - ~375 lines of code removed Co-authored-by: openhands <openhands@all-hands.dev>1f75b60 -
Fix font consistency and remove code duplication in visualizations.py
openhands +1: openhands- Remove duplicated branding code (OPENHANDS_LOGO_PATH, URL_ANNOTATION, get_openhands_logo_images, add_branding_to_figure) - now imported from leaderboard_transformer.py - Fix STANDARD_FONT to use FONT_FAMILY_SHORT constant instead of hardcoded 'Outfit' - All charts now consistently use Arial font from constants.py Co-authored-by: openhands <openhands@all-hands.dev>f1798d2 -
Connect 'Mark systems by' selector to Evolution and Size charts
openhands +1: openhands- Update visualizations.py to import get_marker_icon and MARK_BY_DEFAULT - Add mark_by parameter to create_evolution_over_time_chart() - Add mark_by parameter to create_accuracy_by_size_chart() - Update main_page.py to connect mark_by_dropdown to all charts - Evolution and Size charts now update when mark_by selection changes Co-authored-by: openhands <openhands@all-hands.dev>d731ad4 -
Update intro text: remove 'standardized' from 'we need ways'
openhands +1: openhandsCo-authored-by: openhands <openhands@all-hands.dev>315feb4 -
Add 'Mark systems by' selector for scatter plot icons (Company/Openness/Country)
openhands +1: openhands- Add MARK_BY_CHOICES and MARK_BY_DEFAULT constants - Add country flag SVGs (US, China, France) - Add COUNTRY_FLAG_MAP and MODEL_COUNTRY_MAP for country detection - Add get_openness_icon() and get_country_from_model() functions - Add get_marker_icon() to select appropriate icon based on mark_by setting - Modify _plot_scatter_plotly() to accept mark_by parameter - Add mark_by_dropdown to UI in ui_components.py - Update update_display() to regenerate plots dynamically based on mark_by selection Co-authored-by: openhands <openhands@all-hands.dev>ed6e90d -
Keep CSS font separate from Python constants
openhandsa87403b -
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 -
Change plot fonts from Outfit to Arial
openhands0750050