{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":693323996,"defaultBranch":"main","name":"PrusaLinkiOS","ownerLogin":"dunkmann00","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-09-18T19:53:01.000Z","ownerAvatar":"https://github.com/avatars/u/11963090?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1700545112.0","currentOid":""},"activityList":{"items":[{"before":"ab7b3338534d99f7ae4c76bc7c0d0bc0230f9b83","after":null,"ref":"refs/heads/prepare-1_1","pushedAt":"2023-11-21T05:34:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"}},{"before":"7aaa2fb450b57c4bbc72854f0d7da75f7224380a","after":"c0c4c9a59b56208f19b87d57c62f48b8f6d2ce4a","ref":"refs/heads/main","pushedAt":"2023-11-21T05:34:23.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Merge pull request #5 from dunkmann00/prepare-1_1\n\nPrepare 1.1","shortMessageHtmlLink":"Merge pull request #5 from dunkmann00/prepare-1_1"}},{"before":null,"after":"ab7b3338534d99f7ae4c76bc7c0d0bc0230f9b83","ref":"refs/heads/prepare-1_1","pushedAt":"2023-11-21T05:30:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number to 8, for version 1.1","shortMessageHtmlLink":"Bump build number to 8, for version 1.1"}},{"before":"5a0e6eec4c6531e8e492436ab37e4651811f1db4","after":null,"ref":"refs/heads/fix-missing-decimal","pushedAt":"2023-11-21T03:42:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"}},{"before":"c4bde8fc6f23097bbb8f2311e49e7f1c82846556","after":"7aaa2fb450b57c4bbc72854f0d7da75f7224380a","ref":"refs/heads/main","pushedAt":"2023-11-21T03:42:03.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Merge pull request #4 from dunkmann00/fix-missing-decimal\n\nAdd '.' button in keyboard toolbar for IP Address","shortMessageHtmlLink":"Merge pull request #4 from dunkmann00/fix-missing-decimal"}},{"before":"ccc967e8805d4ec2c5ba7f15ed27935ec0fa6805","after":"5a0e6eec4c6531e8e492436ab37e4651811f1db4","ref":"refs/heads/fix-missing-decimal","pushedAt":"2023-11-21T03:41:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Increase padding of decimal point button","shortMessageHtmlLink":"Increase padding of decimal point button"}},{"before":null,"after":"ccc967e8805d4ec2c5ba7f15ed27935ec0fa6805","ref":"refs/heads/fix-missing-decimal","pushedAt":"2023-11-20T23:04:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Add '.' button in keyboard toolbar for IP Address\n\nAdds a decimal point button in the keyboard toolbar for the IP Address\ntext field in the printer settings view. This is needed because in some\nlocales the decimal separator is a comma, not a period. So the decimal\nkeyboard wasn't allowing some users to enter a period.","shortMessageHtmlLink":"Add '.' button in keyboard toolbar for IP Address"}},{"before":"9e920b54fc69dc179c1d39ec4b36d547282245d8","after":null,"ref":"refs/heads/multiple-printers","pushedAt":"2023-11-20T22:44:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"}},{"before":"fce7dc4dd8d3aa276567bb1ef6f43e0e64517472","after":"c4bde8fc6f23097bbb8f2311e49e7f1c82846556","ref":"refs/heads/main","pushedAt":"2023-11-20T22:44:30.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Merge pull request #3 from dunkmann00/multiple-printers\n\nAdd support for multiple printers","shortMessageHtmlLink":"Merge pull request #3 from dunkmann00/multiple-printers"}},{"before":"f11121000951923819c0ff70a42fc21364e37012","after":"9e920b54fc69dc179c1d39ec4b36d547282245d8","ref":"refs/heads/multiple-printers","pushedAt":"2023-11-20T22:43:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Cleaned up code\n\nRefactored, changed some names to make them less verbose, and added some\ncomments to explain whats going on in some situations.","shortMessageHtmlLink":"Cleaned up code"}},{"before":null,"after":"f11121000951923819c0ff70a42fc21364e37012","ref":"refs/heads/multiple-printers","pushedAt":"2023-11-20T21:20:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Add support for multiple printers\n\nThis commit adds support for multiple printers.\n\nThis required creating a data model for each printer and a mechanism for\npersisting the data. While UserDefaults worked well before, we now save\nthe data to a json file on disk. This is more appropriate, given the\npotential amount of data stored, and turns out to be more convenient.\nThis continues to leverage combine, which works well with the SwiftUI\ncomponents of the app.\n\nThis also required adding/improving the UI to support multiple printers.\nOne noteworthy thing here is the PrintersCollectionView SwiftUI View. I\ntook a stab at wrapping a UICollectionView, and tried to do it in a\nslightly generalized way. It is not completely generalized, but I do\nthink the groundwork is there and with some more work it could be made\nto act as a useful SwiftUI CollectionView wherever needed. I opted to do\nthis because I wasted so much time trying to get the LazyVGrid to do\nwhat I wanted, it seemed like it would've been easier to implement the\nUICollectionView in SwiftUI. While I don't think that ended up being\ntrue, I am very happy with the CollectionView. The thing the LazyVGrid\n(or Regular grid for that matter) cannot really do that made me give up\non it, is moving items. This is trivial with a UICollectionView, but\nhacky with a LazyVGrid. And not that it is necessary in this\nimplementation, but the CollectionView will have better performance for\nlarge numbers of items...so if anyone adds 1,000 printers, this should\nstill be buttery smooth with no memory issues.\n\nAnother noteworthy change is that this app is now a SwiftUI app. Before\nit was a UIKit app with some SwiftUI. Now, it is the other way around.","shortMessageHtmlLink":"Add support for multiple printers"}},{"before":"aaa99f1ead01a36c378cdf5c08e00b5e37bd51f4","after":"fce7dc4dd8d3aa276567bb1ef6f43e0e64517472","ref":"refs/heads/main","pushedAt":"2023-10-05T13:24:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Add app store link to README","shortMessageHtmlLink":"Add app store link to README"}},{"before":"02e5c0ff2c5378b8418a0e2050ee118e6051d6f3","after":"aaa99f1ead01a36c378cdf5c08e00b5e37bd51f4","ref":"refs/heads/main","pushedAt":"2023-09-27T15:58:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number","shortMessageHtmlLink":"Bump build number"}},{"before":"36a063a962e1b57e51c052e9ea9694f571a02c47","after":"02e5c0ff2c5378b8418a0e2050ee118e6051d6f3","ref":"refs/heads/main","pushedAt":"2023-09-27T15:57:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Use logo without beta tag in nav bar","shortMessageHtmlLink":"Use logo without beta tag in nav bar"}},{"before":"76c3a38a27719c998efd53ecc1c4f3470089f085","after":"36a063a962e1b57e51c052e9ea9694f571a02c47","ref":"refs/heads/main","pushedAt":"2023-09-23T04:01:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number","shortMessageHtmlLink":"Bump build number"}},{"before":"963c5f9220d1154adc71c58282014a32d30b0816","after":"76c3a38a27719c998efd53ecc1c4f3470089f085","ref":"refs/heads/main","pushedAt":"2023-09-23T04:00:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Add privacy policy","shortMessageHtmlLink":"Add privacy policy"}},{"before":"d5f8869d6d1d701486311d48b38b3cc63392cdb3","after":"963c5f9220d1154adc71c58282014a32d30b0816","ref":"refs/heads/main","pushedAt":"2023-09-23T02:21:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number","shortMessageHtmlLink":"Bump build number"}},{"before":"ab4d220047b4118b4fd3b1414d41a2bb5b2a0355","after":"d5f8869d6d1d701486311d48b38b3cc63392cdb3","ref":"refs/heads/main","pushedAt":"2023-09-23T01:55:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number","shortMessageHtmlLink":"Bump build number"}},{"before":"97d3b816a7c013c7240f331719f49337c06bbaaf","after":"ab4d220047b4118b4fd3b1414d41a2bb5b2a0355","ref":"refs/heads/main","pushedAt":"2023-09-23T01:54:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Improve reloading","shortMessageHtmlLink":"Improve reloading"}},{"before":"35ec04a91f3bdba5aeada4715bc1d7206be01460","after":"97d3b816a7c013c7240f331719f49337c06bbaaf","ref":"refs/heads/main","pushedAt":"2023-09-22T20:41:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Bump build number","shortMessageHtmlLink":"Bump build number"}},{"before":"42c8da42350b05c55b847d6abae719d255507c9f","after":"35ec04a91f3bdba5aeada4715bc1d7206be01460","ref":"refs/heads/main","pushedAt":"2023-09-22T00:14:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Make keyboard for IP Address input decimal","shortMessageHtmlLink":"Make keyboard for IP Address input decimal"}},{"before":"12bcb386fbea9ed408b753f7173f8d18318b8b74","after":"42c8da42350b05c55b847d6abae719d255507c9f","ref":"refs/heads/main","pushedAt":"2023-09-21T20:55:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Implement settings with SwiftUI/Combine\n\nThis updates the settings TableViewController to a SwiftUI view in a\nUIHostingController. I was interested in seeing what it would look like\nas SwiftUI code and whether it would be simpler to create. Not sure I\nhave a definitive answer to that, some things were better, some were\nnot. But it does seem easier to iterate on as a SwiftUI view.\n\nIn making the change to SwiftUI I also updated the Settings object to be\nan ObservableObject. This change was straightforward and works well with\nthe new SwiftUI view (as should be expected).","shortMessageHtmlLink":"Implement settings with SwiftUI/Combine"}},{"before":null,"after":"12bcb386fbea9ed408b753f7173f8d18318b8b74","ref":"refs/heads/main","pushedAt":"2023-09-18T19:53:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dunkmann00","name":"George Waters","path":"/dunkmann00","primaryAvatarUrl":"https://github.com/avatars/u/11963090?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0yMVQwNTozNDoyNi4wMDAwMDBazwAAAAOz68_0","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0yMVQwNTozNDoyNi4wMDAwMDBazwAAAAOz68_0","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOS0xOFQxOTo1MzowMi4wMDAwMDBazwAAAAODUYHS"}},"title":"Activity ยท dunkmann00/PrusaLinkiOS"}