{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":395444944,"defaultBranch":"master","name":"obsidian-custom-js","ownerLogin":"saml-dev","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-08-12T21:11:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/15079088?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717722254.0","currentOid":""},"activityList":{"items":[{"before":"fb32da57e8678340cf2b5811fa91e7a47104e543","after":"ac0da859a53da2e3beea68a8f0762408923b56a5","ref":"refs/heads/master","pushedAt":"2024-06-07T01:04:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"ea92d8de0756673c6c4faee53794b62c1949fca3","after":"fb32da57e8678340cf2b5811fa91e7a47104e543","ref":"refs/heads/master","pushedAt":"2024-06-07T01:02:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Update README.md to mention singleton classes (#91)\n\nThe README does not indicate clearly that CustomJS creates singleton instances of classes. While this is useful for some usecases I found this incredibly confusing when trying to create custom classes with constructors.","shortMessageHtmlLink":"Update README.md to mention singleton classes (#91)"}},{"before":"84b4b9df4f1207e8b23e06e0be87409b3558da88","after":"ea92d8de0756673c6c4faee53794b62c1949fca3","ref":"refs/heads/master","pushedAt":"2024-06-07T01:01:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Call deconstructors on plugin unload (#89)\n\n* Call deconstructors on plugin unload\r\n\r\n* Fix linter\r\n\r\n* Fix linter","shortMessageHtmlLink":"Call deconstructors on plugin unload (#89)"}},{"before":"c99f25bf94c56122cbe391c6f63b081658c0c35c","after":"84b4b9df4f1207e8b23e06e0be87409b3558da88","ref":"refs/heads/master","pushedAt":"2024-05-01T16:37:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"clarify / simplify description","shortMessageHtmlLink":"clarify / simplify description"}},{"before":"fab52ee97e295799a064cccebd00234e9c2c4bd9","after":"c99f25bf94c56122cbe391c6f63b081658c0c35c","ref":"refs/heads/master","pushedAt":"2024-05-01T16:36:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"35b48dc1a902663425f537454b7b8b107bab20fa","after":"fab52ee97e295799a064cccebd00234e9c2c4bd9","ref":"refs/heads/master","pushedAt":"2024-05-01T14:08:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Improve synchronous script initialization (#86)\n\n* Improve synchronous script initialization\r\n\r\n- Avoid concurrent calls to `loadClasses()`\r\n- Add `cJS()` API for a more direct module access\r\n\r\n* Improve synchronous script initialization\r\n\r\n- Avoid concurrent calls to `loadClasses()`\r\n- Add `cJS()` API for a more direct module access\r\n\r\n* Improve synchronous script initialization\r\n\r\n- Avoid concurrent calls to `loadClasses()`\r\n- Add `cJS()` API for a more direct module access\r\n\r\n* Improve synchronous script initialization\r\n\r\n- Avoid concurrent calls to `loadClasses()`\r\n- Add `cJS()` API for a more direct module access\r\n\r\n* Convert existing README.md content to new cJS syntax\r\n\r\n* Several improvements to the README contents\r\n\r\n* Allow async callbacks as `cJS()` param\r\n\r\nSample:\r\n\r\n`cJS( async (JS) => {await JS.MyModule.soSomething()} )`\r\n\r\n* Improve README.md with new async callback info","shortMessageHtmlLink":"Improve synchronous script initialization (#86)"}},{"before":"0b87fdb70a0049d2b4cfe9d5efbad6aec55e68b0","after":"35b48dc1a902663425f537454b7b8b107bab20fa","ref":"refs/heads/master","pushedAt":"2024-03-09T22:17:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"1604143dd69d5c8ee93ab744feb4bd1b04f6cb9a","after":"0b87fdb70a0049d2b4cfe9d5efbad6aec55e68b0","ref":"refs/heads/master","pushedAt":"2024-03-09T22:08:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Implement Deconstructor Management for Dynamic Class Instances in CustomJS (#79)\n\n* Add deconstructor handling for dynamic class instances\r\n\r\nImplemented a mechanism to manage deconstructors in dynamically loaded class instances within CustomJS. This includes registering deconstructors upon class evaluation and ensuring proper cleanup before reloading or discarding classes to avoid duplicate event registration. The list of deconstructors is cleared after execution to maintain clean state.\r\n\r\n* Added a setting to specify whether the startup scripts should also be re-executed when the scripts are reloaded.\r\n\r\nDefault is NO for compatibility reasons.\r\n\r\n* The errors thrown by `eslint` have been fixed.\r\n\r\n* Adjust Prettier EOL handling for better cross-platform compatibility\r\n\r\nOtherwise you suddenly have 500 errors and only the correct line ends are uploaded to git.\r\n\r\n* Readme extended with explanations and examples for using the `deconstructor` & re-execute start scripts features.","shortMessageHtmlLink":"Implement Deconstructor Management for Dynamic Class Instances in Cus…"}},{"before":"68818795ca84619ed3f8ed290a56607a91223e96","after":"1604143dd69d5c8ee93ab744feb4bd1b04f6cb9a","ref":"refs/heads/master","pushedAt":"2024-01-10T04:28:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Add GH actions (#82)\n\n* packages: bump node and add nvmrc\r\n\r\n* packages: commit package-lock\r\n\r\n* github-actions: add build / lint actions\r\n\r\n* lint: ban console\r\n\r\n* github-actions: fail build step on warnings","shortMessageHtmlLink":"Add GH actions (#82)"}},{"before":"d25e2e9aa0f1ccdd8b9ed08f79798c0fbba28ee0","after":"68818795ca84619ed3f8ed290a56607a91223e96","ref":"refs/heads/master","pushedAt":"2024-01-06T03:43:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"prettier: install prettier and eslint (#80)\n\n* prettier: install prettier and eslint\r\n\r\n* prettier: format files\r\n\r\n* eslint: add eslint\r\n\r\n* eslint: run eslint and fix type errors\r\n\r\n* eslint: fix final issues","shortMessageHtmlLink":"prettier: install prettier and eslint (#80)"}},{"before":"aa1cee766484831af1c553e58a876349d1786f6a","after":"d25e2e9aa0f1ccdd8b9ed08f79798c0fbba28ee0","ref":"refs/heads/master","pushedAt":"2023-12-29T04:08:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"25ef08912d71f21dd8c97398719ca0b8b7fecd6a","after":"aa1cee766484831af1c553e58a876349d1786f6a","ref":"refs/heads/master","pushedAt":"2023-12-29T04:05:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Add factory method for creating new class instances in CustomJS (#78)\n\nThis commit introduces a new factory method to the CustomJS evalFile function, allowing the creation of new instances of dynamically imported classes. This change enables users to instantiate new objects as needed, instead of relying solely on a single, shared instance. The method `createClassNameInstance` has been added to the `window.customJS` object, which returns a new instance of the specified class each time it is called.","shortMessageHtmlLink":"Add factory method for creating new class instances in CustomJS (#78)"}},{"before":"52ad0dd70739ee89cc1962a84f760069e3c1c039","after":"25ef08912d71f21dd8c97398719ca0b8b7fecd6a","ref":"refs/heads/master","pushedAt":"2023-10-11T00:40:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"944d502e40d8e1c5ca0dcf008bfead0d192a0728","after":"52ad0dd70739ee89cc1962a84f760069e3c1c039","ref":"refs/heads/master","pushedAt":"2023-10-08T23:02:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"bump versions","shortMessageHtmlLink":"bump versions"}},{"before":"ccb4d9a4574d706494e19a231dd8cfc4e496f8b6","after":"944d502e40d8e1c5ca0dcf008bfead0d192a0728","ref":"refs/heads/master","pushedAt":"2023-10-07T18:42:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Add app to customJS object (global app is deprecated) (#66)","shortMessageHtmlLink":"Add app to customJS object (global app is deprecated) (#66)"}},{"before":"86c8a81ad069afba50f367f5859eb50db5a5dfdb","after":"ccb4d9a4574d706494e19a231dd8cfc4e496f8b6","ref":"refs/heads/master","pushedAt":"2023-09-25T22:37:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"root: add local development steps (#64)","shortMessageHtmlLink":"root: add local development steps (#64)"}},{"before":"33d040b75ed226080c83b372ffcaa396ea547547","after":"86c8a81ad069afba50f367f5859eb50db5a5dfdb","ref":"refs/heads/master","pushedAt":"2023-08-06T22:55:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"release new PRs","shortMessageHtmlLink":"release new PRs"}},{"before":"f4e58b53021fe0d159289f6617e9abb502e6a229","after":"33d040b75ed226080c83b372ffcaa396ea547547","ref":"refs/heads/master","pushedAt":"2023-08-06T22:52:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Enable debugging (#61)\n\n* Switch to single quotes\r\n\r\n* Enable proper debugging and stack traces\r\n\r\n* Use debuggable-eval to capture syntax errors","shortMessageHtmlLink":"Enable debugging (#61)"}},{"before":"0b2a05440ee742e08ead61875f1d80640ab60fd8","after":"f4e58b53021fe0d159289f6617e9abb502e6a229","ref":"refs/heads/master","pushedAt":"2023-08-06T22:52:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Switch to single quotes (#59)","shortMessageHtmlLink":"Switch to single quotes (#59)"}},{"before":"6417ce4f90b2d9eeeb7becea37d39d77bbb658e0","after":"0b2a05440ee742e08ead61875f1d80640ab60fd8","ref":"refs/heads/master","pushedAt":"2023-07-28T01:24:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Add startup scripts (#56)\n\n* Add startup scripts\r\n\r\n* Preserve state","shortMessageHtmlLink":"Add startup scripts (#56)"}},{"before":"b6b5392b20b16a4459f9be04aebdad1715090011","after":"6417ce4f90b2d9eeeb7becea37d39d77bbb658e0","ref":"refs/heads/master","pushedAt":"2023-07-21T23:16:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Allow run invocable scripts (#57)","shortMessageHtmlLink":"Allow run invocable scripts (#57)"}},{"before":"120bc373d214c444ec160a60632a2329afce59a6","after":"b6b5392b20b16a4459f9be04aebdad1715090011","ref":"refs/heads/master","pushedAt":"2023-07-21T01:42:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Fix typescript ignores (#55)\n\n* Fix typescript ignores\r\n\r\n* Proper fix for compareVersions import\r\n\r\n* Fix highlighted error in VSCode\r\n\r\n---------\r\n\r\nCo-authored-by: saml-dev ","shortMessageHtmlLink":"Fix typescript ignores (#55)"}},{"before":"a80f85aa6563e62b08c4e8dc474e4d6dc1f8e1ec","after":"120bc373d214c444ec160a60632a2329afce59a6","ref":"refs/heads/master","pushedAt":"2023-07-21T01:39:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"saml-dev","name":null,"path":"/saml-dev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15079088?s=80&v=4"},"commit":{"message":"Import obsidian module (#53)","shortMessageHtmlLink":"Import obsidian module (#53)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0wN1QwMTowNDowNS4wMDAwMDBazwAAAARevXih","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0yMVQwMTozOTo0Mi4wMDAwMDBazwAAAANaC2Wz"}},"title":"Activity · saml-dev/obsidian-custom-js"}