\n\nMaybe it's possible to make `ReactiveSequence` generic for both way like this.",[3182],{"name":3183,"color":3184},"question","d876e3",454,"[hmr] Advanced generic typing","2025-09-25T10:43:48Z","https://github.com/promplate/pyth-on-line/issues/454",0.77960277,{"description":3191,"labels":3192,"number":3193,"owner":3172,"repository":3173,"state":3174,"title":3194,"updated_at":3195,"url":3196,"score":3197},"This is urgent. I can't imagine pitching the HMR ecosystem without having an intuitive documentation 😅",[],413,"Document HMR behaviors and usage of `reactivity` members","2025-09-05T05:02:24Z","https://github.com/promplate/pyth-on-line/issues/413",0.7804935,{"description":3199,"labels":3200,"number":3202,"owner":3172,"repository":3173,"state":3174,"title":3203,"updated_at":3204,"url":3205,"score":3206},"This would fix #408, but may not be ideal.\n\n1. Methods `__delitem__`, `__setitem__` (with `check_equality=True`), and `__getitem__` need be updated\n2. Even `__iter__` might need to call `__getitem__` to ensure consistency, or we still can't promise they are in sync\n3. Users can manually sync via simply `self.update(self._data)` if needed\n\nHowever, without this, direct modifications to `__dict__` or `globals()` still won't be accessible through `__getattr__`, as noted in #211—this should be considered.\n",[3201],{"name":3183,"color":3184},431,"[hmr] Add an `strict` option in `ReactiveMappingProxy` to always check `_data.__getitem__`","2025-09-11T06:00:01Z","https://github.com/promplate/pyth-on-line/issues/431",0.7827087,{"description":3208,"labels":3209,"number":3214,"owner":3172,"repository":3173,"state":3174,"title":3215,"updated_at":3216,"url":3217,"score":3218},"And `__len__` may should be decorated with `DerivedMethod`, too. (Previously `DerivedMethod`'s `__self__` must be hashable, which is fixed since 77e83e404ad3fa5636ec3e423731ea6ca8ffa543)\n",[3210,3213],{"name":3211,"color":3212},"enhancement","a2eeef",{"name":3183,"color":3184},432,"[hmr] `ReactiveMappingProxy.update` should be batched","2025-09-11T07:13:53Z","https://github.com/promplate/pyth-on-line/issues/432",0.7864774,{"description":3220,"labels":3221,"number":3222,"owner":3172,"repository":3173,"state":3174,"title":3223,"updated_at":3224,"url":3225,"score":3226},"### Case 1\n\n```\nfoo/\nfoo/bar.py\n```\n\nWhen renaming `foo/bar.py` into `foo/__init__.py`.\n\n### Case 2\n\n```\nfoo/\nfoo/__init__.py\n```\n\nWhen renaming `foo/__init__.py` into `foo/bar.py`.\n",[],329,"[hmr] Refactoring between namespace and regular packages not supported","2025-06-17T18:55:41Z","https://github.com/promplate/pyth-on-line/issues/329",0.8160364,{"description":3228,"labels":3229,"number":3231,"owner":3172,"repository":3173,"state":3174,"title":3232,"updated_at":3233,"url":3234,"score":3235},"See: https://svelte.dev/docs/svelte/$derived#Overriding-derived-values\n\n> Derived expressions are recalculated when their dependencies change, but you can temporarily override their values by reassigning them. This can be useful for things like _optimistic UI_, where a value is derived from the ‘source of truth’ (such as data from your server) but you’d like to show immediate feedback to the user\n>\n> ```svelte\n> \u003Cscript>\n> \tlet { post, like } = $props();\n> \n> \tlet likes = $derived(post.likes);\n> \n> \tasync function onclick() {\n> \t\t// increment the `likes` count immediately...\n> \t\tlikes += 1;\n> \n> \t\t// and tell the server, which will eventually update `post`\n> \t\ttry {\n> \t\t\tawait like();\n> \t\t} catch {\n> \t\t\t// failed! roll back the change\n> \t\t\tlikes -= 1;\n> \t\t}\n> \t}\n> \u003C/script>\n> ```",[3230],{"name":3211,"color":3212},416,"[hmr] Support overriding `Derived` values to enable optimistic updates","2025-09-05T17:05:56Z","https://github.com/promplate/pyth-on-line/issues/416",0.82004327,{"description":3237,"labels":3238,"number":3240,"owner":3172,"repository":3173,"state":3174,"title":3241,"updated_at":3242,"url":3243,"score":3244},"For a standard reaction model:\n\n```\n########## ----> ########### ----> ##########\n# Signal # # Derived # # Effect #\n########## \u003C - - ########### \u003C - - ##########\n```\n\n\nA `Derived` referenced only by `Signal`s is unreachable and should be GC’d, yet we can’t make every `Signal → Derived` reference weak or the `Derived` may vanish too soon.\n\nSolution: give `Derived` an `unsubscribe` method that disposes it once no `BaseComputation` holds it.\n\n> Edit: or in a `BaseComputation.__del__`\n\nWe may also need to remind users not to treat `Derived` as a lazy `Effect`. But wait, then what can they use if they just need a lazy `Effect`? So we may implement a `weak=False` attribute in `Derived` and `AsyncDerived` to allow user control the lifespan of a `Derived` (just like we provide `force_flush=True` for `Batch`s).",[3239],{"name":3211,"color":3212},453,"[hmr] `WeakDerived` or something similar","2025-09-25T06:49:07Z","https://github.com/promplate/pyth-on-line/issues/453",0.8221523,{"description":3246,"labels":3247,"number":3248,"owner":3172,"repository":3173,"state":3174,"title":3249,"updated_at":3250,"url":3251,"score":3252},"Related: b38afd8fd9095d6814218ac11ae4275316e3b741",[],348,"[hmr] Need tests for `cache_across_reloads` gc behaviors","2025-07-20T11:39:27Z","https://github.com/promplate/pyth-on-line/issues/348",0.83119357,{"description":3254,"labels":3255,"number":3256,"owner":3172,"repository":3173,"state":3174,"title":3257,"updated_at":3258,"url":3259,"score":3260},"Besides [`watchfiles`](https://github.com/samuelcolvin/watchfiles), we may also support popular fs-watching libraries like\n\n- [`watchdog`](https://github.com/gorakhargosh/watchdog)\n- the legacy [`watchgod`](https://github.com/samuelcolvin/watchfiles/tree/watchgod)\n\nAnd we may implement a simple polling-based watcher like [statreload.py](https://github.com/Kludex/uvicorn/blob/master/uvicorn/supervisors/statreload.py) bundled in uvicorn.\n\nFor some backends, we may be able to do some smart filtering stuff like only watch for used files, which can be inferred from `ReactiveModules.instances` and or the fs signals in `fs.py`",[],410,"[hmr] Support more watcher backends","2025-09-05T04:42:20Z","https://github.com/promplate/pyth-on-line/issues/410",0.8328521,["Reactive",3262],{},["Set"],["ShallowReactive",3265],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f5qCBNV9ZBcIwbDBP_gHqEaxfnmVAJrtNgY-NH1_luCs":-1},"/promplate/pyth-on-line/322"]