Dave Pearson
26e6dbbfa3
Swap to a dual-working approach
...
Plan C; or is it plan D? Something like that. Anyway... in this approach we
keep a single "forever" async task worker per directory tree, which in turn
looks at the async Queue, and when a new node appears on it it starts a
short-lived thread to load the directory data.
This seems to be working fine on macOS. Next up is testing on Windows.
2023-05-17 13:28:07 +01:00
Dave Pearson
ecde90b1c3
Remove unused import
...
The code that was using this was removed earlier.
2023-05-17 12:29:36 +01:00
Dave Pearson
a42250daa3
async Queue get blocks when empty, so don't handle empty exception
2023-05-17 12:29:03 +01:00
Dave Pearson
82924c2d7c
Make the main load worker into a asyncio task
...
Turns out, there's a maximum number of threads you can have going in the
underlying pool, that's tied to the number of CPUs. As such, there was a
limit on how many directory trees you could have up and running before it
would start to block all sorts of operations in the surrounding
application (in Parallels on macOS, with the Windows VM appearing to have
just the one CPU, it would give up after 8 directory trees).
So here we move to a slightly different approach: have the main loader still
run "forever", but be an async task; it then in turn farms the loading out
to threads which close once the loading is done.
So far tested on macOS and behaves as expected. Next to test on Windows.
2023-05-17 11:34:05 +01:00
Dave Pearson
64d9c60267
Revert experimental code
2023-05-17 11:26:33 +01:00
Dave Pearson
6876a041a4
More Windows thread oddness experimenting
2023-05-17 11:02:04 +01:00
Dave Pearson
80d00ce4bf
Logging and experimenting for Windows
2023-05-17 10:49:46 +01:00
Dave Pearson
e69e57d7c0
Remove unused import
...
Recent changes meant it wasn't needed any more.
2023-05-16 20:53:18 +01:00
Dave Pearson
58f0d11a93
Change to a single loader thread with a queue
2023-05-16 16:41:36 +01:00
Dave Pearson
926c0a2b4f
Reset all DirectoryTree worker changes
...
After deciding
https://github.com/Textualize/textual/pull/2545#issuecomment-1547544057 it
makes more sense to roll back to the state of `main` than to try and get to
where I want to be from where we've decided we didn't want to be.
Can't get there from here, so let's go rogue-like on this PR...
2023-05-16 15:29:36 +01:00
Dave Pearson
804d85a2c9
Merge branch 'main' into directory-tree-work-in-worker
2023-05-16 15:16:31 +01:00
Dave Pearson
83e4be77db
Merge pull request #2567 from davep/issue/2557/select-update
...
Fix clearing an OptionList
2023-05-16 15:11:29 +01:00
Dave Pearson
1ebfe2f418
Update the snapshits
2023-05-16 14:38:11 +01:00
Dave Pearson
3d2e3d9092
Add a snapshot test for a rebuilt Select
...
This helps test the practical impact of the fix added for #2557 .
2023-05-16 14:34:18 +01:00
Will McGugan
faa67a8293
Screen docs ( #2579 )
...
* screen docs
* docstrings
* modal example
* docstring
* docstrings
* Apply suggestions from code review
Co-authored-by: Dave Pearson <davep@davep.org >
---------
Co-authored-by: Dave Pearson <davep@davep.org >
2023-05-16 13:44:06 +01:00
Dave Pearson
32fa259c94
Add a TODO comment to the effect that this is a temp fix
2023-05-16 13:38:08 +01:00
Dave Pearson
f12aeb00d2
Remove forced content tracking refresh in clear_options
...
While the fix for #2557 likely isn't *the* fix (see #2582 for some context
around that), it is a fix that works for now. As such, with the change,
there was a double attempt to refresh the content tracking in the clearing
of options in the OptionList, which shouldn't be necessary.
This removes that.
2023-05-16 13:33:57 +01:00
Rodrigo Girão Serrão
2d9a83e243
Merge pull request #2577 from Textualize/gh-actions
...
Update workflows.
2023-05-16 13:24:59 +01:00
Dave Pearson
dde3ad397f
Remove duplicated setting of height for Select ( #2576 )
2023-05-16 12:01:45 +01:00
Rodrigo Girão Serrão
a9a04dc37a
Run workflows when they are changed.
...
Related comments: https://github.com/Textualize/textual/pull/2577\#issuecomment-1549411724
2023-05-16 11:43:31 +01:00
Rodrigo Girão Serrão
41d11996e8
Merge pull request #2580 from Textualize/dismiss-top
...
Error when dismissing non-active screen.
2023-05-16 11:38:31 +01:00
Rodrigo Girão Serrão
93f4de918c
Fix circular import.
2023-05-16 11:30:14 +01:00
Rodrigo Girão Serrão
7a8d6920e8
Error when dismissing non-active screen.
...
Related issues: #2575 .
2023-05-16 11:14:54 +01:00
Rodrigo Girão Serrão
9b09b19e5f
Update workflows.
...
This caches the virtual environment so we don't have to download it every time (the cache can be cleared from the repository > Actions > Caches (on the left).
We also split black formatting into a separate workflow.
This means we can run black ONLY when *.py files are changed.
It also means all other testing jobs don't need to _also_ check formatting.
2023-05-16 10:18:30 +01:00
Will McGugan
6147c28dbf
arrange refactor ( #2569 )
...
* arrange refactor
* Apply suggestions from code review
Co-authored-by: Dave Pearson <davep@davep.org >
* Apply suggestions from code review
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com >
---------
Co-authored-by: Dave Pearson <davep@davep.org >
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com >
2023-05-15 14:53:17 +01:00
Rodrigo Girão Serrão
1bba3973bf
Merge pull request #2568 from Textualize/empty-paste
...
Fix empty paste
2023-05-15 14:31:14 +01:00
Rodrigo Girão Serrão
720bd37bba
Consume event.
2023-05-15 14:22:16 +01:00
Rodrigo Girão Serrão
f02e2fcdd9
Short-circuit paste on empty text.
...
Related comments: https://github.com/Textualize/textual/pull/2568#discussion_r1193790630
2023-05-15 14:12:22 +01:00
Rodrigo Girão Serrão
81289c328a
Fix empty paste.
...
Related issues: #2563 .
2023-05-15 13:25:01 +01:00
Rodrigo Girão Serrão
fe7812d94d
Add regression test for #2563 .
2023-05-15 13:24:48 +01:00
Dave Pearson
aff9bcdf93
Fix clearing an OptionList
...
See #2557 , credit to Will:
https://github.com/Textualize/textual/issues/2557#issuecomment-1546883815
2023-05-15 11:30:26 +01:00
Rodrigo Girão Serrão
83618db642
Merge pull request #2527 from Textualize/auto-focus
...
Add `auto_focus` to screens
2023-05-15 11:04:15 +01:00
Rodrigo Girão Serrão
0b6e3b3040
Merge branch 'main' into auto-focus
2023-05-15 10:41:15 +01:00
Rodrigo Girão Serrão
4db54eac4b
Merge pull request #2530 from Textualize/move-child-no-op
...
Moving child before/after self is a no-op.
2023-05-15 10:39:57 +01:00
Rodrigo Girão Serrão
c967661699
Merge branch 'main' into move-child-no-op
2023-05-15 10:31:43 +01:00
Will McGugan
d266e3685f
snapshot update ( #2555 )
2023-05-12 18:57:53 +02:00
Will McGugan
d061065dcc
optimization for divide
2023-05-12 18:29:51 +02:00
Will McGugan
c2e7b619f1
Revert "virtual size and docks"
...
This reverts commit 9a134b4920 .
2023-05-12 15:53:47 +02:00
Will McGugan
4e069abd2e
Revert "remove total region update"
...
This reverts commit 47970dd622 .
2023-05-12 15:49:39 +02:00
Will McGugan
47970dd622
remove total region update
2023-05-12 15:45:25 +02:00
Will McGugan
9a134b4920
virtual size and docks
2023-05-12 15:36:49 +02:00
Will McGugan
4434b59982
spacing diagram
2023-05-12 14:03:53 +02:00
Dave Pearson
a065ff572e
Correct spelling in a docstring ( #2552 )
2023-05-12 09:34:27 +02:00
Dave Pearson
5f839da684
Merge branch 'main' into directory-tree-work-in-worker
2023-05-11 15:32:17 +01:00
Dave Pearson
4d225b8ebb
Correct a comment typo
2023-05-11 15:22:19 +01:00
Rodrigo Girão Serrão
4fc56f6db8
Merge pull request #2547 from Textualize/footer-css
...
Changelog.
2023-05-11 15:12:58 +01:00
Rodrigo Girão Serrão
8dc801fec7
Changelog.
2023-05-11 15:03:21 +01:00
Rodrigo Girão Serrão
a9c38793de
Merge pull request #2546 from Textualize/footer-css
...
Use footer--description component class.
2023-05-11 15:01:01 +01:00
Rodrigo Girão Serrão
58cf825eb4
Use footer--description component class.
...
Related issues: #2544 .
2023-05-11 12:19:29 +01:00
Dave Pearson
c45126b21c
Update the ChangeLog
2023-05-11 11:19:30 +01:00