Skip to content

Commit 0877d7f

Browse files
committed
Automatically detect operating system version.
GitOrigin-RevId: d693799fdbfe4919da5a70c141709f2db93063d7
1 parent 2172c71 commit 0877d7f

13 files changed

Lines changed: 18 additions & 22 deletions

File tree

‎example/cpp/td_example.cpp‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,6 @@ class TdExample {
291291
parameters->api_hash_ = "a3406de8d171bb422bb6ddf3bbd800e2";
292292
parameters->system_language_code_ = "en";
293293
parameters->device_model_ = "Desktop";
294-
parameters->system_version_ = "Unknown";
295294
parameters->application_version_ = "1.0";
296295
parameters->enable_storage_optimizer_ = true;
297296
send_query(td_api::make_object<td_api::setTdlibParameters>(std::move(parameters)),

‎example/csharp/TdExample.cs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ private static void OnAuthorizationStateUpdated(TdApi.AuthorizationState authori
8080
parameters.ApiHash = "a3406de8d171bb422bb6ddf3bbd800e2";
8181
parameters.SystemLanguageCode = "en";
8282
parameters.DeviceModel = "Desktop";
83-
parameters.SystemVersion = "Unknown";
8483
parameters.ApplicationVersion = "1.0";
8584
parameters.EnableStorageOptimizer = true;
8685

‎example/java/org/drinkless/tdlib/example/Example.java‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ private static void onAuthorizationStateUpdated(TdApi.AuthorizationState authori
107107
parameters.apiHash = "a3406de8d171bb422bb6ddf3bbd800e2";
108108
parameters.systemLanguageCode = "en";
109109
parameters.deviceModel = "Desktop";
110-
parameters.systemVersion = "Unknown";
111110
parameters.applicationVersion = "1.0";
112111
parameters.enableStorageOptimizer = true;
113112

‎example/python/tdjson_example.py‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ def td_receive():
106106
'api_hash': 'a3406de8d171bb422bb6ddf3bbd800e2',
107107
'system_language_code': 'en',
108108
'device_model': 'Desktop',
109-
'system_version': 'Linux',
110109
'application_version': '1.0',
111110
'enable_storage_optimizer': True}})
112111

‎example/swift/src/main.swift‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ func updateAuthorizationState(authorizationState: Dictionary<String, Any>) {
117117
"api_hash":"a3406de8d171bb422bb6ddf3bbd800e2",
118118
"system_language_code":"en",
119119
"device_model":"Desktop",
120-
"system_version":"Unknown",
121120
"application_version":"1.0",
122121
"enable_storage_optimizer":true
123122
]

‎example/uwp/app/MainPage.xaml.cs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public MainPage()
4343
parameters.ApiHash = "a3406de8d171bb422bb6ddf3bbd800e2";
4444
parameters.SystemLanguageCode = "en";
4545
parameters.DeviceModel = "Desktop";
46-
parameters.SystemVersion = "Unknown";
4746
parameters.ApplicationVersion = "1.0.0";
4847
_client.Send(new TdApi.SetTdlibParameters(parameters), null);
4948
_client.Send(new TdApi.CheckDatabaseEncryptionKey(), null);

‎td/generate/scheme/td_api.tl‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ ok = Ok;
3434
//@api_hash Application identifier hash for Telegram API access, which can be obtained at https://my.telegram.org
3535
//@system_language_code IETF language tag of the user's operating system language; must be non-empty
3636
//@device_model Model of the device the application is being run on; must be non-empty
37-
//@system_version Version of the operating system the application is being run on; must be non-empty
37+
//@system_version Version of the operating system the application is being run on. If empty, the version is automatically detected by TDLib
3838
//@application_version Application version; must be non-empty
3939
//@enable_storage_optimizer If set to true, old files will automatically be deleted
4040
//@ignore_file_names If set to true, original file names will be ignored. Otherwise, downloaded files will be saved under names as close as possible to the original name

‎td/telegram/Td.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@
118118
#include "td/utils/port/IPAddress.h"
119119
#include "td/utils/port/path.h"
120120
#include "td/utils/port/SocketFd.h"
121+
#include "td/utils/port/uname.h"
121122
#include "td/utils/Random.h"
122123
#include "td/utils/Slice.h"
123124
#include "td/utils/Status.h"
@@ -4676,7 +4677,7 @@ Status Td::set_parameters(td_api::object_ptr<td_api::tdlibParameters> parameters
46764677
return Status::Error(400, "Device model must be non-empty");
46774678
}
46784679
if (options_.system_version.empty()) {
4679-
return Status::Error(400, "System version must be non-empty");
4680+
options_.system_version = get_operating_system_version().str();
46804681
}
46814682
if (options_.application_version.empty()) {
46824683
return Status::Error(400, "Application version must be non-empty");

‎td/telegram/cli.cpp‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@ class CliClient final : public Actor {
407407
parameters->api_hash_ = api_hash_;
408408
parameters->system_language_code_ = "en";
409409
parameters->device_model_ = "Desktop";
410-
parameters->system_version_ = "Unknown";
411410
parameters->application_version_ = "1.0";
412411
send_request(td_api::make_object<td_api::setTdlibParameters>(std::move(parameters)));
413412
break;
@@ -4385,13 +4384,15 @@ void main(int argc, char **argv) {
43854384
return;
43864385
}
43874386
if (!res.ok().empty()) {
4388-
LOG(PLAIN) << "tg_cli: " << "Have unexpected non-option parameters";
4387+
LOG(PLAIN) << "tg_cli: "
4388+
<< "Have unexpected non-option parameters";
43894389
LOG(PLAIN) << options;
43904390
return;
43914391
}
43924392

43934393
if (api_id == 0 || api_hash.empty()) {
4394-
LOG(PLAIN) << "tg_cli: " << "You should provide some valid api_id and api_hash";
4394+
LOG(PLAIN) << "tg_cli: "
4395+
<< "You should provide some valid api_id and api_hash";
43954396
LOG(PLAIN) << options;
43964397
return;
43974398
}

‎tdutils/td/utils/port/uname.cpp‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@
2222

2323
namespace td {
2424

25-
Slice get_operating_system_name() {
25+
Slice get_operating_system_version() {
2626
static string result = []() -> string {
2727
#if TD_PORT_POSIX
2828
#if TD_ANDROID
2929
char version[PROP_VALUE_MAX + 1];
3030
int length = __system_property_get("ro.build.version.release", version);
31-
return length <= 0 ? string("Android") : "Android " + string(version, length);
31+
if (length > 0) {
32+
return "Android " + string(version, length);
33+
}
3234
#else
3335
utsname name;
3436
int err = uname(&name);
@@ -38,8 +40,8 @@ Slice get_operating_system_name() {
3840
return os_name;
3941
}
4042
}
41-
LOG(ERROR) << "Failed to identify OS name; use generic one";
4243
#endif
44+
LOG(ERROR) << "Failed to identify OS name; use generic one";
4345

4446
#if TD_DARWIN_IOS
4547
return "iOS";

0 commit comments

Comments
 (0)