Upgrade gridster.js to v0.5.1

I upgraded the version of gridster from v0.1.0 to the most recent production version. Feel free to merge if you would like.

It would indeed be great! I notice gridster is now at 0.5.6. What's preventing an updated version of this from being added to the next release?

Are there any breaking changes in this update? Or in the update to 0.5.6?

This looks good to me. I tried it out and it didn't seem to have any breaking changes. Thanks!

@wolfspyre Feel free to create PR for 0.5.6 :)


Hi, I want to set size for crop-area and disable it for user, and user just move the crop-area. How can I achieve this? Thanks

Hi,
I want to set size for crop-area and disable it for user, and user just move the crop-area.
How can I achieve this?
Thanks

You can see all the options on this page https://github.com/CrackerakiUA/ui-cropper/wiki/Options
But you'll need something like
   area-min-size="{ number|{w:100,h:100} }"
   allow-crop-resize-on-corners="false"

Thanks @rickerd  but i am still facing the issue. not succeed to disable the cropper size

If it's not working it has not been implemented before.
If you want this feature, build it and share it with us please.
We don't make any profit on this project and all features that are in the cropper now has been implemented by ourselves because we needed it just like you do right now.


RuntimeError: Please use nest_asyncio.apply() to allow nested event loops

I'm trying to evaluate graphrag-toolkit.
Just created the AWS resources and testing with provided source code in fresh new conda env with pip install found in doc.
Please note I checked apply() was present and it is. No change in provided code.
2024-11-29 15:36:59:INFO:g.i.e.extraction_pipeline:Running extraction pipeline [batch_size: 4, num_workers: 2]
2024-11-29 15:37:08:INFO:g.i.e.extraction_pipeline:Running extraction pipeline [batch_size: 4, num_workers: 2]
Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 33, in asyncio_run
    return loop.run_until_complete(coro)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 314, in __step_run_and_handle_result
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/instrumentation/dispatcher.py", line 255, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/ingestion/pipeline.py", line 734, in arun
    loop.run_in_executor(
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/base_events.py", line 863, in run_in_executor
    executor.submit(func, *args), loop=self)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 830, in submit
    self._adjust_process_count()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 789, in _adjust_process_count
    self._spawn_process()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 807, in _spawn_process
    p.start()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/context.py", line 289, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 164, in get_preparation_data
    _check_not_importing_main()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 140, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

        To fix this issue, refer to the "Safe importing of main module"
        section in https://docs.python.org/3/library/multiprocessing.html

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 38, in asyncio_run
    return asyncio.run(coro)
           ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 30, in run
    return loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 314, in __step_run_and_handle_result
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
RuntimeError: cannot reuse already awaited coroutine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 131, in _main
    prepare(preparation_data)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 297, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/vivieper/code/technical-notes/GenAI/Playground/graphrag-toolkit/test.py", line 35, in <module>
    graph_index.extract_and_build(docs)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/lexical_graph_index.py", line 251, in extract_and_build
    nodes | extraction_pipeline | build_pipeline | sink_fn
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 42, in __ror__
    return self.function(other)
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 36, in <lambda>
    self.function = lambda iterable, *args2, **kwargs2: function(
                                                        ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/utils/pipeline_utils.py", line 8, in _sink_from
    for item in generator:
                ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/build/build_pipeline.py", line 98, in build
    for chunks in iter_batch(nodes, (self.num_workers * self.batch_size)):
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/utils.py", line 254, in iter_batch
    b = list(islice(source_iter, size))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/extract/extraction_pipeline.py", line 111, in extract
    async_results = asyncio_run(self.ingestion_pipeline.arun(nodes=docs, num_workers=self.num_workers, show_progress=self.show_progress))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 40, in asyncio_run
    raise RuntimeError(
RuntimeError: Detected nested async. Please use nest_asyncio.apply() to allow nested event loops.Or, use async entry methods like `aquery()`, `aretriever`, `achat`, etc.
2024-11-29 15:37:09:INFO:g.i.e.extraction_pipeline:Running extraction pipeline [batch_size: 4, num_workers: 2]
Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 33, in asyncio_run
    return loop.run_until_complete(coro)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 314, in __step_run_and_handle_result
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/instrumentation/dispatcher.py", line 255, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/ingestion/pipeline.py", line 734, in arun
    loop.run_in_executor(
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/base_events.py", line 863, in run_in_executor
    executor.submit(func, *args), loop=self)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 830, in submit
    self._adjust_process_count()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 789, in _adjust_process_count
    self._spawn_process()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/concurrent/futures/process.py", line 807, in _spawn_process
    p.start()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/context.py", line 289, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 164, in get_preparation_data
    _check_not_importing_main()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 140, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

        To fix this issue, refer to the "Safe importing of main module"
        section in https://docs.python.org/3/library/multiprocessing.html

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 38, in asyncio_run
    return asyncio.run(coro)
           ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 30, in run
    return loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 314, in __step_run_and_handle_result
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
RuntimeError: cannot reuse already awaited coroutine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 122, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 131, in _main
    prepare(preparation_data)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 246, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/multiprocessing/spawn.py", line 297, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/vivieper/code/technical-notes/GenAI/Playground/graphrag-toolkit/test.py", line 35, in <module>
    graph_index.extract_and_build(docs)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/lexical_graph_index.py", line 251, in extract_and_build
    nodes | extraction_pipeline | build_pipeline | sink_fn
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 42, in __ror__
    return self.function(other)
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 36, in <lambda>
    self.function = lambda iterable, *args2, **kwargs2: function(
                                                        ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/utils/pipeline_utils.py", line 8, in _sink_from
    for item in generator:
                ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/build/build_pipeline.py", line 98, in build
    for chunks in iter_batch(nodes, (self.num_workers * self.batch_size)):
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/utils.py", line 254, in iter_batch
    b = list(islice(source_iter, size))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/extract/extraction_pipeline.py", line 111, in extract
    async_results = asyncio_run(self.ingestion_pipeline.arun(nodes=docs, num_workers=self.num_workers, show_progress=self.show_progress))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 40, in asyncio_run
    raise RuntimeError(
RuntimeError: Detected nested async. Please use nest_asyncio.apply() to allow nested event loops.Or, use async entry methods like `aquery()`, `aretriever`, `achat`, etc.
Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 33, in asyncio_run
    return loop.run_until_complete(coro)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 316, in __step_run_and_handle_result
    result = coro.throw(exc)
             ^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/instrumentation/dispatcher.py", line 255, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/ingestion/pipeline.py", line 747, in arun
    result: List[List[BaseNode]] = await asyncio.gather(*tasks)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 385, in __wakeup
    future.result()
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 38, in asyncio_run
    return asyncio.run(coro)
           ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 30, in run
    return loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/asyncio/tasks.py", line 314, in __step_run_and_handle_result
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
RuntimeError: cannot reuse already awaited coroutine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/vivieper/code/technical-notes/GenAI/Playground/graphrag-toolkit/test.py", line 35, in <module>
    graph_index.extract_and_build(docs)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/lexical_graph_index.py", line 251, in extract_and_build
    nodes | extraction_pipeline | build_pipeline | sink_fn
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 42, in __ror__
    return self.function(other)
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/pipe.py", line 36, in <lambda>
    self.function = lambda iterable, *args2, **kwargs2: function(
                                                        ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/utils/pipeline_utils.py", line 8, in _sink_from
    for item in generator:
                ^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/build/build_pipeline.py", line 98, in build
    for chunks in iter_batch(nodes, (self.num_workers * self.batch_size)):
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/utils.py", line 254, in iter_batch
    b = list(islice(source_iter, size))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/graphrag_toolkit/indexing/extract/extraction_pipeline.py", line 111, in extract
    async_results = asyncio_run(self.ingestion_pipeline.arun(nodes=docs, num_workers=self.num_workers, show_progress=self.show_progress))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graphrag-toolkit-2/lib/python3.12/site-packages/llama_index/core/async_utils.py", line 40, in asyncio_run
    raise RuntimeError(
RuntimeError: Detected nested async. Please use nest_asyncio.apply() to allow nested event loops.Or, use async entry methods like `aquery()`, `aretriever`, `achat`, etc.

Please note that adding it to a "if name == 'main':" section solves the issue. Suggesting to update readme to avoid confusion.

Here is a brief explanation of using nest_asyncio.apply() to allow nested event loops in Python:
Introduction
In Python, by default, running an event loop inside another existing event loop is not allowed and will raise errors. However, the nest_asyncio library provides a way to overcome this limitation. The nest_asyncio.apply() function is used to enable nested event loops, which can be useful in various scenarios like when working with multiple asynchronous frameworks or when you want to run asynchronous code within an already running event loop context.
Code Example and Explanation

Installation:
First, you need to install the nest_asyncio library if it's not already installed. You can do this using pip install nest_asyncio.

Basic Usage:
Here is a simple code snippet to demonstrate how nest_asyncio.apply() works:

import asyncio
import nest_asyncio

# Apply the function to allow nested event loops
nest_asyncio.apply()

async def inner_async_function():
    print("Inside inner async function")
    await asyncio.sleep(1)

async def outer_async_function():
    print("Starting outer async function")
    await inner_async_function()
    print("Finished outer async function")

# Run the outer async function
asyncio.run(outer_async_function())

In this example:

First, we import the necessary libraries asyncio and nest_asyncio.
Then we call nest_asyncio.apply() to modify the default behavior and allow nested event loops.
We define two asynchronous functions: inner_async_function which simply prints a message and sleeps for 1 second, and outer_async_function which calls the inner function.
Finally, we use asyncio.run() to execute the outer_async_function. Thanks to nest_asyncio.apply(), the inner async function can be executed within the context of the outer one without issues related to nested event loops.

Use Cases
This can be particularly handy in situations where you might be integrating different asynchronous libraries or when you have code that needs to run asynchronously within an environment that already has an ongoing event loop, such as in some Jupyter Notebook scenarios or when combining multiple async frameworks like aiohttp with other async code.
Overall, nest_asyncio.apply() provides a convenient solution to enable nested event loops and make it easier to handle complex asynchronous programming situations in Python.

Thanks for the explanations. Still, provided code fails and I believe this would be beneficial for most to have an accurate way to test the toolkit.

Hi @vdesaintpern
Thanks for your message. The examples in the readme, documentation and sample notebooks all use nest_asyncio.apply(). Is there something else that is missing?
Thanks
ian

Hi @vdesaintpern
Thanks for your message. The examples in the readme, documentation and sample notebooks all use nest_asyncio.apply(). Is there something else that is missing?
Thanks
ian

Thanks for you answer Ian.
Bottom line is if you run the provided code, containing the apply(), it fails. I think it would be great to fix this so that new users can test without wondering why they get this error. I've been able to fix it myself adding the code to a  "if name == 'main':" section. This could be useful for others.

Please would you provide more details of your setup environment so that I can try and reproduce this.  nest_asyncio.apply() has worked in the environments where we've tested the install previously, including the SageMaker Jupyter notebooks created through the CloudFormation template in the examples.
Thanks

I created the AWS resources needs (Neptune, opensearch serverless and systems manager tunnel to get to Neptune through a jumpbox), created a new conda env, activated it, pip installed graph-toolkit, create a new .py file, copy pasted the indexing code provided then ran it.

Then I changed the provide code to this and it worked:
from graphrag_toolkit import LexicalGraphIndex
from graphrag_toolkit.storage import GraphStoreFactory
from graphrag_toolkit.storage import VectorStoreFactory

from llama_index.readers.web import SimpleWebPageReader

import nest_asyncio
nest_asyncio.apply()

doc_urls = [
    'https://docs.aws.amazon.com/neptune/latest/userguide/intro.html',
    'https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html',
    'https://docs.aws.amazon.com/neptune-analytics/latest/userguide/neptune-analytics-features.html',
    'https://docs.aws.amazon.com/neptune-analytics/latest/userguide/neptune-analytics-vs-neptune-database.html'
]

if __name__ == '__main__':
    docs = SimpleWebPageReader(
        html_to_text=True,
        metadata_fn=lambda url:{'url': url}
    ).load_data(doc_urls)

    graph_store = GraphStoreFactory.for_graph_store(
        'neptune-db://db-graphrag-test.cluster-c3qxek8vng6o.us-west-2.neptune.amazonaws.com:9192'
    )

    vector_store = VectorStoreFactory.for_vector_store(
        'aoss://https://0tj278kbgm6pidvai5v2.us-west-2.aoss.amazonaws.com'
    )

    graph_index = LexicalGraphIndex(
        graph_store,
        vector_store
    )

    graph_index.extract_and_build(docs)

Thank you. I'll try and reproduce (probably beginning of next week now), and work out why if __name__ == '__main__': makes a difference for this kind of setup.

Hi @vdesaintpern Just following up on our offline conversation from last week.
This behaviour is as expected when running an application (versus running examples in a Jupyter notebook), though it's not always reproducible across environments: I've not witnessed it using conda and Python 3.12 on an EC2 instance, but it is evident when running application code on a Mac.
The fix, as you've indicated, is to put your application logic inside a method, and add an if name == 'main' block.
I've updated the examples on the landing page, added an FAQ item, and included instructions at the head of any example-heavy documentation pages.
Thanks for raising this
ian


Fixed C2440 in C++17 /permissive- conformance mode

const_cast could be a code smell but I wanted to unblock this quickly.

Ahh this was already fixed in https://github.com/bombomby/optick/pull/80. Shouldn't used my eyes.


Concurrent request handling?

1. What version of Go are you using (go version)?
go version go1.6 darwin/amd64

2. What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/carlos/Code/Go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.6/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.6/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

3. What did you do?
package main

import (
	"net/http"
)

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/status", func(w http.ResponseWriter, r *http.Request) {
		w.Write([]byte("OK"))
	})
	http.ListenAndServe(":3000", mux)
}

I opened 2 terminal instances and execute the following command:
for i in `seq 1 1000`; do
  curl  localhost:3000/status
done

Some requests eventually take a lot of time to process. I see that it happens sometimes in production (a request take more time than it should), and I was able to easily reproduce this with this recipe.
When I was testing this, I was trying labstack/echo, so I first opened an issue there, but the behavior is the same with the example provided here.
To help the understanding, here is a video showing what happens.
Maybe I'm just doing something wrong, if so, I'm sorry for wasting your time :(
4. What did you expect to see?
I expect the requests to be handled faster.
5. What did you see instead?
Some requests take a lot of time, like 1s or more.

Let's move this to a forum. See https://golang.org/wiki/Questions. If and when a concrete bug is identified with a repro, we can move it back to the bug tracker.

@bradfitz OK, sorry. Opened https://forum.golangbridge.org/t/concurrent-request-handling/2370


Empty String in data[].remoteRef.key in ExternalSecret when using the GitLab Provider crashses controller

Describe the bug
We are using the gitlab provider SecretStore to pull CICD variables from GitLab into K8s Secrets. When we accidentally left data[].remoteRef.key as "", the controller crashed (i.e. the external-secrets pods went into a crash/restart cycle) with an error, "invalid memory address or nil pointer dereference." We didn't realize this for a few weeks until someone reported their cicd variables were not syncing at which time we noticed the controller pods had been continuously restarting.
I was not able to reproduce the issue with the fake provider, so I think it specifically an issue with the gitlab provider.
Stack Trace and preceeding logs:
2024-05-09T14:44:10-05:00 {"level":"info","ts":1715283850.2760806,"logger":"provider.vault","msg":"initializing vault cache","size":262144}
2024-05-09T14:44:10-05:00 {"level":"info","ts":1715283850.276135,"logger":"setup","msg":"starting manager"}
2024-05-09T14:44:10-05:00 {"level":"info","ts":1715283850.2765207,"logger":"controller-runtime.metrics","msg":"Starting metrics server"}
2024-05-09T14:44:10-05:00 I0509 19:44:10.276703       1 leaderelection.go:250] attempting to acquire leader lease external-secrets/external-secrets-controller...
2024-05-09T14:44:10-05:00 {"level":"info","ts":1715283850.2770212,"logger":"controller-runtime.metrics","msg":"Serving metrics server","bindAddress":":9102","secure":false}
2024-05-09T14:44:26-05:00 I0509 19:44:26.698839       1 leaderelection.go:260] successfully acquired lease external-secrets/external-secrets-controller
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8323407,"msg":"Starting EventSource","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret","source":"kind source: *v1alpha1.PushSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.844212,"msg":"Starting EventSource","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore","source":"kind source: *v1beta1.SecretStore"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8323426,"msg":"Starting EventSource","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","source":"kind source: *v1beta1.ClusterExternalSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8455257,"msg":"Starting EventSource","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","source":"kind source: *v1beta1.ExternalSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.845546,"msg":"Starting EventSource","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","source":"kind source: *v1.Namespace"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.845552,"msg":"Starting Controller","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8442974,"msg":"Starting Controller","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.829943,"msg":"Starting EventSource","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","source":"kind source: *v1beta1.ExternalSecret"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.844353,"msg":"Starting Controller","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8462386,"msg":"Starting EventSource","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore","source":"kind source: *v1beta1.ClusterSecretStore"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8462791,"msg":"Starting Controller","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.846946,"msg":"Starting EventSource","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","source":"kind source: *v1.PartialObjectMetadata"}
2024-05-09T14:44:26-05:00 {"level":"info","ts":1715283866.8469913,"msg":"Starting Controller","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret"}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.1979568,"msg":"Starting workers","controller":"pushsecret","controllerGroup":"external-secrets.io","controllerKind":"PushSecret","worker count":1}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.2044928,"msg":"Starting workers","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore","worker count":1}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.2047784,"msg":"Starting workers","controller":"clusterexternalsecret","controllerGroup":"external-secrets.io","controllerKind":"ClusterExternalSecret","worker count":1}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.2048256,"msg":"Starting workers","controller":"secretstore","controllerGroup":"external-secrets.io","controllerKind":"SecretStore","worker count":1}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.2048185,"msg":"Starting workers","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","worker count":1}
2024-05-09T14:44:27-05:00 {"level":"info","ts":1715283867.8741221,"msg":"Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","ExternalSecret":{"name":"gitlab-ci-vars","namespace":"default"},"namespace":"default","name":"gitlab-ci-vars","reconcileID":"62ee22d5-bf54-438b-9f52-d63f6071a7a8"}
2024-05-09T14:44:27-05:00 panic: runtime error: invalid memory address or nil pointer dereference [recovered]
2024-05-09T14:44:27-05:00 	panic: runtime error: invalid memory address or nil pointer dereference
2024-05-09T14:44:27-05:00 [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x23ddf6d]
2024-05-09T14:44:27-05:00
2024-05-09T14:44:27-05:00 goroutine 87655 [running]:
2024-05-09T14:44:27-05:00 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:116 +0x1e5
2024-05-09T14:44:27-05:00 panic({0x347a100?, 0x707d8e0?})
2024-05-09T14:44:27-05:00 	/opt/hostedtoolcache/go/1.21.7/x64/src/runtime/panic.go:914 +0x21f
2024-05-09T14:44:27-05:00 github.com/external-secrets/external-secrets/pkg/provider/gitlab.(*gitlabBase).GetSecret(0xc00035d8f0, {0x3b1a4e0?, 0x48?}, {{0x0, 0x0}, {0xc001555d30, 0x4}, {0x0, 0x0}, {0x0, ...}, ...})
2024-05-09T14:44:27-05:00 	/home/runner/work/external-secrets/external-secrets/pkg/provider/gitlab/gitlab.go:253 +0x64d
2024-05-09T14:44:27-05:00 github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).handleSecretData(_, {_, _}, _, {{{0x2f818fd, 0xe}, {0xc0021b07c0, 0x1b}}, {{0xc001555ce0, 0xe}, ...}, ...}, ...)
2024-05-09T14:44:27-05:00 	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller_secret.go:96 +0x108
2024-05-09T14:44:27-05:00 github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).getProviderSecretData(0xc000361490, {0x4549aa0?, 0xc0021f2540}, 0xc00238a800)
2024-05-09T14:44:27-05:00 	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller_secret.go:78 +0x63e
2024-05-09T14:44:27-05:00 github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).Reconcile(0xc000361490, {0x4549aa0?, 0xc0021f2540}, {{{0xc001555cf0, 0x7}, {0xc001555ce0, 0xe}}})
2024-05-09T14:44:27-05:00 	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller.go:207 +0x12c9
2024-05-09T14:44:27-05:00 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x454e7c0?, {0x4549aa0?, 0xc0021f2540?}, {{{0xc001555cf0?, 0xb?}, {0xc001555ce0?, 0x0?}}})
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:119 +0xb7
2024-05-09T14:44:27-05:00 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000f7adc0, {0x4549ad8, 0xc000f75c70}, {0x36f8ba0?, 0xc00071cf80?})
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:316 +0x3cc
2024-05-09T14:44:27-05:00 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000f7adc0, {0x4549ad8, 0xc000f75c70})
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:266 +0x1af
2024-05-09T14:44:27-05:00 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:227 +0x79
2024-05-09T14:44:27-05:00 created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 87486
2024-05-09T14:44:27-05:00 	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:223 +0x565

