Package: telegram-desktop
Version: 4.6.5+ds-2+b1
Severity: wishlist
Tags: patch
X-Debbugs-Cc: [email protected]
Telegram allows sharing links with location. Telegram-desktop currently
invokes Google Maps on those coordinates when clicked.
To better protect user privacy, it is better to use OpenStreetMap (like e.g.
Telegram-FOSS mobile app already does)
The attached patch changes telegram-desktop so. Tested on Debian Stable
(Bookworm) telegram-desktop 4.6.5+ds-2+b1, but applies to Sid version
telegram-desktop_4.14.9+ds-1.1 too.
-- Package-specific info:
-- System Information:
Debian Release: 12.11
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-37-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_USER
Locale: LANG=hr_HR.UTF-8, LC_CTYPE=hr_HR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled
Versions of packages telegram-desktop depends on:
ii libabsl20220623 20220623.1-1+deb12u2
ii libavcodec59 7:5.1.6-0+deb12u1
ii libavformat59 7:5.1.6-0+deb12u1
ii libavutil57 7:5.1.6-0+deb12u1
ii libc6 2.36-9+deb12u10
ii libgcc-s1 12.2.0-14+deb12u1
ii libglib2.0-0 2.74.6-2+deb12u6
ii libglibmm-2.68-1 2.74.0-2
ii libhunspell-1.7-0 1.7.1-1
ii libjpeg62-turbo 1:2.1.5-2
ii libkf5coreaddons5 5.103.0-1
ii liblz4-1 1.9.4-1
ii libminizip1 1.1-8+deb12u1
ii libopenal1 1:1.19.1-2
ii libopus0 1.3.1-3
ii libqrcodegencpp1 1.8.0-1.1
ii libqt5core5a [qtbase-abi-5-15-8] 5.15.8+dfsg-11+deb12u3
ii libqt5gui5 5.15.8+dfsg-11+deb12u3
ii libqt5network5 5.15.8+dfsg-11+deb12u3
ii libqt5qml5 5.15.8+dfsg-3
ii libqt5quickwidgets5 5.15.8+dfsg-3
ii libqt5svg5 5.15.8-3
ii libqt5waylandcompositor5 5.15.8-2
ii libqt5widgets5 5.15.8+dfsg-11+deb12u3
ii librlottie0-1 0.1+dfsg-4
ii libsigc++-3.0-0 3.4.0-1
ii libsrtp2-1 2.5.0-3
ii libssl3 3.0.17-1~deb12u1
ii libstdc++6 12.2.0-14+deb12u1
ii libswresample4 7:5.1.6-0+deb12u1
ii libswscale6 7:5.1.6-0+deb12u1
ii libvpx7 1.12.0-1+deb12u4
ii libwayland-client0 1.21.0-1
ii libx11-6 2:1.8.4-2+deb12u2
ii libxcb-keysyms1 0.4.0-1+b2
ii libxcb-record0 1.15-1
ii libxcb-screensaver0 1.15-1
ii libxcb1 1.15-1
ii libxcomposite1 1:0.4.5-1
ii libxdamage1 1:1.1.6-1
ii libxext6 2:1.3.4-1+b1
ii libxfixes3 1:6.0.0-2
ii libxrandr2 2:1.5.2-2+b1
ii libxtst6 2:1.2.3-1.1
ii libxxhash0 0.8.1-1
ii qt5-image-formats-plugins 5.15.8-2
ii zlib1g 1:1.2.13.dfsg-1
Versions of packages telegram-desktop recommends:
ii fonts-open-sans 1.11-2
ii libwebkit2gtk-4.0-37 2.48.3-1~deb12u1
ii libwebkit2gtk-4.1-0 2.48.3-1~deb12u1
telegram-desktop suggests no packages.
Versions of packages telegram-desktop is related to:
pn xdg-desktop-portal <none>
pn xdg-desktop-portal-backend <none>
-- no debconf information
[2025.08.05 21:39:38] Launched version: 4006005, install beta: [FALSE], alpha:
0, debug mode: [FALSE]
[2025.08.05 21:39:38] Executable dir: /usr/bin/, name: telegram-desktop
[2025.08.05 21:39:38] Initial working dir: /home/mnalis/
[2025.08.05 21:39:38] Working dir: /home/mnalis/.local/share/TelegramDesktop/
[2025.08.05 21:39:38] Command line: telegram-desktop
[2025.08.05 21:39:38] Executable path before check: /usr/bin/telegram-desktop
[2025.08.05 21:39:38] Logs started
[2025.08.05 21:39:38] Launcher filename: org.telegram.desktop.desktop
[2025.08.05 21:39:38] We use allocator from /lib/x86_64-linux-gnu/libc.so.6
[2025.08.05 21:39:38] Connecting local socket to
/tmp/3fa1c7460146110cf75b1878c93448c7-{87A94AB0-E370-4cde-98D3-ACC110C5967D}...
[2025.08.05 21:39:38] This is the only instance of Telegram, starting server
and app...
[2025.08.05 21:39:38] Moved logging from
'/home/mnalis/.local/share/TelegramDesktop/log_start0.txt' to
'/home/mnalis/.local/share/TelegramDesktop/log.txt'!
[2025.08.05 21:39:38] Global devicePixelRatio: 2
[2025.08.05 21:39:38] QT_DPI_ADJUSTMENT_POLICY: AdjustDpi
[2025.08.05 21:39:38] Primary screen DPI: 90.3111, Base: 96.
[2025.08.05 21:39:38] Computed screen scale: 95
[2025.08.05 21:39:38] DevicePixelRatio: 2
[2025.08.05 21:39:38] ScreenScale: 95
[2025.08.05 21:39:38] System tray available: [TRUE]
[2025.08.05 21:39:38] Icon theme: hicolor
[2025.08.05 21:39:38] Fallback icon theme: hicolor
[2025.08.05 21:39:38] App Info: reading settings...
[2025.08.05 21:39:38] App Info: reading encrypted settings...
[2025.08.05 21:39:38] Lang Info: Loaded cached, keys: 9073
[2025.08.05 21:39:38] OpenAL Logging Level: (not set)
[2025.08.05 21:39:38] Audio Playback Devices: ALSA Default;HDA Intel PCH,
ALC3204 Analog (CARD=PCH,DEV=0);HDA Intel PCH, HDMI 0 (CARD=PCH,DEV=3);HDA
Intel PCH, HDMI 1 (CARD=PCH,DEV=7);HDA Intel PCH, HDMI 2 (CARD=PCH,DEV=8);HDA
Intel PCH, HDMI 3 (CARD=PCH,DEV=9)
[2025.08.05 21:39:38] Audio Playback Default Device: ALSA Default
[2025.08.05 21:39:38] Audio Capture Devices: ALSA Default;HDA Intel PCH,
ALC3204 Analog (CARD=PCH,DEV=0)
[2025.08.05 21:39:38] Audio Capture Default Device: ALSA Default
[2025.08.05 21:39:38] App Info: reading accounts info...
[2025.08.05 21:39:38] App Info: reading encrypted info...
[2025.08.05 21:39:38] App Info: reading map...
[2025.08.05 21:39:38] App Info: reading encrypted map...
[2025.08.05 21:39:38] App Info: reading encrypted user settings...
[2025.08.05 21:39:38] App Info: encrypted user settings read.
[2025.08.05 21:39:38] App Info: reading encrypted mtp data...
[2025.08.05 21:39:38] MTP Info: read keys, current: 5, to destroy: 0
[2025.08.05 21:39:38] Map read time: 2
[2025.08.05 21:39:38] App Info: reading encrypted mtp config...
[2025.08.05 21:39:38] Export Info: Destroy top bar by controller removal.
[2025.08.05 21:39:38] OpenGL: Force-disabled.
[2025.08.05 21:39:38] OpenGL: [FALSE] (Window)
commit 1c3474f2dad92a2b8ee1a388a46363d6d210ea1b
Author: Matija Nalis <[email protected]>
Date: Wed Jul 9 03:04:50 2025 +0200
convert GoogleMaps links to OpenStreetMap links
diff --git a/Telegram/SourceFiles/export/output/export_output_html.cpp
b/Telegram/SourceFiles/export/output/export_output_html.cpp
index 23ec0ae..25245a5 100644
--- a/Telegram/SourceFiles/export/output/export_output_html.cpp
+++ b/Telegram/SourceFiles/export/output/export_output_html.cpp
@@ -1805,13 +1805,10 @@ MediaData HtmlWriter::Wrap::prepareMediaData(
if (data.valid) {
const auto latitude = NumberToString(data.latitude);
const auto longitude = NumberToString(data.longitude);
- const auto coords = latitude + ',' + longitude;
+ const auto coords = latitude + '/' + longitude;
result.status = latitude + ", " + longitude;
- result.link = "https://maps.google.com/maps?q="
- + coords
- + "&ll="
- + coords
- + "&z=16";
+ result.link = "https://www.openstreetmap.org/#map=16/"
+ + coords;
}
}, [&](const Venue &data) {
result.classes = "media_venue";
@@ -1821,11 +1818,8 @@ MediaData HtmlWriter::Wrap::prepareMediaData(
const auto latitude =
NumberToString(data.point.latitude);
const auto longitude =
NumberToString(data.point.longitude);
const auto coords = latitude + ',' + longitude;
- result.link = "https://maps.google.com/maps?q="
- + coords
- + "&ll="
- + coords
- + "&z=16";
+ result.link = "https://www.openstreetmap.org/#map=16/"
+ + coords;
}
}, [&](const Game &data) {
result.classes = "media_game";
diff --git a/Telegram/SourceFiles/history/history_location_manager.cpp
b/Telegram/SourceFiles/history/history_location_manager.cpp
index 7810460..54eb1a3 100644
--- a/Telegram/SourceFiles/history/history_location_manager.cpp
+++ b/Telegram/SourceFiles/history/history_location_manager.cpp
@@ -33,10 +33,7 @@ void LocationClickHandler::setup() {
}
QString LocationClickHandler::Url(const Data::LocationPoint &point) {
- const auto latlon = point.latAsString() + ',' + point.lonAsString();
- return u"https://maps.google.com/maps?q="_q
- + latlon
- + u"&ll="_q
- + latlon
- + u"&z=16"_q;
+ const auto latlon = point.latAsString() + '/' + point.lonAsString();
+ return u"https://www.openstreetmap.org/#map=16/"_q
+ + latlon;
}