[❗esl-footnote]: remove the possibility to setup esl-note anchor markdown conditionally

As an ESL consumer, I faced a page crash on Chromium-based browsers when the query was equal to the print condition.
From the consumer perspective, there are no other cases of not using anchor mode.
Proposed to remove the anchor condition and have the anchor rendering permanent.
Priority Critical

:tada: This issue has been resolved in version 4.9.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


OFFSET batching strategy should be replaced by a seek strategy

mysql cannot properly optimize for LIMIT ... OFFSET. the query performance will become exponentially worse the further the export progresses.  after a certain threshold mysql has additionally to resort to a filesort based filtering, further impacting the performance. this happens regardless of the defined batch size, but is affecting the performance more for smaller batchsizes (as more queries are run in total):
MariaDB [xxx]> SELECT `s_o`.* FROM `sales_order` AS `s_o` WHERE (s_o.store_id IN ('1', '2') OR s_o.store_id = 0) ORDER BY `s_o`.`entity_id` DESC LIMIT 50 OFFSET 50;
...
50 rows in set (0.003 sec)

MariaDB [xxx]> SELECT `s_o`.* FROM `sales_order` AS `s_o` WHERE (s_o.store_id IN ('1', '2') OR s_o.store_id = 0) ORDER BY `s_o`.`entity_id` DESC LIMIT 50 OFFSET 500000;
...
50 rows in set (4.389 sec)

MariaDB [xxx]> SELECT `s_o`.* FROM `sales_order` AS `s_o` WHERE (s_o.store_id IN ('1', '2') OR s_o.store_id = 0) ORDER BY `s_o`.`entity_id` DESC LIMIT 50 OFFSET 2500000;
...
50 rows in set (10.950 sec)

proposal: use seek strategy
seeking by the last processed entity id will provide near linear runtimes no matter the batchsize and current progress. https://www.eversql.com/faster-pagination-in-mysql-why-order-by-with-limit-and-offset-is-slow/ has a good explanation.
for example for the orders this would mean that the query would become:
SELECT `s_o`.* FROM `sales_order` AS `s_o` WHERE s_o.entity_id > $LASTORDERID AND (s_o.store_id IN ('1', '2') OR s_o.store_id = 0) ORDER BY `s_o`.`entity_id` ASC  LIMIT 50

this allows mysql to make use of the existing index directly:
MariaDB [xxx]> SELECT `s_o`.* FROM `sales_order` AS `s_o` WHERE s_o.entity_id > 160550571 AND (s_o.store_id IN ('1', '2') OR s_o.store_id = 0) ORDER BY `s_o`.`entity_id` ASC  LIMIT 50;
...
50 rows in set (0.003 sec)

(this is the same position in the export as the example above that took 10.95s)

Thanks for the suggestion. This can be a future fix for the plugin :) Will look into getting it done by the end of the week

https://github.com/boxalino/data-integration-magento2/commit/cad7129c8834a4d51cab40596ff37b2258f61bda
the seek strategy was implemented.
it is available as of tag 1.2.4


driver/mtdconfig_fs : return -ENOENT when delete non-existed key

VELAPLATFO-10121
Summary
Impact
Testing

Please remove special tag from commit message

Please remove special tag from commit message

Done


More documentation needed for scrollable and viewport class.

Can you please add more documentation for  Scrollable and Viewport, and maybe also add a basic example on how to get them to work together.

Closing this as I think we have added a lot of docs over the years now. If there is something specific that is lacking, please file a new issue. Thank you!


ES-371/set correct license

As part of the C5 build process a license file is injected into the pom.xml of a produced Jar this license file is specified as part of the gradle.properties of each repo the current license properties are not correct / outdated and should be updated pre GA

Discussed with @sachingokhale and @marcellofarina75 OKd from the product for entering post freeze


Add important Markdown files to help contributors

added code of conduct
added sample pull request template
added contributing file

@tarunnsingh

These were required from a long time! Thanks!

@all-contributors please add @garimasingh128  for doc


how can i change the toolbutton icon?

For example,
quit = action('&Quit', self.close, 'Ctrl+Q', 'quit', u 'Quit application')
From my understanding 'quit' part is the name of the image file.
Even if i change the name of image file, it doesn't work..
plz help me... thank you so much

OS:
PyQt version:

Thank you so much...
It works well!!!


Extract FAQ Element in it's own component

Is your feature request related to a problem? Please describe
Currently we are creating similar elements in a loop, making the handling of state harder than necessary.
Describe the solution you'd like
Extract the state handling, title and answer of a FAQ-Item into the component faq-item.tsx.

Can I pick this up?

Can I pick this up?

yes, of course! Thank you!


Resolve omics_processing has_output data_object referential integrity exceptions in study nmdc:sty-11-dcqce727

List of all OmicsProcessing has_output DataObject exceptions

omics_processing_has_output_eada_object_exceptions.json