To Reproduce
Steps to reproduce the behavior (a real gitlab access token, url, group id, and cicd variable name will be need to be added into these manifests):

provide all relevant manifests
cluster-secret-store.yaml (holds secret for accessing GitLab API. Will require a real gitlab access token to be specified)

apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
  name: gitlab-vars-cluster-secret-store
spec:
  provider:
    fake:
      data:
      - key: youversion-group-eso-access-token
        value: <gitlab access token>
        version: v1

gitlab-token-external-secret.yaml (relies on the ClusterSecretStore above.)
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: cluster-external-secret
spec:
  refreshInterval: 1h
  secretStoreRef:
    kind: ClusterSecretStore
    name: gitlab-vars-cluster-secret-store
  target:
    name: gitlab-access-token # name of the k8s secret to be created.
    creationPolicy: Owner
  data:
    - secretKey: token # Key given to the secret to be created on the cluster, will be used in the gitlab-secret-store
      remoteRef:
        key: youversion-group-eso-access-token # name of the secret in gitlab-vars-cluster-secret-store
        version: v1

gitlab-external-secret.yaml (relies on the ExternalSecret above. Will require a real url and group id to be specified):
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
  name: gitlab-secret-store
spec:
  provider:
    gitlab:
      url: <gitlab url>
      auth:
        SecretRef:
          accessToken:
            name: gitlab-access-token
            key: token
      groupIDs: ["<gitlab group id>"]

