test: entity picker refactor and tests

Should give list of test cases:
  EntityPicker
    new model
      √ should open with 0 entities in the list (10571ms)
      √ should auto labeled the newly created entity (1169ms)
      √ should open with previously created entity in options (1143ms)
      √ should still list entity even if had been used and removed (539ms)
    existing model
      controls
        √ when pressing tab it should select the highlighted entity (8022ms)
        √ when pressing enter it should select the highlighted entity (424ms)
        highlight
          √ should list all the entities in the model (110ms)
          √ should open with the first item highlighted (133ms)
          √ when closing and reopening the picker after adjusting text and highlight should reset to empty and be at the top (385ms)
          arrow keys
            √ when pressing down arrow it should move the highlight down (125ms)
            √ when pressing up arrow it should move the highlight up (164ms)
            √ when pressing up arrow and the top it should rotate to the bottom (70ms)
            √ when pressing down arrow and the end it should rotate to the top (65ms)
      searching
        √ given a search input of X should highlighted characters X in the word (3974ms)
        √ should filter the list of entities to those matching search term (40ms)

Link to Cypress video:
https://microsoft.sharepoint.com/:v:/t/convsysresearch/EWFwI8IE0-9IqUlE4fkuVVIBUws9LD88gW9e0b7ganBjRA?e=hGwv1E
No training so it can runs all these tests in 35 seconds! Imagine if all these test cases were split across unrelated scenarios and in order to tell if something works you have to run all of them and wait for all of them.
Let me know if you think there are other cases.
Almost more important than the tests is the implementation changes to EntityPicker.

Gets rid of the wrapping container using hooks as outlines in previous PR
Allows you to think about effects of component due to changes of variables instead of thinking about component lifecycle like mount, didChange, unmound, etc.  Instead of intermixing unrelated concerns across the lifecycle methods, you get to keep them together so there's only one place to look.

In more practical terms, instead of:
componentDidMount() {
  doA()
  doB()
  doC()
}

componentDidChange() {
  if(prevB !== nextB) {
    doB()
  }

  doA()
}

componentWillUnmound() {
  doA()
  doC()
}

render() { }

It could be:
() => {
useA()
useB()
useC()
...
}

:tada: This PR is included in version 0.353.11 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[GHSA-gpqc-4pp7-5954] Authentication Bypass by CSRF Weakness

Updates

References

Comments
Added CVE-related link. Do not see how to enter CVE value.

Hi there @damianlegawiec! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Hey @jasnow, if you take a look at the database we already have this CVE
https://github.com/advisories/GHSA-26xx-m4q2-xhq8
You seem to have come across a dupe advisory.
Same for #2028 and #2027

@darakian - Yes, there are duplicates in your database. So what do you do with them?

 We have a tracking issue to deduplicate advisories when we can and I'll make a not of these three there for you 👍

The issue is internal actually. I can make a point of pinging here if you like, but I don't expect it to be a soon thing.


RPi-Monitor show on other Webserver Container

Hello. I run an Apache Webserver in the container next to the RPi-Monitor-Container. How I can show the RPi-Monitor on the Webserver?

That's more of an apache question than rpi-monitor question, but as an apache novice, I think you can do this using mod proxy.
https://httpd.apache.org/docs/2.4/mod/mod_proxy.html
You could conceivably do something like this in a config:
ProxyPass "/monitor" "http://pi:8888/"


Make users name saved conversations

So that on the analysis page, they can select from the one(s) that they want judged

added tags as well


feat: update public workspace

Description

Issues Resolved

Screenshot

Testing the changes

Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration
[ ] yarn test:ftr

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[ ] Commits are signed per the DCO using --signoff

Codecov Report

Merging #70 (03b1122) into workspace (2996177) will decrease coverage by 18.39%.
The diff coverage is 50.00%.

@@              Coverage Diff               @@
##           workspace      #70       +/-   ##
==============================================
- Coverage      65.85%   47.46%   -18.39%
==============================================
  Files           3341     2587      -754
  Lines          64393    52019    -12374
  Branches       10052     8169     -1883
==============================================
- Hits           42403    24693    -17710
- Misses         19595    25893     +6298
+ Partials        2395     1433      -962

Flag
Coverage Δ

Linux_1
34.69% <100.00%> (+<0.01%)
:arrow_up:

Linux_3
42.80% <50.00%> (-0.01%)
:arrow_down:

Windows_1
?

Windows_2
?

Windows_3
?

Windows_4
?

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

Files Changed
Coverage Δ

.../core/public/saved_objects/saved_objects_client.ts
4.90% <ø> (-84.32%)
:arrow_down:

...ved_objects/service/lib/search_dsl/query_params.ts
5.43% <0.00%> (-78.27%)
:arrow_down:

..._objects/workspace_saved_objects_client_wrapper.ts
3.77% <ø> (-1.89%)
:arrow_down:

src/core/utils/constants.ts
100.00% <100.00%> (ø)

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


List improvements in README compared to the original

I think it's time to start collecting a high-level list of improvements compared to the original project. Here's an initial list:

workspaceSymbol support
Elixir 1.10 support
Debugger still works on Elixir 1.9+
Support asdf-vm in wrapper scripts to auto-detect elixir and erlang versions to use
Detect liveview .leex files

Also issues compared to original:

Might not support remote containers

