Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 22 14:58
    larixer labeled #1160
  • Oct 22 14:57
    tms1337 opened #1160
  • Oct 17 08:01

    vlasenko on stable

    add getIdentity/getHash to apol… Merge branch 'master' into stab… (compare)

  • Oct 17 08:00

    vlasenko on master

    add getIdentity/getHash to apol… (compare)

  • Oct 17 08:00
    vlasenko closed #1159
  • Oct 17 08:00
    vlasenko commented #1159
  • Oct 17 04:09
    seanjsong opened #1159
  • Oct 15 14:20

    vlasenko on stable

    Explicitly specify returning co… Upgrade to Expo SDK 35 (#1158) Update Debugging.md (#1157) de… and 6 more (compare)

  • Oct 15 14:18

    vlasenko on master

    Update react-native-gifted-chat… (compare)

  • Oct 15 13:49
    vlasenko closed #1129
  • Oct 15 13:49
    vlasenko commented #1129
  • Oct 15 13:47

    vlasenko on common_logout

    (compare)

  • Oct 15 13:47
    vlasenko closed #1089
  • Oct 15 13:46

    vlasenko on react-native-hooks

    (compare)

  • Oct 15 13:46
    vlasenko closed #1099
  • Oct 15 13:46
    vlasenko closed #1081
  • Oct 15 13:46
    vlasenko closed #1088
  • Oct 15 13:45

    vlasenko on expo-google-auth

    (compare)

  • Oct 15 13:45
    vlasenko closed #1079
  • Oct 15 13:45
    vlasenko closed #1063
Faruk Mustafic
@tms1337
oh okay, clear
Victor Vlasenko
@larixer
@tms1337 You might find it helpful to understand how modules are modelled:
https://github.com/sysgears/fractal-objects/tree/master/typescript
Faruk Mustafic
@tms1337
yes already checking out that repo :D
I went backwards all the way to ModuleShape this led me to fractal-objects
btw, do you have type theory background ?
Victor Vlasenko
@larixer
Each module is represented by plain JavaScript object. There is a rule how to make a module from two modules represented by objects. The module which represents a combination of two modules, is a module that has values of the same keys concatened if they are array or meged if they are objects. Thats it, this is a low level mechanics. This rule - a multiplication rule allows one to easily aggregate several small modules into a bigger module
No, I have mathematical education
But I try to learn CS concepts myself, very curious about them
Faruk Mustafic
@tms1337
yes, type theory is more like maths anyways so it is easier to grasp with some algebra background
Victor Vlasenko
@larixer
yep
Faruk Mustafic
@tms1337
thanks for the guidelines, will let you know if I'm stuck :D
Victor Vlasenko
@larixer
sure, feel free, thanks!
I found mistake there in fractal-object docs, the multiplication is not commutative, it depends on the order of multiplication. I have made it intentionally, for example to have navItems in particular order you can just change the position of module in the list
Faruk Mustafic
@tms1337
anyways there would need to be an ordering of the elements on the joint list in order to be fully commutative, so I think this is OK when working with generic objects
since we are using List, not a Set
I mean [a, b, c] + [d, e, f] and [a, d, e] + [f, b, c] should both produce unique list, lets say [a, b, c, d, e, f] ordered by alphabet, but not really required for our use case for generic objects
Victor Vlasenko
@larixer
yes, in our case sorting will actually make more evil than good
Faruk Mustafic
@tms1337

@vlasenko I got grasp of most of the things, can you just confirm my understanding (for backend):
1) I see for the main functions and classes are exported modules/core
2) Furthermore base classes, interfaces and types are defined in modules/module
3) App is started in this point:
https://github.com/sysgears/apollo-universal-starter-kit/blob/master/packages/server/src/index.ts#L4

which basically calls this function
https://github.com/sysgears/apollo-universal-starter-kit/blob/master/modules/core/server-ts/server.ts#L21

And this createServer function is the main logic of starting the app and loading the modules

Victor Vlasenko
@larixer
@tms1337 Yep, all is correct
Faruk Mustafic
@tms1337
Do you think documentation needs the section explaining these "inner workings" of AUSK ? This would include a more detailed explanation of types, fractal structure etc. For me personally this would have been nice to have since it took me few days (I do this on the side of my regular job) to investigate and understand the structure fully. Also I think for somebody wanting to contribute to the repository this section would be useful as onboarding.
I would like to contribute to code at some point, but I think writing these some documentation first would give me good starting point for future contributions.
Victor Vlasenko
@larixer
Yep, for sure, that would be great to have
Faruk Mustafic
@tms1337
ok then will start working on that, when I have something will make a PR
Faruk Mustafic
@tms1337

@vlasenko

https://github.com/sysgears/apollo-universal-starter-kit/blob/master/modules/core/server-ts/server.ts#L19

can you explain me or give me some reference for this serverPromise, I do not see it used anywhere except in tests, just exported from the core module

Victor Vlasenko
@larixer
Yes, it is needed for tests only
In tests we need to await for server start first and then we execute integration tests on the running server
Faruk Mustafic
@tms1337
okay thanks
Faruk Mustafic
@tms1337
shouldn't register method in User DAO return ID, since this causes me {"errors":[{"message":"arr[Symbol.iterator] is not a function","locations":[{"line":2,"column":3}]
this is in place where resolver calls DAO function and unpacks results
oh, it's already fixed in sysgears/apollo-universal-starter-kit@07505f7, I have an older version
mitjade
@mitjade
@vlasenko hi, how can I force a clean build, if running yarn build?
do I just remove /packages/server/build , ..client/build?
Victor Vlasenko
@larixer
@mitjade yarn clean
mitjade
@mitjade
ok thx
Faruk Mustafic
@tms1337
hello, can somebody explain me how to test the social login flow with AUSK ? Thanks :D
Faruk Mustafic
@tms1337
I read that, I enabled social facebook login in config, but what is the URL I need to hit on frontend in order to be redirected
Should I go to localhost:${PORT}/auth/facebook or is it even exposed in the example app ?
Victor Vlasenko
@larixer
You should see the button on login page for facebook login, you should press it
Faruk Mustafic
@tms1337
ok, it's probably hidden until facebook auth is enabled so I didn't see it
will try out when I have FACEBOOK_CLIENTID, thanks
Faruk Mustafic
@tms1337

@vlasenko What do you think about these directions for documentation, every one of these points can be a section in the docs, so we can work incrementally, so that each of them is well written

Directions for “inner working” docs:

  • explain Module, CommonModule, fractal structure
  • explain ServerModule and some examples like core -> rest
  • explain ClientModule
  • explain ClientModule native
  • explain packages/ folder and how the app is started
if you have some suggestions pls tell me
I will open PR today so we can migrate the discussion there once we confirm basic idea is OK
Victor Vlasenko
@larixer
Looks good to me
Faruk Mustafic
@tms1337
do I branch from stable or master @vlasenko ?
Faruk Mustafic
@tms1337
also, do I need some permission to push my branch in order to be able to open PR ?
Victor Vlasenko
@larixer
You fork the repo, then create a branch from ‘master’, then open a PR
Faruk Mustafic
@tms1337
okay
I opened PR, you can add label "In progress" if you want
Victor Vlasenko
@larixer
Yup, done, thanks
I have changed my nickname to @larixer both on GitHub, here and on Twitter to use the same unique nickname across multiple services