Skip to content

Commit b3b1b21

Browse files
authored
Merge pull request #4 from Bilb/break-down-invite-sent-failed
fix: break down invite sent/failed method
2 parents 40359e0 + 05d67ab commit b3b1b21

File tree

7 files changed

+52
-26
lines changed

7 files changed

+52
-26
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"main": "index.js",
33
"name": "libsession_util_nodejs",
44
"description": "Wrappers for the Session Util Library",
5-
"version": "0.4.6",
5+
"version": "0.4.7",
66
"license": "GPL-3.0",
77
"author": {
88
"name": "Oxen Project",

src/groups/meta_group_wrapper.cpp

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,11 @@ void MetaGroupWrapper::Init(Napi::Env env, Napi::Object exports) {
4747
&MetaGroupWrapper::membersMarkPendingRemoval),
4848
InstanceMethod(
4949
"memberSetNameTruncated", &MetaGroupWrapper::memberSetNameTruncated),
50-
InstanceMethod("memberSetInvited", &MetaGroupWrapper::memberSetInvited),
51-
InstanceMethod("memberSetAccepted", &MetaGroupWrapper::memberSetAccepted),
50+
InstanceMethod("memberSetInviteSent", &MetaGroupWrapper::memberSetInviteSent),
51+
InstanceMethod(
52+
"memberSetInviteFailed", &MetaGroupWrapper::memberSetInviteFailed),
53+
InstanceMethod(
54+
"memberSetInviteAccepted", &MetaGroupWrapper::memberSetInviteAccepted),
5255
InstanceMethod("memberSetPromoted", &MetaGroupWrapper::memberSetPromoted),
5356
InstanceMethod(
5457
"memberSetPromotionSent", &MetaGroupWrapper::memberSetPromotionSent),
@@ -342,8 +345,9 @@ Napi::Value MetaGroupWrapper::infoSet(const Napi::CallbackInfo& info) {
342345
assertIsObject(arg);
343346
auto obj = arg.As<Napi::Object>();
344347

348+
// we want to not throw if the name is too long, but just truncate it
345349
if (auto name = maybeNonemptyString(obj.Get("name"), "MetaGroupWrapper::setInfo name"))
346-
this->meta_group->info->set_name(*name);
350+
this->meta_group->info->set_name_truncated(*name);
347351

348352
if (auto created = maybeNonemptyInt(
349353
obj.Get("createdAtSeconds"), "MetaGroupWrapper::setInfo set_created"))
@@ -454,30 +458,41 @@ void MetaGroupWrapper::memberSetNameTruncated(const Napi::CallbackInfo& info) {
454458
});
455459
}
456460

