Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Benjie Gillam
    @benjie
    @loxy I donโ€™t understand the question
    Aprendo Aprendo Aprendo Aprendo Aprendo.....
    @bichoraroTV_twitter
    @loxy this is my first time that Iโ€™m going into production and want to chose well.
    Kersten Lorenz
    @loxy
    Because it is no question. It's an answe to @bichoraroTV_twitter
    james-s-turner
    @james-s-turner
    @benjie thanks very much for the speedy reply :-) I'll give that a try
    @benjie will file issue when I have verified
    Benjie Gillam
    @benjie
    Ah, mobile gitter skipped that message. Sorry! Thanks for answering ๐Ÿ‘
    Kersten Lorenz
    @loxy
    You're welcome
    james-s-turner
    @james-s-turner
    @benjie Just put some logging into withPostGraphileContext and it IS beginning the transaction!
    if (needTransaction) { console.log('BEGIN TRANSACTION'); await pgClient.query('begin'); }
    I can see 'BEGIN TRANSACTION' being logged to console. Possibly a race condition?
    Benjie Gillam
    @benjie
    Hmmm. Iโ€™m not sure then. Maybe youโ€™re missing an await or similar and causing the transaction to commit before any queries run?
    james-s-turner
    @james-s-turner
    That was it - committing early because of missing an await . Thanks again
    Benjie Gillam
    @benjie
    Awesome; np
    Kersten Lorenz
    @loxy
    Why is RC3 released under @next?
    Benjie Gillam
    @benjie
    Because Iโ€™ve been away so canโ€™t deal with any urgent issues in it (if there were to be any)
    Kersten Lorenz
    @loxy
    Ah. Ok.
    Benjie Gillam
    @benjie
    Figured itโ€™d be better to get it out earlier under @next than wait for my return ๐Ÿ™‚
    Kersten Lorenz
    @loxy
    Definitely!
    Aprendo Aprendo Aprendo Aprendo Aprendo.....
    @bichoraroTV_twitter
    Hi! What does
    -a, --classic-ids
    use classic global id field name. required to support Relay 1
    CLI Option?
    Benjie Gillam
    @benjie
    It renames โ€œnodeIdโ€ to โ€œidโ€ and โ€œidโ€ to โ€œrowIdโ€ for Relay 1 support
    Tim Hanlon
    @timhnln_twitter

    I'm generating error messages for the front end like this:

    create or replace function app_public.register_person(
      handle text,
      display_name text,
      email text,
      password text
    ) returns app_public.person as $$
    declare
      person app_public.person;
      constraint_name text;
    begin
      insert into app_public.person (handle, display_name) values
        (handle, display_name)
        returning * into person;
    
      insert into app_private.person_account (person_id, email, password_hash) values
        (person.id, email, crypt(password, gen_salt('bf')));
    
      return person;
    
    exception 
      when check_violation then
        get stacked diagnostics constraint_name = CONSTRAINT_NAME;
        if constraint_name = 'handle_length' then
          raise exception 'Your handle is too long';
        end if;
      when unique_violation then
        get stacked diagnostics constraint_name = CONSTRAINT_NAME;
        if constraint_name = 'person_account_email_key' then
          raise exception 'That email is already in use';
        elsif constraint_name = 'person_handle_key' then
          raise exception 'That handle is already in use';
        else
          raise exception '%', constraint_name;
        end if;
    end;
    $$ language plpgsql strict security definer;

    It works, but I'm curious as to whether this is the "right" approach or not.

    Frank Sheiness
    @syndesis
    if it's for the front end, i'd put the length check there
    Tim Hanlon
    @timhnln_twitter
    There will be a length check on the front end, but this is my "never trust the client" implementation
    Benjie Gillam
    @benjie
    Tim: that looks alright (from the tiny window I can see but not scroll on mobile) but you might prefer to use handleErrors to group these together in one central location.
    Sam Levin
    @samlevin
    Hi @benjie, just wanted to pop in and say that this project, your handling of it, the docs, support, and community is awesome all around. Postgraphile is a powerful, idomatic, and elegant tool. I may start using it for customer projects and if so, would eventually like to dive into the internals and maybe contribute a bit. Thanks for your efforts on this. Just learned a lot about my own use cases through reading a bunch of your answers in github issues
    Benjie Gillam
    @benjie
    I really need to turn those GitHub issue comments into docs! Thanks for your kind words, they are much appreciated ๐Ÿ™
    Benjie Gillam
    @benjie
    Contribution to the core would be welcome also; the API is pretty much fixed now so I think the thing that needs the most work is graphile-utils to make plugin factories to make doing things a lot easier for people. For example, there really should be an inflector plugin factory that enables you to override the inflector. Anyway I'm getting ahead of myself.
    Alexey Yurchenko
    @alexesDev
    Hello. Why *Connection types not marked as not null?
    And why nodes: [Move]! node item not marked as not null? [Move!]!
    flow types from schema (relay) are optional and I have many errors like this:
    Cannot get allProducts.nodes because property nodes is missing in null or undefined [1].
    Benjie Gillam
    @benjie
    Use --no-setof-functions-contain-nulls
    Alexey Yurchenko
    @alexesDev
    @benjie thanks
    Benjie Gillam
    @benjie
    ๐Ÿ‘
    I really want a hubot in this channel so I can program a bunch of lookups like this ๐Ÿ™‚
    Chad Furman
    @chadfurman
    How does Shopify get 80k RPS?
    Chad Furman
    @chadfurman
    Looks like lots of servers and EC2 autoscaling groups
    Aprendo Aprendo Aprendo Aprendo Aprendo.....
    @bichoraroTV_twitter
    @chadfurman great docs and videos thanks for sharing!!!
    Chad Furman
    @chadfurman
    You are very welcome. Thanks to @benjie for making GraphQL something I can use on my project in a robust way with minimal effort. 500-1500 requests per second on a single server is pretty awesome
    Aprendo Aprendo Aprendo Aprendo Aprendo.....
    @bichoraroTV_twitter
    ๐Ÿ‘Š๐Ÿ‘
    Benjie Gillam
    @benjie
    ๐Ÿ˜ Thanks Chad! Iโ€™m going to retweet your tweet later today (trying to optimise for impact)
    Benjie Gillam
    @benjie
    I'm back from holidays; RC3 is now @latest rather than @next ๐Ÿ‘
    Andreas Hubel
    @saerdnaer
    Hi, Anyone recommendations regarding graphile/graphile-build#267 ?
    Benjie Gillam
    @benjie
    @saerdnaer Did the plugin suggestion work?
    Andreas Hubel
    @saerdnaer
    I will try it tomorrow.
    Benjie Gillam
    @benjie
    @/all If you're able to write a short 1/2 sentence testimonial for me to put on the Graphile site that would be super-awesome.
    Also I'm doing the Reactiflux Q&A tonight if anyone's interested.