verify_connectivity() doesn't always catch errors

In the LangChain integration, we use the following block of code:
 try:
      self._driver.verify_connectivity()
except neo4j.exceptions.ServiceUnavailable:
    raise ValueError(
        "Could not connect to Neo4j database. "
        "Please ensure that the url is correct"
    )
except neo4j.exceptions.AuthError:
    raise ValueError(
        "Could not connect to Neo4j database. "
        "Please ensure that the username and password are correct"
    )
# Set schema
try:
    self.refresh_schema() # Does read transactions
except neo4j.exceptions.ClientError:
    raise ValueError(
        "Could not use APOC procedures. "
        "Please ensure the APOC plugin is installed in Neo4j and that "
        "'apoc.meta.data()' is allowed in Neo4j configuration "
    )

Every now and then it happens that the verify_connectivity doesn't catch any error, and the error only appears when we actually do read transactions in the refresh_schema method. This is a bit confusing for the users, but I can't give you a reproducible example when does this happen

Here is one example of an error that isn't being caught:
 ClientError: {code: Neo.ClientError.Database.DatabaseNotFound} {message: Unable to get a routing table for database 'neo4j' because this database does not exist}

Thank you for reaching out!
As a primer: there's a discussion to be had about which exact connectivity this function should verify. Here are some options:

Just the TCP connection to the server/cluster
To the DBMS itself
To the user space (login and such)
To a database hosted on the DBMS. In this case: which one? The user's home databse? The always existing system database? Another one?

Currently, it does the latter option: it tries to connect to the user's home databse.
Therefore, I'm actually surprised that Neo.ClientError.Database.DatabaseNotFound does not get raised. I couldn't reproduce it either. Using

neo4j v5.15 (dockerized)
Python v3.11
neo4j Python driver from 5.x (think dev) branch, pretty much identical to v5.17

I spin up a fresh DBMS, run DROP DATABASE neo4j, and then
import asyncio

import neo4j
from neo4j.debug import watch

watch("neo4j")  # driver debug logging

URL = "neo4j://localhost:7687"
AUTH = ("neo4j", "pass")

async def main() -> None:
  async with neo4j.AsyncGraphDatabase.driver(URL, auth=AUTH) as driver:
      await driver.verify_connectivity()

if __name__ == '__main__':
  asyncio.run(main())

The fact that this is async, doesn't change a thing regarding the handling of server errors.

