社区缺陷报告与功能建议

本贴最后更新于 1825 天前,其中的信息可能已经天翻地覆

社区系统可能存在一些潜在的缺陷,大家如果有空的话可以帮助我们一起解决。

报告缺陷

如果你在使用社区时发现了如下类型的问题,请回帖进行反馈,并附上 bug 截图以及操作步骤:

  • 功能性缺陷:例如积分账目不对、发布文章失败、关注失败等
  • 安全性漏洞:例如 XSS/CSRF、盗用用户信息等

功能建议

欢迎对社区提出功能特性方面的建议,我们一起讨论,如果有可能我们会尽快实现。

在提功能建议前可以先看一下计划表,避免重复提议。

积分奖励

  • 安全方面漏洞,奖励 500 积分
  • 功能性缺陷、用户体验改进、新功能建议等奖励 300 积分
  • UI 方面的缺陷(比如对不齐、焦点样式不对等)奖励 200 积分
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    75 引用 • 1737 回帖 • 5 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注
  • 系统公告

    B3log 社区相关的重要公告,比如新特性上线,运营策略调整等。

    39 引用 • 3578 回帖 • 681 关注
  • 使用指南

    链滴用户指南系列帖,社区功能可在此逐一了解,欢迎讨论。

    42 引用 • 2889 回帖 • 33 关注
1 操作
88250 在 2019-11-23 11:24:53 更新了该帖

相关帖子

