Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inner Tests #327

Open
wants to merge 43 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
b1f86e5
trying the ci
Pangoraw Jul 13, 2024
34409a7
Update FUNDING.yml
fonsp Jul 22, 2024
f18cb6a
Merge branch 'main' into wat
fonsp Jul 23, 2024
4f8741c
Speedup large notebooks: fix cache miss in `notebook_to_js` (#2973)
fonsp Aug 5, 2024
0e9b423
Add support for custom name in `@progress` (ProgressLogging.jl) (#2966)
disberd Aug 5, 2024
67666c0
Speedup large notebooks: cache cell dependencies in notebook_to_js (#…
fonsp Aug 5, 2024
e0055fc
Pkg complete_remote_package Julia 1.11 compat (#2975)
fonsp Aug 5, 2024
8b7a65d
Optimize `deep_enough_copy` for faster notebook updates (#2974)
fonsp Aug 5, 2024
7bb276b
Backend performance: delete stale connections (#2977)
fonsp Aug 5, 2024
31569ff
dev tip in PlutoRunner.jl
fonsp Aug 6, 2024
6e21828
Performance: state update throttle rework (#2979)
fonsp Aug 6, 2024
74e9801
increase frontend test timeout
fonsp Aug 6, 2024
674c322
Performance: skip background status sync throttle during reactive run…
fonsp Aug 6, 2024
6d3aaea
Ignore warning from reset_shared_state
fonsp Aug 6, 2024
3c55edf
throttle test more debugging
fonsp Aug 10, 2024
ecdb1ae
tweak error display css
fonsp Aug 10, 2024
45be7c1
Tidy up frontend (#2987)
savq Aug 11, 2024
b304025
Don't clear main menu file picker on blur (#2990)
fonsp Aug 12, 2024
61e4655
variable renames
fonsp Aug 12, 2024
01135f7
Fix intermediate bond values again (#2992)
fonsp Aug 12, 2024
fb2f187
Fix intermediate bond values again part 2
fonsp Aug 12, 2024
d00fe98
🌸 fix #2755
fonsp Aug 12, 2024
ac98ab0
Upgrade immer to 10.1.1
fonsp Aug 12, 2024
ca84b8f
Revert "Upgrade immer to 10.1.1"
fonsp Aug 12, 2024
7da9097
Properly cache some useEffects (#2995)
fonsp Aug 13, 2024
b17218f
tweak frontend test timeout
fonsp Aug 13, 2024
470b3c7
Update Throttled.jl
fonsp Aug 13, 2024
73e9250
Set IOContext for redirected stdout/stderr (#2824)
danielwe Aug 14, 2024
45c0a02
Upgrade immer to 10.1.1 (#2993)
fonsp Aug 14, 2024
159dddc
Keyboard navigation for interactive array viewer (#2996)
fonsp Aug 14, 2024
294636e
github actions: hide cdn bundle warning (#2998)
fonsp Aug 14, 2024
1162af4
🐌 fix #2994
fonsp Aug 15, 2024
974f7d2
Update CellOutput.js
fonsp Aug 15, 2024
bd67344
Fix state out of sync issue caused by race condition (#2989)
fonsp Aug 15, 2024
0a29af8
Update Project.toml
fonsp Aug 15, 2024
7354eb8
Revert "Upgrade immer to 10.1.1 (#2993)"
fonsp Aug 15, 2024
a599a2a
Fix macroexpand on Julia 1.11 (#3000)
fonsp Aug 15, 2024
c08add3
Avoid ConstructionBase bug https://github.com/JuliaObjects/Constructi…
fonsp Aug 20, 2024
df86125
Bump FuzzyCompletions to 0.5.5 (#3004)
Pangoraw Aug 20, 2024
2d5b9bb
🗄️ Split PlutoRunner into files (#3007)
fonsp Aug 23, 2024
aaa835b
Fix out of order state update messages (#3010)
fonsp Aug 24, 2024
df24abb
Merge remote-tracking branch 'original/main' into wat
disberd Aug 28, 2024
7b62d9e
actually do the change
disberd Aug 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
github: fonsp
open_collective: julialang
2 changes: 2 additions & 0 deletions .github/workflows/IntegrationTest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ on:
branches-ignore:
- release

env:
JULIA_PLUTO_IGNORE_CDN_BUNDLE_WARNING: true

jobs:
test:
Expand Down
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name = "Pluto"
uuid = "c3e4b0f8-55cb-11ea-2926-15256bba5781"
license = "MIT"
authors = ["Fons van der Plas <fons@plutojl.org>"]
version = "0.19.45"
version = "0.19.46"

[deps]
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
Expand Down Expand Up @@ -42,7 +42,7 @@ Dates = "0, 1"
Downloads = "1"
ExpressionExplorer = "0.5, 0.6, 1"
FileWatching = "1"
FuzzyCompletions = "=0.5.4"
FuzzyCompletions = "=0.5.5"
HTTP = "^1.5.2"
HypertextLiteral = "0.7, 0.8, 0.9"
InteractiveUtils = "1"
Expand Down
5 changes: 3 additions & 2 deletions frontend/common/PlutoConnection.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ const create_ws_connection = (address, { on_message, on_socket_close }, timeout_

const send_encoded = (message) => {
const encoded = pack(message)
if (socket.readyState === WebSocket.CLOSED || socket.readyState === WebSocket.CLOSING) throw new Error("Socket is closed")
socket.send(encoded)
}

Expand Down Expand Up @@ -266,7 +267,7 @@ const default_ws_address = () => ws_address_from_base(window.location.href)
*
* @param {{
* on_unrequested_update: (message: PlutoMessage, by_me: boolean) => void,
* on_reconnect: () => boolean,
* on_reconnect: () => Promise<boolean>,
* on_connection_status: (connection_status: boolean, hopeless: boolean) => void,
* connect_metadata?: Object,
* ws_address?: String,
Expand Down Expand Up @@ -377,7 +378,7 @@ export const create_pluto_connection = async ({
await connect() // reconnect!

console.log(`Starting state sync`, new Date().toLocaleTimeString())
const accept = on_reconnect()
const accept = await on_reconnect()
console.log(`State sync ${accept ? "" : "not "}successful`, new Date().toLocaleTimeString())
on_connection_status(accept, false)
if (!accept) {
Expand Down
19 changes: 15 additions & 4 deletions frontend/common/useEventListener.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
import { useCallback, useEffect } from "../imports/Preact.js"

/**
* @typedef EventListenerAddable
* @type Document | HTMLElement | Window | EventSource | MediaQueryList | null
*/

export const useEventListener = (
/** @type {Document | HTMLElement | Window | EventSource | MediaQueryList | null} */ element,
/** @type {EventListenerAddable | import("../imports/Preact.js").Ref<EventListenerAddable>} */ element,
/** @type {string} */ event_name,
/** @type {EventListenerOrEventListenerObject} */ handler,
/** @type {any[] | undefined} */ deps
) => {
let handler_cached = useCallback(handler, deps)
useEffect(() => {
if (element == null) return
element.addEventListener(event_name, handler_cached)
return () => element.removeEventListener(event_name, handler_cached)
const e = element
const useme =
e == null || e instanceof Document || e instanceof HTMLElement || e instanceof Window || e instanceof EventSource || e instanceof MediaQueryList
? /** @type {EventListenerAddable} */ (e)
: e.current

if (useme == null) return
useme.addEventListener(event_name, handler_cached)
return () => useme.removeEventListener(event_name, handler_cached)
}, [element, event_name, handler_cached])
}
Loading
Loading