{"push_id":3099037581,"size":13,"distinct_size":1,"ref":"refs/heads/new_delivery_job","head":"add155ea23e063b90ecdc327d90e013f41ba0968","before":"77e05e4a9bf44d89e14d98f79b741696887f1383","commits":[{"sha":"264152af2b0c210b4c2e4865e337eaa07836c948","author":{"name":"Mauro Berlanda","email":"2f51ea7edf1afb01dd5ac0271ef7376049bd3274@gmail.com"},"message":"chore: implement config_for as ActiveSupport::OrderedOptions","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/264152af2b0c210b4c2e4865e337eaa07836c948"},{"sha":"7bd21e8575d4d1f5a6315898657b49574de9eb36","author":{"name":"Yannick Schutz","email":"b8f6aa2001c574226f91f14b0184be017074bdde@salesforce.com"},"message":"Add a test with extra keys to active_storage Service#upload","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/7bd21e8575d4d1f5a6315898657b49574de9eb36"},{"sha":"b37f06c814c75fa29f67e237301256d2ec4ec015","author":{"name":"Rafael França","email":"84c66fc058fe65d1bb08ca33b21bfe0fa5cb8f17@gmail.com"},"message":"Merge pull request #34576 from ys/test-upload-extra-keys\n\nAdd a test with extra keys to active_storage Service#upload","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/b37f06c814c75fa29f67e237301256d2ec4ec015"},{"sha":"25c076117ce9bb3efcf686c110187206e428b96a","author":{"name":"Rafael França","email":"84c66fc058fe65d1bb08ca33b21bfe0fa5cb8f17@gmail.com"},"message":"Merge pull request #33882 from mberlanda/mberlanda/as-inheritable-options-intialization\n\n[Realties] config_for as ActiveSupport::OrderedOptions","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/25c076117ce9bb3efcf686c110187206e428b96a"},{"sha":"220494185c84cf62d60ddcb1fa3527da9d758578","author":{"name":"Gannon McGibbon","email":"d615127a300a651d0c875f1e1fc814463278489b@gmail.com"},"message":"Clarify no support for non PK id columns\n\n[ci skip]","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/220494185c84cf62d60ddcb1fa3527da9d758578"},{"sha":"604fac6d7191fca102380b1a5f5eb9c619fb407f","author":{"name":"Ryuta Kamizono","email":"bca6f4261a19f75277fe4325de3272d15492eb61@gmail.com"},"message":"Merge pull request #34577 from gmcgibbon/id_as_non_pk_docs\n\nClarify no support for non PK id columns\r\n\r\n[ci skip]","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/604fac6d7191fca102380b1a5f5eb9c619fb407f"},{"sha":"ebf484a64018cbf84e6d6c39f4a22f2f2bfc9d51","author":{"name":"Gannon McGibbon","email":"d615127a300a651d0c875f1e1fc814463278489b@gmail.com"},"message":"Add yield to with_delivery_job test helper\n\nAdds yield to parameterized mail test helper so assertions\npassed into with_delivery_job are actually ran.","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/ebf484a64018cbf84e6d6c39f4a22f2f2bfc9d51"},{"sha":"6ca2f2acb2427bf8bbad9c4fb5d0316fb3d19e85","author":{"name":"yuuji.yaginuma","email":"16356534c1589fe78070f5640bedf8614007153c@gmail.com"},"message":"`metadata` is not passed to service\n\nRef: https://github.com/rails/rails/blob/604fac6d7191fca102380b1a5f5eb9c619fb407f/activestorage/app/models/active_storage/blob.rb#L256-L264\n\nThis fixes broken `GCSServiceTest`.\nhttps://travis-ci.org/rails/rails/jobs/461868394#L6624-L6626\n\nFollow up to  #34576.","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/6ca2f2acb2427bf8bbad9c4fb5d0316fb3d19e85"},{"sha":"d8b86c236c2bc03397425cf830a7e7b54df0b518","author":{"name":"Ryuta Kamizono","email":"bca6f4261a19f75277fe4325de3272d15492eb61@gmail.com"},"message":"Merge pull request #34579 from gmcgibbon/yield_in_with_delivery_job\n\nAdd yield to with_delivery_job test helper","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/d8b86c236c2bc03397425cf830a7e7b54df0b518"},{"sha":"e06e53e28527a7f90f7e22117174f6376bf6eaf1","author":{"name":"Greg Molnar","email":"0cf7dfba4da418e658f468ad0a6a0154fa6907be@gmail.com"},"message":"fix example code syntax [ci skip]","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/e06e53e28527a7f90f7e22117174f6376bf6eaf1"},{"sha":"a429b29425027006f2bbd4d267928dde1dc2c31a","author":{"name":"Ryuta Kamizono","email":"bca6f4261a19f75277fe4325de3272d15492eb61@gmail.com"},"message":"Merge pull request #34583 from gregmolnar/guides_fix\n\nfix example code syntax [ci skip]","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/a429b29425027006f2bbd4d267928dde1dc2c31a"},{"sha":"aa1ba9cb244b1e03d36aaa941ae4e91c6713b77e","author":{"name":"rmacklin","email":"e9a946eeaa216572ec33bf3f99db1d36b70ee6ee@users.noreply.github.com"},"message":"Remove circular dependency warnings in ActionCable javascript and publish source modules with fine-grained exports (#34370)\n\n* Replace several ActionCable.* references with finer-grained imports\r\n\r\nThis reduces the number of circular dependencies among the module\r\nimports from 4:\r\n\r\n```\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/connection.js -> app/javascript/action_cable/index.js\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/connection_monitor.js -> app/javascript/action_cable/index.js\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/consumer.js -> app/javascript/action_cable/index.js\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/subscriptions.js -> app/javascript/action_cable/index.js\r\n```\r\n\r\nto 2:\r\n\r\n```\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/connection.js -> app/javascript/action_cable/index.js\r\n(!) Circular dependency: app/javascript/action_cable/index.js -> app/javascript/action_cable/connection.js -> app/javascript/action_cable/connection_monitor.js -> app/javascript/action_cable/index.js\r\n```\r\n\r\n* Remove tests that only test javascript object property assignment\r\n\r\nThese tests really only assert that you can assign a property to\r\nthe ActionCable global object. That's true for pretty much any object\r\nin javascript (it would only be false if the object has been frozen, or\r\nhas explicitly set some properties to be nonconfigurable).\r\n\r\n* Refactor ActionCable to provide individual named exports\r\n\r\nBy providing individual named exports rather than a default export which\r\nis an object with all of those properties, we enable applications to\r\nonly import the functions they need: any unused functions will be\r\nremoved via tree shaking.\r\n\r\nAdditionally, this restructuring removes the remaining circular\r\ndependencies by extracting the separate adapters and logger modules, so\r\nthere are now no warnings when compiling the ActionCable bundle.\r\n\r\nNote: This produces two small breaking API changes:\r\n\r\n- The `ActionCable.WebSocket` getter and setter would be moved to\r\n  `ActionCable.adapters.WebSocket`. If a user is currently configuring\r\n  this, when upgrading they'd need to either add a delegated\r\n  getter/setter themselves, or change it like this:\r\n   ```diff\r\n   -    ActionCable.WebSocket = MyWebSocket\r\n   +    ActionCable.adapters.WebSocket = MyWebSocket\r\n    ```\r\n   Applications which don't change the WebSocket adapter would not need\r\n   any changes for this when upgrading.\r\n\r\n- Similarly, the `ActionCable.logger` getter and setter would be moved\r\n  to `ActionCable.adapters.logger`. If a user is currently configuring\r\n  this, when upgrading they'd need to either add a delegated\r\n  getter/setter themselves, or change it like this:\r\n   ```diff\r\n   -    ActionCable.logger = myLogger\r\n   +    ActionCable.adapters.logger = myLogger\r\n    ```\r\n   Applications which don't change the logger would not need any changes\r\n   for this when upgrading.\r\n\r\nThese two aspects of the public API have to change because there's no\r\nway to export a property setter for `WebSocket` (or `logger`) such that\r\nthis:\r\n```js\r\nimport ActionCable from \"actioncable\"\r\n\r\nActionCable.WebSocket = MyWebSocket\r\n```\r\nwould actually update `adapters.WebSocket`. (We can only offer that if\r\nwe have two separate source files like if `index.js` uses\r\n`import * as ActionCable from \"./action_cable\" and then exports a\r\nwrapper which has delegated getters and setters for those properties.)\r\n\r\nThis API change is very minor - it should be easy for applications to\r\nadd the `adapters.` prefix in their assignments or to patch in delegated\r\nsetters. And especially because most applications in the wild are not\r\never changing the default value of `ActionCable.WebSocket` or\r\n`ActionCable.logger` (because the default values are perfect), this API\r\nbreakage is worth the tree-shaking benefits we gain.\r\n\r\n* Include source code in published actioncable npm package\r\n\r\nThis allows actioncable users to ship smaller javascript bundles to\r\nvisitors using modern browsers, as demonstrated in this repository:\r\nhttps://github.com/rmacklin/actioncable-es2015-build-example\r\n\r\nIn that example, the bundle shrinks by 2.8K (25.2%) when you simply\r\nchange the actioncable import to point to the untranspiled src.\r\n\r\nIf you go a step further, like this:\r\n```\r\ndiff --git a/app/scripts/main.js b/app/scripts/main.js\r\nindex 17bc031..1a2b2e0 100644\r\n--- a/app/scripts/main.js\r\n+++ b/app/scripts/main.js\r\n@@ -1,6 +1,6 @@\r\n-import ActionCable from 'actioncable';\r\n+import * as ActionCable from 'actioncable';\r\n\r\n let cable = ActionCable.createConsumer('wss://cable.example.com');\r\n\r\n cable.subscriptions.create('AppearanceChannel', {\r\n```\r\n\r\nthen the bundle shrinks by 3.6K (31.7%)!\r\n\r\nIn addition to allowing smaller bundles for those who ship untranspiled\r\ncode to modern browsers, including the source code in the published\r\npackage can be useful in other ways:\r\n\r\n1. Users can import individual modules rather than the whole library\r\n2. As a result of (1), users can also monkey patch parts of actioncable\r\n   by importing the relevant module, modifying the exported object, and\r\n   then importing the rest of actioncable (which would then use the\r\n   patched object).\r\n\r\nNote: This is the same enhancement that we made to activestorage in\r\nc0368ad090b79c19300a4aa133bb188b2d9ab611\r\n\r\n* Remove unused commonjs & resolve plugins from ActionCable rollup config\r\n\r\nThese were added when we copied the rollup config from ActiveStorage,\r\nbut ActionCable does not have any commonjs dependencies (it doesn't have\r\nany external dependencies at all), so these plugins are unnecessary here\r\n\r\n* Change ActionCable.startDebugging() -> ActionCable.logger.enabled=true\r\n\r\nand ActionCable.stopDebugging() -> ActionCable.logger.enabled=false\r\n\r\nThis API is simpler and more clearly describes what it does\r\n\r\n* Change Travis configuration to run yarn install at the root for ActionCable builds\r\n\r\nThis is necessary now that the repository is using Yarn Workspaces","distinct":false,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/aa1ba9cb244b1e03d36aaa941ae4e91c6713b77e"},{"sha":"add155ea23e063b90ecdc327d90e013f41ba0968","author":{"name":"Gannon McGibbon","email":"d615127a300a651d0c875f1e1fc814463278489b@gmail.com"},"message":"Use new delivery job for unified delivery in Rails 6","distinct":true,"url":"https://api.github.com/repos/gmcgibbon/rails/commits/add155ea23e063b90ecdc327d90e013f41ba0968"}]}
{"actor":{"display_login":"gmcgibbon"}}