Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 00:53
    jeddai synchronize #2114
  • May 21 22:16
    dependabot[bot] labeled #2187
  • May 21 22:16
    dependabot[bot] opened #2187
  • May 21 22:16

    dependabot[bot] on npm_and_yarn

    Bump eslint from 8.15.0 to 8.16… (compare)

  • May 21 22:15

    dependabot[bot] on npm_and_yarn

    (compare)

  • May 21 22:15

    calculuschild on master

    Bump @babel/plugin-transform-ru… Merge pull request #2183 from n… (compare)

  • May 21 22:15
    calculuschild closed #2183
  • May 21 22:15

    dependabot[bot] on npm_and_yarn

    (compare)

  • May 21 22:15

    calculuschild on master

    Bump codemirror from 5.65.3 to … Merge pull request #2186 from n… (compare)

  • May 21 22:15
    calculuschild closed #2186
  • May 20 20:46
    dependabot[bot] labeled #2186
  • May 20 20:46
    dependabot[bot] opened #2186
  • May 20 20:46

    dependabot[bot] on npm_and_yarn

    Bump codemirror from 5.65.3 to … (compare)

  • May 20 20:45
    dependabot[bot] synchronize #2183
  • May 20 20:45

    dependabot[bot] on npm_and_yarn

    Bump @babel/plugin-transform-ru… (compare)

  • May 20 20:45
    dependabot[bot] edited #2183
  • May 20 20:44
    dependabot[bot] edited #2183
  • May 20 20:44
    dependabot[bot] synchronize #2183
  • May 20 20:44

    dependabot[bot] on npm_and_yarn

    Bump @babel/plugin-transform-ru… (compare)

  • May 20 20:44
    dependabot[bot] edited #2183
Trevor Buckner
@calculuschild

If I take a Legacy brew, and Clone to New, it sometimes (always?) opens in v3

I suspect it's opening in whatever renderer you selected last time you were in New. Clone overwrites the text and style panels but I don't think it copies over any of the metadata so it might be stuck using your old metadata. Put this in an Issue if you haven't already.

But further, if I don't save and click through to Get PDF the /Print/ page shows something completely different.
The print page shows a previous "new" brew where I was just testing stuff and don't think I saved.

Is this only if you don't edit the file at all? I think the print page just grabs whatever the latest text saved to the localStorage, and cloning a page doesn't overwrite localstorage until you start typing on it.

i think my PR for the page number pseudo elements in the editor should be reverted. Something funky happens to the count as you scroll.

Make an issue for it and we can take a look.

Trevor Buckner
@calculuschild
As for the page numbers behaving oddly, it looks like CodeMirror only holds a certain number of lines of text in the display at once, so the CSS counter is dependent on which lines are currently being shown at a given time. We probably need to just display the number with Javascript rather than relying on the CSS counter.
G.Ambatte
@G-Ambatte
Thumbnail preview in the Metadata Editor should now be working on the #1777 PR.
Charlie Humphreys
@jeddai
Hiya! Working on #629 -- I have a few dev questions. Would this be an okay place to ask them?
Trevor Buckner
@calculuschild
Yep this is a good place.
Charlie Humphreys
@jeddai
Cool! A few questions then:
  • npm run dev seems to consistently throw an error and not start-- is that normal or is there something up with my install? Happy to elaborate if that's not expected
  • the docker-compose running method is working great for me, though the homebrewery container that runs I'm guessing has some sort of prod mode enabled as console logs I added aren't popping up. Is that accurate and if so is there a way to change that?
  • when opening PRs do y'all prefer them to be on branches within the main project or on branches in forked repos? I didn't see anything about that in the contrib doc (I may have just missed it) and wasn't sure if y'all had a standard for that or not
