Laverna: Fork lavender

Dibuat pada 6 Agu 2018  ·  19Komentar  ·  Sumber: Laverna/laverna

Karena PR tidak disetujui lagi, saya pikir sudah waktunya untuk menghentikan proyek ini atau meninggalkannya untuk sesuatu yang dipelihara secara teratur.

Saya sedang mempertimbangkan untuk melakukan ini karena saya sudah memperbaiki beberapa bug yang dilaporkan di cabang dev saya. Saya bukan ahli JS, jadi jika ada orang lain yang tertarik untuk membantu, itu bagus.

Haruskah kita mengubah nama untuk menghindari kebingungan? Jika demikian, ada saran tentang nama?

Komentar yang paling membantu

Jadi, wwebfor kembali kepada saya. Dia sudah selesai dengan proyeknya.

Dia mengakui bahwa laverna tidak menyelesaikan masalah dengan sinkronisasi dan beberapa perangkat. Dia menyarankan bahwa upaya akan lebih baik dihabiskan dengan fokus pada proyek-proyek lain yang sudah dilakukan. Dia juga tidak memberi saya akses ke repo, jadi saya tidak bisa melakukan apa pun secara langsung dengannya.

Saya pikir kekhawatirannya valid, tapi saya suka laverna dan saya pikir ada baiknya mencoba membuat sesuatu darinya. Saya akan melanjutkan rencana saya untuk memotongnya dan mengembangkannya secara independen dari organisasi Laverna.

Saya telah menghabiskan beberapa minggu terakhir mencoba membiasakan diri dengan cabang dev dan mengerjakan bug kecil di mana saya bisa. Sejujurnya tidak dalam kondisi yang sangat baik sekarang:

  • Sepertinya proyek berada di tengah transisi ke lebih banyak model klien/server dengan penambahan server sinyal dan mongodb. Itu bukan model yang buruk untuk hosting, tetapi menjadi beban bagi pengguna akhir mandiri yang menyinkronkan melalui dropbox (atau tidak sama sekali).
  • Server sinyal tampaknya telah disatukan dengan lingkungan multi-pengguna, dan ada awal dari beberapa fitur yang berguna (seperti berbagi antar pengguna) tetapi itu tidak lengkap, dan saya percaya sebenarnya saat ini menghambat sinkronisasi di beberapa perangkat.
  • Terlepas dari hal di atas, https tidak diaktifkan secara default.
  • Versi aplikasi desktop berbasis elektron tidak berfungsi.
  • tegukan cukup rusak di simpul 10 karena dependensi kuno. Seharusnya ini diperbaiki suatu hari nanti, meskipun rencana saat ini tampaknya memaksa versi yang lebih baru dari paket asli, yang tidak didukung. Saya tidak dapat menemukan ETA.

Saya ingin berbicara lebih banyak tentang masalah ini dan mendapatkan rekomendasi / bantuan untuk memperbaikinya. Saya akan mereplikasi masalah ini pada garpu saya di https://github.com/daed/laverna/issues/1.

Saya sangat mendorong siapa saja yang merasa memiliki kepentingan dalam proyek untuk datang berdiskusi, dan saya ingin memperingatkan orang lain bahwa proyek ini, seperti yang ada di organisasi Laverna, mungkin tidak akan diperbarui lebih lanjut.

Semua 19 komentar

Memiliki latar belakang pemrograman yang layak tetapi saya baru belajar js dan siap untuk berusaha jika diperlukan untuk berkontribusi pada proyek ini karena ini telah menjadi aplikasi goto saya untuk waktu yang lama sekarang. Adapun nama Laverna2.0... Heh.

@daed Coba tulis @wwebfor && @wwwredfish dulu.

Saya cukup yakin mereka dapat menambahkan setiap kontributor atau Anda ke organisasi sehingga Anda dapat memiliki akses tulis...
Jika tidak, beri tahu saya ketika Anda memiliki nama dan per-rilis sehingga saya dapat membuat paket AUR :wink:

