Mudlet: Salin/tempel jendela teks utama berhenti berfungsi

Dibuat pada 22 Des 2019  ·  24Komentar  ·  Sumber: Mudlet/Mudlet

Ringkasan singkat masalah / Deskripsi fitur yang diminta:

Mudlet 4.4.0 alih-alih mogok sekarang salin/tempel terkadang tidak berfungsi

  • saya tidak yakin persis apa yang menyebabkan ini dimulai, tetapi rasanya pada titik tertentu salin/tempel hanya akan menolak untuk bekerja lagi. cmd-c atau salin klik kanan, keduanya tidak akan berfungsi. salin karena html berfungsi. yang menarik.

ini sangat membuat frustrasi.

bug high

Komentar yang paling membantu

@ njs50 @Ranfir saya telah menemukan cara untuk memperbaiki ini tanpa harus me-restart profil Anda. Buat alias dengan ini:

echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
---etc, up to 1000 lines of the above echo

Kemudian tekan alias Anda untuk mengirim 1000 baris spam ke profil Anda. Satu pukulan dan Anda harus dapat menyalin dan menempel lagi! Saya mencobanya dengan alias 100 baris dan itu tidak cukup, tetapi 1000 baris berhasil.

Semua 24 komentar

Saya mengalami masalah ini pada Windows 10. Ini akan berhenti bekerja secara sporadis, dan kemudian mulai bekerja beberapa menit kemudian. Tidak jelas tentang cara mereproduksi secara konsisten, tetapi cukup sering terjadi sehingga menjadi gangguan besar.

Saya masih melihat masalah ini di bawah 4.5.1-de.

ini sangat membuat frustrasi.

Saya sangat setuju dengan ini.

Dikonfirmasi bahwa masalah ini masih terjadi di 4.6.2 di OSX. Ini aneh karena profilnya juga spesifik. Satu profil akan dapat disalin dan ditempel sementara profil lain yang terbuka secara bersamaan tidak akan dapat disalin dan ditempel.

Sulit untuk memperbaikinya karena seseorang dapat membuka Mudlet dan berfungsi dengan baik, jadi bagaimana cara menemukan masalahnya? Cara untuk mereplikasi masalah akan memajukan ini dengan banyak

fwiw, ketika rusak salinannya sebagai html masih berfungsi. mungkin itu bisa membantu mempersempit di mana masalahnya.

saya juga berpikir itu dimulai sekitar waktu PR ini digabung: https://github.com/Mudlet/Mudlet/pull/3241 itu memperbaiki mogok tetapi kemudian alih-alih mogok salin/tempel berhenti bekerja, jadi mungkin ada sesuatu yang tidak cukup disana...

Hmm kita bisa menguji teori itu, coba test build di https://github.com/Mudlet/Mudlet/pull/3688. Jalankan Mudlet dari terminal - jadi di macOS ada di dalam .app/Contents. Ini akan mencetak pesan ketika cek tidak cocok.

Melihat kelemahan serupa pada Win10 beberapa hari yang lalu.

Coba uji build, jalankan mudlet.exe dan lihat apakah ada yang muncul di terminal saat masalah muncul kembali.

Nah, saat ini saya sudah menjalankan dan mencoba kandidat rilis versi berikutnya, jadi saya akan melakukannya nanti. Bagaimanapun, itu hanya terjadi sekali sebelumnya (sehingga saya perhatikan), dan saya menjalankan Mudlet cukup lama pada saat itu. Tidak yakin bagaimana meniru.

@ njs50 @Ranfir saya telah menemukan cara untuk memperbaiki ini tanpa harus me-restart profil Anda. Buat alias dengan ini:

echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
---etc, up to 1000 lines of the above echo

Kemudian tekan alias Anda untuk mengirim 1000 baris spam ke profil Anda. Satu pukulan dan Anda harus dapat menyalin dan menempel lagi! Saya mencobanya dengan alias 100 baris dan itu tidak cukup, tetapi 1000 baris berhasil.

Bagi saya, bug tidak terjadi lagi dalam beberapa minggu terakhir, tetapi kami memiliki pemain sesekali di Discord yang melaporkan hal serupa. Mereka tampaknya puas dengan solusi di atas, jadi ini dapat membantu melakukan triangulasi bug.

Bagaimanapun, alih-alih semua orang memasukkan 1000 baris spam ke alias mereka, Anda dapat menggunakan lua loop :

 local repetitions = 1000
 local i = 1
 repeat
  echo("\nJust fill up the line with random gibberish!")
  i = i + 1
 until i > repetitions 

Anda bahkan dapat bereksperimen dengan jumlah pengulangan, mungkin itu akan lebih membantu? Saat ini 100 tampaknya sedikit, dan 1000 tampaknya cukup. Tidak yakin, mengapa dan di mana tepatnya perubahan itu terjadi.

