Browse Source

fix change group name

pull/18/head v0.5.0
Sun 4 years ago
parent
commit
68c44772b1
  1. 14
      pubspec.lock
  2. 2
      src/account.rs
  3. 6
      src/apps/group/layer.rs
  4. 2
      src/apps/group/rpc.rs

14
pubspec.lock

@ -322,7 +322,7 @@ packages:
name: flutter_quill name: flutter_quill
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.5.1" version: "3.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -386,7 +386,7 @@ packages:
name: i18n_extension name: i18n_extension
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.1.3" version: "4.2.0"
image: image:
dependency: transitive dependency: transitive
description: description:
@ -524,7 +524,7 @@ packages:
name: path_provider_android name: path_provider_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.9" version: "2.0.11"
path_provider_ios: path_provider_ios:
dependency: transitive dependency: transitive
description: description:
@ -921,21 +921,21 @@ packages:
name: video_player name: video_player
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.8" version: "2.2.10"
video_player_platform_interface: video_player_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: video_player_platform_interface name: video_player_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.0" version: "5.0.0"
video_player_web: video_player_web:
dependency: transitive dependency: transitive
description: description:
name: video_player_web name: video_player_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.4" version: "2.0.5"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
@ -970,7 +970,7 @@ packages:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.3.1" version: "2.3.3"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:

2
src/account.rs

@ -83,7 +83,7 @@ impl Account {
Account { Account {
id: 0, id: 0,
pub_height: 0, pub_height: 1,
own_height: 0, own_height: 0,
wallet: String::new(), wallet: String::new(),
event: EventId::default(), event: EventId::default(),

6
src/apps/group/layer.rs

@ -253,8 +253,10 @@ async fn handle_server_event(
// 3. broadcast offline event. // 3. broadcast offline event.
broadcast(&LayerEvent::MemberOffline(gcd, fgid), layer, &gcd, results).await?; broadcast(&LayerEvent::MemberOffline(gcd, fgid), layer, &gcd, results).await?;
} }
LayerEvent::GroupName(_gcd, name) => { LayerEvent::GroupName(gcd, name) => {
// 1. update group name
let _ = GroupChat::update_name(&db, &id, &name)?; let _ = GroupChat::update_name(&db, &id, &name)?;
// 2. UI: update
results.rpcs.push(rpc::group_name(ogid, &id, &name)); results.rpcs.push(rpc::group_name(ogid, &id, &name));
if let Ok(sid) = Session::update_name_by_id( if let Ok(sid) = Session::update_name_by_id(
&session_db(&base, &ogid)?, &session_db(&base, &ogid)?,
@ -264,6 +266,8 @@ async fn handle_server_event(
) { ) {
results.rpcs.push(session_update_name(ogid, &sid, &name)); results.rpcs.push(session_update_name(ogid, &sid, &name));
} }
// 3. broadcast
broadcast(&LayerEvent::GroupName(gcd, name), layer, &gcd, results).await?;
} }
LayerEvent::Sync(gcd, _, event) => { LayerEvent::Sync(gcd, _, event) => {
match event { match event {

2
src/apps/group/rpc.rs

@ -290,6 +290,7 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) {
let g = GroupChat::get(&db, &id)?; let g = GroupChat::get(&db, &id)?;
let d = bincode::serialize(&LayerEvent::GroupName(g.g_id, name.to_owned()))?; let d = bincode::serialize(&LayerEvent::GroupName(g.g_id, name.to_owned()))?;
if g.local {
if let Ok(sid) = Session::update_name_by_id( if let Ok(sid) = Session::update_name_by_id(
&session_db(&base, &gid)?, &session_db(&base, &gid)?,
&id, &id,
@ -299,7 +300,6 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) {
results.rpcs.push(session_update_name(gid, &sid, &name)); results.rpcs.push(session_update_name(gid, &sid, &name));
} }
if g.local {
results.rpcs.push(json!([id, name])); results.rpcs.push(json!([id, name]));
// dissolve group. // dissolve group.
for (mgid, maddr) in state.layer.read().await.running(&g.g_id)?.onlines() { for (mgid, maddr) in state.layer.read().await.running(&g.g_id)?.onlines() {

Loading…
Cancel
Save