Bisakah Anda menghubungi saya di keybase (lebih disukai) atau di email sehingga saya dapat mengirimkan Anda email pribadi @wwebfor kepada Anda nanti hari ini (Waktu Berlin) ?

PS: Jika Anda membuat rilis baru di fork Anda, saya pikir mungkin ide yang baik untuk juga menghasilkan tarball :smile:

Ya, tentu. Saya tidak ingin merebut proyek dari bawah siapa pun. Aku hanya ingin memastikan itu tidak tertinggal.

Saya dalam waktu AS Tengah. Saya akan berbicara dengan Anda besok di keybase jika saya bisa.

Jadi, wwebfor kembali kepada saya. Dia sudah selesai dengan proyeknya.

Dia mengakui bahwa laverna tidak menyelesaikan masalah dengan sinkronisasi dan beberapa perangkat. Dia menyarankan bahwa upaya akan lebih baik dihabiskan dengan fokus pada proyek-proyek lain yang sudah dilakukan. Dia juga tidak memberi saya akses ke repo, jadi saya tidak bisa melakukan apa pun secara langsung dengannya.

Saya pikir kekhawatirannya valid, tapi saya suka laverna dan saya pikir ada baiknya mencoba membuat sesuatu darinya. Saya akan melanjutkan rencana saya untuk memotongnya dan mengembangkannya secara independen dari organisasi Laverna.

Saya telah menghabiskan beberapa minggu terakhir mencoba membiasakan diri dengan cabang dev dan mengerjakan bug kecil di mana saya bisa. Sejujurnya tidak dalam kondisi yang sangat baik sekarang:

  • Sepertinya proyek berada di tengah transisi ke lebih banyak model klien/server dengan penambahan server sinyal dan mongodb. Itu bukan model yang buruk untuk hosting, tetapi menjadi beban bagi pengguna akhir mandiri yang menyinkronkan melalui dropbox (atau tidak sama sekali).
  • Server sinyal tampaknya telah disatukan dengan lingkungan multi-pengguna, dan ada awal dari beberapa fitur yang berguna (seperti berbagi antar pengguna) tetapi itu tidak lengkap, dan saya percaya sebenarnya saat ini menghambat sinkronisasi di beberapa perangkat.
  • Terlepas dari hal di atas, https tidak diaktifkan secara default.
  • Versi aplikasi desktop berbasis elektron tidak berfungsi.
  • tegukan cukup rusak di simpul 10 karena dependensi kuno. Seharusnya ini diperbaiki suatu hari nanti, meskipun rencana saat ini tampaknya memaksa versi yang lebih baru dari paket asli, yang tidak didukung. Saya tidak dapat menemukan ETA.

Saya ingin berbicara lebih banyak tentang masalah ini dan mendapatkan rekomendasi / bantuan untuk memperbaikinya. Saya akan mereplikasi masalah ini pada garpu saya di https://github.com/daed/laverna/issues/1.

Saya sangat mendorong siapa saja yang merasa memiliki kepentingan dalam proyek untuk datang berdiskusi, dan saya ingin memperingatkan orang lain bahwa proyek ini, seperti yang ada di organisasi Laverna, mungkin tidak akan diperbarui lebih lanjut.

Ringkasan bagus @daed :tada: :star:

aku masuk!

Untuk referensi: #931

Hai.
Saya dulu menjalankan Laverna, dan menyerah karena DropBox. 2 sen saya: pergi ke model klien/server nyata dengan back-end database bisa bagus untuk mencegah banyak masalah sinkronisasi. Dan ini akan membuat proyek hampir mandiri.

@ romu70 Itulah salah satu hal yang saya

Saya bermain-main dengan mencoba menemukan cara untuk menyediakannya dengan cara apa pun yang Anda inginkan dengan versi yang dihosting, versi Bawa Server Anda Sendiri, dan versi Desktop yang berdiri sendiri, tetapi kedengarannya akan sangat sulit untuk didukung.

