text:
Attempting to connect to the same volume on two vms will freeze the second vm

Environment Details: 4 vms, 2 VMWare hosts. Driver version 0.11.2.
Steps to Reproduce:

Create a new docker volume
Make sure the volume exists on both VMWare hosts
Connect to the volume from multiple vms

Expected Result: The first docker run will successfully complete and mount the volume. All consecutive attempts will timeout and throw an error.
Actual Result: The first docker run will successfully complete and mount the volume. All consecutive attempts will soft lock the vm until the first docker container is exited.
Triage:
VM 1:
core@dcos-lab-agent-1 ~ $ docker volume create --driver=vmdk --name=TestVolume -o size=5gb
TestVolume
core@dcos-lab-agent-1 ~ $ docker volume ls
DRIVER              VOLUME NAME
vmdk                TestVolume@nfs-sdd-z1-04
vmdk                demo-voting-app-pg-data-labgen01@nfs-sdd-z1-04
core@dcos-lab-agent-1 ~ $ docker run --rm -it -v TestVolume:/mnt/testvol busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox

4b0bc1c4050b: Pull complete
Digest: sha256:817a12c32a39bbe394944ba49de563e085f1d3c5266eb8e9723256bc4448680e
Status: Downloaded newer image for busybox:latest
/ #

VM 2:
core@dcos-lab-agent-2 ~ $ docker volume ls
DRIVER              VOLUME NAME
local               1278f99854586c2759b7aa434f75cd51e9951fed2b0cc9288d5e468567c0f51f
local               2eeb8b03abfae505a19ada88dced801814c5d96309141e552e41d13408fdc729
local               85ded4466a5826797b36aa490a8e931ab219f5c66436af4d8fd8d4ba60fdb501
local               9d4952217beee30159ea914d9f49c410db80bf159a117a7b4fac1147d3a35868
vmdk                TestVolume@nfs-sdd-z1-04
vmdk                demo-voting-app-pg-data-labgen01@nfs-sdd-z1-04
local               e0049e8c01a8b05cf8982aec0b23b17c1fe96d97dcab0875d54d1c9b3c3bb542
local               e36953d104fba56b1693ce9a32cb1e34f5d6c37206dee416e22e95fc4967f006
local               f2630e7f30b2d72eea900535b0a7494fd10142eaaae5bd2d060cd94a3a2af474
core@dcos-lab-agent-2 ~ $ docker run --rm -it -v TestVolume:/mnt/testvol busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox

4b0bc1c4050b: Pull complete
Digest: sha256:817a12c32a39bbe394944ba49de563e085f1d3c5266eb8e9723256bc4448680e
Status: Downloaded newer image for busybox:latest
<soft lock>

This was the initial behavior, but after more testing, the driver is timing out.

Thanks @Kronia1 for giving this a try. We would love to hear more about your experience and use case. Feel free to reach out to us @ containers@vmware.com
@shuklanirdesh82 Adding regression-test-needed label for adding test with NFS backend. NFS locks could  bubble up interesting behaviors in our code.

Adding regression-test-needed label for adding test with NFS backend. NFS locks could bubble up interesting behaviors in our code.

Sure, we will enhance the testbed coverage with NFS backend.


text:
Detaching disks when vmgroup is removed

Replaces https://github.com/vmware/docker-volume-vsphere/pull/1652
Fixes https://github.com/vmware/docker-volume-vsphere/issues/1441
Force detach disks even if we cannot find VMgroup
If VMgroup for VM is not found during detach operation
(can happen if, say _DEFAULT group was deleted when a container with an attached volume was in flight on the VM), we force_detach volume no matter what.
The code introduces special handling of get_tenant() failures on detach path. It looks for attached disk matching datastore/volume (ignoring tenant) and detaches it if found.
See #1441 and in-code comment for more info
Basically, @govint was right and it is not trivial, but not impossible either.
Github diff is confused, add ?w=1 to diff URL to see the changes without whitespace shift
TEST: Manual:

run a container with a volume
remove _DEFAULT group
observe the disk detached

ESX log:
[root@msterin-esx-136:/usr/lib/vmware/vmdkops/bin] ./vmdkops_admin.py config init --local
Warning: this feature is EXPERIMENTAL
Creating new DB at /etc/vmware/vmdkops/auth-db

VM:   docker run -it --rm -v vol1:/vol busybox ping 8.8.8.8 > /dev/null
ESX Log:
...
07/29/17 01:21:08 307165 [vDVS_test1-datastore1._DEFAULT.vol1] [INFO   ] executeRequest 'attach' completed with ret={'Unit': '0', 'ControllerPciSlotNumber': '192'}
...

VM: Control-C to kill to the container
ESX log:
07/29/17 01:21:30 307165 [Thread-5] [WARNING] executeRequest: FORCE_DETACH vm_uuid=42190e33-70c6-f937-36ff-c7847eae3268, vm_name=vDVS_test1, full_volume_name=vol1@datastore1
07/29/17 01:21:30 307165 [Thread-5] [INFO   ] vol_name=vol1, datastore=datastore1
07/29/17 01:21:30 307165 [Thread-5] [WARNING] Failed to find VM by VC UUID 50193d94-964c-8fe0-f928-8199a1ff9561, trying BIOS UUID 42190e33-70c6-f937-36ff-c7847eae3268
07/29/17 01:21:30 307165 [Thread-5] [INFO   ] Found vm name='vDVS_test1'
...
07/29/17 01:21:30 307165 [Thread-5] [INFO   ] backing disk name is  dockvols/11111111-1111-1111-1111-111111111111/vol1.vmdk
07/29/17 01:21:30 307165 [Thread-5] [WARNING] Found path: /vmfs/volumes/datastore1/dockvols/11111111-1111-1111-1111-111111111111/vol1.vmdk
07/29/17 01:21:30 307165 [vDVS_test1-datastore1.__NoSuchTenant__.vol1] [INFO   ] *** disk_detach: VMDK /vmfs/volumes/datastore1/dockvols/11111111-1111-1111-1111-111111111111/vol1.vmdk to VM 'vDVS_test1' , bios uuid = 42190e33-70c6-f937-36ff-c7847eae3268, VC uuid=50193d94-964c-8fe0-f928-8199a1ff9561)
07/29/17 01:21:30 307165 [vDVS_test1-datastore1.__NoSuchTenant__.vol1] [WARNING] Failed to find VM by VC UUID 50193d94-964c-8fe0-f928-8199a1ff9561, trying BIOS UUID 42190e33-70c6-f937-36ff-c7847eae3268
07/29/17 01:21:30 307165 [vDVS_test1-datastore1.__NoSuchTenant__.vol1] [INFO   ] Found vm name='vDVS_test1'
07/29/17 01:21:31 307165 [vDVS_test1-datastore1.__NoSuchTenant__.vol1] [INFO   ] Disk detached /vmfs/volumes/datastore1/dockvols/11111111-1111-1111-1111-111111111111/vol1.vmdk
07/29/17 01:21:31 307165 [vDVS_test1-datastore1.__NoSuchTenant__.vol1] [INFO   ] executeRequest 'detach' completed with ret=None

@tusharnt @govint @lipingxue @shaominchen @pshahzeb @shuklanirdesh82

@govint @msterin Have we verified other volume operations (create/delete/attach/ls/inspect) when default vmgroup is removed? If detach is the only operation that needs a special handling, it's probably acceptable with this hack. Otherwise if more operations need special hacks like this, then it is a design issue.

@shaominchen - thanks for taking a look !
All other operations should be rejected if a VM is not in a named group and there is no fallback (default). This is by design (for security lockdown)  and is supposed to be tested outside of this PR, so the issue was with detach only. Thus the patch is explicitly dealing with the detach only.
Actually, the reasons it's a hack is not the design, but rather implementation which certainly requires refactoring and proper layering.

Create a volume (within default vmgroup), then remove default vmgroup. What's the behavior for ls/inspect/attach?

the designed behavior is that this volume is not seen by any VM, unless  the default group is brought back

Are we leaving over dirty data that user cannot clean up using regular Docker or AdminCLI commands?

all can be cleaned using regular vmkfstools, as for other operations (e.g moving a volume to a different group). All these are expected to be super rare. and vmkfstools is sufficient to accomplish them all.

Create a volume (within default vmgroup), attach the volume, then remove default vmgroup. What's the behavior of the running container?

By design container keeps running. When it's done and releases the volume, it is getting detached (assuming no other containers are using it). This detach was broken, this PR fixes it

In short, we can't let users to remove the default vmgroup (even with a warning), and then leaving over a damaged or inconsistent system that users don't know how to deal with.

There is no damaged on inconsistent system in sight. If  they remove a default group, all volumes within it (as are within any other deleted group) become unavailable for further usage , until they either manually relocated or group is recreated.

I understand that this PR is only dealing with detach workflow only. However, I think it's better to get a clear answer for above questions before we moving ahead to apply this patch.

Please see above. I hope these answers are clear enough.

Thanks @shaominchen . WIl fix typos and merge (after CI pass)

source: gharchive/pull-request

authors: msterin shaominchen

repo: vmware/docker-volume-vsphere

license_type: permissive

license_source: github-api


text:
Handler crashed after deleting the database and restarting

Jul 14 17:52:08 172.18.0.1 ui[869]: 2017/07/14 09:52:08 #033[1;35m[router.go:854][C] the request url is  /api/systeminfo #033[0m
Jul 14 17:52:08 172.18.0.1 ui[869]: 2017/07/14 09:52:08 #033[1;35m[router.go:855][C] Handler crashed with error runtime error: invalid memory address or nil pointer dereference #033[0m

Fixed in #2789

source: gharchive/issue

authors: reasonerjt steven-zou

repo: vmware/harbor


text:
Remove http timeout option on getting catalog

@reasonerjt, PTAL.
Fix https://github.com/vmware/harbor/issues/1239.

Coverage increased (+0.01%) to 51.242% when pulling 1e57166962a6f9f5a8bcfd3811dba365bb838149 on ScorpioCPH:remove-http-timeout-on-getting-catalog into ee4cfa68d8c43d7023002e0805ae8bddb3bed71d on vmware:dev.

authors: ScorpioCPH coveralls


text:
Bug fix

When deleting tags belonged to the same repository concurrently, the repository may be deleted by one API call and the other calls get 404. This commit logs a warning message and doesn't return 404.

Coverage decreased (-0.06%) to 64.305% when pulling 347eb5cf8765e7c1a07b3e73110beb63ba3244a5 on ywk253100:180412_bugfix into 75e6b5d91ce11d90e42e3b8151d4c3210666b44f on vmware:master.


text:
how to create a linked clone vm out of a template?

According to this: https://github.com/vmware/pyvmomi/issues/362 you have to have a snapshot which is not possible on a template.
So, is it even possible to do a linked clone out of a template? If not, is there another method to create a VM fastly from template?

You would have to take a snapshot while it is still a VM, then mark it as a template and then link clone from that.
Note that some versions of vSphere don't handle this properly, so try it on a test vm before hooking that up to your main automation.

