{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":460531817,"defaultBranch":"main","name":"js","ownerLogin":"mitranim","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-02-17T17:11:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4263831?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726401872.0","currentOid":""},"activityList":{"items":[{"before":"8a3f6f173068e104c1cd05834abbf5fde0c3b30b","after":"8cef63ec8a404541aa5e100842ab4ed0d85018af","ref":"refs/heads/main","pushedAt":"2024-09-15T12:02:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"remove HTTP builders; minor tweaks in other modules\n\n`http.mjs`:\n\n* Dropped `HttpBui`.\n* Dropped `ReqBui`.\n* Dropped `ResBui`.\n* Dropped `ReqRou..method` in favor of `ReqRou..req.method`.\n* Dropped `ReqRou..signal` in favor of `ReqRou..req.signal`.\n* Renamed `ReqRou..meth` → `ReqRou..method` and `ReqRou..someMeth` →\n `ReqRou..someMethod` for consistency with the `fetch` / `Request` API.\n* Renamed `HttpErr` → `ErrHttp`.\n* Renamed all constants.\n* Added various constants.\n* Added `resOk`.\n* When `Cookie..install` invokes the `document.cookie` setter, it passes a\n string rather than an object. This avoids exceptions in badly programmed\n scripts that monkeypatch the `document.cookie` setter with their own buggy\n implementation.\n\nMotivation for dropping request and response builders: the implementation\nhad forward compatibility problems and caused edge case breakages in some\nbrowsers, and any alternative design has ergonomic problems. As a result,\nthe abstraction is not worth it.\n\n`coll.mjs`:\n\n* Methods `.added` in various collection classes now return a boolean\n indicating whether the entry was newly added or had already existed.\n Sets detect this by value. Maps detect this by key.\n* Dropped `Bset..addedOpt`.\n* Dropped `ClsVec..added`.\n\n`test.mjs`:\n\n* `no` is also exported as `false`.\n* `ok` is also exported as `true`.","shortMessageHtmlLink":"remove HTTP builders; minor tweaks in other modules"}},{"before":"af46940bd54848096222421e22b2e44d186490f9","after":"8a3f6f173068e104c1cd05834abbf5fde0c3b30b","ref":"refs/heads/main","pushedAt":"2024-08-26T10:34:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"support `Node..prepend` in DOM shim; acyclic object printing","shortMessageHtmlLink":"support Node..prepend in DOM shim; acyclic object printing"}},{"before":"22e786fcf049f4931870fb526f2491b2120709e1","after":"af46940bd54848096222421e22b2e44d186490f9","ref":"refs/heads/main","pushedAt":"2024-08-12T14:32:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"`dom_shim`: correction in definition of `placeholder`","shortMessageHtmlLink":"dom_shim: correction in definition of placeholder"}},{"before":"646d25a1b87c38515886e8611d1084c1048049a8","after":"22e786fcf049f4931870fb526f2491b2120709e1","ref":"refs/heads/main","pushedAt":"2024-08-12T14:31:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"`dom_shim`: fix definition of `placeholder`","shortMessageHtmlLink":"dom_shim: fix definition of placeholder"}},{"before":"a8b0507f46d9f74f1f1635c478f10ab93c68eb53","after":"646d25a1b87c38515886e8611d1084c1048049a8","ref":"refs/heads/main","pushedAt":"2024-08-12T14:19:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"simplify `prax` rendering API, other minor tweaks\n\n`prax.mjs` no longer provides black-magic proxies for instantiating\nelements, and no longer provides tools for adding methods to native\nelement prototypes (which was always optional). Instead, user code\nis expected to render elements mostly by calling methods such as\n`ren.elemHtml`, which now support mutating an existing element\nprovided as input.\n\n`obj.mjs`: removed prototype-patching tools.\n\nRenamed \"dom glob\" files to \"dom global\" for clarity. The term \"glob\"\nhas an unrelated established meaning.","shortMessageHtmlLink":"simplify prax rendering API, other minor tweaks"}},{"before":"50887c83f3f3b627e0fe1c1e2a9e2bce21e96ed9","after":"a8b0507f46d9f74f1f1635c478f10ab93c68eb53","ref":"refs/heads/main","pushedAt":"2024-06-24T13:30:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"minor improvements in cookies and DOM shim","shortMessageHtmlLink":"minor improvements in cookies and DOM shim"}},{"before":"e27db0c921b57c52c0f30b2e94ffdc11f89976bc","after":"50887c83f3f3b627e0fe1c1e2a9e2bce21e96ed9","ref":"refs/heads/main","pushedAt":"2024-02-21T14:41:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"better `Emp`, faster `reverse`, detailed `show`","shortMessageHtmlLink":"better Emp, faster reverse, detailed show"}},{"before":"e27db0c921b57c52c0f30b2e94ffdc11f89976bc","after":null,"ref":"refs/tags/0.1.53","pushedAt":"2024-02-21T14:41:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"}},{"before":"876ad233164214a658c4d0ad345a3ef2bf3dcbe3","after":"e27db0c921b57c52c0f30b2e94ffdc11f89976bc","ref":"refs/heads/main","pushedAt":"2024-02-21T14:39:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"better `Emp`, faster `reverse`, detailed `show`","shortMessageHtmlLink":"better Emp, faster reverse, detailed show"}},{"before":"dd086d1bb6f7287c515ce5be42707b6ddf913b97","after":"876ad233164214a658c4d0ad345a3ef2bf3dcbe3","ref":"refs/heads/main","pushedAt":"2024-02-01T11:02:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"minor internal fixes and tweaks\n\nIn testing utils, deep equality now detects and avoids cyclic references.\nObject equality now correctly compares own property symbols in addition\nto own regular properties.\n\n`isDict` no longer has a false positive for function prototypes.\n\nSlightly faster `arrHex`.\n\nSlightly better printing of plain objects in `show`.\n\nMisc additions in `prax.mjs`.","shortMessageHtmlLink":"minor internal fixes and tweaks"}},{"before":"0040e62c1e9ea1f8a02a583f4f4469ab75de771a","after":"dd086d1bb6f7287c515ce5be42707b6ddf913b97","ref":"refs/heads/main","pushedAt":"2024-01-14T16:39:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"better test assertions; additions to path utils","shortMessageHtmlLink":"better test assertions; additions to path utils"}},{"before":"a25b08d80960d237e10f25b595370ef76168ad41","after":"0040e62c1e9ea1f8a02a583f4f4469ab75de771a","ref":"refs/heads/main","pushedAt":"2023-12-13T12:17:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"minor additions to DOM shim; minor bugfixes","shortMessageHtmlLink":"minor additions to DOM shim; minor bugfixes"}},{"before":"521cbf4ee51dbda5049805f20811236e5916c74a","after":"a25b08d80960d237e10f25b595370ef76168ad41","ref":"refs/heads/main","pushedAt":"2023-12-11T18:48:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"minor perf improvements; minor additions to DOM shim","shortMessageHtmlLink":"minor perf improvements; minor additions to DOM shim"}},{"before":"9d78fea4227bc1db836f78b1e20572a866ffb65e","after":"521cbf4ee51dbda5049805f20811236e5916c74a","ref":"refs/heads/main","pushedAt":"2023-11-24T14:14:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"tweaks in HTML/DOM rendering; other misc","shortMessageHtmlLink":"tweaks in HTML/DOM rendering; other misc"}},{"before":"c6b5e090c1805c7c0344d6679910a834727d1a75","after":"9d78fea4227bc1db836f78b1e20572a866ffb65e","ref":"refs/heads/main","pushedAt":"2023-09-18T14:05:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"fix edge cases in query encoding; other minor tweaks\n\n* `url.mjs`:\n\n * `Url..clone` and other ways of instantiating one url from another\n now correctly preserve encoded sequences in query strings.\n\n* `http_deno.mjs`:\n\n * `Srv` now makes it easier to override the listener, and supports\n HTTP/TLS via `.certFile` in listener options.\n\n* `lang.mjs`:\n\n * `reqSubCls` should now actually work.","shortMessageHtmlLink":"fix edge cases in query encoding; other minor tweaks"}},{"before":"e6d0d01b27aa1ad25adc38928af54009d3bb8132","after":"c6b5e090c1805c7c0344d6679910a834727d1a75","ref":"refs/heads/main","pushedAt":"2023-08-22T15:23:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"avoid `String..replaceAll` for backwards compatibility","shortMessageHtmlLink":"avoid String..replaceAll for backwards compatibility"}},{"before":"87a34de7fb63edc99961d8f6977200abe658464a","after":"e6d0d01b27aa1ad25adc38928af54009d3bb8132","ref":"refs/heads/main","pushedAt":"2023-07-24T15:36:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"table support in DOM shim, misc tweaks in various modules\n\n* `dom_shim.mjs`:\n\n * Add `HTMLTableElement` with various table-specific getters.\n\n* `coll.mjs`:\n\n * Add `Bset.from`.\n\n* `iter.mjs`:\n\n * When `len` takes an iterator, it now actually counts the elements\n in that iterator. Previously, it consumed the iterator and\n returned 0, because the iterator no longer has any elements left,\n hence its NEW length is 0. This was done to avoid \"lying\".\n However, there are use cases where it seems more useful to report\n the OLD length, the number of consumed elements, hence the\n change.\n\n* `lang.mjs`:\n\n * Drop `sym`.\n\n* `prax.mjs`:\n\n * Add `PropBui..delete`.\n\n* `str.mjs`:\n\n * Add `regEsc`.\n\n* `url.mjs`:\n\n * `Loc`: previously-void methods now return `this`.\n\n* `io_deno.mjs`:\n\n * `ReaderStreamSource..size`: convert from getter property to method.","shortMessageHtmlLink":"table support in DOM shim, misc tweaks in various modules"}},{"before":"f8f033f61f38ad87786b15a98d810c87bae35736","after":"87a34de7fb63edc99961d8f6977200abe658464a","ref":"refs/heads/main","pushedAt":"2023-05-10T15:09:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"fix default test/benchmark filter","shortMessageHtmlLink":"fix default test/benchmark filter"}},{"before":"41253fd0ffab7174d352671f410e726f809dbb9a","after":"f8f033f61f38ad87786b15a98d810c87bae35736","ref":"refs/heads/main","pushedAt":"2023-05-10T14:29:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"better test filtering and reporting, struct getters, terminal clearing\n\n* `test.mjs`:\n\n * Replaced `ConsoleOkReporter`, which was unusable for tests, with\n `ConsoleStartReporter`, which is usable for tests.\n\n * Improved the handling of test/benchmark filter regexps. The new\n behavior should be consistent with Go testing.\n\n* `obj.mjs`:\n\n * In `Struct` subclasses, getters declared in the target class now\n take priority over fields declared in the spec. This allows\n struct subclasses to override fields with getters.\n\n * Replaced `StructType..parentNode` and `StructSpec..parentNode`\n with `StructType..getCls` and `StructSpec.getCls` respectively.\n\n* `cli.mjs`:\n\n * Terminal hard-clear should be more reliable.\n\n* Other misc tweaks.","shortMessageHtmlLink":"better test filtering and reporting, struct getters, terminal clearing"}},{"before":"ffecaa16e4da81cda9979afda72c924f6559696c","after":"41253fd0ffab7174d352671f410e726f809dbb9a","ref":"refs/heads/main","pushedAt":"2023-04-25T05:20:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"fix DOM compatibility in `obj.mjs`.`MixChild`","shortMessageHtmlLink":"fix DOM compatibility in obj.mjs.MixChild"}},{"before":"9bf81afeae3c472ca374cce48af551ce62b22304","after":"ffecaa16e4da81cda9979afda72c924f6559696c","ref":"refs/heads/main","pushedAt":"2023-04-24T12:15:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"add `fold1`, `arrOpt`, `clear`, other minor tweaks","shortMessageHtmlLink":"add fold1, arrOpt, clear, other minor tweaks"}},{"before":"46b2617025df7f94b307cdcf5b151595bb8c4121","after":"9bf81afeae3c472ca374cce48af551ce62b22304","ref":"refs/heads/main","pushedAt":"2023-03-14T11:41:05.435Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitranim","name":"Nelo Mitranim","path":"/mitranim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4263831?s=80&v=4"},"commit":{"message":"better \"struct\" classes, \"child\" mixins, other improvements\n\n* `obj.mjs`:\n\n * Revised `Struct`, splitting it into multiple classes:\n\n * `StructLax`\n\n * `StructFlex`\n\n * `StructStrict`\n\n * Improved `MixChild`.\n\n * When the superclass has both `get parentNode` and `set parentNode`,\n the subclass does not override the getter and setter, and only\n defines additional methods. This ensures better compatibility\n with our DOM shim and other similar cases.\n\n * In other cases, we still define our own getter and setter.\n\n * Added `MixChildCon` (moved from `prax.mjs`.`MixChild`).\n Improved the implementation.\n\n* `prax.mjs`:\n\n * Moved `MixChild` to `obj.mjs`.`MixChildCon`.\n\n * Added `PropBui..bg` and `PropBui..link`.\n\n* `str.mjs`:\n\n * `stripPre` and `stripSuf` now strip only once.\n\n * Added `stripPreAll` and `stripSufAll` that strip repeatedly.\n\n* `time.mjs`:\n\n * Removed `DateTime..mut`. It produced incorrect dates in many\n cases. A correct implementation appears to be impossible with the\n current `Date` API.\n\n * `Finite` now allows subclasses to override the formatter, by\n defining static method `.makeFmt`.\n\n* `dom_reg.mjs`: fixed mapping `img` ←→ `HTMLImageElement`.\n\n* `dom_shim.mjs`: fixed `.value` getter for checkbox inputs.\n\n* `iter.mjs`: added `compactDict`.\n\n* `lang.mjs`:\n\n * `errWrap` now uses native error causes when possible, falling back\n on `errTrans` if the JS engine doesn't support error causes.\n\n * Added `errTrans` which has the old behavior of `errWrap`, always\n generating a new error instance with a new trace that includes\n the message from the previous error but not its trace.\n\n * Removed `hasInherited`. The implementation was incorrect and the\n goal was questionable.\n\n* `cli.mjs`:\n\n * Swapped parameters in `timed`.\n\n* `coll.mjs`:\n\n * Renamed `Bmap..setVal` to `Bmap..setted`. Note that there is NO\n change in `http.mjs`.`Cookie..setVal`.","shortMessageHtmlLink":"better \"struct\" classes, \"child\" mixins, other improvements"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQxMjowMjo1NC4wMDAwMDBazwAAAAS2qk-2","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQxMjowMjo1NC4wMDAwMDBazwAAAAS2qk-2","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0xNFQxMTo0MTowNS40MzUyMjNazwAAAAMDCn-0"}},"title":"Activity · mitranim/js"}