Saya merasa klien/server benar-benar merupakan rute tercepat dan kemungkinan besar menuju rilis berikutnya, tetapi semakin jauh kita bergerak ke arah itu, semakin sulit aplikasi desktop mandiri untuk diterapkan.

Saya cenderung setuju. Klien/server bagus jika Anda berpikir produk Anda akan diinstal pada server pengguna. Dengan cara ini Anda cukup yakin bahwa data bersifat pribadi, tetapi penyiapannya tidak begitu mudah.

Mengenai aplikasi desktop, saya tidak yakin ini membuat segalanya lebih sulit, pikirkan saja tentang mengemas bagian depan dengan Electron, dan Anda hampir selesai.

Saya terkesan melihat orang-orang yang tidak tahu basis kode ini siap untuk menggalinya. Tetapi orang juga dapat tentang jalur yang lebih mudah, pergi ke Boostnote yang sudah menawarkan hal yang sama (sinkronisasi Dropbox), dengan basis kode, komunitas, dukungan, dll yang sudah terpelihara dengan baik.

Hidup ini terlalu singkat untuk menemukan kembali roda.

Boostnote cukup apik, saya setuju dengan itu. Ini jauh lebih jauh dan memiliki lebih banyak polesan untuk itu. Itu tidak menangani enkripsi (permintaan fitur telah dibuka hanya di bawah satu tahun), dan jejak apa yang perlu diinstal pada komputer tampaknya jauh lebih berat daripada laverna.

Laverna juga bisa digunakan sepenuhnya dari usb dan tetap berinteraksi dengan Dropbox sekalipun, meski belum terpasang. Itu juga cukup rapi. Saya pikir ada banyak hal yang layak disimpan di sini bahkan di hadapan alat catatan lain dengan lebih banyak sumber daya daripada beberapa orang yang terpaku.

Pengguna sederhana di sini, tetapi fitur utama Laverna adalah enkripsi tanpa pengetahuan dengan tali pengikat 'Simpan catatan Anda pribadi'. Tanpa itu saya mungkin juga kembali ke Evernote.

Oke implementasi elektron dari front-end laverna jauh lebih mudah diimplementasikan daripada yang saya kira untuk cabang dev. Itu masih membutuhkan alat pembuatan otomatis (berfungsi), tetapi ini adalah langkah ke arah yang benar.

@glocalglocal Apa definisi "pribadi" Anda?

Apakah "terenkripsi tetapi di server yang bukan milik Anda" dianggap "pribadi"?
Bagaimana dengan "terenkripsi tetapi pada hard drive lokal Anda"?

Saya kira secara tidak langsung, saya bertanya apakah yang pertama cukup baik, atau apakah yang kedua merupakan persyaratan untuk mempertimbangkan perangkat lunak untuk digunakan? Tidak ada jawaban yang salah; Saya membutuhkan perspektif pengguna di sini.

Pilihan selalu bagus. Jadi pasti akan sepadan dengan waktu dan upaya untuk membayar proyek ini meskipun ada alternatif matang lainnya.

Inilah yang awalnya saya pikir akan menjadi kompromi yang paling fleksibel dan dapat dipertahankan:

Saat ini dalam pengembangan:
Laverna adalah dua komponen, tiga jika Anda menghitung UI, empat jika Anda menghitung mongodb (saat ini merupakan persyaratan). Itu harapan yang tidak masuk akal untuk dikenakan pada pengguna. Komponen yang menghadap pengguna berbicara ke server sinyal, yang pada gilirannya berbicara dengan mongodb. Saat ini yang dilakukan mongodb hanyalah menyimpan nama pengguna dan yang menurut saya adalah kunci publik. Semua yang dilakukan server sinyal (yang saya ketahui) adalah memisahkan database dari komponen yang menangani ui. Ini berarti bahwa pengguna dapat menjalankan laverna "gui" (laverna dalam elektron sebagai contoh) dan terhubung ke "server" / db laverna publik. Implementasi multi-pengguna/multi-perangkat terlihat tidak lengkap meskipun berdasarkan pengujian sepintas saya. Jika itu sepenuhnya lengkap, saya tidak tahu cara menggunakannya, yang berarti mungkin terlalu rumit.

