Menghidupkan Projek Lapuk
Minggu ini, saya melakukan beberapa kerja penyelenggaraan pada Starchart. Projek ini telah lama tidak diusahakan, jadi kami cuba mengemas kini kebergantungannya.
DevelopingSpace
/
carta kanji
Alat layan diri untuk mengurus domain dan sijil tersuai
Carta Star
Starchart memudahkan komuniti pembangun Seneca untuk mencipta dan mengurus subdomain tersuai dan sijil SSL mereka sendiri, tanpa kos atau perlu memberikan maklumat peribadi.
Untuk mendapatkan maklumat tentang menjalankan Starchart, lihat panduan penggunaan kami. Untuk maklumat pembangunan, lihat panduan penyumbang kami. Untuk latar belakang teknikal lanjut, perancangan dan reka bentuk awal, sila lihat wiki.
Pengenalan
Internet sedang berkembang, dan perkara yang dahulu sukar menjadi mudah. Contohnya, mengehos tapak web anda sendiri yang dahulunya memerlukan pengetahuan tentang pentadbiran pelayan, sistem pengendalian, rangkaian, dsb. Hari ini, banyak pembangun mengehoskan tapak web peribadi dan projek mereka tanpa pernah menyentuh pelayan jauh, memilih perkhidmatan awan (percuma) seperti Halaman GitHub, Vercel, Netlify atau AWS.
Model keselamatan internet juga sedang berkembang. Sebagai contoh, vendor penyemak imbas telah menerima HTTPS di mana-mana sahaja. Ini bagus untuk keselamatan, kerana ia membolehkan penyulitan berasaskan sijil antara pelanggan dan pelayan. Walau bagaimanapun, seperti…
Rancangannya adalah untuk membetulkan aliran kerja CI, yang kami dapati telah rosak minggu lepas:
Tetapi sebelum saya dapat menyelesaikannya, salah seorang pembangun terdahulu, Eakam, telah menyelesaikan isu itu - ternyata ia hanya kerana Playwright sudah ketinggalan zaman.
Bump penulis drama kepada 1.49.1
#772

Pemasangan pengarang drama gagal dalam CI (Ujian E2E). Versi pengarang drama yang terhempas harus membetulkannya.
Ruj:
Saya rasa saya harus menebusnya dengan mencari lebih banyak perkara untuk diusahakan dan fikir mengemas kini lebih banyak kebergantungan akan menjadi titik permulaan yang bagus.
Memandangkan projek itu tidak diusahakan selama 2 tahun, terdapat banyak kelemahan keselamatan yang berpunca daripada pakej yang sudah lapuk. Saya dapat membetulkan kebanyakannya dengan pembetulan audit npm.
Terdapat beberapa lagi pembetulan yang menyebabkan perubahan yang terputus dalam @remix-run/eslint-config dan @remix-run/react, jadi saya menemuinya secara manual.
Salah satu kemas kini (saya menemuinya pada masa yang sama jadi saya tidak boleh mengatakan dengan pasti tetapi pertaruhan saya adalah pada /react) membawa kepada ralat semakan taip kerana [@remix-run/react].useNavigation( ).formData kini mungkin daripada jenis yang tidak ditentukan. Saya membetulkannya dengan rantaian pilihan.
// Before const isLoading = navigation.state === 'submitting' && Number(navigation.formData.get('id')) === dnsRecord.id; // After const isLoading = navigation.state === 'submitting' && Number(navigation.formData?.get('id')) === dnsRecord.id;
Perubahan lain yang saya buat ada kaitan dengan beberapa ralat lint yang muncul (Pada ketika ini saya menyedari bahawa sambungan ESLint saya telah dimatikan, tetapi saya pasti amaran ini disertakan dengan kemas kini, kerana ia tidak pernah berlaku dalam CI pada masa lalu).
- Kejadian mengimport modul yang sama beberapa kali dalam satu fail:
// Before import { getCertificateByUsername } from '~/models/certificate.server'; import { deleteCertificateById } from '~/models/certificate.server'; import { isAdmin } from '~/models/user.server'; import { getUserByUsername } from '~/models/user.server'; // After import { getCertificateByUsername, deleteCertificateById } from '~/models/certificate.server'; import { isAdmin, getUserByUsername } from '~/models/user.server';
- Menggunakan let apabila const lebih disukai:
// Before let date = val.toLocaleDateString('en-US', { // After const date = val.toLocaleDateString('en-US', {
Terkejut ia tidak menangkap ini sebelum ini.
Selain itu, apabila saya menghidupkan sambungan ESLint, saya agak terkejut kerana terdapat ~900 ralat linter. Ternyata ia adalah kerana ESLint sedang menyelitkan output yang dijana oleh Playwright. Jadi saya menambah /playwright-report ke .eslintignore.
Dan itu adalah jumlah kerja penyelenggaraan saya untuk pecut ini. Akhirnya membetulkan 30 isu keselamatan yang teruk, jadi tidak teruk.
Kemas kini kebergantungan
#775