Since this is now the canonical repo (#174), this is no longer needed.


Remove instances of %ldconfig_scriptlets in specs

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[ ] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[ ] Any updated packages successfully build (or no packages were changed)
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

We don't define %ldconfig_scriptlets as part of our standard RPM macros. So, let's remove the ones that remain in our specs.
Change Log

Replace %ldconfig_scriptlets with actual %post/%postun calls to ldconfig in libpwquality, cpprest, and libxcrypt.

Does this affect the toolchain?

YES
Test Methodology

Running a pipeline build currently

Not linting specs, so we can go ahead and unblock the toolchain build ASAP

AMD pipeline built toolchain and RPMs, ARM toolchain build worked but RPM build failed due to build machine error- merging, since there is low risk of actual ARM failure given that these changes aren't platform specific


Added Skill Table if N_obs>1

Hi,
I just did a very small change as before plotting a scatter with skill_table was only allowed for 1 observation vs the model.
Now it works for n number of observations with n>=1 , and in this case the skill_table will be cc.mean_skill()
Example of skill table with 1 observation

Example of skill table with n>1 observations

This is a very powerful tool of fmskill (the mean_skill) and I changed nothing in it, just added the option to put it in a scatter plot.

Fixed a bug when the the skill_table was being requested for a Pointcomparer (it used to work just for ComparerCollection, now it works for both).
I fixed it because it failed some tests


(IMA) Failed to load an Ads on live-stream content. AdsMediaSource : UnrecognizedInputFormatException & Input does not start with the #EXTM3U header

Version
Media3 main branch
More version details
media3 version : 1.3.1
Devices that reproduce the issue

Samsung galaxy A54
Xiaomi Redmi Note 6 Pro
Others phone

Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
I am using my own VAST tag that contains 15 pre-roll ads.
When I load this VAST tag into the demo app, the ads play as expected. However, when the ad count reaches 5 out of 15, it fails, and the content starts playing instead of continuing with the remaining ads.
Expected result
All ads should play as expected. If there is an error, the system should skip the ad and decrement the ad counter.
Before migrating to Media3, the ads played correctly with ExoPlayer version 2.18.7.
Actual result
The ads fail to load after the 5th ad out of 15. After this failure, the live-stream content resumes automatically.
Media

Media url : https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel.ism/.m3u8

Bug Report
Do you have any insight or suggestion to resolve this issue? Please let me know if you need additional information.`
this is the log :
internalError [eventTime=56.57, mediaPos=0.00, window=0, period=0, adGroup=0, ad=11, loadError   androidx.media3.exoplayer. source. ads. AdsMediaSource$ AdLoadException:  androidx.media3.exoplayer. source. UnrecognizedInputFormatException:  None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor,  Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor, PngExtractor, WebpExtractor, BmpExtractor, HeifExtractor, AvifExtractor) could read the stream.{contentIsMalformed= false,  dataType=1}       at androidx.media3.exoplayer. source. ads. AdsMediaSource$ AdPrepareListener. onPrepareError( AdsMediaSource. java: 462)        at androidx.media3.exoplayer. source. MaskingMediaPeriod. maybeThrowPrepareError( MaskingMediaPeriod. java: 167)        at androidx.media3.exoplayer. source. MaskingMediaPeriod. maybeThrowPrepareError( MaskingMediaPeriod. java: 157)        at androidx.media3.exoplayer. MediaPeriodHolder. hasLoadingError( MediaPeriodHolder. java: 405)        at androidx.media3.exoplayer. ExoPlayerImplInternal. isLoadingPossible( ExoPlayerImplInternal. java: 2636)        at androidx.media3.exoplayer. ExoPlayerImplInternal. maybeUpdateLoadingPeriod( ExoPlayerImplInternal. java: 2211)        at androidx.media3.exoplayer. ExoPlayerImplInternal. updatePeriods( ExoPlayerImplInternal. java: 2185)        at androidx.media3.exoplayer. ExoPlayerImplInternal. doSomeWork( ExoPlayerImplInternal. java: 1103)        at androidx.media3.exoplayer. ExoPlayerImplInternal. handleMessage( ExoPlayerImplInternal. java: 561)        at android.os.Handler.dispatchMessage( Handler. java: 102)        at android.os.Looper.loopOnce( Looper. java: 230)        at android.os.Looper.loop( Looper. java: 319)        at android.os.HandlerThread. run( HandlerThread. java: 67)    Caused by: androidx.media3.exoplayer. source. UnrecognizedInputFormatException:  None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor,  Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor, PngExtractor, WebpExtractor, BmpExtractor, HeifExtractor, AvifExtractor) could read the stream.{contentIsMalformed= false,  dataType=1}       at androidx.media3.exoplayer. source. BundledExtractorsAdapter. init( BundledExtractorsAdapter. java: 108)        at androidx.media3.exoplayer. source. ProgressiveMediaPeriod$ ExtractingLoadable. load( ProgressiveMediaPeriod. java: 1060)        at androidx.media3.exoplayer. upstream. Loader$ LoadTask. run( Loader. java: 421)        at java.util.concurrent. ThreadPoolExecutor. runWorker( ThreadPoolExecutor. java: 1145)        at java.util.concurrent. ThreadPoolExecutor$ Worker. run( ThreadPoolExecutor. java: 644)        at java.lang.Thread.run( Thread. java: 1012)  ] with tag EventLogger

androidx.media3.exoplayer.source.ads.AdsMediaSource$AdLoadException: androidx.media3.common.ParserException: Input does not start with the #EXTM3U header.{contentIsMalformed=true, dataType=4}
at androidx.media3.exoplayer.source.ads.AdsMediaSource$AdPrepareListener.onPrepareError(AdsMediaSource.java:462)
at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(MaskingMediaPeriod.java:167)
at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(MaskingMediaPeriod.java:157)
at androidx.media3.exoplayer.MediaPeriodHolder.hasLoadingError(MediaPeriodHolder.java:405)
at androidx.media3.exoplayer.ExoPlayerImplInternal.isLoadingPossible(ExoPlayerImplInternal.java:2636)
at androidx.media3.exoplayer.ExoPlayerImplInternal.maybeUpdateLoadingPeriod(ExoPlayerImplInternal.java:2211)
at androidx.media3.exoplayer.ExoPlayerImplInternal.updatePeriods(ExoPlayerImplInternal.java:2185)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1103)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: androidx.media3.common.ParserException: Input does not start with the #EXTM3U header.{contentIsMalformed=true, dataType=4}
at androidx.media3.exoplayer.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:262)
at androidx.media3.exoplayer.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:69)
at androidx.media3.exoplayer.upstream.ParsingLoadable.load(ParsingLoadable.java:184)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:421)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)

Thanks for you report!
The player expects an HLS playlist but the stream is something else.
I don't think this is an issue with the library, but a URL of an ad that is supposed to be an HLS stream but is not. Probably a failure page with a non-failure HTTP code that delivers HTML saying that the page does not exist?
I'd suggest to check that ad URIs that you want to load:

Is the URI giving you the response you are expecting? It doesn't seem to be an HLS stream. Can yoy play that URI directly with a player?
Is the response an HLS playlist or some other format?
Is the response giving the correct HTTP response code in case it's a failure? It may be tht a server gives a 200 even if the file can't be loaded.


Ionic/Angular on Meteor?

Hi,
Is there a chance this works on new member of the Meteor family, AngularJS? I'm particularly planning on using it with IonicFramework on Meteor. Or has this been converted to AngularJS somewhere?

The helpers will not work since they are programmed specifically for Blaze, you can definitely tap into their underlying functions to make work with something like angular. I'm not sure if support for angular is something I have in the scope of this project, I'm more likely to pick React.


Add support for Google Monitoring

Pricing page:
https://cloud.google.com/stackdriver/pricing

@alikhajeh1 Hello, can I pick it?

Thanks @ekifel 🕺

@ekifel it might be good to look at the other 7 google_monitoring_* resources as part of this issue, we can still do 1 PR per resource but use the same GH issue.


Building on Windows 7: DotNet CLI could not be downloaded or installed.

I'm running Windows 7, 64-bit, with VS 2015 Community and CMake 3.3.0 installed. After unblocking the zip I downloaded from Github (I didn't clone), I extracted to C:\corert as per the documentation, navigated to that folder in the VS2015 x64 Native Tools Command Prompt, and ran build.cmd clean Release. The build went quickly but for some reason was not complete; C:\corert\bin\tools is completely empty, there's no .nuget folder anywhere except C:\corert\src\.nuget, and the build concluded with 7 warnings, 0 errors, and the messages "Build Succeeded.",
"Time Elapsed 00:00:14.92",
"DotNet CLI could not be downloaded or installed."
The warnings seem innocuous; the end of the build output is:
Build succeeded.

       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\install.vcxproj" (rebuild target) (1) ->
       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\ALL_BUILD.vcxproj" (default target) (2:2) ->
       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\base\bootstrapper.vcxproj" (default target) (6:2) ->
       (ClCompile target) ->
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\base\bootstrapper.vcxproj]
         C:\corert\src\Native\Bootstrap\main.cpp(272): warning C4838: conversion from '__int64' to 'size_t' requires a narrow
       ing conversion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\base\bootstrapper.vcxproj]
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\base\bootstrapper.vcxproj]
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\base\bootstrapper.vcxproj]

       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\install.vcxproj" (rebuild target) (1) ->
       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\ALL_BUILD.vcxproj" (default target) (2:2) ->
       "C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\cpp\bootstrappercpp.vcxproj" (default target) (7:2) ->
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\cpp\bootstrappercpp.vcxproj]
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\cpp\bootstrappercpp.vcxproj]
         c:\corert\src\native\bootstrap\common.h(87): warning C4200: nonstandard extension used: zero-sized array in struct/u
       nion [C:\corert\bin\obj\Native\Windows_NT.x64.Release\Bootstrap\cpp\bootstrappercpp.vcxproj]

    7 Warning(s)
    0 Error(s)

Time Elapsed 00:00:14.92
DotNet CLI could not be downloaded or installed.

Any ideas on why this is not building the CLI tools, and what I can do to build them?

@tommyettinger Does this fix it for you:
https://gist.github.com/kangaroo/c07d053b6200d34f47a4

It doesn't change anything, but from what I can tell, it should! Manually entering the URLs:

https://dotnetcli.blob.core.windows.net/dotnet/dev/Binaries/Latest/dotnet-win-x64.latest.zip
https://dotnetcli.blob.core.windows.net/dotnet/dev/Binaries/Latest/dotnet-win-x64.Latest.zip
Causes only the first to download a file in the browser. Could an older version of the script be cached somewhere?

cc @schellap

So manually downloading https://dotnetcli.blob.core.windows.net/dotnet/dev/Binaries/<IP_ADDRESS>973/dotnet-win-x<IP_ADDRESS>.000973.zip and unzipping its contents to C:\corert\bin\tools\cli\ seems to enable the build to progress further. I seem to be getting mostly HTTP timeouts when downloading packages this depends on via NuGet, however. Some of the downloads appear to succeed, but others, like System.Collections, never do. I'm attaching my build logs; I didn't specify clean because I had put the CLI tools in by hand. In the ILCompiler log, you can see a large amount of timeout errors, like "HTTP request timed out. Exiting.", in the middle of the file; these were showing up for a few minutes before I killed the build. How long should the download step of the build reasonably take? My internet connection isn't that slow.
CoreRT_Windows_NT__x64__Release.log.txt
ILCompiler_Windows_NT__x64__Release.log.txt

The not being able to download CLI part is due to lack of PowerShell 3. I submitted a pull request with updated instructions. I'm not sure whether this fully unblocks the build. I don't have an x64 Windows 7 handy to try.

Found an x64 Windows 7 to test with. Building product and running tests works now.


sublime-merge: 2033 -> 2037; sublime-merge-dev: 2032 -> 2039

Motivation for this change
Upstream changelogs:
stable
dev
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 103212 run on x86_64-linux 1

2 packages built:

sublime-merge
sublime-merge-dev


RUF006 does not catch violations in lambda expressions

Ruff does not appear to find violations for rule RUF006 (link) in lambda expressions. Example below:

List of keywords searched before opening:
RUF006, lambda

Minimal code snippet:
sandbox.py

import asyncio

async def foo():
    return

f = lambda *args: asyncio.create_task(foo())

Command invoked:
ruff check --select RUF006 --isolated sandbox.py

Current ruff settings
N/A - overridden in command

Ruff version
ruff 0.6.7

Thanks for the report. This is a bit tricky, as the return value of f could be stored in a variable later. This is technically not a violation as-written, right? Because create_task is never called?
Implementation-wise, I tried adding this rule to the existing expression visitor but this causes a bunch of false positives when the variable is assigned. I think we need to write a Visitor specifically to find call expressions in lambdas?
I wrote some test cases
f = lambda *args: asyncio.create_task(foo())
f = lambda *args: lambda *args: asyncio.create_task(foo())
f = lambda *args: [asyncio.create_task(foo()) for x in args]

Thanks for taking a look, the more specific use case I have where I ran into this is signal handling. The example (which does not assign the lambda to anything)
import asyncio
import signal

async def foo():
    return

signal.signal(signal.SIGINT, lambda *args: asyncio.create_task(foo()))

Ruff does not report an error for this which prompted me to raise this bug. But thinking about this some more, I was not understanding lambdas correctly. I had thought the lambda expression lambda *args: asyncio.create_task(foo()) essentially mapped to the following function definition:
def create_task():
    asyncio.create_task(foo())

And ruff emits an error:
sandbox2.py:10:5: RUF006 Store a reference to the return value of `asyncio.create_task`
   |
 9 | def create_task():
10 |     asyncio.create_task(foo())
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ RUF006
11 |
12 | async def sigint_handler(*args):
   |

Found 1 error.

But actually the lambda returns the value - so an equivalent function is this:
def create_task():
    return asyncio.create_task(foo())

Ruff does not emit an error for this, because the reference is returned (not lost), right?
Whether or not that reference is later dropped or not seems to be outside of the scope of RUF006. It's a little tricky to think though, but I think the current behavior of not reporting an error makes sense - because it's up to the caller of the lambda to track the reference to the result. So I think this issue could be closed

Thanks for following up!


sol::overload incompatible with sol::variadic_args

A minor detail I've stumbled across that ends up complicating all kinds of constructs involving sol::variadic_args; I believe the root cause is in sol's overload resolution mechanism that can be triggered using sol::overload.
(very) minimal test case:
	sol::state s;
	s["f"] = sol::overload([](const sol::variadic_args& args){std::cout << '#' << args.leftover_count() << std::endl;});
	s.script("f(0) f() f(3, '4', 5)");

Having a sol::variadic_args parameter in a functor argument of sol::overload makes it rather non-trivial to satisfy (I guess it should work if you were construct a Lua-side sol::variadic_args object by hand, which is sort of contrary to their purpose/design; I didn't test that yet).
I think the expected / my suggested behaviour for this case is rather simple: variadic_args should disable any upper limit to the argument count but not take up any argument space themselves, as is their current behaviour in "simply" pushed/converted callable objects. While I'm sure it is possible to implement, I assume the required "hard-wiring" of this behaviour is simply absent as of yet. With "optimal" argument matching the details on which functor to prefer might be more involved (probably discouraging empty variadic_args), but with the current first-fit style matching I think there shouldn't be any ambiguities.
Another area this comes up in is when specifying usertypes using sol::constructors, sol::factories etc. ; it seems a safe assumption to me that they all share the same mechanism under the hood.
Lastly, it isn't really a pressing matter, as there's ways around this (writing your own checking overloader isn't too hard, esp. with C++17), but it does seem like inconsistent behaviour to me that should be documented somewhere (like here) and fixed eventually (possibly by me the next time it crosses my mind, though I figure a solution you'd probably be faster and might come up with a solution that covers more ground than me).

The issue was the const reference.
I don't remember why I'd put it there.
Let's all pretend this never happened.

They all do share the same overloading-matching mechanism under the hood, and a custom templated functor gets called for constructor cases, factory cases, and plain function overload cases.
This is actually a bug. const and ref and volatile should not affect that this works or not. I've put a fix in and I'll push it soon. Thanks for reporting it.


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/network/service-endpoint-policy
Module Details
Migrate from CARML
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username (handle)
jeetgarg
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

Hi @jeetgarg,
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @jeetgarg,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
Before starting development, please ensure ALL the following requirements are met.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - for naming your module
TelemetryIdPrefix - for your module's telemetry

For your module's repository:

Repo name and folder path are defined in RepoURL
Create GitHub teams for module owners and contributors and grant them permissions as outlined here.
Grant permissions for the AVM core team and PG teams on your GitHub repo as described here.

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

@jeetgarg will provide updates by the end of next week.

Work in Progress

[x] Module published.
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.

Thank you for your work @jeetgarg!


German definitions - patch-7 (S)

Oops. Pulled to wrong fork. Should be here: https://github.com/De7vID/klingon-assistant/pull/149


Ability to set Http/Https proxy settings for Kitematic

Trying to start a Docker VM through the Kitematic UI and when it reached 99% is stops, after some time it timeouts.
I am doing this at work and we have a proxy, so my guess this is causing the problem. At home this worked fine. Is there a way to setup Http/Https proxy settings?

Thanks for the issue!
There is no current way to do this at the moment, or at least that I know of. Thanks for coming by the IRC channel.

Any workarounds?

Try this...

Open Terminal.
Change directory to location of Kitematic App
type the following, replacing the proxy info with your own...

http_proxy=http://proxyhost:proxyport https_proxy=http://proxyhost:proxyport open Kitematic\ (Beta).app/
Good luck!

Really would like to set a proxy too. I have the same problem like @nickos168.

I have the same problem trying the kitematic 0.7 alpha on windows.
I am sitting behind a corporate proxy.

Try installing cntlm to get nl authentication to corporate proxy

Just tried with cntlm, which I verified works well for Firefox using proxy of localhost:3128.  I can't get the Windows Kitematic Alpha to install however.  It gives error about being unable to being unable to:
Get https://api.github.com/repos/boot2docker/boot2docker/releases: dial tcp <IP_ADDRESS>:443:
ConnectEx tcp: No connection could be made because the target machine actively refused it.

I tried by first setting Windows env vars (for my user) of http_proxy and https_proxy to http://localhost:3128.  As well, I then tried stardot1701's suggestion of using them on CMD shell.  Same error.
Solving this proxy install roadblock would go along way to speeding adoption amongst big corps.  I can start getting our developers, then testers, and even management making use of our software in Docker containers, but only if the Docker (Kitematic) install on Windows is trivial.

Surely the issue isn't entirely at the kitematic layer, I'd expect it needs setting inside the boot2docker VM so that docker engine can use it to communicate with Docker Hub?

on windows, you can just add variable setting "http_proxy" to system environment, it works perfectly.

Merging with #1031

If anyone still has problems with this on Mac or Windows 10+, please contact me at<EMAIL_ADDRESS>We are working on something to help address this issue.

@mchiang0610 - still no dice on Mac. I sent you an email.

I am also having issues. Running behind a draconian proxy. Nothing gets through without checking into that damn thing.

another here with issues behind corporate NTLM bluecoat proxy...

@mchiang0610
I'm also having issues with this, although I'm a mobile worker (half time in office, another half out of office), with no access to my env variables on windows 10...
Wouldn't it be simpler to set this in the app? or read it from Docker?

I have set cnltm to use my corporate proxy using ntlm authentication and also set HTTP_PROXY and HTTPS_PROXY before run Electron (Kitematic binary file) from command line
export 'HTTP_PROXY=http://localhost:8080'
export 'HTTPS_PROXY=http://localhost:8080'
/Applications/Docker/Kitematic\ (Beta).app/Contents/MacOS/Electron
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
and it works!!
I hope it can help you!!

By following advice from @eldelmoniorojo and others, I am able to log in to my docker account via Kitematic, but I am not able to download any images. I get the following error:
(HTTP code 500) server error - {"message":"Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"}

Is there additional configuration that might help me solve this?

Try to update docker versión. There was some problems related to dns resolutions.
try setting your dns to google <IP_ADDRESS> (this could solve your problems)
Cross your fingers.

Switching the DNS doesn't work for people at enterprises.
I confirm the bug for kitematic 17.0 (toolbox 17.07).

I'm also facing the same issue. kitematic 0.17.2 Docker for Mac 18.06.0

This is my working setup on macos...
alias kitematic="open /Applications/Kitematic.app/"

If your terminal has http_proxy and https_proxy set and you run your alias kitematic from there it will work.

It's working for me with Terminal:
http_proxy=http://some.address.here open Kinematic.app
I can see it's reaching the specified proxy host. The problem is with SSL Certificate. When the app launches I'm getting:
"unable to get local issuer certificate"
Basically I have the required cert and it's added to the Keychain. Is there a way to use it with Kinematic? (I mean the certificate I have) ?

Try setup also https_proxy too using same value http_proxy

Hi,
what was the solution for this? it seems setting the proxy does not work.
Thank you,


null-safety 什么时候发布呢？

Already in another branch, use:
pull_to_refresh: 1.6.4-nullsafety.0 in pubspec.yaml

Already in another branch, use:
pull_to_refresh: 1.6.4-nullsafety.0 in pubspec.yaml

not working
pull_to_refresh  ✗1.6.4   ✗1.6.4      ✗1.6.4      ✗1.6.4

Already in another branch, use:
pull_to_refresh: 1.6.4-nullsafety.0 in pubspec.yaml

not working
pull_to_refresh ✗1.6.4 ✗1.6.4 ✗1.6.4 ✗1.6.4

Are you using ^ sign before 1.6.4 ?


[NEW]:

Dear team,
Hope you are well.
We would like to suggest a new event for the BBW website; not sure how this works here; pleases advice; below is the content:
BAI Online Course DIGITAL ART, AI, AND NFTs: the Lead-Up to Tokenized Art by Virginia Valenzuela
https://berlinartinstitute.com/online-art-courses/courses/digital-art-ai-and-nfts-the-lead-up-to-tokenized-art-by-virginia-valenzuela/
Duration: May 21 – June 11, 2024
Max. seats: 30
Please use this template to suggest a new event or update an existing event for the BBW website! You can also directly submit your event as a pull request to this repository. This will speed up things significantly!
# the name of your event
name = "BAI Online Course DIGITAL ART, AI, AND NFTs: the Lead-Up to Tokenized Art by Virginia Valenzuela"

# shortest possible name (without year)
shortname = "BAI Online Course DIGITAL ART, AI, AND NFTs by Virginia Valenzuela"

# type of the event
#  available types (you can choose more):
#   * meetup
#   * conference
#   * hackathon
#   * expo
#   * party
#   * other
types = ["other"]

# status of the event
#  available types:
#   * idea
#   * planning
#   * published
status = "published"

# the name of the group organizing the event
org = "BERLIN ART INSTITUTE"

# the github handle of the directly responsible individual for this event
# (this person will coordinate with #bbw24 organizers)
dri = "Ralf"

# A point of contact (responsible person)
poc = "Ralf Schmitt"

# the start date of the event
date = "2024-05-21"

# how many days the event lasts (1 - N)
days = 4

# the event times (shows up in the event card)
times = "16:00-18:00"

# the languages in which the event will take place (you can choose more)
languages = ["english"]

# the max number of attendees of the event
attendees = 30

# blockchains that the event deals with
# if it is an interchain event, then leave blank
chains = ["ethereum", "polkadot"]

# tags for the event, will show up as labels.
# pick 1-4
tags = ["solarpunk", "cryptography"]

# A logo attachment
logo = "logo.png"

# a description of the event.
description = """While NFTs, or artworks linked to blockchain, have existed since 2014, it wasn’t until 2021 when they really took off. Artists, coders, and entrepreneurs entered the arena, ushering in new genres of art and new innovations in technology. For the first time in history, a marketplace emerged that allowed artists from all corners of the globe to participate, indeed to thrive, and to take pride in even their most unorthodox styles of art.

Beginning with genres like generative, digital, and internet art, which were unappreciated in the time before NFTs, and diving into the genre of cryptoart, this class will explore the many ways in which artists have utilized tools enabled by crypto in order to challenge major industries. Moving from there we will compare artistic innovations within NFTs, such as interactive, responsive, and data-driven artworks, and then dive into the world of artificial intelligence. Finally, we will end the class with a review of NFT marketplaces, museums, coalitions dedicated to crypto and digital art, and web3 publications so that students will be prepared to enter the space as artists, collectors, and scholars."""

[cfp]
# link to call for particioation
link = "https://berlinartinstitute.com/online-art-courses/courses/digital-art-ai-and-nfts-the-lead-up-to-tokenized-art-by-virginia-valenzuela/"

[registration]
# type of registration
#  Possible values:
#   * tickets
#   * invites
#   * signup
type = "tickets"

# price of the ticket
price = "195 EUR"

# link to the registration or ticket purchase page
link = "https://berlinartinstitute.com/online-art-courses/courses/digital-art-ai-and-nfts-the-lead-up-to-tokenized-art-by-virginia-valenzuela/"

# custom action button label
#button = "Buy tickets!"

# status of registrations
#  Possible values:
#   * available
#   * sold-out
#   * closed
status = "available"

[links]
# the website of the event
# make sure to have all the relevant information: dates, venue, program, ticketing (if any), etc.
web = "https://berlinartinstitute.com/online-art-courses/courses/digital-art-ai-and-nfts-the-lead-up-to-tokenized-art-by-virginia-valenzuela/"

# twitter account
twitter = "https://twitter.com/ExampleConf"

Hi Kaan Uzdoğan,
Thanks for letting us know.
Best,
Ralf

Am 15.05.2024 um 17:02 schrieb Kaan Uzdoğan @.***>:
Hi unfortunately online events are out of scope of the Berlin Blockchain Week. The events must take place in Berlin.
—
Reply to this email directly, view it on GitHub https://github.com/blockchainweek/data/issues/81#issuecomment-2112791772, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIQIFTVFYKI4HBFSODE6DCTZCN2HLAVCNFSM6AAAAABHYAUAASVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSG44TCNZXGI.
You are receiving this because you authored the thread.

Best wishes,
Stephanie Jünemann & Ralf Schmitt | Directors BAI

The BERLIN ART INSTITUTE promotes artistic production, discourse, mediation and research, and is dedicated to training and further education in the contemporary context through its various programs. Via international cooperation, the BAI strives for intercultural exchange and a lively, transnational dialogue, and acts as a player in the art, culture, creative, civic, and education sector.
The BAI runs an international artist residency, independent art school, innovative arts incubator, and professional production site. The studios of the institute are located in the building complex 404 at "Motorwerk Berlin" in the Berlin district of Weißensee. The institute makes use of the large number of national and international artists in Berlin and generates its temporary and regular partners from this pool to make a broad and flexible training offer. The regular events of the BAI with alternating artists, critics, curators etc. enable all participants an artistic and cultural exchange with the actors of contemporary art in Berlin during their stay.
In addition to the international Studio Program, the BAI offers a Residency Program for international art universities, art academies, embassies, agencies, institutions, organizations, associations, foundations and enterprises, Portfolio Courses, Workshops, Masterclasses, a Spring Academy, a Summer School, an Arts Incubator for the cultural, creative & digital industries, an Online Program, a Friends Program and a space for presentations and exhibitions 404 | BAI.

BERLIN ART INSTITUTE
BAI Studios UG (haftungsbeschränkt)
An der Industriebahn 12-16
13088 Berlin
Germany
Tel | Phone: +49 (0)30 235 735 30
Fax: +49 (0)30 235 735 32
Email: @.*** @.***>
Web: www.BerlinArtInstitute.com http://www.berlinartinstitute.com/
Sitz | Registered office: Berlin – HRB 166 599 B – AG Charlottenburg
UST-Id | Value added tax ID: DE299546647
Geschäftsführer | Managing Director: Stephanie Jünemann, Ralf Schmitt

Sie haben diese Information erhalten, da Sie in unserer Datenbank eingetragen sind. Möchten Sie keine weiteren Informationen per mail, senden Sie uns bitte eine Nachricht mit dem Hinweis "unsubscribe“ an @.*** @.***>
You have received this mail because you are in our database. If you do not wish to receive further mailings please send us an e-mail @.*** @.***>) to unsubscribe.


Change "related"/"previous" chart buttons into toggles

@marliekeverweij can you test this locally and merge it if you find no problems?

Yes I will do this today!


Manual cp pr 607 to 1.3.x (fixing pantheon error)

Fixing Pantheon error.
This PR is created to fix the cross-reference error used for the dynamic plugins in PR-679.

/cherrypick main


ARM results in error

Dear developers, thank you for your great work on openBLAS.
using it on ARM 32 bit platforms and Ubuntu 14.04, we found some erroneous results used with Torch7:
The Lua code below should always give 1 as the result. On ARM it gives random numbers,
if compiled with OpenMP (and 0.99999999993838 if compiled without).
require 'nn'

torch.setdefaulttensortype('torch.FloatTensor')
data = torch.Tensor(4, 58, 58)
for i = 1,4 do
 for j = 1,58 do
   for k = 1,58 do
     data[i][j][k] = i+j+k
   end
 end
end
n = nn.Sequential()
n:add( nn.SpatialConvolutionMM(4, 64, 5, 5, 1, 1) )
n.modules[1].weight = torch.Tensor(64,100)
for i = 1,100 do
 n.modules[1].weight[1][i] = i
end
n.modules[1].bias = torch.Tensor(64)

n2 = nn.Sequential()
n2:add( nn.SpatialConvolutionMM(64, 64, 5, 5, 1, 1) )
n2.modules[1].weight = torch.Tensor(64,1600)
for i = 1,1600 do
 n2.modules[1].weight[1][i] = i
end
n2.modules[1].bias = torch.Tensor(64)

data = n:forward(data)
data = n2:forward(data)
out = 0
for i = 1,50 do
for j = 1,50 do
  out = out + data[1][i][j]
end
end
print(out/259643747536)

@culurciello , which kernel do you use? Now, OpenBLAS only supports ARM hard FP ABI. Is it possible an ABI issue?

I am working with @culurciello. We use the Odroid U3 and XU3. They use the hard FP ABI. This problem has been present one year ago and it's still present, we have switched various kernels and OpenBLAS versions. I have tried to write a simple C program that shows this defect, but unfortunately I did not succeed. This problem only appears in complex environments, but by printing intermediate results I found that the errors in calculations come from OpenBLAS. Thank you.

@mvitez , could you try export OMP_NUM_THREADS=1? It looks like the application uses float, sgemm. Am I right?

It works correctly with only one thread. We actually make OpenBLAS without NO_AFFINITY=1 USE_OPENMP=1 as we should and in such case it works with some limitations, but without errors, besides some segmentation faults, which are quite rare fortunately.
The applications uses float, sgemm, you are right.

This old issue will hopefully have been fixed by the several rounds of thread safety improvements after
about december 2016.

Actually still same results unfortunately (though the OPENMP build seems to give "correct" results of the 0.99999...38 type with OMP_NUM_THREADS=2 as well, on a quad-core Asus tinkerboard). The recently added NUM_PARALLEL option does not appear to have any effect either. Not sure how to debug this, as both helgrind and tsan do not work well with OpenMP.

Switching to USE_SIMPLE_THREADED_LEVEL3 "solves" it however.

This appears to have been fixed in the meantime (to the extent that it now returns 0.99999..38 in every case), probably by the correction for #1851 that went into 0.3.4 already.


Document exporting issues

Documented under https://support.deque.com/hc/en-us/articles/12697267485076


CI: Switch to miniconda setup, install fsl tools through conda

Seeking a longer-term solution than #310.

Codecov Report
Base: 83.93% // Head: 88.99% // Increases project coverage by +5.06% :tada:

Coverage data is based on head (142f413) compared to base (f7d408a).
Patch coverage: 44.44% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #322      +/-   ##
==========================================
+ Coverage   83.93%   88.99%   +5.06%
==========================================
  Files          25       25
  Lines        2011     2018       +7
  Branches      235      309      +74
==========================================
+ Hits         1688     1796     +108
+ Misses        281      182      -99
+ Partials       42       40       -2

Flag
Coverage Δ

travis
83.74% <44.44%> (-0.20%)
:arrow_down:

unittests
88.89% <44.44%> (?)

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

Impacted Files
Coverage Δ

sdcflows/workflows/apply/correction.py
82.75% <44.44%> (-17.25%)
:arrow_down:

sdcflows/workflows/outputs.py
93.84% <0.00%> (+1.53%)
:arrow_up:

sdcflows/interfaces/reportlets.py
89.83% <0.00%> (+1.69%)
:arrow_up:

sdcflows/interfaces/bspline.py
85.00% <0.00%> (+8.33%)
:arrow_up:

sdcflows/interfaces/fmap.py
87.35% <0.00%> (+14.94%)
:arrow_up:

sdcflows/utils/tools.py
97.36% <0.00%> (+21.05%)
:arrow_up:

sdcflows/workflows/fit/syn.py
69.82% <0.00%> (+21.30%)
:arrow_up:

sdcflows/utils/phasemanip.py
94.02% <0.00%> (+28.35%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@mgxd @oesteban Any objection? Should we pin to specific versions of FSL tools? Alternately, we could add a bleeding-edge test in addition to release-pinned tests, so we can report breakage upstream.

ah, too slow!

Does the fsl channel have a candidate for 3.10? That could be a future culprit

The FSL tools we install shouldn't interact with Python versions. We can test on 3.10 in a new PR.


IA Palette Implementation

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?

Implemented the palette files
Updated the API library
Updated corresponding Scripting API build specs

Why should this Pull Request be merged?

Implemented and added the palette files

What testing has been done?

Manual testing has been done on the local/dev PC, by moving manually the files to the appropriate LV Directories.

Steps:

Run the Scripting API build spec.
From the generated files - copy the content of the "Scripting API" folder to "vi.lib\addons\VeriStand Custom Device Scripting APIs\Instrument Addon"
Enjoy :)

Please change the palettes so that they match the version documented in the spec, since this one was agreed upon with the customers (including the nodes names visible on the palettes):

Please change the palettes so that they match the version documented in the spec, since this one was agreed upon with the customers (including the nodes names visible on the palettes):

Changed

Mentioning Instrument Addon Classes PR#40 as the changes there can be merged only after the current PR gets approved and merged.

I am ok with the change, as long as Paul's comments will be addressed.
I have one minor point - for these two nodes, please add "Channel" at the end:

These names are shortened automatically by Labview to fit in the label field ... the name itself contains the word "channel"


[WIP] Build perf app, Q 2.13.3.Final

Adds a new build perf app that sports more dependencies, including two databases and tests for all demo functionality. Demo code is present so as the deps are not optimized away.
This PR is a WIP, I just confirmed it work with the oldest Q we work with in the TS regularly. I will add ports presently to this PR.
$ mvn clean verify -DexcludeTags=all -DincludeTags=perfcheck -Ptestsuite -Dtest=PerfCheckTest#testQuarkusMPOrmAwt -Dquarkus.version=2.13.3.Final -Dperf.app.report=true -Dperf.app.endpoint=http://localhost:8080 -Dperf.app.secret.token=manysecretcharacters

...
2024-04-05 12:13:06.875 INFO  [o.g.t.i.u.Uploader] (postBuildtimePayload) POSTing payload to http://localhost:8080/api/v1/image-stats/import?t=22.3.4-final,2.13.3.Final
2024-04-05 12:13:06.933 INFO  [o.g.t.i.u.Uploader] (postBuildtimePayload) POSTing payload to http://localhost:8080/api/v1/image-stats/194002
2024-04-05 12:13:06.947 INFO  [o.g.t.i.PerfCheckTest] (testQuarkusMPOrmAwt) Response code:200
2024-04-05 12:13:06.947 INFO  [o.g.t.i.PerfCheckTest] (testQuarkusMPOrmAwt) Response body:{"id":194002,"created_at":"2024-04-05T10:13:06.907+00:00","tag":"22.3.4-final,2.13.3.Final","img_name":"mp-orm-dbs-awt-runner","generator_version":"GraalVM <IP_ADDRESS>-Final Java 17 Mandrel Distribution","image_size_stats":{"id":194002,"total_bytes":108991144,"code_cache_bytes":52835328,"heap_bytes":52580352,"resources_bytes":1471995,"resources_count":47,"other_bytes":3575464,"debuginfo_bytes":0},"jni_classes_stats":{"id":685005,"classes":178,"fields":1535,"methods":2092},"reflection_stats":{"id":685007,"classes":852,"fields":533,"methods":4464},"build_perf_stats":{"id":194002,"total_build_time_sec":114.003,"gc_time_sec":8.585,"num_cpu_cores":16,"total_machine_memory":66847313920,"peak_rss_bytes":6762926080,"cpu_load":9.896533342654653},"total_classes_stats":{"id":685008,"classes":27794,"fields":62023,"methods":216037},"reachability_stats":{"id":685006,"classes":25604,"fields":40448,"methods":126403}}

@Karm I'm a bit concerned that the test suite is growing too big and the burden to get them fixed becomes a problem. Could we perhaps ensure that those performance profiles don't run by default and only run when activated (which should be done on some jobs we run, but definitely not all). Especially in GHA, test failures pop up frequently with new warnings and produce noise (case in point: current test failures in this PR).

Thx @jerboaa for the comment.  FYI @zakkak

@Karm I'm a bit concerned that the test suite is growing too big and the burden to get them fixed becomes a problem. Could we perhaps ensure that those performance profiles don't run by default and only run when activated (which should be done on some jobs we run, but definitely not all). Especially in GHA, test failures pop up frequently with new warnings and produce noise (case in point: current test failures in this PR).

This PR is a draft for Quarkus 2.13.3 as the subject of the PR states, i.e. as you can see 2.13.3.Final GA jobs are green here.
Furthermore, this is affecting the perfcheck JUnit tag, and that  is not executed at all by default:
   <includeTags>runtimes,reproducers</includeTags>

We enable it here on the CI because here we are "testing the testsuite".
Regarding adding apps:
As of this PR, apps/quarkus-full-microprofile is actually a subset of apps/quarkus-mp-orm-dbs-awt, so I think we can consider replacing the former with the latter. The one big change in that would be that the ````runtimes``` JUnit tag would suddenly require Podman/Docker so as Testcontainers could run and MariaDB and Postgres could be started.
It would be a new requirement, because the test suite does not require containers unless you specifically want container tests enabled by -Ptestsuite-builder-image.  Given our environment, I think it's perhaps a safe thing to do to require containers on host by default.

Furthermore, this is affecting the perfcheck JUnit tag, and that is not executed at all by default:
   <includeTags>runtimes,reproducers</includeTags>

We enable it here on the CI because here we are "testing the testsuite".

Mandrel CI uses this -Ptestsuite:
https://github.com/graalvm/mandrel/blob/d9566d884ad80014d430983e846ca01745950a50/.github/workflows/base.yml#L736-L738
So I'd assume it would run this one too?

Furthermore, this is affecting the perfcheck JUnit tag, and that is not executed at all by default:
   <includeTags>runtimes,reproducers</includeTags>

We enable it here on the CI because here we are "testing the testsuite".

Mandrel CI uses this -Ptestsuite: https://github.com/graalvm/mandrel/blob/d9566d884ad80014d430983e846ca01745950a50/.github/workflows/base.yml#L736-L738
So I'd assume it would run this one too?

Nope, see it's tagged perfcheck here.
And that tag is not included in the profile here.

OK. Thanks. I'm probably confusing it with the JFR perf test then.

OK. Thanks. I'm probably confusing it with the JFR perf test then.

That is right, we wanted those on even for regular runs, so they are annotated as reproducers here.
The fact that it confuses you means I botched the user experience of the tags taxonomy. I guess we can refactor that to some more logical parts.

OK, given that you'll file a quarkus issue on the http components client closing issue. Thanks!

THX for the review. I've bee cooking this one for some days :-)
Ad issue: I'll give it an hour to explore the CDI scope and fixing it in the app code, if it fails, I'll open an issue with a reproducer, linking to the old one.

OK, given that you'll file a quarkus issue on the http components client closing issue. Thanks!

@jerboaa I am working on that in a separate PR. I found out that the problem disappears if wrap in try-with-resources...except for some older versions, where either as a bug or as a feature, the Client isn't Closable and thus you have to call .close() manually in finally block the old way. I am testing it now, but it seems it's just a clumsy API inconsistencies over the rest easy versions in Quarkus that could be dealt with in the user's codebase.

I found out that the problem disappears if wrap in try-with-resources

That's what I thought. So we ought to fix the test and then remove the allow-listing.


Cleanup day 5 solution

What type of PR is this?

[x] Enhancement (new features, refinement)
[x] Refactor

What this PR does / why we need it:
Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

Codecov Report

Merging #28 (01f52a4) into master (ae77439) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   78.72%   78.72%
=======================================
  Files          14       14
  Lines         456      456
=======================================
  Hits          359      359
  Misses         89       89
  Partials        8        8

Impacted Files
Coverage Δ

internal/day5/day5.go
61.53% <100.00%> (ø)

Continue to review full report at Codecov.

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


aggregation query for async commands + tests

Following pr #16, here is the identical TsRangeQuery implementation for async commands along with passing tests.

LGTM, thx. I did not even realize that async was not migrated yet.


changedFeeFunction --> coreAudit1.0

Codecov Report

Merging #202 into contracts/coreAudit1.0 will increase coverage by 0.03%.
The diff coverage is 100%.

@@                    Coverage Diff                     @@
##           contracts/coreAudit1.0     #202      +/-   ##
==========================================================
+ Coverage                   95.86%   95.89%   +0.03%
==========================================================
  Files                           6        6
  Lines                         508      512       +4
  Branches                       94       95       +1
==========================================================
+ Hits                          487      491       +4
  Misses                         21       21

Impacted Files
Coverage Δ

contracts/DutchExchange.sol
95.23% <100%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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

I made all tests pass. We have no longer 100% coverage, but this is not important.
@dteiml please review the solidity code. I changed it, since your solution had a small issue. if (t==0), the correct solution was set but then again overwritten.

merged into smartcontractaudit


Implement tk-auth documentation changes.

Revise and expand tk-auth predocs. Notable changes:

Split configuration.markdown into separate files.
Added deprecation notices where applicable.
Added a deprecated_settings.md similar to the Puppet docs to consolidate deprecation references. Linked to the deprecated_features document proposed in #727.
Expanded explanations of auth.conf parameters.
Moved several links to Puppet API documentation from GitHub to the docs site.

Overall :+1: on these edits.  Great job cleaning up the language, and I really like the breakout of the configuration.markdown doc into separate documents.
I left a few comments, mostly related to some text that appeared to be wrong in the original docs, not related to additions for this PR.  Would be nice to clean all of those up on this PR but if you want to do some of those on later PRs, I'd be good with that.
I think it would be good to either provide a link from the new auth.conf document over to the detailed settings page doc in trapperkeeper-authorization or, even better, absorb all of the docs for those settings onto the docs site somehow when this stuff is published so we don't have to link back to the docs in the trapperkeeper-authorization github repo.  Mostly, I think it will be good for users to get more information about new fields like sort-order and name which are required for tk-auth rules that did not apply to the legacy Puppet auth.conf feature.
Also, we may want to consider porting some of these changes - especially the split up of the configuration sections - back to the docs on the latest stable and 1.x branches as well.  The new trapperkeeper-authorization auth.conf information won't apply to the older branches.  Not sure if it is worth doing this.  Will defer to you, @kayayarai, and @nfagerlund on that question.

Thanks for the feedback, @camlow325. I'll also defer to @nfagerlund on splitting configuration.markdown on older versions, but he might take a while to get to it.
Splitting up configuration.markdown helps with navigation, but there's enough links from elsewhere that changing all prior versions of Puppet Server to do that might ripple out to an onerous number of changes to the other docs that already point here. (That said, at least links to sections of configuration.html won't be completely broken.)
Splitting configuration up also makes it easier to remove the docs for master.conf and ca.conf when those deprecated files are completely removed, which isn't a concern for past versions.
I'll address the feedback, push, and notify you, at which point I'll also be :+1:. After talking to @kayayarai, I think we're good with merging this PR with your approval, and then Kari will branch and edit the prose in a separate ticket for a follow-up PR.