Apa yang saya usulkan untuk dev:
Kami menggabungkan server sinyal dan UI menjadi satu paket. Selain itu, kami membuat versi elektron dari paket gabungan ini. Kami memproses semua data melalui server sinyal ke database. Catatan, buku catatan, file konfigurasi cadangan, semuanya kecuali kunci pribadi. Kami menyertakan konfigurasi yang memungkinkan Anda memulai UI, server sinyal, atau keduanya. Selain itu, kami membangun adaptor untuk server sinyal agar dapat menangani koneksi sqlite3.

Ini membutuhkan laverna dan memungkinkan Anda mengubahnya menjadi apa pun yang Anda inginkan. Tiga konfigurasi yang jelas dengan skema ini yang dapat Anda pilih salah satu dari:

  1. terkelola sepenuhnya: UI, server sinyal, dan basis data semuanya berjalan di server di suatu tempat. Anda terhubung melalui browser. Ini pada dasarnya kurang lebih seperti apa laverna.cc hari ini. Anda mendapatkan sebagian besar kenyamanan, dan tidak perlu mengunduh / menginstal apa pun, tetapi memiliki transparansi paling sedikit dan harus menaruh kepercayaan buta pada administrator server Anda. Saya akan menyebutnya "Konfigurasi Evernote".
  2. klien / server: UI berjalan di komputer klien melalui node atau elektron, server sinyal dan database berjalan di server di suatu tempat. Anda memiliki penyimpanan terpusat dan telah menyediakan fitur kolaborasi apa pun yang mungkin disertakan, dan Anda memiliki klien UI, yang dapat Anda bangun dari sumber untuk memiliki ekspektasi yang wajar bahwa keamanan ditegakkan di tingkat klien. Ini mungkin kompromi terbaik dari fitur, kenyamanan, dan keamanan. Ini samar-samar menyerupai bagaimana saya memahami keybase untuk bekerja.
  3. sepenuhnya mandiri: UI, server sinyal, dan basis data semuanya berjalan dalam satu kotak. Node atau elektron memulai UI dan server sinyal untuk Anda saat Anda menjalankannya. Database adalah pilihan mongodb Anda atau jika Anda menginginkan opsi yang mudah, tanpa instalasi tambahan, Anda dapat memilih sqlite3. Kami sepenuhnya membuang metode dropbox api dan melakukan sinkronisasi dropbox melalui sistem file. Jika Anda ingin dropbox menyinkronkan, Anda dapat memilih untuk meletakkan database di direktori dropbox di jalur apa pun yang terasa nyaman. Jika Anda ingin catatan Anda ditulis ke flash drive atau NFS atau /dev/null, Anda cukup menyuruhnya melakukannya. Ini mungkin hal yang paling dekat dengan bagaimana rilis laverna saat ini bekerja saat ini.

Perhatikan bahwa saya menggunakan "klien" dan "ui" di atas secara bergantian.

Satu-satunya kekhawatiran saya adalah kekokohan sqlite3, terutama saat menyinkronkan di dropbox. Saya punya firasat (dan hanya firasat) bahwa sebagian besar masalah sinkronisasi yang dimiliki orang dengan dropbox terkait dengan api, dan hanya beralih ke aplikasi / sistem file untuk akses dropbox akan menyembuhkan banyak rasa sakit itu.

Itu banyak yang harus dibahas, dan saya mungkin bukan yang terbaik dalam menjelaskan pikiran saya, tetapi pertanyaan? Kekhawatiran? Komentar?