G.Ambatte
@G-Ambatte
I don't know if the dev script is actually working - I've always used node scripts/buildHomebrew.js --dev instead, which enables a watchDirectory and auto live rebuild. In theory this should probably work from a npm run build prompt as well, but I can't say that I've actually ever tested it.
Charlie Humphreys
@jeddai
Ah and I can probably mount the result of that into the docker image
G.Ambatte
@G-Ambatte
Typically, I have always created PRs on branches in my own fork, then submitted them as PRs to the main project.
Charlie Humphreys
@jeddai
Cool I'll do that then!
G.Ambatte
@G-Ambatte
I starting playing with Docker a few years back , and have only just picked it back up again - as in, in the last couple of weeks - and that was to look at a specific issue for Homebrewery.
Suffice it to say, if I am the project's Docker expert, then we do not have greatest Docker support. But it is at least functional again.
Charlie Humphreys
@jeddai
Well I can definitely confirm the docker-compose config works at a base level for getting things running -- I'll happily play around with it and let you know if I find any places improvements could be made
G.Ambatte
@G-Ambatte
After we fixed the config to make it work again, we also just pushed through a change to 16.11-alpine which reduced the container size by about 40%.
Beyond that, Docker support has mostly been left alone.
G.Ambatte
@G-Ambatte
The other thing that I do is, when I'm ready to test out a new change, is to first run npm lint to make sure my code is correctly formatted, then the npm build script. It's meant a lot less follow up commits with a description of "Lint fixes".
Charlie Humphreys
@jeddai

re:docker: Gotcha -- so I've done a couple things that have made my workflow with it a bit easier, definitely curious of your thoughts (not sure how helpful this would be for the group)

  • I separated the watch/livereload server from the dev argument, so now the buildHomebrew.js has both a --dev and a --watch. With just --dev it will watch the files and update the build folder as they're changed, but it doesn't start up the server.
  • the docker compose file now bind-mounts the build folder to the homebrewery docker image, so now when I change a file it'll pick up those changes as the buildHomebrew script updates the build folder without needing to be restarted. Just have to refresh the browser to pick up the changes

re:linting: that's a great tip, definitely will be sure to run that!

Trevor Buckner
@calculuschild
@jeddai We have the --dev option set up to both watch files and start up a server for that very reason you mention: The server it starts will automatically pick up updates in the build folder and you only have to refresh the browser to see the changes. Since we don't normally do our dev work inside a Docker container we have never had a need to separate the livereload server out.
Charlie Humphreys
@jeddai
Gotcha, makes sense -- I'll switch it back then before I commit
G.Ambatte
@G-Ambatte
@calculuschild Another request for help with a password change from the subreddit: https://redd.it/qjqx0t
Trevor Buckner
@calculuschild
Got it.
Sigh... Some day I'll get some password management figured out.
G.Ambatte
@G-Ambatte
I think we need to decide which way to jump on that... We could implement a login system locally, within Homebrewery, that produces the same JWT token. I know that the original intention was the NaturalCrit could be a centralized repository of D&D tools but none of the others ever got finished or fandom like Homebrewery... It may just be a case of making the leap to have HB stand alone.
G.Ambatte
@G-Ambatte
Moving to an internal login may also give us the ability to make some minor changes... Like eliminate case sensitivity in user names, add input validation to the user name field, and add password reset confirmation password/passphrase to simplify or even automate password resets.
Eric Scheid
@ericscheid_twitter
One of the reasons password resets were never done was because storing email addresses for such would make it a target 🎯. Once we start collecting email addresses that raises all sorts of technical and legal issues.
G.Ambatte
@G-Ambatte
Precisely - GDPR becomes a thing to worry about.
Eric Scheid
@ericscheid_twitter
That said, linking an account to another service (eg. twitter or facebook) can 1. enables login via that service, and 2) provides another channel with limited spammage rights.
Does reddit provide a “log in with reddit” option?
G.Ambatte
@G-Ambatte
I don't think so... There's a post about it - https://redd.it/5oxaos - but it was more about granting access to the user's Reddit account, rather than authenticating the user against said account.
The post does recommend using OpenID instead.
Trevor Buckner
@calculuschild
We could implement a login system locally
Well, we can make those changes on Naturalcrit as well. There's nothing stopping us because I have access to both halves of the system now.
Trevor Buckner
@calculuschild
I think we've had this discussion many times before, and I think we can pull password management off without collecting any additional user info, and without forcing users to log in with social media. We wouldn't have 2-factor authentication, but as long as a user can either 1) log in currently or 2) can't log in, but can provide their username and info about private brews under the account, I feel like that should be enough to let the user change their password? If something goes wrong like they leave themselves logged in and someone maliciously changes the password, then they can still come to me and I can manually fix things. But I think that will be far less likely than users wanting to just change their own password legitimately.
Essentially automating what I have to do manually now (verify with the user their username + brew info), and shifting the need for manual intervention to only the more rare case of a malicious user happening to access the Homebrewery on the same computer as another user who happened to not log out of a public machine.
Trevor Buckner
@calculuschild
Of course that means we should have an obvious logout button finally. And possibly a pop-up when you close the page that says you should log out first if on a public machine.
Trevor Buckner
@calculuschild
Maybe also a pop-up when you log in that asks if this is a trusted machine, and if yes, we just check a box in local storage to not bug you about it again on this machine.
Eric Scheid
@ericscheid_twitter
Logging in with OpenID does provide an additional benefit - one fewer password that someone needs to remember.
Charlie Humphreys
@jeddai
I also agree that OpenID would be a great option for this. Probably a lot of work to do to make that happen though
Trevor Buckner
@calculuschild
That is true, and was kind of the idea with allowing sign on with Google. And we can keep encouraging that and add more OpenId compatibility in the future. Unfortunately not everyone wants to be linked to Google/Facebook/whatever, especially where so many are already signed in with username/password and finding yourself locked out one day because now you need to link to XYZ platform is going to push some people away.
Gazook89
@Gazook89

