Simon Willison
857af9293c
Release 1.0a30
...
1.0a30
Refs #1752 , #2723 , #2725 , #2727
2026-05-24 14:17:45 -07:00
pintaste
312740b97c
Keyboard navigation and ARIA attributes for actions menus ( #2727 )
...
- Add aria-haspopup="menu" and aria-expanded to summary element
- Add role="menu" to dropdown ul, role="menuitem" and tabindex="-1" to links
- Sync aria-expanded via toggle event listener
- Focus first menu item when menu opens
- Add ArrowDown/ArrowUp navigation between menu items
- Add Escape key to close menu and return focus to summary
Refs #2738
2026-05-24 14:11:04 -07:00
Simon Willison
d11326b250
Fixes for jump to menu accessibility
...
VoiceOver demo video: https://github.com/simonw/datasette/pull/2737#issuecomment-4527447724
HTML explainer: https://gisthost.github.io/?cbdea138b932cdc9cac6dd1e4681a20b
Closes #2736
2026-05-24 07:55:40 -07:00
wheelman
b013aa1f7f
Add CORS headers to /db?sql= query redirect ( #2730 )
...
Closes #2728
2026-05-23 21:21:13 -07:00
Simon Willison
b9cb8e9a30
Tweaked JumpSQL changelog, refs #2731
2026-05-23 21:14:35 -07:00
Simon Willison
a75c9f2401
jump_items_sql() and makeJumpSections() plugin hooks ( #2732 )
...
* /-/tables is now /-/jump
* `jump_items_sql()` plugin hook for contributing to that menu
* JavaScript `makeJumpSections()` hook for populating blank slate
* Menu now stores up to five recently visited items in localStorage
2026-05-23 21:11:17 -07:00
Simon Willison
c1525cb467
Improved examples in JumpSQL docs
2026-05-23 21:01:18 -07:00
Simon Willison
c980234c41
JumpSQL(database=) parameter
...
Refs https://github.com/simonw/datasette/pull/2732#issuecomment-4527304912
2026-05-23 21:00:04 -07:00
Simon Willison
cef6aa85b6
Remove source and source_key columns from JumpSQL
...
Refs https://github.com/simonw/datasette/pull/2732#issuecomment-4527290391
2026-05-23 20:41:32 -07:00
Simon Willison
c73ed1ee4e
Fixed a test I broke
2026-05-23 20:30:56 -07:00
Simon Willison
21a79b34b8
Improvements to Jump SQL columns
...
- Removed database_name and resource_name
- url can now optionally return JSON to reuse datasette.urls. methods
- description is now used as a truncated text description
2026-05-23 20:28:02 -07:00
Simon Willison
0f7e4410c1
Better test name
2026-05-23 17:07:47 -07:00
Simon Willison
9c1f8621eb
Request is always set for jump_items_sql() hook
2026-05-23 16:59:45 -07:00
Simon Willison
be1b5b2b5c
Move debug links into jump menu
2026-05-23 16:57:09 -07:00
Simon Willison
1590444fa3
Simplify by removing _query_display_names_sql
...
See https://github.com/simonw/datasette/pull/2732/changes#r3293627533
2026-05-23 16:42:38 -07:00
Copilot
09ccab97cc
Run cog to update generated plugin docs ( #2734 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-23 09:34:03 -07:00
Simon Willison
865f35ff10
Move default Jump items to datasette.default_jump_items plugin
2026-05-23 09:10:25 -07:00
Simon Willison
9e7419db8d
Remove navigation_search_js_hash mechanism
...
Codex added this because CSS was not reloading in dev.
2026-05-23 09:09:07 -07:00
Simon Willison
f46c245563
blacken-docs
2026-05-23 08:58:51 -07:00
Simon Willison
fba67250d1
Ran Black
2026-05-22 21:27:04 -07:00
Simon Willison
d44cfc3a55
Fix for failing JS test
2026-05-22 21:22:10 -07:00
Simon Willison
0eb78dec9a
Ran Prettier
...
npx prettier 'datasette/static/*[!.min|bundle].js' --write
2026-05-22 21:19:13 -07:00
Simon Willison
8568320a23
Replace jump_start() hook with JavaScript makeJumpSections() hook
2026-05-22 21:13:49 -07:00
Simon Willison
6057c76165
Initial docs for jump_items_sql and jump_start hooks
...
Refs #2731
2026-05-21 23:28:35 -07:00
Simon Willison
9909bd654b
Merge branch 'main' into jump
2026-05-21 23:11:01 -07:00
Simon Willison
1000d50220
datasette.fixtures module, closes #2733
...
https://gist.github.com/simonw/613be79094d491dd08f45e05f4f70691
2026-05-21 23:05:37 -07:00
Simon Willison
fae847ac10
Prototype of new /-/jump menu plus plugin hook
2026-05-21 15:02:17 -07:00
Simon Willison
d3330695fa
Always show 'Jump to...' menu item, closes #2725
2026-05-20 13:23:05 -07:00
Simon Willison
54b272baf6
Remove existing stale catalog_ tables, refs #2723
...
Now if there are any existing stale records in internal.db
those will be removed as well.
2026-05-20 12:39:54 -07:00
Simon Willison
bbbc1cd596
Remove height: 100% to fix Safari bug, closes #2724
2026-05-20 12:34:12 -07:00
Simon Willison
5d6de0154d
Bump Black to black==26.3.1
...
Refs https://github.com/advisories/GHSA-3936-cmfr-pm3m
2026-05-20 12:18:01 -07:00
Simon Willison
7a914f8c65
Clear stale tables/other resources when DB removed, closes #2723
2026-05-20 12:16:23 -07:00
Simon Willison
40e78e0927
Change pull_request_target to pull_request event
2026-05-16 16:48:10 -07:00
Simon Willison
c1b3081863
Removed obsolete workflow
2026-05-16 16:44:28 -07:00
Simon Willison
10a1caac53
Upgrade a whole lot of GitHum Actions references
2026-05-16 16:38:49 -07:00
Simon Willison
3110faa0ba
Replace Janus queue with asyncio.Future
...
Closes #1752
AI generated patch explanation: https://gisthost.github.io/?e2b8d9c7666e988b5c003ff5e5ef3098
2026-05-16 11:45:43 -07:00
Simon Willison
46d90a0b88
Bump to actions/checkout@v6
2026-05-12 16:46:56 -07:00
Simon Willison
036aa6aa2e
Removed a rogue hyphen
1.0a29
2026-05-12 16:39:46 -07:00
Simon Willison
db16003865
Release 1.0a29
...
Refs #2695 , #2701 , #2708 , #2709
2026-05-12 16:39:06 -07:00
Simon Willison
345f910043
Fix for Database.close()/Datasette.close() order ( #2710 )
...
Closes:
- #2709
The key behavior change: after close() starts, no new execute work can be submitted, but already-running execute work is allowed to finish before SQLite connections are closed.
2026-05-12 16:31:36 -07:00
Simon Willison
aa84fe008d
Fix for column actions on Mobile Safari, closes #2708
2026-05-05 16:05:12 -07:00
Simon Willison
0dc7bb19d9
Table headers and column options visible for 0 rows
...
Closes #2701
2026-04-22 22:23:02 -07:00
Simon Willison
b15ce18ddc
TokenRestrictions.abbreviated(datasette) utility method for creating _r dicts ( #2696 )
...
Closes #2695
Refs https://github.com/simonw/datasette-auth-tokens/pull/42
2026-04-17 08:44:43 -07:00
Simon Willison
a6031c9847
Release 1.0a28
...
1.0a28
Refs #2691 , #2692 , #2693
2026-04-16 21:01:18 -07:00
Simon Willison
1cd53e1fc3
Datasette.close() method, plus pytest plugin to automatically call it during tests
...
Refs #2693 , #2692
2026-04-16 20:50:51 -07:00
Simon Willison
630e557cdb
Ran black
2026-04-16 20:44:21 -07:00
Simon Willison
b3001c1e5a
Drop redundant _ds_client global now that ds_client is session-scoped
...
Session-scoped fixtures are cached per worker by pytest itself, so the
manual _ds_client module global is no longer needed.
Refs #2692
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 20:41:58 -07:00
Simon Willison
c9a7dc9be2
Declare ds_client as session-scoped so auto-close plugin spares it
...
ds_client already caches a single Datasette for the whole session via a
module-level _ds_client global, so the declared fixture scope should
match. With function scope the auto-close plugin correctly closes it
after the first test that uses it, which then breaks every subsequent
test that reuses the cached (now-closed) instance — as seen in the CI
coverage job, which runs serially rather than under pytest-xdist.
Refs #2692
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 20:40:51 -07:00
Simon Willison
03eeeb9d92
Docs: auto-close plugin now handles function-scoped fixtures
...
Describe the updated scoping rule: instances from test bodies and
function-scoped fixtures are closed automatically; session-, module-,
class- and package-scoped fixtures are exempt.
Refs #2692
2026-04-16 20:38:08 -07:00
Simon Willison
ede942a32e
Fix ruff lints in close-related tests
...
Drop unused `bad = ...` assignment and unused `import pytest`.
Refs #2692
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 20:34:48 -07:00