Add sanitation on assetId inputs for RPC images and add function documentation

Bloxstrap will fail to display RPC if any RPC images have assetId parameters which contain values that are not numbers, this can be troublesome if the game developer wishes to pass a Texture property of a Decal instance, which will contain rbxassetid://<Actual ID here> instead of just the ID itself. This sanitation function aims to fix that, even with Roblox asset URLs as well.
The sanitation function was tested with the following:
SetRichPresence({
	details = "test",
	state = "test2",
	smallImage = {
		assetId = "http://www.roblox.com/asset/?id=29536967",
		hoverText = "testHover"
	},
	largeImage = {
		assetId = "rbxassetid://29536967",
		hoverText = "testHover2"
	}
})

And the result works:

I also added function documentation which is available via a FastFlag (FFlagAutocompleteUserDefinedFunctionDocumentation), I added it for the future when the feature is fully integrated into Studio.

Since GitHub now has proper formatting for the Luau language, init.lua should be changed to init.luau, I didn't do it in this PR as it might break deployment for Wally and pizzaboxer may not like the change themself.


Bad Plug in folders are not ignored

With e.g. a numberformatexception
Bad paths looking like regular Roddy plugin folder can cause problems:
e.b. ABC_1.0-BACKUP will cause problems

Can't reproduce it, code and tests look both fine. I will close this issue if you do not mind.

Like this the issue is solved. But see #108.


Dcoument snap

Documentation should be in readme.md and include:

arhitecture (dapp->adapter->snap-> provider) graph
InjectedExtension additional api
document available methods and event listening
example how to add to own dapp (using injectedExtension)

@mpetrunic You can check finalized documentation

Seems fine, open PR with link to wiki in readme


Game freezes when overleveled Deflect enchantment tries to block arrow from crossbow with Piercing enchantment

I was playing around on my survival world and noticed that whenver a certain pillager with an enchanted crossbow shot at me, the game would freeze. I tested it a few more times with the same pillager, and eventually I was able to kill it and (by a stroke of luck) obtain its crossbow, which was revealed to only have Piercing 1. I have Deflect 6 on my boots, so I'm wondering if this problem has to do with the way projectiles are blocked?
I should clarify that this doesn't happen if the armor is enchanted with Deflect 3. I have only reproduced it with Deflect enchantments above 3 (which is allowed if Apotheosis is installed).
I'm playing Enigmatica 6, but I also have dungeons_gear-1.16.5-3.0.15.
I also tested this on a fresh installation of Forge with only Dungeons Gear, and the same thing happened.
The game never crashed, only froze, so there is no crash log. I also checked debug.log and latest.log and nothing came up at or around the time of the game freezing.

Do you have access to visualVM? You can check hanging processes with that. The game will also automatically shut down after 60 seconds of freezing if you're on a server. I'll look over this one.

I'm not sure what visualVM is. And I've been playing exclusively in singleplayer.

This should be fixed with .16. Piercing doesn't play nice with stuff that tries to deflect it, looks like. The vanilla shield doesn't block it either, so I've just set piercing arrows to ignore deflect.


New data sources should default to private

When you add a custom data source, it defaults to public.

It actually does default to private, something is wrong on the backend though that it is not getting filtered out.


Mean and sum

@shobitnair  i have made changes in count_nonzero function.
It would be great , If you can provide me some bonus points for it :')


Turning on 2FA breaks PowerBI automation because of Microsoft.AnalysisServices.Authentication

Issue:

2FA not compatible with Microsoft.AnalysisServices.Authentication
2FA not compatible with PowerBI automation using Microsoft.AnalysisServices.NetCore.retail.amd64

Steps to reproduce:

Set up Developer sandbox for PowerBI web premium and AAD

Register for a free 60 day Microsoft developer sandbox to test PowerBI integration (that sandbox comes pre-configured with 2fa enabled) as described at https://radacad.com/power-bi-sandbox-an-environment-to-learn-power-bi-service-for-free.
Go to https://powerbi.com and sign in as your sandbox user.
In the upper right corner of the powerbi tab, select your avatar and click the Start Trial button.
Switch your Power BI account to a premium account.

