Jeric-X / SyncClipboard

跨平台剪贴板同步方案 / Cross-Platform Cipboard Syncing Solution
MIT License
1.24k stars 52 forks source link

安卓上传电脑显示空白,但提示上传成功(以前好好的更新后不知道怎么了) #62

Closed dongbao66 closed 3 months ago

dongbao66 commented 3 months ago

1 2 3

电脑复制后,手机使用 HTTP快捷方式 下载剪贴板能够成功获取文本,但是手机复制后执行HTTP的上传剪贴板操作后,电脑却不能获取文本,电脑的剪贴板有一个空白。

Jeric-X commented 3 months ago
  1. log发一下收到空白消息的那个时间点的,最好能体现从非空白变成空白的过程
  2. 从什么版本更新的,就是从上个版本更新的吗
  3. 安卓系统有更新吗
  4. 打开HTTP快捷方式主界面,在软件主界面内点上传能成功吗
dongbao66 commented 3 months ago

1. 1

  1. 2.74升上来的,HTTP也更新到最新版了,所以不知道是那个软件升级导致的,升级导致仅仅是猜测的原因。
  2. 安卓系统没更新
  3. 可以显示上传成功
dongbao66 commented 3 months ago

发现问题,是我在下拉控制中心点击磁贴导致的。 1. 2 2. 3

使用这种方式就会导致电脑,在上传后显示空白。 而再软件内点击上传到剪贴板,就会正常同步。 但是以前点击磁贴是会正常上传同步的,可能是更新到最新版HTTP软件导致的吧

ningcol commented 3 months ago

我的安卓上传也是,服务器上没有内容

ningcol commented 3 months ago

我直接在快捷方式app中点击上传也不能成功,我是下载的最新版

Jeric-X commented 3 months ago

开启服务器,关闭桌面端的剪贴板同步。或者使用独立服务器,并退出所有桌面端 然后触发一次空白内容的上传,在服务器文件里查看SyncClipboard.json是什么内容 另外log再稍往前一点,可以多截一点

dongbao66 commented 3 months ago

明天试试,我用的webdav同步,应该怎么搞

Jeric-X commented 3 months ago

就直接看webdav网盘文件夹下SyncClipboard.json里边是什么就好了

ningcol commented 3 months ago

root@jericx-syncclipboard-server-1:/app/server# ls
SyncClipboard.json file
root@jericx-syncclipboard-server-1:/app/server# cat SyncClipboard.json
{"File":"","Clipboard":"","Type":"Text"}root@jericx-syncclipboard-server-1:/app/s erver#

没东西

Jeric-X commented 3 months ago

root@jericx-syncclipboard-server-1:/app/server# ls SyncClipboard.json file root@jericx-syncclipboard-server-1:/app/server# cat SyncClipboard.json {"File":"","Clipboard":"","Type":"Text"}root@jericx-syncclipboard-server-1:/app/s erver#

没东西

如果没有其他桌面端运行的话(桌面端会自动删除不合法的SyncClipboard.json并创建一个Type为Text的空剪贴板),就是安卓端APP没获取到剪贴板内容了(或者说获取到空字符串),但是我自己一直没复现,不知道怎么回事

dongbao66 commented 3 months ago

1.是webdav长传显示空白时,网盘文件夹下SyncClipboard.json里边的内容 1

2.是上传空白是,电脑的log日志 2

dongbao66 commented 3 months ago

4

Jeric-X commented 3 months ago

@dongbao66 大概是手机端APP的问题。跟着我的视频创建一个快捷指令,在手机上随便复制点什么,分别在控制中心和软件内使用,看看能不能调用默认浏览器使用百度搜索正在复制的东西

涉及到的手动输入的部分是https://www.baidu.com/s?ie=UTF-8&wd=

https://github.com/Jeric-X/SyncClipboard/assets/10058586/d7d7cca5-35cb-49db-bdbc-714a3420728c

@ningcol 如果app内也不成功,更多的想考虑是系统对app读取剪贴板有限制,是和lz一样以前有成功过吗?

dongbao66 commented 3 months ago

@Jeric-X 两个方式都可以调用默认浏览器,通过百度搜索正在复制的东西

Jeric-X commented 3 months ago

两个方式都可以调用默认浏览器,通过百度搜索正在复制的东西

好好好,这么玩是吧,现在我不会了

dongbao66 commented 3 months ago

哈哈哈 bug那只能暂时搁置了

Jeric-X commented 3 months ago