-[ ] @corilo review the `727 study ref integrity failures
-[ ] @mbthornton-lbl implement a delete query
-[ ] test on Napa instance

Ran delete_omics_processing_has_output_ref_integrity_exceptions.js without error.
Afterwards, re-running data_qc/omics_processing_has_output_data_objects.js found 0 results


[WIP] Add Game Tester (QA) path

As discussed before (Game Tester (QA) path missing? #16) I add Game Tester path - it is a mockup that reuses some parts from Client Programmer roadmap (Game Mathematics, Physics, Programming Languages, etc.). and changes the priority of some elements (from "Personal Recommendation!" to "Pick any!" and "Possibilities" and vice versa).
🔧To improve: some visual aspects of this roadmap (to be more readable like it is shown in Client Programmer 2018 Roadmap).
🔨To add: more roadmap elements that guide audience & learning materials.
I am sure that this PR will start nice conversation and thanks to that we will improve Game Tester path more and more. Also reviews/comments are more than welcome! :+1:

Thanks. I'll review soon.


Don't bsod on websocket issues.

It seems that when a long load happens, sometimes the websocket connection isn't happening right.
This hard failure makes it impossible to use ofborg with a huge historic build if it hangs the page's load.
See this build for a problematic build:

https://logs.nix.ci/?key=nixos/nixpkgs.34477&attempt_id=fa8d9fac-15c7-4075-ac3b-9455b4923473

Instead of hard failure, it should probably notify in the console and do some clever retrying. Now that the app isn't entirely dependent on websockets, as it was initially, it shouldn't be a kill-worthy issue.

It now only bsods on the initial connection.
It will otherwise print in the -ofborg- console and to the javascript console.


fix: use default_filename for secrets in Renku 1.0

Use default_filename as the secret's filename for Renku 1.0 sessions.
Forgotten edit, or rebase-yanked from session secrets.
Before, if using spaces or other characters in the secret's name:

After:

/deploy

You can access the deployment of this PR at https://renku-ci-ds-583.dev.renku.ch

Tearing down the temporary RenkuLab deplyoment for this PR.


Fix license headers to only use a single /* comment to exclude it from doxygen

Prevents the license header from being repeatedly displayed as part of each namespace's documentation.
Discovered this while looking into https://github.com/nv-morpheus/Morpheus/issues/837

/merge


Chat persistence/history

Identified already existing issues but decided to ship and fix them in separate upcoming PRs:

#569
#570
#571
#572
#573


All token (send and receive) values should be viewable on Activity Tab

Environment:Testnet
Actual scenario:
User is only able to view -numeric values of Stacks token when it was send,however user is not able to view the - numeric values of other tokens when its send via the Activity tab
User is not able to view the receive activity for other tokens as well
Expected results:
User is supposedly to view all numeric values of send and receive of all the tokens(not just Stacks)
Attached the screenshot of the issue

The good part is test passed where non STX token values are shown(viewable) in both sender and receiver activity tab.

@Eshwari007 You can check now. I fixed the issue with the pending transaction not being visible. The dates should also be correct now.


Redstone Dust/Other Non-Full Blocks

I've tried this:
	"components": {
		"R": {
			"type": "compactcrafting:block",
			"block": "minecraft:redstone"
		},
		"I": {
			"type":"compactcrafting:block",
			"block": "minecraft:iron_block"
		}
		},

And it doesn't work because of the redstone.
Does there need to be something else than "compactcrafting:block"?
Please help.

I believe you want redstone_wire, not redstone there. redstone is the item form. You can always use F3 mode to check names and property values.

(FYI - There is an extra properties group that you can add for specific whitelisting of properties. There's an example under the tests for the block component.

Closing this as stale for lack of response; please comment if this is still an issue. Thanks!


Clicking Docker CLI opens Terminal instead of iTerm

Expected behaviour: Clicking Docker CLI opens iTerm and runs Docker loading script
Actual behaviour: Clicking Docker CLI opens Terminal and runs Docker loading script

Example: (Note iTerm is installed and running, I show it open at the end)

Version Information:

What version of iTerm are you using?
I have iTerm 2.1.4 installed, when I click on Docker CLI a new tab opens in my existing iTerm window - If no iTerm window is open, a new one is opened.

v2.9.2016206

Confirmed. With iTerm2 v2.1.4 the Kitematic CLI works as intended.

Hmmm, how would one fix this? I don't know enough node to know why this happens...
I'm guessing it's the https://github.com/docker/kitematic/blob/master/resources/terminal file, but when I run the osascript it seems to determine that it's iterm ok:

@petems there's a PR against it, but since it's mainly due to beta/nightly, it hasn't been merged:
https://github.com/docker/kitematic/pull/855
We don't want to keep making changes to a beta/nightly build as it may add more code changes than wanted. Once this goes to stable, we'll be able to merge if it's still an issue.
Thanks @gleblanc1783 for confirming that with stable releases it works as expected.

I am experiencing this issue on iTerm2 version "Build 3.3.9" and Docker Desktop for Mac version <IP_ADDRESS>

Clicking CLI from Docker opens Terminal.app and not iTerm (as I want).

Clicking CLI from Docker opens Terminal.app and not iTerm (as I want).


A visual indication of Vi/emacs mode

Is your feature request related to a problem? Please describe.

Whenever I turn Vi mode on, I'm always in a loss of which mode I'm at!
Describe the solution you'd like

The shell prompt change accordingly instead of static arrow >

We will not support this feature.
See https://github.com/sigoden/aichat/wiki/Custom-REPL-Prompt for customizing the REPL prompt.

why not?

In AIChat, the keybings must be one of emacs and vi. There is no support for dynamic switching. What's the point of having a visual indication of keybindings mode.
If you don't know the current keybindings, there are three ways to find them:

type ESC, then type l, if the cursor move left, it is vi.
run .info REPL command, there is a field keybindings.
modify REPL prompt by youself.

By mode I mean insert or normal mode!

sorry my bad. I meant Vi's very own normal/insert model

Is it necessary? Even a CLI as popular as Python doesn't provide a visual indication of Vi's insert/normal mode.

I just think it makes the VI mode a lot more usable


refactor MemStorage and adjust some tests

Extracted from #193 .
This PR makes MemStorage more like a real Storage. Some behaviors are changed:

create_snapshot don't need an index as parameter. It uses committed index directly.
compact now can compact all entries. Previously the last one will be always reserved.

PTAL @Hoverbear @BusyJay @nolouch thank you!

I have no idea about why CI can't pass. Anyone can help me?

Thanks for @BusyJay all tests are pass!

PTAL @nolouch @Hoverbear thank you!

PTAL again @BusyJay thank you!


disable hipe compilation

I'd like to explicitly disable hipe compilation.
i've added a rel/vm.args file with --disable-hipe but that didn't do anything…
see also: https://github.com/erlware/relx/issues/405

I'm closing this for now, since the issue is that you need to compile your application with --disable-hipe, rather than provide it to the release as an argument.


Elastic APM 6.13.0 agent errors when capturing long elasticsearch transactions

Describe the bug:
To Reproduce
When capturing transactions to elasticsearch, Elastic APM throws errors when executing long transactions (e.g. async_scan), eventually causing the asynchronous event loop to cancel all tasks.
2022-10-31T09:05:05.200-04:00 | Traceback (most recent call last):
-- | --
  | 2022-10-31T09:05:05.200-04:00 | File "/usr/local/lib/python3.9/site-packages/elasticsearch/_async/helpers.py", line 490, in async_scan
  | 2022-10-31T09:05:05.200-04:00 | resp = await scroll_client.scroll(
  | 2022-10-31T09:05:05.200-04:00 | File "/usr/local/lib/python3.9/site-packages/elasticsearch/_async/client/__init__.py", line 3350, in scroll
  | 2022-10-31T09:05:05.200-04:00 | return await self.perform_request( # type: ignore[return-value]
  | 2022-10-31T09:05:05.200-04:00 | File "/usr/local/lib/python3.9/site-packages/elasticsearch/_async/client/_base.py", line 286, in perform_request
  | 2022-10-31T09:05:05.200-04:00 | meta, resp_body = await self.transport.perform_request(
  | 2022-10-31T09:05:05.200-04:00 | File "/usr/local/lib/python3.9/site-packages/elasticapm/instrumentation/packages/asyncio/elasticsearch.py", line 105, in call
  | 2022-10-31T09:05:05.200-04:00 | result_data = await wrapped(*args, **kwargs)
  | 2022-10-31T09:05:05.200-04:00 | File "/usr/local/lib/python3.9/site-packages/elastic_transport/_async_transport.py", line 272, in perform_request
  | 2022-10-31T09:05:05.200-04:00 | resp.meta.status,
  | 2022-10-31T09:05:05.200-04:00 | AttributeError: 'coroutine' object has no attribute 'meta'

Pinning elastic-apm~6.12.0 will solve the issue and it appears that it was introduced when Elasticsearch 8.0 support was added in PR#1642 but I can't determine why because you guys did access the meta attribute safely with hasattr()?
Please let me know if there is additional context I can add!
Environment (please complete the following information)

OS: [e.g. Linux] debian:bullseye-slim (python:3.9-slim container image) x86
Python version: 3.9
Framework and version [e.g. Django 2.1]: N/A AWS Lambda Function
APM Server version: 8.4.2
Agent version: 6.13.0
AWS Lambda Runtime: Custom container built w/ apm-lambda-extension.

$ pip3 freeze | grep elastic
elastic-apm==6.13.0
elastic-transport==8.4.0
elasticsearch==8.4.3

Additional context
Add any other context about the problem here.

Agent config options

Click to expand
ELASTIC_APM_LOG_LEVEL: info
ELASTIC_APM_DATA_RECEIVER_TIMEOUT_SECONDS: 15
ELASTIC_APM_DATA_FORWARDER_TIMEOUT_SECONDS: 3

requirements.txt: Poetry in use (tool.poetry.dependencies in replace)

Click to expand
[tool.poetry.dependencies]
python = "^3.9"
elasticsearch = "^8"
elastic-apm = "^6.13"
pandas = "^1.4.3"
python-dotenv = "^0.21.0"
requests = "^2.28.1"
python-dateutil = "^2.8.2"
boto3 = "^1.25.4"
psycopg2-binary = "^2.9.3"
aiohttp = "^3.8.1"
validators = "^0.20.0"

Python Code
async with AsyncElasticsearch(**elastic_context) as client:
    async for doc in async_scan(
          client=client,
          index='XXX',
          query=query,
          _source={
              "includes": ["XXX"],
              "excludes": ["XXX"]
          }
      ):

@brett-fitz Is the AttributeError: 'coroutine' object has no attribute 'meta' the only error you're seeing? You said:

Elastic APM throws errors when executing long transactions

Technically that's not an error in Elastic APM so I wanted to be sure there wasn't another error we were missing.

Apologize for the late response on this, I've finally been able to reproduce this again:

Resp: <coroutine object AiohttpHttpNode.perform_request at 0x7f3de109a5c0>
Let me know if that helps!

https://github.com/elastic/apm-agent-python/blob/04f636dcbe88af8833a03e55c6e80a081cbfe9e9/elasticapm/instrumentation/packages/asyncio/elasticsearch.py#L59-L63
Seems bug appears during instrumentation of AiohttpHttpNode.perform_request. On 53 line the result of wrapped returned without await.

@gtors Great catch! Fix in #1725


yolov4 tensorrt with ROS : (pycuda error) context stack was not empty upon module clean

Hi, great work on your tensorrt_demos! You can find my code here
I adapted your work to ROS for my project use and achieve great results with it. However, I am always receiving a pycuda error after the program is killed. Do refer to the screenshot for a sample error log found.

@indra4837  Could you provide a simpler example (say, with only minor modifications to my original trt_yolo.py) to reproduce this problem?

Closing due to no response.


Support MQTT

Right now only AMQP supported

paho-python looks pretty well maintained:
https://pypi.python.org/pypi/paho-mqtt/1.2
http://www.eclipse.org/paho/clients/python/
Here is example code which also uses gevent,
https://github.com/swkim01/mqtt/blob/master/web/mqttweb.py


feat: added Dockerfile + strip newline from api_key.txt if exists

Added a Dockerfile + some information in the README.txt.
Also, added some entries in .gitignore and created a .dockerignore to protect any API key that may be stored in the ./config directory, if exists.
Finally, added a strip() for api_key in sgpt.py, in case of someone mount a prepopulated file as ~/.config/shell-gpt/api_key.txt, and if the latter finishes with a carriage-return.

Thank you for the PR, good job!

It was a pleasure.
Thanks for this tool!


Custom Portal Block not working properly for flat portals.

Not sure if its been implemented properly yet for flat portals but when going into the portal for the first time it generates a weird portal on the other end and if you go through that portal the game crashes with this. (Using the most recent commit of both The Aether and CustomPortalAPI)
https://user-images.githubusercontent.com/88995340/140008934-49afb839-7b29-480b-b5f1-ad1f14a0605e.mp4

java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
	at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
	at net.kyrptonaught.customportalapi.portal.linking.PortalLinkingStorage.getDestination(PortalLinkingStorage.java:50)
	at net.kyrptonaught.customportalapi.util.CustomTeleporter.customTPTarget(CustomTeleporter.java:56)
	at net.kyrptonaught.customportalapi.util.CustomTeleporter.TPToDim(CustomTeleporter.java:39)
	at net.kyrptonaught.customportalapi.CustomPortalBlock.onEntityCollision(CustomPortalBlock.java:108)
	at net.minecraft.block.AbstractBlock$AbstractBlockState.onEntityCollision(AbstractBlock.java:926)
	at net.minecraft.entity.Entity.checkBlockCollision(Entity.java:1035)
	at net.minecraft.entity.Entity.tryCheckBlockCollision(Entity.java:739)
	at net.minecraft.entity.Entity.move(Entity.java:712)
	at net.minecraft.entity.LivingEntity.applyMovementInput(LivingEntity.java:2244)
	at net.minecraft.entity.LivingEntity.travel(LivingEntity.java:2189)
	at net.minecraft.entity.player.PlayerEntity.travel(PlayerEntity.java:1591)
	at net.minecraft.entity.LivingEntity.tickMovement(LivingEntity.java:2640)
	at net.minecraft.entity.player.PlayerEntity.tickMovement(PlayerEntity.java:559)
	at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2346)
	at net.minecraft.entity.player.PlayerEntity.tick(PlayerEntity.java:274)
	at net.minecraft.server.network.ServerPlayerEntity.playerTick(ServerPlayerEntity.java:466)
	at net.minecraft.server.network.ServerPlayNetworkHandler.tick(ServerPlayNetworkHandler.java:212)
	at net.minecraft.network.ClientConnection.tick(ClientConnection.java:238)
	at net.minecraft.server.ServerNetworkIo.tick(ServerNetworkIo.java:183)
	at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:902)
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:831)
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:96)
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:697)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270)
	at java.base/java.lang.Thread.run(Thread.java:831)

Well this is an odd one. Did you register another portal to the aether? Can you post the relevant code?

I think this is caused by custom portal block used by the aether. It has a hard link to the glowstone block as the frame. You'd have to create a new portal block or just use the default. I guess I never thought of having portal of different types linking to the same dim

Yeah i basically used Aether's portal block directly as the custom portal block. I think i might have a hint as well, it doesnt look like its hardcoded in the class where it extends CustomPortalBlock
                .customPortalBlock((AetherPortalBlock) BLUE_PORTAL)
                .frameBlock(Blocks.SHROOMLIGHT)
                .lightWithWater()
                .destDimID(new Identifier("the_aether:the_aether"))
                .tintColor(50,133,168)
                .flatPortal()
                .registerPortal();

See here https://github.com/devs-immortal/The-Aether/blob/00d3512cb0f8a95b027183a0a85466bb19015813/src/main/java/net/id/aether/blocks/AetherPortalBlock.java#L50
This is it hardcoded to always return a gowstone block as it's frame. his helps with performance. You can not supply a customPortalBlock to the builder and it will just use the default one. Which should work fine

I originally had the default one but I was hoping to use Aether's for the proximity sound triggers, particles, other effects etc. I might have to just recreate a class without the glowstone requirement and use that with the AetherBlocks BLUE_PORTAL

Seems to work fine without the override

Do you want me to close the issue? This is intended right?

Yes, it technically is intended behavior. Just very odd when used like this


convert all antd components to Salesforce LDS

Right now we have a mix of antd and salesforce LDS framework components... Both of these libraries are extremely heavy and we should probably just pick one (seems LDS is the winner).
Ideally we could get replace all antd components and pull out the dependencies (we could also simplify our webpack config after doing so, which would reduce build & dev startup time)

I think most the components will be pretty easy to replace.  The multi-select label filter might require a bit of work depending on if LDS has similar functionality.
I think there also might be a bit of configuration work to get LDS icons setup


Add --latest flag for yarn upgrade-interactive

Adds autocomplete for --latest when doing yarn upgrade-interactive

We're using the zsh-completions distribution of yarn completion, can you submit the PR there instead?

Will do @mcornella thanks.


[Bug]: TypeError when casting count result to int64 in Narwhals during TemporalScope integration

Describe the bug
We are currently integrating Narwhals into TemporalScope, an explainable AI (XAI) library designed for temporal feature importance analysis. Narwhals serves as the backend for supporting multiple DataFrame implementations (e.g., Pandas, Polars, Modin) in a unified, backend-agnostic manner.
During this integration, we encountered a TypeError when performing a row count operation. Specifically, when attempting to cast the result of count() to "int64" using Narwhals' backend-agnostic API in the _get_row_count method, the following error is raised:
TypeError: issubclass() arg 1 must be a class
This issue affects TemporalScope's SingleStepTargetShifter, which is responsible for shifting target variables in time series data as part of its fit/transform workflow. The error prevents proper row counting and disrupts TemporalScope's compatibility with Narwhals. It occurs consistently across all tested backends (e.g., Pandas, Modin, Polars).
Steps or code to reproduce the bug
To reproduce the issue, follow these steps:

Open the public Google Colab notebook: Narwhals_TypeError_Reproduction.
Run all the cells. The notebook creates a simple Pandas DataFrame, converts it to a Narwhals-compatible DataFrame, and performs a row count operation.
Observe the TypeError raised during the casting step.

Code to reproduce:
import narwhals as nw
import pandas as pd

# Create a Pandas DataFrame
data = {"col1": [1, 2, 3, None], "col2": ["a", "b", "c", "d"]}
df_native = pd.DataFrame(data)

# Convert to Narwhals-compatible DataFrame
df_narwhals = nw.from_native(df_native)

# Perform row count operation
row_count_expr = nw.col("col1").count().cast("int64").alias("row_count")
row_count_result = df_narwhals.select([row_count_expr])

# Access the scalar result
row_count = row_count_result.item()
print("Row Count:", row_count)

Expected results
The row count operation should complete successfully, returning the number of rows cast to "int64". No error should occur.
Example expected output:
Row Count: 3

Actual results
The following error is raised during the execution of the row count operation:
Error encountered: TypeError: issubclass() arg 1 must be a class

Please Run narwhals.show_version()
Provide the output of this command:
```python
import narwhals as nw
print(nw.show_version())

