mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
Prevent recursive issue when client is disposed in OnOther
This commit is contained in:
parent
865c841bd6
commit
85cc404213
2
FAQ.md
2
FAQ.md
|
|
@ -59,7 +59,7 @@ You also need to obtain their `access_hash` which is specific to the resource yo
|
|||
This serves as a proof that the logged-in user is entitled to access that channel/user/photo/document/...
|
||||
(otherwise, anybody with the ID could access it)
|
||||
|
||||
> A small private `Chat` don't need an access_hash and can be queried using their `chat_id` only.
|
||||
> A small private group `Chat` don't need an access_hash and can be queried using their `chat_id` only.
|
||||
However most common chat groups are not `Chat` but a `Channel` supergroup (without the `broadcast` flag). See [Terminology in ReadMe](README.md#terminology).
|
||||
Some TL methods only applies to private `Chat`, some only applies to `Channel` and some to both.
|
||||
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ namespace WTelegram
|
|||
{
|
||||
Helpers.Log(2, $"{_dcSession.DcID}>Disposing the client");
|
||||
Reset(false, IsMainDC);
|
||||
var ex = new TaskCanceledException("WTelegram.Client was disposed");
|
||||
var ex = new ObjectDisposedException("WTelegram.Client was disposed");
|
||||
lock (_pendingRpcs) // abort all pending requests
|
||||
foreach (var rpc in _pendingRpcs.Values)
|
||||
rpc.tcs.TrySetException(ex);
|
||||
|
|
@ -349,7 +349,7 @@ namespace WTelegram
|
|||
lock (_pendingRpcs) // retry all pending requests
|
||||
{
|
||||
foreach (var rpc in _pendingRpcs.Values)
|
||||
rpc.tcs.SetResult(reactorError); // this leads to a retry (see Invoke<T> method)
|
||||
rpc.tcs.TrySetResult(reactorError); // this leads to a retry (see Invoke<T> method)
|
||||
_pendingRpcs.Clear();
|
||||
_bareRpc = null;
|
||||
}
|
||||
|
|
@ -359,7 +359,7 @@ namespace WTelegram
|
|||
RaiseUpdates(updatesState);
|
||||
}
|
||||
}
|
||||
catch
|
||||
catch (Exception e) when (e is not ObjectDisposedException)
|
||||
{
|
||||
if (IsMainDC)
|
||||
RaiseUpdates(reactorError);
|
||||
|
|
@ -947,7 +947,8 @@ namespace WTelegram
|
|||
}
|
||||
finally
|
||||
{
|
||||
lock (_session) _session.Save();
|
||||
if (_reactorTask != null) // client not disposed
|
||||
lock (_session) _session.Save();
|
||||
}
|
||||
Helpers.Log(2, $"Connected to {(TLConfig.test_mode ? "Test DC" : "DC")} {TLConfig.this_dc}... {TLConfig.flags & (Config.Flags)~0x18E00U}");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,10 @@
|
|||
<PackageId>WTelegramClient</PackageId>
|
||||
<Version>0.0.0</Version>
|
||||
<Authors>Wizou</Authors>
|
||||
<Description>Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 181 Release Notes: $(ReleaseNotes.Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</Description>
|
||||
<Description>Telegram Client API (MTProto) library written 100% in C# and .NET Standard | Latest API layer: 181
|
||||
|
||||
Release Notes:
|
||||
$(ReleaseNotes.Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</Description>
|
||||
<Copyright>Copyright © Olivier Marcoux 2021-2024</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageProjectUrl>https://wiz0u.github.io/WTelegramClient</PackageProjectUrl>
|
||||
|
|
@ -48,7 +51,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
||||
<PackageReference Include="IndexRange" Version="1.0.2" />
|
||||
<PackageReference Include="IndexRange" Version="1.0.3" />
|
||||
<PackageReference Include="System.Memory" Version="4.5.5" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.5" />
|
||||
<PackageReference Include="System.Collections.Immutable" Version="6.0.0" />
|
||||
|
|
|
|||
Loading…
Reference in a new issue