再帮我试一下吧,看一下能否上传成功,以及提示什么,粘贴的代码以这里的为准

https://github.com/Jeric-X/SyncClipboard/assets/10058586/24ec120c-4aae-4380-a5ec-3d7a1ed69907

let text = getVariable('Clipboard');
if (text != null) {
    text = text.replace(/\\r\\n/g, '\r\n')
    text = text.replace(/\\\\/g, '\\')
    text = text.replace(/\\\//g, '/')
    showToast(text)
    setVariable('Clipboard', text)
} else {
    showToast('null clipboard value')
}
dongbao66 commented 3 months ago

再帮我试一下吧,看一下能否上传成功,以及提示什么,粘贴的代码以这里的为准

Screenrecorder-2024-04-13-18-23-02-883.mp4

let text = getVariable('Clipboard');
if (text != null) {
    text = text.replace(/\\r\\n/g, '\r\n')
    text = text.replace(/\\\\/g, '\\')
    text = text.replace(/\\\//g, '/')
    showToast(text)
    setVariable('Clipboard', text)
} else {
    showToast('null clipboard value')
}

把上面的代码放到脚本编写里面后,在磁贴点上传,由于看视频也把//上传成功注释了,手机不提示上传成功了,电脑同样还是空白。 但是在手机app里面点上传,电脑可以正常同步获取信息, 还是一样。 你没有遇到这个问题吗?

Jeric-X commented 3 months ago

因为我加了新的提示setVariable('Clipboard', text),所以把之前的那个注释了,应该提示的是剪贴板内容,没有可能就是没获取到。我两种触发方式一直都是成功的 把代码换成这个试试呢

let text = getClipboardContent()
if (text != null) {
    showToast(text)
    setVariable('Clipboard', text)
} else {
    showToast('null clipboard value')
}
dongbao66 commented 3 months ago

第一次修改代码情况下,如果是提示复制的内容的话,在app内点击,会提示,能上传成功。在磁贴点击什么都不会提示

dongbao66 commented 3 months ago

因为我加了新的提示setVariable('Clipboard', text),所以把之前的那个注释了,应该提示的是剪贴板内容,没有可能就是没获取到。我两种触发方式一直都是成功的 把代码换成这个试试呢

let text = getClipboardContent()
if (text != null) {
    showToast(text)
    setVariable('Clipboard', text)
} else {
    showToast('null clipboard value')
}

换成这个点击磁贴上传,显示 1

而在app内点击上传,会显示复制内容,并上传成功

Jeric-X commented 3 months ago

是什么WebDAV提供商,坚果云的话短时间次数过多会这样

dongbao66 commented 3 months ago

自己搭的cloudreve网盘的webdav

dongbao66 commented 3 months ago

是什么WebDAV提供商,坚果云的话短时间次数过多会这样

重试了一下,不过现在不会提示上面错误但是 什么都不会提示

Jeric-X commented 3 months ago

OK没救了,说一下手机牌子和系统版本吧

dongbao66 commented 3 months ago

主要是以前可以啊😭

oppo x2p color13 安卓13

Jeric-X commented 3 months ago

我又想到了一个原因,如果大于等于安卓10的话,后台无法获取剪贴板,但是从后台切回前台获取剪贴板还是有一个延时,就像这个文章说的,有可能是HTTP Request Shortcuts更新优化了一波启动速度。不知道你懂不懂js,可以自己尝试加一个sleep函数手动延迟1妙后再获得剪贴板,我随手百度是好像没有这种函数,一会有点事暂时看不了,之后我再想想办法验证一下是不是这个问题

dongbao66 commented 3 months ago

找到解决办法了。 原因是由于我开启了最新版http的实验性功能导致的。 Screenshot_2024-04-13-21-02-59-58_2336fb421d5c0b1cb70534a33f41c259

切换成默认就好了😂

Jeric-X commented 3 months ago

你tm,行

dongbao66 commented 3 months ago

爱你😘老哥

ningcol commented 3 months ago

我是第一次下载安装,使用的是安卓最新版本的快捷指令http,和mac客户端,docker安装的独立服务端

image
Jeric-X commented 3 months ago

@ningcol 那就先试这个https://github.com/Jeric-X/SyncClipboard/issues/62#issuecomment-2053593342 然后试这个https://github.com/Jeric-X/SyncClipboard/issues/62#issuecomment-2053618818

Jeric-X commented 3 months ago

@ningcol 如果有问题开新issue,此条关闭了