### Please run narwhals.show_version() and enter the output below.

```shell
System:
    python: 3.10.12 (main, Nov  6 2024, 20:22:13) [GCC 11.4.0]
executable: /usr/bin/python3
   machine: Linux-6.1.85+-x86_64-with-glibc2.35

Python dependencies:
     narwhals: 1.14.1
       pandas: 2.2.2
       polars: 1.9.0
         cudf:
        modin:
      pyarrow: 17.0.0
        numpy: 1.26.4

Relevant log output
Error encountered: issubclass() arg 1 must be a class

thanks @philip-ndikum for your report!
the syntax is cast(nw.Int64)
However, the error message should be improved - will work on that, thanks 🙏


add linting rules

This is a fork of #205, including only the infrastructural changes.

Thank you!


Preload metadata does not truly preload the metadata

Current Behavior:
When the  in Next JS is setup with preload='metadata' and the displayed element is off screen, the metadata is not loaded (in other words, I cannot get duration of the video/audio files if they are not in viewport).
For comparison I tried it with normal html audio tag and it in fact preloads the metadata and I am able to get the duration, even when the element is out of screen.
For both scenarios the element was in the same position in the DOM and the same distance out of screen.
Expected Behavior:
Metadata should be preloaded (when specified as a  prop) and properties like dimensions and duration should be available even when element is out of viewport.
Environment:

Framework: React
Meta Framework: Next.js
Node: 18.15.0
Device: MacBook Air (M1)
OS<EMAIL_ADDRESS>Browser<EMAIL_ADDRESS>(Official Build)

Thanks for reporting! You will need to set the load strategy of the player to eager. The default is visible hence why preload is doing nothing.
<MediaPlayer load="eager">


🔧 buy now stroke cart icon

close #6655
https://github.com/kodadot/nft-gallery/issues/6655#issuecomment-1793844214

A quick and ugly solution, but at what cost?

for me, previously was not working only on Asset hubs, fixed now!

was the icon added to our fontawesome account or? That was the main goal afaik. I could not log in.

This PR doesnt close original issue.
Ping @preschian maybe know how to import icôn Into FA pro.

@roiLeo @exezbcz uploaded

✅ updated

@roiLeo nice! could you please make the icon in the navbar 24*24px

I will leave the rest for followup

@roiLeo nice! could you please make the icon in the navbar 24*24px
* I will leave the rest for followup

sure, note that now it won't have the same size as other

edit: made a change to unify icon size in navbar

thank you sir, wfm

working for me as well

thanks!
pay 20 usd


Setting a max-height property in the css does not scale correctly

Currently I'm trying to set a fixed height in the ReactCrop.css file as I simple want to limit how long the image that a user uploads will display on the screen.
The problem is the max-height is only respected for part of the image, the rest of the image that exceeds the height will be cut off. For example setting the max-height to 750px and uploading an image with a height of 1000 pixels for instance will only show the first 750px. The other 250px will be cut off.
I can do the same thing with max width and it works, without cutting any of the image off. Any help with this issue would be greatly appreciated.

Hi, I'm not sure what you mean as max-height works out the box for reducing the image size but preserving the aspect and not cutting stuff off - https://jsfiddle.net/t7kojdh2/

Closing due to inactivity


[GUI] Flow: editing screen of the previous node

The editing screen of the previous node is displayed.
Steps to reproduce the problem:

Click "New Flow"
Select node "device in"
Double click to open the node editing screen

Click the Data Flows menu
Click "New Flow"
Select node "http"
Double click to open the node editing screen

Click Cancel. The edit screen of the previous node is displayed.

Test OK.


Syntax highlighting in if let

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed.
Reduced the issue to a self-contained, reproducible test case.

Description
In an if let a := b then ..., if b is a variable, it is not highlighted by the LSP as variable semantic token. In VSCode, this means that it is white instead of light blue.
Example:
def orFalse (b : Option Bool) :=
  if let some a := b then a else false

Steps to Reproduce

Paste the code above into a VSCode lean project
Observe

Expected behavior: b is highlighted light blue
Actual behavior: b is highlighted white
Reproduces how often: Always
Versions
Lean (version 4.0.0, commit 653ff184a817, Release)
Ubuntu 20.04

More generally, there is no info node on b at all. This is likely inherited from match, where the same issue occurs.


Problem with Inline editing

Inline editing stops working when you click very fast on cells

fixed in version 0.6.0


Custom AccessController is not immutable

class CustomAccessController {
    static get type() { return 'someUniqId' }

    static async create(orbitdb, options = {}) {
      return new CustomAccessController(orbitdb, options);
    }

    async canAppend(entry, identityProvider) {
        return true;
    }

    async load(address) {}
    async save() { return {} }
}

AccessControllers.addAccessController({ AccessController: CustomAccessController });

const ipfsOptions = {
    repo: 'ipfs/' + 'someUniqId',
    config: {
        Addresses: {
            Swarm: [
                '/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star/'
            ]
        }
    }
};

const ipfs = await Ipfs.create(ipfsOptions);

const orbitdb = await OrbitDB.createInstance(ipfs, {
    AccessControllers: AccessControllers
});

const db = await orbitdb.keyvalue('someUniqId', {
    accessController: {
        type: CustomAccessController.type,
    }
});
await db.load();
await db.put('key', 'value');

Hello, for the sake of understanding, I've minified my code a maximum.
With this chunk of Code I've successfully added { 'key', 'value' } on the keyValue OrbitDB database called someUniqId.
The issue arises when I create a new OrbitDB database with a new uniq name someUniqId2, that this time I set true to false to the method canAppend
    async canAppend(entry, identityProvider) {
        return false;
    }

The first time I run this code, I get an error since the user is not allowed to update it.
The issue is : If a second user (user number 2) runs after this the same code but with return true instead of return false, he can access and perform the db.puts successfully on the database someUniqId2.
I thought that my CustomAccessController is forever added in a immutable way to my new someUniqId2 database the first time the db gets created. I thought that Custom Access Controllers were created as to define forever during the creation of the databases the rules set ? Is my understanding incorrect ? How can user number 2 overrides the custom access controller rules and managed to propagates the put entry to OrbitDB/IPFS  ? Been struggling a day with this issue.
In my real code (not this simplified version), I've set complex rules. 4 first append gets accepted. The fifth one gets refused. But a malicious user just needs to replace the whole canAppend function by return true; to bypass all the verifications.
Thanks

Could you provide the version of orbitdb you are using? The example code above looks very outdated. For example, there is no addAccessController function available in the latest version of OrbitDB.
You can install the latest version of OrbitDB using npm i @orbitdb/core.

Thank you four reply. I took some time to fix my code as to use the latest version of orbitdb (1.0.0) and show you the bug:
import { create } from 'ipfs-core'
import { createOrbitDB, useAccessController } from '@orbitdb/core'

const CustomAccessController = () => async ({ orbitdb, identities, address }) => {
  address = '/custom/access-controller';

  return {
    address,
    canAppend: (entry, identityProvider) => {
      if(entry.payload.key == 'forbiddenKey') {
        return false;
      }
      else {
        return true;
      }
    }
  };
};

CustomAccessController.type = 'custom';

useAccessController(CustomAccessController);

var ipfs = await create();
var orbitdb = await createOrbitDB({ ipfs });

const db = await orbitdb.open('someUniqIdenifier', {
  type: 'keyvalue',
  AccessController: CustomAccessController(),
});

console.log("db address:", db.address);

await db.put('myFirstKey', 'ok');
try {
  await db.put('forbiddenKey', 'ok');
}
catch {
  console.log('Error ! Forbidden');
}

var allEntries = await db.all();

for (const [key, value] of Object.entries(allEntries)) {
  console.log(key, value);
}

await db.close()
await orbitdb.stop()
await ipfs.stop()

// Malicious code starts here

const MyMaliciousAccessController = () => async ({ orbitdb, identities, address }) => {
  address = '/custom/access-controller';

  return {
    address,
    canAppend: (entry, identityProvider) => {
      return true;
    }
  };
};

MyMaliciousAccessController.type = 'custom';

useAccessController(MyMaliciousAccessController);

var ipfs = await create();
var orbitdb = await createOrbitDB({ ipfs });

const secondDb = await orbitdb.open(db.address, {
  type: 'keyvalue',
  AccessController: MyMaliciousAccessController(),
});

await secondDb.put('forbiddenKey', 'ok');

var allEntries = await secondDb.all();

for (const [key, value] of Object.entries(allEntries)) {
  console.log(key, value);
}

So here I created a custom access controller called CustomAccessController. There is just one rule: every keys are accepted but not forbiddenKey.
It works perfectly.
But if a malicious user wants to add this key, he just needs to clone all the code and set returns true; in the canAppend function of his own malicious access controller.
I thought that the AccessController was immutable once created and that new users are forced to use it. Did I miss something ?
Thank you very much for your support and hard work :pray:

Hi, I was reading through docs/issues today preparing to use OrbitDB and noticed this:
https://github.com/orbitdb/orbitdb/blob/main/docs/ACCESS_CONTROLLERS.md

OrbitDB is bundled with two AccessControllers; IPFSAccessController, an immutable access controller which uses IPFS to store the access settings, and OrbitDBAccessController, a mutable access controller which uses OrbitDB's keyvalue database to store one or more permissions.

I'm very interested in this and thanks for working on it.  Two things I noticed:

Are you using the same identity when you make the secondDb?  From the code it would seem your user has write access.

Client code in the wild will always be malicious.  There's nothing to stop a client from writing malicious data for itself and pushing it out to the network.

The problem would be if a non-malicious client reads and accepts the malicious data.
I haven't dug into this, but it looks like tests have been written around these use cases:  https://github.com/orbitdb/orbitdb/blob/main/test/access-controllers/orbit-db-access-controller.test.js#L240

Hello
Thanks for participating to this issue
You can copy paste the entire code at https://github.com/orbitdb/orbitdb/issues/1122#issuecomment-1812455784
Put it into bug.mjs and run node bug.mjs, and you will be able to better understand what is happening. You can even use it to help you write your own code.

Are you using the same identity when you make the secondDb? From the code it would seem your user has write access.

By default, it's as if we use AccessController({ write: ['*'] }), meaning that everyone has write access.
In my code I did not specify any identity. Meaning that the identities are different for the two dbs I guess ?
When you use identities, you can then read the identity in the canAppend function of the access controller to then verify who sent the message.

I haven't dug into this, but it looks like tests have been written around these use cases: https://github.com/orbitdb/orbitdb/blob/main/test/access-controllers/orbit-db-access-controller.test.js#L240

These use cases are unfortunately different from what I want to achieve. grant and revoke authorize identities to write or not into the db.
In my example, everyone can write in the db. But I want to prevent some information to be written.
Actually my real usecase is a bit different, that example was made to make it simple to debug. My real usecase is:
I want each identity to be able to write their own message on the same DB. But I don't want other identities to be able to overwrite or delete their message.
I tried to make an example as simple as possible. My real code has custom identity providers, and custom access controllers. I even managed to read the database from the access controller.
But my whole project is void of interest if people can overwrite other's message.

Given what I know, I'd implement this as a database of databases.  Each user having a database with write access, and some central index of databases.  That's more like distributed database-per-user in couchdb/pouchdb than a central mysql server.
I think OpenMLS can support that through groups, but it's a very heavyweight solution, and I don't know an IPFS or javascript implementation.

The more I dig to the rabbit hole, the more I come to the realization that no amount of effort can help us since a user can just monkey patch OrbitDB alltogether to bypass all securities related procedures and grant themselves ever possible rights since we can open a database with our own malicious access controller and identities.
Because the access controllers and identities manifest are published to IPFS but what enforces their usages are not the IPFS nodes but this very library.
If someone monkey patches this everything is over: https://github.com/orbitdb/orbitdb/blob/main/src/orbitdb.js#L127
And I think I finally saw on why just creating a malicious access controller works, it's due to this line here: https://github.com/orbitdb/orbitdb/blob/main/src/access-controllers/index.js#L39
My malicious controller has the same type has the original one. It simply overrides it.
But even if we patch this, nothing prevents a malicious user from polluting or corrupting the database by evading the identity and access controllers rules, by patching their own OrbitDB library or using said exploit I revealed, is that right @haydenyoung  ?

@shideneyu  Like I said in my first comment, that's every web application ever written.
"Never trust the client" is the first rule of client-server security.
"Never trust a peer" is the first rule of p2p security.
My expectation would be the "good" peer rejects the new data from the "bad" peer, and that "good" peers can know what's good from the IPFS data, not the code.

That is right. Unfortunately for the keyValue database, I don't think that a good peer can now what was the previous "valid" value for a key if it got updated or deleted ?

Maybe if we sign every messages and check the oplog. I'll dig this

When writing malicious records to secondDb, check whether firstDb is replicating them. If not, the access controllers should be working as expected and your firstDb should be "protected" from any data being written to secondDb.
There is nothing stopping secondUser from circumventing  (for whatever reason) local checks on secondDb. firstUser is not responsible for ensuring the integrity of secondUser's data. Instead, we want to ensure that firstDb will not replicate secondDb's data if it is in violation of the rules laid out by the Custom AC.

We want to ensure that firstDb will not replicate secondDb's data if it is in violation of the rules laid out by the Custom AC.

This is what I was expecting. But I can't replicate this scenario. Can you show me how that works @haydenyoung  ?
In my code, firstDb is replicating secondDb's data. You just need to run the code twice and you'll see on the second firstDb.all() that it fetched the violating data.

Or you can just run this: node.mjs https://gist.github.com/shideneyu/31e77772ec2a14f2746252720efdbd5e

@shideneyu can you confirm that firstDb is running the "good" custom AC and secondDB is running the malicious one? I.e. firstDb isn't running the malicious AC?
If it is running correctly, firstDb should be throwing "cannot write" errors when it tries and replicates secondDb's unwanted record.

@haydenyoung yes that is the issue. canAppend() is not used when replicating dbs.
firstDb is not throwing "cannot write" errors when it tries to replicate secondDb's unwanted record.
To make it simple, you can reproduce it by running those three files one by one:
node create_with_db1.mjs , node append_with_db2.mjs, node replicate_with_db1.mjs
create_with_db1.mjs  , append_with_db2.mjs , replicate_with_db1.mjs

It looks likes db1 and db2 are pointing at the same database. Make sure you instantiate two separate ipfs nodes and two separate orbitdb peers by using different paths (I.e. this is how it would look if deployed "in the wild", i.e. two separate nodes on two separate servers/browsers).
I have attached two separate scripts which should give you a better idea how to sync two peers and how peer 1 guarantees it does not write the malicious record using the correct CustomAC.
db1.js.txt
db2.js.txt
Firstly, remove the ".txt" suffix from the db1 and db2 js files (or rename suffix to mjs).
Run db1.js in the terminal:
node db1.js

this will initialize your orbitdb node in a separate directory (./orbitdb/1). It will also print out the database address (will look something like /orbitdb/). Leave db1.js running so that db2.js can connect to it.
Run db2.js in a separate terminal, using db1's address as the address for db2 (I.e. a replicating db):
node db2.js /orbitdb/<hash-that-you-copied-from-db-1>

db2 will successfully write a record to its own log using the malicious AC but db1 will throw a "not allowed to write" error, not allowing the malicious record to be written to db1's log.
Hope this helps.

I understand better now, this helps a lot thanks :pray:

Make sure you instantiate two separate ipfs nodes and two separate orbitdb peers by using different paths (I.e. this is how it would look if deployed "in the wild", i.e. two separate nodes on two separate servers/browsers).

My understanding is a bit limited though. In my context I wanted to create a live chat. I did not expect to be hosting nodes since I wanted a decentralized application hosted on IPFS (just plain html / js).
If all of the users messaging each others on that website become peers (ip4/<IP_ADDRESS>/tcp/0), if they all close their computers, a new user will not be able to replicate db1 is that right ?
Does this mean that the guy who created db1 with the right Controller Access needs to stay up 24/24 ?
Or does it mean I need to maintain my own IPFS nodes that people can connect to ? (it would become centralized then)
How does your solution works with a scenario where there is no nodes and that the data is stored on IPFS  (maybe with webrtc stars nodes) ?

If all of the users messaging each others on that website become peers (ip4/<IP_ADDRESS>/tcp/0), if they all close their computers, a new user will not be able to replicate db1 is that right ?

Yes, that's the nature of p2p. The peers are providing the data but there's no guarantee that they will be available. Hence, OrbitDB strives to make every replica of the db eventually consistent despite the node unreliability. However, what would be the reasoning for a new user be replicating the chat log when everyone else has left the chat?

Does this mean that the guy who created db1 with the right Controller Access needs to stay up 24/24 ?

Not necessarily. If one of the above peers is available, the new user can dial into one of these peers to replicate the data.
The AC type is retrieved as part of the db manifest (db description). The AC will be the one used by OrbitDB; either one of the bundled IPFS or OrbitDB or a custom AC. In the case of the examples you gave above, this would be the custom AC you have deployed as part of your chat app.

How does your solution works with a scenario where there is no special nodes and that the data is stored on IPFS (maybe with webrtc stars nodes) ?

I'm not entirely sure I understand what "special nodes" are.
Since the db's manifest and entries are stored using IPFS storage I guess you could potentially pin each block remotely but you would still need to re-index the database entries and determine the db heads when replicating on another peer. I've never tried this so I'm not even sure if retrieving data from remotely pinned IPFS blocks is even feasible.

@shideneyu If you are looking for guidance or would like to discuss developing your decentralized ideas further, I would recommend engaging the OrbitDB community. They may be able to give you more insight regarding implementation of OrbitDB.

Or does it mean I need to maintain my own IPFS nodes that people can connect to ? (it would become centralized then)

Well I think centralization is a sliding scale. Let's say you have 10 peers and one of them is up all the time. Provided the other peers are not completely reliant on this peer I think all you have is a decentralized app with a really reliable peer.

@shideneyu I'm going to close this issue as I think it is resolved. However, if you have any more questions, feel free to re-open this issue or pose any questions you have to the community on the OrbitDB Matrix/Gitter channels.


Hide generated items from --document-private-items

All of the generated items are private items, but it can be displayed in the document by using the --document-private-items flag.
Naming will be allowed by #202, so it would probably be preferable to only display it in the document if the user did a naming.
cc #124 #202
Related: https://github.com/taiki-e/pin-project/pull/192

bors r+


Support for multiple repos

Hi, can you please add support for auto deploy multiple repo's?
For example, adding an array into the config file.
And provide a additional GET parameter for selecting the target repo like the array index (reduce traffic).
I think it's a bad practise for placing in every repo the 2 files (deploy.php and deploy-config.php)

No, sorry. The script is primarily intended to be simple and I feel that a change like that is going to complicate it needlessly, as there's already a relatively simple way to achieve the same functionality (by having multiple scripts, configured differently).
Feel free to fork it and implement the changes you need yourself.

Considering "bad practise for placing in every repo the 2 files", you don't need to have two files as you can configure everything in deploy.php directly and have just that one file there.


How I Can Use SortableItem As A Class Component

+1

+1

Not sure what you're asking, do you mean something like this?
class Item extends React.Component {
  render() {
    // do stuff
  }
}

const SortableItem = SortableElement(Item);


Allow 'pub serve' features to be run within a web server

Should be able to import as a package and send requests to it from within a Dart web server

This issue has been moved to dart-lang/pub#948.


Update feed-list adding some links

Adding some interesting front-end links:
Ju Gonçalves, Addy Osmani, Hackr.io, HTML5 Rocks and Site Point.

Thank u man ;)

Thank you, LFeh for accept!


fips run does not take into account FIPS_DEPLOY_DIR

Working directory for fips run seems to be always relative to FIPS_ROOT_DIR instead of taking into account FIPS_DEPLOY_DIR.
Steps to reproduce:

Set up a standalone app (e.g. oryol-test-app)
Set get_filename_component(FIPS_DEPLOY_DIR "bin" ABSOLUTE) in project level CMakeLists.txt before fips_setup()
Set a cwd for the target in fips.yml:

run:
    test:
        cwd: bin

Try to run with "fips run test"

Great work by the way :)

Hmm it didn't occur to me yet to simply modify FIPS_DEPLOY_DIR before running fips_setup() in order to move the target directory somewhere else. Does this work as expected apart from 'fips run'? It sounds like a useful feature (I was actually planning to make it an 'official feature' to move the deploy dir somewhere else, I just didn't think of the simple solution to move the FIPS_DEPLOY_DIR variable)...

I have only tested the Hello World oryol sample but it seems to work as expected.

I too would like to bump this issue, having the build BACK  outside the project can cause issues with certain CI systems. Thanks

Ok, noted, I'll try to sneak in some time :) It may be necessary to move the setting into the fips.yml file though, because if it is just done inside the cmake file it wouldn't be visible in the python fips scripts (at least without hacks).
So basically, you could say in your toplevel project fips.yml something like:
fips_deploy_dir: path_to_deploy_dir

I'd still like to avoid absolute directories in config files, so the path 'path_to_deploy_dir' would be relative to the top-level project directory.
It probably makes sense to do the same for fips_build_dir.

Great that makes sense to me. Thanks


pull request 2023

hi, please add ability to enable video and sound

Hi. No, I'm not going to do this. For a few reasons:

The website the module uses to pull the images only hosts images.
At present, the latest version of Raspian only includes VLC which is unsuitable for playing embedded video.
I have no idea how to resolve the conflict between a local sound file and the audio track on a video file.
I have no idea where to pull appropriate videos related to the current weather being broadcast by other modules.
I have no idea how to remove the advertisements from common free video websites.

All that said, if you can figure out how to enable such a feature and create a pull request, I will happily review it for consideration. Let me know if you have questions on how this module works.


[REQUEST] Zigbee Stack / Firmware column for Zigbee coordinators

Please consider adding a column for Zigbee Stack / Firmware to the Zigbee coordinators section:
https://zigbee.blakadder.com/coordinators.html
Suggest adding additional columns to the database of Zigbee coordinators to make comparing easier.
This is as many different manufacturers use the same or similar Zigbee MCU radio chips or modules in their products and while some use the same Zigbee MCU radio chips they might run different Zigbee stacks and firmware.
For example, some Telegesis ETRX357 product series are based on the same type of ETRX35x chip family as Elelabs Zigbee products and Nortek HUSBZB-1 but use different Zigbee stack/firmware. And some MCU chips, like

MCU radio chip/module manufacturer (ex. Silicon Labs, Texas Instruments, Digi International, dresden elektronik, ZiGate, and Nordic Semiconductor)
MCU radio chip/module model (ETRX357, CC2530, CC2531, CC2538, CC2652R, CC2652P, CC1352P)
Zigbee Version (ZHA 1.2, Zigbee PRO, or Zigbee 3.0 are the three most common versions)
Zigbee Stack / Firmware, including version as for example both Silicon Labs and Texas Instruments have separate Zigbee stack versions for ZHA 1.2, Zigbee PRO, or Zigbee 3.0. As Silicon Labs has "EmberZNet PRO" (for Zigbee PRO) and "EmberZNet 3.0" (for Zigbee 3.0) , and Texas Instruments as Z-Stack 1.2 (for ZHA 1.2) and Z-Stack 3.0 (for Zigbee 3.0).

See requests/suggestions:
https://github.com/blakadder/zigbee/issues/26
https://github.com/blakadder/zigbee/issues/27
https://github.com/blakadder/zigbee/issues/28
https://github.com/blakadder/zigbee/issues/29

you're welcome to create a PR


core

Codecov Report

Merging #97 (5885a6c) into next (d94a04f) will decrease coverage by 3.43%.
The diff coverage is 88.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             next      #97      +/-   ##
==========================================
- Coverage   88.42%   85.00%   -3.43%
==========================================
  Files          12        5       -7
  Lines         190      100      -90
  Branches       29       19      -10
==========================================
- Hits          168       85      -83
+ Misses         18       12       -6
+ Partials        4        3       -1

Flag
Coverage Δ

adapters.nestjs
85.00% <88.00%> (-3.43%)
:arrow_down:

core
85.00% <88.00%> (-3.43%)
:arrow_down:

jest
85.00% <88.00%> (-3.43%)
:arrow_down:

sinon
85.00% <88.00%> (-3.43%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

packages/adapters/nestjs/src/class-reflector.ts
81.81% <77.77%> (-18.19%)
:arrow_down:

...kages/adapters/nestjs/src/params-token-resolver.ts
77.27% <83.33%> (ø)

...ckages/adapters/nestjs/src/class-ctor-reflector.ts
95.65% <100.00%> (+0.19%)
:arrow_up:

...kages/adapters/nestjs/src/class-props-reflector.ts
100.00% <100.00%> (ø)

...estjs/src/property-reflection-strategies.static.ts
74.07% <100.00%> (ø)

... and 7 files with indirect coverage changes


Wrong docs URL in systemd service file

Per https://github.com/docker/docker/pull/13797#discussion_r31893209, it appears that the docs URL in the systemd service file is http instead of https.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


Bug: ShippingMethodType on order

What are you trying to achieve?
I want to add test for the order creation and validate the right data is returned.
Steps to reproduce the problem

Create a shipping method using shippingPriceCreate mutation and assign it to a channel using shippingMethodChannelListingUpdatemutation. Save shipping_method_id as a variable.
draftOrderCreate with shipping_method_id in the mutation input.
Compare shipping_method_id returned in response with the one which was passed as the mutation variable.

What did you expect to happen?
Expected result: Shipping method id received is exactly the same as the one which was passed as a variable.
Actual result: The ids differ in content and the number of characters.
In variables: "U2hpcHBpbmdNZXRob2RUeXBlOjIyMDQ=" base64(shippingMethod:5)
In response: "U2hpcHBpbmdNZXRob2Q6MjIwNA==" base64(ShippingMethodType)
Logs

Environment
Saleor version:
dashboard 3.14.0-dev-23a580a
core v3.15.0-a.0
OS and version:
MacOS Ventura v. 13.0.1

Please update this test once the issue is resolved: https://github.com/saleor/saleor/pull/13864


[Trivial] Sync proto file with url-resolver

Reflect changes in https://github.com/cofacts/url-resolver/pull/70/files#diff-64ff70ff651c3a5a54fda110aa5fb88c
Should merge along with https://github.com/cofacts/url-resolver/pull/70/

Coverage remained the same at 86.424% when pulling f774127e160217b50741207ec68c4d83229b9fb2 on sync-with-resolver into 11ea79df018a9a06fa8e90a314e98ecc90b28eef on master.


SOV-2903: add defaint to browser wallets

https://sovryn.atlassian.net/browse/SOV-2903

moved to #35


Improve error reporting for process component on POSIX systems

@hapoo, @maciekab This should improve the generated error messages if exceptions are thrown because of fork or execve problems. Please check whether this works as expected.


feat(DTFS2-6733): add 'Check your email' screen

Introduction
As part of the new 2FA login flow, we need to add a 'Check your email' screen to Portal UI matching this design that will be (but not as part of this ticket) shown to the user after they click login.
Resolution
Added the screen.

Codecov Report

Merging #2185 (04e862c) into main (2390d16) will decrease coverage by 19.93%.
Report is 78 commits behind head on main.
The diff coverage is 4.65%.

@@            Coverage Diff             @@
##             main   #2185       +/-   ##
==========================================
- Coverage   21.01%   1.09%   -19.93%
==========================================
  Files        1030     417      -613
  Lines       25229   10446    -14783
  Branches     4081    1192     -2889
==========================================
- Hits         5303     114     -5189
+ Misses      17370    9355     -8015
+ Partials     2556     977     -1579

Flag
Coverage Δ

ui-test
?

unit-test
1.09% <4.65%> (+0.37%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

dtfs-central-api/src/helpers/isNumber.js
100.00% <100.00%> (ø)

dtfs-central-api/src/helpers/index.js
0.00% <0.00%> (ø)

...c/v1/controllers/cron-jobs/cron-jobs.controller.js
0.00% <0.00%> (ø)

.../durable-functions/durable-functions.controller.js
0.00% <0.00%> (ø)

.../v1/controllers/portal/deal/get-deal.controller.js
0.00% <0.00%> (ø)

.../portal/gef-facility/update-facility.controller.js
0.00% <0.00%> (ø)

...1/controllers/tfm/deal/tfm-get-deals.controller.js
0.00% <0.00%> (ø)

...controllers/tfm/deal/tfm-update-deal.controller.js
0.00% <0.00%> (ø)

...s/portal/gef-deal/add-min-activities.controller.js
0.00% <0.00%> (ø)

...rs/tfm/amendments/tfm-get-amendments.controller.js
0.00% <0.00%> (ø)

... and 3 more

... and 836 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


add MIT license

@pvh this look ok to you, with "Ink & Switch LLC and Cambria contributors" as the name on the license?
I assume it doesn't matter that much but just wanted to confirm before merging


Stock is not displayed

Could you provide more details - e.g., precise query, system, and browser used? And also include any errors shown in the developer's console.
I just tested a query that includes that component you have shown in your  screenshot, and it seems to work just fine:

Query was LDO, it works fine now.
Thank you.


FR: proxy support

Environment

Xcode version: 10.1
Firebase SDK version: 5.7.0
Firebase Component: Database
Component version: 5.0.2

Problem
My application tried to access Firebase Realtime DB behind corporate HTTP(S) proxy, but failed. FIRAuth returned user information (AuthDataResult), but FIRDatabase did not returned any data.
I'm afraid FIRDatabase does not use HTTP(S) but webSocket.
Could it be supported to access the DB behind the proxy?
I'm using iOS - Swift to build my application. AuthDataResult is defined as follows: https://firebase.google.com/docs/reference/swift/firebaseauth/api/reference/Classes/AuthDataResult?hl=ja

Unfortunately, the Realtime Database does not support HTTP(S) proxies and we've shifted our development focus to Firestore.
Firestore uses gRPC for transport, and that does support proxies. You can set one by setting the http_proxy environment variable. We don't yet directly support reading proxy configuration from the system, but this is something that's straightforward to wire together using an approach like this one: https://stackoverflow.com/a/11540930/6253640.


Attribute-based APIs should check whether map of attributes is empty before setting Create Input shape

Describe the bug
The sqs controller crashes with the following error if you try to create a queue without the delaySeconds field specified:
2023-02-15T10:00:13.577Z	ERROR	controller.queue	Reconciler error	{"reconciler group": "sqs.services.k8s.aws", "reconciler kind": "Queue", "name": "test-niels-queue", "namespace": "aws-controllers", "error": "MalformedInput: End of list found where not expected\n\tstatus code: 400, request id: 87b0a4ad-0ae0-5e82-8147-f8cba58d6c3f"}

Steps to reproduce
Create Queue object as follows:
apiVersion: sqs.services.k8s.aws/v1alpha1
kind: Queue
metadata:
  name: my-test-queue
spec:
  queueName: my-test-queue

Expected outcome
I expected a default to be chosen and not a crash, since the resource does not mention this field to be required:
$ kubectl explain queue.spec

KIND:     Queue
VERSION:  sqs.services.k8s.aws/v1alpha1

RESOURCE: spec <Object>

DESCRIPTION:
     QueueSpec defines the desired state of Queue.

FIELDS:
   contentBasedDeduplication	<string>

   delaySeconds	<string>

Environment
v0.0.3

/assign

@nielstenboom apologies for the long delay. Turns out this isn't specific to delaySeconds. It's a bug in the controller when there is an empty map of attributes (in other words, when none of the attribute-based fields are present in the Spec). I'll need to address this in the code-generator and then regenerate the SQS controller. Thanks for your patience!

That's alright, thanks for looking into it!


Nil bridge | Production

Audit
Staked ledger
optimisations
Upgrade path

David.sedgwick commented: Road to Production proposal shared with MF.
VS to review Rust Node integation for auto-proof updates.
Phillip H carrying out testing of e2e (again)
Next step, get the above concluded and work out if/how we work with Nil and current engagement and also future engagement

testing


Change order of Newman tab listings

Change order of tab listings to Rank/Entities/Topics/Email/Attachments. Contents of Rank, Entities, and Topics do not change after account is ingested. Email and Attachments change based on selections from the graph and the Email View pane.

Closing as OBE.  GUI was completely redone.


Adapt to --strict-image-heap being enabled by default

Starting with GraalVM 22, --strict-image-heap is enabled by default.
Here's the error we now get if I run bb native-image-test using GraalVM 22.0.1:
Error: An object of type 'single_segment_example$dummy' was found in the image heap. This type, however, is marked for initialization at image run time for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in the image heap must be initialized at build time.

You now have two options to resolve this:

1) If it is intended that objects of type 'single_segment_example$dummy' are persisted in the image heap, add

    '--initialize-at-build-time=single_segment_example$dummy'

to the native-image arguments. Note that initializing new types can store additional objects to the heap. It is advised to check the static fields of 'single_segment_example$dummy' to see if they are safe for build-time initialization,  and that they do not contain any sensitive data that should not become part of the image.

2) If these objects should not be stored in the image heap, you can use

    '--trace-object-instantiation=single_segment_example$dummy'

to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with

    '--initialize-at-run-time=<culprit>'

to prevent the instantiation of the object.

If you are seeing this message after upgrading to a new GraalVM release, this means that some objects ended up in the image heap without their type being marked with --initialize-at-build-time.
To fix this, include '--initialize-at-build-time=single_segment_example$dummy' in your configuration. If the classes do not originate from your code, it is advised to update all library or framework dependencies to the latest version before addressing this error.

The following detailed trace displays from which field in the code the object was reached.
Detailed message:
Trace: Object was reached by
  reading field clojure.lang.Var.root of constant
    clojure.lang.Var@721ec3a5: #'single-segment-example/dummy
  reading static field hello_world.main$_main.const__0
    at <unknown-location>
  registered as read because: null

Congrats to the Graal team for the comprehensive error message!
So what's happening is that we skip registering the single-segment namespace for build-time initialization because it has no package, but with --strict-image-heap now enabled by default, because the single-segment namespace is not initialized at build time, we get the error above.
This breaks our native image test but seems like reasonable behaviour to me.
Options to fix our native-image-test:

Add in -H:-StrictImageHeap option to native-image to disable strict image heap
Add in the --initialize-at-build-time=single_segment$dummy option to native-image
Stop testing single-segment namespaces
Isolate testing single-segment namespaces and expect native-image to fail

I think I like option 2. It gives some hint to the dogged how they might actually init a single segment namespace while not encouraging turning off the now default strict image heap.

Stop testing single-segment namespaces

I vote for that one

@borkdude and I chatted. I shared that the --initialize-at-build-time for the single segment namespace worked in my local testing. He found that surprising because he did not have success with this kind of thing in the past:

If you compile that namespace, you'll see many more classes than just this one. previously I got errors when not explicitly mentioning them

I will:

double-check my local testing
try an experiment with something more complicated, like the single segment namespace in digest.

I experimented with digest by using its (now deprecated) single-segement digest namespace.
Setup

added org.clj-commons/digest {:mvn/version "1.4.100"} dep to test-hello-world/deps.edn
in test-hello-world/src/hello_word/main.clj

added [digest] under to :require
used it from -main like so: (println "md5 digest for clojure" (digest/md5 "clojure"))

Sanity test using JVM
cd test-hello-world
bb clean
bb build
java -jar target/hello-world.jar

Resulted in, as expected:
md5 digest for clojure 32c0d97f82a20e67c6d184620f6bd322
Hello world

Initial Run
From project root:
bb clean
bb native-image-test

Yielded native-image error reported in this issue, but instead for digest$digest.
With init at build time for digest$digest
Edited test-hello-world/bb.edn to include --initialize-at-build-time=digest$digest for native-image calls.
From project root:
bb clean
bb native-image-test

This run shows probably more of what @borkdude experienced.
The native-image error matched the error reported in this issue, but instead for each of: digest$fn__193, digest$fn__191, digest$fn__189,digest$fn__187,digest$fn__179,digest$fn__177, and digest$fn__164.
Conclusion
Single-segment namespaces cannot be handled easily by via --initialize-at-build-time.
Perhaps there is some way to initialize them properly with an agent?
As single-segment namespaces are an anti-pattern in Clojure, I'm happy not to invest any time in finding a way to make them work in conjunction with graal-build-time and to continue to consider them out of scope and unsupported.
So option 3, Stop testing single-segment namespaces, it is!

I think I'll leave our single-segment warning message in, it could be a helpful hint as to why the build has failed.


Turbo animation out of place in smaller windows

If the window for the application is small in DEs like Gnome and KDE, then sometimes the turbo animation will be offset by a line or two

Something like this


docs: clarify correct format to run godoc for axelar docs locally

Description
the README has confusion on how to run godoc server locally -> when I first tried it, I ran godoc -http ":{8080}" -index and got error, then figured out the right format should be godoc -http ":8080" -index
This PR adds a bit more clarity on how to run godoc correctly
Todos
n/a
Steps to Test
manual locally
Expected Behaviour
Other Notes

thanks for contributing.


RTMP with sound support (AAC and MP3)

Is the goal of this to have audio working for Frigate RTMP stream (which has audio in AAC, and therefore would need to be converted on the fly by go2rtc to PCM so that it can be played by regular WebRTC players, like the RTSPToWebRTC HA native integration?)

It should be converted on the fly by ffmpeg, if you want audio with WebRTC.
Goal of this issue just to pass AAC and MP3 from RTMP to RTSP or to MSE.

The thing is, since HA communicates with go2rtc by using the "RTSPToWebRTC" standards in an automatic manner, I have no chance to tell go2rtc to also convert the audio stream from AAC to PCM so that it becomes playable by the HA frontend.
Do you think something like this (automatic conversion if the audio source format isn't PCM and the stream is initiated by HA's RTSPToWebRTC integration) is possible to achieve?

You may add new stream to go2rtc with ffmpeg as source. And then add this stream to Hass as Generic camera.

I understand, but I have many cameras and I don't want to create and maintain a duplicate entity plus the go2rtc configuration for each of them.


captureHTTPsGlobal now results in TypeError: Cannot redefine property: request

When packaging and running my AWS Lambda function using serverless + webpack with new versions of aws-sdk and aws-xray-sdk-core, I receive this error: TypeError: Cannot redefine property: request
import * as AWS from 'aws-sdk';
// import * as http from 'http';
import * as https from 'https';
import { ObjectType, PermissionRole, PrivacyRating } from './gql-types';
import axios from 'axios';
import { decrypt } from './utils/kms.service';

captureAWS(AWS);
// captureHTTPsGlobal(http, true) ; <-- having this uncommented causes the issue
// captureHTTPsGlobal(https, true); <-- having this uncommented causes the issue

AWS.config.update({
  httpOptions: {
    agent: new https.Agent({
      keepAlive: true,
      maxSockets: Infinity,
    }),
  },
});

Package versions:
"node": "14",
"aws-xray-sdk-core": "3.3.4",
"aws-sdk": "2.1074.0"

I think reverting to "3.2.0" fixes this? I'm going to do more testing and confirm.

Hi @mrowles,
Thanks for raising this. Definitely seems like a problem because we added TypeScript support, which changed the way we bundle our final package in 3.3.x of this SDK. It's possible that this relates to Webpack, but probably more likely that this is similar to #450. Could you try the ts-ignore workarounds suggested in that post to see if that helps with the issue?
This way we can see if the same fix would apply.

I am seeing the same issue with CDK 2.15.0 (which uses esbuild), when the bundling output format is set to OutputFormat.ESM. Reverting to CommonJS (OutputFormat.CJS) resolve it, at the expense of much larger bundle sizes.
Lambda code:
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
import { captureAWSv3Client, captureHTTPsGlobal } from 'aws-xray-sdk';
import * as https from 'https';

const dynamoDbClient = new DynamoDBClient({ });
const dynamoDb = DynamoDBDocumentClient.from(dynamoDbClient);
captureAWSv3Client(dynamoDbClient);
captureHTTPsGlobal(https); // <-- fails here at runtime

CDK resource:
const apiHandlerFn = new njs.NodejsFunction(this, 'AccountDomainApiHandler', {
  timeout: Duration.seconds(10),
  runtime: lambda.Runtime.NODEJS_14_X,
  entry: path.join(__dirname, '../src/account-domain-api/index.ts'),
  bundling: {
    sourceMap: true,
    target: 'es2020',
    format: njs.OutputFormat.ESM, // <-- `njs.OutputFormat.CJS` works
    mainFields: [ 'module', 'main' ]
  },
  environment: {
    NODE_OPTIONS: '--enable-source-maps',
  },
  logRetention: logs.RetentionDays.TWO_WEEKS,
  tracing: lambda.Tracing.ACTIVE
});

I'm also hitting this issue when bundling using esbuild, I'm not using cdk but my tscofnig.json is using commonjs already so the suggested fix above doesn't help

I also use commonjs bundles an run into this issue. How can I resolve this?

I migrated to aws-sdk v3, thus I had to upgrade aws-xray-sdk-node because of AWSXRay.captureAWSv3Client(...). I had to hack around and finally ended up with a modified copy of http_p.js file (see gist https://gist.github.com/jepetko/cde1eb40493c6a19dd9ce29de39cbdd8) which I use instead of the original one.
I don't recommend to use it because is hacky & ugly. I also intent to remove it asap.
Is there a plan how to tackle this issue?
Thank you.

it turned out that the redefinition of properties (https://github.com/aws/aws-xray-sdk-node/blob/master/packages/core/lib/patchers/http_p.js#L212) works on default export (while it doesn't when importing the entire module using import * as  ... syntax).

I'm seeing the same issue after moving to esbuild from webpack. Reverting to 3.2.0 for the time being.

Also just hit this. I have not been able to get the ts-ignore workaround to work yet (it compiles/deploys, but no tracing, but that might be an issue our side).

Hi all, I created a backlog item for us to investigate this issue. If you are able to share any reproduction code with us and include details about your environments, that would be very helpful!


gitlab, bitbucket, gogs and gitea

#4

How hard would it be to support not only gitlab.com, but also other self-hosted installations of Gitlab, Gogs, and Gitea? This is very similar to #2.

Hi @evaryont
It seems that there is no conclusion yet. This PR could only support some specific domains.


Cannot search for folders anymore

Describe the bug
Before, searching for files used to return folders on top, but something has changed and now only files are returned in search api
To Reproduce
Steps to reproduce the behavior:
Use "Search my OneDrive" option to setup this api call:
https://graph.microsoft.com/v1.0/me/drive/root/search(q='finance')?select=name,id,webUrl
Expected behavior
Search result should include folders first, but it doesn't include any folders, it only returns files. In onedrive.com interface, to replicate this behavior, when you search on top, you have to change "&searchScope=all", and the results match the api call. However, the default behavior is "&searchScope=folder", and that's what I want the api to return as well. How can I specify the search query parameter to specify folder search? This used to work as expected a few months ago.
Additional Context
I understand this isn't a graph explorer issue, it's a change in the actual onedrive api behavior. There is no documentation on the change, and there isn't any documentation on how to include folders in search either. This was the best place I could find to highlight this issue and report it as a bug.

Hi @razisyed,
This is likely a change in the onedrive api as you had mentioned. Please raise this issue in the Microsoft Q&A forum where the appropriate time shall be able to help


Translate index (ko)

@nodejs/iojs-ko review please. :3

I'm done.

@nodejs/iojs-ko Can I please get a +1 from you?

+1

@marocchino are you planning to add https://github.com/nodejs/new.nodejs.org/pull/176#discussion_r40045665 as well, or are we good to merge?

oh, It's not review. GTM. :3

I'll give +1 to this. :)

Okay, merged.


Fails with multiple connected cameras

Hi,
I get the following error when trying to run the basic people counting example when there are multiple cameras attached:
2019-10-14 | 14:12:56:698 | DEBUG | Device API USB Manager | Got ATTACH event from device with id 10005
2019-10-14 | 14:12:56:702 | DEBUG | Device API USB Manager | Got ATTACH event from device with id 10008
2019-10-14 | 14:12:56:962 | DEBUG | Device API USB Manager | DeviceList found 2 enumerated Huddly devices
2019-10-14 | 14:12:56:963 | DEBUG | Device API USB Manager | Filtering the devices for the following serial number: B41A00826
2019-10-14 | 14:12:56:966 | INFO | Device API USB | Transport Protocol is Hlink
2019-10-14 | 14:12:56:968 | DEBUG | Autozoom Control | Initializing autozoom with framing config option AUTO_PTZ: true
2019-10-14 | 14:12:56:969 | DEBUG | Autozoom Control | Uploading new framing config
2019-10-14 | 14:12:57:172 | DEBUG | Autozoom Control | New framing config uploaded on the camera.
2019-10-14 | 14:12:57:288 | DEBUG | Device API USB Manager | DeviceList found 2 enumerated Huddly devices
2019-10-14 | 14:12:57:289 | DEBUG | Device API USB Manager | Filtering the devices for the following serial number: B41B01163
2019-10-14 | 14:12:57:290 | ERROR | Device API USB Transport | Failed in bulk read write! Resuming.
Error: Unknown error -100
    at Object.errstr (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\errstr.ts:32:14)
    at _cpp.readDevice.ret (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\bulkusbendpoint.ts:44:31)
2019-10-14 | 14:12:57:306 | INFO | Device API USB | Transport Protocol is Hlink
2019-10-14 | 14:12:57:407 | ERROR | Device API USB Transport | Failed in bulk read write! Resuming.
Error: Unknown error -100
    at Object.errstr (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\errstr.ts:32:14)
    at _cpp.readDevice.ret (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\bulkusbendpoint.ts:44:31)
2019-10-14 | 14:12:57:510 | ERROR | Device API USB Transport | Failed in bulk read write! Resuming.
Error: Unknown error -100
    at Object.errstr (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\errstr.ts:32:14)
    at _cpp.readDevice.ret (C:\MAIA\MAIA-experience\camera-analytics\node_modules\@huddly\device-api-usb\src\bulkusbendpoint.ts:44:31)
...
(continues forever)

While it's looping on this error, basic input devices like keyboards and mice don't work.
Here is the approximate code I'm running:
const HuddlyDeviceAPIUSB = require('@huddly/device-api-usb').default;
const HuddlySdk = require('@huddly/sdk').default;

const meetingRoomName = process.env.HUDDLY_MEETING_ROOM || 'TEST_ROOM';
const cameraSerialNumber = process.env.DETECTIONS_SERIAL_NUMBER || 'B41A00826';

const usbApi = new HuddlyDeviceAPIUSB();

// Create an instance of the SDK
const sdk = new HuddlySdk(usbApi);

async function init() {
  await sdk.init();

  sdk.on('ATTACH', async (cameraManager) => {
    if (cameraManager.serialNumber !== cameraSerialNumber) { // <--- this is me trying to fix it
      return;
    }

    const autozoomCtl = cameraManager.getAutozoomControl();
    // Make sure that autozoom (genius framing is started)
    await autozoomCtl.init();
    await autozoomCtl.start();

    // Now get the detector instance from sdk
    const detectorOpts = {
      DOWS: false, // DOWS = 'detection only when streaming' (per the docs)
      objectFilter: ['person']
    };
    const detector = cameraManager.getDetector(detectorOpts);

    // Setup the detection listener
    detector.on('DETECTIONS', detections => {
      // detection stuff
    });

    // Calling detector init will initiate the generation of detection events
    detector.init();
  });
}

init();

The above code works great with only one camera connected. Let me know if I'm doing something wrong, or if I need to wait for a fix.
Thanks!
Andrew

Right now multiple cameras are not supported at the moment. Could you explain the use case for it, it something that would be possible to add support for, but until now not been necessary.

We have a primary Huddly camera as the main video feed for a meeting room as well as people detections, and a secondary Huddly camera pointed at a whiteboard. We'd like to have detections work on the primary camera and still have the ability to use the secondary camera, but we're having the issue as described above.
If it's too much effort to support multiple cameras, it would be great if we could pick one during setup (maybe by serial number, or even an integer) and have the script not fail.

@FreedCapybara I'll have a look and see how we can tackle the problem you are facing. I will update you as soon as we have a fix for this.

@FreedCapybara First of all we are sorry for the confusion in our side, but SDK supports targeting a specific camera while having multiple Huddly cameras connected to your host machine.
What we do not support is:

Communicating with multiple cameras at the same time on a single node process
Targeting the same camera from two different node process (ex. running the same application from two different terminal while still targeting the same camera serial)

As such, in your case where you have two different Huddly IQ cameras connected on the same host machine, you must tell the SDK which camera you are going to use in your appication that is consuming the SDK (by using the serial number of course). When initializing the SDK, it is possible to specify the target serial number in the options argument. The code below demonstrates how to do just that:
const HuddlyDeviceAPIUSB = require('@huddly/device-api-usb').default;
const HuddlySdk = require('@huddly/sdk').default;

const meetingRoomName = process.env.HUDDLY_MEETING_ROOM || 'TEST_ROOM';
const cameraSerialNumber = process.env.DETECTIONS_SERIAL_NUMBER || 'B41A00826';

const usbApi = new HuddlyDeviceAPIUSB();

// Create an instance of the SDK
const sdk = new HuddlySdk(usbApi, [usbApi], {
  serial: cameraSerialNumber, // Target a specific camera using serial number
});

sdk.on('ATTACH', async (cameraManager) => {
  const autozoomCtl = cameraManager.getAutozoomControl();
  // Make sure that autozoom (genius framing is started)
  await autozoomCtl.init();
  await autozoomCtl.start();

  // Detector options to get head and person detections without streaming main
  const detectorOpts = {
    // DOWS: false, // DOWS is default false!
    objectFilter: ['head', 'person']
  };

  const detector = cameraManager.getDetector(detectorOpts);

  // Setup the detection listener
  detector.on('DETECTIONS', detections => {
    // detection stuff
    console.log(`Got ${detections.length} detections from camera with serial ${cameraManager.serialNumber}`)
  });

  // Calling detector init will initiate the generation of detection events
  detector.init();

  process.on('SIGINT', async () => {
    console.log("\nClosing application gracefully");
    if (detector) {
      console.log('Destroying detector');
      await detector.destroy();
    }

    if (cameraManager) {
      console.log('Closing connection with the camera');
      await cameraManager.closeConnection();
    }
    console.log("\nTeardown completed! Application closed");
    process.exit();
  });
});

sdk.init();

Please try the example above and let us know if you experience any issues with it.
P.S I tried the code snipped above while having two Huddly IQ cameras connected on my machine and no failures were observed.

Thank you, I believe I am within the supported use-case, and adding the serial number during SDK setup does fix the issue 👍
One thing to note: both my code and the code you posted doesn't work if you have the Huddly App running. The program logs an ATTACH event and appears to hang (might not actually hang, but it doesn't log any further output).


Please add security_advisory and code_scanning_alert event types

These two event types would be very useful to be able to receive through the webhook API.
https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#security_advisory
https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert
Thanks, Ryan

I'm fairly new to golang so I'm not my first choice to work on this but if you don't think there would be much interest from anyone else on it I'm sure I can muddle though. What would you recommend?

Thanks, @uptycs-rmack - no need to muddle through... we have lots of eager contributors to this repo who are happy to help out.  I'll open it up.

This would be a great PR for any new contributor to this repo or a new Go developer.
All contributions are greatly appreciated!
Feel free to volunteer for any issue and the issue can be assigned to you so that others don't attempt to duplicate the work.
Please check out our CONTRIBUTING.md guide to get started. (In particular, please remember to go generate ./... and don't use force-push to your PRs.)
Thank you!

@gmlewis I will be more than happy to work on this.

Thank you, @sourikghosh ! It's yours.

Thank you @gmlewis  and @sourikghosh!


⚠ Spryr has degraded performance

In c4f9cf6, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5686 ms

Resolved: Spryr performance has improved in 1ec89cc after 13 minutes.


iscsi: fix ownership on iscsi-gateway.cfg

This file is currently deployed with '0644' ownership making this file
readable by any user on the system.
Since it contains sensitive information it should be readable by the
owner only.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1890119
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

jenkins test centos-non_container-all_daemons

jenkins test centos-container-all_daemons

@dillaman

jenkins test centos-container-all_daemons

jenkins test centos-non_container-all_daemons

jenkins test centos-non_container-all_daemons

jenkins test centos-container-all_daemons


[Concurrency] Stop runDetached from actually printing/running the task.

Rather than immediately running the task synchronously within
runDetached, return the handle to the newly-created task. Add a method
task.Handle.run() to execute the task. This is just a temporary hack
that should not persist in the API, but it lets us launch tasks on a
particular Dispatch queue:
extension DispatchQueue {
  func async<R>(execute: @escaping () async -> R) -> Task.Handle<R> {
    let handle = Task.runDetached(operation: execute)

    // Run the task
    _ = { self.async { handle.run() } }()

    return handle
  }
}

One can pass asynchronous work to DispatchQueue.async, which will
schedule that work on the dispatch queue and return a handle. Another
asynchronous task can then read the result.
Yay for rdar://71125519.

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - c8cc876adcb22d2cccd45cab1a06d121dfe65db4

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


Feature Request: Publish a GitHub Action

Hi, thanks for the project and for picking up the work of maintaining the schema updates for newer versions of Kubernetes.
It would be nice if you published a GitHub Action to make it easier to use in GitHub's CI system. If you publish Docker images for each release, it should be pretty straightforward to set up.

Hi @jalseth , yes I like the idea :) Would love to publish docker images for each release, though while Github actions requires a PAT instead of a GITHUB_TOKEN I'm not sure I'm ready to do that from CI (see https://docs.github.com/en/packages/guides/using-github-packages-with-github-actions )

That is true for GitHub Container registry, which is separate from GitHub Packages. You can still push to GitHub Packages with GITHUB_TOKEN, and then the action should be able to pull from that (I haven't tested this part). The page you linked has an example of pushing to GitHub Packages with the GITHUB_TOKEN.

Yeah I think you re right, maybe we can rely on Github packages for now, and by the time it gets retired hopefully Github Container Registry will support a GITHUB_TOKEN :) Checking this out now.

Alright, added some jobs to release docker images regularly, hopefully Github wont retire Github packages for Docker images before enabling support for GITHUB_TOKEN in the newer Github Container Registry.
So tags: master (what is in the master branch), latest (latest tag released, assuming we always publish incremental versions) and specific releases. If i manage to figure out how to delete the "ELEASE_VERSION" it might look a bit better :)
https://github.com/yannh/kubeconform/packages/258313/versions
I'll work on the action soon.

I have a branch that works (github-action) but the Docker Registry will be a problem. There is no anonymous pull from Github packages and I fail to use the image for a github action. Github Container Registry does support anonymous pull, but requires a PAT... or I could setup a Dockerhub account but that also has quite strong rate limits.. Not too sure what the recommended way is.

Seems that GitHub don't affected from the rate limiting if I read this correctly https://github.community/t/did-dockerhub-rate-limit-affect-github-action/128158/2


upgrade to spec; capture 'inspectee'

update to the latest spec (capture the Event.inspectee field)
make some parse methods more defensive
upgrade to the latest version of markdown
bump the pubspec version for release

@danrubel

@danrubel, landing this TBR, I have some other work that builds on this PR.

Sorry for the delay. Yes TBR when you need to do so. Thought you were on vacation :-)
LGTM!


Extension services run even when not in playmode

Describe the problem
As discussed in the mrtk slack channel I am bringing up to discussion here, whether extension services / systems should get the Initialize() call even if the editor is NOT playing. While the core services seem to work the way they are with custom services created by MRTK users it's likely people run into issues, since they don't expect any of the service lifecycle methods to run when no playing.
The call path is: MixedRealityToolkit.OnValidate() -> RegisterInstance() -> InitializeInstance() -> InitializeServiceLocator() -> InitializeAllServices()
Describe the solution you'd like
Do not initialize extension services when not running the player.
Describe alternatives you've considered
Keep it the way it is and work around it using
if (!Application.isPlaying)
{
  return;
}

Excellent question and feedback @FejZa! We will look into this.

This is currently by-design, yeah. There are some services that require edit-time set-up, which is why Initialize gets called even when the editor isn't playing. It feels like an asymmetrical pattern to prevent this from being possible with extension services.
It may be that this is poorly documented and something we should make sure is obvious. It may also be necessary to reevaluate this action. I know @wiwei had been specifically investigating that OnValidate() call, especially with the frequency it happens.

I see. I agree in that case a note in the extension services docs might help. Currently the only way of learning about it is running into errors when some null reference exceptions or whatever get thrown in the Initialize() call.

The more I use MRTK and look under its hood, the more it seems to me that Extension Services were meant to be what their name suggests - to extend the framework itself rather than use them as business/application-level services. I think the fact that some services need to do some initialization work in Edit mode adds to this point.
I wonder what will happen with the idea of standalone services which are currently implemented as Experimental and which I don't believe have this problem. See this discussion: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/3545#issuecomment-508883850

I agree in that case a note in the extension services docs might help.

I'll add a note to the interface method to clarify when this method will be called and how it can be used. Your code snippet above with Application.isPlaying is the same pattern we've adopted in various parts of the MRTK, and I'm also going to work that into our docs.


fix(3699): Amend isNumeric typings and add unit test

Description: isNumber type predicate should narrow to nnumber | string when return true
Related issue (if exists): #3699

Coverage remained the same at 96.948% when pulling 3305b224705201bd67a3d92e21d7b0daebd959a6 on dkosasih:fix/amend_typings into 9ea0ec93d2c675d42e99021af7a0e223585e615a on ReactiveX:master.

@cartant I have changed the commit message to chore.
please advice if there is anything else I need to be aligned.


Fix e2e tests

fix the e2e issue due to the name change in prow - https://github.com/openshift/release/pull/31255
Signed-off-by: clyang82<EMAIL_ADDRESS>

/retest

/retest

/retest

/retest

/lgtm