Add autosaving to the editor #688

已合并
epsilon-phase 4 年前 将 6 次代码提交从 confirmation-autosave 合并至 master
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:
所有者

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();
所有者

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 被合并。
你也可以查看 命令行指令

第一步:

从你的仓库中签出一个新的分支并测试变更。
git checkout -b confirmation-autosave master
git pull origin confirmation-autosave

第二步:

合并变更并更新到 Forgejo 上
git checkout master
git merge --no-ff confirmation-autosave
git push origin master
登录 并参与到对话中。
无审核者
未选择里程碑
未指派成员
2 名参与者
通知
到期时间
到期日期无效或超出范围。请使用 'yyyy-mm-dd' 格式。

未设置到期时间。

依赖工单

没有设置依赖项。

参考:Plume/Plume#688
正在加载...
这个人很懒,什么都没留下。