8428742
relax some RuboCop restrictions; missed in 349d8b0
Denver Gingerich created
8428742
relax some RuboCop restrictions; missed in 349d8b0
Denver Gingerich created
540712f
merge in "Refactor mpx-catapult to use em_promise"
Note that the EventMachine upgrade is required here since "1.0.1 fixes a bug with the use of epoll, which goliath's runner enables", per the merge discussion. See merge request !7 for the discussion and details behind this merge.
Denver Gingerich created
ff64421
Refactor mpx-catapult to use em_promise
Instead of writing our own, just use the built-in Goliath runner. This changes the usage, new usage is: REDIS_URL=redis://localhost:6379/0 bundle exec mpx-catapult.rb -p $PORT -s -v There is a --help for more information (provided by Goliath). Instead of using blocking I/O, use EventMachine. To be consistent with the rest of the project, use em_promise
Stephen Paul Weber created
349d8b0
only print certain request fields - not all needed
Denver Gingerich created
c25ea8c
add requisite copyright notice for a98b0f9 changes
Denver Gingerich created
a98b0f9
merge initial EventMachine refactor - passes tests
This looks very good to me and worked fine in my testing (including most of the cases that result in errors being returned to the user). The changes should make sgx-catapult much more performant (especially as we handle more load) and are generally the right thing to do. There are a couple of minor fixes that are included in these changes that would ideally be broken out into separate commits, but I won't push for those here as the important part is the resulting code. See merge request !6 for the discussion and details behind this merge.
Denver Gingerich created
85aa080
Refactor incoming callback redis code
Stephen Paul Weber created
dd7e711
Refactor the ibb file receive as well
Stephen Paul Weber created
a35693b
Refactor the whole chat handler
Stephen Paul Weber created
429837b
First HTTP request using em-http
Stephen Paul Weber created
366c568
don't crash on register <remove/>; implement later
Denver Gingerich created
c226d87
fix split: "undefined method `b' for nil:NilClass"
Denver Gingerich created
b1da90f
don't hang on Exception; instead, log msg and quit
This fix introduces several "C: Use 1 (not 0) spaces for indentation." RuboCop offenses due to the introduction of begin/end blocks that seem to be required inside each Ruby proc that needs a rescue section. There wasn't an obvious RuboCop setting to disable, and it's probably worth fixing in a better way eventually, so leave them in for now. We did have to disable the RuboCop check for "rescue Exception", which is used liberally in this commit. In our situation, doing so is ok, since we really do want to catch every single type of exception. It's fine to do so since we're exiting every time regardless of the issue.
Denver Gingerich created
8e473bb
fix 777b17d indent - RuboCop doesn't check its cfg
Denver Gingerich created
9054cf1
as promised, use 449bb69 fix everywhere (iq close)
Denver Gingerich created
449bb69
merge "Should not crash if id or resource missing"
This crash is particularly bad because it currently causes sgx-catapult to get stuck. We'll fix that in a future commit. Also, a future commit will apply this fix to the other tagged message send. See merge request !5 for the discussion and details behind this merge.
Denver Gingerich created
b4c5749
Should not crash if id or resource missing
Since id is not strictly required on messages, and bare JIDs can certainly send message stanzas.
Stephen Paul Weber created
a8a3d6f
unescape JID from URL - fixes Cheogram users' URLs
Denver Gingerich created
920259a
merge "Use a standard gateway type" - XEP-0030 fix
I must not have looked at the spec when I wrote this disco value; it seems pretty clear that "sms" is indeed the right string to use: https://xmpp.org/registrar/disco-categories.html#gateway See merge request !4 for the discussion and details behind this merge.
Denver Gingerich created
9c33beb
merge "Switch to SecureRandom.uuid" - sleeker deps
This does not appear to have any functional changes so I'm happy to merge something that gives us fewer dependencies. See merge request !3 for the discussion and details behind this merge.
Denver Gingerich created
39ed61f
Use a standard gateway type
Stephen Paul Weber created
47b643c
Switch to SecureRandom.uuid
Saves us a whole dependency!
Stephen Paul Weber created
f3ea0f3
treat identical registration as success; fixes #3
Rather than always sending a <conflict/> error back if we encounter an existing registration, we first check both the catapult_jid-<P> and catapult_cred-<J> keys. If either or both of them exist and at least one has a different value than the user's, then we still return a <conflict/> error. Otherwise, we set the values that the user entered and indicate a successful registration. This has the added advantage of allowing a person to easily fix a partial registration. Such a thing is unlikely, but possible, given that the setting of catapult_jid-<P> and catapult_cred-<J> are not in the same transaction, and sgx-catapult could go down mid-registration. Making this change was much easier thanks to the a66b574 refactoring.
Denver Gingerich created
a66b574
factor registration into method; no func'l change
We did have to relax some RuboCop parameters a little bit to make this happen. But I consider these worth it, as this also commit also fixes two much more serious RuboCop infractions! Here are the relaxations: * Metrics/ParameterLists - increase by 1 from default; need for method * Style/AlignParameters - off, as RuboCop too dumb to check 8-col tabs
Denver Gingerich created
dbfb76b
reduce LRANGE to please RuboCop, thanks to 8db4e68
Denver Gingerich created
814b166
like c811dc0, use dynamic version in mpx-catapult
Denver Gingerich created
c811dc0
print dynamic version string; no more manual bumps
Denver Gingerich created
777b17d
merge stylistic lint changes and RuboCop settings
The one item I might change later is to put the parens back on user_cap_identities and user_cap_features, but it's not that big of a deal so I'll leave them for now. See merge request !2 for the discussion and details behind this merge.
Denver Gingerich created
f3acaf5
fix registration failures; good return 'OK', not 1
I have no idea how this ended up in here - it must have worked at some point during testing, but something must have changed since then. In any case, proper registration wasn't being heavily tested (since most people get registered via the jmp-register "side channel") but we want it to work, especially if we're going to have more Cheogram users.
Denver Gingerich created
8db4e68
Lint ruby for style
Configure rubocop linter and fix some inconsistencies in the existing code.
Stephen Paul Weber created
373688b
abe7480 ver bump; eventually: auto-print commit ID
Denver Gingerich created
abe7480
merge in "Tell existing user they are registered"
This is slightly related to #3 as we need to use <registered/> there as well. And this commit should also make it less likely that the user will hit the "tries to register again" case mentioned there. See merge request !1 for the discussion and details behind this merge.
Denver Gingerich created
d1d1c5e
Tell existing user they are registered
Fill in the non-secret part of the form (the phone number they are currently registered with) and send back the <registered/> element.
Stephen Paul Weber created
4daf5c1
bail instead of crash on Gajim's bad <close/> sid
Denver Gingerich created
cb57cb9
Conversations "CHECK IMAGE SIZE" fixed w subscribe
Denver Gingerich created
f15bc1a
follow on to 19c57cf: fix register text source URL
Denver Gingerich created
26df072
presence-on-subscribe needed, ie. for deliver rcpt
Denver Gingerich created
4853ba6
fix canonical URL - the square braces are unneeded
Denver Gingerich created
19c57cf
add note regarding canonical location of this repo
Denver Gingerich created
226f261
add hourly ping to avoid Prosody auto-disconnects
Denver Gingerich created
66d1928
simplify localpart detection thanks to singpolyma
Denver Gingerich created
43aec7c
make stdout synchronous so easier to read log file
Denver Gingerich created
bf3ef36
fix delivery error name, send; tag needs +resource
Denver Gingerich created
5344748
internal msgs (from 8753120) get delivery receipts
Denver Gingerich created
8753120
if both users on sgx-catapult deliver msg directly
We don't support delivery receipts or picture messaging with this feature yet - those should be straight-forward and are coming soon.
Denver Gingerich created
9c129df
print the time on startup to aid in debugging logs
This mirrors what we did in jmp-fwdcalls commit 5901c10, but also adds some more newlines to make it look nicer (which jmp-fwdcalls had already). Note that both mpx-catapult and sgx-catapult are being updated here; aside from the new log line printing, there are no functional changes.
Denver Gingerich created
73f30ab
fix schema: catapult_num now _jid to reflect usage
The "catapult_num-N" keys have always stored the JID associated with N
so it makes more sense to call this "catapult_jid-N" - this is really
a "JID key", not a "number key" (hence the accompanying variable name
change). Furthermore, we will be adding another number-indexed table
to the schema soon ("catapult_fwd-N"), which will eventually be used
for forwarding calls, but is initially mostly a placeholder in the DB,
used only for sending verification codes via phone from jmp-register.
It makes much less sense to have "catapult_num-N" in this situation.
Denver Gingerich created
e856b2f
number keys store JID as val, not list of size one
This is for compatibility with jmp-register commit f7ee1fe (whose code is not yet active), and for general simplicity and correctness. We can now use SETNX to mitigate races rather than set-then-check-length.
Denver Gingerich created
6989ab7
add shortcode support - simple translation for now
Denver Gingerich created
7af1585
b205c55 ok - Content-Length may help Conversations
Denver Gingerich created