{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":256551216,"defaultBranch":"master","name":"dvmhost","ownerLogin":"DVMProject","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-04-17T16:12:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/100448508?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718723373.0","currentOid":""},"activityList":{"items":[{"before":"5fde17f879239515f1359f8b6285168d3355c3ce","after":"51bd9e749d0f7e5ba2bed1cf9d6bf8d5e0a19aa3","ref":"refs/heads/master","pushedAt":"2024-06-22T16:00:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"implement CAC long puncturing for NXDN; correct issues with NXDN site information data;","shortMessageHtmlLink":"implement CAC long puncturing for NXDN; correct issues with NXDN site…"}},{"before":"d702eeae9a72b966bae8ff52bcf71b5ddb31826c","after":"5fde17f879239515f1359f8b6285168d3355c3ce","ref":"refs/heads/master","pushedAt":"2024-06-22T03:08:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix stupid GCC 4.9.3 for ARMHF non-sense;","shortMessageHtmlLink":"fix stupid GCC 4.9.3 for ARMHF non-sense;"}},{"before":"67429e3e34eafdaf2bdc139b5ae20b355939de96","after":"d702eeae9a72b966bae8ff52bcf71b5ddb31826c","ref":"refs/heads/master","pushedAt":"2024-06-22T02:48:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"update byte packing documentation on some headers/functions for -- future generations;","shortMessageHtmlLink":"update byte packing documentation on some headers/functions for -- fu…"}},{"before":"92e9e2d8b0636cb7c2de1d6a516b40825de68125","after":"67429e3e34eafdaf2bdc139b5ae20b355939de96","ref":"refs/heads/master","pushedAt":"2024-06-22T01:25:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"use localtime instead of gmtime for logs;","shortMessageHtmlLink":"use localtime instead of gmtime for logs;"}},{"before":"cb0500b2e73945a1d8810ef0598457b5a809a9d1","after":"92e9e2d8b0636cb7c2de1d6a516b40825de68125","ref":"refs/heads/master","pushedAt":"2024-06-22T01:05:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"correct toString() for CSBK_BROADCAST;","shortMessageHtmlLink":"correct toString() for CSBK_BROADCAST;"}},{"before":"41b36a491d52500bc16fb8e7631943a87917fa64","after":"cb0500b2e73945a1d8810ef0598457b5a809a9d1","ref":"refs/heads/master","pushedAt":"2024-06-22T00:49:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"treewide: refactor constant variables into proper enumerations where appropriate (this applies to DMR, P25 and NXDN, and may introduce gremlins);","shortMessageHtmlLink":"treewide: refactor constant variables into proper enumerations where …"}},{"before":"e512fd388f50c975eb38aecad8aa23f75b9a3c3e","after":"41b36a491d52500bc16fb8e7631943a87917fa64","ref":"refs/heads/master","pushedAt":"2024-06-19T20:06:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix issue where parrot originating was not muting the initial call to other peers;","shortMessageHtmlLink":"fix issue where parrot originating was not muting the initial call to…"}},{"before":"81ef9129b6c25b46de8092bd77179c61bb6471ef","after":"e512fd388f50c975eb38aecad8aa23f75b9a3c3e","ref":"refs/heads/master","pushedAt":"2024-06-19T16:18:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"add FSC frame classes;","shortMessageHtmlLink":"add FSC frame classes;"}},{"before":"f0f1d489d1ca6730d802e85aa4298010bfe9c302","after":"81ef9129b6c25b46de8092bd77179c61bb6471ef","ref":"refs/heads/master","pushedAt":"2024-06-19T15:25:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"cleanup CMakeLists;","shortMessageHtmlLink":"cleanup CMakeLists;"}},{"before":"ba8067c55cba0d13ccfd632f9a21ec6c1d0d7882","after":"f0f1d489d1ca6730d802e85aa4298010bfe9c302","ref":"refs/heads/master","pushedAt":"2024-06-19T12:35:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"add TIA frame types (for future use); remove extraneous handling for DMR and NXDN (these are shut off in the network code, which makes the code in Dfsi pointless to have); remove g_hideMessages and logging from Dfsi class (for P25 this is actually instrumented by the debug flag in the SerialService (and when it exists UDPService) class, no need to duplicate this; add support for \"null\" modem mode for the SerialService, this allows basic code flow to be tested without any V.24 interface attached to the dvmdfsi instance, a \"portType\" parameter was added to the configuration file for this, by default it should always be \"uart\" but for null modem testing it can be set to \"null\"; add commenting and function definition commenting;","shortMessageHtmlLink":"add TIA frame types (for future use); remove extraneous handling for …"}},{"before":"e5e54624736a999a8494136246af60ba13ca63e5","after":"ba8067c55cba0d13ccfd632f9a21ec6c1d0d7882","ref":"refs/heads/master","pushedAt":"2024-06-19T03:45:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"W3AXL","name":"Patrick W3AXL","path":"/W3AXL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29879554?s=80&v=4"},"commit":{"message":"fixed deletes on invalid pointers, cleaned up serial initialization, added timeouts for call flags, other small QoL tweaks","shortMessageHtmlLink":"fixed deletes on invalid pointers, cleaned up serial initialization, …"}},{"before":"ad4aa9ac1f807862e6aca7f337e78fd91f16a6c3","after":"e5e54624736a999a8494136246af60ba13ca63e5","ref":"refs/heads/master","pushedAt":"2024-06-18T21:41:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix #54, this should fix issue #54 in dealing with segmented/fragemented HTTP requests; enhance debug messaging from REST API server;","shortMessageHtmlLink":"fix #54, this should fix issue #54 in dealing with segmented/fragemen…"}},{"before":"26f733d8ff4f12965968294d807401bc9993c34f","after":"ad4aa9ac1f807862e6aca7f337e78fd91f16a6c3","ref":"refs/heads/master","pushedAt":"2024-06-18T17:03:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"(lets see if this breaks things and W3AXL yells at me) refactor some of the frame classes to use the __PROPERTY mechanism for building get/set based properties for some class fields vs raw variables; cleanup some cases where we may run afoul heap allocations and get memory leaks;","shortMessageHtmlLink":"(lets see if this breaks things and W3AXL yells at me) refactor some …"}},{"before":"feb3c84694fc063f1b983487b08098cdc02a996d","after":"26f733d8ff4f12965968294d807401bc9993c34f","ref":"refs/heads/master","pushedAt":"2024-06-18T15:58:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fixup copyright display;","shortMessageHtmlLink":"fixup copyright display;"}},{"before":"dcb25cfb58e55619ac7405d5f521ebf44477e2ef","after":"feb3c84694fc063f1b983487b08098cdc02a996d","ref":"refs/heads/master","pushedAt":"2024-06-18T15:49:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"remove old dev command line arguments; add missing copyright lines;","shortMessageHtmlLink":"remove old dev command line arguments; add missing copyright lines;"}},{"before":"1d0c8da33140f93c7beb56a27fda30dbb5393c76","after":"dcb25cfb58e55619ac7405d5f521ebf44477e2ef","ref":"refs/heads/master","pushedAt":"2024-06-18T15:24:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix missing help information for --syslog;","shortMessageHtmlLink":"fix missing help information for --syslog;"}},{"before":"0fc2b0bf59ee7bb82fc9d77c03268a8ba9468469","after":"1d0c8da33140f93c7beb56a27fda30dbb5393c76","ref":"refs/heads/master","pushedAt":"2024-06-18T15:19:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"bump project version to R04A01; remove extraneous files;","shortMessageHtmlLink":"bump project version to R04A01; remove extraneous files;"}},{"before":"4b24c1e35692fe99627d80dc74a95041ac8b4866","after":"0fc2b0bf59ee7bb82fc9d77c03268a8ba9468469","ref":"refs/heads/master","pushedAt":"2024-06-18T15:16:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix issue with hotspot submodule;","shortMessageHtmlLink":"fix issue with hotspot submodule;"}},{"before":"0bbc69d237c4da1eff39b53e0ddbfadf2ce316d4","after":"4b24c1e35692fe99627d80dc74a95041ac8b4866","ref":"refs/heads/master","pushedAt":"2024-06-18T15:15:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"fix issue with modem submodule;","shortMessageHtmlLink":"fix issue with modem submodule;"}},{"before":"243696855c648f5b0ea68012e43f2b0246a78ed3","after":"0bbc69d237c4da1eff39b53e0ddbfadf2ce316d4","ref":"refs/heads/master","pushedAt":"2024-06-18T15:13:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"Basic implementation of dvmdfsi in dvmhost C++ ecosystem (#59)\n\n* initial bootstrap of CPP dvmdfsi\r\n\r\n* more work on serial service, the basics are there now\r\n\r\n* updated TODOs\r\n\r\n* more work on dfsi, getting there, just a few more things to implement\r\n\r\n* rough code finished, totally untested, hope it works\r\n\r\n* fixes for malloc errors, still not totally working\r\n\r\n* almost working, P25 voice from FNE is garbled but we're getting there\r\n\r\n* verified v24 decode/encode is working, still cleaning up serial TX\r\n\r\n* dvmdfsi ready for beta testing! A few gremlins to find but it works.\r\n\r\n* added configurable source flag option\r\n\r\n* fixed diu source flag config entry name\r\n\r\n* small update to Mot VHDR1\r\n\r\n* fixed serial initialization, flags work now, config & code cleanup\r\n\r\n* log cleanups, added basic call collision logic, fixed kid being truncated to uint8_t\r\n\r\n* fixed LDU2 MI not getting copied properly\r\n\r\n* bring add-dvmdfsi up-to-date with master;\r\n\r\n* Add syslog and some project file cleanup (#58)\r\n\r\n* initial bootstrap of CPP dvmdfsi\r\n\r\n* more work on serial service, the basics are there now\r\n\r\n* updated TODOs\r\n\r\n* more work on dfsi, getting there, just a few more things to implement\r\n\r\n* rough code finished, totally untested, hope it works\r\n\r\n* fixes for malloc errors, still not totally working\r\n\r\n* almost working, P25 voice from FNE is garbled but we're getting there\r\n\r\n* verified v24 decode/encode is working, still cleaning up serial TX\r\n\r\n* dvmdfsi ready for beta testing! A few gremlins to find but it works.\r\n\r\n* added configurable source flag option\r\n\r\n* fixed diu source flag config entry name\r\n\r\n* small update to Mot VHDR1\r\n\r\n* fixed serial initialization, flags work now, config & code cleanup\r\n\r\n* log cleanups, added basic call collision logic, fixed kid being truncated to uint8_t\r\n\r\n* fixed LDU2 MI not getting copied properly\r\n\r\n* add support for syslog logging in dvmdfsi;\r\n\r\n* add useSyslog parameter to log section of configuration file;\r\n\r\n* project cleanup: split MotRtpFrames.cpp/.h into separate files properly; ensure decode() functions pass the pointer as const to prevent accidental modification of input buffer; move common enums to a separate RtpDefines.h header; reuse MotRtpFrames.h (renamed RtpFrames.h) as a quick way of including all the RTP frames;\r\n\r\n---------\r\n\r\nCo-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>\r\n\r\n---------\r\n\r\nCo-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>\r\nCo-authored-by: Bryan Biedenkapp ","shortMessageHtmlLink":"Basic implementation of dvmdfsi in dvmhost C++ ecosystem (#59)"}},{"before":null,"after":"243696855c648f5b0ea68012e43f2b0246a78ed3","ref":"refs/heads/3.6-maint","pushedAt":"2024-06-18T15:09:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"make alternate port for diagnostics the default;","shortMessageHtmlLink":"make alternate port for diagnostics the default;"}},{"before":"2789aed31d276e9fa434ab5fb103efb435f9fe1e","after":null,"ref":"refs/heads/gk-dvmdfsi","pushedAt":"2024-06-18T15:04:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"}},{"before":"e21f144e23f7883a016669ea95085f6a1db4c73f","after":"7ec6a3e6e5f4a4d582d826a5c047e907b43a6021","ref":"refs/heads/add-dvmdfsi","pushedAt":"2024-06-18T15:00:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"W3AXL","name":"Patrick W3AXL","path":"/W3AXL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29879554?s=80&v=4"},"commit":{"message":"Add syslog and some project file cleanup (#58)\n\n* initial bootstrap of CPP dvmdfsi\r\n\r\n* more work on serial service, the basics are there now\r\n\r\n* updated TODOs\r\n\r\n* more work on dfsi, getting there, just a few more things to implement\r\n\r\n* rough code finished, totally untested, hope it works\r\n\r\n* fixes for malloc errors, still not totally working\r\n\r\n* almost working, P25 voice from FNE is garbled but we're getting there\r\n\r\n* verified v24 decode/encode is working, still cleaning up serial TX\r\n\r\n* dvmdfsi ready for beta testing! A few gremlins to find but it works.\r\n\r\n* added configurable source flag option\r\n\r\n* fixed diu source flag config entry name\r\n\r\n* small update to Mot VHDR1\r\n\r\n* fixed serial initialization, flags work now, config & code cleanup\r\n\r\n* log cleanups, added basic call collision logic, fixed kid being truncated to uint8_t\r\n\r\n* fixed LDU2 MI not getting copied properly\r\n\r\n* add support for syslog logging in dvmdfsi;\r\n\r\n* add useSyslog parameter to log section of configuration file;\r\n\r\n* project cleanup: split MotRtpFrames.cpp/.h into separate files properly; ensure decode() functions pass the pointer as const to prevent accidental modification of input buffer; move common enums to a separate RtpDefines.h header; reuse MotRtpFrames.h (renamed RtpFrames.h) as a quick way of including all the RTP frames;\r\n\r\n---------\r\n\r\nCo-authored-by: W3AXL <29879554+W3AXL@users.noreply.github.com>","shortMessageHtmlLink":"Add syslog and some project file cleanup (#58)"}},{"before":"dfc0e83c55a771583a22c8241d1571de1d18c41e","after":"2789aed31d276e9fa434ab5fb103efb435f9fe1e","ref":"refs/heads/gk-dvmdfsi","pushedAt":"2024-06-18T14:54:52.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"correct rebase of add-dvmdfsi","shortMessageHtmlLink":"correct rebase of add-dvmdfsi"}},{"before":"2482160b68ac889b7bcd67d8a338b3e7a3133144","after":"e21f144e23f7883a016669ea95085f6a1db4c73f","ref":"refs/heads/add-dvmdfsi","pushedAt":"2024-06-18T14:50:27.000Z","pushType":"push","commitsCount":52,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"bring add-dvmdfsi up-to-date with master;","shortMessageHtmlLink":"bring add-dvmdfsi up-to-date with master;"}},{"before":null,"after":"dfc0e83c55a771583a22c8241d1571de1d18c41e","ref":"refs/heads/gk-dvmdfsi","pushedAt":"2024-06-18T14:31:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"project cleanup: split MotRtpFrames.cpp/.h into separate files properly; ensure decode() functions pass the pointer as const to prevent accidental modification of input buffer; move common enums to a separate RtpDefines.h header; reuse MotRtpFrames.h (renamed RtpFrames.h) as a quick way of including all the RTP frames;","shortMessageHtmlLink":"project cleanup: split MotRtpFrames.cpp/.h into separate files proper…"}},{"before":"2f918d759d63832062aa4568b36b8cfb475afcab","after":"243696855c648f5b0ea68012e43f2b0246a78ed3","ref":"refs/heads/master","pushedAt":"2024-06-17T19:41:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"make alternate port for diagnostics the default;","shortMessageHtmlLink":"make alternate port for diagnostics the default;"}},{"before":"9cf87ff00c64afb3f7a2eb96006a4f6d4b9f7055","after":"2f918d759d63832062aa4568b36b8cfb475afcab","ref":"refs/heads/master","pushedAt":"2024-06-17T13:55:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"implement support to send logs to the syslog;","shortMessageHtmlLink":"implement support to send logs to the syslog;"}},{"before":"3be3366e5f54cf462c4c321c6aa0487bd3d52ae2","after":"9cf87ff00c64afb3f7a2eb96006a4f6d4b9f7055","ref":"refs/heads/master","pushedAt":"2024-06-16T11:10:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"reorganize source tree to make class usage more clear (the Tag*Data classes are the call router/data handler classes); enhance logging for call collision to report RxStatus;","shortMessageHtmlLink":"reorganize source tree to make class usage more clear (the Tag*Data c…"}},{"before":"2c560dc3ce512d9fb5dce1333b4311797d694bbf","after":"3be3366e5f54cf462c4c321c6aa0487bd3d52ae2","ref":"refs/heads/master","pushedAt":"2024-06-15T21:00:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gatekeep","name":"Bryan Biedenkapp","path":"/gatekeep","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1149277?s=80&v=4"},"commit":{"message":"enhance FNE notification of CC voice channels; implement support to maintain mapping of CC <-> VC relationships at the FNE;","shortMessageHtmlLink":"enhance FNE notification of CC voice channels; implement support to m…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEbFtLMAA","startCursor":null,"endCursor":null}},"title":"Activity · DVMProject/dvmhost"}