Sepatutnya membaiki sekumpulan kelemahan keselamatan.
Perubahan
- [x] Kebergantungan bump
- [x] Tambahkan /playwright-report ke .eslintignore
- [x] Betulkan semakan taip dan ralat linter
Saya juga mengaktifkan semula Dependabot yang menemui beberapa versi kecil. Alangkah baiknya jika anda tidak perlu menyiasat dan menambal kelemahan keselamatan secara manual.
Dalam berita lain, salah satu permintaan tarik saya kepada Mattermost akhirnya digabungkan!
[GH-29548] Elakkan SELECT * dalam `tokens_store.go`
#29558

Ringkasan
PR ini:
- Tukar pertanyaan SQL dalam token_store.go untuk menggunakan SQLBuilder
- Mentakrifkan lajur secara eksplisit dalam pertanyaan PILIH kepada TokenStore.
- Faktorkan pertanyaan biasa ke dalam pembina.
Pautan Tiket
Membetulkan #29548
Tangkapan skrin
Nota Keluaran
// Before const isLoading = navigation.state === 'submitting' && Number(navigation.formData.get('id')) === dnsRecord.id; // After const isLoading = navigation.state === 'submitting' && Number(navigation.formData?.get('id')) === dnsRecord.id;
Ia telah diluluskan sebentar tadi tetapi mengambil masa beberapa minggu untuk digabungkan menjadi utama.
Sementara itu saya telah mengusahakan PR saya yang lain. Saya diminta membuat beberapa perubahan dan saya sedang menunggu semakan semula.
[MM-53650] Tambahkan lumpuhkan tetapan pemaparan emotikon pada apl web
#29414

Ringkasan
Permintaan tarik ini menambahkan tetapan pengguna pada apl web untuk menogol emotikon pemaparan (:D) sebagai emoji (?).
Tetapan ditambahkan sebagai komponen dalam komponen/tetapan_pengguna/paparan/render_emoticons_as_emoji/ yang diimport dalam komponen/tetapan_pengguna/display/pengguna_tetapan_paparan.tsx.
Saya telah menambahkan fungsi renderOnOffLabel() pada user_settings_display.tsx, dialih keluar daripada component/user_settings/advanced/user_settings_advanced.tsx untuk membantu memaparkan komponen baharu.
Tetapan disimpan sebagai pilihan pengguna menggunakan tindakan savePreferences().
Saya telah menambah pemalar untuk keutamaan kepada utils/constants.tsx dan webapp/channels/src/packages/mattermost-redux/src/constants/preferences.ts.
Untuk benar-benar menggunakan tetapan, saya telah mengubah suai komponen/post_markdown untuk menerima nilainya sebagai prop, yang mana saya telah menggunakan getBool() dan menambah nilai lalai pada konfigurasi. post_markdown menurunkan nilai ini kepada Markdown pada objek pilihan, yang kemudian menurunkannya kepada utils/text_formatting.tsx, yang akhirnya menghantar nilai kepada emoticons.tsx sebagai parameter yang baru ditambah. emotikon.tsx menyemak sama ada nilai itu benar dan jika benar, ia menukar emotikon kepada emoji.
Saya telah mengemas kini ujian yang terjejas dan membuat ujian unit untuk komponen baharu. Saya juga telah mengemas kini fail terjemahan bahasa Inggeris.
Langkah Ujian QA
- Navigasi ke Tetapan Pengguna.
- Pergi ke kategori Paparan.
- Cari bahagian yang berlabel "Autopapar emotikon sebagai emoji" dan klik "Edit".
- Togol tetapan dan klik "Simpan".
- Penyampaian emotikon pada mesej yang dihantar oleh pengguna semasa dan pengguna lain harus ditogol di sisi klien dengan tetapan.
Pautan Tiket
Pembetulan (sebahagiannya) https://github.com/mattermost/mattermost/issues/26504 Jira https://mattermost.atlassian.net/browse/MM-53650
Perhatikan isu dan tiket menerangkan penambahan ciri ini pada apl mudah alih juga, yang PR ini tidak melakukannya.
Tangkapan skrin
before | after |
---|---|
![]() |
![]() |
Nota Keluaran
// Before const isLoading = navigation.state === 'submitting' && Number(navigation.formData.get('id')) === dnsRecord.id; // After const isLoading = navigation.state === 'submitting' && Number(navigation.formData?.get('id')) === dnsRecord.id;
Mengusahakan PR ini menarik kerana semasa saya mula-mula menyerahkannya, saya tidak faham sepenuhnya perubahan saya. Mengimbas kembali setelah sekian lama meninggalkannya dan dengan maklum balas daripada ulasan membantu saya melihatnya dari perspektif baharu dan memahaminya dengan lebih baik.
Apl Mattermost mendapat keadaan tetapan pengguna daripada kedua-dua "keutamaan" dan daripada "konfigurasi". Saya menambah tetapan saya kepada kedua-duanya, meniru salah satu tetapan sedia ada yang saya dinasihatkan untuk merujuk, tetapi ternyata "konfigurasi" adalah untuk tetapan peringkat pelayan, manakala tetapan baharu ini bertujuan untuk menjadi pilihan pihak klien. Ulasan membantu saya memahami di mana silap saya, dan ia akhirnya menjadi perubahan yang lebih kecil daripada yang saya fikirkan perlu.
Secara keseluruhannya saya katakan ia adalah minggu yang agak produktif.
Atas ialah kandungan terperinci Menghidupkan Projek Lapuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
