Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 15 2018 18:36

    ericyhwang on v0.10.9

    (compare)

  • Nov 15 2018 18:36

    ericyhwang on master

    0.10.9 (compare)

  • Nov 15 2018 18:36

    ericyhwang on immediate-listeners

    (compare)

  • Nov 15 2018 18:36

    ericyhwang on master

    Switch to immediate model liste… Remove unused variable in Page … Merge pull request #554 from de… (compare)

  • Nov 15 2018 18:36
    ericyhwang closed #554
  • Nov 15 2018 18:31
    ericyhwang synchronize #554
  • Nov 15 2018 18:31

    ericyhwang on immediate-listeners

    Remove unused variable in Page … (compare)

  • Nov 14 2018 23:46
    ericyhwang assigned #554
  • Nov 14 2018 23:46
    ericyhwang opened #554
  • Nov 14 2018 23:45

    ericyhwang on immediate-listeners

    Switch to immediate model liste… (compare)

  • Nov 01 2018 03:38
    paulmillr closed #473
  • Aug 08 2018 20:25

    nateps on v0.10.8

    (compare)

  • Aug 08 2018 20:25

    nateps on v0.10.7

    (compare)

  • Aug 08 2018 20:23

    nateps on master

    0.10.8 (compare)

  • Aug 08 2018 20:22

    nateps on master

    0.10.7 derby-parsing: ^0.7.6 (compare)

  • Aug 08 2018 20:19

    nateps on context-closure-equals

    (compare)

  • Aug 08 2018 20:19

    nateps on master

    use dependencyOptions.setIgnore… (compare)

  • Aug 08 2018 20:19
    nateps closed #553
  • Aug 08 2018 20:18
    nateps synchronize #553
  • Aug 08 2018 20:18

    nateps on context-closure-equals

    derby-templates: ^0.7.3 (compare)