The govc client from the govmomi project lets you create a clone with the following.
$ govc ls -json /mydc/vm/user/template/eval-win81x86-enterprise | jq .elements[].Object.Config | grep -i Template
  "Template": true,
$ govc vm.clone -ds=mydc -vm=user/template/eval-win81x86-enterprise -link=true removethis
[05-08-20 17:24:22] Cloning /mydc/vm/user/template/eval-win81x86-enterprise to removethis...(42%)^C
$

So it's definitely possible...

authors: arizvisa plrnr prziborowski

repo: vmware/pyvmomi-community-samples

license_source: bigquery


text:
csv-ingest error

Describe the bug
During the interviews about problem definition, it was identified that csv-ingest is throwing errors on a fresh install. This needs to be tested and verified and fixed if the issue exists.
Steps To Reproduce
install fresh quickstart-vdk
try out csv-ingest
Expected behavior
possibly error
I am sorry I can't tell you more because I don't know what exactly the error was, but this needs to be checked.
Version  (please complete the following information):
no info on this
Additional context
The person also explained that they didn't understand what was the expected outcome, it could be that the expected outcome needs to be documented.
So as part of this ticket please make sure that the documentation about csv-ingest is explaining what it does and why it exists.

Triaged. Closed as stale.

authors: sabadzhiev zverulacis

repo: vmware/versatile-data-kit


text:
Remove deprecated error reporting patterns from vdk plugins and vdk-core

Overview
After https://github.com/vmware/versatile-data-kit/pull/2666, log_and_throw, log_and_rethrow and ErrorMessage were just kept for compatibility with vdk plugins that still use them. The ResolvableBy enums also have incorrect names under the current paradigm
DoD

Replace log_and_throw and log_and_rethrow calls with report_and_throw and report_and_rethrow. Include separate logging where necessary
Remove the use of ErrorMessage and just pass the message lines
Remove the use of ErrorMessage to convert notifications to html and replace it with a private method
Rename ResolvableBy to ErrorType and ResolvableByActual to ResolvableBy
Split the error reporting, resolvable context and error classes into separate files (if this causes too much of a ripple in the code, open a separate ticket for it)

We will not be solving 4. here. It is described as new issue here: https://github.com/vmware/versatile-data-kit/issues/2768

authors: DeltaMichael duyguHsnHsn


text:
Fix DynamoDB checkpointer scan error hanlding

The PR fixes panic in DynamoDB checkpointer caused by nil pointer dereference:
    /go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/worker/worker.go:127 +0x217
created by github.com/vmware/vmware-go-kcl-v2/clientlibrary/worker.(*Worker).Start
	/go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/worker/worker.go:130 +0x5b
github.com/vmware/vmware-go-kcl-v2/clientlibrary/worker.(*Worker).Start.func1()
	/go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/worker/worker.go:361 +0xb31
github.com/vmware/vmware-go-kcl-v2/clientlibrary/worker.(*Worker).eventLoop(0xc00062c580)
	/go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/worker/worker.go:380 +0x68
github.com/vmware/vmware-go-kcl-v2/clientlibrary/worker.(*Worker).rebalance(0xc00062c580)
	/go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/checkpoint/dynamodb-checkpointer.go:341 +0x3b
github.com/vmware/vmware-go-kcl-v2/clientlibrary/checkpoint.(*DynamoCheckpoint).ListActiveWorkers(0xc000402690, 0x1?)
	/go/pkg/mod/github.com/vmware/vmware-go-kcl-v2@v0.0.0-20220107022458-c862165130e7/clientlibrary/checkpoint/dynamodb-checkpointer.go:444 +0x2f3
github.com/vmware/vmware-go-kcl-v2/clientlibrary/checkpoint.(*DynamoCheckpoint).syncLeases(0xc000402690, 0xc0007292e0?)
goroutine 506 [running]:

[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x15be773]

Thanks for the contribution. Looks like we merged a duplicate of this fix in 08b7fd9.

authors: kolesnikovae vmwjc

license: MIT


text:
回测数据读取

现在的模式是从数据库中读取数据，再直接发去回测计算。这里有个缺点就是数据量大的话会很慢，从数据库中要读很久了。（比如N年的tick）
从性能和效率的角度来考虑应该分开。一个线程专门来从数据库中读取数据放到队列，队列数据少于1万条就继续读。读完标记完成。
计算方面就可以不停从队列中提，直到为空并且标记完成为止。
从各种数据量来说，这个模式肯定综合性能较佳。

如果回测是外汇，24小时的tick,  简直要死的心都有。

几个方案吧：

直接分段读取，分段回放（比较简单）
独立线程，预热读取完成后就边回放边读取（在Python中因为GIL，线程间来回切换可能会导致回测更慢）
独立进程，专门负责和数据库的请求和数据转发工作（之前1.9.2中我们提供过的回测目录下的HistoryDataServer）模式，但需要进一步扩展

综上来看，2没啥意义，1最简单，可以考虑后续快速支持下，3最彻底但需要投入精力做相当的开发
如果有兴趣的话欢迎贡献代码~
另外除非你是EBS Reuters上的原始ECN行情，否则经纪商那边来的外汇市场的tick回测意义不大。。。

方案1可以单独线程维护数据读取，读完一段backtester可以回放，然后异步继续读取下一段，把io和cpu的消耗通过异步来并行化

authors: aslan9 viponedream vnpy

repo: vnpy/vnpy

license: mit


text:
请求K线图增加隐藏十字线光标和最新价格更新用标签方式

环境

操作系统: 如Windows 10
vn.py版本: 如v2.3.0

Issue类型
三选一：Enhancement
重现步骤
群主，您好
K线图，当时行情tick更新是，如果此时还有鼠标的十字光标，那用起来非常别扭的，因为此时可能不需要用十字光标的了，只是看当时的行情的，
请问是否可以考虑增加：
1、ESC取消十字光标、右键恢复十字光标的功能；（我当前通过增加了个checkbox来是否显示鼠标十字光标，如果取消，则定位到最新的位置上，显示最新bar的跳动时时信息。希望）
另外就是价格时时更新的时候，通过社区课程中的例子 self.last_price_line: pg.InfiniteLine = None 是可以实现的，但是有线跳动，非常累眼的，是否可以考虑：
2、修改此种方式为标签价格更新方式，不再使用 InfiniteLine 的方式？ 详细见图。（我尝试了下修改不了，后来变相实现为将 InfiniteLine 的width设置为 0.001，这样跳动就没任何影响视觉的了问题了）
3、k线图右边，因为时时行情K线会更新，此时价格还在跳动，那么看起来非常费事的，是否可以考虑增加右边留白出来 10~30根 K线位置，这样就看着会轻松些，当然，“2” 的功能实现了并且标签是在k线区域外，就不需要调整这里了。
当前K线图，功能非常好的，可扩展性也非常强，期望增加以上2个及更多功能让K线图这个app更加完美！
谢谢！
右标签功能如图所示（图中在左边的了）：

群主，您好
感觉快期的line图的比较好，价格的提示方式、左边百分比、右边价格。
图，供参考。

K线提示建议每个合约的子图可以增加一个关闭的响应事件，每次打开了都没法关闭
def init_ui(self) -> None
        # 菜单关闭响应函数
        self.tab.setTabsClosable(True)
        self.tab.tabCloseRequested.connect(self.close_tab)

def close_tab(self, index):
        self.tab.removeTab(index)


text:
get_position持仓查询的使用方法与文档不符

环境

操作系统: 如Windows 10
Python版本: 如Python 3.7.11
vn.py版本: v2.7.0-git源码安装

Issue类型
Bug
预期程序行为
engine.main_engine.get_position('IF2112.CFFEX.Direction.LONG')
实际程序行为
engine.main_engine.get_position('IF2112.CFFEX.多')
{'IF2112.CFFEX.多': PositionData(gateway_name='CTP', symbol='IF2112', exchange=<Exchange.CFFEX: 'CFFEX'>, direction=<Direction.LONG: '多'>, volume=4, frozen=1, price=4917.0, pnl=68400.0, yd_volume=4), 'IF2112.CFFEX.空': PositionData(gateway_name='CTP', symbol='IF2112', exchange=<Exchange.CFFEX: 'CFFEX'>, direction=<Direction.SHORT: '空'>, volume=0, frozen=0, price=0, pnl=0.0, yd_volume=0)}
现在这个“IF2112.CFFEX.多”也没什么不好，不过建议修改文档统一，谷歌查了下，没有人指出这个问题。
回测中开始日期无法正确读取
另外还有个小问题，cta_backtester_setting.json中start的格式是isoformat()，造成Qt界面无法成功读取
建议如下修改，顺便加上了end时间读取，理由如下
1、为了回测速度，有些指标是提前算好保存在文件中的，因此无法实时计算与更新
2、相同的时间段才能保证回测结果可对比，所以保存读取end时间可能比使用最新时间的情况更常见
\site-packages\vnpy_ctabacktester\ui\widget.py
start_str = setting.get("start", "")
if start_str:
start_dt = QtCore.QDate.fromString(start_str, "yyyy-MM-dd")
self.start_date_edit.setDate(start_dt)
end_str = setting.get("end", "")
if end_str:
end_dt = QtCore.QDate.fromString(end_str, "yyyy-MM-dd")
self.end_date_edit.setDate(end_dt)
backtesting_setting = {
"class_name": class_name,
"vt_symbol": vt_symbol,
"interval": interval,
"start": start.strftime('%Y-%m-%d'),
"end": end.strftime('%Y-%m-%d'),
"rate": rate,
"slippage": slippage,
"size": size,
"pricetick": pricetick,
"capital": capital,
"inverse": inverse,
}
save_json(self.setting_filename, backtesting_setting)

已在https://github.com/vnpy/vnpy/pull/3216 中修复文档问题。回测开始时间读取问题已在https://github.com/vnpy/vnpy_ctabacktester/pull/5 中修复。结束日期可能不同的使用者的使用习惯不同，暂未修改。

authors: Edanflame lanchengjiu


text:
run当前目录下，找不到放文件里的策略模块

https://github.com/vnpy/vnpy/blob/22311a882c465312ebad20eaa1cb607fa7b8b7af/vnpy/trader/app/ctaStrategy/strategy/__init__.py#L48
moduleName = name.replace('.py', '')
这里未考虑把策略放在专门的文件夹里的情况，放文件夹里好管理，直接放目录下多了就乱

这里可以根据你自己的需求来改吧，把整个ctaStrategy目录复制到你的VnTrader目录下，然后作为你修改过的模块在run.py里加载就行。


text:
macos: symbol not found in flat namespace '_libiconv'

咨询下我这个是什么问题：

Darwin mbp.local 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:19:22 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T8112 arm64
使用的main分支代码
python3.12，其实python3.10也是这个错误

整体操作步骤：

clone仓库
创建.venv
安装vnpy
pip install -e . 安装
运行run.py报错

