You are reading content from Scuttlebutt
@Christian Bundy %IO6G84Tz7zocMTWX3wQqFtUfOV8BYtVqWfm9zuhWWLU=.sha256

Patchwork Working Group: Skeleton Crew

If you haven't already read Matt's breakup with Patchwork, read that first!

Reading through Matt's breakup with Patchwork left me feeling bittersweet. He's put in tons of work to keep Patchwork working reliably for a bunch of people for a long time, so I'm happy to know that he's moving forward, but since he was the main contributor I'm anxious to see what the future of Patchwork will look like.

I'd like to continue contributing to Patchwork, but I'd really like to share that burden together with others who are interested in keeping the project alive. I don't want anyone to feel alone or stuck as the One True Maintainer, so I'd like to form a working group that supports the basic needs of Patchwork and its users until Patchwork becomes obsolete.

Here are the problems I'd like to work on:

  • Bugs are hard to solve, and sometimes we need help. My current strategy is to ping other SSBC members for help, but it would be better to know who is interested in helping and be able to ping them specifically.
  • Code in master is a shared responsibility, so code reviews are important. Pull requests will often go stale while waiting for review from an SSBC member, but the alternative is to ping everyone and hope one or two people have time to review your code. It would be great to know who's down to review code going into Patchwork.
  • We have to get organized. Having a single maintainer makes planning simple, but tends to lead to stress and burnout. Sharing the workload makes the burnout easier, but it makes planning more complex. I'd like to communicate with others regularly to ensure that we're all on the same page.

It's important to know that this is unpaid work, so my preference would be to act as a skeleton crew that can keep Patchwork happy and healthy without committing to any huge enhancements at this time.

This thread should serve as a forum to discuss, organize, ask for help, offer assistance, and contribute to Patchwork. I'll start by sharing some of my progress and asking for help in a comment below.


#ssbc #patchwork #patchwork-dev #patchwork-wg #skeleton-crew

@Christian Bundy %cUrHNQINkbZMgxw+GbTmdRis6xMYkvD6yqwR0sRvgyA=.sha256

Iโ€™ll start by sharing some of my progress and asking for help in a comment below.

My main priority is getting master ready for a release. There have been tons of improvements that haven't been released for two reasons:

  • there are issues blocking release
    • I've resolved one here but it needs a review
  • publishing release artifacts is a manual process
    • I've been working on automating it with Travis CI but I'm trying not to burn too many hours on it

I'd love some help triaging these issues, reviewing my pull request, or both. โ˜ 

User has chosen not to be hosted publicly
@andrestaltz %C9NAQzCk14brb8WGN7P1XbyYqvdQ4pojZGv5Fs26+MQ=.sha256

I'll try to contribute whenever it's about feature parity with Manyverse, in the direction of Manyverse=>Patchwork (e.g. the DHT invites is something I could take a lead on).

@mix %K5iBSczZvEf8dfo3h54DZQ3kr4hF36rNCX01Kk9Yd7U=.sha256

IMO work on Patchwork should just be to fix bugs. I think there's a new generation of clients getting ready to emerge, and sinking too much energy into this generation might be a mistake.

I think what I mean is that I am excited for Patchwork (this incarntion) to enjoy retirement, rather that having a series of people perform life-prolonging surgeries. Honour it, give it grace, and make space for the saplings <3

@Jacob %rR1BYodqxNtTGGO5GcgtzwKuror2IzHW0+nWOCpgb6w=.sha256

@Christian Bundy I'd like to join (if that's a thing) the crew, at least for a bit :)

I'll be posting most of my requests for help in my dev diary.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@mix %JMeKVIS3yoLPyE+dS7vD6WY7e0b6ZW1SrTT8KuviwlE=.sha256
Voted @mix I think differently, I think the Patchwork "brand" is very useful. And
@mix %AS3QXsgg8Ll5qB+je+Iw5vN//G8NpLGIM0tdRTBblb8=.sha256