@camlow325 Implemented feedback.

Also, I think this may need to be rebased again because of a merge conflict, sorry.  :frowning:
I hope the merge conflict resolution would be a little easier this time - might just be "one space" change to "configuration.markdown" which was recently merged in as part of #727.

@gguillotte I'm good with your latest updates on the PR.
Assuming you would want to defer the additional work to add documentation on some of the other rule fields - sort-order, name, allow - as a later PR, I'd be good with merging this.  We would still need to have you rebase/resolve the current merge conflicts so that we can push the Green button.  Sound okay?
Regarding the work to add more documentation for the rule settings in the auth.conf document, I'd be happy to take an initial swing at that, too, if you'd like.  Let me know.  Thanks!

Rebased, and fixed more links to the individual configuration file docs.

:+1:


ab test in wsl if the concurrency set a little higher like 200 ,blue screen directly

ab test blueScreen.jpg
and the siege has problom too
[error] unable to set close control sock.c:127: Invalid argument
screenshot

Do not open Github issues for Windows crashes (BSODs) or security issues. Please direct all Windows crashes and security issues to<EMAIL_ADDRESS>Issues with security vulnerabilities may be edited to hide the vulnerability details.


Update the online documentations

Update the online documentations for (1) Add the news for the SIGMOD Systems Award (2) Update the information of V 4.3.0

