failed to collect system load: 'validated_data' must be provided if 'call_default_factory' is True

Describe the bug

Steps to reproduce

Install GPUStack
Go to the dashboard

Result

There was an error.

2024-11-21T10:23:18+08:00 - gpustack.server.system_load - ERROR - failed to collect system load: 'validated_data' must be provided if 'call_default_factory' is True.
ERROR:    Exception in ASGI application
  + Exception Group Traceback (most recent call last):
  |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
  |     yield
  |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 186, in __call__
  |     async with anyio.create_task_group() as task_group:
  |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 763, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
    |     result = await app(  # type: ignore[func-returns-value]
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    |     return await self.app(scope, receive, send)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    |     await super().__call__(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    |     await self.app(scope, receive, _send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    |     with collapse_excgroups():
    |   File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    |     self.gen.throw(value)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 235, in dispatch
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    |     raise app_exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    |     with collapse_excgroups():
    |   File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    |     self.gen.throw(value)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 38, in dispatch
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    |     raise app_exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    |     with collapse_excgroups():
    |   File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    |     self.gen.throw(value)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 32, in dispatch
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    |     raise app_exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    |     await route.handle(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    |     await self.app(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    |     response = await f(request)
    |                ^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    |     raw_response = await run_endpoint_function(
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    |     return await dependant.call(**values)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/routes/dashboard.py", line 37, in dashboard
    |     system_load = await get_system_load(session)
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/routes/dashboard.py", line 68, in get_system_load
    |     current_system_load = compute_system_load(workers)
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/server/system_load.py", line 65, in compute_system_load
    |     load = SystemLoad()
    |            ^^^^^^^^^^^^
    |   File "<string>", line 4, in __init__
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 571, in _initialize_instance
    |     with util.safe_reraise():
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
    |     raise exc_value.with_traceback(exc_tb)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 569, in _initialize_instance
    |     manager.original_init(*mixed[1:], **kwargs)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/main.py", line 723, in __init__
    |     sqlmodel_init(self=__pydantic_self__, data=data)
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/_compat.py", line 348, in sqlmodel_init
    |     sqlmodel_table_construct(
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/_compat.py", line 248, in sqlmodel_table_construct
    |     defaults[name] = field.get_default(call_default_factory=True)
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/pydantic/fields.py", line 596, in get_default
    |     raise ValueError("'validated_data' must be provided if 'call_default_factory' is True.")
    | ValueError: 'validated_data' must be provided if 'call_default_factory' is True.
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    with collapse_excgroups():
  File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 235, in dispatch
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    raise app_exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    with collapse_excgroups():
  File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 38, in dispatch
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    raise app_exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in __call__
    with collapse_excgroups():
  File "/Users/seal/miniconda3/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/api/middlewares.py", line 32, in dispatch
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
    raise app_exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/routes/dashboard.py", line 37, in dashboard
    system_load = await get_system_load(session)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/routes/dashboard.py", line 68, in get_system_load
    current_system_load = compute_system_load(workers)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/gpustack/server/system_load.py", line 65, in compute_system_load
    load = SystemLoad()
           ^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 571, in _initialize_instance
    with util.safe_reraise():
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 569, in _initialize_instance
    manager.original_init(*mixed[1:], **kwargs)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/main.py", line 723, in __init__
    sqlmodel_init(self=__pydantic_self__, data=data)
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/_compat.py", line 348, in sqlmodel_init
    sqlmodel_table_construct(
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/sqlmodel/_compat.py", line 248, in sqlmodel_table_construct
    defaults[name] = field.get_default(call_default_factory=True)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/seal/.local/pipx/venvs/gpustack/lib/python3.12/site-packages/pydantic/fields.py", line 596, in get_default
    raise ValueError("'validated_data' must be provided if 'call_default_factory' is True.")
ValueError: 'validated_data' must be provided if 'call_default_factory' is True.
2024-11-21T10:24:18+08:00 - gpustack.server.system_load - ERROR - failed to collect system load: 'validated_data' must be provided if 'call_default_factory' is True.

Expected behavior

Environment

GPUStack version: main 63c9248

Additional context
Add any other context about the problem here.

There's probably incompatible changes in the new release of pydantic: https://pypi.org/project/pydantic/2.10.0/. The workaround is to downgrade pydantic to 2.9.2. e.g.,
pipx runpip gpustack install pydantic==2.9.2
systemctl restart gpustack

Reproducible in a fresh 0.3.2 setup

Test Result:

0.3.2: pass
main 926f2ee: pass


Скласти інтро

Скласти інтро (вступ), де в 2-4 реченнях описати, що замовник робить, що подобається робити, що хочеться робити краще, що важливо робити, тощо.

Okay, let's do this one last time, yeah. For real this time, this is it. My name is Miles Morales. I was bitten by a radioactive spider. And for like two days, I’ve been the one and only Spider-Man. I think you know the rest. I finished my essay. ...  Got hit by a drone. I did this with my dad. I met my roommate... finally. Slapped a sticker where my dad's never gonna find it. And when I'm all alone, like, no one understands what I'm going through... I remember my friends who get it. ... I never thought I'd be able to do any of this stuff, but I can. Anyone can wear the mask. You could wear the mask. If you didn't know that before, I hope you do now. ... 'Cause I'm Spider-Man. And I'm not the only one... not by a long shot.

Version 2
My name is Miles Morales. I was bitten by a radioactive spider and for like two days, I've been the one and only Spider-Man. I never thought I'd be able to do any of this stuff, but I can. Anyone can wear the mask. You can wear the mask. If you didn't know that before, I hope you do now.


fix esp32s2 request to uf2 using reset hint

reset reason for esp_restart() changed with recent IDF. This fix request to uf2 bootloader. related to #128
@T94T would you mind trying this out.

This seems to work now. Thank you so much for your help!


How to change server's URL after initialize with configuration?

everything else is exactly the same. just need to change the url to an ipv6 or ipv4 address in case of a DNS query failure which happens frequently in some regions. but it won't let me change Parse.currentconfiguration().server. and it won't let me to initialize again.

AFAIK you cannot do this


fix: Use hidden project configuration for dependency management

Fixes #190
I do wonder how well this works with generated source though, will probably test this first with a few office projects before releasing this.

As expected, this does cause a bunch of now missing delegation issues to mimic the compile scope. Might need to do some more mapping to support generated sources properly as well 🤔

After a lot of trying and tweaking, I concluded that #160 is essentially impossible without relying on commands to change state in sbt (like sbt-scoverage does) or going back to not having a scapegoat task (like wart-remover).
This change is compromise, go back to the old style that didn't add the projectConfiguration for the actual job, but add a new hidden one to manage the dependency to avoid leaking it into published artifacts.


The predecessor study to Cognoma published

@gwaygenomics, @allaway, and @cgreene's study was just published (two days ago):

A machine learning classifier trained on cancer transcriptomes detects NF1 inactivation signal in glioblastoma
Gregory P. Way, Robert J. Allaway, Stephanie J. Bouley, Camilo E. Fadul, Yolanda Sanchez, Casey S. Greene
BMC Genomics (2017) DOI: 10.1186/s12864-017-3519-7

So congrats to them. This study was what initially motivated us to create Project Cognoma.
In short, they used gene expression information to predict whether glioblastoma patients had mutations in the neurofibromin 1 gene (NF1). They trained the machine learning model on The Cancer Genome Atlas (TCGA) data, like we're doing in Cognoma. Then they used the model to predict whether 12 samples, which are not from TCGA but instead from collaborators at Dartmouth, had reduced levels of the NF1 protein. These predictions were good but not perfect (Figure 2C-D).
The goal of Project Cognoma is to allow all cancer researchers, who generally lack the computational skills of @gwaygenomics, to perform similar analyses. This study focused on the glioblastoma subset of TCGA samples and predicted NF1 mutation. We're going to allow researchers to choose the subset of diseases that they're interested in and select from ~20,000 genes for their mutations of interest. In essence, we want to let researchers do what took @gwaygenomics months to do in just minutes :wink: for the problem of their choosing.

also congrats to @allaway, who is a co-first author on this paper and made clear many of the initial use case motivations (#11) and comments on early iterations of @bdolly's query builders!

Sorry @allaway, I didn't make the connection that you were Robert J. Allaway! I added your handle to the initial post. Keep up the great work!

No worries - cheers!


switch to generating substitution files for DB

Now creates substitution files from the database entries in the IOC YAML. like below
I think this is a bit ugly but it works and is readable.
@coretl @GDYendell @niamhdougan take a look if you feel like making it nicer. :-)
################################################################################
# DB substitution file generated by http://github.com/epics-containers/ibek
################################################################################

file "another_test.db" {
pattern
	{ name,            my_int_enum, clock_rate, db_calculated,         calculated_one }
	{ "AllObject One", "2",         "dummy",    "HELLO AllObject One", "AllObject One.AllObject One String.1.1.0.True" }
	{ "AllObject Two", "1",         "1",        "HELLO AllObject Two", "AllObject Two.AllObject Two String.1.1.0.True" }
}

file "yet_another.db" {
pattern
	{ name,            my_object, my_float, my_bool }
	{ "AllObject One", "Ref1",    "1.0",    "True" }
	{ "AllObject Two", "Ref1",    "1.0",    "True" }
}

file "test.db" {
pattern
	{ name,                   ip,          value }
	{ "Consumer Two With DB", "<IP_ADDRESS>", "Ref<IP_ADDRESS>.1" }
}

This is a fix for #59


Web Socket doesn't reply from the first attempt

How to reproduce:

Clear all the cache or use new browser
Login and try wo write something

Probably issue is connected to web sockets order


chore: WDS adjust bgNeutral lightness

Can be darker than it is currently in both modes to not come off as disabled.

Hey team! Please add your planning poker estimate with Zenhub @KelvinOm @tbrizitsky


Key:Values a resource for asking meaningful questions during an interview

Added a link to key values a resource since they have a tool that generates questions to ask during an interview based on your key values. I also added myself as a contributor.

✅ By submitting this PR, I have verified the following
Guidelines
Resources

If adding a new resource,

[x] There is a link to the resource.
[x] There is a description describing what benefits the resource offers.

Formatting

[x] No whitespace.
[x] Spaces, not tabs. Specifically, 2 spaces.
[x] Make sure items in lists are alphabetized.

Adding yourself as a contributor.

[x] Added my name to the bottom of the list under the Credits section in the README.md with a link to my website or GitHub profile 👥

I love that site - thank you for your contributions! 💛


updating names of courses in sync

Purpose/implementation Section
What changes are being implemented in this Pull Request?
Need to update sync file... but @cansavvy didn't know I had changed my repo name more than just dropping ITCR.
What was your approach?
What GitHub issue does your pull request address?
Tell potential reviewers what kind of feedback you are soliciting.
New Content Checklist

[ ] New content/chapter is in an Rmd file with this kind of format and headers.

[ ] New content/chapter contains Learning Objectives and are in the correct format.

[ ] Bookdown successfully re-renders and any new content files have been added to the _bookdown.yml.

[ ] Spell check runs successfully in Github actions style-n-check).

[ ] Any newly necessary packages that are needed have been added to the Dockerfile and image.

[ ] Images are in the correct format for rendering.

[ ] Every new image has alt text and is in a Google Slide.

[ ] Each slide is described in the notes of the slide so learners relying on a screen reader can access the content. See https://lastcallmedia.com/blog/accessible-comics for more guidance on this.

[ ] The color palette choices of the slide are contrasted in a way that is friendly to those with color vision deficiencies.
You can check this using Color Oracle.

I think we are in agreement on this.


Knight vs Bishop is not a draw

Playing on Lichess.org, I had an endgame of king & knight  vs  king & bishop which is a draw by insufficient material. However, it was only deemed a draw after one of the pieces was eaten. Doing some testing the following situations were also not considered draws:

knight v knight
bishop v bishop (opposite squares)

Note that it can be possible to mate with a single knight or bishop if the opponent has a piece that could block the king.

https://lichess.org/faq#timeout


Change_gem_name

The gem naming guidelins state that for a gem called UrlParser - the gem should be called url_parser and for gem called url-parser the class shoud be Url::Parser under dir url
https://guides.rubygems.org/name-your-gem/ this changes to underscore instead of dash for gem name

Published as v2.2.0


Update RepeatableClickable to include a onLongRepeatableClickEnd

WHAT

Update RepeatableClickable to include a onLongRepeatableClickEnd.
Update the parameter names to be more accurately describing the behaviours.
Update the repeatable clickable to be internal only.

WHY
This allows clients using this modifier to have a different trigger when the repeatable clickable calls end. For example, repeated calls could be accumulating a value until the finger up event and only send the update to the backend with one finish call.
HOW
Checklist :clipboard:

[x] Add explicit visibility modifier and explicit return types for public declarations
[x] Run spotless check
[x] Run tests
[x] Update metalava's signature text files

Optional, but is it worth adding a sample, or will you add to the VolumeScreen?

Yeap, follow-up PR in media coming!


Generate more test files on aleat3/tests

Hello!
We need more test files, or improve the existing ones. You can use this issue to help with ideas for this. Tell us before submitting a PR.
We will be waiting for your ideas!

See #36.


Fix compatibility with Ember 3.27+ when using compileModules: false.

When using libraries that leverage compileModules: false (commonly used to transpile vendor tree's without introducing a wrapping AMD module) on Ember 3.27+ (where we don't transpile away the various @ember/* modules any longer) we would leave the debug module imports alone during transpilation. This resulted (in most cases) in there being a bare unwrapped and untranspiled import statement in vendor.js.  This would then fail everything.
This changes the logic slightly to continue transpiling to globals mode when compileModules: false is set.
Note: this is really just a stop gap solution (and will still cause deprecations to be emitted, addons that are currently leveraging compileModules: false will need to make some changes for Ember 4.0 (where a global window.Ember will not be ambiently available).

Thanks for this, @rwjblue. The comment/test looks good.


refactor: shared eslint config

Platforms affected
All
Motivation and Context

Previous eslint install was not compatible with Node 14.
Progresses https://github.com/apache/cordova/issues/142
Progresses (but does not complete) https://github.com/apache/cordova/issues/223
Description

Removed local eslint install in favour of the shared eslint provided by @cordova/eslint-config
Testing

Ran npm test
Checklist

[x] I've run the tests to see all new and existing tests pass
[x] I added automated test coverage as appropriate for this change
[x] Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
[x] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
[x] I've updated the documentation if necessary

The failed check is due to an unrelated problem, which I'm going to solve in the WIP PR https://github.com/apache/cordova-plugin-file/pull/460
Merging.


ftp_download plugin can only download directories

Maybe download plugin should handle that instead?

What else would you want ftp_download to do? Try to find a specific file to download?

Sure. If the entry url is an ftp file and not a directory I don't see a reason that it shouldn't work.

From what I see in the code it checks for file or folder. But that's as far
as I got. Lol
On Fri, May 20, 2016, 6:04 PM Or Carmi<EMAIL_ADDRESS>wrote:

Sure. If the entry url is an ftp file and not a directory I don't see a
reason that it shouldn't work.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Flexget/Flexget/issues/1184#issuecomment-220738500


Where do kafka manager stores zookeeper's address?

I added some clusters to kafka manager. When I restarted aws task, clusters were still there, so wondering where are (in which file) they are stored? I checked all files in kafka-manager/config folder (which is the only persistent folder used by EFS mount). but couldn't find address of zookeepers anywhere.

State is stored in ZK_HOSTS .
Opinion: This is in conflict with how a private Kafka/ZK cluster should be used. It becomes "an infection" on the the very resources it's supposed to monitor and "manage".
Or did I get this confusing state feature dobble wrong??
Conclusion: Setting ZK_HOSTS will NOT create a Cluster configuration only define a "space" for further (manual) configuration of new ZK clusters .. puh

Im trying to connect an AWS Msk cluster to CMAK and if I don't have the AWS zookeeper declared in cmak.zkhosts, I cannot obtain consumers and its lag. Do you know why?


Stack overflow if query result only updated via cache

I noticed if my subscription receives updates frequently stack overflow occurs after a while (~10 mins). Not too scientific, I admit but always reproducible.
I think the reason is the watchQuery call (FetchPolicy -> CacheTypedLink -> Cache) which is recursish:
     return NeverStream<TData?>()
            .startWith(
              readQuery(
                request,
                optimistic: optimistic,
              ),
            )
            .takeUntil(dataChanged)
            .concatWith([
          DeferStream(
            () => closed
                ? Stream.empty()
                : watchQuery(request, optimistic: optimistic),
          )

If I understand correctly the intent was that return with the current value now and after every update. I replaced the code above with the following and it worked perfectly.
return dataChanged
            .map(
              (d) => readQuery(
                request,
                optimistic: optimistic,
              ),
            )
            .startWith(
              readQuery(
                request,
                optimistic: optimistic,
              ),
            );

@smkhalsa do you think both codes do the same thing?

No.
The existing code recalculates the dataIDs that must be watched whenever there's a change.

Okay, I was right about the reason, too many streams were chained together. Repro code is below, the key things are

don't update the query from network
update via cache
this will chain streams over and over, StackOverflow after ~500 iterations

How to reproduce

pokemon_list.dart
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:ferry/ferry.dart';
import 'package:built_collection/built_collection.dart';
import 'package:gql_exec/src/response.dart';
import 'package:gql_exec/src/request.dart';

import './graphql/all_pokemon.data.gql.dart';
import './graphql/all_pokemon.req.gql.dart';
import './graphql/all_pokemon.var.gql.dart';
import './pokemon_card.dart';
import './graphql/pokemon_card_fragment.req.gql.dart';

class PokemonListScreen extends StatefulWidget {
  @override
  _PokemonListScreenState createState() => _PokemonListScreenState();
}

class _PokemonListScreenState extends State<PokemonListScreen> {
  late Stream<OperationResponse<GAllPokemonData, GAllPokemonVars>> pokemons;

  @override
  void initState() {
    super.initState();

    int weight = 0;

    final client = Client(
      link: Link.function(
        // no updates from server
        (Request request, [NextLink? forward]) => Stream<Response>.value(
          Response(
            data: {
              "__typename": "Query",
              "pokemons": {
                "__typename": "PokemonList",
                "results": [
                  {
                    "__typename": "Pokemon",
                    "id": 1,
                    "name": "bulbasaur",
                    "avatar":
                        "https://cdn.icon-icons.com/icons2/2107/PNG/512/file_type_flutter_icon_130599.png",
                    "height": {"__typename": "Height", "in_meter": "1m"},
                    "weight": {"__typename": "Weight", "in_kg": "${weight}kg"}
                  },
                ],
              }
            },
          ),
        ),
      ),
    );

    // update via cache
    Timer.periodic(Duration(milliseconds: 50), (_) async {
      final fReq = GPokemonCardReq((b) => b.idFields = {'id': 1});
      final fRes = client.cache.readFragment(fReq);
      if (fRes == null) return;

      final fData = fRes.rebuild((b) => b.weight.in_kg = '${weight}kg');
      client.cache.writeFragment(fReq, fData);

      weight++;
    });

    pokemons = client.request(GAllPokemonReq(
      (b) => b
        ..vars.limit = 1
        ..vars.offset = 0,
    ));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('All Pokemon'),
      ),
      body: StreamBuilder<OperationResponse<GAllPokemonData, GAllPokemonVars>>(
        stream: pokemons,
        builder: (context, snapshot) {
          if (!snapshot.hasData || snapshot.data!.loading)
            return Center(child: CircularProgressIndicator());

          final pokemons =
              snapshot.data!.data?.pokemons?.results ?? BuiltList();

          return ListView.builder(
            itemCount: pokemons.length,
            itemBuilder: (context, index) => PokemonCard(
              pokemon: pokemons[index],
            ),
          );
        },
      ),
    );
  }
}

How to fix

cache.dart
async* fix:
  /// Watches for changes to data in the Cache for the given operation.
  Stream<TData?> watchQuery<TData, TVars>(
    OperationRequest<TData, TVars> request, {
    bool optimistic = true,
  }) =>
      DeferStream(() async* {
        late Stream<Set<String>> dataChanged;

        do {
          dataChanged = operationDataChangeStream(
            request,
            optimistic,
            optimisticPatchesStream,
            optimisticReader,
            store,
            typePolicies,
            addTypename,
            dataIdFromObject,
            possibleTypes,
          );

          yield readQuery(request, optimistic: optimistic);
        } while (!await dataChanged.isEmpty);
      });

StreamController fix:
  /// Watches for changes to data in the Cache for the given operation.
  Stream<TData?> watchQuery<TData, TVars>(
    OperationRequest<TData, TVars> request, {
    bool optimistic = true,
  }) =>
      DeferStream(() {
        StreamController<TData?> sc = StreamController<TData?>();

        void addNext() {
          final dataChanged = operationDataChangeStream(
            request,
            optimistic,
            optimisticPatchesStream,
            optimisticReader,
            store,
            typePolicies,
            addTypename,
            dataIdFromObject,
            possibleTypes,
          );

          sc.add(readQuery(request, optimistic: optimistic));
          dataChanged.isEmpty.then<void>((isEmpty) {
            if (isEmpty)
              sc.close();
            else
              addNext();
          });
        }

        addNext();
        return sc.stream;
      });

I think watchFragment() needs similar patch.

@smkhalsa Could you please review/apply the patch? I'd create a PR but I have no idea how to write a test for this...
Interestingly only the StreamController version works in my project, the async* version just hangs... However both works with the pokemon example... magic. Shouldn't work just like the other?

@janosroden thanks for digging into this. I was able to reproduce the stack overflow.

only the StreamController version works in my project, the async* version just hangs.

I'm not sure why this would happen, but I've avoided async generators generally because they can only handle a single error event before closing.

I'd create a PR but I have no idea how to write a test for this

I'm not sure how to test for the stack overflow either. Your StreamController-based solution did pass all the existing tests though, so I think we can go ahead and make the change.

I think watchFragment() needs similar patch.

yes, it will.

I think I figured out why the async* version doesn't work: the doc says on cancel the next yield behaves like return but the function waits for dataChanged.isEmpty.
A slightly better version:
  /// Watches for changes to data in the Cache for the given operation.
  Stream<TData?> watchQuery<TData, TVars>(
    OperationRequest<TData, TVars> request, {
    bool optimistic = true,
  }) =>
      DeferStream(() {
        late StreamController<TData?> sc;

        void addNext() {
          if (sc.isClosed) return;

          final dataChanged = operationDataChangeStream(
            request,
            optimistic,
            optimisticPatchesStream,
            optimisticReader,
            store,
            typePolicies,
            addTypename,
            dataIdFromObject,
            possibleTypes,
          );

          sc.add(readQuery(request, optimistic: optimistic));
          dataChanged.isEmpty.then<void>((isEmpty) {
            if (isEmpty)
              sc.close();
            else
              addNext();
          });
        }

        sc = StreamController<TData?>(
          onListen: addNext,
          onCancel: () => sc.close(),
        );

        return sc.stream;
      });

Probably the DeferStream is not needed here

Yes, if we are only reading the query onListen, the DeferStream shouldn't be needed.

You'll commit or wait for a PR?
I skipped the error handling: then(..., onError: sc.addError and maybe sc.close

You'll commit or wait for a PR?

If you want to make a PR, go for it!

I skipped the error handling: then(..., onError: sc.addError and maybe sc.close

Yes, we should pass the errors on. Since it's possible for a stream to have data after errors, I might do sc.addError, then another addNext

fixed by https://github.com/gql-dart/ferry/pull/237


x/tools/gopls: Completion not working in modules with "vendor" as their name

gopls version
Build info
----------
golang.org/x/tools/gopls v0.9.1
<EMAIL_ADDRESS>h1:SigsTL4Hpv3a6b/a7oPCLRv5QUeSM6PZNdta1oKY4B0=
<EMAIL_ADDRESS>h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=
<EMAIL_ADDRESS>h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
<EMAIL_ADDRESS>h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
<EMAIL_ADDRESS>h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM=
<EMAIL_ADDRESS>h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
<EMAIL_ADDRESS>h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
<EMAIL_ADDRESS>h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
<EMAIL_ADDRESS>h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
<EMAIL_ADDRESS>h1:Ljlba2fVWOA1049JjsKii44g8nZN2GjpxMlzVc8AnQM=
<EMAIL_ADDRESS>h1:r5bbIROBQtRRgoutV8Q3sFY58VzHW6jMBYl48ANSyS4=
<EMAIL_ADDRESS>h1:ytYb4rOqyp1TSa2EPvNVwtPQJctSELKaMyLfqNP4+34=
<EMAIL_ADDRESS>h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=
<EMAIL_ADDRESS>h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=
go: go1.18.4

go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/chenao/.cache/go-build"
GOENV="/home/chenao/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/chenao/go/pkg/mod"
GONOPROXY=""
GONOSUMDB="somedomain.com"
GOOS="linux"
GOPATH="/home/chenao/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18.4"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/chenao/github.com/chenaoxd/gopls-bug/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2 -Wno-return-local-addr"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3157977497=/tmp/go-build -gno-record-gcc-switches"

What did you do?
There's a repo to reproduce this issue: https://github.com/chenaoxd/gopls-bug, the gopls will simply not work in files that are in a module with "vendor" as the module name. Such as in the demo/vendor/test.go.
Some screenshots:

What did you expect to see?
The gopls completion work as normal.
What did you see instead?
It breaks, and always give the same completion candidates.
Editor and settings
Editor: Neovim + coc.neovim
Config:
"languageserver": {
     "go": {
            "command": "gopls",
            "rootPatterns": ["go.mod"],
            "trace.server": "verbose",
            "filetypes": ["go"]
     },
     ...
}

Logs
[Trace - 02:10:27.065 AM] Sending request 'initialize - (0)'.
Params: {"processId":994099,"rootPath":"/home/chenao/github.com/chenaoxd/gopls-bug","rootUri":"file:///home/chenao/github.com/chenaoxd/gopls-bug","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"undo","normalizesLineEndings":true,"changeAnnotationSupport":{"groupsOnLabel":false}},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"tagSupport":{"valueSet":[1]}},"codeLens":{"refreshSupport":true},"executeCommand":{"dynamicRegistration":true},"configuration":true,"fileOperations":{"dynamicRegistration":true,"didCreate":true,"didRename":true,"didDelete":true,"willCreate":true,"willRename":true,"willDelete":true},"semanticTokens":{"refreshSupport":true},"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":true,"tagSupport":{"valueSet":[1,2]},"codeDescriptionSupport":true,"dataSupport":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"insertReplaceSupport":true,"tagSupport":{"valueSet":[1]},"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"insertTextModeSupport":{"valueSet":[1,2]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]},"insertTextMode":2},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"contextSupport":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"activeParameterSupport":true,"parameterInformation":{"labelOffsetSupport":true}}},"references":{"dynamicRegistration":true},"definition":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true,"tagSupport":{"valueSet":[1]},"labelSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"disabledSupport":true,"dataSupport":true,"honorsChangeAnnotations":false,"resolveSupport":{"properties":["edit"]},"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true},"implementation":{"dynamicRegistration":true},"declaration":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true},"linkedEditingRange":{"dynamicRegistration":true},"semanticTokens":{"dynamicRegistration":true,"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"],"requests":{"range":true,"full":{"delta":true}},"multilineTokenSupport":false,"overlappingTokenSupport":false}},"window":{"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"showDocument":{"support":true},"workDoneProgress":true},"general":{"regularExpressions":{"engine":"ECMAScript","version":"ES2020"},"markdown":{"parser":"marked","version":"4.0.10"}}},"initializationOptions":{},"trace":"verbose","workspaceFolders":[{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug","name":"gopls-bug"}],"locale":"en_US","clientInfo":{"name":"coc.nvim","version":"0.0.81"}}

[Trace - 02:10:27.066 AM] Received response 'initialize - (0)' in 1ms.
Result: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."],"completionItem":{}},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.apply_fix","gopls.check_upgrades","gopls.edit_go_directive","gopls.gc_details","gopls.generate","gopls.generate_gopls_mod","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.regenerate_cgo","gopls.remove_dependency","gopls.run_tests","gopls.run_vulncheck_exp","gopls.start_debugging","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor"]},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}},"inlayHintProvider":{}},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.18.4\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.9.1\",\"Sum\":\"h1:SigsTL4Hpv3a6b/a7oPCLRv5QUeSM6PZNdta1oKY4B0=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.0.0\",\"Sum\":\"h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.7\",\"Sum\":\"h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20220218215828-6cf2b201936e\",\"Sum\":\"h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.6.0-dev.0.20220419223038-86c51ed26bb4\",\"Sum\":\"h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.0.0-20210220032951-036812b2e83c\",\"Sum\":\"h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.0.0-20220209214540-3681064d5158\",\"Sum\":\"h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.3.7\",\"Sum\":\"h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.1.12-0.20220713141851-7464a5a40219\",\"Sum\":\"h1:Ljlba2fVWOA1049JjsKii44g8nZN2GjpxMlzVc8AnQM=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v0.0.0-20220613164644-4eb5ba49563c\",\"Sum\":\"h1:r5bbIROBQtRRgoutV8Q3sFY58VzHW6jMBYl48ANSyS4=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.3.2\",\"Sum\":\"h1:ytYb4rOqyp1TSa2EPvNVwtPQJctSELKaMyLfqNP4+34=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.3.0\",\"Sum\":\"h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"-g -O2 -Wno-return-local-addr\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.9.1\"}"}}

[Trace - 02:10:27.075 AM] Sending notification 'initialized'.
Params: {}

[Trace - 02:10:27.075 AM] Sending notification 'workspace/didChangeConfiguration'.
Params: {"settings":{}}

[Trace - 02:10:27.075 AM] Sending notification 'textDocument/didOpen'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","languageId":"go","version":1,"text":"package vendor\n\nimport (\n\t\"fmt\"\n)\n\nfunc Test() {\n\tfmt.Println(\"in inner module\")\n}\n"}}

[Trace - 02:10:27.075 AM] Received request 'window/workDoneProgress/create - (1)'.
Params: {"token":"5577006791947779410"}

[Trace - 02:10:27.076 AM] Sending response 'window/workDoneProgress/create - (1)' in 0ms.
Result:

[Trace - 02:10:27.077 AM] Received notification '$/progress'.
Params: {"token":"5577006791947779410","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}

[Trace - 02:10:27.077 AM] Received request 'workspace/configuration - (2)'.
Params: {"items":[{"scopeUri":"file:///home/chenao/github.com/chenaoxd/gopls-bug","section":"gopls"}]}

[Trace - 02:10:27.079 AM] Sending response 'workspace/configuration - (2)' in 2ms.
Result: [null]

[Trace - 02:10:27.088 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/07/27 02:10:27 go env for /home/chenao/github.com/chenaoxd/gopls-bug\n(root /home/chenao/github.com/chenaoxd/gopls-bug)\n(go version go version go1.18.4 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\nGOSUMDB=sum.golang.org\nGOCACHE=/home/chenao/.cache/go-build\nGOROOT=/usr/local/go\nGOPATH=/home/chenao/go\nGOPRIVATE=\nGOPROXY=https://goproxy.cn\nGOMOD=/home/chenao/github.com/chenaoxd/gopls-bug/go.mod\nGOMODCACHE=/home/chenao/go/pkg/mod\nGOWORK=\nGOINSECURE=\nGONOSUMDB=somedomain.com\nGOFLAGS=\nGONOPROXY=\nGO111MODULE=\n\n"}

[Trace - 02:10:27.147 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/07/27 02:10:27 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=/home/chenao/github.com/chenaoxd/gopls-bug\n\tquery=[builtin chenaoxd.com/chenao/goplsbug/...]\n\tpackages=3\n"}

[Trace - 02:10:27.148 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/07/27 02:10:27 go/packages.Load #1: updating metadata for 41 packages\n"}

[Trace - 02:10:27.168 AM] Received notification '$/progress'.
Params: {"token":"5577006791947779410","value":{"kind":"end","message":"Finished loading packages."}}

[Trace - 02:10:27.168 AM] Received request 'client/registerCapability - (3)'.
Params: {"registrations":[{"id":"workspace/didChangeWatchedFiles-0","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.{go,mod,sum,work}","kind":7},{"globPattern":"{/home/chenao/github.com/chenaoxd/gopls-bug/demo,/home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor}","kind":7}]}}]}

[Trace - 02:10:27.170 AM] Sending response 'client/registerCapability - (3)' in 1ms.
Result:

[Trace - 02:10:27.172 AM] Received request 'client/registerCapability - (4)'.
Params: {"registrations":[{"id":"workspace/didChangeConfiguration","method":"workspace/didChangeConfiguration"}]}

[Trace - 02:10:27.173 AM] Sending response 'client/registerCapability - (4)' in 1ms.
Result:

[Trace - 02:10:27.173 AM] Received request 'workspace/configuration - (5)'.
Params: {"items":[{"section":"gopls"}]}

[Trace - 02:10:27.174 AM] Sending response 'workspace/configuration - (5)' in 0ms.
Result: [null]

[Trace - 02:10:27.185 AM] Received request 'workspace/configuration - (6)'.
Params: {"items":[{"scopeUri":"file:///home/chenao/github.com/chenaoxd/gopls-bug","section":"gopls"}]}

[Trace - 02:10:27.190 AM] Sending response 'workspace/configuration - (6)' in 5ms.
Result: [null]

[Trace - 02:10:27.249 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2022/07/27 02:10:27 falling back to safe trimming due to type errors: [/usr/local/go/src/runtime/vdso_linux.go:53:38: invalid operation: division by zero /usr/local/go/src/runtime/vdso_linux.go:54:38: invalid operation: division by zero] or still-missing identifiers: map[memRecordCycle:true pageBits:true]\n\tpackage=\"runtime\"\n"}

[Trace - 02:10:29.724 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":2,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":0},"end":{"line":8,"character":0}},"text":"\t\n","rangeLength":0}]}

[Trace - 02:10:30.614 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":3,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":1},"end":{"line":8,"character":1}},"text":"f","rangeLength":0}]}

[Trace - 02:10:30.614 AM] Sending request 'textDocument/completion - (1)'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"position":{"line":8,"character":2},"context":{"triggerKind":1}}

[Trace - 02:10:30.615 AM] Received response 'textDocument/completion - (1)' in 0ms.
Result: {"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[{"label":"const","labelDetails":{},"kind":14,"preselect":true,"sortText":"00000","filterText":"const","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"newText":"const"}},{"label":"func","labelDetails":{},"kind":14,"sortText":"00001","filterText":"func","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"newText":"func"}},{"label":"import","labelDetails":{},"kind":14,"sortText":"00002","filterText":"import","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"newText":"import"}},{"label":"type","labelDetails":{},"kind":14,"sortText":"00003","filterText":"type","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"newText":"type"}},{"label":"var","labelDetails":{},"kind":14,"sortText":"00004","filterText":"var","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"newText":"var"}}]}

[Trace - 02:10:30.615 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","version":3,"diagnostics":[{"range":{"start":{"line":8,"character":1},"end":{"line":8,"character":2}},"severity":1,"code":"UndeclaredName","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UndeclaredName"},"source":"compiler","message":"undeclared name: f"}]}

[Trace - 02:10:30.972 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":4,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"text":"m","rangeLength":0}]}

[Trace - 02:10:30.973 AM] Sending request 'textDocument/completion - (2)'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"position":{"line":8,"character":3},"context":{"triggerKind":3}}

[Trace - 02:10:30.974 AM] Received response 'textDocument/completion - (2)' in 1ms.
Result: {"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[{"label":"const","labelDetails":{},"kind":14,"preselect":true,"sortText":"00000","filterText":"const","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"newText":"const"}},{"label":"func","labelDetails":{},"kind":14,"sortText":"00001","filterText":"func","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"newText":"func"}},{"label":"import","labelDetails":{},"kind":14,"sortText":"00002","filterText":"import","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"newText":"import"}},{"label":"type","labelDetails":{},"kind":14,"sortText":"00003","filterText":"type","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"newText":"type"}},{"label":"var","labelDetails":{},"kind":14,"sortText":"00004","filterText":"var","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"newText":"var"}}]}

[Trace - 02:10:30.977 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","version":4,"diagnostics":[{"range":{"start":{"line":8,"character":1},"end":{"line":8,"character":3}},"severity":1,"code":"UndeclaredName","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#UndeclaredName"},"source":"compiler","message":"undeclared name: fm"}]}

[Trace - 02:10:31.204 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":5,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":3},"end":{"line":8,"character":3}},"text":"t","rangeLength":0}]}

[Trace - 02:10:31.205 AM] Sending request 'textDocument/completion - (3)'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"position":{"line":8,"character":4},"context":{"triggerKind":3}}

[Trace - 02:10:31.206 AM] Received response 'textDocument/completion - (3)' in 1ms.
Result: {"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[{"label":"const","labelDetails":{},"kind":14,"preselect":true,"sortText":"00000","filterText":"const","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"newText":"const"}},{"label":"func","labelDetails":{},"kind":14,"sortText":"00001","filterText":"func","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"newText":"func"}},{"label":"import","labelDetails":{},"kind":14,"sortText":"00002","filterText":"import","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"newText":"import"}},{"label":"type","labelDetails":{},"kind":14,"sortText":"00003","filterText":"type","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"newText":"type"}},{"label":"var","labelDetails":{},"kind":14,"sortText":"00004","filterText":"var","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"newText":"var"}}]}

[Trace - 02:10:31.207 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","version":5,"diagnostics":[{"range":{"start":{"line":8,"character":1},"end":{"line":8,"character":4}},"severity":1,"code":"InvalidPkgUse","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#InvalidPkgUse"},"source":"compiler","message":"use of package fmt not in selector"}]}

[Trace - 02:10:31.454 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":6,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":4},"end":{"line":8,"character":4}},"text":".","rangeLength":0}]}

[Trace - 02:10:31.460 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","version":6,"diagnostics":[{"range":{"start":{"line":8,"character":6},"end":{"line":8,"character":6}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}

[Trace - 02:10:31.460 AM] Sending request 'textDocument/completion - (4)'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"position":{"line":8,"character":5},"context":{"triggerKind":2,"triggerCharacter":"."}}

[Trace - 02:10:31.462 AM] Received response 'textDocument/completion - (4)' in 1ms.
Result: {"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[{"label":"const","labelDetails":{},"kind":14,"preselect":true,"sortText":"00000","filterText":"const","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":5},"end":{"line":8,"character":5}},"newText":"const"}},{"label":"func","labelDetails":{},"kind":14,"sortText":"00001","filterText":"func","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":5},"end":{"line":8,"character":5}},"newText":"func"}},{"label":"import","labelDetails":{},"kind":14,"sortText":"00002","filterText":"import","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":5},"end":{"line":8,"character":5}},"newText":"import"}},{"label":"type","labelDetails":{},"kind":14,"sortText":"00003","filterText":"type","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":5},"end":{"line":8,"character":5}},"newText":"type"}},{"label":"var","labelDetails":{},"kind":14,"sortText":"00004","filterText":"var","insertTextFormat":2,"textEdit":{"range":{"start":{"line":8,"character":5},"end":{"line":8,"character":5}},"newText":"var"}}]}

[Trace - 02:10:32.167 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"version":7,"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"},"contentChanges":[{"range":{"start":{"line":8,"character":0},"end":{"line":9,"character":0}},"text":"","rangeLength":6}]}

[Trace - 02:10:32.171 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go","version":7,"diagnostics":[]}

[Trace - 02:10:32.562 AM] Sending notification 'textDocument/didClose'.
Params: {"textDocument":{"uri":"file:///home/chenao/github.com/chenaoxd/gopls-bug/demo/vendor/test.go"}}

This is a dupe of #53756. Fixing this is unfortunately subtle, as there are many places in the gopls codebase that make assumptions about the meaning of /vendor/. Not sure if this will get done for the v0.9.2 release, but it is a high priority.


Checking for allowed tokens with accepts() triggers transformer callbacks

I use a transformer to get callblacks whenever a rule finishes. I use an interactive parser. When I check for the next tokens that can be parsed, the callbacks are triggered several times:
from lark import Lark, Token, Transformer

grammar ="""
    sentence: noun verb noun
            | noun verb "like" noun

    noun: adj? NOUN
    verb: VERB
    adj: ADJ

    NOUN: "flies" | "bananas" | "fruit"
    VERB: "like" | "flies"
    ADJ: "yummy"
"""

class MyTransformer(Transformer):
    def adj(self, children):
        print("Callback for adj:", children)
        return children

    def noun(self, children):
        print("Callback for noun:", children)
        return children

    def verb(self, children):
        print("Callback for verb:", children)
        return children

parser = Lark(grammar, parser='lalr', start='sentence', transformer=MyTransformer())
interactive = parser.parse_interactive()

#parser.parse('yummy')
#interactive.accepts()

interactive.feed_token(Token('ADJ', 'yummy'))
interactive.feed_token(Token('NOUN', 'fruit'))
print("----FROM HERE ON NO CALLBACKS SHOULD HAPPEN----")
interactive.accepts()

Is this a bug?

Works fine for me.
Are you using the latest Lark version? i.e. 1.1.8

my version is
lark-parser               0.12.0                   pypi_0    pypi
which seems to be the newest version. If I run
$ pip install --upgrade lark-parser
I get:
Requirement already satisfied: lark-parser in c:\users\daniel\anaconda3\envs\musicml\lib\site-packages (0.12.0)
Code output is:
Callback for adj: [Token('ADJ', 'yummy')]
----FROM HERE ON NO CALLBACKS SHOULD HAPPEN----
Callback for noun: [[Token('ADJ', 'yummy')], Token('NOUN', 'fruit')]
Callback for noun: [[Token('ADJ', 'yummy')], Token('NOUN', 'fruit')]
{'VERB'}

pip uninstall lark-parser
pip install lark -U

Thanks a lot that fixed it. Maybe consider removing the wheels for lark-parser to avoid confusion?


Update Developer and User Guide for Data Encryption

#31

Pull Request Test Coverage Report for Build 82

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.114%

Totals

Change from base Build 81:
0.0%

Covered Lines:
1601

Relevant Lines:
1881

💛  - Coveralls


Document API version

It would be cool to document API version in readme. I'll PR this in near future if you would like in case no one else gets to it.

Android API version? The React Native version is documented.
I'll gladly accept your PR :)

Thanks for reply!
Oh oops I meant rather then "API-version" rather then "Compoent-version". The component makes some API calls, like setNavColor or something like that. I was thinking of documenting those functions. For those that don't want to use it as a component.

Ah okay!


Print WARNING instead of ERROR for modified toolchain variables

Modified toolchain variables should print a WARNING, not an ERROR, since they are non-fatal, and since several projects have legacy CMake code which modifies toolchain variables, and which are unlikely to be fixed soon.
Printing ERROR makes it hard to find real errors in builds, such as by searching for "error" strings in logs.
The warnings can continue to be loud and prominent, in order to encourage the fixing of legacy code which violates toolchain conventions.
@amcamd @saadrahim @amdkila @TorreZuk @eidenyoshida @bragadeesh @sdquiring @zaliu

The plan is to change this to a fatal error, which is why it says ERROR so people will treat them as errors and fix the issue. It isn't an error yet, but this is to give developers time to fix any issue or to work out any issues with the checks. I dont think we should change the message.
Currently, there is an issue where it will print these messages if the project command is called after find_package(ROCM), which I hope to fix.

I also think WARNING is better, we have been confusing users for many months when they see ERROR as cmake functions as expected, it is just bad practice.    Should I make a PR to fix the erroneous printing of this message for each project( ) in subdirectories ?     I'll just match the right side path to be a cmake output path?   @pfultz2 is a PR to master the correct branch?

I would like to make this an actual error so this will be caught in the CI, we just need to make sure there is no false positives. It doesn't make sense to print WARNING if its an error.

Should I make a PR to fix the erroneous printing of this message for each project( ) in subdirectories ?

Yes, it checks for some cmake directories here but it seems we have a few more cases where it isnt caught yet.

Yes I know your intent but it isn't an ERROR right now and as you say there are false positives ( I get them from L27 ).
I still think it needs to be changed to WARNING until there are zero false positives and all teams should agree to make it an error when we schedule time to fix the failures.   I'll make a PR to try and fix some of the failures.

@pfultz2 as is covered by merged https://github.com/RadeonOpenCompute/rocm-cmake/pull/62 so expect @leekillough  is fine if we close this.


2 week view like Dakboard

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Right now we have 3 options: month, day and list.
But would it be possible to get a fourth option: 2 weeks view with the current week and next week?
Expected behaviour
You could then show events in a horizontal way like the list view does vertically.
Possible Solutions
No response
Context / Reason
With such a view we can make it work on a dashboard and see future events plus it will be displayed horizontally which is great for tablets and bigger screens.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I second that feature. It is the only reason I'm currently still running DAK besides Home Assistant. The Calendar view is so much more practical.

I now fixed this with vertical and horizontal card and 14 weekday cards. Changing the startday for every day en setting the number of days to 1.

Hi @Bort89,
I'm trying this right now, but it seems all is very off. If I go with the startday but I'm not able to show the dates, because otherwise, there is too little space for the actual event.
As a solution for that, I added Display: none to the event-left element. from day three onward (1st I named Today, 3nd I named tomorrow) I have no dates for the actual days. If I go with  showDate: true (in the card) It get's me Todays date, and not the offset Date in 3 days.
can you maybe post how yours looks like?

Mine looks like this:

I use templates for the dates. So it always shows monday to sunday of this week and the next.
I actually use this in combination with Wallpanel so it is a DAKboard but better. :) :

Unfortunatly I now see that some things have shifted. Like the weekdays (Maandag, Dinsdag, etc) should be closer to the calendar.

I'm sorry, I'm trying to understand how to use your component, can you provide the config for the above 2-week calendar? @Bort89

This isnt something that I plan to implement, however feel free to submit a PR with this feature


Delete from Drupal any IRC resources that have been replaced in the Hub

After redirects have been established ( #123 ), we'll need to go into Drupal and delete pages that are now in the Hub. Jessica believes we are getting higher quotes for the website redesign because of the number of pages we appear to have in Drupal. Deleting these pages from Drupal will make the website redesign easier and may lower our costs.

I'm going to close this, since we already have a vendor and there is no real need to remove these pages... redirects are fine. Our time is more valuable elsewhere.


Revise Turkish localization

Changes proposed in this pull request:
Turkish localization revised for new entries and fixes.

Thank you!


Add custom_replacements to option

With this option, user can add his own custom replacements.

Coverage decreased (-4.9%) to 87.755% when pulling 5482a4419e139aba8eade80c6807bc6500dd8c40 on andriyor:master into 683364ea0f4637364b84486ef24124ece0e0597c on un33k:master.

Coverage decreased (-4.9%) to 87.755% when pulling 5482a4419e139aba8eade80c6807bc6500dd8c40 on andriyor:master into 683364ea0f4637364b84486ef24124ece0e0597c on un33k:master.

@andriyor Thanks for your contribution.  Could you verify on why the coverage % was decreased.
Also, could your rename custom_replacements to replacements?
Thx

I can't say exactly why coverage was decreased.
But i run coverage locally on latest commit in master and i also get 88%
Perhaps this is due to updating the version of coverage.
Also yesterday there were issues with Travis https://www.traviscistatus.com/#past-incidents
That is why build on python3.4 have failed

In this case, please issue a pull request against the development branch instead. I'll accept it and take care of the coverage and failures in the development branch, then push to masters.


File Manager: Existing bookmarks are not shown

Bookmark dropdown says "No bookmarks yet" when I have 5 bookmarks saved. Possibly related to https://github.com/Real-Gecko/filemin/issues/91 ?

It only happens 'first time' - add at least one bookmark, then reload the page. Now when you add new bookmark, it will be added properly.
I know about this bug. It will be fixed in the future releases.
Thanks for reporting.

No, this has persisted for a while. (several months).  There were some extra LFs at the end of the config, which I deleted, but no change was observed.  But if you have already fixed, go ahead and close this report; I will check back.

I have a feeling that it's not fixed.
Please install 17.70 and try again?

There should be a directory under your home - ~/.filemin
And you should have a file called .bookmarks.
You must make sure that permissions are correct for the folder. (it should be done automatically).
What linux distros are you at, guys?

Hello,
i use Centos 6.x the folder ~/.filemin exist the .boomarks file too.
the creation was not the problem the readout seems not working correctly
I fixed it with the installation of current filemin 1.x
than I renamed index.cgi to index.old and linked filemin.cgi to index.cgi so that no new tab in webmin is opened, and it works fine, for me.

Alright. However, I might be fixing it in the future.
Thanks for reporting.

It works in filemin 1.1
But I think previously it was because I am logged in to webmin as "admin"
but it acts as if the user is "root" since the bookmarks are in
/root/.filemin/.bookmarks.  Perhaps it was that it wasn't picking up the
correct userid when retrieving bookmarks, although the module config
correctly retrieved them from the ~root folder.
On Wed, Feb 17, 2016 at 4:53 AM, Ilia Rostovtsev<EMAIL_ADDRESS>wrote:

There should be a directory under your home - ~/.filemin
And you should have a file called .bookmarks.
You must make sure that permissions are correct for the folder. (it should
be done automatically).
What linux distros are you at, guys?
—
Reply to this email directly or view it on GitHub
https://github.com/qooob/authentic-theme/issues/389#issuecomment-185152108
.

Understood. Thanks.

Even though it seems to work correctly, Filemin 1.1 doesn't save bookmarks to the user home directory.
Administrator users, those that are in the wheel group (but not root user itself) doesn't seem to be properly recognized by Webmin. I posted an issue, will see what Jamie thinks about it.
I'll try to enhance bookmarks functionality and detach it from settings page by 17.80 or 17.90 max.

Hi, chrispolley!
Authentic Theme 17.80 will have new mechanism for working with bookmarks. Options will not be needed anymore. You will just need to click on the little remove button near the bookmark to remove it and adding will be the same intuitive way.
Your issue with wheel users will be also fixed. You will need Filemin that is distributed with Webmin.
Thanks for reporting! ;)

This is how it's going to work in 17.80+
http://rostovtsev.ru/pub/src/authentic/17.80b/file-manager-new-bookmarks.webm

Please upgrade 17.80 is out!


pull request for e2e test at 12/16/2016 10:56:25

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Markdown parser breaks paragraphs

The markdown parser breaks text on line breaks in source paragraphs.
This should not happen; all text within a paragraph is to be rendered as flowed text.

Can you point me to a repository experiencing this issue?
ForkHub has line breaks in it's README and it's being rendered correctly.

No enough information.


[Feature] More Functional Test Scenarios

Feature Description (功能描述)
Do we have specific plans for various functional tests?
I think here are several scenarios in which we can add test cases for hstore:

Transfer leader
Split, merge region
Read, write, delete data
Backup, restore
Stop all nodes and restart all nodes
Restart all or part of the components repeatedly

For these scenarios, we need to check the following items:

There is no service that is irrecoverable
Data consistency
Data accuracy
Whether the result of each operation meets expectations

Good suggestion, recently we are trying to introduce the MiniCluster module in hugegraph (could refer to #2615). This module is used to simulate a multi-node pd, store, server environment for some integration testing, such as the stop and restart node mentioned here.
After the integration testing framework is built, it becomes more convenient to add the above test scenarios.

Good suggestion, recently we are trying to introduce the MiniCluster module in hugegraph (could refer to #2615). This module is used to simulate a multi-node pd, store, server environment for some integration testing, such as the stop and restart node mentioned here.
After the integration testing framework is built, it becomes more convenient to add the above test scenarios.

I saw the issue https://github.com/apache/incubator-hugegraph/pull/2615 . It's a very good foundation implementation. We can build more test cases based on this MiniCluster, and it's perfect for new contributor to gain a deeper understanding of hstore.


feat(os-app): add service dev to mod req

@dweinholz
In mod requests for openstack apps with service true and develop true you are now asked about status of service.
needs:
https://github.com/deNBI/cloud-api/pull/1313
Try to fulfill the following points before the Pull Request is merged:

[ ] Give a meaningfull description for the PR
[ ] The PR is reviewed by one of the team members.
[ ] It must be checked if anything in the Readme must be adjusted (development-, production-, setup).
[ ] It must be checked if any section in the wiki (https://cloud.denbi.de/wiki/) should be adjusted.
[ ] If the PR is merged in the master then a release should be be made.
[ ] The PR is responsive on smaller screens.
[ ] If the requirements.txt have changed, check if the patches still work
[ ] If the new code is well commented
[ ] In case the code is not well commented: An respectice commenting issue with tag "important" is opened.
[ ] If a squash of commits is required, it has been performed or will be performed at final merge
[ ] Finally a second team member checks if all requirements met

For releases only:

[ ] If the review of this PR is approved and the PR is followed by a release then the .env file
in the cloud-portal repo should also be updated.

merged into applications refactor pr


Cannot install plugins

cannot install filemanager plugin
Hi, It seems that I cannot install the filemanager plugin. I tried installing other plugins as well and I cant install them as well.
Version: 2.0.3
Commit hash: f594686
Compiled on April 11, 2020

plugin install filemanager
Downloading "filemanager" (3.5.0) from "https://github.com/micro-editor/updated-plugins/releases/download/v1.0.0/filemanager-3.5.0.zip"
One or more plugins installed.

plugin list
The following plugins are currently installed:
status (1.0.0)
autoclose (1.0.0)
comment (1.0.0)
diff (1.0.0)
ftoptions (1.0.0)
linter (1.0.0)
literate (1.0.0)

Please note that in the plugin list filemanager is not there  but it does say it was installed when I did a plugin install
Can you please tell me what is happening here ?
Thanks

Sorry , for the false alarm. Restarting ed and checking for the packages seems to fix it. apologies once again.


Disable "deselect" event in the single mode

Hi,
is there any way to disable "deselect" event in the single mode?
Thanks

Hi, added canDeselect prop  in 1.2.2.


Not saving engineHealth

I try to damage the vehicle only the health of the engine, and I have put a print when storing the vehicle like this
function SaveVehicle(data)

    if data.distance == nil or data.distance > 5 then
        data.distance = 2.5
    end
    local vehicle = lib.getClosestVehicle(cache.coords, data.distance, true)
    if vehicle then
        local vehicleProps = lib.getVehicleProperties(vehicle)
        local plate = SP(vehicleProps.plate)
        print('Plate :' ..vehicleProps.plate, 'EngineHealth : '..vehicleProps.engineHealth/10, 'BodyHealth :' ..vehicleProps.bodyHealth/10)
        if data.type == 'all' then
            TriggerServerEvent('mono_garage:GuardarVehiculo', plate, vehicleProps, data.garage,
                VehToNet(vehicle))
        elseif GetVehicleCategory(vehicle) == data.type then
            TriggerServerEvent('mono_garage:GuardarVehiculo', plate, vehicleProps, data.garage,
                VehToNet(vehicle))
        else
            TriggerEvent('mono_garage:Notification', locale('NoAqui'))
        end
    else
        TriggerEvent('mono_garage:Notification', locale('mascerca'))
    end
end

then I tried to take the vehicle out and in, twice, and it showed a different engine health, like the video I have uploaded below
https://streamable.com/d73wbt

Hello, the engine status is saved correctly, now you can check it with the ProgressBar of the world. Check the last update!


Remove the Swift- prefix from the new test objects and files

Might happen to prevent the transient test failures due to not having multiple files named the same thing in different places, and makes the tests read better by eliminating some noise.

The failures in the other pr were due to a code error which has now been fixed.


MSID: 101969 Version: 1 DOI: 10.1101/2<IP_ADDRESS>6443

MSID: 101969
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>6443
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=101969
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>6443

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/101969v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>6443
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/101969/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

This one is OK to publish, but I'm not adding the publication date yet because it'll otherwise need to stay in the next swimlane for weeks.


Use of ExecuteMultipleRequest /UpdateRequest fails but Update does not?

We are getting an issue in 1.0.9.
We can call organizationService.Update() just fine but when we use ExecuteMultipleRequest  with UpdateRequest via organizationService.Execute()  we see the following fault:
{Exception details:
ErrorCode: 0x80041103
Message: 'msnfp_transaction' entity doesn't contain attribute with Name = 'msnfp_DesignationId' and NameMapping = 'Logical'.
Both requests are being performed with the same Entity and the attribute msnfp_DesignationId definetlty exists.

Please advise if this is a know issue

use Logical name vs Schema name for the attribute, Logical name is generally ( there are some exceptions ) all lowercase, so msnfp_designationid

Please Reopen if that didnt work for you


Generators fail if certain gems aren't already installed

If bullet, capybara-webkit, and factory_bot_rails are not already installed before generating a new app, several of the generators fail with bundler errors like "Could not find gem 'bullet' in any of the gem sources listed in your Gemfile."
Steps to reproduce:
gem uninstall bullet capybara-webkit factory_bot_rails
suspenders test_app

this breaks entire builds, as the entire suspenders:factories generator doesn't run, missing the generation of the dev:prime task, which breaks bin/setup. 🐢all the way down.

This still seems to be an issue, specifically if capybara-webkit isn't in the gemfile.

We swapped out capybara-webkit in https://github.com/thoughtbot/suspenders/commit/cf78134766c689dab1d9e5db2f3be454ba81f487

@composerinteralia I'm so confused - if you generate a new app with v1.47 capybara-webkit IS in the gemfile. I must be totally missing something here?

Yeah, sorry for that vague comment. I do think the problem will go away with the next release.