{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":76838017,"defaultBranch":"develop","name":"iina","ownerLogin":"iina","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-12-19T07:18:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/35151645?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719532108.0","currentOid":""},"activityList":{"items":[{"before":"994d32b49a519a7ba3f4f9b802fed64ae0bb5074","after":"3ef397e05f330cc608d37354b434b89b8708cfdc","ref":"refs/heads/prevent-sleep","pushedAt":"2024-06-28T03:22:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Close enable screensaver while playing audio files, #4954\n\nThis commit will:\n- Add new settings preventScreenSaver and\n allowScreenSaverForAudio\n- Change the PlayerCore checkCurrentMediaIsAudio method into an isAudio\n PlaybackInfo property\n- Add a \"Prevent screen saver from starting while playing\"\n checkbox with a \"Not while in Music Mode or only playing audio\"\n subordinate checkbox to the settings window General tab\n- Change the PlayerCore.checkStatusForSleep method to support the new\n settings\n- Change SleepPreventer to use ProcessInfo activities instead of\n IOPMAssertionCreateWithName\n- Add logging to SleepPreventer\n- Remove the \"Cannot prevent display sleep!\" alert along with the\n associated suppressCannotPreventDisplaySleep preference.\n\nThis allows the user to control whether IINA prevents the screen saver\nfrom starting when in music mode or just playing audio or allow the\nscreen saver to start and the display to power off and only prevent the\nsystem from sleeping.\n\nBy default IINA will prevent the screen saver from starting when in\nmusic mode or playing audio to match the current behavior.","shortMessageHtmlLink":"Close enable screensaver while playing audio files, #4954"}},{"before":"75fb04e103351ebfaf1b50a659277d29db237c44","after":"8cf26e90524ea45677304bd6837f7c1964be4451","ref":"refs/heads/hwdec-codecs","pushedAt":"2024-06-28T02:51:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Remove unsupported codecs from hwdec-codecs\n\nThis commit will:\n- Add a new class HardwareDecodeCapabilities\n- Add a call to HardwareDecodeCapabilities.checkCapabilities in\n AppDelegate.applicationWillFinishLaunching\n- Add a new method userOptionsContains to MPVController that checks if a\n user has configured a mpv option in IINA's advanced settings\n- Add a new property mpvCodecToCodecTypes to MPVController that maps a\n mpv codec name to core media video codec types\n- Add a new adjustCodecWhiteList method to MPVController that removes\n codecs from the mpv hwdec-codecs option if the Mac does not support\n hardware decoding for that codec\n- Change the applyHardwareAccelerationWorkaround method to use the value\n of the hwdec-codecs option instead of a hardcoded value\n\nThese changes cause mpv to not attempt to use hardware decoding for a\ncodec that is known to not be supported. This eliminates the overhead of\nsetting up for hardware decoding only to have it fail. This is not\ncomprehensive. This only covers the recent codecs whose support for\nhardware decoding varies among Macs. This merely reduces the dependence\nupon the FFmpeg fallback to software decoding feature in some cases.","shortMessageHtmlLink":"Remove unsupported codecs from hwdec-codecs"}},{"before":"af17f11e7accf750c72ac26cdb112b402c09d042","after":"172e091776e9f02815aa5402c1366825c8965f5c","ref":"refs/heads/develop","pushedAt":"2024-06-28T00:23:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Fix conflicting constraints in subtitle sidebar, #5027","shortMessageHtmlLink":"Fix conflicting constraints in subtitle sidebar, #5027"}},{"before":"af17f11e7accf750c72ac26cdb112b402c09d042","after":"b4031123f23ec8eda357af2a6179192fcace4e9f","ref":"refs/heads/render-update-crash","pushedAt":"2024-06-27T23:57:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix crash while quitting in mpv_render_context_update, #5023\n\nThis commit will:\n- Change where isUninited is locked in VideoLayer\n- Add a displayLock property to VideoLayer\n- Use displayLock to single thread the display method\n- Move the skip render code from the draw method to the display method\n\nThis ensures the render context has not been freed when\nshouldRenderUpdateFrame is called. This also changes the location of the\nskip render code to match how mpv handles skipping.","shortMessageHtmlLink":"Fix crash while quitting in mpv_render_context_update, #5023"}},{"before":null,"after":"af17f11e7accf750c72ac26cdb112b402c09d042","ref":"refs/heads/render-update-crash","pushedAt":"2024-06-27T23:48:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix NSColorWell warning","shortMessageHtmlLink":"Fix NSColorWell warning"}},{"before":"bf7cf6586d4d5586b0aafb9af946da547df304db","after":"af17f11e7accf750c72ac26cdb112b402c09d042","ref":"refs/heads/develop","pushedAt":"2024-06-27T01:53:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Fix NSColorWell warning","shortMessageHtmlLink":"Fix NSColorWell warning"}},{"before":"dca7dd89b25e0f4f9c5ce64070504e2e8a8c7a66","after":null,"ref":"refs/heads/video-layer-hang","pushedAt":"2024-06-27T00:29:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"}},{"before":"f731bd212521a675f13503fe7f2762bf9b0e5c9d","after":"bf7cf6586d4d5586b0aafb9af946da547df304db","ref":"refs/heads/develop","pushedAt":"2024-06-27T00:29:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Fix pressing ⏩︎ and ⏪︎ can cause playback to freeze, #5025\n\nThis commit will change VideoLayer.draw to call shouldRenderUpdateFrame\nin MPVController when processing a skip renderer. This method calls\nmpv_render_context_update. It is a hard requirement to call\nmpv_render_context_update after each call to mpvUpdateCallback when\nMPV_RENDER_PARAM_ADVANCED_CONTROL is used. That is why enabling advanced\ncontrol brought out this problem.\n\n@krackers and @svobs provided essential help with this issue.\n\nCo-authored-by: krackers \nCo-authored-by: Matt Svoboda ","shortMessageHtmlLink":"Fix pressing ⏩︎ and ⏪︎ can cause playback to freeze, #5025"}},{"before":"f731bd212521a675f13503fe7f2762bf9b0e5c9d","after":"dca7dd89b25e0f4f9c5ce64070504e2e8a8c7a66","ref":"refs/heads/video-layer-hang","pushedAt":"2024-06-26T21:58:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix pressing ⏩︎ and ⏪︎ can cause playback to freeze, #5025\n\nThis commit will change VideoLayer.draw to call shouldRenderUpdateFrame\nin MPVController when processing a skip renderer. This method calls\nmpv_render_context_update. It is a hard requirement to call\nmpv_render_context_update after each call to mpvUpdateCallback when\nMPV_RENDER_PARAM_ADVANCED_CONTROL is used. That is why enabling advanced\ncontrol brought out this problem.\n\n@krackers and @svobs provided essential help with this issue.\n\nCo-authored-by: krackers \nCo-authored-by: Matt Svoboda ","shortMessageHtmlLink":"Fix pressing ⏩︎ and ⏪︎ can cause playback to freeze, #5025"}},{"before":null,"after":"f731bd212521a675f13503fe7f2762bf9b0e5c9d","ref":"refs/heads/video-layer-hang","pushedAt":"2024-06-26T20:49:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Merge pull request #5020 from iina/secsub-settings\n\nAdded controls to QuickSettingsPanel to control second subtitles position and delay","shortMessageHtmlLink":"Merge pull request #5020 from iina/secsub-settings"}},{"before":"bddc901b677c2e1a1d282eb5876ce398810b7956","after":null,"ref":"refs/heads/secsub-settings","pushedAt":"2024-06-26T14:45:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"}},{"before":"a258c345b3e7883583b1a55f6656073aaa26b3ad","after":"f731bd212521a675f13503fe7f2762bf9b0e5c9d","ref":"refs/heads/develop","pushedAt":"2024-06-26T14:45:00.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Merge pull request #5020 from iina/secsub-settings\n\nAdded controls to QuickSettingsPanel to control second subtitles position and delay","shortMessageHtmlLink":"Merge pull request #5020 from iina/secsub-settings"}},{"before":"91659c2b44a03f4acf8a78111fa0d8240eb21874","after":"bddc901b677c2e1a1d282eb5876ce398810b7956","ref":"refs/heads/secsub-settings","pushedAt":"2024-06-26T00:57:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Use default color well on macOS 13 and above","shortMessageHtmlLink":"Use default color well on macOS 13 and above"}},{"before":"f703ae020ab670a12cdd527c62193bbee40003e9","after":"a258c345b3e7883583b1a55f6656073aaa26b3ad","ref":"refs/heads/develop","pushedAt":"2024-06-25T06:07:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Added .lrc file to supported subtitles list, fix #3192","shortMessageHtmlLink":"Added .lrc file to supported subtitles list, fix #3192"}},{"before":"ee104961f5e053e6e9a79e3e6325d063d5943868","after":"f703ae020ab670a12cdd527c62193bbee40003e9","ref":"refs/heads/develop","pushedAt":"2024-06-25T05:50:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Remove Midi from imported type identifiers, fix #2235","shortMessageHtmlLink":"Remove Midi from imported type identifiers, fix #2235"}},{"before":"61c19863e8365d9e3d63ab2e9a66e03bca35be2c","after":null,"ref":"refs/heads/tsan","pushedAt":"2024-06-25T03:49:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"}},{"before":"db436141ffeb6fdb5e76a13a595687ad36b82d32","after":"ee104961f5e053e6e9a79e3e6325d063d5943868","ref":"refs/heads/develop","pushedAt":"2024-06-25T03:49:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"Fix data races, #3829, #3830, #3936, #3937 (#4819)\n\n* Fix data races, #3829, #3830, #3936, #3937\r\n\r\nThis commit will:\r\n- Change MPVController to perform most event processing using the main\r\n thread\r\n- Remove dispatching to main queue from PlayerCore methods now being\r\n called by MPVController using the main thread\r\n- Add the Atomic property wrapper to the playlistTotalLength and\r\n playlistTotalLengthIsReady PlaylistViewController properties\r\n- Add the Atomic property wrapper to the following PlayerInfo\r\n properties:\r\n - aid\r\n - secondSid\r\n - sid\r\n - subTracks\r\n - thumbnails\r\n - thumbnailsProgress\r\n - thumbnailsReady\r\n - vid\r\n- Change references to subTracks to lock the array\r\n- Change references to thumbnails to lock the array\r\n- Add the Atomic property wrapper to the hooks MPVController property\r\n- Change references to hooks to lock the array\r\n- Add the Atomic property wrapper to the playlistTotalLengthIsReady and\r\n playlistTotalLength PlaylistViewController properties\r\n- Change PlayerCore.playbackRestarted to re-enable the OSD by\r\n dispatching to the main thread using async with a delay instead of\r\n using a timer\r\n- Add the method logPropertyValueError to MPVController to report when\r\n property values can not be converted to the expected type\r\n- Replace MPVController method reEnableOSDAfterFileLoading with inline\r\n code\r\n\r\nThese changes will correct data races between the main thread and the\r\nthread for the MPVController com.colliderli.iina.controller queue by\r\nchanging MPVController to dispatch work to the main queue. This will\r\nsimplify the code as in some cases work was being done on both the\r\ncontroller queue and the main queue as some processing required calling\r\nAppKit methods that must be run on the main thread.\r\n\r\nThese changes will also correct the data races between the main thread\r\nand PlayerCore backgroundQueue used for loading subtitles by adding the\r\nAtomic property wrapper to properties shared between these threads and\r\nusing the withLock method. Similar changes correct the data races\r\nbetween the main thread and PlayerCore thumbnailQueue.\r\n\r\nThese changes will also fix data races with the\r\nplaylistTotalLengthIsReady and playlistTotalLength properties.\r\n\r\n* Fix data races, #3829, #3830, #3936, #3937\r\n\r\nThis commit will:\r\n- Change MPVController to perform most event processing using the main\r\n thread\r\n- Remove dispatching to main queue from PlayerCore methods now being\r\n called by MPVController using the main thread\r\n- Add the Atomic property wrapper to the playlistTotalLength and\r\n playlistTotalLengthIsReady PlaylistViewController properties\r\n- Add the Atomic property wrapper to the following PlayerInfo\r\n properties:\r\n - aid\r\n - secondSid\r\n - sid\r\n - subTracks\r\n - thumbnails\r\n - thumbnailsProgress\r\n - thumbnailsReady\r\n - vid\r\n- Change references to subTracks to lock the array\r\n- Change references to thumbnails to lock the array\r\n- Add the Atomic property wrapper to the hooks MPVController property\r\n- Change references to hooks to lock the array\r\n- Add the Atomic property wrapper to the playlistTotalLengthIsReady and\r\n playlistTotalLength PlaylistViewController properties\r\n- Change PlayerCore.playbackRestarted to re-enable the OSD by\r\n dispatching to the main thread using async with a delay instead of\r\n using a timer\r\n- Add the method logPropertyValueError to MPVController to report when\r\n property values can not be converted to the expected type\r\n- Replace MPVController method reEnableOSDAfterFileLoading with inline\r\n code\r\n\r\nThese changes will correct data races between the main thread and the\r\nthread for the MPVController com.colliderli.iina.controller queue by\r\nchanging MPVController to dispatch work to the main queue. This will\r\nsimplify the code as in some cases work was being done on both the\r\ncontroller queue and the main queue as some processing required calling\r\nAppKit methods that must be run on the main thread.\r\n\r\nThese changes will also correct the data races between the main thread\r\nand PlayerCore backgroundQueue used for loading subtitles by adding the\r\nAtomic property wrapper to properties shared between these threads and\r\nusing the withLock method. Similar changes correct the data races\r\nbetween the main thread and PlayerCore thumbnailQueue.\r\n\r\nThese changes will also fix data races with the\r\nplaylistTotalLengthIsReady and playlistTotalLength properties.\r\n\r\n* Fix data races, #3829, #3830, #3936, #3937\r\n\r\nThis commit will:\r\n- Change MPVController to perform most event processing using the main\r\n thread\r\n- Remove dispatching to main queue from PlayerCore methods now being\r\n called by MPVController using the main thread\r\n- Add the Atomic property wrapper to the playlistTotalLength and\r\n playlistTotalLengthIsReady PlaylistViewController properties\r\n- Add the Atomic property wrapper to the following PlayerInfo\r\n properties:\r\n - aid\r\n - secondSid\r\n - sid\r\n - subTracks\r\n - thumbnails\r\n - thumbnailsProgress\r\n - thumbnailsReady\r\n - vid\r\n- Change references to subTracks to lock the array\r\n- Change references to thumbnails to lock the array\r\n- Add the Atomic property wrapper to the hooks MPVController property\r\n- Change references to hooks to lock the array\r\n- Add the Atomic property wrapper to the playlistTotalLengthIsReady and\r\n playlistTotalLength PlaylistViewController properties\r\n- Change PlayerCore.playbackRestarted to re-enable the OSD by\r\n dispatching to the main thread using async with a delay instead of\r\n using a timer\r\n- Add the method logPropertyValueError to MPVController to report when\r\n property values can not be converted to the expected type\r\n- Replace MPVController method reEnableOSDAfterFileLoading with inline\r\n code\r\n\r\nThese changes will correct data races between the main thread and the\r\nthread for the MPVController com.colliderli.iina.controller queue by\r\nchanging MPVController to dispatch work to the main queue. This will\r\nsimplify the code as in some cases work was being done on both the\r\ncontroller queue and the main queue as some processing required calling\r\nAppKit methods that must be run on the main thread.\r\n\r\nThese changes will also correct the data races between the main thread\r\nand PlayerCore backgroundQueue used for loading subtitles by adding the\r\nAtomic property wrapper to properties shared between these threads and\r\nusing the withLock method. Similar changes correct the data races\r\nbetween the main thread and PlayerCore thumbnailQueue.\r\n\r\nThese changes will also fix data races with the\r\nplaylistTotalLengthIsReady and playlistTotalLength properties.","shortMessageHtmlLink":"Fix data races, #3829, #3830, #3936, #3937 (#4819)"}},{"before":"af95ddd518fab9833d4e9c1b7dd66df3c96d689c","after":"91659c2b44a03f4acf8a78111fa0d8240eb21874","ref":"refs/heads/secsub-settings","pushedAt":"2024-06-24T19:47:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Add english localization for new segmented control labels","shortMessageHtmlLink":"Add english localization for new segmented control labels"}},{"before":null,"after":"0bde5f90767177ccce02c77273d2b58995316ba3","ref":"refs/heads/fix-pinch-shifts-window","pushedAt":"2024-06-24T12:46:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Fix the window is shifted when pinching to resize, #4681\n\n- Cache the window frame when started pinching to resize\n- Used the cahced window frame instead of the current window frame to\n avoid accumulated rounding errors","shortMessageHtmlLink":"Fix the window is shifted when pinching to resize, #4681"}},{"before":"b687040030b0f389853834a21c66346326fd7c71","after":"4fe5944e25ae84b46d7e8e629a6402c962e54532","ref":"refs/heads/new-pref-ui","pushedAt":"2024-06-24T04:20:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"--wip--","shortMessageHtmlLink":"--wip--"}},{"before":"012f22f530eac2ee0f642306fa1f990f55f8d0ed","after":null,"ref":"refs/heads/secure-playlist","pushedAt":"2024-06-24T04:09:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"}},{"before":"0b6a5c418b945641bbea653fdbd14302510a12df","after":"db436141ffeb6fdb5e76a13a595687ad36b82d32","ref":"refs/heads/develop","pushedAt":"2024-06-24T04:09:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Fix PlaylistViewController uses deprecated methods, #5007 (#5008)\n\nThis commit will change PlaylistViewController to use methods that\r\nsupport secure coding instead of the deprecated methods.","shortMessageHtmlLink":"Fix PlaylistViewController uses deprecated methods, #5007 (#5008)"}},{"before":"21dd20a4b46ba6ca7861f62efd763ec964e70273","after":"af95ddd518fab9833d4e9c1b7dd66df3c96d689c","ref":"refs/heads/secsub-settings","pushedAt":"2024-06-24T03:37:24.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Implement basic functions for secondary subs","shortMessageHtmlLink":"Implement basic functions for secondary subs"}},{"before":"0b6a5c418b945641bbea653fdbd14302510a12df","after":"9dcd8f74e11c1fdf1c2340563065d2975cb94b46","ref":"refs/heads/watch-later-options","pushedAt":"2024-06-24T02:39:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Update watch-later-options workaround for mpv 0.38.0\n\nThis commit will:\n- Add a new method userOptionsContains to MPVController\n- Remove the workaround from mpvInit for secondary-sub-visibility\n missing from watch-later-options\n- Add a workaround to mpvInit for secondary-sid and secondary-sub-delay\n missing from watch-later-options\n- Add sorting of the logged watch-later-options value\n\nThe problem in mpv with secondary-sub-visibility missing from\nwatch-later-options has been fixed with the upgrade to mpv 0.38.0.\nHowever secondary-sid and secondary-sub-delay are missing from\nwatch-later-options in mpv 0.38.0 (mpv issue #14417). This commit\nupdates the workaround for 0.38.0. Issue #14417 has been fixed in mpv,\nso the next time mpv is upgraded this workaround can finally be removed.","shortMessageHtmlLink":"Update watch-later-options workaround for mpv 0.38.0"}},{"before":null,"after":"0b6a5c418b945641bbea653fdbd14302510a12df","ref":"refs/heads/watch-later-options","pushedAt":"2024-06-24T01:17:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix CC_MD5 deprecated warning (#5017)\n\nThis commit will:\r\n- Remove the NSData extension that was using the deprecated Common\r\n Crypto method\r\n- Change the md5 property in the Data extension to generate the MD5 hash\r\n using CryptoKit instead of calling the NSData method\r\n\r\nThese changes correct a compiler warning that CC_MD5 is deprecated\r\nbecause it is cryptographically broken and should not be used in\r\nsecurity contexts. This warning is not generated for the CryptoKit\r\nmethod. With CryptoKit you must access the method using the CryptoKit\r\nInsecure enum, thus there is no need to warn the programmer that MD5\r\nis insecure.","shortMessageHtmlLink":"Fix CC_MD5 deprecated warning (#5017)"}},{"before":"3e310d01530c31e9610c667b2422a81960f016a8","after":null,"ref":"refs/heads/md5-warning","pushedAt":"2024-06-24T00:03:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"}},{"before":"e862a9122f8ef61036bebc51a9c6a79f701f6cf4","after":"0b6a5c418b945641bbea653fdbd14302510a12df","ref":"refs/heads/develop","pushedAt":"2024-06-24T00:03:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"uiryuu","name":"Yuze Jiang","path":"/uiryuu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20237141?s=80&v=4"},"commit":{"message":"Fix CC_MD5 deprecated warning (#5017)\n\nThis commit will:\r\n- Remove the NSData extension that was using the deprecated Common\r\n Crypto method\r\n- Change the md5 property in the Data extension to generate the MD5 hash\r\n using CryptoKit instead of calling the NSData method\r\n\r\nThese changes correct a compiler warning that CC_MD5 is deprecated\r\nbecause it is cryptographically broken and should not be used in\r\nsecurity contexts. This warning is not generated for the CryptoKit\r\nmethod. With CryptoKit you must access the method using the CryptoKit\r\nInsecure enum, thus there is no need to warn the programmer that MD5\r\nis insecure.","shortMessageHtmlLink":"Fix CC_MD5 deprecated warning (#5017)"}},{"before":"b73de2561acc57cc05f29c226af6e06ee68117a1","after":"3e310d01530c31e9610c667b2422a81960f016a8","ref":"refs/heads/md5-warning","pushedAt":"2024-06-23T18:33:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix CC_MD5 deprecated warning\n\nThis commit will:\n- Remove the NSData extension that was using the deprecated Common\n Crypto method\n- Change the md5 property in the Data extension to generate the MD5 hash\n using CryptoKit instead of calling the NSData method\n\nThese changes correct a compiler warning that CC_MD5 is deprecated\nbecause it is cryptographically broken and should not be used in\nsecurity contexts. This warning is not generated for the CryptoKit\nmethod. With CryptoKit you must access the method using the CryptoKit\nInsecure enum, thus there is no need to warn the programmer that MD5\nis insecure.","shortMessageHtmlLink":"Fix CC_MD5 deprecated warning"}},{"before":null,"after":"b687040030b0f389853834a21c66346326fd7c71","ref":"refs/heads/new-pref-ui","pushedAt":"2024-06-23T04:32:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lhc70000","name":"Hechen Li","path":"/lhc70000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8478049?s=80&v=4"},"commit":{"message":"--wip--","shortMessageHtmlLink":"--wip--"}},{"before":"e862a9122f8ef61036bebc51a9c6a79f701f6cf4","after":"0a18a5995b4c7a2b1e17b864a20a7a9a623bfd54","ref":"refs/heads/icon-deprecated","pushedAt":"2024-06-23T04:08:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"low-batt","name":null,"path":"/low-batt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86170219?s=80&v=4"},"commit":{"message":"Fix icon(forFileType:) deprecated warning\n\nThe commit will change the call to the deprecated method icon(forFileType:) in History WindowController.outlineView to call icon(forFile:) instead.","shortMessageHtmlLink":"Fix icon(forFileType:) deprecated warning"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEcXKJhgA","startCursor":null,"endCursor":null}},"title":"Activity · iina/iina"}