Resolved in
https://github.com/apache/singa-doc/commit/d7660ff71a00770850de9112beb3ac89a91a4b0a
and
https://github.com/apache/singa-doc/commit/2522ccb7b5fd0055eab8e177c5b8ced6852b0e54


fix: get product stock

What does this pull request do?
This PR adds the membership guard to the get product stock controller

No PR


with FASTDP, application containers can control weave

$ weave reset
$ weave launch
$ weave docker-bridge-ip
<IP_ADDRESS>
$ docker $(weave config) run -ti ubuntu
root@cc4d33557cc4:/# nc <IP_ADDRESS> 6784
foo
HTTP/1.1 400 Bad Request

Now, the same is possible w/o FASTDP...
$ weave reset
$ WEAVE_NO_FASTDP=1 weave launch
$ docker inspect -f '{{.NetworkSettings.IPAddress}}' weave
<IP_ADDRESS>
$ docker $(weave config) run -ti ubuntu
root@c0197cdff032:/# nc <IP_ADDRESS> 6784
foo
HTTP/1.1 400 Bad Request

but that can be disabled by running docker with -icc=false:
$ weave reset
$ WEAVE_NO_FASTDP=1 weave launch
$ docker inspect -f '{{.NetworkSettings.IPAddress}}' weave
<IP_ADDRESS>
$ docker $(weave config) run -ti ubuntu
root@e98d44350b9c:/# nc <IP_ADDRESS> 6784
foo
(no response)