/Users/xx/work/quant/vnpy_ctp/.venv/bin/python /Users/xx/work/quant/vnpy_ctp/script/run.py
Traceback (most recent call last):
  File "/Users/xx/work/quant/vnpy_ctp/script/run.py", line 5, in <module>
    from vnpy_ctp import CtpGateway
  File "/Users/xx/work/quant/vnpy_ctp/vnpy_ctp/__init__.py", line 26, in <module>
    from .gateway import CtpGateway
  File "/Users/xx/work/quant/vnpy_ctp/vnpy_ctp/gateway/__init__.py", line 1, in <module>
    from .ctp_gateway import CtpGateway
  File "/Users/xx/work/quant/vnpy_ctp/vnpy_ctp/gateway/ctp_gateway.py", line 31, in <module>
    from ..api import (
  File "/Users/xx/work/quant/vnpy_ctp/vnpy_ctp/api/__init__.py", line 1, in <module>
    from .vnctpmd import MdApi
ImportError: dlopen(/Users/xx/work/quant/vnpy_ctp/vnpy_ctp/api/vnctpmd.cpython-312-darwin.so, 0x0002): symbol not found in flat namespace '_libiconv'

删除clone目录的dist/build/egg-info三个文件夹。
然后运行python setup.py build。
看看有没有报错？

zsh执行的命令日志
依旧还是上面的错误。

解决方法：~/.zshrc中添加动态库地址。
export DYLD_LIBRARY_PATH=/opt/homebrew/opt/libiconv/lib:/opt/homebrew/anaconda3/lib:$DYLD_LIBRARY_PATH

感谢反馈

authors: vnpy zevichen


text:
Video is not playing on MAC

The video is not working on MAC.

Could you be a little more specific as far as where you are seeing this issue? I was just checking this project out again since I've used it before, and the video example as well as the sites I've used the video on before all still work for my Macbook on Chrome.

Not playing anymore after updating to Safari 11. It used to work fine in Safari 10.
Safari Version 11.0 (12604.1.38.1.7)

Hello
I get the same thing - video element not revealing, if you force display in CSS it appears but with no playback?

I'm not sure this is the best solution but I commented out the following lines (around line 338 in vide.js)
// Disable visibility, while loading
      visibility: 'hidden',
      opacity: 0

It seems that the script is getting confused when video tries to run. The upside is, it now also works on iPad!

Experiencing the same issue. I will look in to @Dogleg's solution somewhere this week, but I have the feeling this is just a quick and dirty fix.

It may well be @DiederikvandenB but it got things running. Let me/us know how you get on.
Thanks
Gareth

Alright, had some time already. Was not able to fix it (yet), but I did find the root of the problem.
Safari 11 has a new feature which by default disables autoplay videos (link). I have a second temporary fix:

Disable autoplay
Call window.$('video').get(0).play(); as soon as your page is loaded. If you're using jQuery for everything, this could be something like:

$(document).ready(() => {
    $('video').get(0).play();
});

Or call it here for React or Vue
As I said, this is just a temporary fix. However, if you go back to the Verge article I posted, you'll see in the screenshot that it by default should only disable autoplay for videos that have no sound. On the page where I use Vide, I have a muted video which is still blocked. It would be great if I / someone else would find a way to autoplay a muted video using Vide.
Hope this helps a bit already.

Great, guys. I tried both @Dogleg and @DiederikvandenB fixes. The later is better because I didn't need to change vide.js source code. I also found that other javascript video player libraries also stoped working, not only Vide. I know this is an issue with Safari, but should be addressed anyway.
Here is what worked great for me, using jQuery, based on @DiederikvandenB fix:
jQuery(function() {
    $('#myElement').data('vide').getVideoObject().play();
});

Thanks @luciano-schirmer and @DiederikvandenB for the workaround. Safari 11 definitely hinders background video auto-play.

Hi @luciano-schirmer . I'm trying with your solution but its not working for me. Do I have to initialize the plugin first? Any help will be apreciated. Thanks.

Hi @kingmauro
It didn't work for me either initially until I realised that it needs to be triggered on an event. So…
$(document).ready(function() {
	//FORCE VIDEO PLAY - SAFARI 11 ISSUE
	$(window).load(function() {
		$('#imagearea').data('vide').getVideoObject().play();
	});
});

I did try putting inside the .ready fun but that didn't work. I'm not the best, but the above works for me.
Good luck!

It worked @Dogleg! Thank you.

Thanks @Dogleg! 💯

Thanks @Dogleg

@julenmelgar's  solution perfectly works for me with Safari 12, but not the other solutions suggested here. Thanks!
Note:  Video still doesn't play in Safari for iPhone.

Hi Guys, I'm new in this world and its impossible to me that this work in MAC. I have and html5 code where I'm embed the video in this way:
<div data-vide-bg="video/beach1" data-vide-options="autoplay: true, loop: true, muted: true">
Could you help with more information about where and how I must use the code to solve the problem with MAC´s.
Thanks a lot

I tried every single solution posted above - none worked with autoplaying the video in Safari.
I found a workaround by using a click function:
$('.video-container').click(function(){         $('.video-container').data('vide').getVideoObject().play();  });

[_``_](

[ ] @ #1. url

)

authors: DiederikvandenB Diego8504 Dogleg LukePettway Thulasinathan akarbv andrewjohnstrong jreitter kingmauro kjschulz luciano-schirmer martonlente stevengliebe

repo: vodkabears/Vide


text:
Some unit test improvements.

Increased max attempts to spin a Voldemort server in tests from 3 to 10.
Made Voldemort's Time implement Tehuti's Time for easier inter-op.
Fixed a bogus test in DataCleanupJobTest (it was actually failing silently without any assertions).

Was it merged in and just the review needs to be closed ?

I think this change cannot be merged as is. The increased number of attempts for spinning up test servers is already addressed by another commit, IIRC. There is also the discussion on the thread interruption which remains open. It would be worthwhile to drive this to completion so that we get the fix to the DataCleanupJobTest.

authors: FelixGV arunthirupathi

repo: voldemort/voldemort


text:
Show data in horizontal format rather than vertical format in form

Hi Volkan
As you can see in the image attached, the schedule days are shown in a vertical fashion. Is it possible to show the schedule days on horizontal format? (like using some attribute maybe?)
Regards
Westley

You can set the position using the CSS. See the example https://github.com/volkanceylan/Serene/tree/master/Serene/Serene.Web/Modules/BasicSamples/Dialogs/MultiColumnResponsiveDialog and https://github.com/volkanceylan/Serene/blob/master/Serene/Serene.Web/Content/site/site.basicsamples.less

Hi Estrusco
Thanks for you quick reply. I went through the examples you mentioned and tried it against my module. However it did not work. I'm not sure what I'm doing wrong. This is what I did
I added the following line to site.css
.s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Sun,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Mon,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Tue,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Wed,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Thu,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Fri,
s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog .field.Sat {
flex: auto;
min-width: 100%;
}
PS: EDWMetaDataManagment is a folder  under Modules
I also added the following lines to site.EDWMetaDataManagment.less
.s-EDWMetaDataManagment-CtrlDataSourceLoadScheduleDialog {
> .size { width: 650px; height:500px;}
.caption { width: 150px; }
.field.Sun, .field.Mon, .field.Tue, .field.Wed,
.field.Thu, .field.Fri, .field.Sat {
flex: auto;
min-width: 100%;
}
}
Do I need to do anything more?
Regards
Westley

You have to modify only .less file. The .css is auto generated in compilation.
If you have a site.EDWMetaDataManagment.less under Content/site, you must add this in site.less. In this file the Sergen have created a basic css definition for your Dialog. Find it and move to your site.xyz.less, then edit it.
Read the manual!!!
In addition if you write min-width: 100% then the fields have the width o100%. If you want two field in the same row, you have to write min-width: 50%  (three on row 33%, etc.)
Also try to enlarge the form (> .size { width: 950px; height:500px;})
Also you can add a @media element to set this only for wide device

Hi Estrusco
Thanks for pointing me in the right direction. I now got it working (after a lot of trial and error, since I don't have much experience with asp.net). Never the less I am happy, it is working. Many thanks to you. Below is the outcome

Closing this issue since I got it working

authors: Estrusco WestleyHoxton

repo: volkanceylan/Serenity


text:
Multiple Column Layout for Categories

Hi, I'm new to Serenity. So far love it.
Is there a way to change the layout of a form, so I can put the categories' div side by side. Say, in Northwind, I want Shipping category and Ship To category side by side.
Also, I wanto to assign css class to category. How can I do that?
Thanks

You need to do it with CSS. It is not possible to assign CSS class to category. You may do it in dialog, using jQuery and index.

Do it in dialog, using jQuery and index: May I trouble you with some sample code?
Css class for category: May I request the feature? Some overload in CategoryAttribute: Category("categoryname", "cssClass"). I think that would be useful for others too
Thanks

this.form.SomeCategory.element.closest('.category').addClass('something')
I don't think it's a priority.


text:
Add and Initialize Toolbar in TempletedDialog

I'm trying to create a custom dialog that extends TempletedDialog . I can add it in through getTemplate but it doesn't behave properly, for example buttons I add through getTemplate disappear between builds for no apparent reason. I want to add the toolbar properly and have been looking into initToolbar, then adding buttons with getToolbarButtons.
Code:
@Serenity.Decorators.registerClass()
export class BugReportDialog extends Serenity.TemplatedDialog<any>{

    constructor() {
        super();
        this.dialogTitle = "Bug Report";

        //Just added these just in case I needed them but I don't think they're neccessary
        this.initToolbar();
        this.getToolbarButtons();
    }

    getTemplate() {
        return (
            "
" +
                "
" +
                    "Details:" +
                    "<textarea name='Notes' class='editor flexify s-TextAreaEditor' id='Bug-Notes-TextArea' rows= '6' cols= '60' style='color:black; margin-right:20px; margin-top:20px; margin-bottom:20px;'></textarea>" +
                "
" +
            "
"
        );
    }

    protected initToolbar() {
        super.initToolbar();
        this.toolbar = new Serenity.Toolbar($(".s-DialogContent .BugDialog"), {
            buttons: Array<Serenity.ToolButton>()
        });
    }

    protected getToolbarButtons() {
        var buttons = super.getToolbarButtons();

        buttons.push({
            title: 'test'
        });

        return buttons;
    }
}

This is the section that I think needs to be done properly but I haven't found any issues related to creating a toolbar in a TempletedDialog.
    protected initToolbar() {
        super.initToolbar();
        this.toolbar = new Serenity.Toolbar($(".s-DialogContent .BugDialog"), {
            buttons: Array<Serenity.ToolButton>()
        });
    }

I've been reviewing TempletedDialog and Toolbar while looking for other files that might have an example of creating a toolbar but haven't found anything yet.
Update: I did find ImageUploadEditor.cs but none of the c# has been able to be used.

I got it:
protected initToolbar() {
        super.initToolbar();
        $(".BugDialog").removeData('Serenity_Toolbar'); //I had to add this because I kept getting an error saying the the element already contained a 'Serenity_Toolbar'
         var buttons: Serenity.ToolButton[] = new Array();
        buttons.push({
            title: 'Send'
        });
        this.toolbar = new Serenity.Toolbar($(".BugDialog_Toolbar"), {
            buttons: buttons
        });
    }


text:
[ReadPermission()] for multiples

What is the way to grant read to multiple permissions?
Say for example
[ReadPermission("GroupA")]
[ReadPermission("GroupB")]

Will create a duplicate entry. It might be because I am sleepy this morning.

There is no such thing. Either define a common permission, or implement manual check with Authorization.ValidatePermission etc.

Ok that makes sense then. I can do that. Thanks Volkan.

authors: solabar volkanceylan


text:
[Day 5] 브루트포스&시뮬레이션 조무진

문제 솔루션
문제1
공

문제1 풀이

초기 컵위치를 [1, 0, 0]으로 하고 이후 나오는 순서대로 리스트 값을 변경해주었습니다.

문제1 노트
문제2
외판원 순회2

문제2 풀이

itertools을 import해서 모든 경우의수를 탐색하게 했습니다.(중간에 갈 수 없는 경우 제외).
A - B와 B - A의 값이 달라서 permutation으로 경우의 수를 계산했는데 10!(팩토리얼)이었습니다.
permutation으로 시도한 이유는 시간제한 2초인데 10! = 3628800, *10 (최대 도시의 수) = 36288000(3.6천만)이라 될 수도 있지 않을까란 생각이 들었습니다. (sum, 비교등으로 더 증가하기는 함)
min값은 초기에 최대값인 1,000,000 * 최대 도시수 10 인 10,000,000으로 해보았다가 sys.maxsize로 하는게 넉넉할 것 같아 수정했습니다. 그리고 sum < min 이면 교체해주는 방식으로 처리했습니다.

문제2 노트

그런데 python3로는 permutation 처리시 시간초과가 나서 pypy3으로 수행했으며, python3으로 풀이하려면 다른 방법으로 해야 될 것 같습니다. 찾아보니까 백트래킹이랑 이전에 했던 dp를 활용해 풀 수 있더라구요 😞
풀긴했지만 문제 의도는 permutation은 아니었던것 같네요.
Traveling Salesman problem (TSP)들은 더 공부해보면 좋을 것 같습니다.

문제3
뱀

문제3 풀이

문제의 요구사항대로 구현

먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다.
만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다.
만약 이동한 칸에 사과가 없다면, 몸길이를 줄여서 꼬리가 위치한 칸을 비워준다. 즉, 몸길이는 변하지 않는다.
벽 또는 몸에 부딪히면 종료
'L', 'D'에 맞춰 방향 변경
진행된 게임 시간 출력

문제3 노트

특별한 알고리즘이 쓰이는 것은 아니지만 문제의 조건들이 상대적으로 많고, 지문만으로는 정확하게 파악이 어려운 부분들도 있어서 처음에 틀리고는 추가적인 반례 검색해서 테스트를 많이 해보고 제출했습니다.
3개의 주요 기능을 만들었고 매 턴마다 checkBreak(종료 확인 함수), checkEatApple(움직일 칸에 사과 유무, 사과 인덱스 함수), checkOrder(명령 확인 함수) 수행하도록 하였습니다.
개인적으로 구현하면서 어려웠던 부분들은, 방향변환할때 360도 개념이기 때문에 한바퀴 돌면 다시 초기 방향으로 바꿔줘야하는것(반대방향 동일)이 처음에 조금 헷갈렸고 사과를 먹으면 몸이 한칸 길어지고 없으면 그대로인 부분들을 처리하는데 어려웠습니다. 특히 몸부분은 처음에는 리스트 형태의 자료구조로 구현하지 않다가(그냥 맵에서 바로바로 처리) 테스트 중에 계속 틀려서 덱으로 변경하고 deque로 pop, append, popleft, appendleft 등을 테스트 하면서 진행했던 것 같네요.
테스트 중엔 매턴별로 맵을 출력해서 확인하면서 작업했는데 이게 어디서 틀렸는지 확인할 때 도움이 되었습니다.(printMap)
시간을 줄이려고 이거저거 테스트 해보았습니다. deque는 import 만으로 시간이 꽤 소요되더라구요. 예전에 list로 처리하는게 더 유리했던 경우들이 있었는데 아마도 deque로 처리해서 얻는 시간적 이득보다 import 의 소요시간이 더 클 때 발생하는 것 같습니다.

turn :  0
location_apple :  [[0, 4], [0, 2], [0, 1], [0, 5], [0, 6]]
location_snake :  [[0, 0]]
['*', 'a', 'a', '0', 'a', 'a', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  1
location_apple :  [[0, 4], [0, 2], [0, 5], [0, 6]]
location_snake :  [[0, 0], [0, 1]]
['*', '*', 'a', '0', 'a', 'a', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  2
location_apple :  [[0, 4], [0, 5], [0, 6]]
location_snake :  [[0, 0], [0, 1], [0, 2]]
['*', '*', '*', '0', 'a', 'a', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  3
location_apple :  [[0, 4], [0, 5], [0, 6]]
location_snake :  [[0, 1], [0, 2], [0, 3]]
['0', '*', '*', '*', 'a', 'a', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  4
location_apple :  [[0, 5], [0, 6]]
location_snake :  [[0, 1], [0, 2], [0, 3], [0, 4]]
['0', '*', '*', '*', '*', 'a', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  5
location_apple :  [[0, 6]]
location_snake :  [[0, 1], [0, 2], [0, 3], [0, 4], [0, 5]]
['0', '*', '*', '*', '*', '*', 'a', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  6
location_apple :  []
location_snake :  [[0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [0, 6]]
['0', '*', '*', '*', '*', '*', '*', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  7
location_apple :  []
location_snake :  [[0, 2], [0, 3], [0, 4], [0, 5], [0, 6], [0, 7]]
['0', '0', '*', '*', '*', '*', '*', '*', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  8
location_apple :  []
location_snake :  [[0, 3], [0, 4], [0, 5], [0, 6], [0, 7], [0, 8]]
['0', '0', '0', '*', '*', '*', '*', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  9
location_apple :  []
location_snake :  [[0, 4], [0, 5], [0, 6], [0, 7], [0, 8], [1, 8]]
['0', '0', '0', '0', '*', '*', '*', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  10
location_apple :  []
location_snake :  [[0, 5], [0, 6], [0, 7], [0, 8], [1, 8], [2, 8]]
['0', '0', '0', '0', '0', '*', '*', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  11
location_apple :  []
location_snake :  [[0, 6], [0, 7], [0, 8], [1, 8], [2, 8], [2, 7]]
['0', '0', '0', '0', '0', '0', '*', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
==================================================
turn :  12
location_apple :  []
location_snake :  [[0, 7], [0, 8], [1, 8], [2, 8], [2, 7], [1, 7]]
['0', '0', '0', '0', '0', '0', '0', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '*', '*', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
13

턴마다 맵 그린거 스샷이 엄청 옛날 고전게임 같은 느낌이네요 ㅎㅎ 👍🏾

authors: jomujin nanangqq

repo: vos-team/vos-algorithm-study


text:
[?] When and where are images on disk read into memory by FiftyOne?

Instructions
Hi~Now i’m using FiftyOne to visualize datasets.I know FiftyOne datasets must make their images available as individual files on disk.But now I have some datasets stored in Hub(a dataset database on disk), I can read images from Hub to memory, I want visualize these images without save them to disk.The key problem is that I do not know when and where the images on disk will be readed to memory by FiftyOne?After launch app, Python backend read images or TypeScript app read?I could not find the interface that read images from disk.Could you help me?Thank you!

When you construct a FiftyOne dataset, you must provide a filepath for each sample on disk. So the storing of the media on disk happens by you before/during FiftyOne dataset creation time. All subsequent actions in FiftyOne (viewing a dataset in the App, applying a model using Dataset.apply_model(), etc) will use each filepaths to retrieve the media as necessary.
You can write a DatasetImporter that takes in-memory or batched binary data as input (eg TFImageClassificationDataset), but the interface will require you to unpack the media and provide a filepath for each one to support FiftyOne's data model

ok, thank you !

authors: Neighbor-Mr-Wang brimoor


text:
[BUG] YoloV5 bboxes treated as x-min y-min width height but should be x-center y-center width height

Describe the problem
YoloV5 bbox format is defined as x-center y-center width height in rel. coordinates between [0,1]:

https://docs.voxel51.com/user_guide/export_datasets.html#yolov5dataset
https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/#21-create-datasetyaml
https://roboflow.com/formats/yolov5-pytorch-txt?ref=ultralytics

However, fiftyone seems to treat it as x-min y-min width height
For a sample of a fo.types.YOLOv5Dataset, when I draw a rectangle manually under the center assumption:
img_width = sample.metadata.width
img_height = sample.metadata.height

x_center, y_center, width, height = bbox.bounding_box

# Convert into absolute coordinates
x_center *= img_width
y_center *= img_height
width *= img_width
height *= img_height

# Compute corners from center coordinates
x_min = int(x_center - width / 2)
x_max = int(x_center + width / 2)
y_min = int(y_center - height / 2)
y_max = int(y_center + height / 2)

draw.rectangle([x_min, y_min, x_max, y_max], outline=255)

In fiftyone, the rectangles do not align with the automatically visualized bounding boxes:

However, when I treat the bbox with the min assumption, it works:
# Convert into absolute coordinates
x_min_rel, y_min_rel, width_rel, height_rel = bbox.bounding_box
x_min = int(x_min_rel * img_width)
y_min = int(y_min_rel * img_height)
x_max = int((x_min_rel + width_rel) * img_width)
y_max = int((y_min_rel + height_rel) * img_height)

Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[ ] Yes. I can contribute a fix for this bug independently
[x] Yes. I would be willing to contribute a fix for this bug with guidance
from the FiftyOne community
[ ] No. I cannot contribute a bug fix at this time

Hi @daniel-bogdoll 👋
The YOLOv5 importer does correctly assume that the input .txt files contain object detections in this format:
<target> <x-center> <y-center> <width> <height>

However, whenever data of any kind is imported into a FiftyOne dataset, it is always normalized to FiftyOne format so that the FiftyOne App knows how to visualize it:
detection.bounding_box = [<top-left-x>, <top-left-y>, <width>, <height>]

I think this is the missing context in your case 😄

authors: brimoor daniel-bogdoll


text:
Fix next/previous click controls in notebooks

Resolves #1174
Fixes the click arrows for next/previous actions in notebook Lookers.
Regarding the arrow keys, notebooks currently require the shift key for wheeling and arrow shortcuts, as the App is within an iframe and these events interfere with scrolling (horizontal or vertical) unless Shift key is active.
I am unaware of any horizontal scrolling that could be possible, so I could remove the shift key requirement for left/right arrows. But it would interfere, if horizontal scrolling is available.

Ah, shift key within notebooks.
One observation is that the grid view "captures" the user's scroll events as they scroll within their browser, so perhaps we should follow the same pattern in expanded view and allow wheel rather than Shift + wheel?
Truth be told, it may have been better to require Shift + wheel to scroll the grid in Jupyter notebooks from the start. But, it might cause confusion if we made that change a this point, unless we adopted the Google Maps approach of throwing up a Use CMD + Wheel to zoom overlay when the user is scrolling on top of an embedded map (importantly, I believe that is done without "capturing" the scroll event; the user still gets to scroll down the page).
What are your thoughts on how best to proceed?
nit: for any shift shortcuts that remain, can you please put spaces before/after the + in the help menu, e.g., Shift + wheel.

Hmm, I would be fine with leaving the grid as is for now. But I see your point about consistency, etc.
Scroll handling would ideally be accounted for in all scrollable containers (sidebars, plots, etc.), which could be cumbersome to maintain/stand up quickly. I would be happy with making an for issue with needs discussion.

Since esc works, it would feel weird if shift were required for the arrow keys. So I like removing shift requirement for everything except possibly scrolling.
@benjaminpkane Any thoughts on wheel vs shift + sheel for zoom in/out and the grid?
I can see how it would be annoying if scrolling down a notebook would suddenly start zooming into an image, but that's also true for the grid view and we've been allowing that...

Can confirm that pressing the left/right arrow buttons in Jupyter does now work.

So I removed all of the shift requirements, but note that I can't prevent the notebook from scrolling when a user zooms. The App is an iframe, and has no control over what the parent page does.
So we should add something in the App or documentation about using shift to prevent the notebook itself from scrolling when they use arrow keys or zoom with the mouse wheel.

So I removed all of the shift requirements, but note that I can't prevent the notebook from scrolling when a user zooms. The App is an iframe, and has no control over what the parent page does.
So we should add something in the App or documentation about using shift to prevent the notebook itself from scrolling when they use arrow keys or zoom with the mouse wheel.

It's nice that shift + up/down arrow is still an option to prevent the browser window from scrolling. For me on macOS in Chrome, shift + wheel does not (and did not previously) prevent my browser window from scrolling. So zooming in/out always causes a bit of jitter in my browser. Are you able to completely prevent your browser from scrolling? Is this a shift vs ctrl vs cmd thing?

Are you able to completely prevent your browser from scrolling in your setup with shift? If so, is this a shift vs ctrl vs cmd thing?

Yes, shift disables all scroll events in chrome on my ubuntu machine.

Are you able to completely prevent your browser from scrolling in your setup with shift? If so, is this a shift vs ctrl vs cmd thing?

Yes, shift disables all scroll events in chrome on my ubuntu machine.

Hmm okay, mileage may vary across browser + OS I guess.

authors: benjaminpkane brimoor


text:
add run_doc check before results check

prevent throwing an error that prevents loading a dataset when run doc doesn't exist

Closing in favor of https://github.com/voxel51/fiftyone/pull/2970.

authors: brimoor kaixi-wang


text:
Asset request: safe following distance box/dots

Something to indicate that this is the safe following distance between a lead vehicle and Ego. So maybe a box or dotted lines or something.

@greenmustard Now in the Roadway section of the library!

authors: greenmustard lukesbeard

repo: voyage/open-autonomous-safety


text:
outputfolder in webcrawl

param output folder should chang name for "outpath". if not exists then created, if not provided then default is used (TEMP/PSWebCrawler)

all data out of module should be in one place, in doc user folder. //

./<modulename_date_time>.log
./<optionName_date_time>/[current data structure for 'webcrawl']


text:
chore(gui): create .nvmrc

Example usage:
vrc-get-gui % fnm use
Can't find an installed Node version matching v20.x.x.
Do you want to install it? answer [y/N]: y
Installing Node v20.12.2 (arm64)
Using Node v20.12.2

I mean I think the developer can use either v18 or v20 at your choice depending on the installed / currently using version. I think it's unnessesary to force to use v20.

Should the README be changed to describe this?

Oh sorry, I didn't think much at that time. I think it should be changed.

repo: vrc-get/vrc-get


text:
Some improvements

Don't run apt-get update and install every time. This takes up a minute in my action. Use a Dockerfile base that already has the tools installed.

Make the default title and body of PR a bit more generic (removing "container collection" terminology).

Thank you @atifsyedali ! I'll take a look to review first thing tomorrow - it's late and I'm having dinner :avocado: Looking forward to it!

Thanks for the PR, I'm guessing that there isn't a solution here (since we want to run apt-get update) but I appreciate the thought!

authors: atifsyedali vsoch

repo: vsoch/pull-request-action


text:
Added ViewAnimator

I added my newest library called ViewAnimator
Project URL
https://github.com/marcosgriselli/ViewAnimator
Description
ViewAnimator let's you animate any view with multiple subviews with just one line. Included UITableView/UICollectionView and its cells and UIStackView's arrangedSubviews.
Why it should be included to awesome-ios (optional)
I believe it's a great resource for people looking for simple way to animate all of their views without too much work or without adding a huge library to their codebase.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

520
301
https://github.com/bwide/BWCollectionView redirects tohttps://github.com/bwide/CollectionNode

2765
301
http://www.coreint.org/ redirects tohttp://coreint.org/

  Generated by :no_entry_sign: Danger

thank you!

repo: vsouza/awesome-ios


text:
Accept ETailwind without config

Currently when using <ETailwind> without a config an error is thrown:
WARN  [Vue warn]: Unhandled error during execution of setup function at <ETailwind>
An option for accepting the base TailwindCSS config without modification should be allowed.

hello world

comment

we just merged a new project rewrite, please do check the docs and the updated logic https://vuemail.net/

authors: Dromi-dror Flowko admiralsemu

repo: vue-email/vue-email


text:
Update transition documentation for vue3

Hello,
https://vue-final-modal.org/guide/properties#transition
In vue3, the names of the transition classes have changed. May be good to have an example for vue3.
Current doc (Show example transition Object):
:transition="{
      'enter-active-class': 'transition duration-200 ease-in-out transform',
      'enter-class': 'translate-y-full',
      'enter-to-class': 'translate-y-0',
      'leave-active-class': 'transition duration-200 ease-in-out transform',
      'leave-to-class': 'translate-y-full',
      'leave-class': 'translate-y-0'
    }"

What I found to work in vue3:
:transition="{
      'enter-active-class': 'transition duration-200 ease-in-out transform',
      'enter-from-class': 'translate-y-full',
      'enter-to-class': 'translate-y-0',
      'leave-active-class': 'transition duration-200 ease-in-out transform',
      'leave-to-class': 'translate-y-full',
      'leave-from-class': 'translate-y-0'
    }"

Thank you

'enter-active-class': 'transition duration-200 ease-in-out transform',
'enter-from-class': 'translate-y-full',
'enter-to-class': 'translate-y-0',
'leave-active-class': 'transition duration-200 ease-in-out transform',
'leave-to-class': 'translate-y-full',
'leave-from-class': 'translate-y-0'

Hello
It doesn't work at me. Did you change anything else ?
The modal should translate from top exact ?

Hello,
https://vue-final-modal.org/guide/properties#transition
In vue3, the names of the transition classes have changed. May be good to have an example for vue3.
Current doc (Show example transition Object):
:transition="{
      'enter-active-class': 'transition duration-200 ease-in-out transform',
      'enter-class': 'translate-y-full',
      'enter-to-class': 'translate-y-0',
      'leave-active-class': 'transition duration-200 ease-in-out transform',
      'leave-to-class': 'translate-y-full',
      'leave-class': 'translate-y-0'
    }"

What I found to work in vue3:
:transition="{
      'enter-active-class': 'transition duration-200 ease-in-out transform',
      'enter-from-class': 'translate-y-full',
      'enter-to-class': 'translate-y-0',
      'leave-active-class': 'transition duration-200 ease-in-out transform',
      'leave-to-class': 'translate-y-full',
      'leave-from-class': 'translate-y-0'
    }"

Thank you

Did you add css ?

Thanks! The documentation was updated.

I'm here to say that i haven't seen anything regarding transitions in the documentation (at least at the website), and the comment @db-conception worked perfectly for me.
I think that the website should display an example of it.

authors: db-conception gsabater hunterliu1003 karltbone

repo: vue-final/vue-final-modal


text:
Failed to parse json, Unexpected token '{' at 10:36

I'm having this problem while installing npm. I cloned the project, cd into pwa/template. Then run the npm install command. And it is throwing this error:
npm WARN Failed to parse json
npm WARN Unexpected token '{' at 10:36
npm WARN     "build": "node build/build.js"{{#unit}},
npm WARN                                    ^
npm WARN File: /var/www/html/pwa/template/package.json
npm WARN template No description
npm WARN template No repository field.
npm WARN template No README data
npm WARN template No license field.

Hi, try to run
npm i

in the root folder, without navigating onto template folder.

repo: vuejs-templates/pwa


text:
State of imported components created using setup script cannot be inspected

Version
6.2.1
Browser and OS info
Chrome version 105.0.5195.102 / Debian 10
Steps to reproduce

Define a component with a setup script in a library project.
Build the library as a package.
Import and use the component from an app project.
The component state cannot be inspected.

Full example with screenshots here:
https://github.com/torce/devtools-setup-script-bug/
What is expected?
State of imported components defined with setup script should be shown.
What is actually happening?
State cannot be inspected.

Component names cannot be inspected also, like #1938

Pretty big impact on DX, would love a solution!

We have the same problem.

We're still facing the same issue, (Version 6.5.0) are there any plans to fix this?

Still facing the same issue too.

Maybe similar issue than: https://github.com/vuejs/devtools/issues/2061

How has this been broken for two years and still not fixed?

authors: blouflashdb chris-oswald henryobiaraije nandastone nickshontz-ych oliviernguyenquoc torce

repo: vuejs/devtools


text:
auto-import inconsistencies within template

Having some funky behaviour around auto-import suggestions only within vue templates, which leads me to believe it is a volar issue. The issue is that in the script section of a vue file (or other .ts files) importing a component that is exposed via an index file works correctly, while within the template block, the import suggestion is to import from the file directly.
Correct behaviour (within script block)

Incorrect behaviour (within template tag)

I'm unclear on what scenarios this occurs, but in my case specifically, the module @si/ui-lib is a shared component library within the monorepo, and is being used directly without being built first - meaning
my web app's package.json includes the dependency via pnpm workspace linking
"@si/ui-lib": "workspace:*",

and @si/ui-lib's package.json exports the ts files directly
"main": "src/index.ts",
"types": "src/index.ts",

the index file just re-exports the components, for example
export { default as CoolButton } from './components/CoolButton/CoolButton.vue';

I have tried many different iterations of tsconfig files using aliases, project references, etc... What I have now seems to work the best and be very simple, with the only issue being this auto-import in vue templates.
Let me know if you need a minimal repro and I'll set one up.
Cheers!

I am currently participating in the development of a component, and there are requirements for web types (code completion and description). like: https://vuejs.github.io/vetur/guide/component-data.html#supported-frameworks
Enhance the completion and prompt of components by using code.
// package.json
  // vscode
  "vetur": {
    "tags": "highlight/tags.json",
    "attributes": "highlight/attributes.json"
  },

see that the plug-in vertur is like this. I don't know what to do with volars?
thanks.

The component/function autocomplete feature not work actualy.
I use Typescript with TakeOver with vue 3.2 on the latest version of vscode.
If there is no import of the library into the project, volar does not recognize the library. You have to import your component manually for the first time and then the auto-import will work as expected.
BUT if you remove all the imports to the lib you will have a error like this in the suggestions window :

I don't understand that volar can't analyze the dependencies in the node_modules to propose the autocompletion of the imports
Is this a bug?

Has this issue returned? isArticlePublished is an auto imported util in Nuxt 3

authors: RSS1102 louia theoephraim tobychidi

repo: vuejs/language-tools


text:
Comments inside JSX expressions don't work

I didn't see an issue for this. If this is already known, I apologize.

I cannot verify this issue as the icon cannot be displayed right now. If you still encounter this problem in the latest version, please let me know.

authors: johnsoncodehk whaaaley


text:
Volar: Plain HTML file

After a bit of extension wrangling, determined that it's Volar being enabled/disabled that breaks the syntax highlighting of plain HTML files for me.
Basically when there's two script tags, in a very specific circumstance, the syntax highlighting will break.
It goes away if I prettify the file, or just make the problematic line not a one-liner, but I am just browsing plain HTML files not controlled by me. And disabling this extension sounds a bit odd as it shouldn't break that much?
Example of problematic HTML, with code for demo copied from https://highlightjs.org/static/demo/
<!DOCTYPE html>

    <title>Syntax highlighting should be broken now</title>

Image of how this is rendered:

Details:

VSCode (AUR Microsoft binary build)

Version: 1.76.0
Commit: 92da9481c0904c6adfe372c12da3b7748d74bdcb
Date: 2023-03-01T10:25:16.105Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: 10.2.154.26-electron.0
OS: Linux x64 6.2.2-arch1-1
Sandboxed: No

Volar: 1.2.0
Also breaks on Volar: 1.3.11
ArchLinux, 6.2.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 03 Mar 2023 15:58:31 +0000 x86_64 GNU/Linux

Okay somehow I thought this was gone when Volar was disabled but upon further look into it, this happens even when using "reload with extensions disabled" or when using https://vscode.dev/.
Sorry for the noise!


text:
onBeforeRouteLeave is called twice in some cases

Version
4.0.14
Reproduction link
https://github.com/sqal/vue-rotuer-bug
It's vite app so npm install && npm run dev
Steps to reproduce

Click Log in button
Navigate to /item/edit/1
Click on Go to /home link or click on the back button inyour browser - at this point onBeforeRouteLeave callback is called only once what you can see in the console logs

steps to reproduce bug:

Open main.js and uncomment this part:

let be = router.beforeEach((to, from, next) => {
  console.log('beforeEach');
  next(false);
});

Log out from the app, refresh page, and again follow steps 1-3. Now you should see the bug where onBeforeRouteLeave is called twice and it only occurs when you click on the back button in your browser. if you click on Router link it's only called once.
What is expected?
onBeforeRouteLeave to be called only once

I too see onBeforeRouteLeave called twice, even in 4.1.6 version.
Might be a regression of this issue, but frankly it's hard to tell, as the repo in the repro link above is not available anymore and there were exactly zero tests written as part of the faa8562 commit that tried to fix it.
I might create repro when I have a free couple of hours, but in the meantime I would like to humbly propose the advantages of starting every fix by writing a failing test. Creating a repro for a router is not exactly easy, you need a full-blown front-end project for that. All the more reason for strong test coverge.

@ivos I am sorry for deleting my original repository. I have restored it. As for the bug itself, I no longer see it in vue-router 4.1.6. Maybe yours is different from mine.

authors: ivos sqal

repo: vuejs/router


text:
Popstate event not cleaned upon unmounting app

Version
4.1.6
Reproduction link
stackblitz.com
Steps to reproduce

In the reproduction link, click on "open in new tab" in the top bar (only works for chromium based for me)
This is needed because the embedded demo is inside an iframe which breaks what follows

open console

type getEventListeners(window), notice absence of popstate events

press mount button

type getEventListeners(window), notice 1 poptstate event

press unmount button

type getEventListeners(window), notice 2 popstate events

You can repeat 4-7 as much as you want.
What is expected?
The popstate event is cleared when app is unmounted
What is actually happening?
popstate event are never unregistered

Hello !
First of all, thank you for your work on this amazing library !
I am aware that we can "fix" the infinite push of popstate event by having the router initialized only once. However, there is still a dangling popstate event that will remain even in this case. Moreover, in our architecture, we create the router through a function which gets called everytime the app needs to be mounted. So we can't necessary rely on this solution. Nevertheless, I would argue that having dangling events can add unecessary noise, and it actually is creating an issue on our side with a micro-frontend architecture and several routers managing their own popstate events.
We noticed that the unmount function does not call the history's destroy function.
Would doing so break any behaviour that needs to be kept ?
If so, would it be possible to alter the API to provide an option like router.destoryOnAppUnmounted or so boolean to trigger this destroy ? If you uncomment line 37 in the reproduction link, you can see that it fixes the issue.
Thank you in advance,
cheers

The history instance is passed to the router, not managed by it so it makes sense to manually destroy it when the app is unmounted. Destroying it would indeed break anybody reusing the history instance and it’s there on purpose for flexibility.
Adding a line of api to replace another line of code is definitely something I would avoid 🙂

Hey,
Thank you for your quick answer ! 😄
Out of curiosity, what would be a use case of reusing the history after the app has been unmounted ?
And in such cases, what would be the goal of keeping the popstate event alive while the app is unmounted ?
About the API thing, I understand your point, but it's not necessary one line of code. If i simplify a bit our code, we have something like this :
// router.js
export const routerFactory = (base) =>
  createRouter({
    history: createWebHistory(base),
    routes: routes,
  });

In order to destroy manually, it'd mean doing something like so :
// router.js
export let history = undefined;

export const routerFactory = (base) =>
  if (!history) {
    history = createWebHistory(base);
  }

  createRouter({
    history: createWebHistory(base),
    routes: routes,
  });

and then
// index.js
import { history } from `router.js`;
...
app.use(router);
const appUnmount = app.unmount;
app.unmount = () => {
  history.destroy();
  appUnmount();
}

or
// App.vue (root element)
<script setup>
import { history } from 'router.js';
...
onUnmounted(() => {
  history.destroy();
});

I find these two solutions to be somewhat verbose compared to
// router.js
export const routerFactory = (base) =>
  createRouter({
    destroyHistoryOnUnmount: true,
    history: createWebHistory(base),
    routes: routes,
});

Wdyt ?

I wasn’t sure if this was a bug so I checked but the history still registers one even listener and remove any router listener.
You should be able to reuse the history instance across multiple router instances
Destroying the history must indeed be done manually and I don’t think it’s a good idea to add one very specific Boolean option to the router to destroy the history

If anyone stumbles accross this post, this is what we went with, as it looked the less invasive in our code :
export const routerFactory = (base) => {
  const history = createWebHistory(base);
  const router = createRouter({
    history: history,
    routes: routes,
  });

  const installRouter = router.install.bind(router);
  router.install = (app) => {
    installRouter(app);

    const unmountApp = app.unmount;
    app.unmount = function () {
      history.destroy();
      unmountApp();
    };
  }

  return router;
}

authors: Neevalt posva


text:
Invalid savedPosition

Reproduction
https://codesandbox.io/s/scrollbehavior-doesnt-save-scroll-position-xvg6x2?file=/src/router.js
Steps to reproduce the bug

Scroll down Home page
Go to About page
Tap back button on codesandbox browser
In the console you can see that the savedPosition from vueRouter is zero and the page scrolls to the top

Expected behavior
The Home page opens with the position correctly saved
Actual behavior
The Home page opens with the position incorrectly saved
Additional information
Workaround
https://codesandbox.io/s/scrollbehavior-doesnt-save-scroll-position-workaround-9t77rl?file=/src/router.js
Proposal
Allow user to provide an options to vueRouter:
type AdditionalOptions = {
  // invoking in 2 cases:
  // 1. to save position (beforeEach)
  // 2. to scroll page instead of window.scrollTo (scrollContainer.scrollTo)
  getScrollContainer?: (currentRoute: RouteLocationNormalized) => HTMLElement
}

If not defined, the current behaviour is returned to
I've read https://github.com/vuejs/router/blob/a1611b6099403cfe9539ee8d4e9308b3a6a0175c/packages/router/src/scrollBehavior.ts#L176-L191
P.s
I hate the window.scrollTo, window.scrollIntoView methods with behavior: 'smooth', it would be great if we could make smoother behaviour with custom smoothScroll function.
Suggestion:
type AdditionalOptions = {
  // scrollContainer from the previous function getScrollContainer or document.scrollingElement
  scroll(scrollContainer: HTMLElement, position: ScrollPosition): void
}

This is a limitation (as you noticed) due to the fixed position. There are plans to improve but we will go through an RFC like mentioned in the comments. Right now you can either use https://github.com/antfu/vue-router-better-scroller or implement a custom solution that runs with router.afterEach()


text:
请问,如果不进行特别的设置,能不能自动增加端口数呢

比如同时运行两个vue的项目 npm run dev , 因为都是默认的8080,所以会报错
以前用过类似的,不过忘记是什么了,应该是yo生成的..可以每次自增端口再运行....
现在每次都要关闭另外一个,再开始新的...有点麻烦...
不知道有没有这个功能,或者如何修改 dev-server.js 来实现类似功能呢?

应该发到vue-template里面

repo: vuejs/vue-cli


text:
views bug

Version
3.5.5
Reproduction link
https://github.com/xumoyan/vue-cli-bug.git
Environment info
app.vue
<app-header></app-header>
<router-view />

home.vue
<template>

Home

</template>

header.vue
<template>

Header

</template>

display:
Home
Home

header.vue delete export default  class Header extends Vue {}
display:
Header
Home

Steps to reproduce
yarn install
yarn serve
header.vue delete export default  class Header extends Vue {}
yarn serve
What is expected?
Header
Home
What is actually happening?
Home
Home

You forgot to add the @Component decorators.

authors: sodatea xumoyan


text:
Allow hasClass to compare multiple classes

Addressing #118.
Instead of making a new variable, I could do the .split and .every check in the return statement, but I feel splitting it up is more readable. Thoughts?

Thanks for the review @eddyerburgh .
I tried adding wrapper.element = undefined like test, but it doesn't seem to have the effect I expected - wrapper.element is still very much defined when hasClass executes. Any ideas?
I also noticed the fourth test in hasClass.spec.js:
it('returns false if wrapper does not have an element', () => {
  const compiled = compileToFunctions('<div />')
  const wrapper = mount(compiled)
  wrapper.element = null
  expect(wrapper.hasClass('not-class-name')).to.equal(false)
})

Does not seem to be doing what is expected either - removing the line wrapper.element = null does not seem to have any impact, that tests still passes either way.

Sorry, element on a VueWrapper is a getter. You can do this by setting element on an element Wrapper to null - https://github.com/vuejs/vue-test-utils/blob/dev/test/unit/specs/mount/Wrapper/trigger.spec.js#L77

I'll give this a try now. What does this mean for the already existing it('returns false if wrapper does not have an element' test - isn't doing wrapper.element = null basically testing nothing?

Yep, you're right. Can you delete that test?

Updated!

remove the old test
restore package.json to original state before checkout
add comment regarding changing containsAllClasses to a function (I don't quite understand why).

repo: vuejs/vue-test-utils


text:
IE11 - Promise is undefined

Version
2.6.10
Reproduction link
http://jspellsite2018-1.us-east-1.elasticbeanstalk.com
Steps to reproduce
I have specified in babel.config.js:
// babel.config.js
module.exports = {
presets: [
['@vue/app', {
polyfills: [
'es6.promise',
'es6.symbol',
'es6.object.assign'
]
}]
]
}
I have NOT imported anything in main.js.
I am using vue-cli-service build
However, when executing in IE11 I get the immediate error Promise is undefined.
If I try to import @babel/polyfill then I get an error saying I should use useBuiltIns: 'entry'. But that will include too many polyfills.
It appears that vue-cli-service build is not including the polyfills I've specfied above.
Any ideas?
What is expected?
Polyfills are loaded
What is actually happening?
Not loaded

Polyfills for Promises are unrelated to Vue.

Remember you can use the forum or the Discord chat to ask quick questions!

authors: cliffordh posva

repo: vuejs/vue


text:
vue ssr cli webpack bug

Version
2.7.14
Reproduction link
https://ip.w7.cc/
Steps to reproduce
package.json
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "cross-env": "^7.0.3",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3",
    "vue-template-compiler": "^2.6.14",
    "webpack-node-externals": "^3.0.0"
  },

webpack require(rootOutputDir = ../)
https://sourcegraph.com/github.com/webpack/webpack/-/blob/lib/node/RequireChunkLoadingRuntimeModule.js?L155:14
		hasJsMatcher === true
												? "if(true) { // all chunks have JS"
												: `if(${hasJsMatcher("chunkId")}) {`,
											Template.indent([
												`installChunk(require(${JSON.stringify(
													rootOutputDir
												)} + ${
													RuntimeGlobals.getChunkScriptFilename
												}(chunkId)));`
											]),
											"} else installedChunks[chunkId] = 1;",
											""
										]),

vue-ssr-server-bound.json no ../
"entry": "js/main.b7b5b1dc.js",
  "files": {
      "js/xxxxx" : "code here"  not ../
  }

vue-server-render/build-dev.js
    const r = file => {
            file = path$1.posix.join('.', file);
            file = file.replace('../', '/', file);//  i need add code 我需要加这行
            if (files[file]) {
                return evaluateModule(file, sandbox, evaluatedFiles);
            }
            else if (basedir) {
                return require(resolvedModules[file] ||
                    (resolvedModules[file] = resolve.sync(file, { basedir })));
            }
            else {
                return require(file);
            }
        };

What is expected?
file = file.replace('../', '/', file);//  i need add code 我需要加这行
What is actually happening?
file = file.replace('../', '/', file);//  i need add code 我需要加这行

i fix vue.config js out dir  like this ?
@vue/cli-service/assert.js
  api.chainWebpack(webpackConfig => {
    webpackConfig.module
    .rule('svg')
      .test(/\.(svg)(\?.*)?$/)
      // do not base64-inline SVGs.
      // https://github.com/facebookincubator/create-react-app/pull/1180
      .set('type', 'asset/resource')
      .set('generator', {
        filename: genAssetSubPath('img')   //
      })

Hi, thanks for your interest but Github issues are for bug reports with up-to-date, minimal reproductions and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.


text:
Nested transitions premature end

Vue.js version
2.0.0-rc3
Reproduction Link
https://jsfiddle.net/hv59sebz/
Steps to reproduce
Click on the "Transition broken" button (real click as usually touchpad taps are not long enough to trigger the button active animation).
What is Expected?
The DIV element inside the transition tag should be removed from the DOM when the move transition ends, that is when it reaches the right border of the page after the 3 second transition is done.
What is actually happening?
The div element inside the transition tag is being removed from the DOM when the nested transition on button active ends, before it reaches the right border of the page.

This is because the second button click emits a transitionend event (why that is even though nothing is transitioned atm is beyond me), and that event bubbles up and is eventually cached by the Vue transtition, which listens for this event in order to catch the end of the main transition.
a quick fix would be to stop the propagation on the button:
<button id="animated_button" @click="hide" @transitionend.stop>Transition broken</button>

We ill look into weither we can fix with, I think about comparing the event's target and currentTarget

Adding @transitionend.stop worked. Thanks!  I thought it should be something related with the handling of the transitionend event, but I have not found where is that on Vue 2 to try patching it.

authors: LinusBorg francc


text:
Show warning/error message when listen $on event, but not unregister/$off (native or vue) event  in beforeDestroy()

What problem does this feature solve?
Do checking if the component register (vue or native ) event in components, show warning if it is not unregister in beforeDestroy().
This will make components implements correctly.
What does the proposed API look like?
	mounted() {

		this.$root.$on('refresh', function() {
			this.someMethod()
		});
    }

// show in console
warning: refresh event is not unregister in beforeDestroy()

The root won't be able to know when the component is destroyed.
You can always have a bus implementation that handles this, but it's too much for Vue core

authors: kiwionly posva


text:
fix: test

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[x] Other, please describe:

Does this PR introduce a breaking change? (check one)

[x] Yes
[ ] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

first commit

do tests on your own repos, thank you

test

do tests on your own repos, thank you
Thanks for reminding

authors: HaiTing-Zhu posva


text:
Computed docs demo for watch suggests it cannot be done with computed - but it can

Doc in question

In this case, using the watch option allows us to perform an asynchronous operation (accessing an API), limit how often we perform that operation, and set intermediary states until we get a final answer. None of that would be possible with a computed property.

But I believe I have a fiddle showing that this is not true
So I believe it is possible, but should be avoided; the computed property needs to reference a data property which is a little inelegant but also could be changed directly without triggering the API lookup
Perhaps a reword along the lines of

In this case, using the watch option allows us to perform an asynchronous operation (accessing an API), limit how often we perform that operation, and set intermediary states until we get a final answer. While this is possible with computed properties; it is not recommended as it leads to convoluted and brittle code.

I think it's fine the way it is. Technically, a computed property can be involved, you can't accomplish this with a computed property alone - this is a hack that also requires a proxied data property and a method. The computed property is little more than a getter and setter at this point.

authors: chrisbruford chrisvfritz


text:
Fix card total price bug

Fix card total price bug

fix for this issue
https://github.com/vuestorefront-community/prestashop/issues/37

repo: vuestorefront-community/prestashop


text:
createNew naming convention

Vuex-ORM differentiates Models create and insert.
I would say it is wise to respect that convention in the plugin-change-flags API as far as API coherence is concerned.

Hello @muichkine,
createNew is an addition to the initial API, thus its different name.

Yes but the API seems different.
For instance. Model.create() in Vuex seems to be able to take a { data: { key: value }} as an input while seems not to.
I'm debugging my app, but for instance, when doing
 DocumentPrice.createNew({
        data: { DocDataId: 13 }
      }).then((entities) => { console.log(entities); });

the console output shows a DocDataId set to null which is puzzling me.

authors: muichkine tvillaren

repo: vuex-orm/plugin-change-flags


text:
Shaderc does not compile with MSVC, results in multiple LNK2038 errors on build

Here's what the log looks like when I try building in VS2017-
pastebin
I am not sure of how to fix this as I can't find any way to set the proper CRT as detailed in this stackoverflow answer which outlines my problem. Is there any fix for this?

@rhzk  recommend closing.  issue will remain in google search results for posterity.

authors: WarpspeedSCP knappador

repo: vulkano-rs/vulkano


text:
show zero when there's no balance

closes #463
@tiero please review

I would make the default return value of the formatFunction to be zero instead

Like this? 2e85b8a

repo: vulpemventures/marina


text:
Fix: #280 "Some visio images open black"

Reference Issue

Fixes #280
What does this implement/fix? Explain your changes.

Any other comments?

I rebase on latest master.

repo: vvvv/SVG

license: MS-PL


text:
Fix escaping in make target: setup-web-proxy

Before the fix it produced a wrong json:
$ make setup-web-proxy
echo "{\n  \"/api\": {\n    \"target\": \"http://localhost\",\n    \"secure\": false\n  }\n}" > /home/souz9/cyberok/soldr/web/proxy.conf.json
$ cat web/proxy.conf.json
{\n  "/api": {\n    "target": "http://localhost",\n    "secure": false\n  }\n}

@souz9 I think that you need return using of CURDIR var to avoid issue with changing current working directory in Makefile
Such as $(CURDIR)/web/proxy.conf.json

@souz9 I think that you need return using of CURDIR var to avoid issue with changing current working directory in Makefile
Such as $(CURDIR)/web/proxy.conf.json

Every line in Makefile always runs relatively to the base directory of the Makefile. Using $(CURDIR) this place looks to me redundant.

Simple example:

Yea, I know about it, tnx! But my case was different:
# /tmp/Makefile:
test:
        @pwd
        @echo `pwd`
        @echo $(PWD)
        @echo $(CURDIR)

$  CURDIR=/cwd PWD=/pwd make -C /home -f /tmp/Makefile
make: Entering directory '/System/Volumes/Data/home'
/System/Volumes/Data/home
/System/Volumes/Data/home
/pwd
/System/Volumes/Data/home
make: Leaving directory '/System/Volumes/Data/home'

As a bottom line, CURDIR variable can't be override outside, but we'll able to redefine it inside Makefile by one line, e.x.
# /tmp/Makefile:

CURDIR := $(PWD)

test:
        @pwd
        @echo `pwd`
        @echo $(PWD)
        @echo $(CURDIR)

$  CURDIR=/cwd PWD=/pwd make -C /home -f /tmp/Makefile
make: Entering directory '/System/Volumes/Data/home'
/System/Volumes/Data/home
/System/Volumes/Data/home
/pwd
/pwd
make: Leaving directory '/System/Volumes/Data/home'

But after your change we'd lose the ability to quick fix.

As a bottom line, CURDIR variable can't be override outside, but we'll able to redefine it inside Makefile by one line, e.x.

It does not seem to be a good idea to override $CURDIR this way. $CURDIR has a special meaning in make, it'd better to use -C flag for this.
# /tmp/Makefile:
test:
	@echo CURDIR: $(CURDIR)
	@echo PWD: $(PWD)

$ cd /tmp
$ make: Entering directory '/tmp/one'
CURDIR: /tmp/one
PWD: /tmp
make: Leaving directory '/tmp/one'

$ make -C /tmp/two -f /tmp/Makefile
make: Entering directory '/tmp/two'
CURDIR: /tmp/two
PWD: /tmp
make: Leaving directory '/tmp/two'

BTW, $PWD has a special meaning in shell so it's not a good idea to override it as well.
$PWD is an env variable managed by shell.
$CURDIR is an internal variable of make (not user defined variable).

@souz9 thank you for your example, I know it, but I see no one reason to change using of the variable in this line.
My example presents some case to change output directory for testing (in developer mode only).
Your output text shows this case:
$ make -C /tmp/two -f /tmp/Makefile
make: Entering directory '/tmp/two'
CURDIR: /tmp/two
PWD: /tmp
make: Leaving directory '/tmp/two'

So I ask you to return the variable and update your request.

@asdek Updated.

repo: vxcontrol/soldr


text:
NASM linter producing junk binary files

Information
VIM version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 19 2018 22:08:09)
Windows 10 x64
:ALEInfo
https://gist.github.com/McSwaggens/ef43e48a341594529ce31fe1b7f35904
What went wrong
The nasm linter will compile and output a binary file whenever it is triggered.
Reproducing the bug

Create and open a file called test.asm with nasm enabled
Trigger the linter with :w
There is now a binary file called test (with no extension) in the same directory as the source file.

More Info
From NASM documentation, which states:
NASM will normally choose the name of your output file for you; precisely how it does this is dependent on the object file format. For Microsoft object file formats (obj, win32 and win64), it will remove the .asm extension (or whatever extension you like to use – NASM doesn't care) from your source file name and substitute .obj. For Unix object file formats (aout, as86, coff, elf32, elf64, elfx32, ieee, macho32 and macho64) it will substitute .o. For dbg, rdf, ith and srec, it will use .dbg, .rdf, .ith and .srec, respectively, and for the bin format it will simply remove the extension, so that myfile.asm produces the output file myfile.

Is there an option like -o /dev/null we can use or something?

Won't work on non Unix based systems.

You should be able to use NUL on Windows.

authors: Carpetsmoker McSwaggens w0rp


text:
Flow issue with CPU

This isn't really an ALE issue, but I wanted to make people aware of it.
If you have flow installed for JavaScript type checking and you use Vim to edit a .js file in a directory that does not contain a .flowconfig file, flow will start a bunch of processes to check every JavaScript file it finds up the file hierarchy until it finds a .flowconfig file. Maybe you don't have one at all. As best I can tell that means flow will try to check every .js on your machine! Your CPU time will be consumed quickly. You can tell this has happened on a Mac laptop because you'll hear the fans spin up.
The only solution I know of is to make sure you have a .flowconfig file. It can be created by running "flow init".

@mvolkmann you can set ale to only run the flow linter if a .flowconfig file is found in your project. There might be a better way but this has been working for me.
function! StrTrim(txt)
  return substitute(a:txt, '^\n*\s*\(.\{-}\)\n*\s*$', '\1', '')
endfunction

if findfile('.flowconfig', '.;') !=# ''
  let g:flow_path = StrTrim(system('PATH=$(npm bin):$PATH && which flow'))
  if g:flow_path != 'flow not found'
	let g:ale_linters = {
	\   'javascript': ['eslint', 'flow'],
	\}
  endif
endif

I'll class this as a bug. I think we should just not run the flow linter if we can't find a .flowconfig file.

Maybe this is a bit tricky. I don't think we want it to skip flow just because there isn't a .flowconfig file in the current directory. Maybe I'm inside the directory structure of a project and the .flowconfig file is in the top directory of the project. One way to handle this is to search upward for a .flowconfig file and only run flow if one is found. It could also stop searching if it finds a .git directory, indicating the top of a project has been reached.

Yeah, existing linters in the project already do that. There's a function for finding the files and using some fallback option, like a global configuration file.

I have fixed this now. Now if there is no .flowconfig file present in some ancestor directory, the flow linter will not be run. I used an existing ale#util function for this, and a newer feature which cancels starting a job at all if you return an empty string from a function generating a command.

authors: delianides mvolkmann w0rp


text:
Add files via upload

Project Abstract
Diora Network is a public EVM-compatible parachain for the Dotsama ecosystem. We are hoping to realize 2000+ TPS utilizing advanced PoSM with Double Validation & Randomization for security guarantees.
Diora Network proposes the Proof of Stake Masternode (PoSM) consensus, which is a PoS based blockchain protocol with a fair voting mechanism & rigorous security guarantees.
For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[X ] Level 2:  Up to $50,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[ x] I have read and understood the FAQs, application guidelines and announcement guidelines.
[x ] A BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) address for the payment of the milestones is provided inside the application.
[x ] I have read and acknowledge the terms and conditions.
[ x] The software delivered for this grant will be released under an open-source license specified in the application.
[x ] The initial PR contains only one commit (squash and force-push if needed).
[x ] The grant will only be announced once the first milestone has been accepted.
[ ] I prefer the discussion of this application to be in a private Element/Matrix channel. My username is: @_______

How Did You Hear About our grants program?

[ ] Social Media
[ ] Hackathon
[ ] Personal Recommendation
[ ] Substrate Builders Program
[ ] Investor/VC
[x ] Online Search
[ ] Other: _______

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

ping @DappGuy

I’m closing this PR due to inactivity. Let me know if I should reopen it.

authors: CLAassistant DappGuy Noc2 semuelle


text:
ts.bar() 返回的开盘等价格为字符串类型??

我利用这个接口返回的数据类型是str
如果要用talib计算,还要再转成float64才行.
其他的接口都已经是float64了,这个是专门这样设计的??
是否可以直接返回float64类型的数据呢??
另外,我测试了一下,好像,只是好像,bar这个接口,比get_k_data这个要慢一点点.不知道是不是我的错觉.
我测试都是同样的得到从2017-01-01开始到当天的数据

应该是要统一的，bar现在还不是正式发布，所以会做一些调整。响应慢一点确实有可能

code       object
open      float64
close     float64
high      float64
low       float64
vol       float64
amount    float64

authors: jimmysoa smallevil

repo: waditu/tushare


text:
请问日线行情的权限是怎样划分的呢

抱歉，您每分钟最多访问该接口200次，权限的具体详情访问：https://tushare.pro/document/1?doc_id=108。
请问日线行情的权限是怎样划分的呢，看了文档只提到了最低积分要求
A股3000多只股票，每分钟200次完全不够用啊～

是最低分值没问题，也就是其实是不需要积分的，注册了就能用，但是最低分值的有次数限制，为了防止非正常调取数据。

多谢您的回复，不过我不是很明白“防止非正常调取数据”的意思。
我是想使用api.pro_bar每天盘后获取所有股票日K的更新，然后存盘到hdf5文件，我现在是每个股票扫一遍，start_date等于hdf5文件里面的最后一条数据的trade_date。
之前都是很好的，就是这几天突然就不能用了，我这中情况算是“非正常调取数据”吗，如果是的话用什么办法比较合适呢？
再次感谢！

访问接口的频率太高了，试一下异常捕获。一旦捕获到这个异常，sleep个几秒钟。这也是为了减少服务器压力？？？

访问接口的频率太高了，试一下异常捕获。一旦捕获到这个异常，sleep个几秒钟。这也是为了减少服务器压力？？？

是每获取一只股票行情都要sleep一下吗，那3000多只股全部更新一遍要花好久的吧 ～

访问接口的频率太高了，试一下异常捕获。一旦捕获到这个异常，sleep个几秒钟。这也是为了减少服务器压力？？？

是每获取一只股票行情都要sleep一下吗，那3000多只股全部更新一遍要花好久的吧 ～
我们以150/分钟为例，4000/150~=30。异常的时候这样处理。对于单日的话，可以选择df = pro.daily(trade_date='20190301')

访问接口的频率太高了，试一下异常捕获。一旦捕获到这个异常，sleep个几秒钟。这也是为了减少服务器压力？？？

是每获取一只股票行情都要sleep一下吗，那3000多只股全部更新一遍要花好久的吧 ～
我们以150/分钟为例，4000/150~=30。异常的时候这样处理。对于单日的话，可以选择df = pro.daily(trade_date='20190301')

那就是说拉一次要半小时呀

访问接口的频率太高了，试一下异常捕获。一旦捕获到这个异常，sleep个几秒钟。这也是为了减少服务器压力？？？

是每获取一只股票行情都要sleep一下吗，那3000多只股全部更新一遍要花好久的吧 ～
我们以150/分钟为例，4000/150~=30。异常的时候这样处理。对于单日的话，可以选择df = pro.daily(trade_date='20190301')

那就是说拉一次要半小时呀

积分超过5000不受此限制，积分最快的获取方法，捐赠

authors: jimmysoa liyanglzu sngyai


text:
use last valid value as imputation value, not last value from the block being imputed

@vincentvanhees sorry, I should have noticed this yesterday. Currently a faulty block is being imputed with the last value from that same block. Is that correct? Should it maybe be imputed with the last valid value, which at that point is stored in rawAccel[1]?

Codecov Report

Merging #46 (62eb879) into main (dc6466e) will not change coverage.
The diff coverage is 0.00%.

:exclamation: Current head 62eb879 differs from pull request most recent head 2a7c419. Consider uploading reports for the commit 2a7c419 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage   84.27%   84.27%
=======================================
  Files           9        9
  Lines         960      960
=======================================
  Hits          809      809
  Misses        151      151

Files Changed
Coverage Δ

R/readAxivity.R
81.98% <0.00%> (ø)

Ok, whether the new block (rawAccel) is correct we will only know until the next block is is read as only then we will be able to check whether the block had an abnormal duration. So, maybe this is a lot harder to assess.
An alternative approach is to use one standard imputation c(0, 0, 1), and log all imputation events as we already do, and let user decide on a more appropriate imputation if they think that is relevant.

I definitely may be wrong because there's a lot going on, but I think that when we get to the imputed values line, we have just read the new block (raw) and we determined that the previous block (prevRaw) is faulty. If prevRaw wasn't faulty, we would have put it into rawAccel[2:rawLast,] . But rawAccel[1] has actually already been filled in by the last value of the block before prevRaw, it happened at the end of processing of the block before prevRaw, here

authors: codecov-commenter l-k- vincentvanhees

repo: wadpac/GGIRread


text:
Expose max_iter of GMRES

In my application, I needed atleast 10000 interactions of GMRES to get convergence.
It will therefore be useful to expose this in the solver interface.
Thanks a lot for the awesome work.
Any thoughts on writing one in Jax?
Best,
Fahiz

Thank you for the kind words! I have updated the package, max_iter should now be exposed. You can check this in the updated readme. Unfortunately I am not familiar with Jax, so writing a Jax implementation is (currently) not planned. If you think of any other enhacements or encounter any bugs, feel free to create another issue.

authors: BabaYara wagenaartje

repo: wagenaartje/torch-cgd