Are you able to get a coutn of how many users there are with no linked google account?

Logging in with reddit account (if possible) and github account should be allowed, since those are the platforms in which homebrewery engages with users for reports, feature requests, updates, etc.

And if the GMB discord is any indication, I think more people are going to start moving to HB over time--- Their developer hadn't replied to messages for 6 months until last week when their SSL cert expired for a few hours and most of the active people are advising newcomers that it is abandonware.

Gazook89
@Gazook89
which leads to two thoughts on logins: 1) more users, more manual work for calculuschild, and 2) if calculuschild disappears for whatever reason, users with login problems are SOL.
Trevor Buckner
@calculuschild
Easy fix for a recent issue if someone wants a PR: naturalcrit/homebrewery#1789
Charlie Humphreys
@jeddai
Ngl I'm in that discord and that whole ordeal is why I've decided to help contribute to homebrewery :) Definitely taking me a hot minute to come up to speed on the tech used in the project though.
Trevor Buckner
@calculuschild

Kind of funny since the Homebrewery is the original, then GMBinder took our source code (it is open-source so... good for them?), tweaked a few features, and then slapped a subscription model on it. Granted, we did have a lull for a year or so when the original owner was leaving the project before I joined which is what led a lot of people to switching over, but we've been pretty active lately and are seeing more traffic back this way again.

Not that we are trying to "win" anything, but it does mean people are watching our progress more these days, so more help is always welcome.

Gazook89
@Gazook89

right, but I think we can likely all agree that it is a little "icky" that they don't provide support for a paid (and especially subscription-based) app. And they haven't completed their well-funded kickstarter goals. But I try not dwell on it or take a HB vs GMB mindset since I really have no horse in the race, though I do indulge in a bit of schadenfreude occasionally.

And then there is Norn--- I'm skeptical, but interested to see what happens since it is a very different approach to the same cause.

Or actually i think Norn is now "Scribe" or something similar.
Trevor Buckner
@calculuschild
I liked what I saw of Norn but it seemed to be just an early demo at the time. I'm not sure where it's at now but it seemed cool.
Trevor Buckner
@calculuschild
@jeddai Feel free to ask any technical questions you have if it helps you get up to speed on things. We all kind of learned the same way from the original creator or an older contributor, and by fiddling around and figuring things out together.
Charlie Humphreys
@jeddai
Good to know! I am not crazy familiar with React (I work for an Angular shop) but at the moment the only thing tripping me up is CodeMirror and how it loads its helpers and stuff. Despite having required the necessary js files for code folding the CodeMirror editor instance that gets created doesn't seem to have the methods it's supposed to. I'm gonna keep poking about but I'm starting to lean towards it being a weird interaction with document swapping and the language mode switch happening there. I might have to manually enable/disable code folding on document swap but there doesn't appear to be much documentation surrounding that (if it's even an option with the cm library)