whereas with FASTDP we still get the same result
$ weave reset
$ weave launch
$ docker $(weave config) run -ti ubuntu
root@2fc245e5bd53:/# nc <IP_ADDRESS> 6784
foo
HTTP/1.1 400 Bad Request

We should document the importance here of setting -icc=false (we already do that for other reasons), but more importantly we need to find a way of preventing access to weave from container when running with FASTDP. I am guessing a couple of iptable rules that prevent access from the docker bridge to local weave control. And data port, since otherwise containers can inject traffic on unsecured weaves.

Could we get away with binding the HTTP listener to <IP_ADDRESS>?

Could we get away with binding the HTTP listener to <IP_ADDRESS>?

I think that would work, and would prevent access even when -icc=true.
That still leaves the 6783 access, which can't be restricted to <IP_ADDRESS>. Let's file a separate issue for that because a) I suspect this was always accessible from containers, with our without icc, and b) it can be mitigated by enabling crypto.

That still leaves the 6783 access, which can't be restricted to <IP_ADDRESS>. Let's file a separate issue for that because a) I suspect this was always accessible from containers, with or without icc, and b) it can be mitigated by enabling crypto.

There's also 6784 UDP now, which can't be mitigated by crypto...


Include a Changelog Link, within the F-Droid App', on Info' Page; 4.7.1.

