[{"data":1,"prerenderedAt":380},["ShallowReactive",2],{"project-14704729":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":47,"post_text":49,"what":50,"said":112,"maker_in_thread":222,"shape":232,"grid":235,"attempts":342,"same_week":343,"maker_shows":31,"maker_hidden":372,"reader_version":373,"card":374},"14704729","Ship","Bringing Pull Requests to Ship, a macOS native client for GitHub Issues","title","Show HN: Bringing Pull Requests to Ship, a macOS native client for GitHub Issues","https:\u002F\u002Fwww.realartists.com\u002Fblog\u002Fpull-requests.html","realartists.com","kogir",1499277606,2017,89,49,511,2242,23,"notable","dev_tools","github client","desktop_app",[24,25,26,27],"github issues","macos client","pull requests","github desktop app","mixed",-0.132,{"positive":31,"neutral":32,"mixed":33,"critical":34},5,14,2,13,34,{"privacy":37,"pricing":40,"execution":42,"performance":43,"idea":44,"design":45,"docs":46},{"positive":38,"critical":39},0,6,{"positive":41,"critical":33},1,{"positive":41,"critical":31},{"positive":38,"critical":38},{"positive":41,"critical":38},{"positive":41,"critical":38},{"positive":38,"critical":38},[41,48,38,38,48,38,41,41,38,41,41,41,38,41,48,41,48,48,38,41,38,31,31,38,41,48,38,31,48,48,48,41,38,48,31,48,48,48,48,41],3,null,{"problem":51,"audience":65,"pricing":73,"motivation":88,"time_to_build":49,"stack":97,"openness":109,"stage":110,"team_size":111},{"value":52,"source":53,"evidence":54},"Managing GitHub issues and pull requests outside the browser in a native app.","inferred",[55,57,61],{"id":56},"post",{"id":58,"by":59,"text":60},"14705246","lol768","I'll preface this by saing: I'm not a Mac user and am unlikely to ever use this or any other tools built for macOS. But, it's really great to see work being done on an intuitive…",{"id":62,"by":63,"text":64},"14705363","throwaway91111","Any plans for bitbucket?",{"value":66,"source":53,"evidence":67},"Developers and teams who use GitHub.",[68,72],{"id":69,"by":70,"text":71},"14705412","TheTon","Sorry, not at the moment. We're all in on GitHub right now.",{"id":58,"by":59,"text":60},{"value":74,"source":75,"evidence":76},"Monthly subscription, price lowered from earlier version.","commenter",[77,81,84],{"id":78,"by":79,"text":80},"14705750","jason_slack","I really like this app, but I don't think I will buy it. Why? It is the monthly subscription fee. If I stop paying then I lose functionality. I'd rather pay $50 or something and…",{"id":82,"by":11,"text":83},"14704767","James and I have put a ton of work into this since we first showed you Ship six months ago. We've fixed many bugs, improved fit and finish, and even lowered the price. Trials…",{"id":85,"by":86,"text":87},"14705808","res0nat0r","You are being downvoted but I agree. Not everything should be a never ending monthly fee. I'll pay for a good app and happy to buy the next major release if I think it offers…",{"value":89,"source":53,"evidence":90},"Native interface for managing GitHub issues with real-time updates.",[91,94],{"id":92,"by":70,"text":93},"14705964","Regarding the pricing model and server usage: A major design goal for Ship is to have everything you see be live. I love it when a colleague updates something from the web, or…",{"id":95,"by":11,"text":96},"14708246","When we initially started development, the application directly synced with GitHub. Turns out, to accurately reflect the current state of Issues on GitHub, you need to poll…",[98,104],{"value":99,"source":75,"evidence":100},"Cocoa (macOS native app)",[101],{"id":102,"by":70,"text":103},"14706640","Maybe. We did iOS support on Ship 1.0, and I think it turned out pretty well. For Ship 2.0, the Mac app is a Cocoa app, and the codebase is already factored into UI\u002Fnon-UI areas,…",{"value":105,"source":106,"evidence":107},"Server component for GitHub webhooks and sync","maker",[108],{"id":95,"by":11,"text":96},"unknown","launched","team",{"praise":113,"objections":130,"requests":171,"questions":196,"alternatives":211},[114,126],{"value":115,"source":75,"evidence":116},"Native macOS interface feels polished and nice.",[117,121,125],{"id":118,"by":119,"text":120},"14705605","gerbal","I really like the look of the app. It's nice to see established well developed desktop interface concepts applied well. The first link in the blog post should really link to the…",{"id":122,"by":123,"text":124},"14705811","Prefinem","@TheTon Like another use said, I would rather pay once and receive updates than a monthly subscription. I know that you are using your own servers to pull information, but I…",{"id":58,"by":59,"text":60},{"value":127,"source":75,"evidence":128},"Better than alternatives for managing issues in one app.",[129],{"id":122,"by":123,"text":124},[131,140,151,161],{"value":132,"source":75,"evidence":133},"Monthly subscription pricing is unwanted; prefer one-time purchase.",[134,135,136],{"id":78,"by":79,"text":80},{"id":122,"by":123,"text":124},{"id":137,"by":138,"text":139},"14707926","stephenr","I don't use GitHub anywhere near enough to warrant using this anyway, but it's sad to me that true native app development (a rare and positive thing these days, it seems) is…",{"value":141,"source":75,"evidence":142},"Installs webhooks on all repos and org permissions; privacy concern.",[143,147],{"id":144,"by":145,"text":146},"14706374","songgao","Before you try it out, just know that it will install a webhook on every single one of repositories that you have permissions on, not just the ones under your personal account,…",{"id":148,"by":149,"text":150},"14707230","uxp","The security aspect of this application is what turned me off. I'd love to use Ship, but being greeted with this[0] OAuth confirmation when logging in really turned me off. I was…",{"value":152,"source":75,"evidence":153},"Relies on third-party server, unsuitable for GitHub Enterprise.",[154,158],{"id":155,"by":156,"text":157},"14705870","athenot","This also makes it impossible to use for Github Enterprise because the installation is (usually) not available from the public internet and most enterprises won't be cool with…",{"id":159,"by":156,"text":160},"14706017","That self-hosted appliance would have to undergo a year-long security review process. Basically we'd have to know all the internals, how things are implemented, with which libs,…",{"value":162,"source":75,"evidence":163},"UI locked up on milestone creation after a GitHub timeout.",[164,168],{"id":165,"by":166,"text":167},"14705885","NegativeLatency","The ui probably shouldn't lock up though",{"id":169,"by":123,"text":170},"14705890","Thanks for looking into it. Like @NegativeLatency said, it would be nice for the UI not to lock up and if it does error, to a) let the user know, b) allow cancelling out or…",[172,178,185,189],{"value":173,"source":106,"evidence":174},"Repository selection for sync.",[175],{"id":176,"by":11,"text":177},"14706654","Sorry you were surprised. Just to check, was the Privacy Notice displayed before you logged in? It looks like this:…",{"value":179,"source":75,"evidence":180},"iOS \u002F iPad support.",[181],{"id":182,"by":183,"text":184},"14706457","lyime","Any support for iOS (Ipad Pro) down the road?",{"value":186,"source":75,"evidence":187},"Bitbucket support.",[188],{"id":62,"by":63,"text":64},{"value":190,"source":75,"evidence":191},"Visual Studio Code version.",[192],{"id":193,"by":194,"text":195},"14706691","chowes","I can't wait for a Visual Studio Code implementation of this...",[197,204],{"value":198,"source":75,"evidence":199},"Does it support approving PRs, mentions, assignment, and diff subsets?",[200],{"id":201,"by":202,"text":203},"14705075","jastanton","I'm excited to give this a try, as it's downloading, is there support for: - Approving \u002F rejecting on the PR as a whole? - @ mentioning - Assigning team members to a PR - Viewing…",{"value":205,"source":75,"evidence":206},"Does logout remove webhooks?",[207,208],{"id":144,"by":145,"text":146},{"id":209,"by":11,"text":210},"14706007","About Hooks: When the last user using an Organization or Repository logs out of Ship, we do clean up the hooks. See more details at…",[212,218],{"value":213,"source":75,"evidence":214},"GitHub web interface.",[215],{"id":216,"by":70,"text":217},"14708642","Not to contradict what my partner, kogir, is saying here, but I think the benefit, as a Ship user, for subscription pricing goes even further than any discussion of the server.…",{"value":219,"source":75,"evidence":220},"Kaleidoscope and Beyond Compare (diff tools cited for pricing comparison).",[221],{"id":216,"by":70,"text":217},{"comments":223,"answered":41,"key":224},8,[225,226,229],{"id":176,"text":177},{"id":227,"text":228},"14705869","> I also ran into a problem when trying to create a milestone for a repo I think I was able to find this failure in our logs, and api.github.com returned a 504 GateWay Timeout.…",{"id":230,"text":231},"14705907","That's absolutely a problem we need to fix. Thanks for letting us know.",{"commenters":233,"max_depth":39,"maker_replies":223,"first_comment_mins":31,"lifespan_hours":234},22,20,[236,238,241,244,246,248,250,252,254,255,257,259,260,262,263,265,266,269,272,275,277,279,281,283,285,288,290,292,295,297,299,303,306,309,312,314,316,319,320,321,323,328,330,332,333,335,336,340],[144,38,41,237,145,38],"project\u002Fcritical\u002Fprivacy",[239,38,48,240,123,38],"14706575","project\u002Fneutral\u002Fprivacy",[242,38,38,243,145,38],"14706799","commenter\u002Fneutral\u002Fnone",[176,38,38,245,11,41],"maker\u002Fneutral\u002Fprivacy",[247,38,48,245,145,38],"14706777",[122,41,48,249,123,38],"project\u002Fmixed\u002Fpricing",[227,41,38,251,11,41],"project\u002Fneutral\u002Fperformance",[165,41,41,253,166,38],"project\u002Fcritical\u002Fexecution",[169,41,41,253,123,38],[230,41,38,256,11,41],"maker\u002Fneutral\u002Fexecution",[258,41,41,253,123,38],"14705942",[155,41,41,237,156,38],[261,41,41,237,123,38],"14705927",[148,41,41,237,149,38],[264,41,38,245,11,41],"14705940",[159,41,41,237,156,38],[267,41,48,245,268,38],"14707167","kovek",[270,41,38,271,156,38],"14707545","commenter\u002Fneutral\u002Fprivacy",[273,41,41,237,274,38],"14707825","lojack",[92,41,48,276,70,38],"maker\u002Fneutral\u002Fperformance",[278,41,48,249,123,38],"14706026",[209,41,38,280,11,41],"maker\u002Fpositive\u002Fprivacy",[282,41,38,271,123,38],"14706031",[284,41,41,253,123,38],"14706133",[286,41,38,287,11,41],"14706322","maker\u002Fpositive\u002Fexecution",[289,41,31,287,123,38],"14706348",[58,33,31,291,59,38],"maker\u002Fpositive\u002Fidea",[293,33,38,243,294,38],"14705626","jsmthrowaway",[78,48,41,296,79,38],"project\u002Fcritical\u002Fpricing",[85,48,38,298,86,38],"commenter\u002Fcritical\u002Fpricing",[300,48,48,301,302,38],"14707146","project\u002Fneutral\u002Fpricing","tracker1",[304,48,38,305,86,38],"14710317","commenter\u002Fneutral\u002Fpricing",[118,307,31,308,119,38],4,"project\u002Fpositive\u002Fdesign",[310,307,48,311,70,38],"14705646","maker\u002Fneutral\u002Fdocs",[82,31,38,313,11,41],"maker\u002Fpositive\u002Fnone",[201,31,48,315,202,38],"project\u002Fneutral\u002Fnone",[317,31,48,318,70,38],"14705104","maker\u002Fneutral\u002Fnone",[137,39,41,296,138,38],[95,39,38,276,11,41],[216,39,48,322,70,38],"maker\u002Fneutral\u002Fpricing",[324,325,31,326,327,38],"14705955",7,"project\u002Fpositive\u002Fpricing","xena",[193,223,31,329,194,38],"project\u002Fpositive\u002Fnone",[62,331,48,315,63,38],9,[69,331,48,318,70,38],[182,334,48,315,183,38],10,[102,334,48,318,70,38],[337,338,41,253,339,38],"14705518",11,"finnn",[341,338,48,256,70,38],"14705592",[],[344,349,354,358,362,367],{"id":345,"name":346,"points":347,"category":348},"14703098","A virtual machine made with Google Sheets formulas (no script)",620,"languages",{"id":350,"name":351,"points":352,"category":353},"14691407","Under the hood ReactJS",266,"learning_science",{"id":355,"name":356,"points":357,"category":20},"14662860","VisiData",221,{"id":359,"name":360,"points":361,"category":20},"14688031","Vecta.io",154,{"id":363,"name":364,"points":365,"category":366},"14690517","Artpip",142,"creative",{"id":368,"name":369,"points":370,"category":371},"14694210","login-with",127,"infrastructure",false,"v2",{"id":375,"name":5,"line":6,"ai":372,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":376,"top":18,"kw":377,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":378,"url":9,"mix":379,"praise":115,"objection":132,"sub":21},14704729,-0.13,[24,25,26,27],"1300301101110131330105501305333103533331",[31,32,33,34],1794036556997]