target-external-secret.yaml (specifies which GitLab CICD variable to put into a K8s Secret. Will require a real gitlab cicd variable name)
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: gitlab-ci-vars
spec:
  refreshInterval: 1h

  secretStoreRef:
    kind: SecretStore
    name: gitlab-secret-store
  target:
    name: gitlab-ci-vars # Name of the secret to be created on the cluster
    creationPolicy: Owner
  data:
    - secretKey: VAR_1
      remoteRef:
        conversionStrategy: Default
        decodingStrategy: None
        key: <gitlab cicd variable name> # Key of the variable on Gitlab
    # - secretKey: VAR_2
    #   remoteRef:
    #     conversionStrategy: Default
    #     decodingStrategy: None
    #     key: "" # <----- this is what causes the controller to crash

provide the Kubernetes and ESO version
We use the helm chart to deploy version 0.9.13

Expected behavior
I expect the controller to log an error rather than go into a crash and restart loop, so that other exiting ExternalSecrets that are properly configured can continue to be sync'd. The fake provider handles this case and logs the following:
"error retrieving secret at .data[0], key: , err: Secret does not exist
The full log appears as follows:
2024-05-09T14:26:32-05:00 {"level":"error","ts":1715282792.6705892,"msg":"Reconciler error","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","ExternalSecret":{"name":"example-for-bug-reproduction","namespace":"default"},"namespace":"default","name":"example-for-bug-reproduction","reconcileID":"b2b32f6f-375f-48d2-8097-595fa72863e1","error":"error retrieving secret at .data[0], key: , err: Secret does not exist","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.1/pkg/internal/controller/controller.go:227"}