Include a Changelog Link, within the F-Droid App', on Info' Page.  Not present, as of: 4.7.1.

I'm confused, what are you looking for?

https://f-droid.org/manual/html_node/Changelog.html#Changelog

https://f-droid.org/repository/browse/?fdid=com.newsblur
A changelog is part of any good project.  https://en.wikipedia.org/wiki/Changelog

We publish blog posts and a new features feed that acts as a changelog. We don't provide changes in a  changelog format though.

Well I didn't invent the whole, distributed revision control, source code management (SCM) scheme.
But, it has evolved the way it has,  for goid reasons.
IF it existed, in standards compliant format, you could simply have used:  https://github.com/samuelclay/NewsBlur/releases


[BUG]

Logging
CMake Error: The source directory "D:/projects/ikashana/amazon-kinesis-video-streams-producer-sdk-cpp/dependency/libkvscproducer/NMake Makefiles" does not exist.
Describe the bug
Not able to build the sdk, getting the issue CMake Error: The source directory "D:/amazon-kinesis-video-streams-producer-sdk-cpp/dependency/libkvscproducer/NMake Makefiles" does not exist.
To Reproduce
Steps to reproduce the behavior:

Cloned hte repo.
Installed visual studio 2019
Go to visual studio developer terminal and run cmake .. -G "NMake Makefiles"

Expected behavior
Should build successfully
SDK version number
current master branch -
Open source building
Running cmake .. -G "NMake Makefiles" in visual studio developer console.
Screenshots

Platform (please complete the following information):

OS: Windows 10
Intel i5
Windows 10 Pro

This could be happening due to past failures. Ensure you follow the steps on this. https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/.github/build_windows.bat
Also, please use our official releases instead of master branch. https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/releases

Closing assuming answered. Feel free to reach out if you have more questions.


[EngSys] Migrate from Rush to pnpm

Packages impacted by this PR
Every single one
Issues associated with this PR
Describe the problem that is addressed by this PR
Migrates from Rush to pnpm so that we can take better advantage of pnpm features and workspaces.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

Closed to mitigate build storm triggered by PR.


Queries take long time

I use Devise + Mongoid to authenticating my Rails app. Lately, when I try to sign in/out the request takes as long as 30,000 Millisecond. I found I have 200,000+ document in my DB.
After some debugging, I can see that lots of queries are being executed before/after making the POST request.
Am I missing something?

I need more information please... Mongoid version... Logs of the queries that are being executed... Models - most likely in this case the user model since we're dealing with devise...

Thanks for posting that, @amrnt . Did you modify Devise::SessionsController_#destroy_ at all?

No I didnt!
This issue is also with sign in.
I have some warden callbacks for after sign in and before sign out... but it all about setting some params to cookies and remove them.

The logs make me think that you have callbacks or validations that're being triggered as a result of saving the user.

Whoa... that's a lot of counts queries.

yeah  I know! I just faced this after I have 100,000+ link in Links collection!
The request is being slow before executing the POST/DELETE request. means when I click "sign out" i cant see anything in the console after quite long time Started DELETE "/users/sign_out" for <IP_ADDRESS> at 2012-01-13 12:43:11 +0200 and then all those queries roll after.

What is the Link/Song relationship look like? Can I also see these models as there's a ton of count queries with link_id_on_provider involved.

Link belongs_to :user.
Song is inherited from Link (you can ignore this)
My schema is like: User has many authentications.  authentication has many social_friends. social friend has many links.
and User has many links.

I use Mongoid and Devise 1.4.9 in one of my apps. When I logout, these are the database queries that occur:
MONGODB shelflife_development['users'].find({:_id=>BSON::ObjectId('4dddd711349c302ed1020001')}).limit(-1)
MONGODB shelflife_development['users'].update({"_id"=>BSON::ObjectId('4dddd711349c302ed1020001')}, {"$set"=>{"remember_token"=>nil, "remember_created_at"=>nil, "updated_at"=>2012-01-13 19:04:23 UTC}})

Try logging out a user via the Rails console to see what database queries it causes, and how long it takes.

I was trying to do some tests in the rails console. and I've found that any save (after update for example) cuz this load of queries.

Does your User class validate any of its relations? That could cause all of these queries.
http://mongoid.org/docs/relations/validations.html

No relation validation at all.

BTW, did I mention that I use Devise 2.0? I'm going to test the case of rolling back to Devise 1.x

Pop open a debugger and step through the save to see what's causing all of these queries.

Just found it! The issue is caused by https://github.com/logandk/mongoid_denormalize which executes before_save and after_save of all related documents for the user [in addition to the related documents of the related one]
https://github.com/logandk/mongoid_denormalize/blob/master/lib/mongoid_denormalize.rb#L12-13
I'm not quite sure if this how mongoid_denormalize acts!
I think I have to close the issue since its not related to mongoid.

Good find, @amrnt. As you said, since this problem's caused by the mongoid_denormalize gem, I'm closing this issue.

Thanks @nickhoffman :)


do not keep box open

The '--box-debug' flag keeps the QEMU box open, which is confusing for image building.

@thir820 linter is broken ATM, but that can be fixed later. Merging.


Fix Comunica stream errors not being forwarded

Some errors only occur in Comunica's bindingsStream, so there should be an 'error' handler.
This PR will buffer errors until readNextBinding is called.
FYI, this was unrelated to https://github.com/comunica/comunica/issues/381.
Closes solid/query-ldflex#23

Just wonder whether we want to stop the stream after the first error, but same with me.

The stream is lazy, so even if internal processing would continue for a bit after error, it shouldn't continue too long. We can still optimize later on if this would prove to cause problems.

@RubenVerborgh Ping


Injection

How to inject an object (like a repository) in a transaction ?
I want to do this, for unit testing the transaction

Yes I posted in the forum. But for now no responses.
But can you confirm that this functionality is implemented or not ?

@xero88 See my reply here: https://discourse.dry-rb.org/t/dry-transaction-injection/528/5?u=timriley. Please carry on future correspondence in the forum.


[Event Request] codeunit 5510 "Production Journal Mgt" - OnBeforeInsertComponents()

Can you add event OnBeforeInsertComponents to be able to use IsHandled to skip the code in this procedure?
IsHandled parameter as reference
At the moment I have used the next event to set a filter on line no. = 0 to skip the rest of the code.
    procedure InsertComponents(ProdOrderLine: Record "Prod. Order Line"; CheckRoutingLink: Boolean; Level: Integer)
    var
        ProdOrderComp: Record "Prod. Order Component";
        // >>>>>>>>>>>>>>>>>
        IsHandled: Boolean;
        // <<<<<<<<<<<<<<<<<
    begin
        // >>>>>>>>>>>>>>>>>
        OnBeforeInsertComponents(ProdOrderLine, CheckRoutingLink, Level, IsHandled);
        if IsHandled then
            exit;
        // <<<<<<<<<<<<<<<<<

        // Components with no Routing Link or illegal Routing Link
        ProdOrderComp.Reset();
        ProdOrderComp.SetRange(Status, ProdOrderLine.Status);

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11880.


chordcat does not detect my midi keyboard

i have novation 49 mk3 keyboard.
I'm on Debian Testing.
Chordcat does not detect my midi keyboard

Many thanks for drawing my attention to Chordcat, it looks very interesting to me.
Maybe  you should raise the issue with the author here: https://github.com/shriramters/chordcat
I find a very useful way to track down midi connections in alsa or jack is to open qjackctl and click on graph.
You can adjust midi input and output connections by click and drag.
Hope that helps.

Out of curiosity I downloaded and installed chordcat_0.2.0_amd64.deb.
After connecting my midi Virtual Pipe Organ console I ran chordcat and it immediately connected to my console and displayed chords.