cjblomqvist
@cjblomqvist
Ilkka, there are no problems with the current setup from my point of view. 1) The real point of security needs to be server side (otherwise you could just write your own client and sidestep it), and happens before operations are submitted to the DB.
2) As long as a user has a connection open, the sessions should/will persist. Since you can track connectivity, that would be a better thing to notify the user about. It depends a little bit on your use case and how much offline you support, but should work pretty much as good as is possible. On reconnect you'd always want to make sure people are logged in again in case of list session anyway. In the extreme case that authentication information was changed during this offline time, I'd just treat it as if someone was logging out meanwhile being offline. It feels life such a strange edge case you don't really need to consider it.
cjblomqvist
@cjblomqvist
In total, if you want to worry about security, I think you are worrying about the wrong things. Rather if focus on 2FA, encryption of data - in particular over web sockets, and so on.
Ilkka Huotari
@ile
The session can expire on the server while the websocket connection is open. For example, banking sites have a very short expiring time, like 15 minutes. The user could stay online forever if he/she/hen doesn't do a server side refresh.
Also, it can bring those strange user experiences that the user, who thought he was online, is suddenly offline after a server side refresh.
cjblomqvist
@cjblomqvist
That might be, but security wise you should at least be fine. UX wise I guess it'd be pretty decent to working around (eg do a countdown and then do some kind of refresh our something + of course, keep track of whether you're still connected)
trsh
@trsh
Hi!
I have a question about derbyjs
Is it possible to use it without MongoDB? In my case no data storing/fetching is required
trsh
@trsh
Wow, so passive community :(((
cjblomqvist
@cjblomqvist
@trsh Yes it's possible. There are adapters for PostgreSQL and In-Memory (but then you'll loose your data on every server restart and you won't be able to scale to more than 1 server)
lazydaze
@lazydaze
in racer, is it possible to check whether a change to a model has successfully reached the server?
Ilkka Huotari
@ile
Hmm, any new work on Derby anyone knows about? How about that offline use?
lazydaze
@lazydaze
I found Model.hasPending() and Model.whenNothingPending(function(args..){..}), which seems to work for what I need.
Ilkka Huotari
@ile
@lazydaze there is the callback in model.set ... model.set('path', value, callback); ...
Ilkka Huotari
@ile
Any sightings of native implementations for Android/iOS? Of Derby.
cjblomqvist
@cjblomqvist
There's very low activity around Derby. It seems it has been declining for a long time and I think now it reached almost a stand still. At least community wise, I believe it to be more or less dead.
Ilkka Huotari
@ile
Yes, but people may have forked it and continued with their own versions... At least I have, and @cray0000 was talking about forking too.
Or have you moved to something else?
Osman Mazinov
@ovvn
@ile why would you use Derby.js when building native mobile apps?
@cjblomqvist agree, people often go for a well advertised and community-crowded frameworks. Though I think even without all that hype and a large community Derby.js is still good for building web apps.
Ilkka Huotari
@ile
@ovvn To access the same data in a native app.
Osman Mazinov
@ovvn
how do you store your data? maybe it makes sense to store it using some cloud service so you can have a web app based on derby and mobile apps based on java, swift, react native etc.
Ilkka Huotari
@ile
But how do I access it from a native app? The rows/documents have their own metadata (version etc.) and the OT stuff needs to be done correctly when saving the data.
Osman Mazinov
@ovvn
Ilkka Huotari
@ile
Those are different solutions. I don't see why there couldn't be a native Derby too...
Ilkka Huotari
@ile
Offline usage may be tricky though
Still, I can't just save the data as I would save it in a regular database, the medata would get all messed up
Ilkka Huotari
@ile
Derby on mobile is becoming a problem since the bundle quite big to download... several hundred kbs
Ilkka Huotari
@ile
Might help if someone invented a compression algorithm which has a Weissman score of 5.2...
Osman Mazinov
@ovvn
@ile we'll see in the fifth season of Silicon Valley :smile:
Ilkka Huotari
@ile
:D
Glad you noticed :)
800 kb is the bundle, 150 compressed ... it compresses quite well though
Ilkka Huotari
@ile
Loading the bundle locally in a mobile app could be an option? That is, packaging the .js bundle into the iOS/Android app (which uses webview) and loading the .js bundle into the DOM in a webview. Anyone thought of this?
It would like cheating but in a good way.
If it works...
Ilkka Huotari
@ile
Native iOS/Android version would be really nice though.
Anyone agree/would be willing to work on it?
As a joint effort.
Ilkka Huotari
@ile
Has everybody abandoned Derby?
Michael Brade
@michael-brade
No, I haven't. I am actually trying to fix a bug in racer, the one showstopper for me: you can find it in racer/test/Model/refList.js, the test that is skipped. But it's not easy and I don't have much time, so it will take a while. Other than that, I do have the feeling that the lack of updates made most people stop using it :worried:
Ilkka Huotari
@ile
Ok, I'll take a look. I'm have been using my forked version.
I haven't seen many bugs in derby/racer, so there hasn't been much to fix. I made some new features that I needed.
Ilkka Huotari
@ile
Ok, I hadn't used refLists at all and my fork has the same problem. So I guess it doesn't get fixed so soon now ...
Osman Mazinov
@ovvn
We still use Derby.js for some of our projects. Didn't use model.refList much, it looks like is will soon be removed from the framework derbyjs/derby-examples@463198b
lancedouglas1
@lancedouglas1

Hello @ovvn how's this project coming along. I've been working on the real-time pattern of a multi-modal multi-user shared object for a high-contention transactions (kind of like a real-time global auction). I need to use websockets and pre-parse / model the data based on ACL and modality and view. After looking at seemingly every other framework, i'm considering socketcluster and derbyjs.

SocketCluster for its beautiful horizontal and vertical scaling.
DerbyJS for its beautiful shared objects at the node level with built-in Authn and Autho with multi db support.

The only thing missing in Derby seems to be the horizontal scaling (spreading the functions and workers across servers, not just vertically across cpu cores).
I'm thinking of merging the socketcluster horizontal scaling with derby but first wanted to check out how this project is coming along, and if you've already seen/developed a horizontal solution.
FYI, my entire application is json, so no assets nor markup.
Osman Mazinov
@ovvn
Hi @lancedouglas1 just've read your post. Didn't develop horizontal scaling myself, but it works pretty good for our project. We use google cloud platform, have a load balancer with multiple server and worker instances.