优质回帖
  • csfwff 2


    solo 3.6.4,编辑器表情有重复的

  • PeterChu 1 1 赞同

    😄 good,也是啊,那应该给下面加个分割线啥的以示区分

  • InkDP 2
    该回帖仅作者和楼主可见

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 714593351

    @88250 有 bug 啊
    1461299661336

  • 其他回帖
  • MarkDown 里不是有个代码块吗?在链滴中,或许做一个代码块直接执行的功能。

    比如 Windows 端上的 cmd 命令:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip install you-get
    
    cd C:\Portable_Programes
    git clone https://github.com/carykh/jumpcutter
    cd jumpcutter
    python -m pip install -r requirements.txt
    

    这样的一些简单可执行的代码笔记就可以直接右键执行,省下 win + r cmd enter right click enter 的步骤了。

    对上面这个需求,@CismonX 提出了看法,认为这是个伪需求:

    一个正常的程序员不会在一个本地的笔记应用中写脚本,然后点进去执行

    为什么不写个 shell 脚本呢?把常用的参数整理好,不比在笔记中修改要方便?

    我的回答是:

    对许多方便实用的命令,做成脚本不方便改一些重要参数,比如

    ffmpeg -y -hide_banner -ss 00:05 -to 00:10 -i "input.mp4" -filter_complex "[0:v] scale=480:-1, fps=15, split [a][b];[a] palettegen [p];[b][p] paletteuse" "output.gif"

    这条命令是将视频剪切 5s - 10s 的片段,转成 480P 15fps 的 gif。

    而对另外一个视频,可能就需要剪切 15s-18s 的片段,或者改成 360P 以减少大小,就需要修改参数。

    对于其它复杂的命令,还可能有更多关键参数需要调。就需要打开脚本位置,右键,点击用 Notepad++ 编辑,修改参数,保存,切换到 explorer ,双击运行。步骤有点多。

    而且,一个脚本只能有一个功能,不像是 Markdown 笔记中,可以用多个代码块记录多个不同功能的命令,无论是修改,还是浏览,还是做总结,都更方便。

    另外,Vditor 似乎缺少 batch 语言的代码高亮。

    在代码高亮这一方面,可以把 Notepad++ 的抄过来,它在这方面支持地比较全面:

    image.png

    1 操作
    HaujetZhao 在 2020-05-27 13:21:19 更新了该回帖
    代码块的执行功能有一定应用场景,但不能做成默认启用,需要用户在设置中打开“执行代码块”功能开关,否则有安全隐患。这个功能暂时记录在链滴 issue,以后再考虑细节实现。
    88250
    如果以后要考虑实现的话,一个“复制并打开 cmd”的右键选项是比较安全合适的。
    HaujetZhao
  • HaujetZhao 2 2 赞同 4 评论

    反馈

    Vditor 编辑器

    以下的许多反馈都是以 Typora 作为参照的。

    即时渲染模式

    加粗等功能使用:

    有如下一段文字,将光标移动到 地方 中央:image.png

    此刻,在 Typora 中,按下 Ctrl + B 时,会直接将 地方 加粗(“地方”与相邻的语句有空格相隔,所以不会加粗周围的语句):FA3J7TV10M6GGBO56RN.png

    而在 Vditor 中,按下 Ctrl + B 时,是这个效果:image.png 。想要将“地方”加粗,就要用光标选中要加粗的字。

    同理 Ctrl + I 等功能也是这样的。

    不清楚这是由于暂时沿续 所见即所得模式 的逻辑,还没来得及做这个细节,还是说这样的逻辑就定型了,是 Vditor 的 Feature。

    列表

    有这样一个无序列表:

    • 这是条目一
    • 这是条目二
    • 这是条目三

    在 Typora 中,通过以下两种方式:

    1. 将光标放到 “这是条目二”后,按下 Ctrl + Enter
    2. 将光标放到 “这是条目二”后,按下 Enter ,出现新项,再按下 Backspace

    就可以创建出这样的列表:

    • 这是条目一
    • 这是条目二
      条目二的第二段
    • 这是条目三

    目前已知在 Vditor 中可以通过 Shift + Enter 实现,不过无法用 “按下 Enter ,出现新项,再按下 Backspace”的方法。没有第二种方法的话,对手机端编辑可能有点不方便。

    不知是否会引入。

    图片名字定位

    在 Typora 中,单击图片后,光标会自动跳转到图片 ![name](/assets/image.png)[name] 部分并全选 name,然后就可以直接输入新名字。在 Vditor 中,只有当鼠标精确地点击图片左侧或右侧的位置时,才会出现 ![name](/assets/image.png) 字样,要更改图片名字的话,还是需要手动选中 name 的。尚不清楚是否是还没来得及做这样的细节。

    图片末尾空格自动消失

    当有一个图片独占一行,例如下图:

    image.png

    一般在光标定位到这一行时,图片引用会自动展开 ![image.png](https://b3logfile.com/file/2020/05/image-957ebe1c.png) ,为了防止误点到这一行导致展开,页面闪动影响观感,我们一般会在图片后加一个空格,这样点到这一行也不会发生图片位置的跳动。

    但是,Vditor 的即时渲染模式中,即使在这个图片后加了一个空格,光标移到其它地方,再移回来,会发现加的空格消失了!图片引用又自动展开了。

    标题快捷键添加意外

    有以下一个标题:## 四级标题

    当发现标题级别设错了,将光标移到这一行,用快捷键 Ctrl + Alt + 4 ,发现变成了这个样子:###### 四级标题 ,而不是预想的 #### 四级标题

    标题快捷键导致光标重置

    当在一行输入标题 这是标题 ,光标在标题末尾时,按下快捷键 Ctrl + Alt + 2 ,发现添加标题符号后,光标跑到 这是标题 左边了,这时要继续编写标题的话,还要手动再把光标定位到末尾。

    12

    行内数学式

    下面的行内公式不会被渲染:

    $1 + x = 5$
    
    代码块跳出

    在 Typora 中,如果光标处于代码块中,按下 Ctrl + Enter ,会跳出代码块,新建一行,目前暂时没有找到在 Vditor 中跳出代码块并新建一行的方法。已知在代码块中按 Down 可以移到下一行。当然,这个 feature 属于可加可不加那种的。

    代码块强制要求语言

    按下三个 ``` 回车后,出现代码块,这个代码块强制要求输入语言,否则那个语言框就一直档着:

    image.png
    无法用键盘将光标移到编辑区,只能用鼠标点下代码编辑区,再继续写。有时候用代码块不是为了写某个语言,只是有些字符容易误渲染,把这样的段落放到代码块里面而已。

    代码块中输入三个 `

    在 Typora 中,代码块中是可以在行首输入三个 ` 的。Vditor 中不行了。查看 MarkDown 源格式,发现 Typora 会在代码块这种特殊行的行首加入一个占位符:

    image.png

    ` 的转义

    在 Vditor 中,如果一行有 2 个 ` ,那么之间的内容就肯定会被渲染成行内代码,并且无法转义,在 Typora 中,可以将其用 \ 进行转义:

    image.png

    建议参照下。

    一些渲染延迟

    例如,有以下:

    image.png
    此时回车,会变成这样:

    image.png
    然后光标移动到新行,写一个字符,才变成正常样子:

    image.png
    还有图片粘贴后,也有渲染延迟问题,只显示索引代码,只有当再输入一个非空白字符后,才会渲染成图片。

    不支持多个空白行

    在所见即所得模式下,可以多次回车,得到多行空白,在即时渲染模式下就不行了。

    所见即所得模式

    行内公式闪动

    当在所见即所得模式下,输入行内数学公式如 \alpha 后,如果再在这一行输入其它内容,公式会在源格式和渲染格式之间闪动一下。

    复制

    行内代码块复制

    有这么一个行内代码块:image.png ,用鼠标全选后 image.png ,复制,在同一文档粘贴,会变成:image.png

    跨文档复制

    当在一个 Vditor 编辑器中复制文章后,粘贴到另一个 Vditor 编辑器(例如 Arya 编辑器),跨文档复制,就会变成这样:

    image.png
    变成了代码块,而不是源格式。

    自动新行

    在 Typora 中,当光标处于有文字的最后一行,再点击下方空白处时,如下图:

    image.png
    会自动创建 新行 并转到 新行

    image.png
    这个 Feature 超实用。从 Typora 转到 Vditor ,就属这一点的不支持最不习惯。

    聊天室

    点击视频播放自动回 home

    使用的是 Chrome 安卓端,打开聊天室,看见有人发视频了,点击视频中央的播放按钮,视频播放的同时,页面不是保持原来的位置,而是滚动到了页首,光标自动定位到了输入框。

    后记:

    写这么多真是累死了。本来是要反馈 2 - 3 条的,许多反馈条目其实是在反馈编写的过程中发现,又加上的。即时渲染模式毕竟刚上线不久,有一些小细节没来得及做,可以理解。

    另外,刚才在电脑端此贴回复页面粘贴这 3000 多字的反馈,然后页面就提示"System Error,请稍候重试",然后电脑就访问不了黑客派了,重启光猫,换了公网 IP 才解决,通过手机端发帖之后,然后我又试了两次,只要电脑端(新 Edge)编辑一下这个贴,IP 立马被拉黑。现在只能拿手机端编辑……,不敢再试了,每次重启光猫要两分钟。

    1 回复
    4 操作
    HaujetZhao 在 2020-05-25 15:10:24 更新了该回帖
    HaujetZhao 在 2020-05-25 15:05:22 更新了该回帖
    HaujetZhao 在 2020-05-25 14:11:44 更新了该回帖
    HaujetZhao 在 2020-05-25 14:10:20 更新了该回帖
    抠细节,好细致,赞
    PeterChu
    行内数学式是有配置项,防止有人想输入美元。
    Vanessa
    聊天室的问题还存在么?
    Vanessa
    终于看完了,基本修复了,欢迎下一版本尝鲜
    Vanessa
  • 88250

    Solo 和 Pipe 的定位是 B3log 分布式社区的博客端节点,并不是通常意义上的独立博客,所以账号体系需要进行统一,否则带来的问题会很多,这也是一路下来探索的,具体经历细节请看这里

    你提到的解决方案在 Solo v3 之前一直就是这样做的,经过长时间验证效果并不理想:

    • 不方便,用户需要在社区端和博客端配置账号关联关系
    • 不安全,账号的关联关系需要双向验证,如果不验证账号归属,会被冒名

    这两个问题是矛盾的,所以为了解决它需要将账号在 B3log 网络中进行唯一化。一开始的设计方案是通过公私钥(类似区块链的钱包原理),但这个方案在现阶段过于复杂,用户使用门槛有点高所以暂时放弃了。公私钥的方案在星火项目里进行过测试验证,技术上应该没问题,以后鱼塘项目可能会采用这个方案。

    所以再次重申一下,Solo 和 Pipe 是 B3log 分布式社区的博客端节点。举个最容易理解的例子,这就好比某些厂商的软件,没有这个厂商的账号是用不了的。打通其他网络的方案是在博客端或者社区端接入其他网络的账号,目前已经在黑客派上接入 GitHub 登录(可在账号设置中绑定),Solo 可通过 GitHub token 来将文章同步到自己的仓库,避免整个 B3log 网络过度封闭内卷。

    最后,希望目前加入到 B3log 的用户是认可这个设计的,如果不认可的话其实就没必要加入使用了,节省自己时间同时也能保护 B3log。当然,不排除以后设计还会有所变化,欢迎参与思考讨论,谢谢。

    1 回复
  • 查看全部回帖