:bulb: Um, IIRC rincian pilihan saat ini disimpan dalam dua QPoint s TConsole::P_begin & P_end - namun ketika (void) TBuffer::shrinkBuffer() masuk untuk memangkas terlama (nomor baris terendah) dari awal TBuffer 's (std::deque<std::deque<TChar>>) buffer dan (QStringList) lineBuffer dan satu atau dua wadah satu elemen per baris lainnya: langkah apa yang diambil untuk menyesuaikan nilai y dari P_begin dan P_end :question:

Saya baru menyadarinya terjadi setelah buffer cukup lama untuk menyusut. Selain itu, ketika itu terjadi, sepertinya itu menyebabkan sorotan di buffer atas dan bawah (ketika Anda menggulir ke atas di konsol) tidak sinkron satu sama lain. Membuat pilihan di bagian atas dan bawah tampaknya membantu membuat fungsi penyalinan berfungsi kembali, tetapi saya tidak bisa mengatakan itu sepenuhnya konsisten karena itu tidak cukup sering terjadi untuk diuji dengan andal.

tampaknya sangat aneh "salin sebagai html" terus bekerja ketika salinan biasa berhenti bekerja. yang tampaknya menunjukkan mungkin pemilihan bukan masalahnya tetapi sesuatu yang ada dalam pemilihan?

Keduanya menggunakan algoritma yang berbeda menurut saya. Yang menunjukkan bahwa hanya menyalin satu bisa belajar satu atau dua trik dari menyalin ke html.

salin sebagai gambar juga masih menyalin pilihan dengan benar iirc

Apakah ada cara untuk melakukan trik gema tanpa mengisi buffer saya dengan 1000 baris sampah? Saya ingin mencoba mendapatkan solusi yang tidak termasuk merusak sesi permainan yang sangat bagus yang juga saya log.

Apakah clearWindow berfungsi?

sepertinya itu hanya berhasil untuk saya. saya tidak tahu apakah itu kebetulan. Sepertinya salin/tempel akan terus berfungsi sampai hal-hal mulai dikeluarkan dari akhir scrollback saya

saya hanya mengulanginya lagi. copy/paste tampak bagus setelah melakukan clearWindow() sampai buffer penuh. segera setelah penuh ketika saya menyalin beberapa teks yang terbang melewatinya gagal dan berhenti bekerja. clearWindow memperbaikinya lagi.

Saya juga telah mengisi buffer game saya sampai garis mulai menghilang di bagian atas.
Pada saat itu, salin/tempel masih berfungsi dengan baik seperti yang diharapkan.
Bagaimana Anda mengisi buffer Anda dengan tepat?

Saya mencoba menurunkan nomor penghapusan batch untuk ukuran buffer konsol saya menjadi 10, dan sementara itu menyebabkan efek samping dari tampilan teks aneh ketika penghapusan batch terjadi, tampaknya mempercepat proses perbaikan masalah penyalinan.

Saya juga telah mengisi buffer game saya sampai garis mulai menghilang di bagian atas.
Pada saat itu, salin/tempel masih berfungsi dengan baik seperti yang diharapkan.
Bagaimana Anda mengisi buffer Anda dengan tepat?

Saya mengujinya dengan game yang sedang berjalan saat itu. saya mengisi sebagian besar dengan melalui banyak catatan di papan tulis dan ketika saya melihat teks sedang dihapus dari atas buffer lagi saya membuat pilihan baru.

Pasti ada teks yang datang sepanjang waktu saya memilih untuk menyalin.

saya juga pasti ke gulir kembali ketika saya menyalin. yaitu saya telah menyeret seleksi cukup jauh untuk keluar dari halaman teks saat ini.

Menggunakan Ctrl-C (Salin) dari menu konteks:

  • (void) TTextEdit::slot_copySelectionToClipboard()
  • (QString) TTextEdit::getSelectedText(char newlineChar) - yang menggunakan nilai saat ini di (QPoint) TTextEdit::mPA & mpB dan memasukkan teks ke dalam QApplication::clipboard()

Menggunakan Salin sebagai HTML dari menu konteks:

  • (void) TTextEdit::slot_copySelectionToClipboardHTML() - menggunakan (QPoint) TTextEdit::mDragStart dan mDragSelectionEnd untuk SET TTextEdit::mPA & mpB sesuai dan kemudian segera menggunakan yang terakhir untuk menyalin data TBuffer ke dalam HTML yang dihasilkan.

Mungkin ada baiknya bereksperimen dengan menyalin proses seleksi dari yang terakhir ke yang pertama....

Apakah halaman ini membantu?
0 / 5 - 0 peringkat