Screenshots
n/a
Additional context
n/a

@yvjessestephens Hello 👋
Is this still a thing? :D

@Skarlso it is still an issue on version 0.10.0. I ran a test with the steps described above and got this:
{"level":"info","ts":1724765496.2968984,"msg":"Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference","controller":"externalsecret","controllerGroup":"external-secrets.io","controllerKind":"ExternalSecret","ExternalSecret":{"name":"gitlab-ci-vars","namespace":"faktoryloadtest"},"namespace":"faktoryloadtest","name":"gitlab-ci-vars","reconcileID":"936db2ed-c70a-4351-9180-721b869c1354"}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x26a80b3]

goroutine 30385 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:111 +0x1e5
panic({0x375cb20?, 0x78c1380?})
	/opt/hostedtoolcache/go/1.22.4/x64/src/runtime/panic.go:770 +0x132
github.com/external-secrets/external-secrets/pkg/provider/gitlab.(*gitlabBase).GetSecret(0xc0007ce380, {0xc000f80008?, 0xc001df3350?}, {{0x0, 0x0}, {0xc001fc3e4c, 0x4}, {0x0, 0x0}, {0x0, ...}, ...})
	/home/runner/work/external-secrets/external-secrets/pkg/provider/gitlab/gitlab.go:243 +0x433
github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).handleSecretData(_, {_, _}, _, {{{0x0, 0x0}, {0x0, 0x0}}, {{0xc001fc3df0, 0xe}, ...}, ...}, ...)
	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller_secret.go:97 +0x108
github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).getProviderSecretData(0xc0003d9420, {0x4a277b8, 0xc001df2240}, 0xc000d0f800)
	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller_secret.go:79 +0x61e
github.com/external-secrets/external-secrets/pkg/controllers/externalsecret.(*Reconciler).Reconcile(0xc0003d9420, {0x4a277b8, 0xc001df2240}, {{{0xc001fc3bb0, 0xf}, {0xc001fc3ba0, 0xe}}})
	/home/runner/work/external-secrets/external-secrets/pkg/controllers/externalsecret/externalsecret_controller.go:224 +0x1396
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x4a2ded8?, {0x4a277b8?, 0xc001df2240?}, {{{0xc001fc3bb0?, 0xb?}, {0xc001fc3ba0?, 0x0?}}})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:114 +0xb7
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000ee60b0, {0x4a277f0, 0xc000abb3b0}, {0x3a020e0, 0xc0001512c0})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:311 +0x3bc
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000ee60b0, {0x4a277f0, 0xc000abb3b0})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:261 +0x1be
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:222 +0x79
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 30134
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:218 +0x486

Nice, thanks. I'll investigate it.

Not stale, just didn't have the time.


Add MaskGCT

✨ Description
Add MaskGCT
🚧 Related Issues
[List the issue numbers related to this PR]
👨💻 Changes Proposed

[x] Add MaskGCT (inference, demo, ckpt)
[x] Add codec related to MaskGCT

🧑🤝🧑 Who Can Review?
@jiaqili3 @RMSnow @yuantuo666
🛠 TODO

[x] Add MaskGCT/Codec code
[x] Add gradio demo
[ ] Update README
[x] Add ckpt

✅ Checklist

[ ]  Code has been reviewed
[x]  Code complies with the project's code standards and best practices
[x]  Code has passed all tests
[x]  Code does not affect the normal use of existing features
[x]  Code has been commented properly
[x]  Documentation has been updated (if applicable)
[x]  Demo/checkpoint has been attached (if applicable)

@HeCheng0625 Thanks for your great work. How about adding a section in README to introduce the dataset used to train MaskGCT?


Sample Request History

Store requests made in IndexedDb.

@Kachulio1 do you have the bandwidth to pick this up?

Yeah sure.
Question, all requests or are there specific ones?

All requests.
You should also save the request's headers & responses if they have any

Ok, I was on holiday haven't worked on this yet.

@Kachulio1 are you still working on this? Adding @thewahome to this conversation.

@jobala Yeah, I will, I've been super busy in the past few weeks.

what's the timeframe?

No pressure, I was just following up. Let us know when you start working on this.

👍

Question is it ok if I use this https://github.com/jakearchibald/idb
a Polyfill for IndexedDB, so that we can use Promises which is better than using IndexedDB Events and it's open source.

@jobala ☝and how should we do the cache invalidation?

@Kachulio1 it is fine to use the polyfill for IndexedDb.
What is the context for cache invalidation?

Oh, I mean how long should the data in indexedDB be valid for.

Forever, until the user deletes the data.

@cwahome worked on this and the PR has been approved and merged.


Mnist tutorial

Added a tutorial on using the incremental deletion metric for MNIST data. I used KernelSHAP for a change to explain the image and then let loose the deleter. results are shown in the notebook :)

Thanks! I have resolved this issue by using the default keyword arguments from dianna.visualization. I also managed to resolve some import issues and the issue that the curves didnt meet at the baseline value of .5 :)


fix fix information column_type and data_type for ip/variant

Proposed changes
fix information column_type and data_type for ip/variant

Issue Number: close #xxx

run buildall

run cloud_p0


Problems on styled-components v1.1.2

Hi , i've installed the plugin on a 1.1.2v of styled component , but it's not compatible ,problem is that style change on my app.
Is there a solution for using babel-plugin-styled-components in 1.1.2 styled-component library?

Upgrade to the latest version of styled-components? What's keeping you on v1.1.2?

@mxstbr  Thanks for answer.
Problem it's a big project made with styled-components 1.1.2, and when i update to the last version lot of styles pages change.

Can you try updating to v2?

Same problem using this versions:
"styled-components": "^2.4.1",
"babel-plugin-styled-components": "^1.8.0",

I'm afraid you'll have to upgrade to v3 or later for this plugin to work 😕

Updating to v3.4.6 same problem..
Do you know what's the main devDependencies that change styles ? (Difference between 1.1.2 and 3.4.6).
Thanks.

I've reinstalled babel-plugin with styled-components 1.1.2 and problem changed.. Now i've in console:
Dynamic page loading failed TypeError: styled_components__WEBPACK_IMPORTED_MODULE_0__.default.div.withConfig

@yessinekebir I don't think the babel plugin was ever compatible with styled-components v1? Only v2+

Solved..
Problem on v3.4.6 and babel-styled-component  v1.8 is the minified props..
By default the plugin pass minification: true, and it broke my CSS style.
SOLUTION
["babel-plugin-styled-components", {
"minify": false
}]

If you could post some of your code we could possibly improve the minifier
On Thu, Oct 11, 2018 at 3:38 AM Yessine<EMAIL_ADDRESS>wrote:

Solved..
Problem on v3.4.6 and babel-styled-component v1.8 is the minified props..
By default the plugin pass minification: true, and it broke my CSS style.
SOLUTION
["babel-plugin-styled-components", {
"minify": false
}]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/babel-plugin-styled-components/issues/169#issuecomment-428870145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1g-eS6iOotn79uO7o6sGNQB8_Yo5ks5ujwOCgaJpZM4XTqU5
.