And here's the output of that
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,715  [#0000]  _: <POOL> created, routing address IPv4Address(('localhost', 7687))
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,715  [#0000]  _: <WORKSPACE> resolve home database
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,716  [#0000]  _: <POOL> attempting to update routing table from IPv4Address(('localhost', 7687))
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,716  [#0000]  _: <RESOLVE> in: localhost:7687
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,720  [#0000]  _: <RESOLVE> dns resolver out: <IP_ADDRESS>:7687
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,720  [#0000]  _: <POOL> _acquire router connection, database=None, address=ResolvedIPv4Address(('<IP_ADDRESS>', 7687))
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,720  [#0000]  _: <POOL> trying to hand out new connection
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,720  [#0000]  C: <OPEN> <IP_ADDRESS>:7687
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,726  [#D8E0]  C: <MAGIC> 0x6060B017
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,726  [#D8E0]  C: <HANDSHAKE> 0x00040405 0x00020404 0x00000104 0x00000003
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,728  [#D8E0]  S: <HANDSHAKE> 0x00000405
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,728  [#D8E0]  C: HELLO {'user_agent': 'neo4j-python/5.17.dev0 Python/3.11.6-final-0 (linux)', 'routing': {'address': 'localhost:7687'}, 'bolt_agent': {'product': 'neo4j-python/5.17.dev0', 'platform': 'Linux 5.15.0-94-generic; x86_64', 'language': 'Python/3.11.6-final-0', 'language_details': 'CPython; 3.11.6-final-0 (main, Oct  4 2023 09:29:57) [GCC 11.4.0]'}}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,728  [#D8E0]  _: <CONNECTION> client state: CONNECTED > AUTHENTICATION
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,728  [#D8E0]  C: LOGON {'scheme': 'basic', 'principal': 'neo4j', 'credentials': '*******'}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,728  [#D8E0]  _: <CONNECTION> client state: AUTHENTICATION > READY
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,731  [#D8E0]  S: SUCCESS {'server': 'Neo4j/5.15.0', 'connection_id': 'bolt-34', 'hints': {'connection.recv_timeout_seconds': 120, 'telemetry.enabled': True}}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,731  [#D8E0]  _: <CONNECTION> server state: CONNECTED > AUTHENTICATION
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,733  [#D8E0]  S: SUCCESS {}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,733  [#D8E0]  _: <CONNECTION> server state: AUTHENTICATION > READY
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,733  [#D8E0]  C: ROUTE {'address': 'localhost:7687'} () {}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,735  [#D8E0]  S: FAILURE {'code': 'Neo.ClientError.Database.DatabaseNotFound', 'message': "Unable to get a routing table for database 'neo4j' because this database does not exist"}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,735  [#D8E0]  C: RESET
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,737  [#D8E0]  S: SUCCESS {}
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,737  [#D8E0]  _: <CONNECTION> server state: FAILED > READY
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,737  [#D8E0]  _: <POOL> released bolt-34
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,738  [#0000]  _: <POOL> close
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,738  [#D8E0]  C: GOODBYE
[DEBUG   ] [Thread<PHONE_NUMBER>95232] [Task<PHONE_NUMBER>31952] 2024-02-08 09:11:09,739  [#D8E0]  C: <CLOSE>
Traceback (most recent call last):
  File "/home/rouven/.config/JetBrains/PyCharm2023.2/scratches/scratch_38.py", line 33, in <module>
    asyncio.run(main())
  File "/home/rouven/.pyenv/versions/3.11.6/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/home/rouven/.pyenv/versions/3.11.6/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/.pyenv/versions/3.11.6/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/rouven/.config/JetBrains/PyCharm2023.2/scratches/scratch_38.py", line 15, in main
    await driver.verify_connectivity()
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/driver.py", line 1008, in verify_connectivity
    await self._get_server_info(session_config)
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/driver.py", line 1219, in _get_server_info
    return await session._get_server_info()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/work/session.py", line 172, in _get_server_info
    await self._connect(READ_ACCESS, liveness_check_timeout=0)
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/work/session.py", line 130, in _connect
    await super()._connect(
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/work/workspace.py", line 161, in _connect
    await self._pool.update_routing_table(
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_pool.py", line 779, in update_routing_table
    if await self._update_routing_table_from(
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_pool.py", line 725, in _update_routing_table_from
    new_routing_table = await self.fetch_routing_table(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_pool.py", line 662, in fetch_routing_table
    new_routing_info = await self.fetch_routing_info(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_pool.py", line 632, in fetch_routing_info
    routing_table = await cx.route(
                    ^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_bolt5.py", line 196, in route
    await self.fetch_all()
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_bolt.py", line 863, in fetch_all
    detail_delta, summary_delta = await self.fetch_message()
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_bolt.py", line 849, in fetch_message
    res = await self._process_message(tag, fields)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_bolt5.py", line 369, in _process_message
    await response.on_failure(summary_metadata or {})
  File "/home/rouven/Neo4j/code/neo4j-python-driver/src/neo4j/_async/io/_common.py", line 245, in on_failure
    raise Neo4jError.hydrate(**metadata)
neo4j.exceptions.ClientError: {code: Neo.ClientError.Database.DatabaseNotFound} {message: Unable to get a routing table for database 'neo4j' because this database does not exist}

Process finished with exit code 1

The important bit: I do get
```
neo4j.exceptions.ClientError: {code: Neo.ClientError.Database.DatabaseNotFound} {message: Unable to get a routing table for database 'neo4j' because this database does not exist}
```
Could you please help me reproduce the issue where verify_connectivity() does not catch trying to connect to a database that doesn't exist? Or any other error you think it should catch.

Here is the full traceback, not sure if it is helpful as that's the error from refresh_schema and not the connectivity method.
---------------------------------------------------------------------------
ClientError                               Traceback (most recent call last)
File ~/.local/lib/python3.10/site-packages/langchain/graphs/neo4j_graph.py:65, in Neo4jGraph.__init__(self, url, username, password, database)
     64 try:
---> 65     self.refresh_schema()
     66 except neo4j.exceptions.ClientError:

File ~/.local/lib/python3.10/site-packages/langchain/graphs/neo4j_graph.py:88, in Neo4jGraph.refresh_schema(self)
     85 """
     86 Refreshes the Neo4j graph schema information.
     87 """
---> 88 node_properties = [el["output"] for el in self.query(node_properties_query)]
     89 rel_properties = [el["output"] for el in self.query(rel_properties_query)]

File ~/.local/lib/python3.10/site-packages/langchain/graphs/neo4j_graph.py:79, in Neo4jGraph.query(self, query, params)
     78 try:
---> 79     data = session.run(query, params)
     80     return [r.data() for r in data]

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/work/session.py:302, in Session.run(self, query, parameters, **kwargs)
    301 if not self._connection:
--> 302     self._connect(self._config.default_access_mode)
    303     assert self._connection is not None

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/work/session.py:130, in Session._connect(self, access_mode, **acquire_kwargs)
    129 try:
--> 130     super()._connect(
    131         access_mode, auth=self._config.auth, **acquire_kwargs
    132     )
    133 except asyncio.CancelledError:

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/work/workspace.py:178, in Workspace._connect(self, access_mode, auth, **acquire_kwargs)
    177 acquire_kwargs_.update(acquire_kwargs)
--> 178 self._connection = self._pool.acquire(**acquire_kwargs_)
    179 self._connection_access_mode = access_mode

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:912, in Neo4jPool.acquire(self, access_mode, timeout, database, bookmarks, auth, liveness_check_timeout)
    910 log.debug("[#0000]  _: <POOL> acquire routing connection, "
    911           "access_mode=%r, database=%r", access_mode, database)
--> 912 self.ensure_routing_table_is_fresh(
    913     access_mode=access_mode, database=database,
    914     imp_user=None, bookmarks=bookmarks, auth=auth,
    915     acquisition_timeout=timeout
    916 )
    918 while True:

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:854, in Neo4jPool.ensure_routing_table_is_fresh(self, access_mode, database, imp_user, bookmarks, auth, acquisition_timeout, database_callback)
    852     return False
--> 854 self.update_routing_table(
    855     database=database, imp_user=imp_user, bookmarks=bookmarks,
    856     auth=auth, acquisition_timeout=acquisition_timeout,
    857     database_callback=database_callback
    858 )
    859 self.update_connection_pool(database=database)

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:776, in Neo4jPool.update_routing_table(self, database, imp_user, bookmarks, auth, acquisition_timeout, database_callback)
    774 if prefer_initial_routing_address:
    775     # TODO: Test this state
--> 776     if self._update_routing_table_from(
    777         self.address, database=database,
    778         imp_user=imp_user, bookmarks=bookmarks, auth=auth,
    779         acquisition_timeout=acquisition_timeout,
    780         database_callback=database_callback
    781     ):
    782         # Why is only the first initial routing address used?
    783         return

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:722, in Neo4jPool._update_routing_table_from(self, database, imp_user, bookmarks, auth, acquisition_timeout, database_callback, *routers)
    719 for address in NetworkUtil.resolve_address(
    720     router, resolver=self.pool_config.resolver
    721 ):
--> 722     new_routing_table = self.fetch_routing_table(
    723         address=address, acquisition_timeout=acquisition_timeout,
    724         database=database, imp_user=imp_user, bookmarks=bookmarks,
    725         auth=auth
    726     )
    727     if new_routing_table is not None:

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:659, in Neo4jPool.fetch_routing_table(self, address, acquisition_timeout, database, imp_user, bookmarks, auth)
    658 try:
--> 659     new_routing_info = self.fetch_routing_info(
    660         address, database, imp_user, bookmarks, auth,
    661         acquisition_timeout
    662     )
    663 except Neo4jError as e:
    664     # checks if the code is an error that is caused by the client. In
    665     # this case there is no sense in trying to fetch a RT from another
    666     # router. Hence, the driver should fail fast during discovery.

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_pool.py:629, in Neo4jPool.fetch_routing_info(self, address, database, imp_user, bookmarks, auth, acquisition_timeout)
    628 try:
--> 629     routing_table = cx.route(
    630         database=database or self.workspace_config.database,
    631         imp_user=imp_user or self.workspace_config.impersonated_user,
    632         bookmarks=bookmarks
    633     )
    634 finally:

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_bolt4.py:534, in Bolt4x4.route(self, database, imp_user, bookmarks, dehydration_hooks, hydration_hooks)
    533 self.send_all()
--> 534 self.fetch_all()
    535 return [metadata.get("rt")]

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_bolt.py:863, in Bolt.fetch_all(self)
    862 while not response.complete:
--> 863     detail_delta, summary_delta = self.fetch_message()
    864     detail_count += detail_delta

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_bolt.py:849, in Bolt.fetch_message(self)
    846 tag, fields = self.inbox.pop(
    847     hydration_hooks=self.responses[0].hydration_hooks
    848 )
--> 849 res = self._process_message(tag, fields)
    850 self.idle_since = monotonic()

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_bolt4.py:368, in Bolt4x0._process_message(self, tag, fields)
    367 try:
--> 368     response.on_failure(summary_metadata or {})
    369 except (ServiceUnavailable, DatabaseUnavailable):

File ~/anaconda3/envs/python3/lib/python3.10/site-packages/neo4j/_sync/io/_common.py:245, in Response.on_failure(self, metadata)
    244 Util.callback(handler)
--> 245 raise Neo4jError.hydrate(**metadata)

ClientError: {code: Neo.ClientError.Database.DatabaseNotFound} {message: Unable to get a routing table for database 'neo4j' because this database does not exist}

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
Cell In[71], line 3
      1 from langchain.graphs import Neo4jGraph
----> 3 graph = Neo4jGraph(
      4     url=NEO4J_URI,
      5     username=NEO4J_USERNAME,
      6     password=NEO4J_PASSWORD
      7 )

File ~/.local/lib/python3.10/site-packages/langchain/graphs/neo4j_graph.py:67, in Neo4jGraph.__init__(self, url, username, password, database)
     65     self.refresh_schema()
     66 except neo4j.exceptions.ClientError:
---> 67     raise ValueError(
     68         "Could not use APOC procedures. "
     69         "Please ensure the APOC plugin is installed in Neo4j and that "
     70         "'apoc.meta.data()' is allowed in Neo4j configuration "
     71     )

ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that 'apoc.meta.data()' is allowed in Neo4j configuration

This is quite interesting. It also seems you can reproduce the error. Could you please enable debug logging in the driver and post the full logs (including the passing verify_connectivity() call)? See the docs on how to enable it.

@tomasonjo gentle reminder, can you please provide the driver debug logs to enable me to further investigate the issue? Or better yet, help we reproduce the issue. What exactly did you do to trigger it?

Hey @robsdedude . I couldn't reproduce it locally, I just got a full debug from the user who reported the issue. Could it be something with firewall permissions, since they were at a customer with strict security?

The only think I could imagine is something along the lines of the user running multiple DBMSs and having a single DNS entry point at both (or a disjoint/misconfigured cluster or something like it) so that it's up to chance whether the driver succeeds or fails. I definitely need mor information do be able to make a call if this is really a driver bug or if this is expected behavior and the problem lies somewhere else.

As written, I'm afraid I won't be able to dig further into the issue without extra info. Therefore, I'll close the issue. We can always reopen later if new information is available.


[Question] Addon compat

Does this have support for the other Origins datapack addons?

This does not have support for other Origins addons, this datapack is simply a recreation using vanilla functions. Other Origins datapack addons still require the mod to properly function.


Update mikailalejandro.html

@mgalejandro it looks like you copied the HTML from your rendered HTML file into your .jade file. Jade files are a markup language that gets converted into the final HTML, so you need to get the original jade file and modify it as desired.


Enable running automated tests against FPGA target

Currently, many automated tests are able to automatically run against either the emulator or the hardware model. It would be nice to add another target to test against hardware (FPGA). This could send the test program over the serial port and read the response on the console via the serial_boot command.

There's no way to remotely reset the board currently.
Serial_boot never exits once it goes into console mode. Could modify to have another mode.

A few ideas:

Related to issue #71, could have the mechanism that halts the test perform a reboot of the processor. This would require the register to connect to the reset line. If a test hung, it couldn't be recovered, but in the passing case, the device would be ready to load the next test.
Have serial boot exit when it receives ^D character in terminal.

Next steps:

Create a module that uses virtual JTAG and can reset the processor (this can be ORed with the hardware button)
Add support to test harness to invoke Altera tools to reset board with virtual JTAG
Make serial_loader exit console mode when it receives ^D
Modify standard library to send a ^D out the serial port when it exits.

This is now functional, but requires manually pressing the reset button every time. Need to hook up virtual JTAG reset.


[release/1.5] Output a warning for label image labels instead of erroring

This patch seems to needed to fix https://github.com/kubernetes-sigs/kind/issues/2518.
Backporting from https://github.com/containerd/containerd/pull/6124 (fixes https://github.com/containerd/containerd/issues/6123).
This change ignore errors during container runtime due to large
image labels and instead outputs warning. This is necessary as certain
image building tools like buildpacks may have large labels in the images
which need not be passed to the container.
Signed-off-by: Sambhav Kothari<EMAIL_ADDRESS>(cherry picked from commit 2a8dac12a7629c1c9f1be66c40e6cd5d25d9c70b)
Signed-off-by: Kohei Tokunaga<EMAIL_ADDRESS>

/cc


Remove QFunc

Context:
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues:

duplicate


add eBPF_FUSE to /lmp/eBPF_Supermarket/Filesystem_Subsystem

/lmp/eBPF_Supermarket/Filesystem_Subsystem/eBPF_FUSE consists of two folders: "docs" and "code." The "docs" folder provides relevant materials on the ExtFUSE framework and the SandFS framework. The "code" folder contains a user-space file system implementation based on FUSE called "fusedemo," along with its related materials and usage instructions.

@13186379707 有构件失败哈，看一下

师兄，通过了

LGTM


The bar chart initially displays an incorrect condition color

Version where bug was found:
5.1.5
Describe the bug
The bar chart initially displays incorrect condition color.
To Reproduce
Steps to reproduce the behavior:

Go to https://upgrade.qa-cli.com/home.
Click on the "LiveHint AI - Tutorbot vs. Static Hints" experiment.
Click on the "Data" tab.
Observe that the bar chart displays an incorrect color for a few seconds.

Expected behavior
The bar chart should display the correct condition color to avoid confusion.
Screenshots
https://github.com/CarnegieLearningWeb/UpGrade/assets/90279765/370b9ffe-df64-4eb2-b01c-91c615a62ab6

It seems the issue still exists when I tried it with the "LiveHintAI - MATHStream QA" experiment. Sometimes, it displays the correct condition color, but not always. Here’s the video I recorded today:
https://github.com/user-attachments/assets/67a69afd-69c2-48c0-9ea7-a1f5b2f059d3

Sorry, I tested it on Staging by mistake. It seems to work fine on the latest dev branch when I tested it locally.

QA: Passed


Fix ORTModel MRO for whisper

As per title, fixes https://github.com/huggingface/optimum/issues/905, https://github.com/huggingface/optimum/issues/906
This bug is introduced by https://github.com/huggingface/transformers/pull/21252 that moves generate() implementation in WhisperForConditionalGeneration, hence breaking the inheritance order in transformers.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Add example of runtime gateway configuration

Add an example of gateway configuration with customizing Envoy runtime.

@mandarjog: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
6d7e77b99d8330d6de2fc8a850543f9066c867df
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mandarjog: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
6d7e77b99d8330d6de2fc8a850543f9066c867df
link
/test lint_istio

integ-multicluster-k8s-tests_istio
6d7e77b99d8330d6de2fc8a850543f9066c867df
link
/test integ-multicluster-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Bye Bye GPUImage - Apple is Deprecating OpenGL ES

Source: https://developer.apple.com/ios/whats-new/
Deprecation of OpenGL ES
Apps built using OpenGL ES will continue to run in iOS 12, but Open GL ES is deprecated in iOS 12. Games and graphics-intensive apps that previously used OpenGL ES should now adopt Metal.
Metal is designed from the ground up to provide the best access to the modern GPUs on iOS, macOS, and tvOS devices. Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality. Unified support for graphics and compute in Metal lets your apps efficiently utilize the latest rendering techniques. For information about developing apps and games using Metal, see the developer documentation for Metal, Metal Performance Shaders, and MetalKit.

Time for "GPUImage3: Full Metal Jacket"?

@xaphod there is MetalPetal framework that uses Metal for rendering filters. Altho it would be great to revamp GPUImage.

Has anyone tried using Molten for graphics yet? I'm curious what a "GPUImageX" might look like if it was written for Vulkan and used Molten to translate calls to the appropriate graphics API depending on the age and device platform. For example old iOS (OpenGL ES), new iOS (Metal), Linux (Vulkan), or Windows (Direct3D). This would allow Swift programs to work everywhere without sacrificing performance. I'm not sure if this is exactly what Molten delivers though.

@BradLarson do you mean an update regarding a new version of GPUImage, or continuing forward supporting OpenGL?

So this is what I was hinting at:
https://github.com/BradLarson/GPUImage3
I'm working with Janie Clayton to translate all of GPUImage 2 to Metal, building it as an OpenGL-free project to avoid deprecation notices but maintaining API compatibility with GPUImage 2. Ideally, the two frameworks will be interchangeable and require no adjustment in code on the application side.
We figured that a separate, but parallel, version of the framework would be the best way to handle this so that those who need OpenGL (ES) can continue to use this and those who want to transition to Metal can use GPUImage 3 with minimal effort on the developer side.

@BradLarson you just made my day!

Envisioning a future version of iOS that fully ends support for OpenGL, this creates 3 classes of devices:

those that support only OpenGL (old iOS version and/or old chipset)
those that support either OpenGL or Metal
those that only support Metal

Is the idea that a single app can link to both libraries and use GPUImage3 when possible or GPUImage2 as a fallback, as decided at runtime? Or would the developer need to release two versions of the app that link either to GPUImage2 or GPUImage3 and then rely on the App Store to distribute them correctly?

@mblaughton - The case of supporting either is something we're debating right now. We want to have a pure Metal version of the framework, to avoid OpenGL deprecation warnings and errors. We also want to support OpenGL for those who need it. Having both in one version of the framework probably isn't going to be practical, due to the internal architecture differences between the two rendering APIs.
One possible way of handling this would be to give the modules different names ("GPUImage" and "GPUImage3", for example). A runtime check could be performed for Metal device support in GPUImage3, and based on that the application could use two different paths for rendering, relying on module namespaces. For example, GPUImage.Camera or GPUImage3.Camera instead of Camera.
For now, we figure that people who want backwards compatibility will stick with GPUImage 2 and OpenGL (ES) and those who want a pure Metal solution will jump to GPUImage 3. We'll have to see where any performance or capability advantages are in the Metal version to see if it's worth it to use Metal where you can and OpenGL for the rest. This will require some experimentation.

Very happy to hear this.
Your support is very much appreciated as always.
Does this mean that for GPUImage3 we will write our shaders/filters directly in Metal / CIFilter etc.. ? No GLSL i guess?
I read Molten SDK has a translator from GLSL to Metal. Anyways... i think we all should start learning Metal from scratch.
On Jul 13, 2018, 14:27 -0500, Josh Bernfeld<EMAIL_ADDRESS>wrote:

Wow @BradLarson @RedQueenCoder very impressive!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@omarojo - Yes, the shaders will be in .metal files using the Metal Shading Language. Some of the operations may also have parallel paths that can use built-in Metal Performance Shaders, as available.
Rather than using machine translation, we'll be rewriting these by hand to craft them to be readable and well-organized. Things like uniforms and varyings have completely different forms in OpenGL and Metal, so I think it's best to rewrite to fit a native style. Hopefully, the project will serve as a useful public comparison of common OpenGL shaders vs. their Metal equivalents. A public repository of shaders can be handy by itself.


Disable profile at Woodhill

Context

Does this issue have a Jira ticket?

No

If this is an issue, do we have steps to reproduce?

Intent

What changes are introduced by this PR that correspond to the above ticket?

Disable profile at Woodhill

Would this PR benefit from screenshots?

No
Considerations

Is there any additional information that would help when reviewing this PR?

Are there any steps required when merging/deploying this PR?

Checklist

[X] This PR contains only changes related to the above ticket
[ ] Tests have been added/updated to cover the change
[ ] Documentation has been updated where appropriate
[ ] Tested in Development

Not required


Composed classes as lists

Feature request
Rather than exporting composed classes as space separated strings, export them as list of strings.
Motivations
.foo { }

.bar {
  composes: foo;
}

When applying classes directly to DOM elements via $el.classList.add (et al), space separated tokens cause a runtime error:
import classes from './styles.module.css';
$el.classList.add(classes.bar);
>> "VM377:1 Uncaught InvalidCharacterError: Failed to execute 'add' on 'DOMTokenList': The token provided ('foo bar') contains HTML space characters, which are not valid in tokens"

This makes development tricky as, from the current type information, it is impossible to know whether or not the classes are composed or not.
Alternatives
I have written a custom transformer to generate types like this:
// styles.module.css.d.ts
declare const styles: {
  foo: string;
  bar: {
    split (sep: ' ') => string[];
  }
}
export default styles;

but this is a bit clunky.
The current 'safe' workaround is to do something like this:
import classes from './styles.module.css';
$el.classList.add(...classes.bar.split(' '));

which is also not particularly ideal.
Additional context
No response
Bugs are expected to be fixed by those affected by it

[X] I'm interested in working on this issue

Compensating engineering work financially will speed up resolution

[ ] I'm willing to offer financial support

I recommend proposing this feature to the CSS Modules specification instead: https://github.com/css-modules/css-modules
The goal of this package is to fix CSS Modules in Vite, staying aligned with the spec. As such, it's not intended as a platform for unrelated or arbitrary feature additions.

I wasn't sure on this - after all, the spec is rather light on the expected output format, that are configurable in postcss, lightningcss and others - such as how the classes are exported (named or default) and whether or not the casing is changed.
However, I can at least raise an issue suggesting that it be mentioned as an option.


Relaxed epsp_wrap constructor.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.22%. Comparing base (1bfc8f6) to head (d4cf75b).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #137   +/-   ##
=======================================
  Coverage   89.22%   89.22%
=======================================
  Files          96       96
  Lines       10361    10361
=======================================
  Hits         9245     9245
  Misses       1116     1116

Files
Coverage Δ

include/async_mqtt/broker/endpoint_variant.hpp
98.33% <100.00%> (ø)


Support Riemann sink

We'd like to stream our metrics to a Riemann instance before sending them to influxdb. I'm working on a sink to support this.

+1. I have been experimenting with Bosun as well.
On Mon, May 18, 2015 at 4:34 PM, Jack Foy<EMAIL_ADDRESS>wrote:

We'd like to stream our metrics to a Riemann instance http://riemann.io/
before sending them to influxdb. I'm working on a sink to support this.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/heapster/issues/293.

we also need it

+1

+1

Support for Riemann is now available on HEAD.

Riemann
This sink supports metrics only. To use the reimann sink add the following flag:
--sink="riemann:<RIEMANN_SERVER_URL>[?]"
The following options are available:
ttl - TTL for writes to Riemann. Default: 60 seconds
state - FIXME. Default: ""
tags - FIXME. Default. none
storeEvents - Control storage of events. Default: true

According to https://github.com/kubernetes/heapster/blob/master/docs/sink-owners.md we are going to remove support for Riemann unless we will find owners for it.
cc @DirectXMan12 @jsoriano

@piosz @mcorbin and I are going to own the Riemann sink.


No gcc

First of many.

Hi! This is the friendly conda-forge-admin automated user.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


AttributeError: module 'copy' has no attribute 'copy'

Hi,
The deneme.py file is just

import markdown

When I run this file, I get the following errors.

Traceback (most recent call last):
File "C:/Users/ahmetanbar/Desktop/deneme.py", line 1, in
import markdown
File "C:\Program Files\Python37\lib\site-packages\markdown_init_.py", line 25, in
from .core import Markdown, markdown, markdownFromFile
File "C:\Program Files\Python37\lib\site-packages\markdown\core.py", line 29, in
import pkg_resources
File "C:\Program Files\Python37\lib\site-packages\pkg_resources_init_.py", line 84, in
import('pkg_resources.extern.packaging.requirements')
File "C:\Program Files\Python37\lib\site-packages\pkg_resources_vendor\packaging\requirements.py", line 9, in
from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 668, in _load_unlocked
File "", line 638, in load_backward_compatible
File "C:\Program Files\Python37\lib\site-packages\pkg_resources\extern_init.py", line 43, in load_module
import(extant)
File "C:\Program Files\Python37\lib\site-packages\pkg_resources_vendor\pyparsing.py", line 4761, in
_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]"
File "C:\Program Files\Python37\lib\site-packages\pkg_resources_vendor\pyparsing.py", line 1224, in setResultsName
newself = self.copy()
File "C:\Program Files\Python37\lib\site-packages\pkg_resources_vendor\pyparsing.py", line 1183, in copy
cpy = copy.copy( self )
AttributeError: module 'copy' has no attribute 'copy'

My env:
Python 3.7
Windows 10
PyCharm
I also try to run on terminal, but I got the same result.

Solved. Don't have a file with name copy.py on the same directory.


Publish to Docker Hub + update README?

With 0.74's support for custom resource types this would make this resource a lot easier to use. Similar format as the PivNet resource is a good trend to follow imo.

We have just finished building a concourse pipeline to manage the versions and run tests, at the Dockerhub level.  Will update README once we get an official build out the door.

Thanks!

Done (btw)
https://hub.docker.com/r/cfcommunity/slack-notification-resource/
The latest tag gets you latest stable.  Specific tags exist for each releases "version", and edge is there for those who like to live on the bleeding edge (if it breaks you get to keep both pieces)

yaaaay, thanks
On Sun, Mar 20, 2016, 3:48 PM James Hunt<EMAIL_ADDRESS>wrote:

Closed #10
https://github.com/cloudfoundry-community/slack-notification-resource/issues/10
.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry-community/slack-notification-resource/issues/10#event-596505806


Reverse for 'peer_group_list' not found

NetBox version
What version of NetBox are you currently running?
v3.3.3
Describe the bug
<class 'django.urls.exceptions.NoReverseMatch'>
Reverse for 'peer_group_list' not found. 'peer_group_list' is not a valid view function or pattern name.
Python version: 3.8.10
NetBox version: 3.3.3
To Reproduce
Steps to reproduce the behavior:

Go to 'Plugins'
Click on 'Peer Groups'
See error

Thanks in advance for your kind help.
Jeremie

Hi @jeyriku ! What plugin version do you use?

Hi @k01ek,
I use plugin version netbox-bgp  0.8.1
Regards,

Is it new installation of the plugin or you used older plugin version before ?

Hi Nilolay,
Actually, it is a new installation of the plugin.
Thanks again for your help !
Jérémie Rouzet
+33 623701549

De : Nikolay Yuzefovich @.>
Répondre à : k01ek/netbox-bgp @.>
Date : vendredi 13 janvier 2023 à 08:17
À : k01ek/netbox-bgp @.>
Cc : Jeremie Rouzet @.>, Mention @.***>
Objet : Re: [k01ek/netbox-bgp] Reverse for 'peer_group_list' not found (Issue #109)
Is it new installation of the plugin or you used older plugin version before ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Can you provide traceback from logs?


Item name and count display does not always update properly

Describe the bug
Item name and count display does not update when merging with another item entity.
To Reproduce
Steps to reproduce the behavior:

Equip an item in the hotbar
Hit the drop key 2 times

Expected behavior
The label on the dropped items should say 2x [item name].
Actual behavior
It says 1x [item name].

Fixed in 7a28c9b.


Type mismatch in useSharedValueEffect definition

Description
In the documentation the definition of the useSharedValueEffect hook is
useSharedValueEffect(callback: () => void, values: Reanimated.SharedValue<any>[]);
The example right below shows
 useSharedValueEffect(() => {
    x.current = mix(progress.value, 0, 100);
  }, progress); // you can pass other shared values as extra parameters

where progress is a shared value not wrapped into an array.
Moreover, the useSharedValueEffect hook does not accept an array but a comma-seperated listing of shared values. So sharedValue1, sharedValue2, sharedValue3, .. instead of [sharedValue1, sharedValue2, sharedValue3, ..]. IMO it would be cleaner to use the react-like syntax here and accept an array of shared values.
I'd love to take this on, let me know your thoughts on it!

@naraB I will close this issue for now because we think this function may change anyways, so this battle might not be worth it for now. We did update the documentation. If in the near future it looks like this function will still be the main way to connect REA2 and Skia, we will revisit this.
Thank you for bringing this to our attention.


Prisma Error

Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v17.2.0

OS
debian-openssl-1.1.x

Prisma Client
3.12.0

Query Engine
0.1.0

Database
mysql

Logs
ocket timeout (the database failed to respond to a query within the configured timeout — see https://pris.ly/d/mysql-connector for more details.).
    at prismaGraphQLToJSError (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:39674:12)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:41508:17)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:45548:24)
    at PrismaService._request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:46405:18)
    at IntegrationLogsService.handelClosedOrder (/home/ubuntu/cronjobs/src/modules/integration-logs/integration-logs.service.ts:592:21)
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:request_handler Error: Operations timed out after `10s`. Context: Socket timeout (the database failed to respond to a query within the configured timeout — see https://pris.ly/d/mysql-connector for more details.).
    at prismaGraphQLToJSError (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:39674:12)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:41508:17)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:45548:24)
    at PrismaService._request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:46405:18)
    at IntegrationLogsService.handelClosedOrder (/home/ubuntu/cronjobs/src/modules/integration-logs/integration-logs.service.ts:592:21)
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:request_handler Error: Server has closed the connection.
    at prismaGraphQLToJSError (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:39674:12)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:41508:17)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:45548:24)
    at PrismaService._request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:46405:18)
    at IntegrationLogsService.handelClosedOrder (/home/ubuntu/cronjobs/src/modules/integration-logs/integration-logs.service.ts:746:7)
prisma:client:request_handler Error: An operation failed because it depends on one or more records that were required but not found. Record to update not found.
    at prismaGraphQLToJSError (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:39674:12)
    at Object.request (/home/ubuntu/cronjobs/node_modules/@prisma/client/runtime/index.js:41508:17)
    at Object.reques

I have same issue. When using sqlite and batch .update calls, it will show exactly this message: The database failed to respond to a query within the configured timeout — see https://pris.ly/d/sqlite-connector for more details.


Hovered edges won't be cleared when the mouse directly moves out of the canvas

When the mouse moves out from the canvas directly from edge hovered status (e.g., due to an pop-up window). The hovered edges status won't be cleared.

This can also be triggered by, for instance, swiping to another window using four fingers on mac. If the window is returned to while the position of the mouse is moved in the interim, the hovered status will not disappear until the mouse hovers on it again.

@ZhaofengWu  @conglei
i am having issue where outEdge event is not clearing the popup which i call with overEdge event.
But this works for outNode and overNode events.
I also able to see the console.log output inside outEdge event. So the event is called. But its not removing the popup.
Do you have solution for this?
In the image below, "Node details" popup vanishes after moving mouse out of the node, But "Edge details" does not go away after moving mouse out of the edge.
Please find code below. I am using react-sigma package to do this.

`class PopupEdge extends React.Component {
render() {
return (

  Source Node: {this.props.edgeDetail.target.substring(0,this.props.edgeDetail.target.indexOf('.'))}
........
......

);
}
}
class PopupNode extends React.Component {
render() {
return (

 Node : {this.props.nodeDetail.id.substring(0,this.props.nodeDetail.id.indexOf('.'))}
....
....

);
}
}
class SigmaExample extends React.Component {
constructor(props){
super(props);
this.state = {
showEdgeDetailPopup : false,
showNodeDetailPopup: false,
edgeDetail : {},
nodeDetail: {},
}
}
onOverNode = (e) => {
this.setState({
showNodeDetailPopup : true,
nodeDetail : e.data.node,
});
}
onOutNode = (e) => {
this.setState({
showNodeDetailPopup : false,
});
}
onOverEdge = (e) => {
this.setState({
showEdgeDetailPopup : true,
edgeDetail : e.data.edge,
});
}
onOutEdge = (e) => {
console.log("i am outside edge now", e.data.edge.id)
this.setState({
showEdgeDetailPopup : false,
});
}
....
render(): * {
const {
graph,
} = this.props;
return (
  <div>
      <Sigma
        graph={graph}
        renderer="canvas"
        settings={{
          //edge settings
          enableEdgeHovering: true,
           edgeHoverColor: 'default',
          defaultEdgeHoverColor: '#000000',
          edgeHoverSizeRatio: 2,
          edgeHoverExtremities: true,
          edgeHoverPrecision: 0.5,
          ....
        }}

        onOverEdge={this.onOverEdge}
        onOutEdges={this.onOutEdge}
        onOverNode={this.onOverNode}
        onOutNode={this.onOutNode}
      >
        <EdgeShapes />
        <NodeShapes default="diamond" />
        <SigmaAnimate />
      </Sigma>
    </Col>
      {this.state.showEdgeDetailPopup ?
          <PopupEdge edgeDetail = {this.state.edgeDetail}/> :
        null}
      {this.state.showNodeDetailPopup ?
          <PopupNode nodeDetail = {this.state.nodeDetail}/> :
        null}
 </div>
);

}
}`


Add support for zipping the output string

Add support for zipping the output string

zipping will be implemented by consumers outside of this library


Consider rename the data attributes actions

Hello Zeno, nice project :)
This issue is for you to consider renaming the configuration data-attributes for something like data-clipboard-action instead of data-action.
The reason,
In my project (for example) I already use a lot the attribute data-action, this is too generic and most likely to be used by other developers as well, this may conflict with your library.
What you think?

Hey @mauriciosoares,
That's a good point, could you send a PR?

PR created, and tests passing.
You may need to update the GH pages, (or should I update it as well?)
:)

You can send a PR to gh-pages as well, thanks @mauriciosoares!

there you go
https://github.com/zenorocha/clipboard.js/pull/8

Closing this issue as branches are already merged.
Thanks @zenorocha

Thanks @mauriciosoares! I released a minor version with that. Although it breaks semver it's better to break now for 5 people than 100 next week

Agreed.

makes the html5 spec happy too.

😬

:+1:


Changes for dealing with avro serialization of kafka messages

Change KafkaActivity to derive from SimpleActivity for better flow.
I committed a change for another issue in this branch by mistake and had to revert it.

Yup couple things still to do but didnt have time

Figure out how to let users specify key thats parameterized.
Complete documentation.
Address ur concerns above.


Visual Studio Code user interface diagram is not opening(3-exercise-explore-vscode-user-interface.md)

Describe the bug
The user interface of Visual studio code diagram is not opening in M01-install-configure-visual-studio-code
To Reproduce

Go to M01-install-configure-visual-studio-code and open 3-exercise-explore-vscode-user-interface.md
Click on https://github.com/microsoft/studentambassadors/blob/main/Bug-Bash/C%23 Beginner Training/2_LP_AZ_create-run-simple-c-sharp-console-applications/M01-install-configure-visual-studio-code/includes/3-exercise-explore-vscode-user-interface.md
Scroll down to 'Visual Studio Code user interface'
See error
As the diagram is not opening in browser .I tried two different browsers for opening but the problem is still the same. May be there is something faulty in the path of image.

Expected behavior
It should show the user interface of Visual Studio code for better understanding.
Screenshots

Desktop (please complete the following information):

OS: Windows 11
Browser Edge,Opera

🎓 Student Ambassador

@potatooBot not sure what caused the issue but I see the image  - https://github.com/microsoft/studentambassadors/blob/main/Bug-Bash/C%23 Beginner Training/2_LP_AZ_create-run-simple-c-sharp-console-applications/M01-install-configure-visual-studio-code/media/vscode-areas-screenshot.png
I saw it inline in the page too at the link you provided above.  Thanks for all the details.


[REQ] Windows 11 3D emojis

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

What idea do you have?
they made the emojis 3d

sorry roblox is can't support colrv1...

wdym colrv1
I think the font for emoji is called Fluent UI Emoji

ohh gradients, well that sucks...

oh damn

@pizzaboxer  ty. this will probably go no where until Roblox implements roblox logo with gradient as emoji :(


Update DataUseAgreement-v1.5.0.md

@baba196325 please follow the instructions at https://mimic.mit.edu/docs/gettingstarted/ to request access to protected datasets on PhysioNet such as MIMIC.
Briefly, you need to:

Request credentialed access by completing an application at: https://physionet.org/settings/credentialing/
Sign the Data Use Agreement in the "Files" section of the project of interest (e.g. https://physionet.org/content/mimiciii/1.4/).

You are able to view your signed agreements at: https://physionet.org/settings/agreements/


Ensure main is accurately tracking release changes

Reference Issues or PRs
Closes #1912
Closes #1885
Closes #1863

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[x] Other (please describe): Repo clean up

Testing

[ ] Did you test the pull request locally?
[ ] Did you add new tests?

Any other comments?

@iameskild - Several tests are failing, I think we'll need to take a closer look?

@pavithraes I believe the kubernetes test is going to fail regardless because these changes don't account for the JupyterHub upgrade and the deploy uses NEBARI_GH_BRANCH=main which is using the upgrade JupyterHub python app. Checking the workflow logs, we see the JupyterHub API health check fail at the end of the deployment which is expected.
The other CI should all be passing.

Thanks, @iameskild!


save path when canceled

If the user selects Choose Save Location and then cancels, they will not be re-prompted to select a save location after pressing Record Video. Should be fixed so that user is prompted as usual!

should be fixed in https://github.com/WSU-CDSC/wsu-capture/commit/f70f28e6344a1a4c2a6addaa314855af8e0ab5a2 (needs testing in windows, but being optimistic)


Update Arven Scans URL and Name

Source information
Arven Scans 1.4.30
Source language
English
Source new URL
https://vortexscans.com/
Other details
Source changed their name and URL. Old URL redirects to the new site.
New Name - VORTEX SCANS
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I will fill out all of the requested information in this form.

Icons: ic_launcher.zip

No update after a week

Can you please tell me any update..


Plugin installation wizard

I work on fastlane-plugin-changelog and would like to perform a set of actions while this plugin is being installed.
For example check whether CHANGELOG.md file is located in the project directory, if not ask used if he/she wants to generate one etc.
Does the current plugin ecosystem enable to do this? If so, could you please point me to resources? Current documentation covers only the basic stuff.

Hi @pajapro Right now the plugin install doesn't support this. Since they are basically ruby gems, it should be possible in some way to run shell commands during install. Thanks!

Hi @TKBurner, based on your answer:

it should be possible in some way to run shell commands during install.

I looked a bit around and came up with the following solution to implement the "installation wizard". It works, but would you mind having a look at that code anyway to see if this is the right place to do it or it won't potentially impact other parts?

Looks good to me @pajapro! However, this might make it so fastlane has to be attended during run. You should make sure it can run without human attention.
Thanks!

However, this might make it so fastlane has to be attended during run. You should make sure it can run without human attention.

I didn't get that, could you please elaborate on that? How would I ensure that fastlane isn't needed during run?

Hi @pajapro Thanks for following up. This means that you won't be able to add this install step as an automated step. Otherwise should work 100% as expected. Thanks!


Bug: Counter shouldn't fill zeros on new counter datapoints

Case
Counters may be exceptions counters, cache hit/miss counters etc.
For exceptions counters, they should fill zeros.
But for some continuously counters, they shouldn't fill zeros.
What the fixes should be?
Only fill zeros if the history values are not empty and the first value is non-zero.
This mainly fixes the case when new non-exception counters the first time income.
What's the affection on exception counters?
If the exceptions counters enter banshee for the second time in a short time, it will be caught, but the first time will be muted.

https://github.com/eleme/banshee/pull/471


addChildViewController should be called before accessing the child's view

Otherwise the child can't get parentViewController in its viewDidLoad.

@ikesyo very thanks!! 👍


Add support for sending opt-in telemetry data so we can see how Struct is being used

As more people use Struct it would be useful to know how Struct is being used, so we can determine:

[ ] Which features are being used the most, and are of most importance when fixing issues?
[ ] Which features are being used the least, and are of a lower priority to fix?
[ ] Which features aren't being used at all, and could be removed?
[ ] Which features need performance improvements?

This would help us keep the maintenance burden as low as possible, and get an insight into where changes need to be made from the perspective of active users.
If this were to be implemented, the following features would be necessary:

[ ] Ensure all telemetry data is completely anonymous and only consists of metrics, e.g. no target names, configuration settings or any other user content
[ ] Provide the user with the option to inspect the telemetry data before it's sent, so they can choose to abort this at any time
[ ] Provide a location where telemetry data can be inspected and analysed
[ ] Ensure a reasonable data retention limit is set

@jcampbell05 I'd love to get your thoughts on this one.

Sounds good to me 😀 defiantly is hard to choose the trade offs without the dstab


Accessing github registrys with yarn

👋
I've been wrestling for a day or two with trying to build a static webapp using yarn that needs to fetch a package published by another one of my organisation's repos.
I've tried quite a few of the techniques recommended in the related issues (https://github.com/Azure/static-web-apps/issues/44) but the crux seems to be that when the build and deploy stage is executed I can't find a way to avoid getting a 401 response when it fetches the package as part of the yarn install command called when a yarn lockfile is present. I can successfully build the project in a previous step:
      - uses: actions/setup-node@v1
        with:
          node-version: '13.x'
          registry-url: 'https://npm.pkg.github.com'
          scope: '@xxxxxxxxx'
          always-auth: true
      - run: yarn && yarn run build && yarn run export
        env:
          NODE_AUTH_TOKEN: ${{ secrets.PACKAGES_TOKEN }}

but I'm unable to stop yarn install getting called in the subsequent stage. Potential options as I see it are:

Split the build and deploy jobs up so the build step can be ignored
Improve support for accessing github registrys (44 covers similar stuff)
Modify the behaviour of app_build_command to not call yarn install automatically and delegate that responsibility to the person providing the custom build command. This seems like the easiest fix to me but I'll admit I'm very new to all this.

Thanks!

@kichalla do you have any advice on 2?
@henryjcee you can actually avoid the build altogether if you'd like to. If you do the build via the normal Github Action workflow and then set the app_location to be the directory where you expect the content to be, we will treat it like a purely static website and skip the build.

That's very useful to know, I'll give it a go. That should be good enough for my use case plus I imagine quite a few others! Thanks.

Let me know if this doesn't fix your issue; we are continually working to improve our detection and build steps, so we are hoping to avoid this sort of manual setup later on. Thanks for trying out our preview!

Worked well for me and all I'd suggest is to make it more prominent in the docs. Thanks for your help.

cc @craigshoemaker


feat: Populate submission form when submitting an artwork from My Collection

The type of this PR is: Feature

This PR resolves CX-2384
Description
Initializes the submission form (except the location because they have different formats) when the user submits an artwork from My Collection.
Initializing the images will follow in another PR.
https://user-images.githubusercontent.com/4691889/159034938-33f93c3e-b28f-4956-b569-7624aba6e6ca.mp4
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[x] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Initialize submission form fields from My Collection - ole

iOS user-facing changes

Populate submission form when submitting an artwork from My Collection - ole

Android user-facing changes

Dev changes

Let's merge this to be able to get it out of the sprint for next week. @dariakoko @kiryl-zubarau please feel free to review this and we can follow-up on a different PR if anything else needs to be adjusted

👏🏻


Materialize Stream before serialization

This is a workaround for the stackoverflow during the recursive Stream
serialization. Fixes #2036
Signed-off-by: Gera Shegalov<EMAIL_ADDRESS>

Test falls before the PR, succeeds after:
TEST_PARALLEL=1 SPARK_HOME=~/spark-3.1.1-bin-hadoop3.2 \
  integration_tests/run_pyspark_from_build.sh -k test_many_column_project

build

Hi @gerashegalov, could you kindly explain a little bit why using Scala List instead of Seq is a "Materialize"?
Per https://github.com/apache/spark/pull/24865, my understanding is  Seq[Expression] will trigger recursive serialization calls while List[Expression] will serialize 1 by 1. But I still don't have a clear map for them.

@gerashegalov The code change is simple enough. Can you please explain why and how this solves the problem for us laymen? :)

@gerashegalov The code change is simple enough. Can you please explain why and how this solves the problem for us laymen? :)

Seq can be lazy. That means something like
val info = foo.map(a => a + 100)

might not actually execute anything. Instead it stored the function a => a + 100 along with foo inside a new lazy sequence class and will only run when something happens to info. This lets you do some optimizations like if foo is 10,000 elements long
info.head

only needs to process one of those elements.
This becomes a problem when we do serialization though. Apparently Seq in some cases stores data in something similar to a LinkedList that is hidden internally in Seq and is not optimized for java serialization. Because of this java serialization will then recursively call into itself as it serializes this data, one stack frame per item in the list. If the number of entries is long enough we can end up hitting stack limits in the JVM.
If you are passing around a List instead of a Seq internally the data is stored more like an array, or it is at least optimized for java serialization so there far fewer recursive calls during serialization, and we don't have stack limit issues.

@gerashegalov The code change is simple enough. Can you please explain why and how this solves the problem for us laymen? :)

Seq can be lazy. That means something like
val info = foo.map(a => a + 100)

might not actually execute anything. Instead it stored the function a => a + 100 along with foo inside a new lazy sequence class and will only run when something happens to info. This lets you do some optimizations like if foo is 10,000 elements long
info.head

only needs to process one of those elements.
This becomes a problem when we do serialization though. Apparently Seq in some cases stores data in something similar to a LinkedList that is hidden internally in Seq and is not optimized for java serialization. Because of this java serialization will then recursively call into itself as it serializes this data, one stack frame per item in the list. If the number of entries is long enough we can end up hitting stack limits in the JVM.
If you are passing around a List instead of a Seq internally the data is stored more like an array, or it is at least optimized for java serialization so there far fewer recursive calls during serialization, and we don't have stack limit issues.

Thank you very much Bobby! that explains it

@wjxiz1992 @razajafri here is my understanding of the issue
Seq is just a trait with many implementations. List is an implementation of Seq, and so is Stream that unlike conventional  computes elements on demand.
scala> List(1).isInstanceOf[Seq[Int]]
res4: Boolean = true

(1 to 100).isInstanceOf[Seq[Int]]
res6: Boolean = true

stream.map is still lazy ondemand because it just appends another function to apply prior to producing an element as @revans2 explained.
The evaluated prefix of the Stream is represented as a linked list
Prior to this fix in Scala 2,13 the default Java serialization is recursive and once the Stream is long enough exhausts the thread stack size.

build

build

build


Doc fixes2

Changes
minor doc fixes
Related Issues
Closes #526
Checks

[x] updated doc/

I'm fine with leaving U_ out of the documentation for now since it doesn't get any real use so far in user facing code

I guess that is fine. We never use Unit in an example or tutorial.

I really do not understand, why Sphinx cannot find the TimeDependent class in the Time docstring.

Don't know, in that case just double escape it to disable linking and we can look into it another time

merci


Appstudio update test-component-pac-vqgd

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-vqgd-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
52 seconds
build-container

✅ Succeeded
18 seconds
deprecated-base-image-check

✅ Succeeded
16 seconds
sanity-inspect-image

✅ Succeeded
57 seconds
clamav-scan

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
14 seconds
sbom-json-check

✅ Succeeded
7 seconds
sanity-optional-label-check

✅ Succeeded
4 seconds
sanity-label-check

✅ Succeeded
8 seconds
show-summary

Pipelines as Code CI/test-component-pac-vqgd-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
20 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
9 seconds
sanity-inspect-image

✅ Succeeded
10 seconds
clair-scan

✅ Succeeded
13 seconds
deprecated-base-image-check

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
7 seconds
sbom-json-check

✅ Succeeded
6 seconds
sanity-label-check

✅ Succeeded
5 seconds
sanity-optional-label-check

✅ Succeeded
5 seconds
show-summary


Cant use with GOG Galaxy 'Program data directory is not valid'

Short description of the issue

I tried to install and use it with gog galaxy, I opened the settings and put the installation address of gog galaxy and its programdata too, but it gave an error when I opened Main.
init.lua:10: The path to GOG Galaxy's ProgramData directory is not valid.
client path: C:\Program Files (x86)\GOG Galaxy
program data path: C:\ProgramData\GOG.com\Galaxy
With normal shortcuts worked, with steam i get the error:
init.lua:189: attempt to call method 'endsWith' (a nil value)
Lauhdutin version

3.0.4
Rainmeter version

4.5.18
Windows version

22H2
Error messages

init.lua:10: The path to GOG Galaxy's ProgramData directory is not valid.
Steps to reproduce the issue

Put 'Lauhdutin.-.3.0.4' in skins folder, reload rainmeter, open settings and put path to gog galaxy program folder, enable it, save, open main, error.

Hi, this Rainmeter skin has been abandoned since 2018. I suggest you to change to another skin or program (Playnite for example)


Persistent store and Virtual ID support.

Eventually, in order to support rebalancing, Swarm will need to store the requested state in a persistent way.
Also, rebalancing containers will require them to be re-created on a different node, resulting in a different container ID.
In order to keep IDs consistent across node moves, Swarm will generate a "Virtual ID" that is exposed through the API and guaranteed to never change.
The API takes care of remapping the Virtual ID back into the ID.

I'm closing this one for now.


[scenic] Remove dead view_manager ref

Description
Fuchsia doesn't use view_manager anymore, so remove this from the CMX template
Related Issues
N/A
Tests
N/A, no behavior change
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

Thanks for the review; I'msorry about that!  The change seemed so safe that I figured I could just merge it this time.


detect email and contact information abnormalities

Detect if email for company is suspicious. Eg. uses a gmail or yahoo etc instead of a company domain. Also detect if the string before the email seems suspicious. May be good to combine this with ai.

First iteration of detecting oddities in email and phone number detected


Save and reuse private key, if none is specified

That way, starting and re-running the node doesn't cycle your node ID. First mentioned in #15

We do have the --unsafe-private-key flag which one can already use to avoid this. But, I guess you'd like to see this as the default behavior? There are instances when I do prefer random, cycled node IDs. Mostly when running quick & dirty tests with multiple local nodes running. Any thoughts as to how you could implement this in a way that still allows somebody to run multiple local nodes?

There are instances when I do prefer random, cycled node IDs. Mostly when running quick & dirty tests with multiple local nodes running. Any thoughts as to how you could implement this in a way that still allows somebody to run multiple local nodes?

Yeah, I liked ddhts solution of adding an --ephemeral flag, which did a bunch of things like cycling keys, using a temporary data directory, etc.

Resolved by #621


Add update permission for secrets

This allows the deployer to update the alertmanager config secret when pagerduty or deadmans snitch secret is updated
Signed-off-by: kesavan<EMAIL_ADDRESS>

@JohnStrunk Please merge


Ubuntu 12.04: "You don't seem to have 'make' or 'gmake' in your PATH"

This is more of a documentation suggestion for:
http://phantomjs.org/build.html
For Ubuntu, to clear the error I had to additionally:
sudo apt-get install build-essential
before I could:
./build.sh

build-essential is now mentioned explicitly in the documentation. Thank you!


Improve README and Documentation

The documentation and the README needs a bit of improvement.

Do the promises still work (or only work?) the way as described in the README?
I am using the promises like so that seems to work also:
b2.functionName(payload)
    .then(callback)
    .catch(errorCallback);

Should do, if the promise ever resolves with an error.
The second arg in the .then(arg1, arg1) if a reject is ever called in the promise. It's of course optional.
The .catch() is also a feature of the promise, not something I've added in the README.
Might need a more comprehensive example at the top of the README probably to explain this.

this documentation is very poor. despite my years of using api. i still struggle to get things done. probably drop use case examples


allow disabling syslog via /etc/marathon/conf/?no-logger'

For people using upstart/sysvinit and wish to not have the logs go to syslog, they can drop /etc/marathon/conf/?no-logger on the system without resorting to editing the distributed upstart/sysvinit scripts to pass --no-logger

Hey @cmaloney, can you please have a look?

I really don't know bash. @lingmann?

Hey @lingmann any objections?

@lloesche No answer from @lingmann. Can you have a quick look?

Hi @rboyer thank you for your PR!
I'm wondering, would replacing
"${cmd[@]}" ${@//--no-logger/}

with
"${cmd[@]//--no-logger/}" ${@//--no-logger/}

produce the same result?

No, that results in an extra double-single-quote argument being passed to the script.  There is no way AFAIK to contract an element out of a bash list like this without rebuilding the list.
Example script showing your proposed change:
#!/bin/bash
set -x
echo "extraneous quotes:" "${@//--no-logger}"

Running that results in an extra double-single-quote argument being passed in lieu of the contracted argument.  This is because it shrinks the argument to zero length and then ensures that the correct number of arguments get quote-escaped (and empty strings get escaped as '').
$ bash tester.sh --something --no-logger --else
+ echo 'extraneous quotes:' --something '' --else
extraneous quotes: --something  --else

This is different than what is done to the $@ array:
#!/bin/bash
set -x
echo "no quotes, but no shell-escape safety:" ${@//--no-logger}

Running that results in the argument being contracted as before, but since we don't quote anything the empty string vanishes.  Unfortunately this isn't awesome because it doesn't ensure shell-escaping safety:
+ echo 'no quotes, but no shell-escape safety:' --something --else
no quotes, but no shell-escape safety: --something --else

@rboyer that makes sense, thanks for clarifying.
LGTM


Supporting later versions of JSON Schema

Summary of the new feature / enhancement
Hello!  I'm on the JSON Schema specification team, and I was wondering what drafts are currently supported.  I can see by and example in the docs that draft 7 is supported, but this is now several years old, and two newer versions have been released.
Happy to help if needed!
Proposed technical implementation details (optional)
No response

It also looks like you're using NJsonSchema (backed by Newtonsoft) to support this.  If there's any interest in using System.Text.Json, I'd like to offer my validator JsonSchema.Net as an alternative.  It already supports all the latest drafts and I regularly update it.

If there's any interest in using System.Text.Json

No doubt we would like to migrate to this new API all Json cmdlets in the repository.
If you want you can pull PR to update Test-Json cmdlet. We have some issues opened for Test-Json and if they were fixed, that would be great.

Is there a label for this cmdlet that I can use to search for the issues? I couldn't see one, but there are over 100 labels, so...

Only search
https://github.com/PowerShell/PowerShell/issues?q=is%3Aissue+is%3Aopen+"Test-Json"+label%3AWG-Cmdlets-Utility

Migrating to a different provider just because it currently has more up to date features seems like fools errand - a lot of effort, and later may turn out that yet another one (including our original one) is now updated faster.
It's better to ask our current provider to support newer versions of the schema, and once they do we can just bump the library version. If they are open source, you can open a PR yourself.

Only search https://github.com/PowerShell/PowerShell/issues?q=is%3Aissue+is%3Aopen+"Test-Json"+label%3AWG-Cmdlets-Utility

 GitHub**Issues · PowerShell/PowerShell**PowerShell for every system! Contribute to PowerShell/PowerShell development by creating an account on GitHub.

Hint: adding "in:title" to search usually yields much better results.

@dkaszews I am proposing to use my own validator, and I'm fine with doing the work to move over.
I'm also a member of the JSON Schema core team (as a co-author of the spec), and I'm employed specifically to work with tooling providers, like PowerShell.
I keep my implementation up to date, and I actively develop new features (on an unpublished branch) as we're adding them to the next version of the spec as a platform for viability.  As a result of all of this, my implementation has been the first to publish new JSON Schema features for the past two iterations (at least).
I've had conversations with the owner of NJsonSchema, and while there is an effort to move over, it's been quite slow. I believe my last contact with them was almost a year ago, with no progress for the library in that direction during that time.

@gregsdennis If you're member of the JSON Schema team and provide reference implementations then that is completely different case 🙂

@dkaszews Key here is that NJsonSchema backed by Newtonsoft and JsonSchema.Net is on System.Text.Json - modern implementation (NJsonSchema is frozen project - no new feature, only bug fixes). It is right way for PowerSHell to migrate from NewtonSoft to System.Text.Json.

@iSazonov Thanks for explanation, I was not aware of this. From what I saw, Test-Json can be easily migrated as it pretty much just forwards strings or filenames for JSON and its schema. Other cmdlets might be more difficult, but Test-Json is the only one that uses JSON schema and returns just true or false, so I see no downside in swapping to a better provider immediately.

Other cmdlets might be more difficult

Yes, I pulled two PR (for Test-Json and ConvertTo-Json) but closed them recently (no progress in review). It is impossible to migrate without breaking changes. But the migration is inevitable at some point.


Inconsistent state after rotation

I have a 1 x 8 grid in portrait mode and 2x4 grid in landscape mode.
I have a button in each view in the grid that toggles using @State
I set button 1 and 2 on (it change color to green).
I rotate the simulator to landscape mode. columns are displayed correctly (2 x 4 grid).
but now, buttons 1 and 3 show the green button.
Looks like there's some recycling going on? Each gridview has the state internally.

I think I see the issue.
When counting, the 1-2-3-4 goes left to right (or top to bottom),
when counting in landscape, the first column is counted from top to bottom, instead of a left->right, then next column (sort of zig zag order).

Using environment to store to the state fixed this. I suspect Xcode 12 beta 2 bug now.


[loc][Query] Typo in source text for "Activated because file {0} exists in your workspace"

For string below community member reported possible typo in source? Can you please check? Thanks!
Original comments
FR ISSUE - 'file {0}' should be 'a {0} file'?
by agriffard, 5 months ago
Context
src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor:English (en):plaintext:workspaceContainsFileActivation
Resource
vs_workbench_parts_extensions
String Hash
602ab75a907953691af9591637ec0f3e
String text
Activated because file {0} exists in your workspace

I have pushed a change to clarify the meaning of {0} in the two strings:
title = nls.localize({
	key: 'workspaceContainsGlobActivation',
	comment: [
		'{0} will be a glob pattern'
	]
}, "Activated because a file matching {0} exists in your workspace", fileNameOrGlob);

title = nls.localize({
	key: 'workspaceContainsFileActivation',
	comment: [
		'{0} will be a file name'
	]
}, "Activated because file {0} exists in your workspace", fileNameOrGlob);


401 error when using Mongo

You can reproduce it just by changing the connection from sails-disk to sails-mongo. When trying to log in you get a 401 (Unauthorized). It seems that the variable user is false, but not sure where is the issue.

+1

This is basically fixture problem, mongo doesn't use integer ID's like SQL based databases. So tl:dr when database is initialized created users don't have necessary passport relations attached.

Sorry, I didn't exactly understand. Could you guide a workaround on this?

See fixtures for User and Passport models, especially that Passport fixture, see that it relies to numeric id columns which are not supported by mongo.
So quick fix is to manually alter your mongo db data OR make a PR which fixes this, there is some solutions on barrels repo to make assocs work with fixtures, but basically I haven't had time to make this fix - yet.

By updating it manually works, but of course is not ideal. I tried creating assocs fixtures but it seems that there is a bug with barrels: http://screencast.com/t/YQhoZ5bC. There is an open issue for that:
https://github.com/bredikhin/barrels/issues/31.
I managed it to work by using another lib: pow-mongodb-fixtures. Not ideal cause I had to put all the data in a single file, maybe there is another way to load per file ... It solves the problem temporary, but I'd like to hear what would be the best solution to this.
load-db.js
...
var conn = sails.config.connections.someMongodbServer.database;
var fixtures = require('pow-mongodb-fixtures').connect(conn);

//File (loads content from data.js file)
var dir = '../../test/fixtures/js/';
fixtures.load(dir +'data.js', function(){
    next();
});
...

Yeah, this one needs some serious work. Basically those fixtures should work as the same with any adapter, otherwise those aren't working like those should.
But basically this is only problem when creating new app when there isn't any data on db yet. And if your app is using mongo or something else you propably create fixtures using some specified tool.


MAIN B-19187 remove download button from multi move landing page

INTEGRATION PR
Agility ticket
Summary
We have some future work coming that will determine what the dropdown button displays and its functionality, so until then we will hide this sumbuck using useState. I didn't want to remove it entirely because it WILL be used in the future so, gonna hide it from render and comment out the checks for it in the tests. Lemon squeezy.
How to test

Access MM as customer
Create your desired amount of moves
Make sure the download button is no'mo'

Screenshots

Can I get a Happo check?


Data from Markup

It will be nice to allow data to be populated from existing markup. Say, there is a table with a lot of rows in the markup. Grab the data from the markup and remove it from the DOM tree. Clustrize that table and allow it to render. The page may feel a little slow until it is clustrized, but from there it will be performant again. This will provide a graceful degradation in unsupported browsers/clients. Also, the page will be easy to archive and index in search engines.

I like this idea. Will be implemented shortly.

That was quick! You are awesome. :)
I was also thinking if there will be a good use case where data is fetched from one place in the markup and clusterize somewhere else (or multiple places), but I don't see a compelling use case just yet, so in-place clusterization is good enough for now.


How can I get the purchase status in in_app_purchase?

Hi, everyone,
The problem I currently have is that I want to obtain the status of the purchase of a product through Google Play, since I want to save it in a database, however, when I do the action, regardless of whether I buy or reject I get 'true' as output.
Steps to Reproduce

Buy product from the app, registered on Google Play.
Finalize purchase.

Expected results:
I would like to obtain the result of the purchase, and then store the history of this purchase in the Database.
Actual results:
I click on buy or cancel, and the result is true, so I can't get the purchase status to know if the user bought it or not and save it in the database.
/// Purchase a product
  Future<Null> _buyProduct(ProductDetails prod) async{
    //print(prod.title);
    final PurchaseParam purchaseParam = PurchaseParam(productDetails: prod);
    //_iap.buyNonConsumable(purchaseParam: purchaseParam);
    var x = await _iap.buyConsumable(purchaseParam: purchaseParam, autoConsume: false);
    //print("HOSOSOS $x");
    setState(() {
      text1 = "RESPUESTA: $x";
    });
  }

I hope someone can help me.
Redards.

buyConsumable returns Future, which indicates whether the request was sent successfully or not:
  /// This method does return whether or not the purchase request was initially
  /// sent succesfully.

true returned doesn't mean the product was bought. You need to listen for updates on purchaseUpdatedStream:
  /// This method does not return the result of the purchase. Instead, after
  /// triggering this method, purchase updates will be sent to
  /// [purchaseUpdatedStream]. You should [Stream.listen] to
  /// [purchaseUpdatedStream] to get [PurchaseDetails] objects in different
  /// [PurchaseDetails.status] and update your UI accordingly. When the
  /// [PurchaseDetails.status] is [PurchaseStatus.purchased] or
  /// [PurchaseStatus.error], you should deliver the content or handle the
  /// error, then call [completePurchase] to finish the purchasing process.

This issue looks to be just a misunderstanding of the API. Should we close this ticket?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


medAbstractProcess error names

Currently the error types in medAbstractProcess are:
    enum DataError
    {
        PIXEL_TYPE = 2, //! Pixel type not yet implemented
        DIMENSION_3D,   //! Not a 3D volume
        DIMENSION_4D,   //! Not a 4D volume
        MESH_TYPE,      //! Not a mesh
        DATA_SIZE,      //! Inputs must be the same size
        UNDEFINED,      //! Miscellanous
    };

I don't find these intuitive. When reading:
return medAbstractProcess::DIMENSION_3D;

it is not at all at all clear that this is an error, and that it is related to the data not being a 3D volume.
You need to explicitly state what the error is (things like "divide by zero", "illegal argument", "not a number").
I would go for something like this:
WRONG_PIXEL_TYPE
NOT_A_3D_VOLUME
NOT_A_2D_VOLUME
NOT_A_MESH
MISMATCHED_DATA_SIZES
UNDEFINED_ERROR

(maybe UNSUPPORTED_PIXEL_TYPE is better)

indeed, no problem. Except it would be "NOT_A_4D_VOLUME" :)


GEOMESA-1054 Adding contributing guide

Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

looks good. merging

405d9e3b38e5870647bdbb16474d10d83878261c


External DNS Tests

Proposal: external-dns integration tests
Desc: no provider tests exist (at least I couldn't find them). At the least either a live integration run by rancher or by the end user. Would be nice to run a series of tests for route53 for example, with user provided API IAM creds that will go ahead and setup and tear down a test zone.
Just some food for thought.
I plan on adding a provider, and was just a little taken aback that there no tests.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


Annotate site with tags from schema.org

Are you on this?

yes
On 02/15/2015 12:54 AM, Dan Mindru wrote:

Are you on this?
—
Reply to this email directly or view it on GitHub
https://github.com/fadeit/fadeitdk/issues/23#issuecomment-74397395.

Done. I've tested every single page with this tool https://developers.google.com/structured-data/testing-tool/ and it checks out.

it may take a while for google to pick up the changes though


Provide event iterator

DisplayBuild::poll_events returns a Vec but I think it should be an iterator, ideally an infinite one, see also tomaka/glutin#212.

Are you working on this? I'm thinking of reworking the interaction between glium and its backend, which may solve this.

I have been, but I ran into an issue. Let me open a PR to discuss it…

Wait, if you want to rework it entirely, this is irrelevant.
My attempt to solve this did not work out. I tried to register iterators that own a receiver by creating new channels, but now the context thread has no way of aborting and keeps running in the background. I guess this could still be fixed, but it may not be worth it.

I'm getting many design-related problems when rewriting the backend. I think I'm just going to fix this individual problem and rewrite it later.

Yeah, ok, binding the iterator to the context's lifetime makes this a bit simpler. For some reason I tried to avoid that… Now that I think about there's no really good reason for it though.
Anyway, thanks for fixing this.

Hm… for me the EventIter only receives the first poll before being exhausted. Patch incoming.


Prevent MapReader from attempting to read a file with wrong extension

I was writing a test to ensure that attempting to read a map file with a wrong extension would cause an exception. It currently does not.
Do we want to allow someone to attempt to load a file with MapReader that does not have either a .map or a .op2 extension? I think my answer is this should cause an exception because it is likely an error and should not attempt to parse, but thought I would bring it up.
-Brett

I think we should not rely on the extension in the actual parsing code. This seems like a higher level decision. Forcing it on the parser makes the parsing code more brittle.
Suppose we create an extended map file format some day, with new data, and use a new file extension to distinguish it. We might want to still re-use existing parsing code to parse the common elements.
My thought is, if we pass the parser bad data in a wrong file format, yet have sufficient sanity checks in the parser, we will probably end up with a parsing error anyway. As such, I don't think we need an explicit check on the filename.

To add to that, my advice here it to close this as not a bug (in OP2Utility).
You might consider this as a bug in OP2MapImager, though I don't think it's a bug there either. At any rate, the OP2MapImager would be a more appropriate place for this high level of a concern.

Okay, I agree with this overall and will close the issue. Thanks for the comments.


Microsoft.AzureStackHCI new api version 2020-10-01

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

hi @mbialecka is the change on prod already?

@yungezz No, the new api version endpoints have not been setup in prod yet.

@yungezz Can I have this merged?

/azp run automation - sdk


Add capabilities to locally serve a browser-based UI as front end

Implemented by the following commits:

Added: Containerization of the renderhive service app via Docker. dcd6f4c76084d622328ae231b684b2526f38b02e
Added: Alternative containerization for development. 7b2d5dcd954822d68a42ef1a7adb9d40c264ee3f
Updated: Docker setup to work with development frontend. 837a2a8f338acbed129a2f467e20ee8cbc4c3001
Optimized: Docker containerization. 9c2c04fefcd896470af1944f32c30b4037aafc41


ValueError: group not found at path ''

fs = gcsfs.GCSFileSystem(project='sipn2-pangeo', token='browser', access='read_only')
gcsmap = gcsfs.mapping.GCSMap('sipn-sic', gcs=fs, create=False)

# Open Zarr dataset
ds_gcs = xr.open_zarr(gcsmap)

ds_gcs

Note this dataset cannot yet be made public.
Problem description
I have use the above commands to load this zarr dataset many times, today I get the below error. What "group" is the error message referring to? Also, I can load the local zarr dataset using xarray fine.
ValueError: group not found at path ''
Version and installation information
Please provide the following:

Value of 2.2.0
Value of 0.5.5
Version of Python interpreter 3.6
Operating system (Linux)
How Zarr was installed ("using conda")

Probably the path passed to the mapper should be '/sipn-sic' ?

thanks @martindurant, turns out it was missing some .zattrs files (uploaded ./* files instead of just the zarr dir)


keybinding to activate the extension? or like a dmneu like popup to go to a site?

most importantly a keybinding to open the extension and focus on the extension list would be great but the pop up thing will need much work


The function 'find' exists for struct, but its trait bounds were not satisfied: entity::user::Model: Iterator

This is the error im getting:
error[E0599]: the function or associated item 'find' exists for struct 'entity::user::Model', but its trait bounds were not satisfied
  --> src/main.rs:21:19
   |
21 |     let u = User::find().all(&db);
   |                   ^^^^ function or associated item cannot be called on 'entity::user::Model' due to unsatisfied trait bounds
   |
  ::: /home/me/todos/entity/src/user.rs:6:1
   |
6  | pub struct Model {
   | ---------------- doesn't satisfy 'entity::user::Model: Iterator'
   |
   = note: the following trait bounds were not satisfied:
           'entity::user::Model: Iterator'
           which is required by '&mut entity::user::Model: Iterator'

The code that generates it:
use entity::user;
use sea_orm::Database;
use sea_orm::DatabaseConnection;
use sea_orm::{entity::*};
use sea_orm::prelude::*;
use entity::user::Model as User;

#[actix_web::main]
async fn main() {
    let db: DatabaseConnection = Database::connect("postgresql://dbuser:dbuserpassword@localhost:5432/todos").await.unwrap();
    user::ActiveModel {

        username: Set("User1".to_owned()),
        hashed_password: Set("12345".to_owned()),
        ..Default::default()

    }.save(&db).await.expect("HEEEELP");

    // TODO: Find out why this doesn't work :(
    let u = User::find().all(&db);

    // the function or associated item `find` exists for struct `entity::user::Model`, but its trait bounds were not satisfied
   // the following trait bounds were not satisfied:
   // `entity::user::Model: Iterator`
   // which is required by `&mut entity::user::Model: Iterator`  rustcE0599
   // user.rs(6, 1): doesn't satisfy `entity::user::Model: Iterator`

}

My model:
use sea_orm::prelude::*;
use serde::{Serialize, Deserialize};

#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Deserialize, Serialize)]
#[sea_orm(table_name = "users")]
pub struct Model {
    #[sea_orm(primary_key)]
    #[serde(skip_deserializing)]
    pub id: i32,
    pub username: String,
    pub hashed_password: String,
}

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}

impl ActiveModelBehavior for ActiveModel {}

I realize that this is similar to #533 but the fix provided there didn't work :(
If you need more info, the repo is public at: https://github.com/MagTheDev/actix-todos/tree/master
Thanks

Hey there, just a fellow seaorm user not a maintainer, but find() is an EntityTrait, which Model does not impl. You should use Entity and import the trait. Try changing the import:
use entity::user::Entity as User;

Thanks, this is my first time using seaorm, and I couldn't find anything about this error.

Thank you @aaronleopold


Command not found: AttachFile

When I open RnvimrToggle I get the message
Command not found: AttachFile

Also opening a file in Rnvimr only opens it in the floating window and RnvimrResize gives the error message
Error detected while processing function rnvimr#resize:
line    2:
E5555: API call: Wrong type for argument 1 when calling nvim_win_is_valid, expecting Window

My config
Neovim 0.8.2, Astronvim 2.11.8, Fedora 37
  1 rnvimr: health#rnvimr#check
  2 ========================================================================
  3 ## OS
  4   - OK: Name: Linux
  5
  6 ## Ranger
  7   - OK: Version: ranger 1.9.3
  8
  9 ## Python
 10   - OK: Version: 3.11.1 (main, Jan  6 2023, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)]
 11
 12 ## Pynvim
 13   - OK: Version: 0.4.3
 14
 15 ## Ueberzug (optional)
 16   - WARNING: Ueberzug is not found in Python Lib
 17
 18 ## RPC
 19   - ERROR: RPC: timeout 3s

:echo $NVIM_LISTEN_ADDRESS
/run/user/1000/nvim.191609.0

I would be grateful for any help!

Have you installed pynvim?

Yes, as shown in checkhealth.

Does your py is under sys path? The lib should be the same as your py ENV.

I found the issue. ranger-fm was installed under /usr/lib/python3.11/site-packages/ and pynvim under ~/.local/lib/python3.11/site-packages.
Using pip to uninstall ranger-fm and reinstall in .local fixed it. Now the plugin is working :)
Thanks for the great plugin!