Fix typos. (#2641)
This commit is contained in:
parent
6c0722ed2e
commit
50c3bf2e4f
@ -63,7 +63,7 @@ You can also check out [example/python/tdjson_example.py](https://github.com/tdl
|
|||||||
TDLib can be compiled to WebAssembly or asm.js and used in a browser from JavaScript. See [tdweb](https://github.com/tdlib/td/tree/master/example/web) as a convenient wrapper for TDLib in a browser
|
TDLib can be compiled to WebAssembly or asm.js and used in a browser from JavaScript. See [tdweb](https://github.com/tdlib/td/tree/master/example/web) as a convenient wrapper for TDLib in a browser
|
||||||
and [telegram-react](https://github.com/evgeny-nadymov/telegram-react) as an example of a TDLib-based Telegram client.
|
and [telegram-react](https://github.com/evgeny-nadymov/telegram-react) as an example of a TDLib-based Telegram client.
|
||||||
|
|
||||||
See also [Svelte-tdweb-starter](https://github.com/gennadypolakov/svelte-tdweb-starter) - Svelte wrapper for tdweb, and [Telegram-Photoframe](https://github.com/lukefx/telegram-photoframe) - a web application that displays your prefered group or channel as Photoframe.
|
See also [Svelte-tdweb-starter](https://github.com/gennadypolakov/svelte-tdweb-starter) - Svelte wrapper for tdweb, and [Telegram-Photoframe](https://github.com/lukefx/telegram-photoframe) - a web application that displays your preferred group or channel as Photoframe.
|
||||||
|
|
||||||
TDLib can be used from Node.js through the [JSON](https://github.com/tdlib/td#using-json) interface.
|
TDLib can be used from Node.js through the [JSON](https://github.com/tdlib/td#using-json) interface.
|
||||||
|
|
||||||
|
@ -1201,7 +1201,7 @@ messageReplyToStory story_sender_chat_id:int53 story_id:int32 = MessageReplyTo;
|
|||||||
//@reply_to Information about the message or the story this message is replying to; may be null if none
|
//@reply_to Information about the message or the story this message is replying to; may be null if none
|
||||||
//@message_thread_id If non-zero, the identifier of the message thread the message belongs to; unique within the chat to which the message belongs
|
//@message_thread_id If non-zero, the identifier of the message thread the message belongs to; unique within the chat to which the message belongs
|
||||||
//@self_destruct_type The message's self-destruct type; may be null if none
|
//@self_destruct_type The message's self-destruct type; may be null if none
|
||||||
//@self_destruct_in Time left before the message self-destruct timer expires, in seconds; 0 if self-desctruction isn't scheduled yet
|
//@self_destruct_in Time left before the message self-destruct timer expires, in seconds; 0 if self-destruction isn't scheduled yet
|
||||||
//@auto_delete_in Time left before the message will be automatically deleted by message_auto_delete_time setting of the chat, in seconds; 0 if never
|
//@auto_delete_in Time left before the message will be automatically deleted by message_auto_delete_time setting of the chat, in seconds; 0 if never
|
||||||
//@via_bot_user_id If non-zero, the user identifier of the bot through which this message was sent
|
//@via_bot_user_id If non-zero, the user identifier of the bot through which this message was sent
|
||||||
//@author_signature For channel posts and anonymous group messages, optional author signature
|
//@author_signature For channel posts and anonymous group messages, optional author signature
|
||||||
|
@ -512,7 +512,7 @@ void AutosaveManager::set_autosave_settings(td_api::object_ptr<td_api::AutosaveS
|
|||||||
->send(users, chats, broadcasts, dialog_id, new_settings.get_input_auto_save_settings());
|
->send(users, chats, broadcasts, dialog_id, new_settings.get_input_auto_save_settings());
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutosaveManager::clear_autosave_settings_excpetions(Promise<Unit> &&promise) {
|
void AutosaveManager::clear_autosave_settings_exceptions(Promise<Unit> &&promise) {
|
||||||
if (!settings_.are_inited_) {
|
if (!settings_.are_inited_) {
|
||||||
return promise.set_error(Status::Error(400, "Autosave settings must be loaded first"));
|
return promise.set_error(Status::Error(400, "Autosave settings must be loaded first"));
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ class AutosaveManager final : public Actor {
|
|||||||
void set_autosave_settings(td_api::object_ptr<td_api::AutosaveSettingsScope> &&scope,
|
void set_autosave_settings(td_api::object_ptr<td_api::AutosaveSettingsScope> &&scope,
|
||||||
td_api::object_ptr<td_api::scopeAutosaveSettings> &&settings, Promise<Unit> &&promise);
|
td_api::object_ptr<td_api::scopeAutosaveSettings> &&settings, Promise<Unit> &&promise);
|
||||||
|
|
||||||
void clear_autosave_settings_excpetions(Promise<Unit> &&promise);
|
void clear_autosave_settings_exceptions(Promise<Unit> &&promise);
|
||||||
|
|
||||||
void get_current_state(vector<td_api::object_ptr<td_api::Update>> &updates) const;
|
void get_current_state(vector<td_api::object_ptr<td_api::Update>> &updates) const;
|
||||||
|
|
||||||
|
@ -5520,7 +5520,7 @@ unique_ptr<MessageContent> get_action_message_content(Td *td, tl_object_ptr<tele
|
|||||||
auto action = move_tl_object_as<telegram_api::messageActionPaymentSent>(action_ptr);
|
auto action = move_tl_object_as<telegram_api::messageActionPaymentSent>(action_ptr);
|
||||||
if (!reply_to_message_id.is_valid()) {
|
if (!reply_to_message_id.is_valid()) {
|
||||||
if (reply_to_message_id != MessageId()) {
|
if (reply_to_message_id != MessageId()) {
|
||||||
LOG(ERROR) << "Receive succesful payment message with " << reply_to_message_id << " in " << owner_dialog_id;
|
LOG(ERROR) << "Receive successful payment message with " << reply_to_message_id << " in " << owner_dialog_id;
|
||||||
}
|
}
|
||||||
reply_in_dialog_id = DialogId();
|
reply_in_dialog_id = DialogId();
|
||||||
reply_to_message_id = MessageId();
|
reply_to_message_id = MessageId();
|
||||||
|
@ -28594,7 +28594,7 @@ void MessagesManager::upload_imported_message_attachment(DialogId dialog_id, int
|
|||||||
bool is_reupload, Promise<Unit> &&promise,
|
bool is_reupload, Promise<Unit> &&promise,
|
||||||
vector<int> bad_parts) {
|
vector<int> bad_parts) {
|
||||||
CHECK(file_id.is_valid());
|
CHECK(file_id.is_valid());
|
||||||
LOG(INFO) << "Ask to upload improted message attached file " << file_id;
|
LOG(INFO) << "Ask to upload imported message attached file " << file_id;
|
||||||
auto info =
|
auto info =
|
||||||
td::make_unique<UploadedImportedMessageAttachmentInfo>(dialog_id, import_id, is_reupload, std::move(promise));
|
td::make_unique<UploadedImportedMessageAttachmentInfo>(dialog_id, import_id, is_reupload, std::move(promise));
|
||||||
bool is_inserted = being_uploaded_imported_message_attachments_.emplace(file_id, std::move(info)).second;
|
bool is_inserted = being_uploaded_imported_message_attachments_.emplace(file_id, std::move(info)).second;
|
||||||
@ -31607,7 +31607,7 @@ void MessagesManager::set_dialog_background(Dialog *d, BackgroundInfo &&backgrou
|
|||||||
d->is_background_inited = true;
|
d->is_background_inited = true;
|
||||||
|
|
||||||
if (is_changed) {
|
if (is_changed) {
|
||||||
LOG(INFO) << "Set " << d->dialog_id << " backgroud to " << d->background_info;
|
LOG(INFO) << "Set " << d->dialog_id << " background to " << d->background_info;
|
||||||
send_update_chat_background(d);
|
send_update_chat_background(d);
|
||||||
} else {
|
} else {
|
||||||
on_dialog_updated(d->dialog_id, "set_dialog_background");
|
on_dialog_updated(d->dialog_id, "set_dialog_background");
|
||||||
|
@ -485,7 +485,7 @@ class SecretChatActor final : public NetQueryCallback {
|
|||||||
// 3. Then, we are able to ERASE EVENT just AFTER the CHANGE is SAVED to the binlog.
|
// 3. Then, we are able to ERASE EVENT just AFTER the CHANGE is SAVED to the binlog.
|
||||||
//
|
//
|
||||||
// Actually the change will be saved to binlog too.
|
// Actually the change will be saved to binlog too.
|
||||||
// So we can do it immediatelly after EVENT is SENT to the binlog, because SEND CHANGE and ERASE EVENT will be
|
// So we can do it immediately after EVENT is SENT to the binlog, because SEND CHANGE and ERASE EVENT will be
|
||||||
// ordered automatically.
|
// ordered automatically.
|
||||||
//
|
//
|
||||||
// We will use common ChangesProcessor for all changes (inside one SecretChatActor).
|
// We will use common ChangesProcessor for all changes (inside one SecretChatActor).
|
||||||
|
@ -3780,7 +3780,7 @@ void Td::init(Parameters parameters, Result<TdDb::OpenedDatabase> r_opened_datab
|
|||||||
//
|
//
|
||||||
// 3. During replay of binlog some queries may be sent to other actors. They shouldn't process such events before all
|
// 3. During replay of binlog some queries may be sent to other actors. They shouldn't process such events before all
|
||||||
// their binlog events are processed. So actor may receive some old queries. It must be in its actual state in
|
// their binlog events are processed. So actor may receive some old queries. It must be in its actual state in
|
||||||
// orded to handle them properly.
|
// order to handle them properly.
|
||||||
//
|
//
|
||||||
// -- Use send_closure_later, so actors don't even start process binlog events, before all binlog events are sent
|
// -- Use send_closure_later, so actors don't even start process binlog events, before all binlog events are sent
|
||||||
|
|
||||||
@ -5070,7 +5070,7 @@ void Td::on_request(uint64 id, td_api::setAutosaveSettings &request) {
|
|||||||
void Td::on_request(uint64 id, const td_api::clearAutosaveSettingsExceptions &request) {
|
void Td::on_request(uint64 id, const td_api::clearAutosaveSettingsExceptions &request) {
|
||||||
CHECK_IS_USER();
|
CHECK_IS_USER();
|
||||||
CREATE_OK_REQUEST_PROMISE();
|
CREATE_OK_REQUEST_PROMISE();
|
||||||
autosave_manager_->clear_autosave_settings_excpetions(std::move(promise));
|
autosave_manager_->clear_autosave_settings_exceptions(std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, const td_api::getTopChats &request) {
|
void Td::on_request(uint64 id, const td_api::getTopChats &request) {
|
||||||
|
@ -172,7 +172,7 @@ string strip_empty_characters(string str, size_t max_length, bool strip_rtlo) {
|
|||||||
}();
|
}();
|
||||||
CHECK(can_be_first_inited);
|
CHECK(can_be_first_inited);
|
||||||
|
|
||||||
// replace all occurences of space characters with a space
|
// replace all occurrences of space characters with a space
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
while (i < str.size() && !can_be_first[static_cast<unsigned char>(str[i])]) {
|
while (i < str.size() && !can_be_first[static_cast<unsigned char>(str[i])]) {
|
||||||
i++;
|
i++;
|
||||||
|
@ -166,7 +166,7 @@ TEST(Actors, simple_pass_event_arguments) {
|
|||||||
|
|
||||||
// Var-->LvalueRef
|
// Var-->LvalueRef
|
||||||
// Var-->LvalueRef (Delayed)
|
// Var-->LvalueRef (Delayed)
|
||||||
// CE or stange behaviour
|
// CE or strange behaviour
|
||||||
|
|
||||||
// Var-->Value
|
// Var-->Value
|
||||||
sb.clear();
|
sb.clear();
|
||||||
|
@ -102,7 +102,7 @@ void HttpConnectionBase::loop() {
|
|||||||
LOG(DEBUG) << "Can read from the connection";
|
LOG(DEBUG) << "Can read from the connection";
|
||||||
auto r = fd_.flush_read();
|
auto r = fd_.flush_read();
|
||||||
if (r.is_error()) {
|
if (r.is_error()) {
|
||||||
if (!begins_with(r.error().message(), "SSL error {336134278")) { // if error is not yet outputed
|
if (!begins_with(r.error().message(), "SSL error {336134278")) { // if error is not yet outputted
|
||||||
LOG(INFO) << "Receive flush_read error: " << r.error();
|
LOG(INFO) << "Receive flush_read error: " << r.error();
|
||||||
}
|
}
|
||||||
on_error(Status::Error(r.error().public_message()));
|
on_error(Status::Error(r.error().public_message()));
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
// A simple wrapper for absl::flat_hash_map, std::unordered_map and probably some our implementaion of hash map in
|
// A simple wrapper for absl::flat_hash_map, std::unordered_map and probably some our implementation of hash map in
|
||||||
// the future
|
// the future
|
||||||
|
|
||||||
// We will introduce out own Hashing utility like an absl one.
|
// We will introduce out own Hashing utility like an absl one.
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
// It is draft object pool implementaion
|
// It is draft object pool implementation
|
||||||
//
|
//
|
||||||
// Compared with std::shared_ptr:
|
// Compared with std::shared_ptr:
|
||||||
// + WeakPtr are much faster. Just pointer copy. No barriers, no atomics.
|
// + WeakPtr are much faster. Just pointer copy. No barriers, no atomics.
|
||||||
|
@ -28,7 +28,7 @@ Status write_file(CSlice to, Slice data, WriteFileOptions options = {}) TD_WARN_
|
|||||||
|
|
||||||
string clean_filename(CSlice name);
|
string clean_filename(CSlice name);
|
||||||
|
|
||||||
// writes data to file and ensures that the file is either fully overriden, or is left intact
|
// writes data to file and ensures that the file is either fully overridden, or is left intact
|
||||||
// uses path_tmp to temporary store data, then calls rename
|
// uses path_tmp to temporary store data, then calls rename
|
||||||
Status atomic_write_file(CSlice path, Slice data, CSlice path_tmp = {});
|
Status atomic_write_file(CSlice path, Slice data, CSlice path_tmp = {});
|
||||||
|
|
||||||
|
@ -578,7 +578,7 @@ Status get_socket_pending_error(const NativeFd &fd, WSAOVERLAPPED *overlapped, S
|
|||||||
DWORD flags = 0;
|
DWORD flags = 0;
|
||||||
BOOL success = WSAGetOverlappedResult(fd.socket(), overlapped, &num_bytes, false, &flags);
|
BOOL success = WSAGetOverlappedResult(fd.socket(), overlapped, &num_bytes, false, &flags);
|
||||||
if (success) {
|
if (success) {
|
||||||
LOG(ERROR) << "WSAGetOverlappedResult succeded after " << iocp_error;
|
LOG(ERROR) << "WSAGetOverlappedResult succeeded after " << iocp_error;
|
||||||
return iocp_error;
|
return iocp_error;
|
||||||
}
|
}
|
||||||
return OS_SOCKET_ERROR(PSLICE() << "Error on " << fd);
|
return OS_SOCKET_ERROR(PSLICE() << "Error on " << fd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user