@moid yes I think the whole this is intimately coupled to the current implementation. I imagine parts of styles / views might be re-ueseable, but the data getting, sorting, posting is probably going to be deprecated.

@andrestaltz_phone / @andrestaltz yeah I'm not sure - I am definitely flipant with brands, AND I think part of the pattern of how matt got into a bind is that there was "one desktop client" that was the primary one. I think we should aim for more of a firefox / chrome dynamic, where the branding is "social media browser" or something. I guess it's also a little weird that any new client would get to donn the mask (and github stars) of "Patchwork" while other clients have been around a while and .... hmmm

I'm not a hard block I've just got no gut feelings. Mainly I don't want more people burning out, I don't want people having a bad time, and I don't want accidental planning and mismatched expectations. I also don't want gradual decay. I could be being super pessimistic, or I could have experience parts of this dynamic before so my senses are coming up... and it could be people just need to take this and do this and see how it goes and experience pain (if there is any). For myself I'm not interested in being part of that experiment.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Dominic %5eTHOGNf4JZl04zvk26IedchKTBl8/h4onxaAnNRbRc=.sha256

The patchwork baton has been dropped and pickedup before. If someone who's good at designing a user interface turns up and wants to implement one and maintain it, great. call it patchwork-next, then when it's stable call it patchwork.

Incidentally, the reason @paul chose the "patchwork" name was that it was gonna be some sort of modular thing compromised of many "patches", but then it went all opinionated. This was is a good decision, UX-wise... but this depends on a lead designer continuing to work...

User has chosen not to be hosted publicly
User has chosen not to be hosted publicly
User has chosen not to be hosted publicly
@Christian Bundy %SD++Ag8navRLBeRCtPLD3sy5OuQaXUFFMiEFwblXJrs=.sha256

@mix

Thanks for starting on the organizing bit, I think that these high-level decisions are important and act as a foundation for the maintenance and stewardship. I'm also excited for the next generation of Scuttlebutt clients, but I'm hesitant to pull the plug on Patchwork until it's actually obsolete. For example, Patchwork doesn't work on Windows and after hours of debugging from myself and users (โค) we have a solution but "blocking release".

@Anders %7lugS3VcvtMFrrzwjVkKfWp3iNraMaMZY6ol8IY5NDA=.sha256
Voted [@mix](@ye+QM09iPcDJD6YvQYjoQc7sLF/IFhmNbEqgdzQo3lQ=.ed25519) Thanks for
@Christian Bundy %RQgRS0KTSk2jUT50548eaDUsKuBTYsPTW8dTpQJMMf8=.sha256

@mix

Oops, that wasn't meant to send. That should read something to the effect of "we have a solution but there are issues blocking release plus we don't have a release process or release cycle".

I'm way more excited to work on greenfield projects and I've got some ideas for next-gen clients but I think Patchwork should be maintained until it's made obsolete -- regardless of whether that's next week or next year. Patchwork is Scuttlebutt from the perspective of many users, so I'd really like to avoid a scenario where Patchwork goes unmaintained.

I'm conflicted on the "only fix bugs" bit. I think that personally I'll only have the time and energy to fix bugs, but how do we proceed when someone opens a pull request to add a feature (cc @kieran)? My intuition is that more features require more maintainers, since it increases both the weight and surface area of the application.

My absolute bare minimum expectation is that we can keep Electron up-to-date with its security patches. Chromium constantly under attack and IMO it's critical to remain up-to-date on those patch versions. I want to recommend that my friends use Patchwork, but I can't do that unless we have maintainers who are willing and able to make new releases.


@jacob

๐ŸŽ‰

Let me know if there's anything I can do to support your work on Patchwork. I can see some GitHub notifications from you, I'll plan on getting to those this week.


@Gergely Polonkai

Reading โ€œuntil Patchwork becomes obsoleteโ€ also doesnโ€™t help. This basically means (to me) that Patchwork is already obsolete, you just want to keep it running until something else can take its place.