Here is a display of the connection shown by qjackctl running alsa:

If you examine your own qjackctl graph screen you should be able to decide whether you have a keyboard, chordcat or connection issue.
Good luck!


Move to ica-sdk-python

Replace libica with ica-sdk-python, wait on resolution of https://github.com/Illumina/ica-sdk-python/issues/1

 ICA V2 Migration: Investigate ILMN ICA Python SDK comes with release v2.17

Closing, superseded by #265


CommonJS require() loader

I'm currently working on Loader.jsm, a module to implement require()1.
The early PoC basically already works properly, finding local modules ( require("./moduleName") ) as well as modules inside dist/qbrt/lib, which I added for testing purposes and figured this is where the CommonJS interface brought up in #79 might live.
I only spent 20 minutes working on it, so it's still rough around the edges.
Furthermore, my local qbrt fork isn't based on Firefox Nightly but on a fork of an older Gecko-Dev based around Firefox 56 (so the implementation for upstream qbrt will have to have a few lines changed. Shouldn't be a lot of work though).
Two reasons I won't share code, just yet.
That being said, I wonder if you'd be up for a brainstorming session. Would you be willing to jointly work out/standardize the shape of the loader, @mykmelez?
For starters. What do you think of node_modules? Should it be included in qbrt's implementation of the CommonJS loader mechanism2 ? How should qbrt (the hypothetical CommonJS interface mentioned in aforementioned issue) be exposed? As a builtin (i e require("qbrt") )? Or perhaps similar to the way the legacy Addon-SDK used to be exposed ( require("qbrt/moduleName") ) ?
1: Eventually I'd like to find a way to expose it as a global in a more direct fashion, too. Without const { require } = Cu.import('resource://qbrt/modules/Loader.jsm', {}); inside an app's main.js.
2: Personally, I'll say I'm not a fan of it. It seems more trouble than it's worth. But, alas, I might be missing something.

CommonJS interface brought up in #79

Erm, the "main module" I described in that issue is actually intended to be the entry point for using qbrt as a library within another Node package, i.e. the value of the package.json's main field.
Right now qbrt only provides an executable, and it only makes sense to install it globally; but I could imagine its functionality being useful to another Node package, if its APIs were exposed via a main module.

That being said, I wonder if you'd be up for a brainstorming session. Would you be willing to jointly work out/standardize the shape of the loader, @mykmelez?

Yes, I'm happy to discuss this!
Note that ES6 modules are steadily being implemented in Firefox, and support for module scripts (<script type="module">) was enabled a couple months ago in https://bugzilla.mozilla.org/show_bug.cgi?id=1438139, so we should already be able to use that in web contexts, like any HTML/XUL windows that an application's main.js script opens, even if not in main.js itself.
Thus I wonder how important it is to provide a CommonJS module loader. Even for main.js, perhaps it'd be better to wait for bug 1308512 - [meta] Migrate from Cu.import to ES6 Modules or some other way to load ES6 modules in that script, like the proposed import() statement.
Also, note that there are some existing module loaders in Firefox already, like https://searchfox.org/mozilla-central/source/devtools/shared/Loader.jsm and https://searchfox.org/mozilla-central/source/toolkit/components/workerloader/require.js. And there are implementations like https://stuk.github.io/require1k/ that are intended for web contexts but might be adaptable to main.js.

What do you think of node_modules? Should it be included in qbrt's implementation of the CommonJS loader mechanism2 ?

Hmm, I'm leery of that name, as it suggests that Node modules are supported, and many of them won't be. Although it's true that NPM is used to distribute modules intended for web contexts, so if you were using NPM to install such packages for use in web contexts, as opposed to main.js, then it might make sense. But then it should be possible to use module scripts there.

How should qbrt (the hypothetical CommonJS interface mentioned in aforementioned issue) be exposed? As a builtin (i e require("qbrt") )? Or perhaps similar to the way the legacy Addon-SDK used to be exposed ( require("qbrt/moduleName") ) ?

Setting aside the CommonJS question, I'm unsure how best to expose qbrt-specific interfaces to applications in general. Currently, the only public interfaces that qbrt exposes are in Runtime.jsm, which also contains some private interfaces (like Runtime.start).
It's also unclear to what extent qbrt will evolve its own APIs, as opposed to exposing the APIs of the underlying runtime. Nevertheless, my general inclination would be to use the best mechanism currently supported by the underlying runtime, which for pure JS module implementations is probably ES6 modules for web contexts and JSMs for main.js. (Native module implementations is a whole different issue for which I don't have any answer at all at the moment.)

Erm, the "main module" I described in that issue is actually intended to be the entry point for using qbrt as a library within another Node package, i.e. the value of the package.json's main field.

Right now qbrt only provides an executable, and it only makes sense to install it globally; but I could imagine its functionality being useful to another Node package, if its APIs were exposed via a main module.