Give a way to update data (without  transition)

This is more of a question, hence an issue not a PR.
I see a lot of use cases where I need to do update the state outside of a transition. It might just be because I'm doing something wrong, but how about an this.props.updateData({} || updater) that gets passed down, similar to second arg of transition. we can event give it a callback, updateData = ({}, callback) => this.setState({}, callback). Any potential problems with this approach?

If you think about what is happening when you need to update state, some event occurs that causes the state to need to update. Since it's better to keep track of each state change in response to an event (especially for testing purposes), I'd argue that your best bet would be to use a self-transition:
{
  foo: {
    on: {
	  SOME_EVENT: {
		target: 'foo',  // self-transition
		actions: ['updateStateHere']
	  }
    }
  }
}

I get that, but even if I do this, how do I update the machine's data in updateStateHere? I can only do it in transition('SOME_EVENT', { data }) .(Consider the case when transition event is named something generic, like 'NEXT')

Thank you very much for your opening this issue @palashkaria, and thanks for your comment @davidkpiano.
I understand your question, but I 100% agree with @davidkpiano:

If you think about what is happening when you need to update state, some event occurs that causes the state to need to update.

I recommend you check why you feel the need to update the state without performing a transition.
Feel free to reopen the issue if you are happy to share/discuss your use-case.


chore(deps): update dependency com.sun.xml.bind:jaxb-xjc to v2.3.2

This PR contains the following updates:

Package
Update
Change

com.sun.xml.bind:jaxb-xjc
minor
2.2.7-b41 -> 2.3.2

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.


No autocomplete for Literal for getitem

Environment data

Language Server version: v2021.5.3
OS and version: Windows 10 21H1
Python version (& distribution if applicable, e.g. Anaconda): Python 3.9.5

Expected behaviour
It should show autocomplete for __getitem__
Actual behaviour
No autocomplete for __getitem__
Code Snippet / Additional information

# pyright: strict
from typing import Literal

class Foo:
    def __getitem__(self, key: Literal["chromium", "firefox", "webkit"]) -> int:
        return 1

f = Foo()
k = f[]

This issue has been fixed in version 2022.1.1, which we've just released. You can find the changelog here:  CHANGELOG.md


Bluetooth: host: direction: Add public API to set CTE TX enable for adv.

@ppryga a couple of nitpicks:

Remove . from the end of commit message summaries. Now two have it and two don't.
Split "Bluetooth: host: direction: Add public API to set CTE TX enable for adv" into two commits: one which refactors and renames the state stuff, and another for the new additions. @joerchan btw it'd be good to get a review from you since IIRC you implemented the state stuff.

@ppryga a couple of nitpicks:

Remove . from the end of commit message summaries. Now two have it and two don't.
Split "Bluetooth: host: direction: Add public API to set CTE TX enable for adv" into two commits: one which refactors and renames the state stuff, and another for the new additions. @joerchan btw it'd be good to get a review from you since IIRC you implemented the state stuff.

@jhedberg requested updates are done.

@jhedberg requested updates are done.

@joerchan thank you for your review.
Almost all requested comments were implemented. Please check if the code is ok for you now.

@joerchan thank you for your review.
Almost all requested comments were implemented. Please check if the code is ok for you now.

Just small spelling correction in ull_df.c source file. No other changes added.

Just small spelling correction in ull_df.c source file. No other changes added.

@carlescufi can you merge the PR?

@carlescufi can you merge the PR?


callable prefix

dynamic prefix is more informative (for measure) than static
Vue.use(VueLogger, {
  prefix: () => new Date()
})

@2bj  Thanks for your help!


fixed market ticker event

@big-andy-coates - can we go with String values? BigDecimal has got its pros and cons.
My personal belief is that libs like this should be used for data transport layer - all calculation (&data modifications) should be done elsewhere

Fine by me - but then again, I’m just an interested party, not a committee ;)


"Yikes!" error if using Dart 3 record types in endpoint definition

Describe the bug
If I declare an endpoint with a return type of Future<List<(String, String)>>, I get the following:
Yikes! It is possible that this error is caused by an internal issue with the Serverpod tooling. We would appreciate if you filed an issue over at Github. Please include the stack trace below and describe any steps you did to trigger the error.
https://github.com/serverpod/serverpod/issues

Null check operator used on a null value

#0      new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:77:53)
#1      new TypeDefinition.fromDartType.<anonymous closure> (package:serverpod_cli/src/generator/types.dart:72:56)
#2      MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
#3      ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
#4      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
#5      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#6      new List.of (dart:core-patch/array_patch.dart:47:28)
#7      ListIterable.toList (dart:_internal/iterable.dart:214:7)
#8      new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:72:73)
#9      new TypeDefinition.fromDartType.<anonymous closure> (package:serverpod_cli/src/generator/types.dart:72:56)
#10     MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
#11     ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
#12     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
#13     new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#14     new List.of (dart:core-patch/array_patch.dart:47:28)
#15     ListIterable.toList (dart:_internal/iterable.dart:214:7)
#16     new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:72:73)
#17     EndpointsAnalyzer.analyze (package:serverpod_cli/src/analyzer/dart/endpoints_analyzer.dart:165:48)
<asynchronous suspension>
#18     performGenerate (package:serverpod_cli/src/generator/generator.dart:49:19)
<asynchronous suspension>
#19     GenerateCommand.run (package:serverpod_cli/src/commands/generate.dart:59:22)
<asynchronous suspension>
#20     CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#21     ServerpodCommandRunner.runCommand (package:serverpod_cli/src/runner/serverpod_command_runner.dart:137:7)
<asynchronous suspension>
#22     _main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:51:3)
<asynchronous suspension>
#23     main.<anonymous closure> (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:25:9)
<asynchronous suspension>
#24     main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:22:3)
<asynchronous suspension>

I wasn't really expecting this to work, because it's a new feature of Dart, but the error is a bit jarring nonetheless.
The offending line, types.dart:77, is:
var className = type is! VoidType ? type.element!.displayName : 'void';

Related issue crashing at the same point: https://github.com/serverpod/serverpod/issues/1169

I have another crash now, the same cause, out of the box, when compiling serverpod_test_server:
serverpod
✅ Done.

examples/chat/chat_server
✅ Done.

\nmodulename_server
✅ Done.

\nprojectname_server
✅ Done.

\nserverpod_auth_server
✅ Done.

\nserverpod_chat_server
✅ Done.

\ntests/serverpod_test_server

Found 1 error.
Error on line 2, column 8 of lib/src/protocol/simple_datatime.yaml: The class name "SimpleDateTime" is already used by another protocol class.
  ╷
2 │ class: SimpleDateTime
  │        ^^^^^^^^^^^^^^
  ╵

Found 1 error.
Error on line 2, column 8 of lib/src/protocol/simple_date_time.yaml: The class name "SimpleDateTime" is already used by another protocol class.
  ╷
2 │ class: SimpleDateTime
  │        ^^^^^^^^^^^^^^
  ╵
Yikes! It is possible that this error is caused by an internal issue with the Serverpod tooling. We would appreciate if you filed an issue over at Github. Please include the stack trace below and describe any steps you did to trigger the error.
https://github.com/serverpod/serverpod/issues

Null check operator used on a null value

