Skip to content

Commit de0be0d

Browse files
committed
fix registration and linking, automatically remove dash from auth code
Properly release the handle when returning to the StartPage, properly reacquire it when finishing link/reg
1 parent 1d9b55f commit de0be0d

File tree

5 files changed

+15
-8
lines changed

5 files changed

+15
-8
lines changed

Signal-Windows.Lib/SignalLibHandle.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,11 @@ await Task.Run(() =>
239239
}
240240
Task.WaitAll(tasks.ToArray());
241241
RecoverDownloads().Wait();
242+
Store = LibsignalDBContext.GetSignalStore();
243+
if (Store != null)
244+
{
245+
LikelyHasValidStore = true;
246+
}
242247
});
243248
if (LikelyHasValidStore)
244249
{

Signal-Windows/App.xaml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ private async Task<bool> CreateMainWindow(string conversationId)
259259
}
260260
else
261261
{
262+
Handle.Release();
262263
rootFrame.Navigate(typeof(StartPage));
263264
}
264265
Window.Current.Activate();

Signal-Windows/ViewModels/FinishRegistrationPageViewModel.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ await Task.Run(() =>
2727
{
2828
string SignalingKey = Base64.encodeBytes(Util.getSecretBytes(52));
2929
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.AccountManager.verifyAccountWithCode(
30-
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.VerificationCode,
30+
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.VerificationCode.Replace("-", ""),
3131
SignalingKey, App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.SignalRegistrationId,
3232
true);
3333
SignalStore store = new SignalStore()
@@ -59,6 +59,8 @@ await Task.Run(() =>
5959
App.Handle.Store = store;
6060
}).AsTask().Wait();
6161
});
62+
var frontend = App.CurrentSignalWindowsFrontend(App.MainViewId);
63+
await App.Handle.Reacquire();
6264
View.Frame.Navigate(typeof(MainPage));
6365
}
6466
catch (Exception e)

Signal-Windows/ViewModels/LinkPageViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ public async Task BeginLinking()
121121

122122
/* reload again with prekeys and their offsets */
123123
store = LibsignalDBContext.GetSignalStore();
124-
Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
124+
Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() =>
125125
{
126126
App.Handle.Store = store;
127-
View.Finish(true);
127+
await View.Finish(true);
128128
}).AsTask().Wait();
129129
});
130130
await LinkingTask;

Signal-Windows/Views/LinkPage.xaml.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Signal_Windows.ViewModels;
2+
using System.Threading.Tasks;
23
using Windows.UI.Xaml.Controls;
34
using Windows.UI.Xaml.Navigation;
45
using ZXing.Mobile;
@@ -53,16 +54,14 @@ public void SetQR(string qr)
5354
QRCode.Source = writer.Write(qr);
5455
}
5556

56-
public void Finish(bool success)
57+
public async Task Finish(bool success)
5758
{
5859
if (success)
5960
{
61+
var frontend = App.CurrentSignalWindowsFrontend(App.MainViewId);
62+
await App.Handle.Reacquire();
6063
Frame.Navigate(typeof(MainPage));
6164
}
6265
}
63-
64-
private void FinishButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
65-
{
66-
}
6766
}
6867
}

0 commit comments

Comments
 (0)