Hm. Either I misunderstand you or you understand me, or perhaps we misunderstand each other here.
Basically, my understanding was to have a low-level module (not unlike Electron's electron module) one may import and use from main.js, to provide basic functionality.
i e (example blatantly stolen from Electron)
const {BrowserWindow} = require('qbrt');

let win = new BrowserWindow({width: 800, height: 600});
win.URL = "https://google.com";

Note that ES6 modules are steadily being implemented in Firefox, and support for module scripts (

Basically, my understanding was to have a low-level module (not unlike Electron's electron module) one may import and use from main.js, to provide basic functionality.

I understand, and I don't necessarily dislike the idea. I do have a reservation about it, though.
Unlike in Electron, the runtime that qbrt uses (i.e. Firefox/Gecko) already provides basic (and advanced) functionality via the APIs it exposes through XPCOM, WebIDL, JSMs, and the Web platform.
Ok, those APIs tend to be harder to use than the Electron equivalents, so I do still see value in creating new ones that abstract away the complexity. Nevertheless, I'm unsure that this should be part of qbrt itself, as opposed to a project that uses qbrt to run/package apps and provides additional APIs as part of a XUL app that it uses in place of qbrt's.
Then qbrt would focus on being a packager, while the other project would focus on APIs for apps that didn't want to use the existing ones. And other projects might focus on particular use cases, like generating site-specific browsers.
That said, this is weakly held opinion, and I'm open to being convinced otherwise! I've been working on a launcher executable for qbrt over in [this other repository(https://github.com/mykmelez/trbl), with the idea that it too would be a separate project that qbrt would use. But maybe it too should be part of qbrt itself.

Yea. i had been experimenting with said ES6 module loaders before.
Was hoping to use them inside an about: page in my Gecko fork.
What I have found is that the current implementation acts "differently" from what one would think.
It seems to defer by default. That breaks some use-cases where you'd want the module code to be available during parsing (with the rest of the code. Which, in some scenarios, would include the calling code), not after.

Yes, <script type="module"> is defer-only. If you need to execute code while parsing HTML/XUL, then you can't put it into an ES6 module.
However, if you only need to control the order of execution of code, then you should be able to do that by putting all of it into modules, including your basic page logic, such that your about: page has a "main" module that loads (deferred) via <script type="module"> and then uses import (which is not deferred) to import other modules.

I absolutely agree that import() is the future. However, a well defined implementation of that would most likely depend on require() internally anyways. At least it is in node, to my knowledge. Thus we could already move forward with require().

Hmm, I'm pretty sure Mozilla won't reuse a require() implementation for import().

1: If you don't protest, I'd like to establish the same/similar naming conventions used by Electron. Most prominently, referring to main.js as the main process and the content as renderer process.

As with a node_modules directory, I'd be careful about using Electron's terminology to avoid misleading developers into thinking that the runtime that qbrt uses has the same process model. I might use "main process," which seems innocuous enough.
But I'd use Gecko's "content process" terminology for the processes that Gecko creates when you load web content in a <xul:browser> or <iframe mozbrowser>, since those behave quite differently from Electron's renderer processes (in particular, because each "chrome" window gets a renderer process in Electron, while all "chrome" windows load in the main process in qbrt).

I might use "main process," which seems innocuous enough. But I'd use Gecko's "content process" terminology for the processes that Gecko creates when you load web content in a xul:browser or , since those behave quite differently from Electron's renderer processes (in particular, because each "chrome" window gets a renderer process in Electron, while all "chrome" windows load in the main process in qbrt).

Sounds good to me.
Guess I need to revisit the Electron architecture docs. Didn't realize the chrome inside Electron was running in the renderer process.


Dispatching multiple actions within TabBar onSelect

Version

react-native-router-flux v3.26.16
react-native v0.26.2

Expected behaviour
Within the TabBar onSelect method, the following code will dispatch actions for, and execute each of the following:
Actions.scene_1();
Actions.scene_2();
Actions.scene_3();

The following should pop three times:
Actions.pop();
Actions.pop();
Actions.pop();

Actual behaviour
The following code:
Actions.scene_1();
Actions.scene_2();
Actions.scene_3();

Will only execute the last action, Actions.scene_3(). Likewise the following will only pop once:
Actions.pop();
Actions.pop();
Actions.pop();

How can we execute Actions.pop() multiple times within the TabBar onSelect method?
Related: https://github.com/aksonov/react-native-router-flux/issues/717

@Olliepop what do you mean by "within the TabBar onSelect method"?  How do you get that code (scene_1,scene_2,scene_3) to be executed inside onSelect in the first place?  Did you fork the code and modify onSelect to run that code?  As onSelect stands now, it executes the key name for the tab selected - thats it - no 1, 2, 3, pop, pop, pop, etc... so I'm trying to understand how I would even go about trying to reproduce what you are describing.  Could you PR something in the Example app for me to check?

@joenoon This isn't being used in production 🙂  I'm modifying the TabBar source for the purpose of submitting a pull request.
What i want to do is execute Actions.pop() for each child in the navigationState of a tab so that tapping a tab takes you back to the initial scene for that tab (functionality described in related issue #717)
Here's what i'm trying to achieve in my fork. This concept works in previous versions of RNRF (i.e 3.22.23).

Ok I think I follow now.  Here are a couple ideas:

This "pop to root" should only happen if the active tab is tapped again.  Not if switching among different tabs.  I think thats the common convention.

Maybe it should be something like Actions[key]({popChildren: popChildrenOnSelect}) and the children could be truncated in the reducer?

This "pop to root" should only happen if the active tab is tapped again. Not if switching among different tabs. I think thats the common convention.

I agree. This is what i'm using in my fork which is running 3.22.23, and achieves this:
    let selected = state.children[state.index];

    if (selected.sceneKey === el.props.sceneKey && el.props.popChildrenOnSelect) {
      el.props.children.forEach(() => {
        Actions.pop();
      });
    }```

The functionality is great but obviously popping each individual scene isn't the cleanest way to go about this.

`Actions[key]({popChildren: popChildrenOnSelect})` i think this is a much cleaner pattern and will look into this further


Roadmap to stable v1.0.0

Let's face it, this project is stable and has been used in production for years :shipit:
However, we're currently following a v0.X.Y release scheme (http://sentimentalversioning.org/).
We should finally make this explicit and fully adhere to SemVer and release a stable v1.0.0.
To a large extend, a stable v1.0.0 helps making BC breaks more explicit and thus the whole project more reliable from a consumer perspective. This project is actively maintained and has received some major updates in the last weeks and has some major updates planned in the next weeks. Given our current versioning scheme, we'd like to ensure all anticipated BC breaks will be merged before the planned v1.0.0 release.
As such, I've set up a roadmap that enlists only the major changes for each version among with planned release dates towards a stable v1.0.0 release:
v0.5.0 :white_check_mark:

Released 2016-03-19
Support Connector without DNS
Context options
Improved test suite and error handling

v0.5.1 :white_check_mark:

Released 2016-11-20
Promise cancellation
Timeout handling

v0.5.2 :white_check_mark:

Released 2016-12-20
Add examples and simplify internal stream handling

v0.5.3 :white_check_mark:

Released 2016-12-24
Skip IPv6 tests if not supported and improve documentation

v0.6.0 :white_check_mark:

Released 2017-02-17
URIs everywhere
Add ConnectionInterface
Cancellation support is now mandatory
Reduce public API

v0.6.1 :white_check_mark:

Released 2017-03-10
Update stream component

v0.6.2 :white_check_mark:

Released 2017-03-17
SNI on legacy PHP < 5.6

v0.7.0:white_check_mark:

Released 2017-04-02
Simpler facade API

v0.8.0

Planned 2017-??
Merge this component into Socket

v1.0.0

Planned 2017-??
No new changes planned, this should merely mark the previous release as "stable"

This ticket aims to serve as a basic overview and does not contain every single change. Please also see the milestone links and the CHANGELOG for more details.
Obviously, this roadmap is subject to change and I'll try to keep it updated as we progress. In order to avoid cluttering this, please keep discussion in this ticket to a minimum and consider reaching out to us through new tickets or Twitter etc.

Given that there is already ongoing effort to merge this component into the Socket component, it's questionable whether this component here will ever be tagged as stable v1.0.0 at all.
See https://github.com/reactphp/socket-client/issues/86 for more details.
I've opened this ticket to give people are realistic overview of how this component is planned to evolve over the course of the next few months and how reliable this component is.
IMHO this component is very stable and once the v0.6.0 release is out, there are no BC breaks planned anytime soon. As such, you're safe to build on top of this component now.
Once we merge this component into the Socket component, we'll make sure to provide some upgrade guides on what needs to be changed. Upgrading this not take more than a few minutes, as existing code will be moved as-is.

Updated now that the v0.6.0 release is out :shipit:
https://github.com/reactphp/socket-client/milestone/8

Updated now that the v0.6.1 release is out :shipit: This also makes the previously planned v0.7.0 release pretty much obsolete, as the updated streams do not affect BC.

Updated to include simpler facade API as v0.7.0 before we evaluate if this gets merged into Socket.

Updated now that the v0.6.2 release is out :shipit: I'm now focusing on the v0.7.0 release.

Updated now that the v0.7.0 release is out :shipit:
Note that this will likely be the last (planned) release and I'm now focusing on merging this into the Socket component, see #86 for more details.

Closed in favor of reactphp/socket#75 (Migrating over to Socket now that #86 is in)


Fix image source

Add https: to image source generation to allow images to be displayed when viewed in places like email clients. This was done because I have used this plugin in ckeditor to make a nice WYSIWYG interface for sending emails, but if the email comes in with the image and link only, the fact that there is no protocol before the link to the preview image causes it to not display at all. A quick manual edit of the plugin with the change provided here resolved the issue, so I believe it would help the plugin overall.

Thanks!


Merge into master

We should get rid of dev. Master should always be shipping IMHO

If we only have master, we can't do quick bugfixes on master (since future changes will already be on it). It's also more easily to mark big releases (1.0 - 1.1 - 2.0) when using dev+master. Up to you all decide if that is an issue or not.

👍


Double use of widget ID with context menu on draggable area

Describe the bug
I have an Area that is moveable by dragging it, and has a context menu. As soon as it's moved from the starting position, I get a big "Double use of widget ID" warning. This might very well be me doing something wrong, but I don't see what or how I can avoid it. The ID it's complaining about is not the ID of the area, but the ID of the response.
To Reproduce
use eframe::egui::{self, Area, Color32, Frame, Id, Pos2, Vec2};

fn main() -> eframe::Result {
    env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).

    let options = eframe::NativeOptions {
        viewport: egui::ViewportBuilder::default().with_inner_size([320.0, 240.0]),
        ..Default::default()
    };

    let mut pos = Pos2::new(40., 40.);

    eframe::run_simple_native("My egui App", options, move |ctx, _frame| {
        egui::CentralPanel::default().show(ctx, |ui| {
            let area = Area::new(Id::new("area"));
            let area_response = area.current_pos(pos).show(ui.ctx(), |ui| {
                let frame = Frame::default().fill(Color32::from_rgb(70, 70, 70)); // The frame is just to see better, it's not necessary to reproduce the problem
                frame.show(ui, |ui| {
                    ui.allocate_space(Vec2::new(100., 100.));
                });
            });

            if area_response.response.dragged() {
                let delta = ui.ctx().input(|i| i.pointer.delta());
                pos[0] += delta.x;
                pos[1] += delta.y;
            }
            area_response.response.context_menu(|_ui| {});
        });
    })
}

Click and drag the gray area a bit.
Expected behavior
No warning.
Screenshots

Desktop (please complete the following information):
OS: Linux. Reproduced under egui 2dac4a4f (current master).

I'm not sure why it tries to use the same ID in this case, as the code that handles that is fairly complex and changing all the time, but for the record you can avoid this problem by putting the context menu inside the Area's UI:
use eframe::egui::{self, Area, Color32, Id, Pos2, Sense};

fn main() -> eframe::Result {
    let options = eframe::NativeOptions {
        viewport: egui::ViewportBuilder::default().with_inner_size([320.0, 240.0]),
        ..Default::default()
    };

    let mut pos = Pos2::new(40., 40.);

    eframe::run_simple_native("My egui App", options, move |ctx, _frame| {
        egui::CentralPanel::default().show(ctx, |ui| {
            let area = Area::new(Id::new("area"));
            let area_response = area
                .current_pos(pos)
                .show(ui.ctx(), |ui| {
                    ui.allocate_response([100.0; 2].into(), Sense::hover())
                        .context_menu(|ui| {
                            ui.menu_button("Menu", |ui| {
                                ui.button("Button1");
                                ui.button("Button2");
                            });
                        });
                    ui.painter().rect_filled(ui.min_rect(), 0.0, Color32::RED);
                })
                .response;
            if area_response.dragged() {
                pos += area_response.drag_delta();
            }
        });
    })
}

https://github.com/user-attachments/assets/1f756b7c-059d-4c21-bf1d-18ac22293e47

That works, thanks!


coverity scan important issue

I'm using pugixml in my projects. When using Coverity scan to check for possible software defects I get the following memory corruption issue with pugixml, in file pugixml.cpp (line 12010):
        PUGI__FN void xpath_node_set::_assign(const_iterator begin_, const_iterator end_, type_t type_)
11721        {
     1. Condition begin_ <= end_, taking true branch.
11722                assert(begin_ <= end_);
11723
11724                size_t size_ = static_cast<size_t>(end_ - begin_);
11725
     2. Condition size_ <= 1, taking true branch.
11726                if (size_ <= 1)
11727                {
11728                        // deallocate old buffer
     3. Condition this->_begin != &this->_storage, taking true branch.
11729                        if (_begin != &_storage) impl::xml_memory::deallocate(_begin);
11730
11731                        // use internal buffer
     4. Condition begin_ != end_, taking true branch.
11732                        if (begin_ != end_) _storage = *begin_;
11733
11734                        _begin = &_storage;
     5. address_of: Taking address with &this->_storage yields a singleton pointer.
     CID 113588 (#1 of 1): Out-of-bounds access (ARRAY_VS_SINGLETON)6. ptr_arith: Using &this->_storage as an array. This might corrupt or misinterpret adjacent memory locations.
11735                        _end = &_storage + size_;
11736                        _type = type_;
11737                }
11738                else
11739                {

And this is the provided explanation: (see: https://scan4.coverity.com/doc/en/cov_checker_ref.html#static_checker_ARRAY_VS_SINGLETON )

113588 Out-of-bounds access

Memory not owned by this buffer will be accessed, causing memory corruption or incorrect computations.

In pugi::xpath_node_set::_assign(pugi::xpath_node const*, pugi::xpath_node const*, pugi::xpath_node_set::type_t): Access of memory past the end of a memory buffer (CWE-119)

I don't know if this is a real defect or a false positive.

I believe this is a false positive - Coverity isn't able to track the invariant that _begin only contains a pointer to _storage when _begin+_end <= 1. Not sure if this is possible to work around, I'll take a look.

Sorry for the delay in sending feedback. I was out for four weeks and returned last Saturday.
I can confirm that the high impact issue reported by Coverity is now fixed. Thank you.
There are still four medium impact issues (two "inferred misuse of enum", and two "Derreference after null check"). I've you are interested I can open an issue for them.

Feel free to submit the issues, I'll see what I can do.


Unclear how to login after install

I couldn't find any documentation on how to login to edit the site after it's created.
Maybe add this to the FAQ on the website?

I will do that.  You login at https://app-to-respond.com/login/your-site.

Got it thanks.
Also the themes install to app/public/themes, not resources/themes as per the documentation.
Thanks!

Ah, thanks!  That is correct.  I will update that.