@daed dari sudut pandang pengguna, selama enkripsi cukup kuat dan transparan, db dapat disimpan di mana saja dan itu tidak akan menimbulkan masalah privasi bagi saya.

Saya lebih menyukai model klien/server (2), dengan desktop sumber terbuka dan klien seluler untuk pemeriksaan/audit, dan penyimpanan server untuk portabilitas dan kemampuan berbagi. Seringkali aplikasi menawarkan model mandiri (3) sebagai opsi. Tidak bisakah salinan lokal db dalam model 2 disimpan secara opsional di folder Dropbox, MEGA dll? Itu akan berfungsi bahkan jika server menghilang selamanya.

Pada model (1), bukankah enkripsi/dekripsi sisi klien menyelesaikan masalah kepercayaan? misalnya Lastpass, Bitwarden. Itu dengan asumsi bahwa apa yang berjalan di browser diteliti. Model (1) akan nyaman dalam keadaan tertentu.

Untuk model 1:
'Klien' dalam hal ini hanyalah browser web 'bodoh' yang terhubung ke ui laverna. Itu memberi kita dua pilihan.

  • Kami dapat meminta pengguna untuk jalur ke kunci pribadi mereka sehingga kami dapat membacanya (secara lokal) dan melakukan crypto di browser-side js sebelum menyerahkan pesan ke instance node yang menjalankan laverna ui, yang tidak nyaman karena itu membutuhkan file lokal yang mengalahkan tujuan pengaturan yang dihosting sepenuhnya untuk memulai. Ini akan mirip dengan cara kerja github, tetapi secara teknis github memiliki klien yang masih menggunakan git/ssh.
  • Atau, kami dapat meminta server menyimpan/mengelola kunci pribadi Anda (tetapi TIDAK PERNAH frasa sandi Anda) dan kemudian kami melakukan hal-hal 100% dari jarak jauh. Anda dapat mengunduh/mengubah kunci pribadi Anda, tetapi Anda juga harus percaya bahwa kami tidak menyimpan frasa sandi dan bahwa kami tidak akan mengacaukan keamanan kunci Anda. Ini lebih dekat dengan bagaimana itu diterapkan sekarang saya pikir. Ini pada dasarnya adalah evernote gratis dengan ToS yang lebih ramah dan suasana open source yang menyenangkan. Tidak ideal, tetapi bisa cukup untuk beberapa orang.

Mungkin ada lebih banyak opsi, tetapi saya tidak yakin apa yang akan terjadi saat ini. Lastpass / Bitwarden menyimpan dan mengaburkan kata sandi, pikir saya. Itu adalah fungsi enkripsi yang dapat digunakan bersama dengan ini, tetapi itu tidak menyelesaikan masalah manajemen kunci. Saya juga tidak pernah menggunakan, jadi mungkin saya tidak sepenuhnya memahami kegunaannya.
Semua yang dikatakan, saya mungkin akan mengatur server "resmi" seperti ini di AWS atau sesuatu untuk berjaga-jaga jika itu cukup baik untuk beberapa orang jika tidak semua. Saya membayangkan evernote gratis bahkan dengan beberapa masalah kepercayaan akan lebih dari cukup untuk beberapa pengguna. Mungkin menampar tombol donasi di atasnya dan melihat apakah saya pernah menutup biaya hosting.

Untuk model 2:
Ini sebenarnya adalah implementasi favorit saya dari tiga kemungkinan. Secara teknis, tidak ada perangkat lunak yang perlu diinstal di komputer. Anda dapat menjalankan laverna dari drive usb dan menyimpan kunci Anda di sana. Anda bahkan dapat menyematkannya ke dalam drive usb dengan ekor terpasang di dalamnya jika Anda ingin melangkah sejauh itu untuk komputer umum.
Saya belum mempertimbangkan salinan lokal, tetapi semacam fitur impor/ekspor/cadangan catatan ada di daftar saya, jadi kedua jenis itu cocok bersama dengan baik. Jika server Anda hilang, Anda bisa mengubah ke model 3 dan mengimpor catatan dan melanjutkan seolah-olah tidak ada yang terjadi. Mungkin agak aneh beralih dari data yang disimpan di mongodb ke beberapa format lokal, tapi itu mungkin sesuatu yang bisa ditangani.