457-
void MetaGroupWrapper::memberSetInvited(const Napi::CallbackInfo& info) {
461+
void MetaGroupWrapper::memberSetInviteFailed(const Napi::CallbackInfo& info) {
462+
wrapExceptions(info, [&] {
463+
assertIsString(info[0]);
464+
auto pubkeyHex = toCppString(info[0], "memberSetInviteFailed");
465+
466+
auto m = this->meta_group->members->get(pubkeyHex);
467+
if (m) {
468+
m->set_invite_failed();
469+
this->meta_group->members->set(*m);
470+
}
471+
});
472+
}
473+
474+
void MetaGroupWrapper::memberSetInviteSent(const Napi::CallbackInfo& info) {
458475
wrapExceptions(info, [&] {
459476
assertIsString(info[0]);
460-
assertIsBoolean(info[1]);
461-
auto pubkeyHex = toCppString(info[0], "memberSetInvited");
462-
auto failed = toCppBoolean(info[1], "memberSetInvited");
477+
auto pubkeyHex = toCppString(info[0], "memberSetInviteSent");
463478

464479
auto m = this->meta_group->members->get(pubkeyHex);
465480
if (m) {
466-
m->set_invited(failed);
481+
m->set_invite_sent();
467482
this->meta_group->members->set(*m);
468483
}
469484
});
470485
}
471486

472-
void MetaGroupWrapper::memberSetAccepted(const Napi::CallbackInfo& info) {
487+
void MetaGroupWrapper::memberSetInviteAccepted(const Napi::CallbackInfo& info) {
473488
wrapExceptions(info, [&] {
474489
assertInfoLength(info, 1);
475490
assertIsString(info[0]);
476491

477-
auto pubkeyHex = toCppString(info[0], "memberSetAccepted");
492+
auto pubkeyHex = toCppString(info[0], "memberSetInviteAccepted");
478493
auto m = this->meta_group->members->get(pubkeyHex);
479494
if (m) {
480-
m->set_accepted();
495+
m->set_invite_accepted();
481496
this->meta_group->members->set(*m);
482497
}
483498
});

src/groups/meta_group_wrapper.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,9 @@ class MetaGroupWrapper : public Napi::ObjectWrap<MetaGroupWrapper> {
124124
Napi::Value memberConstructAndSet(const Napi::CallbackInfo& info);
125125

126126
void memberSetNameTruncated(const Napi::CallbackInfo& info);
127-
void memberSetInvited(const Napi::CallbackInfo& info);
128-
void memberSetAccepted(const Napi::CallbackInfo& info);
127+
void memberSetInviteFailed(const Napi::CallbackInfo& info);
128+
void memberSetInviteSent(const Napi::CallbackInfo& info);
129+
void memberSetInviteAccepted(const Napi::CallbackInfo& info);
129130
void memberSetPromoted(const Napi::CallbackInfo& info);
130131
void memberSetPromotionSent(const Napi::CallbackInfo& info);
131132
void memberSetPromotionFailed(const Napi::CallbackInfo& info);

src/user_groups_config.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ struct toJs_impl<group_info> {
7070
obj["authData"] = toJs(env, info.auth_data);
7171
obj["invitePending"] = toJs(env, info.invited);
7272
obj["kicked"] = toJs(env, info.kicked());
73-
obj["destroyed"] = toJs(env, info.isDestroyed());
73+
obj["destroyed"] = toJs(env, info.is_destroyed());
7474

7575
return obj;
7676
}
@@ -346,7 +346,7 @@ Napi::Value UserGroupsWrapper::markGroupKicked(const Napi::CallbackInfo& info) {
346346

347347
auto group = config.get_group(groupPk);
348348
if (group) {
349-
group->markKicked();
349+
group->mark_kicked();
350350
config.set(*group);
351351
}
352352
return config.get_or_construct_group(groupPk);
@@ -359,7 +359,7 @@ Napi::Value UserGroupsWrapper::markGroupInvited(const Napi::CallbackInfo& info)
359359

360360
auto group = config.get_group(groupPk);
361361
if (group) {
362-
group->markInvited();
362+
group->mark_invited();
363363
config.set(*group);
364364
}
365365
return config.get_or_construct_group(groupPk);
@@ -372,7 +372,7 @@ Napi::Value UserGroupsWrapper::markGroupDestroyed(const Napi::CallbackInfo& info
372372

373373
auto group = config.get_group(groupPk);
374374
if (group) {
375-
group->markDestroyed();
375+
group->mark_destroyed();
376376
config.set(*group);
377377
}
378378
return config.get_or_construct_group(groupPk);

types/groups/groupmembers.d.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,18 @@ declare module 'libsession_util_nodejs' {
7878
// setters
7979
memberSetNameTruncated: (pubkeyHex: PubkeyType, newName: string) => void;
8080

81-
/** A member's invite state defaults to invite-not-sent. Use this function to mark that you've sent one, or at least tried (failed: boolean)*/
82-
memberSetInvited: (pubkeyHex: PubkeyType, failed: boolean) => void;
81+
/**
82+
* A member's invite state defaults to invite-not-sent.
83+
* Use this function to mark that you've failed to send one successfully.
84+
**/
85+
memberSetInviteFailed: (pubkeyHex: PubkeyType) => void;
86+
/**
87+
* A member's invite state defaults to invite-not-sent.
88+
* Use this function to mark that you've sent one successfully.
89+
**/
90+
memberSetInviteSent: (pubkeyHex: PubkeyType) => void;
8391
/** User has accepted an invitation and is now a regular member of the group */
84-
memberSetAccepted: (pubkeyHex: PubkeyType) => void;
92+
memberSetInviteAccepted: (pubkeyHex: PubkeyType) => void;
8593

8694
/** Mark the member as waiting a promotion to be sent to them */
8795
memberSetPromoted: (pubkeyHex: PubkeyType) => void;

types/groups/metagroup.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,14 @@ declare module 'libsession_util_nodejs' {
9292
public memberConstructAndSet: MetaGroupWrapper['memberConstructAndSet'];
9393
public memberGetAll: MetaGroupWrapper['memberGetAll'];
9494
public memberGetAllPendingRemovals: MetaGroupWrapper['memberGetAllPendingRemovals'];
95-
public memberSetAccepted: MetaGroupWrapper['memberSetAccepted'];
95+
public memberSetInviteAccepted: MetaGroupWrapper['memberSetInviteAccepted'];
9696
public memberSetNameTruncated: MetaGroupWrapper['memberSetNameTruncated'];
9797
public memberSetPromoted: MetaGroupWrapper['memberSetPromoted'];
9898
public memberSetPromotionAccepted: MetaGroupWrapper['memberSetPromotionAccepted'];
9999
public memberSetPromotionSent: MetaGroupWrapper['memberSetPromotionSent'];
100100
public memberSetPromotionFailed: MetaGroupWrapper['memberSetPromotionFailed'];
101-
public memberSetInvited: MetaGroupWrapper['memberSetInvited'];
101+
public memberSetInviteSent: MetaGroupWrapper['memberSetInviteSent'];
102+
public memberSetInviteFailed: MetaGroupWrapper['memberSetInviteFailed'];
102103
public memberEraseAndRekey: MetaGroupWrapper['memberEraseAndRekey'];
103104
public membersMarkPendingRemoval: MetaGroupWrapper['membersMarkPendingRemoval'];
104105
public memberSetProfilePicture: MetaGroupWrapper['memberSetProfilePicture'];
@@ -139,13 +140,14 @@ declare module 'libsession_util_nodejs' {
139140
| MakeActionCall<MetaGroupWrapper, 'memberConstructAndSet'>
140141
| MakeActionCall<MetaGroupWrapper, 'memberGetAll'>
141142
| MakeActionCall<MetaGroupWrapper, 'memberGetAllPendingRemovals'>
142-
| MakeActionCall<MetaGroupWrapper, 'memberSetAccepted'>
143+
| MakeActionCall<MetaGroupWrapper, 'memberSetInviteAccepted'>
143144
| MakeActionCall<MetaGroupWrapper, 'memberSetNameTruncated'>
144145
| MakeActionCall<MetaGroupWrapper, 'memberSetPromoted'>
145146
| MakeActionCall<MetaGroupWrapper, 'memberSetPromotionFailed'>
146147
| MakeActionCall<MetaGroupWrapper, 'memberSetPromotionSent'>
147148
| MakeActionCall<MetaGroupWrapper, 'memberSetPromotionAccepted'>
148-
| MakeActionCall<MetaGroupWrapper, 'memberSetInvited'>
149+
| MakeActionCall<MetaGroupWrapper, 'memberSetInviteSent'>
150+
| MakeActionCall<MetaGroupWrapper, 'memberSetInviteFailed'>
149151
| MakeActionCall<MetaGroupWrapper, 'memberEraseAndRekey'>
150152
| MakeActionCall<MetaGroupWrapper, 'membersMarkPendingRemoval'>
151153
| MakeActionCall<MetaGroupWrapper, 'memberSetProfilePicture'>

0 commit comments

Comments
 (0)