We might be using different definitions of "obsolete" here, so I'll try to say it another way: Patchwork is a great tool and I recommend using it but I don't think that I'd recommend that people build on top of it. In my mind it's shaped roughly like a pyramid -- each layer is built to hold the layer above it, but over time the top layer becomes smaller and it becomes more difficult to add additional layers. It's still completely functional and can be used as intended, but radical experiments with new construction technology will likely occur on empty land rather than trying to balance their foundation on the top of the existing pyramid.

Is that metaphor helpful or wildly confusing? ๐Ÿ™ƒ

I think triage, testing, and organization work would be super helpful, if you have time. For example, one non-JS problem I'm having is how to organize work that goes into Patchwork. Individual dev diaries? A shared dev diary? A shared wiki? Some sort of village tracker thing? Regular calls? My concern is that without any organization we'll probably regress into another One True Maintainer pattern, which seems wise to avoid.

User has chosen not to be hosted publicly
@mix %X3BWAceBQiAL6gTa/ugNYKAHfCN3epHWX+wKJXRT7n0=.sha256
Voted [@mix](@ye+QM09iPcDJD6YvQYjoQc7sLF/IFhmNbEqgdzQo3lQ=.ed25519) Oops, that w
@mix %p3EhJtv90bfHkkuRFAUWa+F6Cic2VO512oqVTBa9yus=.sha256

well said @Christian Bundy, I agree with all of what you've said, and think you've summarised the open questions that need answering well.

@cryptix %m4qXslfbkxJNYOm7CsQxfYAfCbllvqF6m2vkeqMMNlo=.sha256
Voted # Patchwork Working Group: Skeleton Crew **If you haven't already read [Ma
@cryptix %QQgs8qSvFSVVmOUALsfTnp3hniYjw+hwIVPLw+CReiA=.sha256
Voted The patchwork baton has been dropped and pickedup before. If someone who's
@cryptix %Mdomd6ju/omizbM+xruuw4Xk6c3lszyZOkPak48whDk=.sha256
Voted IMO work on Patchwork should just be to fix bugs. I think there's a new gen
@cryptix %9GXYhYGpJ3FQqdem3biLVPIYE9uBGs2mUkKpJBLpTRc=.sha256
Voted [@mix](@ye+QM09iPcDJD6YvQYjoQc7sLF/IFhmNbEqgdzQo3lQ=.ed25519) Oops, that w
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
@Christian Bundy %VOpFMAlDhDZRg/eUKS7Y1rI0AmyLUML/vEk/lXC0HO8=.sha256

@mary

Part of me is thinking of increasing the surface area of those whoโ€™d like input, in like a โ€˜holistic wayโ€™, where education about scuttle butt, and building up technical ability is interwoven with thisโ€ฆ this way also the main technical contributors, arenโ€™t so spread thin long term.

Yes! I'm super excited at this idea. Do you have thoughts on how to organize something like this? Most of the SSBC currently runs on the advice process and I'm not sure how to extend that to a larger group focused on a longer time horizon.

Also I would like to point out that perhaps itโ€™s not so much a binary can code/canโ€™t code, but more so a spectrum of different peoples at different learning curves and curiosities.

Thanks for pointing this out, it's so easy to think "everything is a spectrum" but then apply binary thinking without even realizing it!

My current thought is just to host a regularly scheduled open call to discuss Patchwork and its future, but I'm a bit concerned that it'll be prone to:

Another alternative would be to only invite trusted friends , but that seems like it could have the same inclusivity problems plus a risk of real or perceived cronyism / in-group favoritism. I'd be super appreciative if you have thoughts on how to organize this, and / or please let me know if I'm prematurely optimizing this. ๐Ÿ˜ฌ

@Christian Bundy %6iXkvCHTcjgDbQkHdOq18z18hUxp9y0D3q0SXZ/2YA0=.sha256

Patchwork v3.12.0-beta.0

Update: we've got a beta release and need #help testing it!

We've ironed out lots of small issues and includes a handful of new features, and I'd like to point out all of the time and energy that's been poured into this release by:

For folks who have the time to test this beta (thank you!), please be on the lookout for bugs related to:

  • Installation: we have a new build / release workflow and it hasn't been tested enough
  • Networking: lots of networking bugs have recently been fixed but I'm sure there are more
  • Offline usage: most of us have pretty consistent internet access so this may be a blind spot

If you have any trouble while testing this beta::

  • If you have a GitHub account, please create an issue.
  • Otherwise, feel free to just post your problem on Scuttlebutt in the #patchwork-help channel.
User has chosen not to be hosted publicly
User has chosen not to be hosted publicly
@mix %XaYwLIIoFw8jUPZSr+WhLd8V/pe0PEh0ClcmlIL+Gbo=.sha256
Voted # Patchwork v3.12.0-beta.0 **Update:** we've got a [**beta release**](http
User has chosen not to be hosted publicly
@mix.exe %itT36GF5OYSvA3KVeyTkYTKF7ZZ7YjwdYAXDegDcQ8M=.sha256

hey @Christian Bundy I'm replying from windows using the beta.0 installer.

  • Installation: fine
  • Networking + Offline: I gotta climb under my desk to unplug an ethernet cable. Let you know later

Emoji - are broken! I see a little empty broken image icon in markdown and in the suggest-emoji dropdown

User has chosen not to be hosted publicly
User has chosen not to be hosted publicly
@cryptix %ZHCG8Rbnzj9HqnVzMPH6OluQsNbfvcp9LlolFpgU1Gs=.sha256
Voted # Patchwork v3.12.0-beta.0 **Update:** we've got a [**beta release**](http
User has not chosen to be hosted publicly
@Anders %phcxfV3/nxTf3Ahg35V5zSakpNDXfncEf9oSlku+8/w=.sha256
Voted # Patchwork v3.12.0-beta.0 **Update:** we've got a [**beta release**](http
@Christian Bundy %olQKGRi/DuQ/vbg3NQow8yHc6UP0Tq1/Zw1Wce2oy4o=.sha256

Patchwork v3.12.0-beta.2

Another one! ๐Ÿš€ Download here ๐Ÿš€.

Lots of friends tested the latest beta and we found a few problems to solve:

  • Connectivity: Sometimes multiserver didn't listen on localhost or broadcast the correct interfaces.
    • One symptom is that the blob server fromssb-ws wasn't working, which caused broken emoji and images.
    • The new code doesn't make any changes if host is defined in ~/.ssb/config.
  • Metadata security: EXIF metadata stripping was disabled starting in Patchwork 3.11.5.
    • This is resolved now but blobs uploaded with old versions of Patchwork will still have EXIF metadata.
    • I don't think there's a way to resolve this until we can ask friends to stop replicating chosen blobs.
    • We don't presently have a system for disclosing security problems to users, I think we need one.
  • Size: Matt pointed out that the binary size had increased, so I made some small changes to resolve that.
    • The binary size is still a bit bigger than 3.11.6 because ssb-server is using a shrinkwrap.

These should all be fixed in the latest prerelease, so please let me know if you still have any of these problems. As usual the best way to get attention for a problem is to create an issue or post in #patchwork-help.

Thanks for helping! ๐ŸŽ‰

@mix %V+0a0NLE5PCF/xNJRs+w6/L3Y4VAOsj0q//2cYoz/8E=.sha256
Voted # Patchwork v3.12.0-beta.2 Another one! [**๐Ÿš€ Download here ๐Ÿš€**](https://
@mix %9kCl4w5atpxx/NMQZM2jOx83v4j73722iEFCUEHhSho=.sha256

What sort of feedback are you requesting on this Patchwork beta @Christian Bundy ?

@Christian Bundy %3sNg0vYiVJSgbvCgXWz4J6KTr0PPLZtdD0rGcvKxxZE=.sha256

Update: Looks like the EXIF stripping is still broken: https://github.com/ssbc/patchwork/issues/1022

I've found the problem but I'd love someone else to test before we merge and close the issue... again.


@mix