#0      new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:77:53)
#1      new TypeDefinition.fromDartType.<anonymous closure> (package:serverpod_cli/src/generator/types.dart:72:56)
#2      MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
#3      ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
#4      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
#5      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#6      new List.of (dart:core-patch/array_patch.dart:47:28)
#7      ListIterable.toList (dart:_internal/iterable.dart:214:7)
#8      new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:72:73)
#9      new TypeDefinition.fromDartType.<anonymous closure> (package:serverpod_cli/src/generator/types.dart:72:56)
#10     MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
#11     ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
#12     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
#13     new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#14     new List.of (dart:core-patch/array_patch.dart:47:28)
#15     ListIterable.toList (dart:_internal/iterable.dart:214:7)
#16     new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:72:73)
#17     EndpointsAnalyzer.analyze (package:serverpod_cli/src/analyzer/dart/endpoints_analyzer.dart:165:48)
<asynchronous suspension>
#18     performGenerate (package:serverpod_cli/src/generator/generator.dart:49:19)
<asynchronous suspension>
#19     GenerateCommand.run (package:serverpod_cli/src/commands/generate.dart:59:22)
<asynchronous suspension>
#20     CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#21     ServerpodCommandRunner.runCommand (package:serverpod_cli/src/runner/serverpod_command_runner.dart:137:7)
<asynchronous suspension>
#22     _main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:51:3)
<asynchronous suspension>
#23     main.<anonymous closure> (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:25:9)
<asynchronous suspension>
#24     main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:22:3)
<asynchronous suspension>

\ntests/serverpod_test_module/serverpod_test_module_server
✅ Done.

Now I can't even build my project, and I don't know what part of my server code is triggering this crash. (I changed only my server code, not code in the serverpod project):
$ dart ../vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart generate
Yikes! It is possible that this error is caused by an internal issue with the Serverpod tooling. We would appreciate if you filed an issue over at Github. Please include the stack trace below and describe any steps you did to trigger the error.
https://github.com/serverpod/serverpod/issues

Null check operator used on a null value

#0      new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:77:53)
#1      EndpointsAnalyzer.analyze (package:serverpod_cli/src/analyzer/dart/endpoints_analyzer.dart:140:42)
<asynchronous suspension>
#2      performGenerate (package:serverpod_cli/src/generator/generator.dart:49:19)
<asynchronous suspension>
#3      GenerateCommand.run (package:serverpod_cli/src/commands/generate.dart:59:22)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#5      ServerpodCommandRunner.runCommand (package:serverpod_cli/src/runner/serverpod_command_runner.dart:137:7)
<asynchronous suspension>
#6      _main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:51:3)
<asynchronous suspension>
#7      main.<anonymous closure> (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:25:9)
<asynchronous suspension>
#8      main (file:///home/luke/Work/click/vendor/serverpod/tools/serverpod_cli/bin/serverpod_cli.dart:22:3)
<asynchronous suspension>

OK, so in the last case, I had both an enum and an endpoint in the project that I changed in incompatible ways, and it seems that A couldn't build without B already being generated, and B couldn't build without A already being generated (or something along those lines).

I have another crash now, the same cause, out of the box, when compiling serverpod_test_server:

Hmm seems this is cause by a copy paste mistake in our protocol files, using the same class name twice is not all allowed.
The crashes are indeed from the same place, in the two latest cases because the generated code is missing, (I.E. an invalid import in the endpoint file). This is the bug that needs to be fixed.


Cannot create a Message Store

Description
Even though we have filled the required fields to create a message store, nothing happens when we click Create button
Steps to Reproduce
Try to create a RabbitMQ message store under Advanced Artifacts > Message Stores
Version
vPre-alpha1
Environment Details (with versions)
No response

Same issue for,

Message processor
Local entries
Data source


any update on the integration for letsencrypt

I understand this part needs to be done manually? I think other playbooks have figured out how to automate this.. I was wondering if you've managed to do the same but perhaps just haven't updated this repo with all your latest improvements?
Would love to see what steps exactly need to be taken to get letsencrypt working as seamlessly as possible.. ideally automated with automatic renewals as well

In this package it does require a manual setup. I have however been working on a fork of the excellent Anstead Ansible playbook for Laravel
 by @ptibbetts . It is based of Trellis and it does

automate Let's Encrypt installation or the installation of one of your own,
it does setup of multiple servers and
takes care of deployment as well as provisioning

I am more focussing on that fork now. Just updated PHP to 7.2 for example. Only thing I am missing now is a way to add multiple databases. That and possibly working locally with Docker instead of Vagrant.


Racer

A port of the classic game to sprig, where you switch lanes to avoid obstacles
Play it live: https://editor.sprig.hackclub.com/?id=32fb78b30f2eb269c39810e907b1178c

Thanks for PR!

it seems that it is possible to change the player's position before the timer starts, was it planned?

Yep, it's required for some of the levels when there's an obstacle right in front of you

oh, ok!

looks good to me, I'm learning a yarn test for sprig, but I don't know how to apply it yet, so I'll approve it and if errors appear in the yarn test I'll send you a DM in Slack, ok?

Congrats!
you can get your sprig here! https://sprig-order.hackclub.dev/

Great, thank you!


[CT-788] Support disabling metrics + exposures

Pretty simple:
# models/specific_file.yml

metrics:
  - name: disabled_metric
    config:
      enabled: false

exposures:
  - name: disabled_exposure
    config:
      enabled: false

# dbt_project.yml

metrics:
  +enabled: false

exposures:
  +enabled: false

Expectations:

Moved to disabled section of manifest.json
Needs to work with partial parsing
If a disabled metric is referenced via metric(), it should raise an error at the end of parsing (just as ref() or source() do)

Grouping these together because I believe it would require touching the same code paths!

Need to make sure we loop over the right things anywhere we're looking at enabled nodes to ensure metrics/exposures are included.


Create VM: filter out only relevant entities

We have a read-only visibility to everything and typically users do not have access to e.g. all DCs or Templates, we should filter out those which are not relevant. We do not really have a suitable support in API but a rough role-based filtering could be good enough (working for predefined roles only).

Create button available only if VmCreator/InstanceCreator/PowerUserRole/admin on any Cluster/DC/System
once we have #489 with SDs filter out relevant SDs - DiskCreator/PowerUserRole/StorageAdmin/SuperUser on any SD/DC/System. For now just check permissions on what's in the template
Similarly for networks once we have #488

a Blank template
when no Template selected?

@lizsurette let's consider this for New VM flow redesign


depserve crashes when trying to serve on localhost

See error below. Changing <IP_ADDRESS> manually in npm_modules/grunt-dep-serve/tasks/grunt-dep-serve.js to "localhost" in all instances fixes the issue.
Expected behavior and actual behavior:
grunt devmode or grunt depserve should serve me the page for testing (local dev, so trying to serve index.html).
Steps to reproduce the problem:
clone, npm install, bower install, grunt devmode
Environment (component version number, Browser (including version), operating system, hardware, etc):
commit  f7d3c19 , chrome, Windows 10
Code examples help us better understand the issue
error in terminal:
210071205 (master *) px-app-nav-bf $ grunt devmode --force
(node:7364) DeprecationWarning: process.EventEmitter is deprecated. Use require('events') instead.
Running "concurrent:devmode" (concurrent) task
    Running "watch" task
    Waiting...
    Running "depserve" task
    (node:12604) DeprecationWarning: process.EventEmitter is deprecated. Use require('events') instead.
    Local http server listening at http://localhost:8080/ with dependencies proxied from /bower_components
    ctrl+c to exit
    (node:8516) DeprecationWarning: process.EventEmitter is deprecated. Use require('events') instead.
    Fatal error: connect EADDRNOTAVAIL <IP_ADDRESS>:8080
Warning: (node:12604) DeprecationWarning: process.EventEmitter is deprecated. Use require('events') instead. Used --force, continuing.

Done, but with warnings.

Fixed by a2176f2184e35ed1e00f895efab6dc32fe721d08 - we're moving to gulp.
Depserve has been replaced by gulp serve.
Docs haven't been updated yet to reflect this - it is work in progress... ;)
Thanks for the defect!


Add support for High Sierra

Creates a tracking PR that we can test multiple branches against a full installation and eventually merge it into master.

