{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1482997,"defaultBranch":"develop","name":"phpredis","ownerLogin":"phpredis","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-03-15T14:40:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10171267?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716242548.0","currentOid":""},"activityList":{"items":[{"before":"b9576e0f26056da6b728f1546b68f7a744483484","after":"b2586105ff1ba92c500d4c53611ade96e58d7f33","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-22T21:26:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Refactor session tests\n\n* Update these external scripts to take formal arguments with `getopt` to\n make it more straightforward what each of the currently positional\n arguments are actually for.\n\n* Create small helper classes for invoking these external scripts.\n Instead of `startSessionProcess` that takes a dozen argument all but\n three of which have defaults, we can use a construct like this:\n\n ```php\n $runner = $this->sessionRunner()\n ->max_execution_time(300)\n ->locking_enabled(true)\n ->lock_wait_time(-1)\n ->lock_expires(0)\n ->data($data)\n ->compression($name);\n\n // Invokes startSession.php with above args.\n $result = $runner->exec_fg();\n\n // Invokes regenerateSessionId.php with above args\n $new_id = $runner->regenerate_id();\n\n // Invokes getSessionData.php for this session ID.\n $data = $runner->get_data();\n ```\n\n* Add a bit of logic to TestSuite to dump more information about the\n source of an assertion to make it easier to track down problems when\n we assert outside of a top level public `test_*` method.\n\n* Create a few new assertions like `assertKeyExists` and\n `assertKeyMissing` which will generate much nicer assertions as\n opposed to\n\n```php\n$this->assertTrue($this->redis->exists($some_key));\n```\n\n* If our externally spawned session scripts fail output the exact call\n that was made along with all arguments as well as the output that we\n received to make it easier to narrow down.","shortMessageHtmlLink":"Refactor session tests"}},{"before":"db0a71715ba172270ed75d36f169221eb190dad5","after":"b9576e0f26056da6b728f1546b68f7a744483484","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-22T21:08:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Don't require prefix + remove dead code.\n\n* There's no reason a handler needs to use a key prefix.\n* Remove now dead code like `getFullHostPath()`.\n* Add additional details on a session test where we expect to not attain\n a lock.","shortMessageHtmlLink":"Don't require prefix + remove dead code."}},{"before":"d9ced580e6d190e50fd835bd6223b3a0722f7fd2","after":"db0a71715ba172270ed75d36f169221eb190dad5","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-22T16:11:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Refactor session tests\n\n* Update these external scripts to take formal arguments with `getopt` to\n make it more straightforward what each of the currently positional\n arguments are actually for.\n\n* Create small helper classes for invoking these external scripts.\n Instead of `startSessionProcess` that takes a dozen argument all but\n three of which have defaults, we can use a construct like this:\n\n ```php`\n $runner = $this->sessionRunner()\n ->max_execution_time(300)\n ->locking_enabled(true)\n ->lock_wait_time(-1)\n ->lock_expires(0)\n ->data($data)\n ->compression($name);\n\n // Invokes `startSession.php' with above args.\n $result = $runner->exec_fg();\n\n // Invokes `regenerateSessionId.php` with above args\n $new_id = $runner->regenerate_id();\n\n // Invokes `getSessionData.php' for this session ID.\n $data = $runner->get_data();\n ```\n\n* Add a bit of logic to TestSuite to dump more information about the\n source of an assertion to make it easier to track down problems when\n we assert outside of a top level public `test_*` method.\n\n* Create a few new assertions like `assertKeyExists` and\n `assertKeyMissing` which will generate much nicer assertions as\n opposed to\n\n ```php\n $this->assertTrue($this->redis->exists($some_key));\n ```\n\n* If our externally spawned session scripts fail output the exact call\n that was made along with all arguments as well as the output that we\n received to make it easier to narrow down.","shortMessageHtmlLink":"Refactor session tests"}},{"before":"a9657494f06dc0b8adcefec116f691865fe07b45","after":"d9ced580e6d190e50fd835bd6223b3a0722f7fd2","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-22T04:57:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Deliver save path directly to our session helper scripts.\n\nSince `Redis` and `RedisCluster` have such different save path strings,\nwe can just deliver this directly from each of the test classes\nthemselves rather sending `host`, `port`, `user`, and `pass`\nindividually.","shortMessageHtmlLink":"Deliver save path directly to our session helper scripts."}},{"before":"6aa3fb849d30a851584cb55931626f6309e0feec","after":"a9657494f06dc0b8adcefec116f691865fe07b45","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T22:39:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Forward user/pass info to the session helpers.","shortMessageHtmlLink":"Forward user/pass info to the session helpers."}},{"before":"54dd2772a2060be2f8785aaeea970824f748d7de","after":"6aa3fb849d30a851584cb55931626f6309e0feec","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:35:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":".","shortMessageHtmlLink":"."}},{"before":"789a5ca5eaaa066b05c859f0453fddb3a58ab5e2","after":"54dd2772a2060be2f8785aaeea970824f748d7de","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:20:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"What is up","shortMessageHtmlLink":"What is up"}},{"before":"f70c6312c2c3d0387e4034a6073ab193b6adee77","after":"789a5ca5eaaa066b05c859f0453fddb3a58ab5e2","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:17:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Dump command again","shortMessageHtmlLink":"Dump command again"}},{"before":"1b58610a1704a9cf4089afc346e360fd4ce79e33","after":"f70c6312c2c3d0387e4034a6073ab193b6adee77","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:14:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"What in the what?","shortMessageHtmlLink":"What in the what?"}},{"before":"4a123f7caf0fddc1e5acbcaed98557c029c801fe","after":"1b58610a1704a9cf4089afc346e360fd4ce79e33","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:08:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"once more","shortMessageHtmlLink":"once more"}},{"before":"888c8664d8f3118f6e73d2f5cc14151640f31680","after":"4a123f7caf0fddc1e5acbcaed98557c029c801fe","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T20:06:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"beep","shortMessageHtmlLink":"beep"}},{"before":"af519a689b7482037dfcc2903844e1a79eb1ddcb","after":"888c8664d8f3118f6e73d2f5cc14151640f31680","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T19:57:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"where are we hanging?","shortMessageHtmlLink":"where are we hanging?"}},{"before":"8f4d2cd9eab48aafa9f44b6d4d09a7e4b93480b8","after":"af519a689b7482037dfcc2903844e1a79eb1ddcb","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T19:47:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"More tweaks","shortMessageHtmlLink":"More tweaks"}},{"before":"abd810d0dc8e7d9d919ffa8e81a90101655e80fd","after":"8f4d2cd9eab48aafa9f44b6d4d09a7e4b93480b8","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T18:44:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Debug what's going wrong with testHighPorts","shortMessageHtmlLink":"Debug what's going wrong with testHighPorts"}},{"before":"985e7ffb04763fb2ae4cf6a3a9907c47954e9693","after":"abd810d0dc8e7d9d919ffa8e81a90101655e80fd","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T18:36:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Tweak tests","shortMessageHtmlLink":"Tweak tests"}},{"before":"8c7a4072dd1e9b465c777302cde7a7c6b09c6493","after":"985e7ffb04763fb2ae4cf6a3a9907c47954e9693","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-21T16:06:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Continue to support php 7.4 for now","shortMessageHtmlLink":"Continue to support php 7.4 for now"}},{"before":null,"after":"8c7a4072dd1e9b465c777302cde7a7c6b09c6493","ref":"refs/heads/refactor-session-tests","pushedAt":"2024-05-20T22:02:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Refactor session tests\n\n* Create some helper classes to facilitate starting our external session\nscripts (`startSession.php`, `regenerateSessionId.php`, and\n`getSessionData.php`).\n\n* Update these external scripts to take formal arguments\nwith `getopt` to make it more straightforward what each of the currently\npositional arguments are actually for.\n\n* Add a bit of logic to TestSuite to dump more information about the\n source of an assertion to make it easier to track down problems when\n we assert outside of a top level public `test_*` method.\n\n* If our externally spawned session scripts fail output the exact call\n that was made along with all arguments as well as the output that we\n received to make it easier to narrow down.","shortMessageHtmlLink":"Refactor session tests"}},{"before":"74dddd00b710bcf2cd726d58545291242c410cb8","after":null,"ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-16T18:44:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"}},{"before":"f865d5b95dca9004ac82eaa5bef6ef53a21b15b0","after":"d68c30f87d0467f147dbcf8adb2a38357fafc4f9","ref":"refs/heads/develop","pushedAt":"2024-05-16T18:44:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Remove Windows PHP 7.x jobs","shortMessageHtmlLink":"Remove Windows PHP 7.x jobs"}},{"before":"2fdedc8732c8a3b0f0133fe1493f4a0a5cd1cc21","after":"74dddd00b710bcf2cd726d58545291242c410cb8","ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-16T17:22:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Remove Windows PHP 7.x jobs","shortMessageHtmlLink":"Remove Windows PHP 7.x jobs"}},{"before":"1f6d71eb958bf608610f8b3125e81a79c248666d","after":"2fdedc8732c8a3b0f0133fe1493f4a0a5cd1cc21","ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-16T16:53:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Rework how we declare ZSTD min/max constants.\n\nFixes #2487","shortMessageHtmlLink":"Rework how we declare ZSTD min/max constants."}},{"before":"7e302f8cef468d41eebe95e2b7d89ef4c45c1996","after":"1f6d71eb958bf608610f8b3125e81a79c248666d","ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-14T18:52:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Add an additional ZSTD_VERSION_NUMBER test","shortMessageHtmlLink":"Add an additional ZSTD_VERSION_NUMBER test"}},{"before":"afa683abcc0b0a61e9e4638ebbbd0aa1d809ff67","after":"7e302f8cef468d41eebe95e2b7d89ef4c45c1996","ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-14T04:36:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Rework how we declare ZSTD min/max constants.\n\nThese values are actually runtime in nature and can be retrieved with\n`ZSTD_minCLevel()` and `ZSTD_maxCLevel()` respectively.\n\nFixes #2487","shortMessageHtmlLink":"Rework how we declare ZSTD min/max constants."}},{"before":null,"after":"afa683abcc0b0a61e9e4638ebbbd0aa1d809ff67","ref":"refs/heads/readd-zstd-min-level-constant","pushedAt":"2024-05-14T04:08:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Rework how we declare ZSTD min/max constants.\n\nThese values are actually runtime in nature and can be retrieved with\n`ZSTD_minCLevel()` and `ZSTD_maxCLevel()` respectively.\n\nFixes #2487","shortMessageHtmlLink":"Rework how we declare ZSTD min/max constants."}},{"before":"0f94d9c1c6b3b03a6735cb45dd168b5b43d6a4d4","after":"f865d5b95dca9004ac82eaa5bef6ef53a21b15b0","ref":"refs/heads/develop","pushedAt":"2024-05-13T16:20:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"fix missing tags","shortMessageHtmlLink":"fix missing <code> tags"}},{"before":"c0d6f04298e3eb431734e9530e9122af87aa1ca7","after":"0f94d9c1c6b3b03a6735cb45dd168b5b43d6a4d4","ref":"refs/heads/develop","pushedAt":"2024-05-10T04:30:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Relax timing test slightly","shortMessageHtmlLink":"Relax timing test slightly"}},{"before":"fe0bac9b552b1c090a6c018b575f78cd4a4dea4a","after":null,"ref":"refs/heads/minor-session-test-refactor","pushedAt":"2024-05-10T03:46:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"}},{"before":null,"after":"fe0bac9b552b1c090a6c018b575f78cd4a4dea4a","ref":"refs/heads/minor-session-test-refactor","pushedAt":"2024-05-10T03:46:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Minor improvements to some session tests.","shortMessageHtmlLink":"Minor improvements to some session tests."}},{"before":"fe0bac9b552b1c090a6c018b575f78cd4a4dea4a","after":null,"ref":"refs/heads/minor-session-test-refactor","pushedAt":"2024-05-10T03:45:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"}},{"before":"f350dc342cb3520b2ee663664a22c25f29bc8aaf","after":"c0d6f04298e3eb431734e9530e9122af87aa1ca7","ref":"refs/heads/develop","pushedAt":"2024-05-10T03:45:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-grunder","name":"Michael Grunder","path":"/michael-grunder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/468149?s=80&v=4"},"commit":{"message":"Minor improvements to some session tests.","shortMessageHtmlLink":"Minor improvements to some session tests."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUWO1uwA","startCursor":null,"endCursor":null}},"title":"Activity ยท phpredis/phpredis"}