At this point I think it's good to go, except for the EXIF bug above, so I'm hoping that folks who normally use Patchwork can experiment with this and point out if they see anything that looks funky. Patchwork hasn't been my daily driver for very long (a few weeks) so I don't feel like I'm in a great position to notice regressions. My anxiety is that we release 3.12.0 proper with some annoying bug and people downgrade back to 3.11.4 as a de facto LTS. ๐Ÿ˜…

@Christian Bundy %DNxkpTP9GIWldtYtpAmzgBFGlu8X9O5A3xq1L6Ms5es=.sha256

Patchwork v3.12.0-beta.3

๐Ÿคž Last one?! Get it here. ๐Ÿคž

All of the big bugs have been fixed, now I'd just love some help from friends who can triple-check that it works on:

  • Ubuntu
  • macOS
  • Windows

I've only got one computer so it's hard to test other operating systems. If anyone has the time, I'd love if you could:

  1. Download a release for your operating system
  2. Click around for a minute to ensure that it still works
  3. Reply to this message and let me know that it's good to go ๐Ÿ‘

As long as it opens and runs reasonably well then I'm down to ship it ASAP. There have been so many improvements by lots of great folks and I can't wait to release them. Thanks friends! ๐ŸŒžโ€๐Ÿ˜Ž

User has chosen not to be hosted publicly
User has chosen not to be hosted publicly
@Anders %SQJne2qheuoby5VDTC4bByeXl+cfxQtrdzkCanRNhVo=.sha256
Voted # Patchwork v3.12.0-beta.3 [**๐Ÿคž Last one?! Get it here. ๐Ÿคž**](https://git
User has not chosen to be hosted publicly
@Christian Bundy %U26aPJdF0WVElnPupB4dkk/VAx7XC40GngOCGitjf5s=.sha256

It works! @bram.exe was able to verify that it works on Windows and I set up an Ubuntu VM to double-check that it works on Ubuntu. Looks like we're good to go.

Screenshot from 2019-05-21 12-55-25.png

:tada:

User has not chosen to be hosted publicly
@Christian Bundy %zQEsDft3WQM/eoiG3oqzmDpyasmiEOjq1GCfftwhZ6E=.sha256

Patchwork 3.12.0

โœจ Upgrade now! โœจ

This contains over six months of improvements to Patchwork and Scuttlebutt and I'm so excited to release it.

I've copied the release notes below:

:tada: Thanks for downloading Patchwork!

:seedling: Check out the changelog to see what's new!

Install

Getting started

If this is your first time on Scuttlebutt you may need an invite to get connected. After installing Patchwork and choosing your name you should select the Join Pub button. You'll need to get a pub invite, paste it into the prompt, and select Redeem invite.

You can find more information in the Getting Started Guide.

Support

๐Ÿค” Any questions? Check out the Scuttlebutt FAQ!

:sos: Need help? Please create an issue!

User has chosen not to be hosted publicly
User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
@Anders %XngZtr6BloVjMiSXpxyQL1s53N0UXc0OmOzPRJGUxOE=.sha256
Voted # Patchwork 3.12.0 [**โœจ Upgrade now! โœจ**](https://github.com/ssbc/patchwor
@mix %mvR9EhfSs4EPsS/NGH+iUPmiTQHpI/gztRJDSn3sfm8=.sha256
Voted # Patchwork 3.12.0 [**โœจ Upgrade now! โœจ**](https://github.com/ssbc/patchwor
@buoyantair %cggpjLpytz+EdlBgSU4LD1570lmdwCzfFRcQFyjAIdc=.sha256

Awesome! @Christian Bundy

@mix %GPTN/q1LeFEgoec5bk7nabInLZlAiiXhJkaTfpfKs8o=.sha256

hey @musicmatze

re: %QwIc4LR... this is the thread you want to be reading.

Update would be the this work has squashed ChristianBundy a bit now. He's been taking a break from it, and I'm going to catch up with him about how it's going in the next week or so

Join Scuttlebutt now