Saya agak sibuk kebelakangan ini, dan malangnya tidak mempunyai banyak masa untuk menyumbang kepada sumber terbuka. Saya tidak sabar untuk kembali ke landasan, tetapi menghadapi beberapa halangan. Dalam catatan terakhir saya, saya membincangkan cara saya ditetapkan untuk menyelam ke dalam Mattermost Mobile dan melaksanakan ciri yang sama yang saya kerjakan sebelum ini untuk aplikasi web - menambah tetapan untuk menogol emotikon pemaparan (:D) sebagai emoji (?) - tetapi saya terpaksa sangat cepat menyerah pada idea itu. Ternyata WSL (Windows Subsystem for Linux) tidak begitu bagus untuk pembangunan mudah alih.
Pembangunan untuk Mattermost secara rasmi hanya disokong untuk MacOS dan Linux. Ini tidak menjadi masalah semasa bekerja pada apl web. Semasa saya bekerja pada apl web, saya dapat menggunakan WSL, dan semuanya berfungsi dengan sempurna. Tetapi apabila saya cuba mula bekerja pada apl mudah alih, saya menghadapi masalah demi masalah.
Mengikuti arahan persediaan persekitaran dev untuk Linux, saya perlu menyediakan emulator Android, tetapi cuba menjalankan satu di dalam WSL tidak berjaya - ia tidak akan mengesan emulator. Saya juga tidak boleh hanya membangunkan pada Windows kerana skrip prapasang menjalankan skrip .sh. Jadi saya menghabiskan beberapa hari cuba menyambung dari dalam WSL ke emulator Android yang berjalan pada Windows, tidak berhasil - ia tidak akan muncul dalam senarai emulator dalam WSL. Saya menghabiskan berjam-jam membaca siaran forum dan intipati GitHub, tetapi nampaknya ia tidak akan berjaya.
Saya juga cuba memajukan sambungan USB peranti saya sendiri ke WSL untuk mencuba dan membangunkan peranti saya. Sepatutnya, usbipd-win harus membuat ini berfungsi, seperti yang dinyatakan dalam artikel ini pada Microsoft Learn, namun setiap kali saya cuba semula memajukan peranti saya ke WSL, senarai peranti yang disambungkan akan muncul kosong.
Saya mencari melalui sejarah mesej dalam sembang rasmi Penyumbang Paling Penting, tetapi yang saya temui hanyalah siaran daripada orang lain yang bergelut dengan perkara yang sama. Jadi, saya fikir perkara terakhir yang boleh saya cuba ialah membuat siaran saya sendiri dan meminta bantuan, yang untungnya, seseorang bertindak balas untuk mencuba dan membantu, tetapi malangnya mereka tidak berada dalam pasukan mudah alih dan mengarahkan saya untuk mencuba bertanya dalam telefon bimbit sembang pasukan, di mana saya masih belum menerima balasan.
Malangnya, untuk masa hadapan yang terdekat nampaknya saya tidak akan dapat menyelesaikan isu tersebut.
Sementara itu, saya telah mencari untuk menyelesaikan beberapa isu lain. Semasa menyemak imbas isu berlabel "bantuan dikehendaki", saya menemui isu ini untuk GitHub CLI:
gh run view menyenaraikan cawangan dalam kurungan, tetapi saya fikir ia harus menyenaraikannya dalam kurungan segi empat sama untuk diselaraskan dengan garis panduan Primer:
Paparkan nama cawangan dalam kurungan dan/atau cyan
pandangan larian gh
gesaan paparan larian gh harus memaparkan cawangan dalam kurungan segi empat sama.
❯ gh run view ? Select a workflow run [Use arrows to move, type to filter] > - Verifying attestations offline fails, Discussion Triage (trunk) 4h55m1s ago - Decoding, Discussion Triage (patch-1) 4h59m32s ago ✓ Decoding, PR Automation (patch-1) 4h59m43s ago ✓ Issue Automation, Issue Automation (trunk) 5h20m31s ago - `gh repo rename myorg/newname` results in `myorg/myorg-newname`, Discussion Triage (trunk) 10h13m50s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago
Ia kelihatan seperti perubahan yang agak mudah dan saya fikir ia adalah satu rehat yang baik daripada isu-isu besar yang telah saya lakukan - sesuatu untuk meletakkan saya kembali pada kadar yang baik sekali lagi.
Saya gembira dengan betapa mudahnya persediaan dev. Saya sudah memasang Go, jadi saya hanya perlu menyusun binari.
Saya membaca dokumen penyumbang yang juga sangat membantu dan membantu saya mula memikirkan tempat untuk mencari kod yang berkaitan. Saya meluangkan sedikit masa melihatnya, dan mendapati fungsi yang bertanggungjawab untuk memaparkan nama cawangan dalam arahan run. Saya tidak pernah benar-benar menulis Go sebelum ini, tetapi ia terasa sangat mengingatkan C's printf(). Saya membuat perubahan dan membuka PR, tetapi dalam keterujaan saya terlupa untuk mengemas kini ujian, yang saya telah diingatkan oleh pengulas.
Membetulkan #10038
pkg/cmd/run/shared: Menukar kurungan dalam selectRun() kepada kurungan segi empat sama.
func selectRun() { ... fmt.Sprintf("%s %s, %s (%s) %s", ...) ... }
func selectRun() { ... fmt.Sprintf("%s %s, %s [%s] %s", ...) ... }
Saya meneliti ujian, mengenal pasti yang gagal dan mengemas kininya. Malangnya, saya kemudiannya dimaklumkan oleh penyelenggara bahawa mereka sebenarnya masih dalam proses triage untuk isu ini dan telah menggunakan label "bantuan dikehendaki" terlebih dahulu dan PR saya mungkin tidak digabungkan. Saya agak kecewa, tetapi saya fikir saya telah melakukan bahagian saya jadi ia bukan masalah besar.
? Hai @uday-rana, terima kasih kerana berminat untuk mengambil ini!
Saya ingin menunggu sehingga isu ini dibicarakan oleh orang responden pertama kami pada giliran minggu ini.
Saya mungkin terlalu bersemangat apabila menambahkan label Help Wanted - Saya masih mahu orang responden pertama kami mencuba perkara ini untuk memastikan kami bersetuju dengan kerja sebelum melaksanakannya ❤ ?
Saya tidak menjangkakan sebarang isu, tetapi saya tetap memberitahu anda supaya anda tahu apa yang kami tunggu sebelum salah seorang daripada kami menyemak PR. Jika orang responden pertama kami bersetuju, maka kami dengan senang hati akan menerima PR ?
Maaf atas kekeliruan! Pada masa hadapan, saya tidak akan menambah label ini lebih awal - ini secara tidak sengaja melangkau proses triage kami ?
Semasa melihat melalui GitHub untuk mendapatkan lebih banyak isu untuk diselesaikan dengan label "bantuan dikehendaki", saya menemui satu lagi isu Paling Penting, kali ini untuk apl web. Memandangkan saya telah pun menyediakan persekitaran pembangun untuk apl web, saya fikir saya boleh bertindak dengan pantas.
Apabila menampal imej daripada papan keratan ke dalam input mesej, ia mendapat imej nama fail.png. Jika berbilang imej ditampal, kesemuanya mendapat nama fail image.png yang sama. Ini boleh menjadi masalah apabila memuat turun setiap fail dengan nama yang sama dengan bahaya ditulis ganti.
Autojana Nama Fail yang menyertakan cap masa dengan format ini:
imej-2024-11-18-6-29-57-PM
Urutan paling penting: https://hub.mattermost.com/private-core/pl/xryg3tedg3bbxq3xuwnrj9ymyc
Jika anda berminat, sila komen di sini dan sertai saluran komuniti "Penyumbang" kami pada pelayan binaan harian kami, di mana anda boleh membincangkan soalan dengan ahli komuniti dan pasukan teras Mattermost. Untuk nasihat teknikal atau soalan, sila sertai saluran komuniti "Pembangun" kami.
Penyumbang baharu sila lihat Panduan Pembangun kami.
JIRA: https://mattermost.atlassian.net/browse/MM-62003
Saya sedang meneliti isu ini semasa menulis catatan blog ini dan saya telah mengenal pasti punca masalahnya. Apabila menyiarkan imej daripada papan keratan dalam pelayar atau persekitaran seperti penyemak imbas (a la aplikasi Electron), jika imej itu tidak mempunyai nama, penyemak imbas secara automatik akan memberikannya nama "image.png". Saya telah menguji ini dengan Firefox dan Edge dan ia berlaku untuk kedua-duanya. Mengapa ini menjadi masalah? Apl itu sudah mempunyai logik yang menambah cap masa pada fail yang tidak dinamakan. Tetapi memandangkan imej ini diberi nama secara automatik apabila menampal daripada papan keratan, cap masa tidak ditetapkan.
Penyelesaian yang paling mudah ialah hanya mengekodkan cek untuk nama 'image.png'. Tetapi saya tertanya-tanya apa yang berlaku jika imej itu bukan PNG? Adakah itu mungkin dalam papan keratan? Dan bagaimana jika pengguna memuat naik fail yang sebenarnya bernama "image.png"? Ini adalah sesuatu yang saya perlu bincangkan dengan pembangun.
Walau apa pun, saya berazam untuk menyelesaikan isu ini. Di sini harap semuanya berjalan lancar.
Atas ialah kandungan terperinci Melakukan Lebih Banyak Perkara Sumber Terbuka: Menebus Masa Yang Hilang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!