@webflo It looks like I'm getting an error related to the user resource not existing
Error: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: undefined method `exists?' for nil:NilClass
Error: Could not prepare for execution: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: undefined method `exists?' for nil:NilClass
undefined method `exists?' for nil:NilClass

Did you hit this with your upgrade?

You can see the full log output in our CI runs https://travis-ci.org/boxen/our-boxen/builds/348784028#L195

No, it does not ring a bell. Maybe its related to the special environment on Travis CI? I googled a little bit and it looks like a very generic error.
https://projects.puppetlabs.com/issues/19670

Double check the version of the puppet gem.

I can use your High Sierra Branch in my local setup. But it will take a few days until i have time to do it.

I've been running VMs up and down all day without any luck (all fresh OS's). Based on some of the things I've found, this is an issue with the user not being found, in this case root, and I've got a feeling it could be related to System Integrity Protection but I'm not certain.
I'll keep looking.


Incorrectly stated error: '...' should not be nested in '...' unless there is a valid relationship

Version of Archi, Operating System
4.6.0
Expected Behaviour
No error as there is a valid "specialization" relationship
Actual Behaviour
Incorrectly stated error: '...' should not be nested in '...' unless there is a valid relationship
Steps to Reproduce the Behaviour

Create an application service
Create another application service
Make the latter a specialization of the former
Nest the latter in the former
Check the validator

Specialization works the other way around... @jbsarrodie I think this is it?

Specialization works the other way around... @jbsarrodie I think this is it?

I confirm the bug (and found another one).
For structural relationships and access, the target of the relationships is inside the source, but for specialization this is the way around: a specific element (S) is a specialization of a generic element (G), then S is inside G. So in the case described the validator should not warn.
The other bug I discovered is related: If in your model you have S being a specialization of G, when in a view you nest S inside G, ARM mecanisme is triggered (it shouldn't) and asks you which relationship to create. It proposes specialization (in the right "direction", ie. from S to G), but if you choose it, it create another specialization, leading with two identical specialization from S to G.
So part of these logics have to be checked (I'm looking forward being in vacation next week to be able to work on several topics in Archi ;-)

I thought Specialization was a special case and works as we have it now? It used to be the other way round....

I thought Specialization was a special case and works as we have it now? It used to be the other way round.... (confused)

Prior ArchiMate 3.0, there was simply no official nesting for specialization.
It become allowed (as described) in 3.0. It was then implemented in Archi in ARM, but this first implementation was suggesting the creation of a specialization in the wrong "direction" (from G to S). This has been solved at some point (there's an issue for this) and ARM was changed to suggest the creation of a specialization in the right "direction" (from S to G). But when we worked on this issue and I tested it, it seems I did a partial test: i.e. only tested the creation of a new relationship but never tested the case when a relationship already exist. And I never tested validator on this.
So here is what is at minimum needed to fix the issue:

Validation rule for nesting (B inside A) should check for structural and access relationships from A to B (already done) or specialization from B to A (this exact issue)
When nesting two elements (B inside A), Archi should check if it exists a relationship from A to B or from B to A which is of one of the types selected in the ARM configuration pane "Relation types to hide when elements are nested" (the bug I detected)

This would fix current ARM behavior and fixe Validator.
Of course, if we start working of this piece of code around ARM, then it could make sens to look at several other related issues: #578, #233, #207, #338, #580, #173

So, for the Validator are we saying that for the Specialization relationship nesting A inside B and nesting B inside A is OK? Or just the reverse of what we have now? It's not clear to me.

OK, I get it now. I've fixed the Specialization relationship being the wrong direction and also so that the Validator checks for all relations between parent/child which I think is what is the issue in #578

Closing this as it is implemented for the next version. Please re-open if any issues are found when released,


How to fix this errors ?  sd-webui-blip2

Traceback (most recent call last):
File "C:\SD\venv\lib\site-packages\gradio\routes.py", line 337, in run_predict
output = await app.get_blocks().process_api(
File "C:\SD\venv\lib\site-packages\gradio\blocks.py", line 1015, in process_api
result = await self.call_function(
File "C:\SD\venv\lib\site-packages\gradio\blocks.py", line 833, in call_function
prediction = await anyio.to_thread.run_sync(
File "C:\SD\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "C:\SD\venv\lib\site-packages\anyio_backends_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "C:\SD\venv\lib\site-packages\anyio_backends_asyncio.py", line 867, in run
result = context.run(func, *args)
File "C:\SD\extensions\sd-webui-blip2\scripts\main.py", line 71, in gen_caption
image = vis_processors"eval".unsqueeze(0).to(device)
KeyError: 'eval'

Have you solved this problem? How did you solve it?


Cloudwatch logging

@rileyhales @msouff Please provide feedback on a new, more explicit format for logging messages, namely including full product name in place of lookup (lookup code left in for now), and including a name for each parameter for easier parsing of parameters later

I think if we have the space, which I think we do, we should do away with the numbers and have the actual data in there. Like instead of having regionno_5 or source_2, let's have region_<region_name> and and source_<source_name>

@msouff this should be a little more explicit, although I haven't added anything that actually utilizes the "region_no" keyword, do you know how to get them info in the code? i.e. requesting from the app, or web service, or python, etc.

@J-Ogden99 i've been thinking about this. Instead of making up our own string format to parse i thought we should make the message a stringified json. We can use json.dumps and then json.parse after downloading the data to do queries. Also i've done some tests and it looks like if the string message is a json then the aws cloudwatch dashboard automatically understands it and makes the key/value pairs query-able in their web tools.


ADD CONTRIBUTOR

@vctqs1 Feel free to make a PR yourself as a code contributor using https://allcontributors.org/

@JacobMGEvans hi, sorry for late, here is PR to update it https://github.com/OpenSourceRaidGuild/babel-vite/pull/52. thank you for guiding me


How to select the value of 'alg' header based on the JWKSource?

Describe the bug
I'm trying to change the JWKSet, instead of using Jwks.generateRsa() I want use Jwks.generateEc() but throws and exception org.springframework.security.oauth2.jwt.JwtEncodingException: An error occurred while attempting to encode the Jwt: Failed to select a JWK signing key
To Reproduce
Change the key of the bean jwkSource() to ECKey rsaKey = Jwks.generateEc();
curl --request POST \
  --url http://auth-server:9000/oauth2/token \
  --header 'Authorization: Basic bWVzc2FnaW5nLWNsaWVudDpzZWNyZXQ=' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data grant_type=client_credentials

Expected behavior
Update the JWT header with the selected source
Sample
@Bean
  public JWKSource<SecurityContext> jwkSource() {
    ECKey key = Jwks.generateEc();
    JWKSet jwkSet = new JWKSet(key);
    return (jwkSelector, securityContext) -> jwkSelector.select(jwkSet);
  }

Or, what's the way to modify the header alg?
Thanks, and excellent work!

There is a way to get over that problem - this bean works for me:
@Bean
OAuth2TokenCustomizer<JwtEncodingContext> jwtCustomizer() {
    return context -> context.getHeaders().algorithm(KeyGeneratorUtils.ESAlgorythm.ES256K);
}

Hope this helps!

@Blackmail92 Thanks, it's a good solution though, isn't it better if JWKSource can auto-detect the algorithm without creating that bean?

@haroldjcastillo Well, it;s just a temporary workaround, until there would be a better way :) For now it does help with that issue, hope that sooner or later it wll be fixed)

Thanks @Blackmail92 for the workaround! Unfortunately, this isn't at the top of my list yet, but I'll circle back to it asap.

@haroldjcastillo

isn't it better if JWKSource can auto-detect the algorithm without creating that bean?

In a production deployment, it is highly likely that JWKSource will contain more than one key. There could be 2 active signing keys (RSA and EC) and 2 passive keys (RSA and EC). In this scenario, there is no way to deduce the correct alg to default for the JoseHeader.
Furthermore, a key can only be selected using attributes of the JoseHeader. A common selection strategy is using the algor kid from the JoseHeader to select the correct key in JWKSource.
If you need to select a specific key from JWKSource, then you can set the appropriate header(s) in JoseHeader via OAuth2TokenCustomizer as commented by @Blackmail92. The intended design of OAuth2TokenCustomizer is to customize the headers and/or claims.
For future reference, questions are better suited to Stack Overflow. We prefer to use GitHub issues only for bugs and enhancements.

There is one problem. @jgrandja @sjohnr  Really sorry for tag, but there is a small issue with this workaround, probably you could help with it. Problem is - when I use the ECDSA key with the secp256k1 curve (alg=ES256K), and customise the header as I provided above, when a resource server checks the token, it cant find the required alg, because jwsAlgorythms in JWSVerificationKeySelector list includes only ES256, ES384 and ES512, so it fails with the "Signed JWT rejected: Another algorithm expected, or no matching key(s) found" error.
What makes me a bit confused, is a fact that the check works perfectly fine when we use same app as AuthServer and Resource servar simultaneously. I guess some beans from auth server let us do that.. Is there any way to add some values to the supported algs list in the JWSVerificationKeySelector ?

Hi @Blackmail92, I understand you're working on getting the key selector functionality to use your desired algorithm. This feels like a question that would be better suited to Stack Overflow. We prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it). We will try and take a look at it, but if you can add a minimal sample demonstrating what you're trying to get working, that would be very helpful.


[TRI] Fix tri timeout does not set

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #10317 (c28f37f) into 3.0 (edd245e) will decrease coverage by 0.10%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                3.0   #10317      +/-   ##
============================================
- Coverage     65.66%   65.55%   -0.11%
  Complexity      295      295
============================================
  Files          1233     1233
  Lines         53699    53699
  Branches       8117     8117
============================================
- Hits          35260    35203      -57
- Misses        14591    14639      +48
- Partials       3848     3857       +9

Impacted Files
Coverage Δ

...g/apache/dubbo/rpc/protocol/tri/TripleInvoker.java
56.57% <0.00%> (ø)

...dubbo/common/status/support/LoadStatusChecker.java
41.66% <0.00%> (-25.00%)
:arrow_down:

.../remoting/api/SingleProtocolConnectionManager.java
61.53% <0.00%> (-23.08%)
:arrow_down:

...nt/metadata/ServiceInstanceHostPortCustomizer.java
65.78% <0.00%> (-21.06%)
:arrow_down:

...che/dubbo/registry/client/NopServiceDiscovery.java
44.44% <0.00%> (-11.12%)
:arrow_down:

...e/dubbo/rpc/protocol/tri/transport/WriteQueue.java
64.28% <0.00%> (-9.53%)
:arrow_down:

.../remoting/transport/netty4/NettyServerHandler.java
62.79% <0.00%> (-9.31%)
:arrow_down:

.../common/threadpool/serial/SerializingExecutor.java
70.37% <0.00%> (-7.41%)
:arrow_down:

...he/dubbo/remoting/transport/netty/NettyHelper.java
29.03% <0.00%> (-6.46%)
:arrow_down:

...ava/org/apache/dubbo/rpc/proxy/InvocationUtil.java
84.84% <0.00%> (-6.07%)
:arrow_down:

... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update edd245e...c28f37f. Read the comment docs.


Send the automated messages to your beloved ones on their Birthday or Anniversary.

Is your feature request related to a problem? Please describe.
I am always frustrated by remembering the date of my friends or family.
Describe the solution you'd like
So, I decided why not create an automated system to send messages to your beloved ones.
Describe alternatives you've considered
I can't see any alternative to this. Instead, we can note down all the dates in one place.
Additional context
I am still developing this application. The GitHub link is https://github.com/pramish/Greetings.git. The Website link is https://usergreetings.netlify.app/

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐


Circleci-project-setup

Circleci-project-setup and test cases

Merged the changes as a part of this PR: https://github.com/tekdi/sunbird-admin-ui/pull/8


[bug]: ERROR - patchmatch failed to load or compile (not enough data: cadata does not contain a certificate (_ssl.c:4020))

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
RTX 4060 Ti
GPU VRAM
16GB
Version number
4.2.8
Browser
Vivaldi 6.9.3447.37
Python dependencies
No response
What happened
Running InvokeAI there is an error of patchmatch loading/compiling patchmatch. The startup log is:
>> patchmatch.patch_match: ERROR - patchmatch failed to load or compile (not enough data: cadata does not contain a certificate (_ssl.c:4020)).
>> patchmatch.patch_match: INFO - Refer to https://invoke-ai.github.io/InvokeAI/installation/060_INSTALL_PATCHMATCH/ for installation instructions.
[2024-09-04 21:56:32,653]::[InvokeAI]::INFO --> Patchmatch not loaded (nonfatal)
[2024-09-04 21:56:33,869]::[InvokeAI]::INFO --> Using torch device: NVIDIA GeForce RTX 4060 Ti
[2024-09-04 21:56:35,105]::[InvokeAI]::INFO --> cuDNN version: 8801
[2024-09-04 21:56:35,139]::[uvicorn.error]::INFO --> Started server process [1292]
[2024-09-04 21:56:35,139]::[uvicorn.error]::INFO --> Waiting for application startup.
[2024-09-04 21:56:35,140]::[InvokeAI]::INFO --> InvokeAI version 4.2.8
[2024-09-04 21:56:35,140]::[InvokeAI]::INFO --> Root directory = W:\invokeai
[2024-09-04 21:56:35,143]::[InvokeAI]::INFO --> Initializing database at W:\invokeai\databases\invokeai.db
[2024-09-04 21:56:35,391]::[uvicorn.error]::INFO --> Application startup complete.
[2024-09-04 21:56:35,392]::[uvicorn.error]::INFO --> Uvicorn running on http://<IP_ADDRESS>:9090 (Press CTRL+C to quit)

Similar issue can be found here, here, and many other places where it is loading all root certs from the Windows certificate store at once, and it fails if it encounters a single malformed certificate instead of ignoring it and not adding it to its own trust store.
As in the linked threads above, my country's offending certificate is issued by our government and it's not really practical to delete it as I need it for e-government stuff and requests.
I confirmed that by deleting the certificate and after restarting, the error goes away.
Can you implement a workaround so that if the problematic certificate is found, it just gets skipped, instead of patchmatch breaking?
Thanks
What you expected to happen
I expected the problematic certificate to be skipped instead of breaking patchmatch.
How to reproduce the problem
Install a non-working certificate in Windows and try running.
Additional context
Only happens with Governmental certificates of Serbia which are needed for e-signing, and other online activities on government sites.
Discord username
the_rade.

Sorry, this is not up to InvokeAI, it's up to OpenSSL and Python crowd, which majorly sucks. I wish if there was an easier workaround than removing the certificates.

Sorry, this is not up to InvokeAI, it's up to OpenSSL and Python crowd, which majorly sucks. I wish if there was an easier workaround than removing the certificates.

Thanks for the quick reply. I actually edited the ssl.py in C:\Users\name\AppData\Local\Programs\Python\Python311\Lib\ssl.py with the following:
    def _load_windows_store_certs(self, storename, purpose):
        certs = bytearray()
        try:
            for cert, encoding, trust in enum_certificates(storename):
                try:
                    self.load_verify_locations(cadata=cert)
                except SSLError:
                    warnings.warn("Bad certificate in Windows certificate store")
                else:
                    # CA certs are never PKCS#7 encoded
                    if encoding == "x509_asn":
                        if trust is True or purpose.oid in trust:
                            certs.extend(cert)
        except PermissionError:
            warnings.warn("unable to enumerate Windows certificate store")
        if certs:
            self.load_verify_locations(cadata=certs)
        return certs

and that worked. Thanks, I appreciate the info anyway, and that you took the time to reply :)


For Gov2 indexing: count vs. positional in cmdline args

For the Gov2 indexing class, we should probably add an option to force the user to specify whether they want count or positional index, as to reduce confusion?

See discussion in https://github.com/lintool/Anserini/issues/9