Get the URL for a Power BI Workspace Connection (eg. powerbi://api.powerbi.com/v1.0/myorg/whatever)

Create a new workspace with premium access (automation doesn't work with "My Workspace").
Create a data source and report in the new workspace.
Click the Workspaces icon on the left of the power bi tab
Mouse-over the name of the new workspace
Click on the "..." icon and select "Workspace Settings"
Select the "Premium" Workspace Settings
Scroll to the bottom of the window and copy the Workspace Connection URL

Attempt to interact with the Power BI Workspace from C#

See code below

Attempt 1: server.Connect()
Code:
using Microsoft.AnalysisServices.Hosting;
using Microsoft.AnalysisServices.Tabular;

...

var connectionString = "DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;User ID=whatever@whatever.onmicrosoft.com;Password=whatever;";
Server server = new Server();
server.Connect(connectionString);

Result:
Exception: "A device-code authentication flow is needed and a notification callback was not provided!
Unable to obtain authentication token using the credentials provided. Your Active Directory tenant administrator requires Multi-Factor Authentication."
After lots of debugging into the compiled Microsoft.AnalysisServices code I was able to find the undocumented parameter through which callers are supposed to provide a notification callback. The missing parameter that needs to be provided to the Server constructor to prevent this exception is OnAuthenticationByDeviceCode.
Attempt 2: OnAuthenticationByDeviceCode
Code:
using Microsoft.AnalysisServices.Hosting;
using Microsoft.AnalysisServices.Tabular;

...

var connectionString = "DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;User ID=whatever@whatever.com;Password=whatever;";
Server server = new Server()
{
    OnAuthenticationByDeviceCode = (AuthenticationByDeviceCodeNotification arg) =>
    {
        Console.WriteLine("OnAuthenticationByDeviceCode");
    }
};
server.Connect(connectionString);

Result:
Exception: "Unable to obtain authentication token using the credentials provided. Your Active Directory tenant administrator requires Multi-Factor Authentication.
Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access."
Attempt 3: User ID and invalid Password
Code:
using Microsoft.AnalysisServices.Hosting;
using Microsoft.AnalysisServices.Tabular;

...

var connectionString = "DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;User ID=whatever@whatever.com;Password=invalid";
Server server = new Server()
{
    OnAuthenticationByDeviceCode = (AuthenticationByDeviceCodeNotification arg) =>
    {
        Console.WriteLine("OnAuthenticationByDeviceCode");
    }
};
server.Connect(connectionString);

Result:
Exception: "Unable to obtain authentication token using the credentials provided. If your Active Directory tenant administrator has configured Multi-Factor Authentication or if your account is a Microsoft Account, please remove the user name and password from the connection string, and then retry. You should then be prompted to enter your credentials."
Attempt 4: No User ID or Password
Code:
using Microsoft.AnalysisServices.Hosting;
using Microsoft.AnalysisServices.Tabular;

...

var connectionString = "DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;";
Server server = new Server()
{
    OnAuthenticationByDeviceCode = (AuthenticationByDeviceCodeNotification arg) =>
    {
        Console.WriteLine("OnAuthenticationByDeviceCode");
    }
};
server.Connect(connectionString);

Result:
Exception: "Authentication failed: User ID and Password are required when user interface is not available."
Variant on attempt 4: I also tried providing empty User ID and Password properties in the connectionString ("DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;User ID=;Password=;") but that did not change the result.
Attempt 5: AAD Application ID
Code:
using Microsoft.AnalysisServices.Hosting;
using Microsoft.AnalysisServices.Tabular;

...

var connectionString = $"DataSource=powerbi://api.powerbi.com/v1.0/myorg/whatever;User ID=app:{ApplicationId}@{TenantId};Password={AzureADClientSecretValue};";
Server server = new Server()
{
    OnAuthenticationByDeviceCode = (AuthenticationByDeviceCodeNotification arg) =>
    {
        Console.WriteLine("OnAuthenticationByDeviceCode");
    }
};
server.Connect(connectionString);

ApplicationId, TenantId, and AzureADClientSecretValue came from creating an AzureAD Application, and creating a Client Credentials Secret within that AAD Application.
Result:
Exception: "PowerBI Request Failed.
Action: Resolving the PBI workspace
Description:
Technical Details:
The remote server returned an error: (401) Unauthorized."

Sorry we missed this. If problem still persists, please open a CSS ticket as this is core AS functionality.


Promises

Just a placeholder PR to provide feedback

not related to promises branch as such, but I wish our expected test results would not drown the actual change in a sea of boring diffs.

@bozzzzo I deal with that by committing exptected as a separate commit.

Note the above was just a design prototype, so the code was never run, compiled, or tested. Many of the issues you pointed above were fixed as I start writing tests.

Basically done. Still remaining:

Code review.
Javascript promises_test.q goes into infinite loop on my computer.

Simplified collector branch had no impact on Javascript issue, so next trying to actually debug it.

Tests might actually pass now, thanks to @rhs mock library.

One thing that is missing is a dual track "if success do this, if error do that" method, so I'll go add that.

I've looked at this and I'm generally +1 on it. My only comment is that given that quark code should basically be entirely non blocking, I think Promise is core enough and will likely be widely used enough that we should consider putting it directly into the quark namespace so we don't require people to add the boilerplate of a manual import of quark.promise in order to do just about anything useful.

@rhs: we just need to add import quark.promise to quark.q -- similar to how I "solved" the Error base class import cycle


isOpaque backing field/block settings

isOpaque just returns field_20720 so it seems rather obvious. BlockState method is called "nonOpaque" instead of "transparent" because stuff like beds use it.

Imo the mappings are right and the pr is ready.


CONTROLLER_IP and CONTROLLER_SERIAL_NUMBER

Hi!
The container additionally needs CONTROLLER_IP and CONTROLLER_SERIAL_NUMBER as environment variables. This leads to me to suppose that the mqtt-tesla-bridge requires a Tesla powerwall.
These requirements are not documented in the readme, and mistakenly I thought the repo directly can access Tesla's information.
https://github.com/terafin/mqtt-tesla-bridge/blob/7cd43d808f465983763d4eb9b3e69f86c54c8a1c/lib/tesla.js#L13
The additional requirements (Tesla powerwall, environment variables) should be documented.

Yup, I'll fix that presently, sorry! (Copying standard docs over from my other projects!

Should be resolved by: https://github.com/terafin/mqtt-tesla-bridge/commit/6f5ae2d3db7f9a17b4f8c8cf84fc3512f94def9a
can you confirm please? :)


Add more Raspberry Pi Pico Breadboard Shields by 52Pi (GeeekPi)

Fixes #242 and also brings many improvements in shield documentation:

EP-0164: Pico Breadboard Kit shield by 52Pi (GeeekPi)
EP-0172: Pico Breadboard Kit Plus shield by 52Pi (GeeekPi)

Also this fixes #252 and some typos in documentation.

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.
Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

Found the new documentation about Raspberry Pi Pico Breadboard Shields by 52Pi (GeeekPi) at: https://bridle.tiac-systems.net/ghpr/doc/PR-251/bridle/boards/shields/rpi_pico_bb/doc/index.html


Gulp 4 symlinked gulpfile.js

I've been using gulp 4 for a while, and I love it. Up until now I've had no problems using a common gulpfile for a bunch of different projects, it's simple symlinked into each project that uses it from a 'common' project that has a bunch of shared resources in it.
I updated all of my node_modules today after a node.js upgrade, and now when I try to use gulp against the symlinked gulpfile.js I get an error:
[10:40:09] Using gulpfile /system/docs/dev/common/gulpfile.js
[10:40:09] Task never defined: default
[10:40:09] To list available tasks, try running: gulp --tasks
If I go into the 'common' project where the gulpfile is not a symlink, it works fine, so there's nothing wrong with the gulpfile itself. It would appear something has changed in how gulp handles symlinks.
What's going on, and how can this be fixed or worked around without making an individual copy of the gulpfile into each project (which is a terrible option, but one that I will use if I have to.)

You have not provided enough information, need versions of everything, etc.

Sorry about that, the newest versions as of today.
$ gulp -v
[10:55:21] CLI version 0.4.0
[10:55:21] Local version 4.0.0-alpha.2
$ node -v
v6.0.0
As it only started exhibiting this behavior after the updates today, I figured it had to have been a relatively recent change.

You are using a super old version of gulp-cli.  Please upgrade to the published version of https://www.npmjs.com/package/gulp-cli

Oh, the instructions I found for how to install gulp 4.0 said to use the version specifically tagged, so I've been using "npm install -g "gulpjs/gulp-cli#4.0" to install it. I'll switch back to the gulp-cli package I had before which I was using with gulp 3.x

I'm now using:
$ gulp -v
[11:06:02] CLI version 1.2.1
[11:06:02] Local version 4.0.0-alpha.2
And it's acting the same way. If I use a gulpfile.js that is a "real file", it works perfectly. As soon as I use one that is a symbolic link, it shows no tasks registered.
Here's the output of gulp --tasks from the 'common' folder:
$ gulp --tasks
[11:08:23] Tasks for /system/docs/dev/common/gulpfile.js
[11:08:23] ├─┬ build
[11:08:23] │ └─┬
[11:08:23] │   ├── build-js
[11:08:23] │   └── build-css
[11:08:23] ├── build-css
[11:08:23] ├── build-js
[11:08:23] ├─┬ clean
[11:08:23] │ └─┬
[11:08:23] │   ├── clean-js
[11:08:23] │   └── clean-css
[11:08:23] ├── clean-css
[11:08:23] ├── clean-js
[11:08:23] ├─┬ default
[11:08:23] │ └─┬
[11:08:23] │   └─┬ build
[11:08:23] │     └─┬
[11:08:23] │       ├── build-js
[11:08:23] │       └── build-css
[11:08:23] ├─┬ rebuild
[11:08:23] │ └─┬
[11:08:23] │   ├─┬ clean
[11:08:23] │   │ └─┬
[11:08:23] │   │   ├── clean-js
[11:08:23] │   │   └── clean-css
[11:08:23] │   └─┬ build
[11:08:23] │     └─┬
[11:08:23] │       ├── build-js
[11:08:23] │       └── build-css
[11:08:23] ├─┬ watch
[11:08:23] │ └─┬
[11:08:23] │   ├── watch-js
[11:08:23] │   └── watch-css
[11:08:23] ├── watch-css
[11:08:23] └── watch-js
And here's the output of the same command from one of the project folders (with the symlink)
$ gulp --tasks
[11:07:46] Tasks for /system/docs/dev/common/gulpfile.js
I'm going to run an strace on both and see if I can see what's going on.

Instead of using a symlink, why don't you use the --gulpfile flag?

Symlinks are still supported in Liftoff (see https://github.com/js-cli/js-liftoff/blob/master/index.js#L81-L84) unless node 6 changed something...

The automated system which updates the various packages from git checks for the presence of certain files, such as 'gulpfile.js' , 'Gruntfile.js', 'Makefile', etc. to determine if that particular project uses a particular build system, and then runs 'gulp', 'grunt', or 'make' depending on the presence of the file.
Actually, the server which uses the automated system is a different OS than my machine, and is using node 'v5.11.0' but the same versions of 'gulp' and 'gulp-cli' and it does not appear to be experiencing this problem, so I'm wondering if it's specific to node 6.0 or one of the node_modules that I had to rebuild on my local machine today after upgrading node.
If I use "gulp --gulpfile ../common/gulpfile.js" on my local machine, it works properly. I'll want to set up an alias, as that's a bit of a handful to be typing every time.

Definitely seems like a platform thing.  Going to close this but feel free to drop any followup information here; I'll keep an eye out.

I am continuing to try to figure this out, as there is another problem I've found with using the --gulpfile flag. If I use --gulpfile, it doesn't actually operate in my current working directory, but changes to the directory where the gulpfile is, which completely defeats the purpose entirely (as it's not working on the source files in the project folder, but on the source files in the common folder.) I as of now, have no way to recompile on my local machine without hard copying the files into the folder, which is going to be a pain that I'll have to work around. I am going to attempt upgrading everything again to see if that helps.

Is there a recommended way to use single gulpfile.js across several modules/directories? I've tried symlinks, I've tried setting --gulpfile. I've even tried explicitly setting --cwd. None of these make any difference, gulp uses makes directory where gulpfile is it's working directory, which makes it impossible to put gulpfile.js anywhere other then directory that needs to be built.


Change default query of /sparql

to
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX databus: <https://dataid.dbpedia.org/databus#>
PREFIX dataid: <http://dataid.dbpedia.org/ns/core#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>

select ?latestDatasets ?version ?title ?description ?license (count(?dist) as ?nrOfFiles) (sum(?bytesize) as ?sumfilesize) ?account where {
         ?latestDatasets
                 a databus:Version ;
                 dct:title ?title ;
                 dct:description ?description ;
                 dct:hasVersion ?version ;
                 dct:license ?license ;
                 dct:issued ?issued;
                 dcterms:modified ?modified ;
                 databus:account ?account ;
                 dcat:distribution  ?dist .
                 ?dist dcat:byteSize ?bytesize

} ORDER BY DESC(?issued)
LIMIT 100

feature here is that people can start with this one and then experiment to get what they want.

Tried this:
VIRT_SPARQL_DEFAULTQUERY: >
        PREFIX dct: <http://purl.org/dc/terms/>
        PREFIX databus: <https://dataid.dbpedia.org/databus#>
        PREFIX dataid: <http://dataid.dbpedia.org/ns/core#>
        PREFIX dcat: <http://www.w3.org/ns/dcat#>

        SELECT ?latestDatasets ?version ?title ?description ?license (COUNT(?dist) as ?nrOfFiles) (SUM(?bytesize) as ?sumfilesize) ?account WHERE {
          ?latestDatasets
            a databus:Version ;
            dct:title ?title ;
            dct:description ?description ;
            dct:hasVersion ?version ;
            dct:license ?license ;
            dct:issued ?issued;
            dcterms:modified ?modified ;
            databus:account ?account ;
            dcat:distribution  ?dist .
          ?dist dcat:byteSize ?bytesize .
        } ORDER BY DESC(?issued)
        LIMIT 100

Does not work with the virtuoso.ini, waiting for a response from the virtuoso devs


chore: Update Podfiles url

Using https://github.com/CocoaPods/Specs.git as the source url is very slow.  https://cdn.cocoapods.org/ gives much faster results.
References:
https://medium.com/@pm74367/cocoapods-specs-repo-demystified-9750baa6af5f#:~:text=It’s essential to,CI/CD builds.
https://guides.cocoapods.org/using/the-podfile.html

Closing in favor of #222


SW-3521 Store monitoring plot boundary as Polygon

When we thought we were going to be loading monitoring plot boundaries from
shapefiles, it made sense to allow complex geometries and normalize them to
MultiPolygon. But now that we're generating them programmatically, we can
guarantee they will never have multiple polygons; storing them that way adds
needless overhead.
Change the geometry type to Polygon and convert any existing monitoring plots
by extracting the first (and only) Polygon from the plot's MultiPolygon.

Current dependencies on/for this PR:

main

PR #1109   👈

This comment was auto-generated by Graphite.


add impsort-maven-plugin

Fixes #539

Is there something else to do for this?

Is this plugin supported also by Intellij IDEA?

Is this plugin supported also by Intellij IDEA? or other editors?

Yes, the Eclipse Code Formatter plugin supports this

Is there something else to do for this?

no, removed from "draft"


Support synchronization features.

Basic features
System.Threading.Interlocked
System.Threading.Monitor
Advanced features
System.Threading.WaitHandle
System.Threading.Mutex
System.Threading.Event
System.Threading.ReaderWriterLock

Related #50

41cf424cffe5668d98fe0258ed1c012958b7f09f
Monitor lock feature implemented 🎉

It's bit difference handling.

The constant instance (currently only System_String with generated IL2C_CONST_STRING() macro), they can't set any instance flag at the IL2C_REF_HEADER.characteristic. Because it'll place in the rdata section (exactly ROM area for devices.) So, the monitor lock management area is searched always.
The standard instance (System_Object and others) can set characteristic flags. IL2C memorize acquire monitor lock into it (with IL2C_CHARASTERISTIC_ACQUIRED_MONITOR_LOCK.) Then, the GC will collect faster for analyzing acquired or not.


Fix 'Edit this page' links

The "Edit this page" link should be changed from e.g. https://github.com/leoafarias/fvm/edit/master/doc/docs/getting_started/configuration.mdx to https://github.com/leoafarias/fvm/edit/master/website/docs/getting_started/configuration.mdx with the PR.

@all-contributors please add @jmewes for doc

@jmewes thanks for the catch


The audio stops playing after the 15th video in the list.

The audio stops playing after the 15th video in the list.
I implemented this plugin with around 50 videos, and while the video plays and pauses perfectly, the audio stops after the 15th video.
However, the audio works perfectly when I return to videos below the 15th, such as the 15th, 14th, or 13th.
please check the video below:
https://github.com/user-attachments/assets/aa545d4a-3ce4-40fb-b390-df151b0f4e7e

Did you fix it?


CIV-6625 Set placeholder of court location in hearing doc

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[x] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)
[x] Screenshot attached for the Evidence of manual testing
[ ] Functional, Smoke and API tests have been run locally
[x] Full gradle build and run tests with coverage have been completed (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/CIV-6625
Change description

On Hearing Notice should shows hearing location, however when no location is selected, for example telephone or video the order should direct to make written application to CTSC/Local court in line with other orders.
Before SDO (CTSC address )
After SDO (Local Court)

Testing branch and instruction
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Hearing_order_after_SDO.pdf


Local variable declaration does not respect scoping

What went wrong?
Defining two variables of the same name in different scopes incorrectly errors with Variable already exists.
What caused it?
fn a() Void {
    var x I32
}

fn b() Void {
    var x I32
}

Duplicate of #11, but that one is less detailed 'cause I'm lazy so I'll close that instead


python3Packages.manga-ocr: 0.1.11 -> 0.1.12

Description of changes

https://github.com/kha-white/manga-ocr
Follow-up of #235797
The project now uses a pyproject.toml file, which makes the nix derivation simpler.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I reran the test I initially ran https://github.com/NixOS/nixpkgs/pull/235797#issuecomment-2072218602 and it still works . merging


Tests not running successfully

Hi there,
I just forked the project and ran the unit tests.
These tests are successful:
BulletTrainClientTest.testClient_When_Get_Features_For_User_Then_Success
BulletTrainClientTest.testClient_When_Get_Features_Then_Success
BulletTrainClientTest#testClient_When_Get_User_Traits_For_Invalid_User_Then_Return_Empty
These ones are not:
BulletTrainClientTest.testClient_When_Get_User_Trait_Then_Success
BulletTrainClientTest.testClient_When_Get_User_Trait_Update_Then_Updated
BulletTrainClientTest.testClient_When_Get_User_Traits_For_Keys_Then_Success
BulletTrainClientTest.testClient_When_Get_User_Traits_Then_Success
Thank you,
Olga

Hi @sw-tracker
The tests expect a user another_user with trait cookies_key - if you update the environment key to an API that has this data the tests should pass.

Thank, it works now 👍

Thank, it works now 👍


Feature/codecov report

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b085a41). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #6   +/-   ##
=========================================
  Coverage          ?   81.19%
=========================================
  Files             ?       13
  Lines             ?      218
  Branches          ?        0
=========================================
  Hits              ?      177
  Misses            ?       41
  Partials          ?        0

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 b085a41...f2ce92a. Read the comment docs.


Appending callback to url when hitting Sign in button on Nav

Context
If you spam click the sign in button it keeps appending 'www.codu.co%2Fget-started%3FcallbackUrl%3Dhttps%253A%252F%252Fwww.codu.co%252F' to the url.

Expected Behavior
The url would update on first click and would not update on subsequent clciks
What is the current behavior?
The url is appended with 'www.codu.co%2Fget-started%3FcallbackUrl%3Dhttps%253A%252F%252Fwww.codu.co%252F' each time.
Screenshots
Steps to reproduce

Navigate to https://www.codu.co/
Click Sign in button in Nav
Click Sign in button in Nav again
Look at the url

Additional info
No loss in functionality as far as I can tell so maybe not a big deal

@the-Tiege this might be a nice one to pick up

Looked at this one last night. Its a bit of a mind melt. Seems to be an issue with next-auth but I cant surface the logs. Log surfacing seems to be a known issue with next-auth.

Hi, I have looked into the code, and the issue seems to be that on the "Sign in" button click event, the' signin ()` method from NextAuth is being called without any arguments. This is causing the current page URL to be appended to the callback URL.
You can assign it to me, I can look into this issue.

I have opened up a PR for the fix, let me know if you need any details or have suggestions.


fix: scripts and styles were missing from built HTML on Windows

Description
Fix HTML entry file generation under Windows where different path
separation characters exists than on POSIX filesystems. This fixes issue
#15992.
The bug was not present in Vite 5.0.12, but still exists in 5.2.8.
I've traced it down to a bug in Vite which is related to path
handling and manifests itself only under Windows filesystems. The
chunk.facadeModuleId is something like C:\Users\rse\xxx\index.html
(the Windows path separation characters are in place) and the id is
C:/Users/rse/xxx/index.html (where POSIX path separation characters
are in place). As a result, the chunk is not found and hence the
tags not emitted during the HTML generation.
The workaround by using path.resolve() on the
build.rollupOptions.input works, but it would be better if the
comparison inside Vite is fixed. This is what this PR attempts to do.

I applied my changes so that it works and added a test.

/ecosystem-ci run

Still not working on v5.4.2
with NodeJS 18 and MacOS 14.6.1

@vuletuanbt Please create a new issue with a minimal reproduction. Otherwise, your comment here will get lost and not be properly tracked.


Embedding a tweet shows error "Couldn't fetch the link data"

While embedding tweets for some tweets iframely is unable to fetch metadata.

Some tweets are failing while fetching metadata
https://twitter.com/ggreenwald/status/1534641054556774402


Fix#3961: BubbleButton of textinput becoming functional (not changing always_release)

#3961

It mostly works, but there are some bugs, like crashing when the bubble is visible and you click near it, and the coordinate space of the touch is changed in a permanent way. This should fix the issues I could find:
    def on_touch_up(self, touch):
        try:
            touch.push()
            self.transform_touch(touch)
            for child in self.content.children:
                if ref(child) in touch.grab_list:
                    touch.grab_current = child
            return super(TextInputCutCopyPaste, self).on_touch_up(touch)
        finally:
            touch.pop()

@saqib1707, thanks for the update.
For all contributors: please do not squash the commits which have already been pushed to pr branches, the evolution of the contribution is lost and anyone revisiting the thread will miss some important context. We are able to squash while merging, if needed.


Phantom crashes when trying to page.open() too many sites - Crashdumps / testfiles included

System: Windows 8.1 64bit
Phantom: Binary from the main page, version 2.0
I have a .txt file with 1 URL per line, I read every line and open the page, searching for a specific url.match (changed domain for privacy reasons in the code) - if found,print the found JSON, abort request, unload page.
My .txt file contains 12500 links, for testing purpose I split it into the first 10/100/500 urls.
Problem 1: If I try 10 urls, it prints 9 and uses 40-50% cpu afterwards
Problem 2: If I try 100 urls, it prints 98, uses 40-50% cpu afterwards for whatever reasons, then it crashes after 2-3 minutes.
Problem 3: Same goes for 98 links (it prints 96, uses 40-50% cpu, then crashes too) and for 500 links
TXT-files:
https://www.dropbox.com/s/eeiy12ku5k15226/sitemaps.7z?dl=1
Crash dumps for 98, 100 and 500 links:
https://www.dropbox.com/s/ilvbg8lv1bizjti/Crash dumps.7z?dl=1
console.log('Hello, world!');
var fs = require('fs');
var stream = fs.open('100sitemap.txt', 'r');
var line = stream.readLine();
var webPage = require('webpage');
var i = 1;

while(!stream.atEnd() || line != "") {
	 //console.log(line);
    var page = webPage.create();
	page.settings.loadImages = false;
    page.open(line, function() {});
	//console.log("opened " + line);
    page.onResourceRequested = function(requestData, request) {
		//console.log("BEFORE: " +requestData.url);
        var match = requestData.url.match(/example.com\/ac/g)
		//console.log("Match: " + match);
		//console.log("Line: " + line);
		//console.log("Match: " + match);
        if (match != null) {
            var targetString = decodeURI(JSON.stringify(requestData.url));
            var klammerauf = targetString.indexOf("{");
            var jsonobjekt = targetString.substr(klammerauf, (targetString.indexOf("}") - klammerauf) + 1);
            targetJSON = (decodeURIComponent(jsonobjekt));
			console.log(i);
			i++;
            console.log(targetJSON);
			console.log("");
			request.abort();
			page.close();
        }
    };
	var line = stream.readLine();
}

//console.log("File closed");
//stream.close();

This is the same as your report #13581, isn't it?


refactor: try out different maestro nightly build jobs #DRAFT WIP

This PR resolves []
Description
try out different maestro nightly build jobs #WIPWIPWIP

PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

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

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 814ed4c2ecc0feaefceb2445d13c5ebbed26521b


Fixed #27216 -- Corrected import location in admin deprecation messages.

Fixed the referenced deprecation messages

buildbot, add to whitelist.


Feat/live binding

This implements a live directive, based on discussions at https://github.com/Polymer/lit-html/issues/877

My scroll is in a , not a custom element, how can I actually use this on a div?

You can use the directive on any element in a lit html template

Thanks for your fast reply. This works!


Sema: Re-introduce the hack for re-using generic signature of extended protocol

In Swift 5.10 if you wrote extension Foo {} for some protocol Foo,
the extension would always re-use the generic signature of Foo, which
is . In Swift 6 this no longer works because Foo
might be ~Copyable, in which case extension Foo {} adds default
requirements, so we changed GenericSignatureRequest to just always
build a new signature if we're given an extension.
However, to avoid a request cycle with a code example that really should
have never worked at all, I'm re-introducing the hack for re-using the
signature.
Fixes rdar://problem/129540617.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please test source compatibility


Collets level params in more cases

Small modification to collect the level params in more cases.
This eliminates some errors in simulations via the Repl. E.g. the simulation of the following theorem:
theorem exists_not_acc_lt_of_not_acc {a : α} {r} (h : ¬Acc r a) : ∃ b, ¬Acc r b ∧ r b a := by
  contrapose! h
  refine' ⟨_, fun b hr => _⟩
  by_contra hb
  exact h b hb hr
#align rel_embedding.exists_not_acc_lt_of_not_acc RelEmbedding.exists_not_acc_lt_of_not_acc

would throw an error that a level param does not exist.

Thanks!


gulp.watch runs by itself periodically (roughly twice a second)

I'm in the process of integrating gulp into an existing project. I want to minify only some JS files, so I use this code:
const srcRoot = path.join(__dirname, 'WebContent');
const webRoot = path.join(__dirname, 'WebContent');

const jsFilesToMinify = [
    'js/file1.js',
    'js/file2.js'
];

gulp.task('minify-js', () => {
    return gulp.src(jsFilesToMinify.map(file => path.join(srcRoot, file)))
        .pipe(sourcemaps.init())
        .pipe(uglify())
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest(file => {
            const destRelativePath = path.relative(srcRoot, path.dirname(file.path));
            return path.join(webRoot, destRelativePath);
        }));
});

gulp.task('watch', ['default'], () => {
    for (let file of jsFilesToMinify.map(file => path.join(srcRoot, file))) {
        gulp.watch(file, ['minify-js']);
    }
});

For some odd reason when I run gulp watch it runs default tasks fine but then it begins to run minify-js once every half a second for no reason - file doesn't change (I closed the editor to be sure).
I also tried doing it like this:
gulp.watch(jsFilesToMinify.map(file => path.join(srcRoot, file)), ['minify-js']);

^ Same problem.
What version of gulp are you using?
CLI version 1.3.0
Local version 3.9.1
What versions of npm and node are you using?
npm: 5.3.0
node: v8.4.0
OS: Windows 10

@sryze glad you figured it out.

I had to use {cwd: srcRoot} instead of simply prefiing file paths with srcRoot . I don't know why, but it worked.

Cool.  Using path.join on Windows soon won't work so I'm glad you moved away from that.


[ecbuff] possible to accidentally read newest (overwritten) element with ECB_WRITE_OVERWRITE ?

Hi,
looking at
https://github.com/EliasOenal/etools/blob/c3e3bb4c7f0f086c766c93114a2a1a4ae98a79b2/ecbuff.c#L175
Isn't there a window of time between setting 'rb->wp = wp;' and incrementing rp (to drop the oldest element) , where it would be possible for the consumer to accidentally read the element that was just pushed in ?

Yes, but this is by design. ecbuff_cfg.h warns about it: ECB_WRITE_OVERWRITE ***WARNING: Not thread-safe!*** Only supported when ECB_THREAD_SINGLE is defined.
I don't know if there is a good way to make this thread safe, but I am open for ideas.

Yes, but this is by design. ecbuff_cfg.h warns about it: ECB_WRITE_OVERWRITE ***WARNING: Not thread-safe!*** Only supported when ECB_THREAD_SINGLE is defined.
I don't know if there is a good way to make this thread safe, but I am open for ideas.

Ah, I missed that comment about not being thread-safe.
OVERWRITE behaviour isn't something I need, but maybe something like this would work ?

before MEMCPY  in _write(), check if there would be an overwrite
increment rp, dropping the last element
MEMCPY
update wp

One minor weakness is the writer may be dropping elements a bit more often than theoretically necessary, if it's often operating near max capacity. E.g. the consumer thread reads an element after "check if there will be an overwrite" but before the writer's MEMCPY : in principle there would be no overwrite but the writer increment's rp anyway, dropping an extra element.

Ah, I missed that comment about not being thread-safe.
OVERWRITE behaviour isn't something I need, but maybe something like this would work ?

before MEMCPY  in _write(), check if there would be an overwrite
increment rp, dropping the last element
MEMCPY
update wp

One minor weakness is the writer may be dropping elements a bit more often than theoretically necessary, if it's often operating near max capacity. E.g. the consumer thread reads an element after "check if there will be an overwrite" but before the writer's MEMCPY : in principle there would be no overwrite but the writer increment's rp anyway, dropping an extra element.

I believe this will cause race conditions. The reader may still be (slowly) reading an element while the writer invalidates the element and overwrites the data. For non-atomic elements the reader may now read a corrupt element as it gets overwritten.

I believe this will cause race conditions. The reader may still be (slowly) reading an element while the writer invalidates the element and overwrites the data. For non-atomic elements the reader may now read a corrupt element as it gets overwritten.

You're correct, I hadn't considered that.

You're correct, I hadn't considered that.

Closing since the original issue was already documented, and there is no simple, obvious solution.

Closing since the original issue was already documented, and there is no simple, obvious solution.


AuTest: Replace httpbin with proxy-verifier

We saw all httpbin based AuTest was failed. ( This is fixed by #8765 ) For the long term, we need to migrate these AuTest using the proxy-verifier. It looks like the proxy-verifier has equivalent features that we're using. If not, we can add it.
List of the httpbin based tests are below
» grep Test.MakeHttpBinServer -R ./* | awk -F ':' '{print $1}'
./autest-site/httpbin.test.ext
./cache/background_fill.test.py
./connect/connect.test.py
./h2/nghttp.test.py
./h2/httpbin.test.py
./h2/h2spec.test.py
./logging/new_log_flds.test.py
./post/post-continue.test.py
./proxy_protocol/proxy_protocol.test.py

Seem like https://github.com/mccutchen/go-httpbin is the successor of the httpbin.

Hey!please assign me this issue.


[go-rules]

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Example: I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Code example(s) or test data

Hei


[features] cycle counter instrumented library

Even though QEMU does not implement the cortex M4 DWT cycle counter, real hardware often does.
I have successfully tested the commented out cycle counter code from qemu-test on a real STM32F411 board. Of course, the cycle count for sign() is not constant, as the message length varies.
So, now it would be nice to have a feature in salty to enable cycle counting in 'the right places'.
As a starting point, dedicated tests for low level calls would be fine, too.
** Programming Finished **
** Verify Started **
** Verified OK **
** Resetting Target **
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
enabled cycle counter
keypair.sign took 5539346 cycles
keypair.sign took 5539196 cycles
keypair.sign took 5539230 cycles
keypair.sign took 5539254 cycles
keypair.sign took 5873812 cycles
keypair.sign took 5564848 cycles
All tests passed, including RFC 8032 test vectors!

(As a quick test, I wrapped all regular sign() calls with the counting code.)

There's also the problem of caches.


[Question] Unclear what "Perform an unzip for tasks for each step." does

Agent Version and Platform
Version of your agent? 2.177.1
OS of the machine running the agent? win-x64
Azure DevOps Type and Version
dev.azure.com (formerly visualstudio.com)
What's not working?
When running config.cmd it asks Perform an unzip for tasks for each step. but there is no documentation on what that means.
What are the implications, pros, cons?

Connecting to the server.

Enter deployment group tags for agent? (Y/N) (press enter for N) >

Testing agent connection.
Enter Perform an unzip for tasks for each step. (press enter for N) >

We are all waiting at this prompt until you tell us what happens next.

I went for the default for the moment but I'm curious too!

Same here.

Hi everyone, this is an option for additional security restrictions.
The main idea is that a malicious script could impact the contents of the unzipped task. By unzipping it each time, some customers believe they’re in a more secure state.
Since this is not a wide used option - we are planning to make it as command-line only flag instead of prompting this during agent configuration and update related documentation also.

@anatolybolshakov  There's a problem with unnatended installations, this new param, doesn't allow the agent to be installed silently. It always asks for a answer, Is there any new param in order to force via CLI?

@mtenrero yes, you can use --AlwaysExtractTask command-line parameter to set it up

So, should I answer Y or N? I am still confused what it does, and what's the implication on chonices.
Thanks

Hi everyone, this is an option for additional security restrictions.
The main idea is that a malicious script could impact the contents of the unzipped task. By unzipping it each time, some customers believe they’re in a more secure state.
Since this is not a wide used option - we are planning to make it as command-line only flag instead of prompting this during agent configuration and update related documentation also.

So, should I answer Y or N? I am still confused what it does, and what's the implication on chonices.
Thanks

Hi everyone, this is an option for additional security restrictions.
The main idea is that a malicious script could impact the contents of the unzipped task. By unzipping it each time, some customers believe they’re in a more secure state.
Since this is not a wide used option - we are planning to make it as command-line only flag instead of prompting this during agent configuration and update related documentation also.

@yuanb Since enabling this options increases pipeline execution time, and it's necessary mostly for specific cases - I would suggest to leave default value - i.e. N

@yuanb Since enabling this options increases pipeline execution time, and it's necessary mostly for specific cases - I would suggest to leave default value - i.e. N

My issue is the broken English/Explanation behind the prompt. Based on the discussion here the options seems to have a good purpose but it's difficult to understand what exactly is being asked in the prompt.

Enter Perform an unzip for tasks for each step. (press enter for N)

Why is the word "Enter" in front of the quest? I guess the user prompt mechanism always adds Enter to the beginning of the question.  But the question itself should take that in to consideration.  "Enter User account to use for the service" for example reads just fine.  So maybe change the prompt to "Enter Y to perform an unzip for task for each step. (press enter for N)
Second, why does it say "for each step".  I ran the config just once.  Why are there multiple steps.  Maybe I'm misunderstanding the inner working here, but I've been setting up agents for years now and never been confused about it until now.  To me there is only one step.  I download, extract and run config.  What are the multiple steps being implied here?

while AlwaysExtractTask sets it to Y, it doesn't seem like there is a similar switch to force it to no on the CLI, thats frustrating.

Hi all,
I found the documentation which backs up what anatolybolshakov is saying:
When the agent runs a job, it first downloads all the task bundles required by the job's steps. Normally, for performance, it unzips the tasks once per job even if the task is used in multiple steps. If you have concerns about untrusted code altering the unzipped contents, you can trade away a little bit of performance by having the agent unzip the task on each usage. Tell me more...

Hi everyone! We rolled out related changes - so this option should not appear during agent configuration as rarely used - please let us know if you have any other questions.


Want to mock/stub component method in created/mounted lifecycle.

In vue-test-utils v1.x, we can mock(stub) component methods for the created/mouted lifecycle as follows:
SFC (class-style component)
// ignore other code ...
created() {
}

mounted() {
     this.callThirdPartyLib();
}

callThirdPartyLib() {
    // call third-party libaray
}

In test file
// use sinon, chai tool

wrapper = shallowMount(MyComponent, {
      methods: {     // In vue-test-utils 2.x  doesn't support mocking methods while mounting component
        callThirdPartyLib: sinon.stub(),     // Don't want to call this real method, so stub it.
        disableTab: sinon.stub(),
        pageScrollTop: sinon.stub()
      },
      localVue,
      store,
});

it('...', () => {
    expect(wrapper.vm.callThirdPartyLib).to.have.been.calledOnce;
})

vue-test-utils v2.x
I know we can stub the http request action (axios) in created/mounted lifecycle. This behavior is independent (gloabl function or gloabl instance) from component, so  they are easy to stub. But in my scenario, just don't want to call real method (callThirdPartyLib) while mounting component.
import axios from 'axios';

sinon.stub(axios, 'get').resolves({
  data: {
            // some data here
        }
})

Duplicates of #790 and related to #775
As you are pointing out you can stub calls to 3rd party libs, as you are doing for axios.
Let's say you component looks like:
import lib from 'lib';
// ...
callThirdPartyLib() {
  lib.something();
}

Then your test can mock lib.something(). I'm usually using Jest but you get the idea:
const something = jest.fn();
jest.mock('lib', () => ({
  something
}));

const wrapper = mount(MyComponent);
expect(something).toHaveBeenCalled();

Would that be enough for your use-case?

Hi cexbrayat:
  Thanks for your suggestion. I mean vue-test-utils v1.x can support what I want (stub method while mounting component), but v2.x doesn't support.

For vue3, it focus on the composition-api and function-based programming. Maybe I need to change my old point of view, all logical code are defined in another file and component file is responsible for html layout. As a result, I can easily mock all the methods.

Yes, I think we agree 👍
The internal model of Vue 3 is different, so I don't think we can offer a similar thing to methods. Or maybe at the price of hacks that would cost us a lot in maintenance. My recommendation would be to extract your logic in a separate file, and use the pattern I exposed above. I do this with all my Vue 3 projects, and this is working well.
I'm going to close the issue, as we discussed it here and in other related ones to end up on the same conclusion for now.


category change for Capsule8

moving Capsule8 from "member" to the "security" category
Pre-submission checklist:
Please check each of these after submitting your pull request:

[N/A] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[Closed] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[X] Have you picked the single best (existing) category for your project?
[X] Does it follow the other guidelines from the new entries section?
[X] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[X] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[X] Does your project/product name match the text on the logo?
[X] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~5 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Deploy preview for landscape ready!
Built with commit 5022f753f01372ae74e2d59cb5b1b86cfec0ebf0
https://deploy-preview-1633--landscape.netlify.com

LGTM!


Savepoint lifetime problems

I just got around to trying to implement reorg-recovery, and Savepoint's lifetime is a bit problematic.
The index currently holds the database:
struct Index {
  database: redb::Database,
}

The easiest way to implement reorg-recovery would be to have the index hold a savepoint for the last six blocks:
struct Index {
  database: Database,
  savepoints: Vec<redb::Savepoint>,
}

Every time a new block is indexed, a new savepoint would be created and the last savepoint would be dropped. However, the lifetime on the savepoint makes this hard, since self-referential structs are not possible in safe rust.
I think that storing a database and save points together is probably common, so this might be a pain point.
I notice that Savepoint::db is only used to clean up the savepoint on drop. Could it be removed, removing the lifetime, and making the user responsible for cleaning up the savepoint? I'd be totally happy with a model where WriteTransaction::savepoint just returns an ID, with no lifetime, and I'm responsible for calling WriteTransaction::delete_savepoint(id) myself.
Another option which is rather weird is something like this:
pub struct Savepoint<'a> {
    db: Option<&'a Database>,
}

impl<'a> Savepoint<'a> {
  fn make_manual_drop_or_something(self) -> Savepoint<'static> {
    Savepoint {
      db: None
      ..self
    }
  }
}

And then drop only cleans up the savepoint if let Some(db) = self.db { … }

Nice!


Change the names of functions inside of transform data

X_transform, Y_transform to something else.

Done in the dev branch, closing. Thanks! :)


Conditions updates

Running list of conditions wording updates:

Change "outside" to "common area" for windows and doors
Capitalize months (e.g. September and May)
Change to “plumbing problem(s)”?
Move "unfinished concrete" to explanation
Change to stove or oven are defective

Stef and Cassie to look through the list of conditions and provide feedback.
General ideas included adding specific room to duplicative conditions and ensuring each room has all possible conditions included vs just removing duplicate issues if the user selects the same condition in multiple rooms.


x/exp/shiny: assigning to *buf.RGBA() works on gldriver but not x11driver

I had some code like this:
*buf.RGBA() = *img
tx.Upload(image.ZP, buf, buf.Bounds())
win.Copy(min, tx, tx.Bounds(), screen.Src, nil)

This worked on gldriver, but not x11driver. After switching to the following, it worked on both:
draw.Draw(buf.RGBA(), img.Bounds(), img, image.ZP, draw.Src)
tx.Upload(image.ZP, buf, buf.Bounds())
win.Copy(min, tx, tx.Bounds(), screen.Src, nil)

I have not yet investigated why it works on one but not the other, but first: should this work? It feels like I'm paying a performance penalty by drawing my image to *buf.RGBA() when I already have exactly the image that I want.

CC @nigeltao @crawshaw

The short answer is, no, it should not work.
A Buffer is essentially an *image.RGBA, but not all *image.RGBAs are valid Buffers. (If they were, the Upload method might as well take an *image.RGBA instead of a Buffer). Drivers may assume that the memory backing a Buffer's pixels are specially allocated, such as shared memory, shared across multiple processes. Arbitrary *image.RGBAs do not satisfy that assumption.
As I tried to say on #14026, your Editor shouldn't have an *image.RGBA or be an *image.RGBA. Instead, it should be able to render itself onto a Buffer's *image.RGBA (where the Buffer is provided by Screen.NewBuffer).
On a side note, with your original code snippet:
*buf.RGBA() = *img
tx.Upload(image.ZP, buf, buf.Bounds())
win.Copy(min, tx, tx.Bounds(), screen.Src, nil)
you might not need to explicitly use a Texture. A Window already has an Upload method, which takes a Buffer.

As I tried to say on #14026, your Editor shouldn't have an *image.RGBA or be an *image.RGBA. Instead, it should be able to render itself onto a Buffer's *image.RGBA (where the Buffer is provided by Screen.NewBuffer).

Ah, thank you. This is obvious now that you say it (I missed it last time, apparently). I've been stuck on the idea that I need to construct my own image, and then copy it to the buffer.

you might not need to explicitly use a Texture. A Window already has an Upload method, which takes a Buffer.

Yes, my example code was simplified. Usually I can reuse the texture (which I believe is much cheaper than uploading the buffer each time).


Fix "permanant" typo.

Re-issue of https://github.com/evitalis/steamclean/pull/14 but targeting the dev branch.

Accepted and merged.


[Feature Request] A SMALL CODE ERROR

Existing Component
Yes
Component Name
Radio-group
Description
I have found Browser automatically implemented arrow keyboard selection for el-radio in a radio group, therefore, we may needn't handleKeydown method in radio-group component,

Browsers are gradually enforcing key events, or properties inherent in html itself. For the radio component, where keyboard events are native to html, try disabling native events to get the desired effect.
Is there any problem we can communicate or close the problem

The last question, where keyboard event is native to radio component, why we disactive native keyboard event instead of disactiving custom event handler?

The last question, where keyboard event is native to radio component, why we disactive native keyboard event instead of disactiving custom event handler?

I have understood, we must offer consistent experience in compatible and incompatible browsers.

The last question, where keyboard event is native to radio component, why we disactive native keyboard event instead of disactiving custom event handler?

I have understood, we must offer consistent experience in compatible and incompatible browsers.

No, but the native keyboard event behavior is the same as the custom keyboard...


Fix TC-43: TR prints 'No certificate data for https' for a ds with cert

@dneuman64 @trevorackerman Could you help to review if this is needed? Thanks
https://issues.apache.org/jira/browse/TC-43

Looks good to me.
I don't think we need a debug log entry but it's not a huge deal.


Creating custom token produces invalid JWT token

1. Which version of kreait/firebase-php are you using?
4.x-dev
2. Which version of PHP are you using?
7.1.7
3. What's the issue?
When using the Firebase Auth createCustomToken method, the payload contains a token with an invalid signature. My service account instance points to the correct JSON file that I've been using in the rest of my project, but the JWT still says invalid signature on jwt.io and when I send the request to firebase via firebase.auth().signInWithCustomToken(token)
4. Code that lead to the issue
$serviceAccount = ServiceAccount::fromJsonFile('auth/firebase/firebase-auth.json');

$firebase = (new Factory)->withServiceAccount($serviceAccount)->create();

$auth = $firebase->getAuth();
$token = $auth->createCustomToken("234234234234234");
$token = $token->getPayload(); // the result of this call returns a token string with an invalid signature

Could you please try again with $tokenString = (string) $token? I'm on the road at the moment, but I am sure this should work.
The getPayload() method only returns the payload, so the header is missing.

Yes, that was it :). I updated the documentation (https://github.com/kreait/firebase-php/commit/a9ebb94bbc1282d38e0822e0edf3bb28bdd0a94d) - thank you for hinting at the missing bit!

Works for me! Thanks


youtube-dl refuse to give real direct stream link, reports unavailable, but downloads it without problems

[ ] I'm reporting a broken site support issue
[X] I've verified that I'm running youtube-dl version 2021.06.06
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[X] I've read bugs section in FAQ

Verbose log
Trying to get the direct stream URL (fails, reports it as unavailable):
# youtube-dl -v --format 244 --skip-download --youtube-skip-dash-manifest --get-url https://youtube.com/watch?v=gcFM3QdZe5w
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--format', u'244', u'--skip-download', u'--youtube-skip-dash-manifest', u'--get-url', u'https://youtube.com/watch?v=gcFM3QdZe5w']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 2.7.13 (CPython) - Linux-4.9.0-16-amd64-x86_64-with-debian-9
[debug] exe versions: avconv 4.2.2, avprobe 4.2.2, ffmpeg 4.2.2, ffprobe 4.2.2, rtmpdump 2.4
[debug] Proxy map: {}
ERROR: requested format not available
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 847, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 881, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1684, in process_video_result
    expected=True)
ExtractorError: requested format not available

Trying to download the video (works perfectly):
# youtube-dl -v --format 244 https://youtube.com/watch?v=gcFM3QdZe5w
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--format', u'244', u'https://youtube.com/watch?v=gcFM3QdZe5w']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 2.7.13 (CPython) - Linux-4.9.0-16-amd64-x86_64-with-debian-9
[debug] exe versions: avconv 4.2.2, avprobe 4.2.2, ffmpeg 4.2.2, ffprobe 4.2.2, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] gcFM3QdZe5w: Downloading webpage
[youtube] gcFM3QdZe5w: Downloading MPD manifest
[debug] Invoking downloader on u'https://manifest.googlevideo.com/api/manifest/dash/expire/1629497432/ei/-NMfYe_8BYyP-gavqKzYBg/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/source/youtube/requiressl/yes/playback_host/r2---sn-qpbpu8-c0ql.googlevideo.com/mh/fk/mm/31%2C29/mn/sn-qpbpu8-c0ql%2Csn-c0q7lnse/ms/au%2Crdu/mv/m/mvi/2/pl/24/tx/24027704/txs/24027703%2C24027704%2C24027705%2C24027706/hfr/all/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/initcwndbps/1155000/vprv/1/mt/1629475493/fvip/2/keepalive/yes/fexp/24001373%2C24007246/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cas%2Cvprv%2Citag/sig/AOq0QJ8wRAIgQfFxdRi5tiiga09VArHKejInt1HpE5ImzMHDeAh6Ha4CIEC1Rn5nEqrutjh3uMc7a6Z9leQLlJxaT3MWpbHsYxPp/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AG3C_xAwRAIgaNt0E2gyYqn7Wl9uWd-7JWtF2kjelZ26_fA61ijf-mgCIF9G4y1to7oe2CqCI83rmIqMEVvBBz_RXz4Z8gexkDlq'
[dashsegments] Total fragments: 107
[download] Destination: Nu Pogodi 17 vypusk iz 20 1993 XviD DVDRip-gcFM3QdZe5w.webm
[download] 100% of 36.73MiB in 00:08

Trying to get the direct URL without youtube-skip-dash-manifest (fails, gives back a link which is not the direct stream's link):
# youtube-dl -v --format 244 --skip-download --get-url https://youtube.com/watch?v=gcFM3QdZe5w
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--format', u'244', u'--skip-download', u'--get-url', u'https://youtube.com/watch?v=gcFM3QdZe5w']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 2.7.13 (CPython) - Linux-4.9.0-16-amd64-x86_64-with-debian-9
[debug] exe versions: avconv 4.2.2, avprobe 4.2.2, ffmpeg 4.2.2, ffprobe 4.2.2, rtmpdump 2.4
[debug] Proxy map: {}
https://manifest.googlevideo.com/api/manifest/dash/expire/1629497409/ei/4dMfYaCeK4bFgAfC8byICw/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/source/youtube/requiressl/yes/playback_host/r2---sn-qpbpu8-c0ql.googlevideo.com/mh/fk/mm/31%2C29/mn/sn-qpbpu8-c0ql%2Csn-c0q7lnse/ms/au%2Crdu/mv/m/mvi/2/pl/24/tx/24070733/txs/24070731%2C24070732%2C24070733%2C24070734%2C24070735%2C24070736%2C24070737%2C24070738/hfr/all/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/initcwndbps/1155000/vprv/1/mt/1629475493/fvip/2/keepalive/yes/fexp/24001373%2C24007246/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cas%2Cvprv%2Citag/sig/AOq0QJ8wRAIgKxwcQTJHbhqwRJo1bj2fLKbMcbaZW3FWXIvgWVHzRicCIEPfLeco3YBCuXcNgAMaO1K3K26kTz778I_xhx81LOAl/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/AG3C_xAwRQIgTtasoBEhWbg7dUM4COxwIDfdRRIds8go9BJImoaEPd4CIQC_ZZt6CJ2D7yKza9m4xpfplUqZ-zEnK4WPCcCVxBWYZw%3D%3D

Description
I am trying to get the direct stream link of a video. If i try to get it by this:
youtube-dl -v --format 244 --skip-download --youtube-skip-dash-manifest --get-url https://youtube.com/watch?v=gcFM3QdZe5w

Then it reports the video is unavailable. If i try the same without youtube-skip-dash-manifest:
youtube-dl -v --format 244 --skip-download --get-url https://youtube.com/watch?v=gcFM3QdZe5w

Then it gives back a manifest link, not the direct stream link. If i try to download the video:
youtube-dl -v --format 244 https://youtube.com/watch?v=gcFM3QdZe5w

Then it downloads the video. If it is unavailable, how can it download it? If it is available, then why i cannot get the direct link?
Also, mpv can play it without problems:
mpv https://youtube.com/watch?v=gcFM3QdZe5w --ytdl-format=244

I'm pretty sure the "non-manifest" link doesn't exist for that format* (well, it does, but it doesn't work hence why youtube-dl skips it and opts for the manifest one).
*for this video at least. Some other videos may have the same format code but it will be non-manifest.
(someone correct me if I'm wrong, it has been a while since I looked at this.)

Impossible. There must be a direct link to the stream or else neither youtube-dl could download it, nor mpv play it.

Impossible. There must be a direct link to the stream or else neither youtube-dl could download it, nor mpv play it.

because youtube-dl is downloading using the link provided in the manifest (the one it gives you)? If you run with --verbose you can see what url the downloader is using.

I've checked the manifest link and took the corresponding format's (Representation's) BaseURL (here it is: https://r2---sn-qpbpu8-c0ql.googlevideo.com/videoplayback/expire/1629561536/ei/YM4gYcOdOInlgAe_hYmQBA/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/itag/244/source/yt_otf/requiressl/yes/mh/fk/mm/31,29/mn/sn-qpbpu8-c0ql,sn-c0q7lnse/ms/au,rdu/mv/m/mvi/2/pl/24/initcwndbps/1163750/vprv/1/ratebypass/yes/mime/video%2Fwebm/otfp/1/otf/1/lmt/1594612822775490/mt/1629539570/fvip/2/keepalive/yes/fexp/24001373,24007246/sparams/expire,ei,ip,id,itag,source,requiressl,vprv,ratebypass,mime,otfp,otf,lmt/sig/AOq0QJ8wRQIhAJquWIamxH1slsQWtMDPGt6tto5wCpkudy7zKb9Va39kAiAdwGVidxw-gkZQr1CIFdDXKC_KiPsFIUM9NSetQm_F0g%3D%3D/lsparams/mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AG3C_xAwRgIhAOYlJBXQiVMXcqA2O6CxLCYLT89bisf3HsMT1NoeC76UAiEAncu87xyinfruddDoJtuOMpqZabG3yN1KsRd5OYMPi5s%3D/) and it gives back a 404. I've ran youtube-dl with --verbose as you can see in the logs, but even at the download, it has shown the manifest URL.
What i would like to get is the direct stream URL. There must be a way to obtain it, or else it would not be possible to play or download the stream.

Direct URL from adaptiveFormats is skipped due to https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/youtube.py#L1623

I'm guessing the reason youtube-dl won't give a non-manifest link is that you'll have to figure out the sequences from the manifest either way (i.e:
https://r2---sn-qpbpu8-c0ql.googlevideo.com/videoplayback/expire/1629561536/ei/YM4gYcOdOInlgAe_hYmQBA/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/itag/244/source/yt_otf/requiressl/yes/mh/fk/mm/31,29/mn/sn-qpbpu8-c0ql,sn-c0q7lnse/ms/au,rdu/mv/m/mvi/2/pl/24/initcwndbps/1163750/vprv/1/ratebypass/yes/mime/video%2Fwebm/otfp/1/otf/1/lmt/1594612822775490/mt/1629539570/fvip/2/keepalive/yes/fexp/24001373,24007246/sparams/expire,ei,ip,id,itag,source,requiressl,vprv,ratebypass,mime,otfp,otf,lmt/sig/AOq0QJ8wRQIhAJquWIamxH1slsQWtMDPGt6tto5wCpkudy7zKb9Va39kAiAdwGVidxw-gkZQr1CIFdDXKC_KiPsFIUM9NSetQm_F0g%3D%3D/lsparams/mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AG3C_xAwRgIhAOYlJBXQiVMXcqA2O6CxLCYLT89bisf3HsMT1NoeC76UAiEAncu87xyinfruddDoJtuOMpqZabG3yN1KsRd5OYMPi5s%3D/sq/0
https://r2---sn-qpbpu8-c0ql.googlevideo.com/videoplayback/expire/1629561536/ei/YM4gYcOdOInlgAe_hYmQBA/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/itag/244/source/yt_otf/requiressl/yes/mh/fk/mm/31,29/mn/sn-qpbpu8-c0ql,sn-c0q7lnse/ms/au,rdu/mv/m/mvi/2/pl/24/initcwndbps/1163750/vprv/1/ratebypass/yes/mime/video%2Fwebm/otfp/1/otf/1/lmt/1594612822775490/mt/1629539570/fvip/2/keepalive/yes/fexp/24001373,24007246/sparams/expire,ei,ip,id,itag,source,requiressl,vprv,ratebypass,mime,otfp,otf,lmt/sig/AOq0QJ8wRQIhAJquWIamxH1slsQWtMDPGt6tto5wCpkudy7zKb9Va39kAiAdwGVidxw-gkZQr1CIFdDXKC_KiPsFIUM9NSetQm_F0g%3D%3D/lsparams/mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AG3C_xAwRgIhAOYlJBXQiVMXcqA2O6CxLCYLT89bisf3HsMT1NoeC76UAiEAncu87xyinfruddDoJtuOMpqZabG3yN1KsRd5OYMPi5s%3D/sq/1/dur/6.400
...
https://r2---sn-qpbpu8-c0ql.googlevideo.com/videoplayback/expire/1629561536/ei/YM4gYcOdOInlgAe_hYmQBA/ip/<IP_ADDRESS>/id/81c14cdd07597b9c/itag/244/source/yt_otf/requiressl/yes/mh/fk/mm/31,29/mn/sn-qpbpu8-c0ql,sn-c0q7lnse/ms/au,rdu/mv/m/mvi/2/pl/24/initcwndbps/1163750/vprv/1/ratebypass/yes/mime/video%2Fwebm/otfp/1/otf/1/lmt/1594612822775490/mt/1629539570/fvip/2/keepalive/yes/fexp/24001373,24007246/sparams/expire,ei,ip,id,itag,source,requiressl,vprv,ratebypass,mime,otfp,otf,lmt/sig/AOq0QJ8wRQIhAJquWIamxH1slsQWtMDPGt6tto5wCpkudy7zKb9Va39kAiAdwGVidxw-gkZQr1CIFdDXKC_KiPsFIUM9NSetQm_F0g%3D%3D/lsparams/mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AG3C_xAwRgIhAOYlJBXQiVMXcqA2O6CxLCYLT89bisf3HsMT1NoeC76UAiEAncu87xyinfruddDoJtuOMpqZabG3yN1KsRd5OYMPi5s%3D/sq/8/dur/5.800

and so on...

@colethedj is correct
$ youtube-dl gcFM3QdZe5w -F --youtube-skip-dash
[youtube] gcFM3QdZe5w: Downloading webpage
[info] Available formats for gcFM3QdZe5w:
format code  extension  resolution note
251          webm       audio only tiny  116k , webm_dash container, opus @116k (48000Hz), 9.16MiB
140          m4a        audio only tiny  127k , m4a_dash container, mp4a.40.2@127k (44100Hz), 9.96MiB
134          mp4        480x360    360p  393k , mp4_dash container, avc1.4d4015@ 393k, 25fps, video only, 30.81MiB
18           mp4        480x360    360p  579k , avc1.42001E, 25fps, mp4a.40.2 (44100Hz), 45.44MiB (best)

$ youtube-dl gcFM3QdZe5w -F
[youtube] gcFM3QdZe5w: Downloading webpage
[youtube] gcFM3QdZe5w: Downloading MPD manifest
[info] Available formats for gcFM3QdZe5w:
format code  extension  resolution note
139          m4a        audio only DASH audio   51k , m4a_dash container, mp4a.40.5 (22050Hz), 3.74MiB
251          webm       audio only tiny  116k , webm_dash container, opus @116k (48000Hz), 9.16MiB
140          m4a        audio only tiny  127k , m4a_dash container, mp4a.40.2@127k (44100Hz), 9.96MiB
278          webm       192x144    DASH video   95k , webm_dash container, vp9, 25fps, video only
160          mp4        192x144    DASH video  108k , mp4_dash container, avc1.4d400b, 25fps, video only
242          webm       320x240    DASH video  220k , webm_dash container, vp9, 25fps, video only
133          mp4        320x240    DASH video  242k , mp4_dash container, avc1.4d400c, 25fps, video only
134          mp4        480x360    360p  393k , mp4_dash container, avc1.4d4015@ 393k, 25fps, video only, 30.81MiB
243          webm       480x360    DASH video  405k , webm_dash container, vp9, 25fps, video only
244          webm       640x480    DASH video  752k , webm_dash container, vp9, 25fps, video only
135          mp4        640x480    DASH video 1155k , mp4_dash container, avc1.4d4014, 25fps, video only
18           mp4        480x360    360p  579k , avc1.42001E, 25fps, mp4a.40.2 (44100Hz), 45.44MiB (best)

The 244 format is only available in dash manifest and doesn't have a direct URL that youtube-dl can download. The format does actually has a direct URL, but as @MinePlayersPE said it is intentionally skipped since youtube-dl cannot download from it

Impossible. There must be a direct link to the stream or else neither youtube-dl could download it, nor mpv play it.

No, youtube-dl can download videos from dash manifest, no direct URL needed

@MinePlayersPE:
You're right, i've put the segment texts after the base URL and managed to download them each by each. After concatenating, the video is working. Thanks.
I think there should be an option to get the URL list by this logic.
@pukkandan:
mpv is somehow able to get these URL-s from youtube-dl. Or it is just concatenating the content from the URL-s?

Look at the -j output. You can see fragments and fragment_base_url which together can be used to get all the fragment URLs

Okay, but how can i make a single string from them which can be passed to mpv? Can youtube-dl output an "EDL URL" out of them? If i use
mpv https://youtube.com/watch?v=gcFM3QdZe5w --ytdl-format=244

And extract the stream path by adding
ctrl+r run "/bin/sh" "-c" "echo \"${stream-path}\" | xsel -b -i"

to input.conf and then copy the string, it is an "EDL URL" with all the segments in a single string. How can youtube-dl output this link? Or this link was made by mpv itself?

I've managed to come up with this shell/javascript script (nodejs needed for JSON parsing):
http://oscomp.hu/depot/get_edl.sh
If i do
./get_edl.sh https://youtube.com/watch?v=gcFM3QdZe5w 244

it prints out the EDL list, although the separator numbers between the % signs are erroneous as i have no idea what should be there and i found no info about it.

Okay, i've got a sudden idea and tried it out and it worked: those numbers are the length of the base url plus the path together.
So, it is possible to make an URL which can be used directly for streaming.


Since 2.0, typescriptHero.imports.grouping can't be overriden

System information

OS: MacOs High Sierra
TypeScript Hero version: 2.0.0
VSCode version: 1.19.2

Description
Since 2.0.0, typescriptHero.imports.grouping can't be overriden in VSCode configuration.
Steps to reproduce

"typescriptHero.imports.grouping": [
	"Modules",
    "Plains"
]

Save. Doesn't change from the default behavior.

I tried restarting VSCode, no dice
Thanks in advance!

@kevindqc Whoops 😱
This will be fixed as soon as possible. Thanks for the investigation!


Use PropTypes from prop-types package

The React maintainers deprecated using React.PropTypes in favor of using an external prop-types package.
After starting to use react-sticky-box I noticed this warning popping up in my console:

This change should remove the warning.

Just tested it, works fine. Thanks a lot! Will release a new version now :)


laser_proc: 1.0.1-1 in 'eloquent/distribution.yaml' [bloom]

Increasing version of package(s) in repository laser_proc to 1.0.1-1:

upstream repository: https://github.com/ros-perception/laser_proc.git
release repository: https://github.com/ros2-gbp/laser_proc-release.git
distro file: eloquent/distribution.yaml
bloom version: 0.9.3
previous version for package: 1.0.0-1

laser_proc
* Make sure to add necessary build dependencies. (#9 <https://github.com/ros-perception/laser_proc/issues/9>)
* Contributors: Chris Lalancette

Travis API is having issues, but the CI did pass: https://travis-ci.org/github/ros/rosdistro/builds/666462921?utm_medium=notification
I'm going to go ahead and merge this.


math/rand: error in deprecation notice for Seed.

What version of Go are you using (go version)?

$ go version
go version go1.20.1 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/pschultz/.cache/go-build"
GOENV="/home/pschultz/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/pschultz/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/pschultz/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.1"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1066880260=/tmp/go-build -gno-record-gcc-switches"

What did you do?
$ go doc math/rand Seed | tail

The last paragraph reads

Programs that need a specific result sequence should use NewRand(NewSource(seed)) to obtain a random generator that other packages cannot access.

The constructor for rand.Rand is called New, not NewRand, so it should say "should use New(NewSource(seed))".

It is already updated on master, see https://pkg.go.dev/math/rand@master#Seed


Add S3 mark & unmark actions

Added S3 mark & unmark actions
Added unit tests
Fixed delete action to empty buckets' contents if remove-contents param is set to True in the policy yml
https://github.com/capitalone/cloud-custodian/issues/422

@kapilt Thanks for the feedback. Opted towards refactoring using the helper method approach.

looks good, squashing the add and remove into modify and i think its done.

@kapilt In the latest commit, combined the add & remove s3 methods into a modify helper method. Please excuse the merge commits.

looks good, fwiw, i'd generally recommend default both of the add/remove to an empty tuple, that way callers just have to keyword pass the arg they care about instead of doing empty values.


Add VGG16 example

Add the VGG16 DNN structure to examples. The corresponding gist for inference is here.
Add link to the original paper for each DNN network structure in examples.

That looks very good to me, thanks! 💯


Can't mark an order as paid using Transaction capture.

Hi @nwtn
I am going to mark an order as paid.
This is my code.
            ShopifyAPI::Transaction.create({
                :order_id => '####',
                :kind => 'capture'
            })

Of course, the order(id: ####) already exists.
But this doesn't mark an order as paid.
Could you please tell me what the issue is?
Thank you.

I have fixed this issue by adding parent_id.
This is my code.
order = ShopifyAPI::Order.new(
                :financial_status => 'pending',
                :customer => {
                    :id => customer_id
                },
                :transactions => [
                    {
                        :amount =>amount,
                        :kind => "authorization",
                        :status => "success"
                    }
                ],
                :line_items => line_items,
                # :shipping_address => shipping_address
                :tags => tag
            )
            order.save

transaction = ShopifyAPI::Transaction.find(:all, :params => {:order_id => order.id}).first

            ShopifyAPI::Transaction.create({
                :order_id => order.id,
                :kind => 'capture',
                :parent_id => transaction.id,
                :status => "success",
            })


feat(adhoc-column): add resize option

SUMMARY
This PR adds resizing to the adhoc column popover, and is based on what's currently used in the metric and filter popovers. This is often needed when writing custom SQL expressions. In addition, the height multiplier of 2 is removed from the metric and filter popovers, as it only makes intuitive sense when the popover placement is set to left, in which case the popover grows both upwards and downwards. Since we let AntD decide which placement to use, it makes more sense to not apply multiplier, as the popover often grows out of bounds quickly, causing weird side-effects when the placement changes. This also felt unintuitive, as the vertical movement was doubled, as opposed to horizontal movement, which was not multiplied.
AFTER
Now the adhoc column popover is resizable:

Also, the removed multiplier makes the resize action be in line with the vertical mouse movement:
https://user-images.githubusercontent.com/33317356/233341632-b633fdba-1a5d-40a3-b909-f939c8191569.mp4
BEFORE
Previously the adhoc column popover wasn't resizable:

Also, the multiplier caused the resize action to feel unintuitive with top placement:
https://user-images.githubusercontent.com/33317356/233341488-04728fca-a063-43b8-9109-117801f8ae0c.mp4
TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up


UI Widget causes engine crash, tried different embed scenarios

So I have a mainmenu widget with a vertical panel. On the left side I want a seperate website to be displayed in a widget switcher, on the right side another website. Now I tried to switch from a widget switched to "custom created widget" and than tried to drag it in into the canvas, but that caused in both cases, widgetswitcher and the "custom created widget" an engine crash. The base web-canvas widget is the ExampleHUD Widget from master branch.

ok the crash only happens when I go into the view with my mouse cursor.

Interesting. Could you send the stack trace in a comment here? That'd help me pinpoint the issue
Thanks!

the thing is, the crash report dialog doesnt upen up.

That's interesting. Try attaching Visual Studio to it (or launching it from VS) and use it for debugging. A screenshot of the break would help as well.

Ok, so it happens for the mouse move and mouse click event. key input doesnt seem to produce it. also the website appears to be completly blank. When i create the widget standalone and add it to viewport, everything works as its supposed to.

Not sure how to help narrow down exactly the issue, could you provide code/screenshots if you're comfortable with it?

http://i.imgur.com/kTt8cGw.jpg
I try to debug now with VS for you. Are you in IRC? If you are pls join #unrealengine on Freenode ;X

When I play in an external viewport, everythings working normal :+1:


Add prefix_messages property to ChatOpenAI

Since llms.OpenAIChat is deprecated and chat_models.ChatOpenAI is sugguested in latest releases, I think it is necessary to add prefix_messages to ChatOpenAI, just like it in OpenAIChat so that we can provide messages to this chat model, for example, provide a system message helps set the behavior of the assistant.
m = ChatOpenAI(prefix_messages=[SystemMessage(content='you are a helpful assistant')])

I'm using llama-index to create LLM predictor, it works well with OpenAIChat with prefix_messages, but not so well with ChatOpenAI
from llama_index.indices.base import BaseGPTIndex
from langchain.llms import OpenAIChat
from langchain.chat_models import ChatOpenAI
from langchain.schema import BaseMessage

# create an openai predictor
def create_llm_predictor(prefix_messages: Optional[List[BaseMessage]]) -> LLMPredictor:
    args = dict(
        model_name=GptModels.GPT_35_TURBO.value,
        temperature=0.1,
        max_tokens=2000,
    )
    if prefix_messages:
        args['prefix_messages'] = prefix_messages

    return LLMPredictor(
        # works
        llm=OpenAIChat(**args),
       # cannot provide system, user or assistant messages as context
        llm=ChatOpenAI(**args),
    )

Also curious about this issue, as I try to transition my llm for agents to ChatOpenAI -- not sure if prefixing a system message would be necessary in this case or not.

as author said, this should be handled by using a prompt template to generate the messages to pass in
https://python.langchain.com/en/latest/getting_started/getting_started.html#building-a-language-model-application-chat-models


Load missing PECL package index before installing Swoole.

Running ./vendor/bin/sail build will throw an error when trying to install Swoole via PECL.
> [5/12] RUN pecl install swoole:
No releases available for package "pecl.php.net/swoole"
install failed

Reason for this is that the package index is missing and must first be updated.
This PR resolves the issue by extending the Dockerfile for PHP 8.0 to run pecl channel-update before trying to install Swoole.

This issue still occurs for me @taylorotwell @cihantas

@Larstw It also happened to me (it seems the vendor Dockerfile doesn't have the mentioned fix in ref e46a3228da4e95a411a981ac807bd119ab2485fa). But I manually updated the Dockerfile regarding the fix stated in the merge while installing and then revert back and now sail up works.

This still needs to be tagged. I'm doing releases in a bit.

Released Sail v1.4.12


Chinese words encoding issue

how to make Chinese words possible when i open Logs view, actually i manually execute shell "docker logs xxx" Chinese words are shown very normal, anyone else who can help me figure out, thx so much, i hope this issue can be taken asap.

i guess i've already understood what was happening , shipyard-controller under the busybox , maybe this is the key i need to take


Adjust name in license

For context, since the main class of this package (the tqdm override) is needed by multiple upstream packages to work for GUIDE progress bar display, and because it might need future improvements/debugs - we were thinking the easiest way to integrate would be to have a simple standalone package that upstream packages rely on
Otherwise, we'd have to duplicate efforts and things might become desynchronized over time
@bendichter My question is, for the license here, is 'CatalystNeuro' OK or do we need the d.b.a.?

@CodyCBakerPhD "CatalystNeuro" is good.


Getting player's abs_origin causes a crash

vec3_t& abs_origin() { 		using original_fn = vec3_t & (__thiscall*)(void*); 		return (*(original_fn * *)this)[10](this);; 	}
Are the indexes up to date?

The problem was solved.

The problem was solved.


#define-d macro not used in demo

#define GES_REACTION_TIME		500

Yes, you can ignore it. GES_REACTION_TIME is used in the paj7620_15gestures.ino, its effect is the same to GES_ENTRY_TIME.
Thanks!

Yes, you can ignore it. GES_REACTION_TIME is used in the paj7620_15gestures.ino, its effect is the same to GES_ENTRY_TIME.
Thanks!


using the --aot flag breaks custom annotations

OS?
Windows 8
Versions.
angular-cli: 1.0.0-beta.19-3
node: 6.7.0
os: win32 x64
Repro steps.
I create the repo to demonstrate this issue
This is regular app which was created with ng new command.
I added definition of dumb log annotation inside app.component.ts file and decorate title property of the app component with this annotation.
If I run this app with ng serve it works well.
If I run this app with ng serve --aot message doesn't appears to the console.
Same case works well with angular2webpack2-starter

Looks like an Angular Compiler problem more than an Angular CLI problem.
I'd suspect you'll get the same with other repos like https://github.com/mgechev/angular-seed or https://github.com/qdouble/angular-webpack2-starter (which seems to have had more fun with AoT judging by https://github.com/qdouble/angular-webpack2-starter#aot--donts).

No, it's problem with Angular-CLI.
As I wrote in issue description, I tried to reproduce same issue with webpack2-starter and the error did not occur.

Dup: #2799


Security update for Mocha v3.5.3

Mocha v3.5.3 is recognized as insecure by npm audit.
I've turned out that updating debug dependence from 2.6.8 to 2.6.9 removes some vulnerabilities.
The appropriate patch is here: https://github.com/nickkolok/mocha/tree/v3.5.3-security-fixes
If growl 1.9.3 will be uploaded to NPM, then we can try to update it, too (see https://github.com/tj/node-growl/issues/81). You cannot use 1.10.* instead.
All the other found vulnerabilities are in dev dependencies.
I know that there is no official LTS support, but I believe that simple publishing a fixed package as 3.5.4 is a good first step to it. Everything is ready, just test (one more time!) and publish.

@nickkolok Why do you need to use Mocha v3.5.3?
While we may support LTS releases in the not-too-distant future, the v3 major is too old to be on our radar.


fill out the email to pi about  submissions needing attention

include all submission within a grant.

Message text:
Submission title:
The status of the article is  Please check on your Pass dashboard.

Mistook this issue for #36 and closed prematurely.


Image size of the predicted mask and the truth mask are inconsistent

Hi, I found that the dataloader changes the data size to (1,1,128,128,128) and stores the prediction mask with the same size.
However, this size differs from MSD dataset,
which prevents me from overlaying the original image with the predicted mask in the 3D slicer to observe the tumor location.
How do you observe the prediction results?
Additionally, I noticed that the --save_csv parameter seems to have no effect.
I used find -name "*.csv" and couldn't find any files.
Maybe this is because tester.py is not used in inference, and the save_csv parameter is also not utilized in the Tester class of test.py.

Hi,
yes, for this current version, I forgot to change the correct order when saving the segmentations. simply change the order of x,y,z would save this problem (B,C,x,y,z).
The --save_csv is disabled in this repo, please just ignore it.

Sorry, I closed the issue accidentally and I don't quite understand what you mean.
My understanding is that you first resample the spcaing of images to 1,1,1 and then crop the patch size of 128,128,128 from resampled images.
If I want to restore it to its original shape, should I first place the patch to the correct position in the resampled image and then restore the spacing and image size?

yes, this is correct. the cropped position can be found by using tio.CropOrPad function in the dataloader file. the details can be found in torchio API.
or if you just want to see the qualitative results for accessing the performance, you can directly save the cropped image.

I found some problems while reading the code.
I found that tio.croporpad in dataloader.py uses the center of the ground truth mask to crop the image.
Similarly, in get_next_click3D_torch_2() in test.py, the pred image and truth image will be compared to get FN and FP and serve as the prompt for the next iteration.
Does this mean that there is currently no way to make inferences from data without labels?
And I'm a little confused about whether humans must provide prompts for your project.
Because Human-in-loop is mentioned in the paper.
But the current program execution process does not require humans to provide prompts in each iteration.
Instead, it is provided by get_next_click3D_torch_2() mentioned above.

the current one uses the generated prompt, you can use the human-prompt instead of generated (skip get_next_click3D_torch_2()).

But does label data still need to be the center of the crop during the inference process?
And if we want human interaction.
Do these following functions still need to be completed?

Output the result of each iter
Wait for the expert to enter prompt (human-machine interface may be required?)

The crop can be ignored based on different computation resource and specific disease. For current code, it is enough to cover the tumor area. The model is trained in this way, so the inference would have better performance in the same way. for other specific tasks, you can decide the train/inference strategy.

yes, you need to visualize the output to provide the corresponding prompt.
yes, this is ideal case. this is similar to the human annotation process.

I think it might be unreasonable to use the current test crop method.
Because label data is required to test, does it not meet the purpose of prediction?
Perhaps it is a strategy to use a sliding window to perform inference on each block and finally merge all the inference results?
Sorry I'm not familiar with this area and don't know how this problem is usually solved.
Do you have any plan on how to solve this problem?

the current code mimics human behavior. For real human interaction, you might have a bounding box provided by human and crop the image based on it for efficient computation. The strategy is based on your task, some of tasks could be handled by crop and some of tasks could be handled by sliding window, it depends.


reserving more than one IP address for container from docker0 bridge

Hi,
I am working on a container where there should be one management IP and one IP to manage data traffic. Is there any way I can get two IP addresses from docker from same bridge?
thanks
Devesh

hi @dp-farm, the issue tracker is for tracking bugs, and not a support forum, can you ask this question on either one of;

forums.docker.com
the #docker IRC channel on freenode
StackOverflow

I'll close this issue here, because this is not a bug report


Csv option header

Build should be ok after removing the carriage returns from your csv files!
Also some of them are missing newline characters at the end of file.

Don't forget to update the command summary at the bottom of the User Guide!