Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΡΡΠΎ, @Moin. Π― Π²Π½Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΠΆΠΈΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°?
Π― ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» ΠΎΠ± ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΠΌΠ΅.
Π― Π·Π°ΠΌΠ΅ΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ°ΠΊ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΉ:
Π― ΡΠΎΠ·Π΄Π°Π» PR Π΄Π»Ρ Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
PR ΡΠ΅ΠΏΠ΅ΡΡ Π²Π»ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ; ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΠΈΠ³Π°Π½!
Π‘ΡΠ°Π» Π»ΠΈ ΡΡΠΎΡ error ΡΠ°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ?
Π’ΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ», Π²ΠΎΡ ΠΈΠ΄Π΅Ρ:
ΠΠ°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΡΠ°Ρ , ΡΡΠΎΠ±Ρ Β«Π½Π°ΠΊΠΎΠΏΠΈΡΡΒ» ΠΈΡ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π°. Π’Π°ΠΊ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π²Π΅ΡΠΊΠΈ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π΅ΡΡΡ ΠΏΡΡΡ ΠΏΠΎΡΡΠΎΠ²:
ΠΠΎΡΡ A
ΠΠΎΡΡ B
ΠΠΎΡΡ C
ΠΠΎΡΡ D
ΠΠΎΡΡ E
ΠΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ D, Π·Π°ΡΠ΅ΠΌ B, Π·Π°ΡΠ΅ΠΌ E. Π Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ:
B
D
E
Π’ΠΎ Π΅ΡΡΡ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ, Π° Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ JavaScript, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π΅Ρ Π² \logs. ΠΠΎΡ Π²Π΅ΡΡΠΈΡ Discourse β 2026.7.0-latest +188
Π― ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΡΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ Discourse, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ main.
ΠΠ° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΡΠ»Ρ ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ±ΠΎΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°: ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ» ΠΌΠΎΠ³Π»Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΏΠ΅Ρ Π° (Π³Π°Π»ΠΎΡΠΊΡ), Ρ ΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ»ΠΎΡΡ. Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»Π° ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΡΠΎ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΠΌΡ/ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Π°Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π·Π° ΠΈΡΠ»Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ» ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ PWA Π² iOS Safari.
Π― ΡΡΠ°Π²Π½ΠΈΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠ»ΡΡΠΊΠΎΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠ΅ΠΉ Discourse ΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ main. Π‘Π°ΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ» Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ, ΠΈ Ρ Π½Π΅ ΡΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²:
clipboardCopy/clipboardCopyAsync- Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
DButton, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΡΡ Π΄Π»Ρ iOS - ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π·Π°Π³Π»ΡΡΠΊΠ΅ (shim)
DButton - ΠΏΡΡΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠ° ΠΌΠ΅Π½Ρ ΠΏΠΎΡΡΠ°
- GET-ΠΏΡΡΠΈ Π²
discourse/lib/ajax
Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΡΡΠΎΠΌΡ ΡΠ΅ΠΊΡΡΡ ΠΏΠΎΡΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°ΡΠ°Π»Π°ΡΡ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ° navigator.clipboard.write() Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠΎΡ ΡΠ΅ΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ» Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ clipboardCopyAsync, ΠΈ Π½Π΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π», Π²ΠΊΠ»ΡΡΠ°Ρ PWA Π² iOS Safari, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡ ΡΠ΅ΡΡ, ΠΏΠΎΡ ΠΎΠΆΠ΅, Π½Π°Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, Π° Π½Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ, Π²Π»ΠΈΡΡΡΡΡ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΠΎΡ ΡΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° clipboardCopyAsync Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΠΎΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Π²ΠΈΡΠ΅Π» ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°/WebKit, Π° Π½Π΅ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Β«ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΒ».
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ, Ρ ΠΎΡΠΊΡΡΠ» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ PR, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΠΏΠ΅Ρ Π°/ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠΎΡΠ²Π»ΡΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ workflow GitHub Actions ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ CI-Π·Π°Π΄Π°ΡΠΈ.


