{"push_id":2591268078,"size":23,"distinct_size":23,"ref":"refs/heads/master","head":"9e2a10108914eb0046466c76fec4eeda8f31b336","before":"8ecd6e6cede3bbb18ee516b560565ff336ccabef","commits":[{"sha":"6b3da4a4a4f3ba82453836bec54846c6cac5a0f2","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"redux 4.0.0, react-redux 5.0.7","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/6b3da4a4a4f3ba82453836bec54846c6cac5a0f2"},{"sha":"fcca15c8271d43a787afb0c32c56945a8c9ece9a","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Coding style","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/fcca15c8271d43a787afb0c32c56945a8c9ece9a"},{"sha":"983e62ffe98dae24d724ecb314f896bbb7db488f","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Associate remote participant w/ JitsiConference (_JOINED)\n\nThe plan set in motion here is to associate remote participants with the\nJitsiConference instances that created them in order to be able to\nremove remote participants when a JitsiConference is no longer the\nprimary focus of the jitsi-meet app. And that's supposed to alleviate a\nproblem with multiplying remote thumbnails.\n\nDoing all of the above in a single commit is a bit of a high order. So\nI'm splitting the whole into multiple successive commits for the\npurposes of observability, comprehension. Each commit is supposed to be\nsafe even if subsequent commits are not accepted, are reverted,\nwhatever. Obviously, without the successive commits, a commit may be\n\"unused\".\n\nOne of the important pieces of the multiplying remote thumbnails \"fix\"\noffered is removing remote participants who are no longer of interest\ni.e. PARTICIPANT_LEFT. But in order for _LEFT to be implemented, _JOINED\nmust be implemented first.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/983e62ffe98dae24d724ecb314f896bbb7db488f"},{"sha":"37cd5bb5b9a61d0d15f60ba0c7bec03db8a50330","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Associate remote participant w/ JitsiConference (_LEFT)\n\nThe commit message of \"Associate remote participant w/ JitsiConference\n(_JOINED)\" explains the motivation for this commit.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/37cd5bb5b9a61d0d15f60ba0c7bec03db8a50330"},{"sha":"771d60f95416a37ebde63dcafc685b086335cac2","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Associate remote participant w/ JitsiConference (_UPDATED)\n\nThe commit message of \"Associate remote participant w/ JitsiConference\n(_JOINED)\" explains the motivation for this commit.\n\nPractically, _JOINED and _LEFT combined with \"Remove remote participants\nwho are no longer of interest\" should alleviate the problem with\nmultiplying remote participants to an acceptable level of annoyance.\n\nTechnically though, a remote participant cannot be identified by an ID\nonly. The ID is (somewhat) \"unique\" in the context of a single\nJitsiConference instance. So in order to not have to scratch our heads\nover an obscure corner, racing case, it's better to always identify\nremote participants by the pair id-conference. Unfortunately, that's a\nbit of a high order given the existing source code. So I've implemented\nthe cases which are the easiest so that new source code written with\nparticipantUpdated is more likely to identify a remote participant with\nthe pair id-conference.\n\nAdditionally, the commit \"Reduce direct read access to the\nfeatures/base/participants redux state\" brings more control back to the\nfunctions of the feature base/participants so that one day we can (if we\nchoose to) do something like, for example:\n\nIf getParticipants is called with a conference, it returns the\nparticipants from features/base/participants who are associated with the\nspecified conference. If no conference is specified in the function\ncall, then default to the conference which is the primary focus of the\napp at the time of the function call. Added to the above, this should\nallow us to further reduce the cases in which we're identifying remote\nparticipants by id only and get us even closer to a more \"predictable\"\nbehavior in corner, racing cases.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/771d60f95416a37ebde63dcafc685b086335cac2"},{"sha":"8cd2bd272be96f96303027328d888ca24a6e201c","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Reduce direct read access to the features/base/participants redux state\n\nAs part of the work on fixing the problem with the multiplying\nthumbnails, we've associated remote participant w/ JitsiConference.\nHowever, there are periods of time when multiple JitsiConferences are in\nthe redux state (and that period is going to be shorted by\nStateListenerRegistry). In order to give more control to the feature\nbase/participants, reduce the occurrences of direct access to the\nfeatures/base/participants redux state and utilize the feature's\nexisting read access functions. Which will allow us in the future to\nenhance these functions to access participants which are relevant to the\ncurrent conference of interest to the user only.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/8cd2bd272be96f96303027328d888ca24a6e201c"},{"sha":"db21e97c1959075549aab9de9c620aadb09b6e3d","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"StateListenerRegistry\n\n\"Middleware\" redux state changes, not actions.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/db21e97c1959075549aab9de9c620aadb09b6e3d"},{"sha":"ee9fcbb7355dae55821515685ba4b1380d73686b","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"Remove remote participants who are no longer of interest\n\nThe Jitsi Meet app always has at most 1 conference of primary interest.\nIt may have to juggle with 2 JitsiConference instances at the same time\nif 1 is in the process of being left and one is joining/joined. But the\none which is joining or joined (which we call conference in the\nfeatures/base/conference redux state) is the one \"of interest\", the\nother one is \"clean up\". Consequently, the remote participants of the\nconference \"of interest\" are the remote participants \"of interest\" and\nthe others are \"clean up\". In order to reduce the time during which\nthere may be multiplying remote thumbnails, clean the remote\nparticipants who are no longer \"of interest\" up.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/ee9fcbb7355dae55821515685ba4b1380d73686b"},{"sha":"2ecacf6c3ea6b558b96aac1f7a5efe0faf4c4ad3","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"[RN] Fix a \"TypeError: Cannot read property handlers of undefined\" in ImageCache\n\nWith some of the preceding commits in the \"multiplying remote\nthumbnails\" story line, I started hitting this error with 100%\nreproducibility:\n\n1. Have a remote participant prepared in conferenceA. Web will do as\nwell.\n2. On iOS prepare to join conferenceB in Safari and use the same device\nfor step 3.\n3. Join conferenceA on the iOS device from step 2 with audio-only. The\naudio-only is so that avatars are always visible. Wait for the remote\nparticipant prepared in step 1 to appear.\n4. Switch to Safari and hit \"Continue in the app\" to have the app leave\nconferenceA and join conferenceB.\n\nWhat happens:\nAfter the iOS device joins conferenceB in the Jitsi Meet app, the local\nparticipant is on the large video (as expected) but the avatar of the\nlocal participant is the default audo-generated auto-colored\nplaceholder. That's because this error was hit and the avatar couldn't\nbe \"fetched\".","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/2ecacf6c3ea6b558b96aac1f7a5efe0faf4c4ad3"},{"sha":"480fe530010c03d9fc9e9c9e066bbabbaad693af","author":{"name":"Zoltan Bettenbuk","email":"fd88912a7b1e0b672425a87927c7ebd8578e84c9@gmail.com"},"message":"Merge pull request #3009 from jitsi/state-listener\n\n[RN] Prevent multiplying remote thumbnails","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/480fe530010c03d9fc9e9c9e066bbabbaad693af"},{"sha":"5b4a16cf6b89dba223f6e78a9e372f7e7d034c73","author":{"name":"Дамян Минков","email":"e538759e9058154fc13d3a32667e4ce13b86260d@jitsi.org"},"message":"Updates lib-jitsi-meet that uses strophe.js 1.2.15. (#3020)","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/5b4a16cf6b89dba223f6e78a9e372f7e7d034c73"},{"sha":"2b1c875b91468f3cd2f53eeb0aec3b6e550f1adc","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"feat(presence-status): Add more statuses.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/2b1c875b91468f3cd2f53eeb0aec3b6e550f1adc"},{"sha":"d89227829fc7f7bea9f631e87c274adf97b995ad","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"feat(invite-sounds): Add expired and rejected sounds.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/d89227829fc7f7bea9f631e87c274adf97b995ad"},{"sha":"8b91afd80dc11178e1f1162e730a27a07e5f3fb0","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"fix(invite-sounds): Don't play joined sound for the poltergeist.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/8b91afd80dc11178e1f1162e730a27a07e5f3fb0"},{"sha":"d4d2c254993e30f69c762dcb01040e6e677b4db8","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"[RN] Add rejected ringtone sound assets to build","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/d4d2c254993e30f69c762dcb01040e6e677b4db8"},{"sha":"f12ba37cf3a5f1ea3d48953728517bc96981f0d0","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"fix(presence-status): Use lower case for call flow related statuses.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/f12ba37cf3a5f1ea3d48953728517bc96981f0d0"},{"sha":"d557a6505dde4b24e3e8a598eb0cdb0957478808","author":{"name":"Saúl Ibarra Corretgé","email":"8a7991f6950ea189abf159d6ec98d2fcc13dc5f6@jitsi.org"},"message":"[RN] Fix handling XMPP connection failures\n\nAfter the connection is established, it can either be properly disconnected or\nfail. We need to make sure to be listening for events for either.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/d557a6505dde4b24e3e8a598eb0cdb0957478808"},{"sha":"357b2068318fabd63a27a233afd6a4bb3549aa0e","author":{"name":"Saúl Ibarra Corretgé","email":"8a7991f6950ea189abf159d6ec98d2fcc13dc5f6@jitsi.org"},"message":"[RN] Fix processing outdated loadConfig requests\n\nThis fix is based on storing the location URL object we are loading the\nconfiguration for in the redux store. Once the config has been loaded (or it has\nfailed, for that matter!) we'll check if the current \"config URL\" is the same we\nset, and discard the old one if they don't match.","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/357b2068318fabd63a27a233afd6a4bb3549aa0e"},{"sha":"592305df74fa203ba4cb5cba2869b49636e44404","author":{"name":"Lyubo Marinov","email":"82e073e8a82aaf63405aecbfc70a8c142314fe3c@atlassian.com"},"message":"[RN] Fix processing outdated loadConfig requests (continued)\n\nCo-authored-by: Lyubo Marinov <lmarinov@atlassian.com>\nCo-authored-by: Paweł Domas <pawel.domas@jitsi.org>","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/592305df74fa203ba4cb5cba2869b49636e44404"},{"sha":"3dbb663922dd3f16a9f04c776e05fbf679ceeaae","author":{"name":"hristoterezov","email":"c180b1740dfd74355ea9ff91514b3d7f6c6c77c9@jitsi.org"},"message":"feat(call-flows): Add config property for enabling call flows. (#3031)","distinct":true,"url":"https://api.github.com/repos/zbettenbuk/jitsi-meet/commits/3dbb663922dd3f16a9f04c776e05fbf679ceeaae"}]}
{"actor":{"display_login":"zbettenbuk"}}