Faraday: Daftar fitur untuk rilis besar berikutnya

Dibuat pada 18 Okt 2016  ·  7Komentar  ·  Sumber: lostisland/faraday

Faraday 1.0

  • [x] Setel versi Ruby minimum ke >= 2.2
  • [x] Streaming (Net::HTTP) #604
  • [x] Ubah cara adaptor dikelola #47 #121
  • [ ] Peningkatan API #241 #305 #462 #517 #693 #718 #735
  • [ ] Tarik adaptor sebagai permata terpisah. Faraday-Typheous, Faraday-Patron, dll. #112
  • [ ] Mendukung IPv6 #621
  • [ ] Streaming (lainnya)
  • [ ] Tingkatkan dokumentasi/Baca #425 #575
  • [ ] Tingkatkan pemeliharaan Codeclimate (https://codeclimate.com/github/lostisland/faraday)
  • [ ] Lewati seluruh proyek melalui Rubocop dan atur di Github sebagai integrasi
  • [ ] Tingkatkan Wiki dengan menambahkan lebih banyak contoh dan cara
  • [x] Konversikan tes ke RSpec?
  • [x] Siapkan integrasi Github untuk cakupan pengujian dan metrik kode
  • [ ] Hapus semua metode/perilaku yang tidak digunakan lagi (dengan peringatan terkait)

Komentar yang paling membantu

Sejujurnya, saya pribadi setuju dengan kalimat terakhir Anda.
Saya suka cara ActiveJob bekerja dan fakta bahwa Anda dapat menambahkan permata yang kompatibel ke aplikasi Anda dan hanya menggunakannya sebagai QueueBackend (misalnya Sidekiq).

Di sisi lain, ini bukan situasi saat ini untuk Faraday, ini bukan visi asli tim inti dan bukan hal yang biasa dilakukan semua orang.
Sebagai contoh, di #486 seorang pengguna mengeluh tentang masalah ini:

Saya berharap Faraday hanya berfungsi saat menukar adaptor.

Dan itulah yang diterapkan oleh @mislav dan anggota tim inti lainnya sejak awal.
Jadi saya harap Anda akan mengerti, karena saya sangat memahami kebutuhan Anda, bahwa sebagai anggota terakhir yang bergabung dengan Faraday, saya tidak bisa begitu saja membuang keputusan masa lalu dan mulai melakukan apa yang saya inginkan. Yang berarti streaming harus didukung oleh semua adaptor sebelum saya dapat menggabungkannya dalam aliran 0.x.
Contoh PR lain ditutup karena alasan yang sama: #485, #498, https://github.com/lostisland/faraday/pull/339#issuecomment -145872698

Faraday 1.0 berbeda, yang memberi saya lebih banyak kebebasan (saya memang harus mempertahankan kompatibilitas mundur sebanyak mungkin, itu tidak berarti saya dapat melakukan apa pun yang saya inginkan ). Dan itulah mengapa saya menyarankan untuk menghentikan dukungan asli untuk semua adaptor, tetapi memindahkannya ke permata eksternal seperti yang terjadi dengan Thypoeus. Ini akan memiliki banyak keuntungan dan akan membuat struktur lebih mirip dengan ActiveJob , membenarkan hal-hal seperti dukungan parsial.
Untuk alasan ini, saya melihat streaming sebagai fitur 1.0 dan saya harus membekukannya untuk sementara waktu.
Ini akan memakan waktu lebih lama, tapi itu berarti melakukan sesuatu dengan benar untukku. Saya ingin menjelaskannya sejelas mungkin: Saya tidak menutup PR demi membuang waktu siapa pun, saya hanya mencoba membantu mendorong proyek ini ke depan (kami akan tetap 0.9.x jika tidak) menghormati tim inti penglihatan.

Jika Anda tidak punya waktu, bukankah masuk akal untuk membiarkan orang lain membantu?

Hanya catatan terakhir tentang ini: SEMUA ORANG dipersilakan untuk membantu. Begitulah cara kerja Open Source! Namun, kita juga harus menghormati visi tim inti ketika kita berkontribusi pada sesuatu. Kita boleh setuju dan tidak setuju dengan mereka (saya juga tidak setuju dengan mereka dalam beberapa hal!), tetapi kita harus menghormati pilihan mereka karena jika Faraday seperti sekarang ini, itu pasti berkat banyak kontributor, tetapi juga berkat tim inti mengelola semua Isu/PR dan mengembangkan proyek dengan cara yang jelas dan logis (dan percayalah, yang terakhir ini jauh lebih memakan waktu daripada kontribusi sporadis). Jika bukan karena mereka menyaring atau menyesuaikan input kontributor, kita mungkin tahu Faraday yang sama sekali berbeda hari ini, dan saya tidak yakin itu akan lebih baik daripada yang sebenarnya kita ketahui.

Semua 7 komentar

Saya mencari dukungan streaming ... adakah yang mengerjakan 1.0? ... kalau tidak kenapa PR yang lain ditutup

Hai @grosser , alasannya diungkapkan dalam https://github.com/lostisland/faraday/pull/604#issuecomment -259125910 ini.
Alasan utamanya adalah bahwa PR hanya kompatibel dengan adaptor Net::HTTP dan fakta bahwa streaming telah ditandai untuk v1.0.
Tidak ada peta jalan untuk v1.0 saat ini, jadi tidak ada yang secara aktif mengerjakan streaming untuk saat ini.

@iMacTia Saya agak kecewa karena Anda mengatakan "tidak ada yang secara aktif mengerjakan streaming" karena tampaknya Anda menekan pekerjaan di #604 (juga #522, #461) dengan mengatakan "Tunggu, ini akan ada di rilis berikutnya" , tapi kemudian tidak bekerja di atasnya. Mengapa tidak menerima perubahan komunitas mengingat tampaknya tidak ada momentum oleh tim inti?

@jcoyne Saya tidak bermaksud bahwa streaming belum masuk KARENA "tidak ada yang aktif mengerjakan streaming". Saya sepenuhnya sadar bahwa fakta bahwa tidak ada yang mengerjakannya adalah kesalahan saya. Namun, saya telah menjelaskan mengapa saya mendorong kembali #604 dan masalahnya bukan pada implementasinya.
Untuk mendapatkan 604 bergabung dalam salah satu hal berikut harus terjadi terlebih dahulu:

  1. Dukungan untuk semua adaptor lain ditambahkan (saat ini hanya Net::HTTP yang didukung)
  2. Kami menunggu versi 1.0 karena kami mungkin menghapus dukungan langsung untuk adaptor lain dan menambahkannya ke proyek eksternal. Itu akan membuat #604 dapat digabung seperti sekarang, tetapi sayangnya belum disepakati secara internal.

Saya mohon maaf karena lambat dan tidak memiliki cukup waktu untuk berinvestasi dalam mengerjakan salah satu solusi di atas.
Saya mengerti Anda akan senang dengan hanya #604 yang digabungkan karena Anda mungkin hanya membutuhkan dukungan untuk Net::HTTP, tetapi bukan itu cara kerjanya ketika Anda harus memelihara permata dan saya tidak bisa membuatnya sesederhana itu.

@iMacTia Saya tidak berharap Anda mengerahkan semua upaya Anda untuk rilis ini, saya hanya frustrasi tentang efek mengerikan dari menutup/menolak permintaan tarik yang telah dikerjakan beberapa orang dan tidak memiliki masalah teknis yang diketahui. Jika Anda tidak punya waktu, bukankah masuk akal untuk membiarkan orang lain membantu?

Saya mengerti mengapa dukungan untuk semua adaptor lain diinginkan, tetapi saya pikir Anda terlalu ketat dengan interpretasi Anda tentang pola adaptor. Pola adaptor menuntut konsistensi cara Anda melakukan satu interaksi, tetapi saya tidak akan mengatakan itu menuntut bahwa setiap adaptor mendukung setiap fitur. Ada banyak perpustakaan berguna di luar sana yang menggunakan definisi yang lebih longgar ini (mis. edgeapi.rubyonrails.org/classes/ActiveJob/QueueAdapters.html#module-ActiveJob::QueueAdapters-label-Backends+Features)

Sejujurnya, saya pribadi setuju dengan kalimat terakhir Anda.
Saya suka cara ActiveJob bekerja dan fakta bahwa Anda dapat menambahkan permata yang kompatibel ke aplikasi Anda dan hanya menggunakannya sebagai QueueBackend (misalnya Sidekiq).

Di sisi lain, ini bukan situasi saat ini untuk Faraday, ini bukan visi asli tim inti dan bukan hal yang biasa dilakukan semua orang.
Sebagai contoh, di #486 seorang pengguna mengeluh tentang masalah ini:

Saya berharap Faraday hanya berfungsi saat menukar adaptor.

Dan itulah yang diterapkan oleh @mislav dan anggota tim inti lainnya sejak awal.
Jadi saya harap Anda akan mengerti, karena saya sangat memahami kebutuhan Anda, bahwa sebagai anggota terakhir yang bergabung dengan Faraday, saya tidak bisa begitu saja membuang keputusan masa lalu dan mulai melakukan apa yang saya inginkan. Yang berarti streaming harus didukung oleh semua adaptor sebelum saya dapat menggabungkannya dalam aliran 0.x.
Contoh PR lain ditutup karena alasan yang sama: #485, #498, https://github.com/lostisland/faraday/pull/339#issuecomment -145872698

Faraday 1.0 berbeda, yang memberi saya lebih banyak kebebasan (saya memang harus mempertahankan kompatibilitas mundur sebanyak mungkin, itu tidak berarti saya dapat melakukan apa pun yang saya inginkan ). Dan itulah mengapa saya menyarankan untuk menghentikan dukungan asli untuk semua adaptor, tetapi memindahkannya ke permata eksternal seperti yang terjadi dengan Thypoeus. Ini akan memiliki banyak keuntungan dan akan membuat struktur lebih mirip dengan ActiveJob , membenarkan hal-hal seperti dukungan parsial.
Untuk alasan ini, saya melihat streaming sebagai fitur 1.0 dan saya harus membekukannya untuk sementara waktu.
Ini akan memakan waktu lebih lama, tapi itu berarti melakukan sesuatu dengan benar untukku. Saya ingin menjelaskannya sejelas mungkin: Saya tidak menutup PR demi membuang waktu siapa pun, saya hanya mencoba membantu mendorong proyek ini ke depan (kami akan tetap 0.9.x jika tidak) menghormati tim inti penglihatan.

Jika Anda tidak punya waktu, bukankah masuk akal untuk membiarkan orang lain membantu?

Hanya catatan terakhir tentang ini: SEMUA ORANG dipersilakan untuk membantu. Begitulah cara kerja Open Source! Namun, kita juga harus menghormati visi tim inti ketika kita berkontribusi pada sesuatu. Kita boleh setuju dan tidak setuju dengan mereka (saya juga tidak setuju dengan mereka dalam beberapa hal!), tetapi kita harus menghormati pilihan mereka karena jika Faraday seperti sekarang ini, itu pasti berkat banyak kontributor, tetapi juga berkat tim inti mengelola semua Isu/PR dan mengembangkan proyek dengan cara yang jelas dan logis (dan percayalah, yang terakhir ini jauh lebih memakan waktu daripada kontribusi sporadis). Jika bukan karena mereka menyaring atau menyesuaikan input kontributor, kita mungkin tahu Faraday yang sama sekali berbeda hari ini, dan saya tidak yakin itu akan lebih baik daripada yang sebenarnya kita ketahui.

Masalah ini sekarang telah diubah menjadi sebuah proyek .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

iMacTia picture iMacTia  ·  3Komentar

ioquatix picture ioquatix  ·  4Komentar

amrrbakry picture amrrbakry  ·  4Komentar

t3hk0d3 picture t3hk0d3  ·  3Komentar

yusefu picture yusefu  ·  3Komentar