Add autosaving to the editor #688

マージ済み
epsilon-phase が 6 個のコミットを confirmation-autosave から master へマージ 4年前
epsilon-phase がコメント 4年前 (github.comから移行)

This should fix #686 Confirmation prior to navigating away is easy enough to add, but it'd be good to know if it's wanted first since this seems like it might serve the same purpose

This should fix #686 Confirmation prior to navigating away is easy enough to add, but it'd be good to know if it's wanted first since this seems like it might serve the same purpose
codecov[bot] がコメント 4年前 (github.comから移行)

Codecov Report

Merging #688 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #688   +/-   ##
=======================================
  Coverage   39.35%   39.35%           
=======================================
  Files          72       72           
  Lines        9494     9494           
  Branches     2263     2263           
=======================================
  Hits         3736     3736           
  Misses       4702     4702           
  Partials     1056     1056
# [Codecov](https://codecov.io/gh/Plume-org/Plume/pull/688?src=pr&el=h1) Report > Merging [#688](https://codecov.io/gh/Plume-org/Plume/pull/688?src=pr&el=desc) into [master](https://codecov.io/gh/Plume-org/Plume/commit/865f372d5a9c0866c7ec5215afb69d2916740c07?src=pr&el=desc) will **not change** coverage. > The diff coverage is `n/a`. ```diff @@ Coverage Diff @@ ## master #688 +/- ## ======================================= Coverage 39.35% 39.35% ======================================= Files 72 72 Lines 9494 9494 Branches 2263 2263 ======================================= Hits 3736 3736 Misses 4702 4702 Partials 1056 1056 ```
trinity-1686a がレビュー 4年前
trinity-1686a がコメント
オーナー

👀

:eyes:
trinity-1686a がコメント 4年前
オーナー

while content is probably the most annoying to loose, if we do a local save, we should as well save everything (including subtitle, tags...)

while content is probably the most annoying to loose, if we do a local save, we should as well save everything (including subtitle, tags...)
@ -66,0 +212,4 @@
fn autosave_debounce() {
let timeout = &mut AUTOSAVE_TIMEOUT.lock().unwrap();
if let Some(timeout) = timeout.take() {
timeout.clear();
trinity-1686a がコメント 4年前
オーナー

I guess set_interval does not exist? 😕

I guess set_interval does not exist? :confused:
epsilon-phase (github.comから移行) がレビュー 4年前
@ -66,0 +212,4 @@
fn autosave_debounce() {
let timeout = &mut AUTOSAVE_TIMEOUT.lock().unwrap();
if let Some(timeout) = timeout.take() {
timeout.clear();
epsilon-phase (github.comから移行) がコメント 4年前

It doesn't look like it, oddly.

It doesn't look like it, oddly.
epsilon-phase (github.comから移行) がレビュー 4年前
epsilon-phase (github.comから移行) がコメント 4年前

True enough, easy enough to add too

True enough, easy enough to add too
epsilon-phase (github.comから移行) がレビュー 4年前
@ -66,0 +212,4 @@
fn autosave_debounce() {
let timeout = &mut AUTOSAVE_TIMEOUT.lock().unwrap();
if let Some(timeout) = timeout.take() {
timeout.clear();
epsilon-phase (github.comから移行) がコメント 4年前

Okay, works fine in the js!

Okay, works fine in the `js!`
elegaanz (github.comから移行) がレビュー 4年前
elegaanz (github.comから移行) がコメント

I didn't tested yet, but I left a few comments about the code itself.

I didn't tested yet, but I left a few comments about the code itself.
elegaanz (github.comから移行) がコメント 4年前

Is the type hint really needed?

Is the type hint really needed?
elegaanz (github.comから移行) がコメント 4年前

Maybe this line should be removed ?

Maybe this line should be removed ?
elegaanz (github.comから移行) がコメント 4年前

This one too

This one too
elegaanz (github.comから移行) がコメント 4年前

You should use i18n! for formatting, to allow the date to be placed somewhere else in the sentence if translators need to do so.

i18n!(
    CATALOG,
    "Do you want to load the local autosave last edited at {}";
    Date::from_time(autosave_info.last_saved).to_date_string()
)
You should use `i18n!` for formatting, to allow the date to be placed somewhere else in the sentence if translators need to do so. ```rust i18n!( CATALOG, "Do you want to load the local autosave last edited at {}"; Date::from_time(autosave_info.last_saved).to_date_string() ) ```
elegaanz (github.comから移行) がコメント 4年前

Why does it need to be unsafe?

Why does it need to be `unsafe`?
epsilon-phase (github.comから移行) がレビュー 4年前
epsilon-phase (github.comから移行) がコメント 4年前

Oh, probably not

Oh, probably not
epsilon-phase (github.comから移行) がレビュー 4年前
epsilon-phase (github.comから移行) がコメント 4年前

Oh, it should probably just be unsafe on the lines that refer to the static mut

Oh, it should probably just be unsafe on the lines that refer to the `static mut`
elegaanz (github.comから移行) がレビュー 4年前
elegaanz (github.comから移行) がコメント 4年前

No, I don't know much about unsafe, so maybe you are right and whole function should be. But also, I feel like there is a better way to do this, like going with lazy_static for instance.

No, I don't know much about unsafe, so maybe you are right and whole function should be. But also, I feel like there is a better way to do this, like going with lazy_static for instance.
epsilon-phase (github.comから移行) がレビュー 4年前
epsilon-phase (github.comから移行) がコメント 4年前

That option looked off to us too tbh.. At least on its own
Maybe it'd be better to use a RefCell or something?

That option looked off to us too tbh.. At least on its own Maybe it'd be better to use a RefCell or something?
elegaanz (github.comから移行) がレビュー 4年前
elegaanz (github.comから移行) がコメント 4年前

Anything that will prevent having unsafe code is fine (not that it is really unsafe, we only have one thread when running in the browser).

Anything that will prevent having `unsafe` code is fine (not that it is really unsafe, we only have one thread when running in the browser).
epsilon-phase (github.comから移行) がレビュー 4年前
epsilon-phase (github.comから移行) がコメント 4年前

Didn't realize it was possible to do that with i18n!, that's nifty :)

Didn't realize it was possible to do that with `i18n!`, that's nifty :)
elegaanz (github.comから移行) が変更を承認 4年前
elegaanz (github.comから移行) がコメント

Works as expected, thank you!

Works as expected, thank you!

レビューア

プルリクエストは c0469c69c1 でマージされています。
コマンドラインの手順も確認できます。

ステップ 1:

あなたのプロジェクトリポジトリで新しいブランチをチェックアウトし、変更内容をテストします。
git checkout -b confirmation-autosave master
git pull origin confirmation-autosave

ステップ 2:

変更内容をマージして、Forgejoに反映します。
git checkout master
git merge --no-ff confirmation-autosave
git push origin master
サインインしてこの会話に参加。
レビューアなし
マイルストーンなし
担当者なし
2 人の参加者
通知
期日
期日が正しくないか範囲を超えています。 'yyyy-mm-dd' の形式で入力してください。

期日は未設定です。

依存関係

依存関係が設定されていません。

リファレンス: Plume/Plume#688
読み込み中…
まだ内容がありません