Sebagai pembaruan umum, saya membuat bukti aplikasi konsep elektron tadi malam dengan ui dan server sinyal tertanam di dalamnya dan keduanya diluncurkan saat startup. Ini sepenuhnya tanpa polesan dan sama sekali tidak layak untuk dirilis, tetapi telah menunjukkan kepada saya bahwa 100% mungkin untuk tetap memiliki model 3 dengan sedikit usaha tambahan.

Saya pikir jika kita menggunakan skema model 3, saya akan membuat paket untuk versi "server" yang berisi ui laverna dan hal-hal server dan tanpa elektron, serta versi "klien" yang akan berisi komponen untuk semuanya juga sebagai elektron. Untuk versi server, konfigurasi perlu dilakukan dengan mengedit file, tetapi akan mampu menyediakan komponen sisi server untuk model 1 atau model 2, sedangkan versi klien akan memiliki halaman/wizard konfigurasi ui dan mampu menyediakan komponen untuk klien untuk model 2 serta implementasi model 3 lengkap.


Percakapan ini sangat membantu, tetapi tetap menggunakan repo laverna ini tidak terlalu membantu karena saya tidak dapat melakukan apa pun dengannya. Saya masih akan memeriksa di sini untuk melihat apakah ada yang memposting sesuatu yang baru, tetapi jika Anda ingin terus membicarakan ini (dan saya harap semua orang melakukannya!) Saya akan meminta agar kami melakukannya di milik saya di https://github.com/daed /laverna/isu/1.

Dan terima kasih, semuanya.

Saya tidak tahu apa artinya Forking (dan saya tidak yakin saya harus melakukannya?) tapi tetap saja; saya mencoba apk laverna dan sepertinya sinkronisasi tidak akan berfungsi. Saya mencoba dengan 5storage. Tampaknya ada versi Android lain di halaman lain tetapi tidak ada rilis, harus membangunnya dan dengan pengetahuan saya yang buruk itu gagal.

@xreqx Itu berarti proyek sudah mati, dan saya mengambil kode dan memulainya lagi sendiri (dengan siapa pun yang ingin membantu).

Sejujurnya saya belum melihat versi selulernya. Sejujurnya saya tidak punya pengalaman menulis aplikasi seluler. Ini adalah sesuatu yang saya ingin bekerja sekalipun.

mungkin perlu disebutkan file standar ; perpustakaan yang digunakan oleh catatan standar .

File Standar adalah pustaka sinkronisasi dan enkripsi untuk web dan aplikasi asli. Ini memungkinkan pengembang untuk fokus membangun aplikasi yang menghadap pengguna yang hebat, dan membiarkan sinkronisasi, server, dan enkripsi ujung ke ujung ke perpustakaan ini.
..
File Standar adalah sistem klien dan server yang dapat digunakan kembali yang memungkinkan Anda untuk menggunakan server backend "bodoh" yang tidak mengetahui atau peduli dengan skema data Anda, dan memungkinkan Anda untuk mengenkripsi data di sisi klien dan menyinkronkannya dengan server jarak jauh .

Jadi, wwebfor kembali kepada saya. Dia sudah selesai dengan proyeknya.

Catatan, saya membuat halaman wiki ini beberapa waktu lalu. Saya telah menautkan ke komentar Anda:
https://github.com/Laverna/laverna/wiki/DEAD-PROJECT-ALERT

Apakah halaman ini membantu?
0 / 5 - 0 peringkat