{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":99291118,"defaultBranch":"master","name":"dolphin-memory-engine","ownerLogin":"aldelaro5","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-08-04T01:46:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8932978?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1723403658.0","currentOid":""},"activityList":{"items":[{"before":"bcb146fe5a9d288be8d5ce053b0f1a522052499d","after":"090d19dbc48ff9f04d069ee8ecb472caed3c5863","ref":"refs/heads/master","pushedAt":"2024-08-25T19:56:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristian64","name":null,"path":"/cristian64","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1853278?s=80&v=4"},"commit":{"message":"Fix two crash bugs, add new context menu items (#175)\n\n* Add **Add group** and **Add watch** to the empty context menu or group entries\r\n* Fix crash bug when right-clicking on nothing\r\n* Fix pointer level crash bug","shortMessageHtmlLink":"Fix two crash bugs, add new context menu items (#175)"}},{"before":"9aa9b27a4c1f540664df4bbbb7d2d2024d51a3cd","after":"bcb146fe5a9d288be8d5ce053b0f1a522052499d","ref":"refs/heads/master","pushedAt":"2024-08-18T16:55:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Convert to `unsigned char` before invoking `std::isprint()`.\n\nAs the documentation states, the caller must check that the input\ncharacter in [`std::isprint()`](https://en.cppreference.com/w/cpp/string/byte/isprint) is a valid `unsigned char`:\n\n> Like all other functions from ``, the behavior of\n> `std::isprint` is undefined if the argument's value is neither\n> representable as `unsigned char` nor equal to `EOF`. To use these\n> functions safely with plain `char`s (or `signed char`s), the argument\n> should first be converted to `unsigned char`:\n>\n> ```cpp\n> bool my_isprint(char ch)\n> {\n> return std::isprint(static_cast(ch));\n> }\n> ```\n\nThe aforementioned undefined behavior manifests as a debug assertion\nwhen compiled with MSVC:\n\n![image](https://github.com/user-attachments/assets/144e3573-f53c-4e89-a0cd-d615caa2749e)\n\nThe affected functionality was introduced in #122.\n\nFixes #173.","shortMessageHtmlLink":"Convert to unsigned char before invoking std::isprint()."}},{"before":"eb46a165c2ee8d76c530a29bf45c3781780b73b9","after":"9aa9b27a4c1f540664df4bbbb7d2d2024d51a3cd","ref":"refs/heads/master","pushedAt":"2024-08-11T19:09:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Set version 1.2.3","shortMessageHtmlLink":"Set version 1.2.3"}},{"before":"7f84383203c717408c290d4778c8948ccd3268ea","after":"eb46a165c2ee8d76c530a29bf45c3781780b73b9","ref":"refs/heads/master","pushedAt":"2024-08-11T19:08:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Check watch entry pointer to avoid dereferencing null pointer when a group node is right-clicked.\n\nThis was a regression in #167.\n\nGroup nodes do not have a watch entry associated with them. When a group\nnode was right-clicked, a null pointer would be fatally dereferenced:\n\n```\n#0 MemWatchEntry::isBoundToPointer() const (this=this@entry=0x0) at /w/dolphin-memory-engine/Source/MemoryWatch/MemWatchEntry.cpp:77\n#1 0x0000561a4ab96c94 in MemWatchWidget::onMemWatchContextMenuRequested(QPoint const&) (this=0x561a4c28c580, pos=...) at /w/dolphin-memory-engine/Source/GUI/MemWatcher/MemWatchWidget.cpp:280\n#2 0x00007f56ac7be023 in () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#3 0x00007f56ad489889 in QWidget::customContextMenuRequested(QPoint const&) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#4 0x00007f56ad4a6020 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#5 0x00007f56ad541406 in QFrame::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#6 0x00007f56ac765818 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#7 0x00007f56ad44bd25 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#8 0x00007f56ad454c5e in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#9 0x00007f56ac765a58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#10 0x00007f56ad4b796c in () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#11 0x00007f56ad4ba635 in () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#12 0x00007f56ad44bd36 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6\n#13 0x00007f56ac765a58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#14 0x00007f56acd0a6bf in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6\n#15 0x00007f56acd52c8c in QWindowSystemInterface::sendWindowSystemEvents(QFlags) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6\n#16 0x00007f56a8c7686e in () at /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6\n#17 0x00007f56abe32d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0\n#18 0x00007f56abe882b8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0\n#19 0x00007f56abe303e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0\n#20 0x00007f56ac98deae in QEventDispatcherGlib::processEvents(QFlags) () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#21 0x00007f56ac772adb in QEventLoop::exec(QFlags) () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#22 0x00007f56ac76e0f3 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6\n#23 0x0000561a4ab66e8c in main(int, char**) (argc=, argv=) at /w/dolphin-memory-engine/Source/main.cpp:54\n```\n\nFixes #170.","shortMessageHtmlLink":"Check watch entry pointer to avoid dereferencing null pointer when a …"}},{"before":"a4fe9993091c26481d1c970937fed33c9f4f29d8","after":"7f84383203c717408c290d4778c8948ccd3268ea","ref":"refs/heads/master","pushedAt":"2024-08-10T22:08:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristian64","name":null,"path":"/cristian64","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1853278?s=80&v=4"},"commit":{"message":"Add QtSvg support to macOS deployment (#169)\n\n* Fix ARM64 Apple Clang errors\r\n\r\n* Add QtSvg library","shortMessageHtmlLink":"Add QtSvg support to macOS deployment (#169)"}},{"before":"a7cb0856b05bf8977f0733406311cca2ece0acc6","after":"a4fe9993091c26481d1c970937fed33c9f4f29d8","ref":"refs/heads/master","pushedAt":"2024-08-03T18:49:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Set version 1.2.2","shortMessageHtmlLink":"Set version 1.2.2"}},{"before":"8e49bae3f10c9b32ace06e00c87fd71e69593902","after":"a7cb0856b05bf8977f0733406311cca2ece0acc6","ref":"refs/heads/master","pushedAt":"2024-07-17T20:23:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Add options to copy pointer addresses (or base address) of a watch entry (#167)\n\n* feat: Added right click menu to copy pointer address in Edit Address widget\r\n\r\nAdded a right click menu to m_pointerWidget which activates only if an address label is right clicked. It provides a single option (Copy address) which copies the address from that pointer level to clipboard.\r\n\r\nAdded an option (copy address) to the right click menu of a MemWatchWidget. Selecting Copy address on a pointer watch can copy the address at any pointer level to the clipboard. Selecting Copy address on a non-pointer watch will copy the base address of the watch to the clipboard.\r\n\r\nInstead of finding the QLabel for the address when the pointer widget is clicked, the context menu is now registered to each pointer address label in the pointer widget. A property is also set (addr) which contains the numeric address at that pointer level. If addr is zero, the Copy Address is not enabled. Otherwise it is converted to a hex string which is copied to the clipboard if Copy Address is selected.","shortMessageHtmlLink":"Add options to copy pointer addresses (or base address) of a watch en…"}},{"before":"277ff8dcc0f98ddb95a2cd0d9e7cb2f911de7ad6","after":"8e49bae3f10c9b32ace06e00c87fd71e69593902","ref":"refs/heads/master","pushedAt":"2024-07-12T23:02:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"cristian64","name":null,"path":"/cristian64","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1853278?s=80&v=4"},"commit":{"message":"Re-format `Source` directory with Clang-Format 18.\n\nOnly minor changes in two files.","shortMessageHtmlLink":"Re-format Source directory with Clang-Format 18."}},{"before":"9736e67dd86de0337dfe4f8062943239cef9e61c","after":"277ff8dcc0f98ddb95a2cd0d9e7cb2f911de7ad6","ref":"refs/heads/master","pushedAt":"2024-07-07T05:30:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristian64","name":null,"path":"/cristian64","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1853278?s=80&v=4"},"commit":{"message":"Add fallback for external Qt in CMake file on Windows\n\nOn a clean build using CMake on Windows without Qt6 installed, CMakeLists did not use the external library for Qt 6.5.3 provided with the source. On windows, this work adds a quiet check for Qt6, then if it is not available it adds the external library to the prefix path list and checks again for Qt6.","shortMessageHtmlLink":"Add fallback for external Qt in CMake file on Windows"}},{"before":"7e444980051b2a282b764daf507a2dff6cd8ad2f","after":"9736e67dd86de0337dfe4f8062943239cef9e61c","ref":"refs/heads/master","pushedAt":"2024-07-05T22:53:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Fixed build error: AddressInputWidget.h is never moc'ed but the moc file is included during build (#165)\n\n* AddressInputWidget.h is never moc'ed but the compiler is instructed to load moc_AddressInputWidget.h. Include for moc file is now commented out.\r\n\r\n* Removed the line which looks for a moc_AddressInputWidget.h file from the project file.","shortMessageHtmlLink":"Fixed build error: AddressInputWidget.h is never moc'ed but the moc f…"}},{"before":"7d17a94b7e078c0461d614104d71557059be8108","after":"7e444980051b2a282b764daf507a2dff6cd8ad2f","ref":"refs/heads/master","pushedAt":"2024-07-03T22:36:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #164 from cristian64/update_status_icons\n\nUpdate status icon with Dolphin's logo redesign.","shortMessageHtmlLink":"Merge pull request #164 from cristian64/update_status_icons"}},{"before":"b65d9a078e841add70593cdcc657b83a6c9c09c7","after":null,"ref":"refs/heads/readme","pushedAt":"2024-06-22T15:37:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"}},{"before":"1e4c5922ecb61703d6752bda14069235fa0b0abd","after":"7d17a94b7e078c0461d614104d71557059be8108","ref":"refs/heads/master","pushedAt":"2024-06-22T15:37:50.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #162 from aldelaro5/readme\n\nREADME: Update screenshot and fix typo","shortMessageHtmlLink":"Merge pull request #162 from aldelaro5/readme"}},{"before":null,"after":"b65d9a078e841add70593cdcc657b83a6c9c09c7","ref":"refs/heads/readme","pushedAt":"2024-06-21T17:43:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"README: Update screenshot and fix typo","shortMessageHtmlLink":"README: Update screenshot and fix typo"}},{"before":"5a3392db48b3c001ff504be997f1938b8813cb96","after":"1e4c5922ecb61703d6752bda14069235fa0b0abd","ref":"refs/heads/master","pushedAt":"2024-06-21T17:25:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Set version 1.2.1","shortMessageHtmlLink":"Set version 1.2.1"}},{"before":"9ab59e367c71ab21ec06303de381bf7eb9b52482","after":"5a3392db48b3c001ff504be997f1938b8813cb96","ref":"refs/heads/master","pushedAt":"2024-06-08T09:54:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristian64","name":null,"path":"/cristian64","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1853278?s=80&v=4"},"commit":{"message":"Relax input acceptance criteria in `AddressInputWidget`.\n\nThe max length (previously `10`) has been lifted, and the input is now\nself-corrected as the user enters text:\n\n- Invalid characters are removed from the input.\n- The optional `0x` prefix is removed.\n- Any excess beyond the 8th character is removed.\n\nFor example, this now allows the user to paste an address that may\ncontain spaces, which is a fairly common case (e.g. `80 12 34 56`).","shortMessageHtmlLink":"Relax input acceptance criteria in AddressInputWidget."}},{"before":"2c02ef96a911341e83764388ddf8747bd4bb2559","after":null,"ref":"refs/heads/appimage-fixes","pushedAt":"2024-06-01T04:36:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"}},{"before":"82e1314834d6a35e05c44226257a0a1b5ae689d8","after":"9ab59e367c71ab21ec06303de381bf7eb9b52482","ref":"refs/heads/master","pushedAt":"2024-05-31T22:49:59.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #159 from cristian64/adjust_memory_viewer_font_size\n\nUse correct font in painter in **Memory Viewer** dialog.","shortMessageHtmlLink":"Merge pull request #159 from cristian64/adjust_memory_viewer_font_size"}},{"before":"7e15e25e83bc2f95516d93247334505fbd5aeb31","after":"82e1314834d6a35e05c44226257a0a1b5ae689d8","ref":"refs/heads/master","pushedAt":"2024-05-30T23:31:58.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #158 from cristian64/persistent_expansion_state\n\nPersistent expansion state.","shortMessageHtmlLink":"Merge pull request #158 from cristian64/persistent_expansion_state"}},{"before":"fd7827f974028f25470a3e0b842760f2fa09361b","after":"7e15e25e83bc2f95516d93247334505fbd5aeb31","ref":"refs/heads/master","pushedAt":"2024-05-28T03:40:59.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #157 from cristian64/scanner_result_list_context_menu\n\nAdd context menu to results list in scanner pane.","shortMessageHtmlLink":"Merge pull request #157 from cristian64/scanner_result_list_context_menu"}},{"before":"bafe86266e7ec23aa673ed432e0595ab35977c72","after":"fd7827f974028f25470a3e0b842760f2fa09361b","ref":"refs/heads/master","pushedAt":"2024-05-28T03:40:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #156 from cristian64/status_bar\n\nMove Dolphin hook status to status bar.","shortMessageHtmlLink":"Merge pull request #156 from cristian64/status_bar"}},{"before":"dfff32aca4a85e341e02c0687fad7cd3cebfaaa5","after":null,"ref":"refs/heads/ci-lint","pushedAt":"2024-05-27T07:10:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"}},{"before":"692ea475b40f2e676eafb5f457e9a281193313b3","after":"bafe86266e7ec23aa673ed432e0595ab35977c72","ref":"refs/heads/master","pushedAt":"2024-05-27T07:10:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #155 from aldelaro5/ci-lint\n\nCI: move lint into one workflow","shortMessageHtmlLink":"Merge pull request #155 from aldelaro5/ci-lint"}},{"before":null,"after":"dfff32aca4a85e341e02c0687fad7cd3cebfaaa5","ref":"refs/heads/ci-lint","pushedAt":"2024-05-26T21:14:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"ci: move lint into one workflow","shortMessageHtmlLink":"ci: move lint into one workflow"}},{"before":"06616f9fec1238491d66d94a32f9b5ab520c0bf0","after":"692ea475b40f2e676eafb5f457e9a281193313b3","ref":"refs/heads/master","pushedAt":"2024-05-26T21:11:20.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #153 from cristian64/address_input_widget\n\nAdd memory address input custom widget.","shortMessageHtmlLink":"Merge pull request #153 from cristian64/address_input_widget"}},{"before":"0060c7900fb3eb83abac51c085c57da3e228646c","after":"06616f9fec1238491d66d94a32f9b5ab520c0bf0","ref":"refs/heads/master","pushedAt":"2024-05-26T21:06:14.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #154 from cristian64/revise_unsaved_changes\n\nMark session with unsaved changes during grouping and inline label editing.","shortMessageHtmlLink":"Merge pull request #154 from cristian64/revise_unsaved_changes"}},{"before":"d934003848ced2e96561034fbbe1cb0e0de8bc26","after":"0060c7900fb3eb83abac51c085c57da3e228646c","ref":"refs/heads/master","pushedAt":"2024-05-25T02:07:34.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #151 from cristian64/bouquet_of_gui_fixes\n\nBouquet of GUI fixes and improvements.","shortMessageHtmlLink":"Merge pull request #151 from cristian64/bouquet_of_gui_fixes"}},{"before":"8cea2ab48309402f2e64bda3d19193ea409414da","after":"d934003848ced2e96561034fbbe1cb0e0de8bc26","ref":"refs/heads/master","pushedAt":"2024-05-25T02:07:18.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #152 from cristian64/group_selection\n\nAdd **Group** context menu action to group currently selected entries.","shortMessageHtmlLink":"Merge pull request #152 from cristian64/group_selection"}},{"before":"0f988e3fe3f3ca65cc9175779bbca188b922a40a","after":"8cea2ab48309402f2e64bda3d19193ea409414da","ref":"refs/heads/master","pushedAt":"2024-05-24T01:34:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"set version 1.2.0","shortMessageHtmlLink":"set version 1.2.0"}},{"before":"c7d0d7f7e4e1ade8b471a5228c559f8ab425acbf","after":"0f988e3fe3f3ca65cc9175779bbca188b922a40a","ref":"refs/heads/master","pushedAt":"2024-05-24T01:29:43.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dreamsyntax","name":"dreamsyntax","path":"/dreamsyntax","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14857235?s=80&v=4"},"commit":{"message":"Merge pull request #149 from cristian64/unix_dark_theme\n\nAdd Light, Dark Gray, and Dark themes along with the System theme.","shortMessageHtmlLink":"Merge pull request #149 from cristian64/unix_dark_theme"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNVQxOTo1NjozNC4wMDAwMDBazwAAAASjqLFp","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNVQxOTo1NjozNC4wMDAwMDBazwAAAASjqLFp","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNS0yNFQwMToyOTo0My4wMDAwMDBazwAAAARSk5Dy"}},"title":"Activity · aldelaro5/dolphin-memory-engine"}