I need help with a script

What is your question?
Im trying to make the time bar change colors depending on the SongPosition (i got the idea by one of the issues here on the github)
but it dont work, can someone fix?

here is it
color1 = 'FF4F42'
color2 = 'FFAC1C'
color3 = 'F5F76D'
color4 = '42FF6B'

function onUpdate()
if getSongPosition() < (songLength * 0.25) then
setProperty('timeBar.color', color1);

end

elseif getSongPosition() < (songLength * 0.5) then
    setProperty('timeBar.color', color2);

end

elseif getSongPosition() < (songLength * 0.75) then
    setProperty('timeBar.color', color3);

end

elseif getSongPosition() < (songLength * 0.9) then
    setProperty('timeBar.color', color4);
end

your missing an end somewhere

your missing an end somewhere

i know but idk where, so thats ehy im asking

your missing an end somewhere

i know but idk where, so thats why im asking

color1 = 'FF4F42'
color2 = 'FFAC1C'
color3 = 'F5F76D'
color4 = '42FF6B'

function onUpdate()
if getSongPosition() < (songLength * 0.25) then
setProperty('timeBar.color', color1);

end

elseif getSongPosition() < (songLength * 0.5) then
    setProperty('timeBar.color', color2);

end

elseif getSongPosition() < (songLength * 0.75) then
    setProperty('timeBar.color', color3);

end

elseif getSongPosition() < (songLength * 0.9) then
    setProperty('timeBar.color', color4);
end
end -- possibly right here

ok so imma try it

didnt work

color1 = 'FF4F42'
color2 = 'FFAC1C'
color3 = 'F5F76D'
color4 = '42FF6B'

function onUpdate(elapsed)
    if getSongPosition() < (songLength * 0.25) then
        setProperty('timeBar.color', color1);
    elseif getSongPosition() < (songLength * 0.5) then
        setProperty('timeBar.color', color2);
    elseif getSongPosition() < (songLength * 0.75) then
        setProperty('timeBar.color', color3);
    elseif getSongPosition() < (songLength * 0.9) then
        setProperty('timeBar.color', color4);
    end
end

now your only problem is that the colours dont even change (atleast for me)

because they're formatted wrong color1 = 0xFF4F42

because they're formatted wrong `color1 = 0xFF4F42

oh thx imma see if it works

because they're formatted wrong color1 = 0xFF4F42

its working but the colors didnt even tried to change, the time bar becomes black fully

nvm it worked now

thx so much


Add user option

can you add user option for image quality?
Like user can select if the webpage loads images in low, medium or high quality?

No, I don't kown how to do this.
But here has 2 methods you can try:

Use JavaScript Inject to WebView.

Change UA.

There has no method to directly change image quality, so you have to do by
yourself.
Matthew Lee
2015年6月22日 04:27于 "Chinmay Pai"<EMAIL_ADDRESS>
can you add user option for image quality?
Like user can select if the webpage loads images in low, medium or high
quality?
—
Reply to this email directly or view it on GitHub
https://github.com/mthli/Ninja/issues/15.


Release 3.0.9

Release 3.0.9
Welcome to Clear Containers Release 3.0.9!
This week the runtime was updated to use a newer virtcontainers version. This includes  ....
Changes

config hypervisor
vendor: update virtcontainers
image: Version 19350

Shortlog
f8d3be3 versions: Update image to version 19350
006b591 hypervisor: add machine_accelerators option in config file
3583bca hypervisor: add bios option in configuration file
a70358a vendor: update virtcontainers
Compatibility with Docker
Clear Containers 3.0.9 is compatible with Docker v17.09-ce
OCI Runtime Specification
Clear Containers 3.0.9 support the OCI Runtime Specification v1.0.0-rc5
Clear Linux Containers image
Clear Containers 3.0.9 requires at least Clear Linux containers image 19350
Clear Linux Containers Kernel
Clear Containers 3.0.9 requires at least Clear Linux Containers  kernel v4.9.60-80.container
Installation

Ubuntu
Fedora
Developers

Issues & limitations
Docker swarm support
See issue #771 for more
Networking
Adding networks dynamically
Resource management
docker run --cpus=
See issue #341 for more information.
docker run --kernel-memory=
See issue #388 for more information.
shm
cgroup constraints
Capabilities
See issue #51 for more information.
sysctl
tmpfs
Other
checkpoint and restore
docker stats
See issue #200 for more information.
runtime commands
ps command
See issue #95 for more information.
events command
See issue #379 for more information.
update command
See issue #380 for more information.


On Linux Containers Expect UID/GID of 1000 Otherwise Cause Permissions Trouble

On most Linux systems (and inside Docker Desktop VM on macOS) the default UID/GID of 1000 is used for the first non-system account created. Due to this, the fpm containers Warden uses tie the www-data user to UID 1000 and GID 1000 so that permissions will work. This is inflexible and will not work, for example, where the user account on the Linux environment used by a developer uses a non-1000 UID.
@aepod passed along the following script as a possible reference point on how to achieve solving this inflexibility in the entrypoint scripts: https://github.com/sudo-bmitch/run-as-user/blob/master/entrypoint.sh
In order to make the containers used more flexible, the stuff in the Dockerfile setting up the www-data user will need to be updated and/or moved to the entrypoint: https://github.com/davidalger/warden/blob/develop/images/php-fpm/Dockerfile#L35-L45 and two places in existing entrypoint which will need to be made flexible: https://github.com/davidalger/warden/blob/develop/images/php-fpm/context/docker-entrypoint

Stumbled across the following used by code-server images and it looks potentially very useful here: https://github.com/boxboat/fixuid

Hey, I'm encountering exactly this issue as my host user is UID/GID 1002.
I'm working around this every time I spin up the containers by bashing into the PHP container and running:
sudo groupmod -g 1002 www-data
sudo usermod -u 1002 www-data

Once I exit and bash back in, the commands work with the right permissions
But because PHP-FPM itself is already running, that's still running as uid 1000 so I still need to fight with permissions.
Refreshing static content on Magento requires:
sudo rm -rf pub/static/frontend/* var/view_preprocessed/*; bin/magento cache:clean; bin/magento s:s:d en_GB -f; sudo chown -R www-data:www-data pub/static/; sudo chmod -R 777 pub/static/

I have two questions:

Is there a plan to resolve this problem with Warden?
Is there a workaround I can apply to make sure the container is started as user 1002, even if I have to hardcode this?

Is there a plan to resolve this problem with Warden?

Eventually, yes. :) It's going to take some critical thinking through image changes, and possibly some other things to ensure it doesn't only solve the issue on Linux, but maintains existing functionality on Mac OS environments. There is no ETA however, as I haven't found the time to dedicate to resolving it yet. I may take a renewed look at it if more folks begin to run into this being the only big show stopper issue for them.

This problem is even more severe if you don't have o+rX permissions on files as nginx seems to run with pid/gid 101.
This requires me to constantly update permissions on files to o+rX when triggering stylesheet compilation (gulp sass).
Would you accept a pull request with an update to the nginx container to run with the same pid/gid as php-nginx (1000)?

Considered using warden on Ubuntu but apparently this is not working. Almost all of the docker environments that also work on linux have a configurable uid/gid in a .env file, and using these to set www-data to configured uid/gid.
nice examples here: https://jtreminio.com/blog/running-docker-containers-as-current-host-user/
I ended up with using this in Dockerfile for php/nginx/cli:
`ARG USER_ID
ARG GROUP_ID
RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then
userdel -f www-data &&
if getent group www-data ; then groupdel www-data; fi &&
groupadd -g ${GROUP_ID} www-data &&
useradd -l -u ${USER_ID} -g www-data www-data
;fi`

I also have the same issue when I make the environment down or up.
So what I'll do spin up the environment with warden env up command I'll firstly run the below command to make uid as the host system.
sudo usermod -u 1001 www-data
sudo groupmod -g 1001 www-data

After that i'll finally run the chown permission fix command to make same uid/gid for host and docker php-fpm user
and then I'll only use warden env stop and warden env start to reuse the same containers.
@davidalger is there any quick fix you might have that we can implement like with .warden/warden-env.yml also I've not configured the rootless method for docker can it help me?

It's still an issue on Ubuntu 22.04

is there any improvement


Add a PR template

Add a PR template, include warning about : characters in _data/*.yml.

Note that : characters are fine as long as the YAML overall is properly formatted, e.g. : can appear inside double quotes.
Invalid:
foo: bar: baz

Valid:
foo: "bar: baz"

Good point, I'll update the warning.


Update sbt-sonatype to 3.9.11

Updates org.xerial.sbt:sbt-sonatype from 3.8 to 3.9.11.
GitHub Release Notes - Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.xerial.sbt", artifactId = "sbt-sonatype" } ]

labels: sbt-plugin-update, commit-count:1

Superseded by #84.


Create temp directory

to contain fontpreview temp files.
Note: this is absolutely optional PR.
I did it for testing purpose: /tmp quickly gets filled with old files.
Now it is way easier to clean everything up during tests and even when exiting fontpreview.
Automatic clean not yet implemented.

Thats great! Now the /tmp wont be messy :blush:


[TIR] Revert #11428 and move loop dependent alloc extent check after region union

cc @junrushao1994

Moving our discussion thread from #11428. Thanks @ArmageddonKnight for spotting this nasty corner case, and @comaniac for offline discussion :-)
@junrushao1994:

This PR introduces a regression with those lines: https://github.com/apache/tvm/blob/d4be49aec62299275565066b56a0555bafc2ccac/src/tir/transforms/compact_buffer_region.cc#L77-L85
Consider a case below:
extent = 960 - max(bx // 18 * 128, 832)
where bx \in [0, 144)

Even if bx exists in extent, the upper bound of the allocation is not affected (which is 128). However, the check there introduces a false positive which falls back to a much more conservative estimate (full region).

@junrushao1994

A minimal reproducible example: https://gist.github.com/junrushao1994/943eb0e9232a21a2748eb35af0fac4ff
The region of A_shared should be [128, 4] instead of [192, 4]

@junrushao1994

so let me briefly introduce the workflow of Compute-Buffer-Region first, and then let’s think about how to make it perfectly fit in our usecase.
On each use-site of a buffer, we calculate the region it is touched by the loops above it, and then by unionizing those regions, it’s made possible to trim out those regions that are not touched.
As a simplest example, if the original size of a buffer in shared memory is [1024, 1024], but only [bx : bx + 10, by : by + 20] is touched in a threadblock, then the buffer size could shrink to [10, 20] which is significantly smaller.
Then to provide a slightly more complicated example, if the buffer is touched in two different places, where the region are [bx : bx + 10 : by : by + 20], [bx + 10: bx + 20, by : by + 30], then we calculate the union of the two regions, i.e. [bx : bx + 20, by : by + 30], and then do shrinking so that its size of [20, 30].
The problem this PR aims to address is that some buffer’s size actually depends on irrelevant outer variables, for example, the shared memory size to be [0, 960 - max(bx // 18 * 128, 832)], where bx is the extent of blockIdx.x. However, it takes an approach to over-relax the region when seeing any undesired variables (in our case, it’s bx), which is less optimal.
The actual solution should be: calculating the region union bound first, and then remove the undesired variables with something similar to analyzer's const_int_bound (note that we don’t want the bound to be strictly constant)

@wrongtest

calculating the region union bound first

Many thanks!  It indeed should check loop dependency for union region.
https://gist.github.com/junrushao1994/943eb0e9232a21a2748eb35af0fac4ff
In the case it seems we get extent=128 for A_shared[128, 4] after fix, even without const bound estimation... Perhaps the loop dependent region parts get covered during region unions?

I think this implementation makes sense. Please let me know when it is merged so that I can rebase onto the latest main branch.

Looks like we are now calculating the upper bound of the union bound, which I think is correct. Would love to have confirmation from both of you guys @wrongtest @ArmageddonKnight

Let's also add my minimal reproducible example as a regression unittest in case it happens in the future

Trim https://gist.github.com/junrushao1994/943eb0e9232a21a2748eb35af0fac4ff as a testcase.


[feaLib] Don't set language when script is unset

@brawer
Following up on https://github.com/behdad/fonttools/pull/623#issuecomment-227644699

Coverage increased (+0.005%) to 70.975% when pulling e2186dec53dfdf19df90fc32215fb86a2fd1a53a on jamesgk:fealib-scriptlang into 87f86424ca22c7f26f2dd893a26e1f685082f6c1 on behdad:master.

Coverage decreased (-0.03%) to 70.94% when pulling 5c723ebfb032f6bfff6940c14a422dfc619d44ae on jamesgk:fealib-scriptlang into 87f86424ca22c7f26f2dd893a26e1f685082f6c1 on behdad:master.

Coverage decreased (-0.03%) to 70.94% when pulling 5c723ebfb032f6bfff6940c14a422dfc619d44ae on jamesgk:fealib-scriptlang into 87f86424ca22c7f26f2dd893a26e1f685082f6c1 on behdad:master.

What do you think of https://github.com/behdad/fonttools/pull/624?

Yea, I didn't see #624 until I'd already opened this PR. Anyways, I think it's also important to reset the script to DFLT with each new feature as this change does (in the tests I updated, the script was carried over from the last feature so they weren't throwing errors even when a language was set without a script).


gen_server push_notification return {Timeout, StreamId}

-module(push_server).

-behaviour(gen_server).

-export([start_link/1]).

-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).

-define(SERVER, ?MODULE).

-record(state, {}).

start_link(Name) ->
    gen_server:start_link({local, ?SERVER}, ?MODULE, [Name], []).

init([Name]) ->
    apns:connect(cert, Name),
    {ok, #state{}}.

handle_call(_Request, _From, State) ->
    io:format("handle call --~p~n", [_Request]),
    Reply = ok,
    {reply, Reply, State}.

handle_cast(_Msg, State) ->
    io:format("handle cast --~p~n", [_Msg]),
    {noreply, State}.

handle_info({apns_response, Server, StreamID, Response} = Info, State) ->
    io:format("handle info --~p~n", [Info]),
    {noreply, State}.

terminate(_Reason, _State) ->
    ok.

code_change(_OldVsn, State, _Extra) ->
        {ok, State}.

Where the client is a gen_server behaviour, the received message in handle_info, will not execute all
https://github.com/inaka/apns4erl/blob/master/src/apns_connection.erl#L217
https://github.com/inaka/apns4erl/blob/master/src/apns_connection.erl#L340

Hi @turtleDeng,
Where are you calling apns:push_notification in your code?

Erlang Terminal   calling apns:push_notification

@turtleDeng if you call apns:pull_notification from your erlang console is that process which could receive the {apns_response, Server, StreamID, Response} message.
Bottom line, the process which call apns:pull_notification will receive the message. So if you want to receive it on your gen server you must to call push_notification from that process

@turtleDeng I see what are you doing, actually I didn't test to connect from one process and push from other.
let me reproduce it on my local and I will let you know what is happening.

Hi @turtleDeng, I have tested your code.
9> apns:push_notification(my_connection, DeviceId, Notification).
06:24:33.752 [info] [client] Stream 1 WindowUpdate 28
handle info --{apns_response,<0.134.0>,1,
                             {400,
                              [{<<"apns-id">>,
                                <<"6220C397-27F4-DD76-4F5A-4C34E580D2F0">>}],
                              [{<<"reason">>,<<"TopicDisallowed">>}]}}
{timeout,1}

apns4erl was done thinking in one process should connect and push. We did it thinking in a pool of servers which could balance the load

@ferigis Can apns:push_notification  get the push result synchronously, not by handle_info asynchronous?

https://github.com/inaka/apns4erl/blob/master/src/apns_connection.erl#L219
HTTP/2 can get the push result synchronously, but the latest version make it impossible.
And I can not use it with turtle

https://github.com/inaka/apns4erl/compare/master...dcy:fix1
Maybe something like this is better(not test), What's your opinion? @ferigis @elbrujohalcon

Hi @dcy.
There is an issue in your code with the timeouts.
https://github.com/inaka/apns4erl/compare/master...dcy:fix1#diff-659457922367adf5a4d889b7149f30c4R179
gen_server has a default timeout (I think it is 5 seconds), if your call to apns is greater than 5 seconds your conection will go down.
This is the way we found in order to use dynamic timeouts

@ferigis https://github.com/dcy/apns4erl/blob/fix1/src/apns_connection.erl#L145 use infinity to change 5s defalut timeout.
And https://github.com/dcy/apns4erl/blob/fix1/src/apns_connection.erl#L195 here to use dynamic timeouts

Before apns4erl 2.0, I think the most inconvenience of apns4erl is can not get the push response synchronously, Because the response say "BadDeviceToken", i don't know which device_token is bad. finally to 2.0, it can.
But 2.1.0, The most inconvienience is back.

@dcy
apns: push_notification/3,4 is synchronous. You must call it from the same process you opened the connection.
If you are getting an "BadDeviceToken" it is a response from APNS servers.
You must check HTTP/2 Response from APNs there you can see all the possible responses from APNS. Regarding that, your "BadDeviceToken" means
The specified device token was bad. Verify that the request contains a valid token and that the token matches the environment.

@dcy
We wrote an example for Pushito where we use it on a pool of connections. It is written in Elixir but It can be applied to apns4erl too, I am going to release a new version in hex in order to allow that but you can test with the master version if you want.
Check the example here

@ferigis Thanks! I think i get it why you design it like this(same process connect and push).
I already planed to use apns4erl with poolboy. Especially in China, it is slow to push apns.

@dcy great! I am pushing right now a new version (2.1.1) which allows creating connections without name. After that you can check the pushito example in order to use a pool but eventually we will write the same example but for apns4erl

@dcy the new version 2.1.1 is uploaded. You can fetch it from hex.pm too
{apns, "2.1.1", {pkg, apns4erl}}

I am going to close this issue. If you need something else, please, open a new one
Thanks for use apns4erl!

@ferigis
The notification is success recived, but retrun {timeout,x}
the config file:
[
 {
   apns,
   [ {apple_host,       "api.push.apple.com"}
   , {apple_port,       443}
   , {certfile,         "priv/cert.pem"}
   , {keyfile,          "priv/key.pem"}
   , {token_keyfile,    "priv/APNsAuthKey_ES5MDTBU2G.p8"}
   , {timeout,          10000}

   %% APNs Headers

   , {apns_id,          undefined}
   , {apns_expiration,  0}
   , {apns_priority,    10}
   , {apns_topic,       "com.trident.lbschat.enterprise"}
   , {apns_collapse_id, undefined}

   %% Feedback
   , {feedback_host,    "feedback.push.apple.com"}
   , {feedback_port,    2195}
   ]
 },
 {sasl, [{sasl_error_logger, false}]}
].

@boboxiaodd you should connect and push in the same process


Change mac build target from deprecated to temporary

Signed-off-by: Cervenka Dusan<EMAIL_ADDRESS>Pull request
Choose Correct

[x] bug
[x] feature

Describe the pull request

To Reproduce

Expected behavior

Screenshots

Desktop (please complete the following information):

OS:
eRPC Version:

Steps you didn't forgot to do

[ ] I checked if other PR isn't solving this issue.
[ ] I read Contribution details and did appropriate actions.
[ ] PR code is tested.
[ ] PR code is formatted.
[ ] Allow edits from maintainers pull request option is set (recommended).

Additional context

We need update CI mac target to temporary one and then after December 2023 we need apply this patch https://github.com/EmbeddedRPC/erpc/pull/376. More description there.

@MichalPrincNXP This should be ready for merge. And in December we will need merge second PR which is not passing currently

Thanks for the effort!


chore: updated SDK versions/snippets

Amplitude Developer Docs PR
Description
Updated SDK versions/snippets
Change type

[ ] Doc bug fix. Fixes #[insert issue number]. Amplitude contributors include Jira issue number.
[x] Doc update.
[ ] New documentation.
[ ] Non-documentation related fix or update.

PR checklist:

[x] My documentation follows the style guidelines of this project.
[x] I previewed my documentation on a local server using mkdocs serve.
[x] Running mkdocs serve didn't generate any failures.
[x] I have performed a self-review of my own documentation.

@amplitude-dev-docs
@caseyamp

@falconandy you can ignore the link check warnings


Typo fixes

This PR fixes some small typo inconsistencies & broken links in the docblocks and documentation.

@sebsobseb thanks for typo fix


Improved TextField and TextArea text, cursor and selection rendering

Improved TextField and TextArea text, cursor and selection rendering in addition to fixed pref height of TextArea when setPrefRows is used.
Main issue was that TextArea used calculated textHeight for prefHeight instead of lineHeight from the font like the GlyphLayout. That resulted in prefHeight not matching actual text, depending on declared line height in the font.
Another issue was selection/cursor drawing in TextArea that did not account for xAdvance of first glyph on each line. It used first glyph of the entire text for all lines which resulted in selection/cursor appearing in wrong planes on some lines.
Additionally TextField height is based on lineHeight which results in it being less tall in most cases

Current TextField and TextArea
PR TextField and TextArea

See included TextAreaTest3.java for sample.
Let me know if I missed anything.

I don't believe the changes to TextField are an improvement. In my app:

In UITest:

Before the PR the space below and above the cap height is the same and the selection is centered vertically. After the PR there is space above the selection and the text is too high.
FWIW, here is a Windows text field which positions the text and selection similar to before this PR:

I reverted the TextField changes and removed the lineHeight field. I left the TextArea changes, though I don't believe the selection looks right there. For example, in TextAreaTest3 TextField looks like:

And TextArea looks like:

I agree that the TextField in your example looks better, however I'm no so certain about the way it is achieved. Currently is is done by adding extra -descent to text height, which is a decent hack if the fonts line height is very close to its text height. Perhaps that's a common solution for this problem, but I think it was a reasonable assumption to let the font decide how tall a line should be. Existing solution is good enough, so Ill let it be.
Ill fix TextArea text location in a PR.


[WIP][SPARK-37507][SQL] Add a new SQL function to_binary

What changes were proposed in this pull request?
Introduce a SQL function to_binary.
Syntax:
to_binary(str_column[, fmt])

Why are the changes needed?
To provide a unified string to binary conversion routine with a specified format of how to interpret the string. The new to_binary can unify existing Spark functions: encode, unhex, unbase64, and binary, which makes API easier to remember and use.
to_binary is also a common function available in many other systems. Introducing it improves compatibility and the ease of migration.
Does this PR introduce any user-facing change?
Yes, a new function for the string to binary conversion with a specified format.
How was this patch tested?
Unit test.

Looks fine from a cursory look. cc @cloud-fan, @MaxGekk and @gengliangwang in case you guys find some time to review.

Sorry I rebased the PR so the commit history looks confusing, but only two commits below are new:
300f1e8
3fd1b77
CC @HyukjinKwon

Merged to master.

Thank you @cloud-fan @entong ! I will open a new PR to resolve the above comments.


Add broader search for repos; or allow configurable/filterable patterns for repo selection list

Describe what problem your feature request solves:

Searching for / identifying a GitHub/GitHub Enterprise repo for Threat Dragon to use when there are hundreds or even thousands from which to choose is untenable.
Describe the solution you'd like:

Either fetching all repos accessible to the user (suboptimal) and providing the option to search amongst those; OR using Octonode's search feature + a config option in (or env var passed to) Threat Dragon to limit repo choices just to those which fall into a certain pattern.
Additional context:

At my organization (and I would assume several others), we have several repositories (in our case, literally thousands) on our a self-hosted GHE server. It is very difficult to paginate through, 30 at a time, to select a repo for Threat Dragon to use -- and "search" only works for those currently being displayed on the page.

FWIW, I'm trying to suss out how to achieve this with octonode's search module, but running into trouble. If I can figure it out, I'll gladly submit a PR (though it might be a bit rough around the edges), if only as a PoC.

Thanks @quine  - all contributions welcome - PoC or rough code all good

This is some really rough code (and certainly not complete), but it should generally demonstrate how to do it:
td.server/repositories/threatmodelrepository.ts:
const search_query = "some_search_criteria"; // or could be an env var, or add some UI/UX to enable/search
...
const searchAsync = (page, accessToken, search_query) => getClient(accessToken).search()
    .reposAsync({ q: search_query });

td.server/controllers/threatmodelcontroller.js:
GH search API results are in the items array in the response, e.g.,:
    const reposResp = await repository.searchAsync(page, req.provider.access_token);
...
    const repos = reposResp[0]['items'];

Alright, now this is a bit better:
td.server/src/controllers/threatmodelcontroller.js:
const repos = (req, res) => responseWrapper.sendResponseAsync(async () => {
    const page = req.query.page || 1;
    var reposResp;
    var repos;
    if (env.get().config.GITHUB_USE_SEARCH === 'true') {
        logger.debug('Using searchAsync');
        const searchQuery = env.get().config.GITHUB_SEARCH_QUERY;
        reposResp = await repository.searchAsync(req.provider.access_token, searchQuery);
        repos = reposResp[0]['items'];
    } else {
        logger.debug('Using reposAsync');
        reposResp = await repository.reposAsync(page, req.provider.access_token);
        repos = reposResp[0];
    }
    const headers = reposResp[1];
    logger.debug('API repos request: ' + req);

    return {
        repos: repos.map((x) => x.full_name),
        pagination: getPagination(headers, page)
    };
}, req, res, logger);

td.server/src/env/Github.js:
    get properties() {
        return [
            { key: 'CLIENT_ID', required: true },
            { key: 'CLIENT_SECRET', required: true },
            { key: 'SCOPE', required: false },
            { key: 'ENTERPRISE_HOSTNAME', required: false },
            { key: 'ENTERPRISE_PROTOCOL', required: false },
            { key: 'ENTERPRISE_PORT', required: false },
            { key: 'USE_SEARCH', required: false },
            { key: 'SEARCH_QUERY', required: false }
        ];
    }

@jgadsden LMK if you want me to open a PR.

many thanks @quine , yes please go ahead and create a pull-request


Fix svg image render

Official example to use pdf2svg force all images export as png and object url from Blob, but in node.js, it won't work, so I try to fix some places in this example:

Force generate a base64 string when analyze image stream
If image type is jpeg, export it directly maybe better than transform to a png image
add a fake Image object in node.js environment

Because read image size when load jpeg stream is too complex, width and height of image in paintJpegXObject was replaced by w and h readed from args

Will that stub work for JpegDecode task at https://github.com/mozilla/pdf.js/blob/master/src/display/api.js#L1760 ?

Will that stub work for JpegDecode task at https://github.com/mozilla/pdf.js/blob/master/src/display/api.js#L1760 ?

I'm afraid not... JpegDecode task need to create a temp canvas DOM to transform data, it's too complex unless import other packages like node-canvas...
So it will cause error when image has mask but I hadn't notice it before, Maybe I can fix it by add a limitation in NativeImageDecoder.isDecodable, but I'm not sure if it's a good idea

I'm not entirely certain that I understand what issue this PR attempts to solve, but disableNativeImageDecoder definitely needs to be set to avoid issues when dealing with JPEG images in Node.js (since it lets the PDF.js built-in JPEG decoder handle the image).
The SVG example works fine for me when run against the current master, since the Blob requirement was a temporary issue that was fixed by PR #8346 (in response to issue #8344, which contains a test-case that this PR would break).
Since this PR was based on an now outdated version of PDF.js, are these issues still present in the latest PDF.js master branch?

I'm not entirely certain that I understand what issue this PR attempts to solve, but disableNativeImageDecoder definitely needs to be set to avoid issues when dealing with JPEG images in Node.js (since it lets the PDF.js built-in JPEG decoder handle the image).

@Snuffleupagus If we set disableNativeImageDecoder, JPEG images will be exported as PNGs, but that's too large.
https://github.com/mozilla/pdf.js/blob/master/src/core/evaluator.js#L471
Because codes here can directly add JPEG images to opList, we only need to set disableCreateObjectURL = true to ensure these images export as base64 strings.
I have tried sample pdf in #8344, this PR works well for me. I'm not sure if there are any conflicts with latest master branch, I think I need to have more tests.

Can you try https://downloads.globalchange.gov/usimpacts/pdfs/climate-impacts-report.pdf ? (I think page 2)

More simple test case http://itp.usc.edu/uploads/About_Stacks.pdf

@yurydelendik page 3 will throw a warning

Warning: Unable to decode image: TypeError: tmpCanvas.getContext is not a function

svg can still be generated, but the image which causes warning is missing
I tried to force NativeImageDecoder.isDecodable return false in node.js environment, it was working well. But I worry about whether it will affect canvas mode.

@yurydelendik I'm not sure if I understand your request correctly... the code looks a little weird, I'll squash commits until the code is acceptable.

/botio test

Thank you for the patch.

@yurydelendik - This is still failing for me. I added PDFJS.disableNativeImageDecoder = true; but still get this error:
Warning: Native JPEG decoding failed -- trying to recover: Image is not defined
Versions:
"pdfjs": "^2.0.0-alpha.3",
"pdfjs-dist": "^2.0.398",
StackOverflow issue: (before adding .disableNativeImageDecoder)
https://stackoverflow.com/questions/49375424/image-is-not-defined-error-when-extracting-images-using-node-js-and-pdf-js


Can't import library  Could not find com.android.support:support-annotations:22.0.0.

compile 'com.getbase:floatingactionbutton:1.9.0'

I get error when syncing with gradle
Error:A problem occurred configuring project ':app'.

Could not resolve all dependencies for configuration ':app:_debugCompile'.
Could not find com.android.support:support-annotations:22.0.0.
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
https://jcenter.bintray.com/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
file:/D:/Android/Android SDK/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
file:/D:/Android/Android SDK/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
file:/D:/Android/Android SDK/extras/google/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
file:/D:/Android/Android SDK/extras/google/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
Required by:
projectname:app:unspecified > com.android.support:recyclerview-v7:21.0.3
projectname:app:unspecified > com.android.support:support-v4:21.0.3
Could not find com.android.support:support-annotations:22.0.0.
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
https://jcenter.bintray.com/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
file:/D:/Android/Android SDK/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
file:/D:/Android/Android SDK/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
file:/D:/Android/Android SDK/extras/google/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.pom
file:/D:/Android/Android SDK/extras/google/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar
Required by:
projectname:app:unspecified > net.i2p.android.ext:floatingactionbutton:1.9.0

+1

Update your Android support library to 22.1.1

@hkurra Thank you, it worked.
I updated my Android packages as stated here: http://stackoverflow.com/a/20830540 so that I could use 22.1.1 support libraries. Then, I added the android-floating-action-button dependency, rebuilt the project and it worked.


list index out of range

tick1 = yf.Ticker("ABC") print(tick1.info)
    print(tick.info)   File "/home/jon/.local/lib/python3.8/site-packages/yfinance/ticker.py", line 138, in info     return self.get_info()   File "/home/jon/.local/lib/python3.8/site-packages/yfinance/base.py", line 415, in get_info     self._get_fundamentals(proxy)   File "/home/jon/.local/lib/python3.8/site-packages/yfinance/base.py", line 286, in _get_fundamentals     self._institutional_holders = holders[1] IndexError: list index out of range

I had the same issue and was able to fix this by inserting an if statement like this at line 286:
    if len(holders) > 1:
        self._institutional_holders = holders[1]
        if 'Date Reported' in self._institutional_holders:
            self._institutional_holders['Date Reported'] = _pd.to_datetime(
                self._institutional_holders['Date Reported'])
        if '% Out' in self._institutional_holders:
            self._institutional_holders['% Out'] = self._institutional_holders[
                '% Out'].str.replace('%', '').astype(float)/100

I can confirm the above fix works. Without this, some high profile things can’t be accessed (e.g. BRK-B). Is it possible to have a new release with this fix soon?


Updates HEADIMPCheckboxBehavior to include IMPYEARS

HEADIMP Should enable IMPYEARS when HEADIMP == 1 and disabled IMPYEARS when HEADIMP == 0 or HEADIMP == 9
fixes #179

Adjusted functionality checks out! ✔


Migrated  article explaining how to connect to Kafka with Java

Tested and migrated https://help.aiven.io/en/articles/5344053-java-examples-for-testing-aiven-for-apache-kafka

I managed to rebase properly and resolve a couple of conflicts, @anelook now you should also have the Python example from @TibsAtWork. I suggest finding a common patters regarding titles and sections about how to interact with Kafka from various languages

@ftisiot I saw couple of your comments right now :) I just pushed a fresh version where I aligned with the similar article about Python.
I see your comment about serializer, I'll add another change about it.

https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients returns 403 according to prose. However,  works for me locally. I'll wait and check it next working day if it gets back to normal

LGTM


erlazure concurrency

From what I understood from the source code erlazure is a genserver using synchronous server calls. Calling new put_block_blob functions on a single process will just queue up my requests and will take them one after another from the process mailbox. Also erlazure server process created with a start method never exits (or is clean up).
What I'm trying to achieve are concurrent uploads to the Blob Storage, but starting new erlazure process in every upload process seems like an overkill, because started processes are never cleaned up and this can easily lead to system blowing up.
Am I right with my assumptions? What are the best ways to clean up erlazure process after every upload gracefully?
Thanks!

As far as I remember the only state GenServer keeps in this case is a pair of keys. Did you try stop gen_server:stop the instance?

Yes, stopping GenServer that way cleans up the process. But there's another problem. When GenServer times out there are created additional 2 processes. So when GenServer times out I am left with 3 processes not cleaned up. And I don't know why.

Sorry for the late answer.
Well, the erlazure gen server itself doesn't start any additional processes, I guess you need to link the process that starts erlazure and erlazure process itself. So if upload fails then caller process will also crash so you can handle crashes at other level.
erlazure is just a gen server with account keys as state:
init({Account, Key}) ->
        {ok, #state { account = Account,
                      key = Key,
                      param_specs = get_req_param_specs() }}.

You can also specify timeout on operations, if that helps.


rename PKCardTest files to PTKCardTest

when the PK prefix was changed to PTK, the test files were not renamed. they should be renamed so that the tests work (⌘U)

Hey @intelliot, thanks for opening this, and I'm sorry for not getting to it sooner. As part of a large refactor, this code has moved to our iOS SDK at https://github.com/stripe/stripe-ios, which now has a class called STPPaymentCardTextField with similar behavior to PTKView. That class shouldn't suffer from these test issues. I'd also encourage you to migrate your apps to use our SDK instead of this library (it should take just a few minutes, and we've written a brief guide at https://github.com/stripe/paymentkit#migration). Of course, if that doesn't work for you, or you have any trouble migrating, reply here and I'll be happy to help. Thank you for opening this PR, though, and I'm sorry for not merging it sooner.
Cheers!


Unable to edit frontpage in Volto site without "Manage portal" permission

Volto treats the Plone site as content, which it is not. It's not a dexterity type, it doesn't follow the content rules and behaviours. Having the "Modify portal content" available on site root would imply that the frontpage is also editable by that person, but that's not possible without the "Manage portal" permission.

Edit: it's not actually Volto that does this, Volto doesn't really assume a lot about the Plone site root, it's just the way most of the Volto websites are setup.
Any ideas on how to elegantly solve this issue? "Manage portal" in itself doesn't give access to ZMI, but it could be used for various other restricted views.

I've been thinking about this and I have a proposal for a new feature.
First, I think the "layout" property that comes from Plone is underused in Volto. It's only used as a marker to be able to select the proper view component, but it would be nice to have it somehow influence the serialization process.
To that end, I propose that, in the ContentGet service, the content linked in context with the "default_page" property is serialized alongside the main. Also, the ContentGet service would first query for a named adaptor for the serialization of context, where the name is the "layout" property.

PR in plone.restapi: https://github.com/plone/plone.restapi/pull/944

@tiberiuichim what's the status of this issue and related pr? I'm asking for a friend

@cekk nothing moved on my side, but there's this promising PR: https://github.com/plone/plone.restapi/pull/983


Flockingbird scraping behaviour

A conversation about Flockingbird scraping behaviour has been developing using the #FediBlock hashtag on some Fediverse ActivityPub networks..
Please clarify how you do things. My understanding is that a job listing is searched only for profiles which are already publicly indexed, and that #nobot on the profile bio is not required, but people seem to be thinking otherwise. As someonw who supports your project but is also an admin, may I suggest that you post something fast, or the block will spread quickly and it would be hard to turn things around.
much respect for the work that you did so far.
Example posts:
1
2
3
4

Thanks for the heads-up. The angry mobs already had us banned from a few instances. So maybe we must just let it blow over.
They won't ban any instance, just an account or two that already are closed down. So as an admin, you probably don't have to do anything.
Reacting doesn't help. We honestly did not do anything wrong. And those folks that went past their anger and actually talked to us (rather than slathering and spreading lies behind backs), all of those we showed that there's nothing wrong here.
Facts won't matter, reasonable posts won't matter, an angry mob has made up their minds, based on falsehoods. And there's no convincing them.
The fediverse has a serious bullying problem. Which, ironically, seems to be the reason why many folks want "us" banned in the first place: to avoid bullying. So they bully until people give up, and move to the next victim.
We haven't decided what to do, but we'll probably just shelve the whole project: another fediverse project, tool and idea kicked into the ground by a few angry, ill-informed radicals. This is a problem we (we: the fediverse) need to solve, because these "mobs" are doing serious harm. They are directing hate, even threats, at people at us, for example. Bullying, dogpiling, and stopping any innovation just because they think they can. While, in the end, it matters nothing: it's not as if these actions stop those that actually scrape and index the fediverse: they only kick those into the curb that are open and transparant about what they do, those who try their best to consider everyone and each angle.

I understand your frustration, believe me. as on admin who's easy on the trigger myself, I have seen quite a few unjustified #fediblock content that spreads like wildfire, and when you check the details your opinion may change.
Now let me share my perspective, as someone who wants your project to live on but is also an active moderator of a community of thousands that expects me to keep an eye on server de-federation.

I have maybe 15 min. a day to check #fediblock for new block recommendations, validate them myself (contrary to some others) by going in and looking for clues, and decide whether to do something. This includes unique cases like yours, along with many many many more cases of regular micro-blogging servers that are sometimes very easy and sometimes very hard to figure out. Those that are hard to figure out I usually limit but not suspend, if only for the lack to time to investigate further. This leaves out very little time to cases like yours.

90% of block recommendations I eventually agree with and implement myself, and this is the reason why the "mob" rule works. It works because most recommendations are genuine and very easy to decide, and are not bullying.  After a while I guess most people start trusting the so called mob because the pattern is strong correlation between them and those other admins. Again, the incentive to go along is very strong because there's very little time to decide.

I had ~5 minutes to decide your case and that is because I decided to give you the benefit of the doubt. You claim to be open and transparent, yet in a couple of minutes I found no clear and concise explanation on https://search.flockingbird.social/ and in the repository. maybe there is and I missed it, maybe there isn't. Either way, there's 3,000 people whose profiles I am expected to protect. I see that your project is ~2 years old I am a volunteer and so are 99% of the other admins, most of them do not even know how to go about checking this.

I hope that you do not give up but also that you take the above scenario into consideration.
I hope that you do not let it blow over, because it might not. I would like to find my next job through your platform.
I hope I am not too bold in suggesting that in the main page you add a note for fediverse users and admins that summarizes  those facts, reasonable explanations and falsehoods.

We'll no longer be working on this: https://fosstodon.org/@flockingbird/110622645831178530


Inferring whether to show or Hide API Key box

Relates to #1261
This is one potential solution for inferring whether an instance has an API key and show or hide the text input box accordingly. When the page first loads a request is sent to the server with no API key. If that request was successful then no API key is need so the box is hidden. If the request returns with a 401 status then the API Key was needed and it is shown.

Without any master key defined:

With a master key defined:

It's a really good idea from my POV 🚀  @react-learner is it ok for you?

Thanks @sanders41, it's nice to see you everywhere 😄


Faster RNN layers

Use transpose matrices to get faster inference with RNNs (same as with linear layers).

Compiled
Pre
Post

Yes
15.1 ms
10.2 ms

No
21.3 ms
17.3 ms

Benchmark:
import time
import mlx.nn as nn
import mlx.core as mx

lstm = nn.LSTM(512, 512)
mx.eval(lstm)

x = mx.random.uniform(shape=(1, 300, 512))

@mx.compile
def fun(x):
    return lstm(x)

for _ in range(5):
    mx.eval(fun(x))

tic = time.time()
for _ in range(100):
    mx.eval(fun(x))
toc = time.time()
print(10 * (toc - tic))

Note this is a breaking change.. but I don't think our RNN layers are used much if at all. Probably better to change it now..

Using admm in the inner loop gets another millisecond 🚀

This is really nice!
Just for fun, a custom kernel to get rid of the mx.split gets another ~15% faster on my M1 Max:
def lstm_custom(ifgo, cell):
    kernel = mx.fast.metal_kernel(
        name="lstm",
        input_names=["ifgo", "cell", "hidden_size"],
        output_names=["hidden_state", "cell_state"],
        header="""
        template <typename T>
        T sigmoid(T x) {
            auto y = 1 / (1 + metal::exp(-metal::abs(x)));
            return (x < 0) ? 1 - y : y;
        }
        """,
        source="""
            uint elem = thread_position_in_grid.x;
            int index = elem / hidden_size * hidden_size * 4 + elem % hidden_size;

            T i = sigmoid(ifgo[index]);
            T f = sigmoid(ifgo[index + hidden_size]);
            T g = metal::precise::tanh(ifgo[index + hidden_size * 2]);
            T o = sigmoid(ifgo[index + hidden_size * 3]);

            cell_state[index] = f * cell[index] + i * g;
            hidden_state[index] = o * metal::precise::tanh(cell_state[index]);
        """,
    )
    out_shape = list(ifgo.shape)
    out_shape[-1] //= 4
    return kernel(
        inputs=[ifgo, cell, out_shape[-1]],
        output_shapes=[out_shape, out_shape],
        output_dtypes=[ifgo.dtype, ifgo.dtype],
        grid=(ifgo.size // 4, 1, 1),
        threadgroup=(256, 1, 1),
        template=[("T", ifgo.dtype)]
    )

I also toyed with parallelizing across layers as this post suggests but for just num_layers=2 it wasn't really any faster.

Very cool! That gets it down to 7.67ms in my benchmark!


How to fix these warnings

I am getting warnings when I use ngReact in angualr js app. Please help how to fix this my directive looks like below.
(function () {
'use strict';
var GreetingSection = React.createClass({
displayName: 'Greeting',
propTypes: {
name: React.PropTypes.string
},
render: function () {
var message = "Good morning " + this.props.name + ", how are you?";
return React.createElement('div', { className: "greeting" }, message);
}
});
angular
    .module('app.components.work')
    .directive('reactComponentOne', reactComponent1);
/** @ngInject */
function reactComponent1(reactDirective) {
    return reactDirective(GreetingSection);
}

})();

You are using the deprecated ES5 syntax. This is a deprecation warning from React 16 and has nothing to do with ngReact.
class GreetingSection extends React.PureComponent {
  static displayName = 'Greeting'

  static propTypes = {
  name: React.PropTypes.string
  }

  render() {
    const message = `Good morning ${this.props.name}, how are you?`;
    return React.createElement('div', { className: "greeting" }, message);
  }
}


boards: nrf52840dk_nrf52840: Fix jlink invocation string

The jlink executable expects a fully qualified IC name, and not just the
family.
Fixes #37294
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

@abxy FYI

@anangl and @simtind should we fix other boards similarly?

@anangl and @simtind should we fix other boards similarly?

I think so. This problem affects flashing with the JLink runner as well. It fails for image sizes over 512K when device is set as nrf52. I just whipped up a testcase specifically to see if that were the case.
#include <zephyr.h>
#include <string.h>

#define REPEAT_10(x) x x x x x x x x x x

#define HELLO_10 "HelloHello"
#define HELLO_100 REPEAT_10(HELLO_10)
#define HELLO_1000 REPEAT_10(HELLO_100)
#define HELLO_10000 REPEAT_10(HELLO_1000)
#define HELLO_100000 REPEAT_10(HELLO_10000)
#define HELLO_1000000 REPEAT_10(HELLO_100000)

void main(void)
{
	printk("%s", temp);
}

@abxy @anangl I've addressed all Nordic boards now.

I don't know you criteria but it seems some boards using nrf52/nrf51 are still unfixed.
I checked out your branch and ran the following command:
abxy@dinkus:~/github/zephyrworkspace/zephyr/boards/arm$ rg -i --files-with-matches \"--device=nrf5[12]\" | sort
bbc_microbit/board.cmake
bbc_microbit_v2/board.cmake
bl652_dvk/board.cmake
bl653_dvk/board.cmake
bl654_dvk/board.cmake
bl654_sensor_board/board.cmake
bt510/board.cmake
bt610/board.cmake
contextualelectronics_abc/board.cmake
decawave_dwm1001_dev/board.cmake
degu_evk/board.cmake
holyiot_yj16019/board.cmake
particle_argon/board.cmake
particle_boron/board.cmake
particle_xenon/board.cmake
pinnacle_100_dvk/board.cmake
reel_board/board.cmake
rm1xx_dvk/board.cmake
ruuvi_ruuvitag/board.cmake

@abxy @anangl I've addressed all Nordic boards now.

I don't know you criteria but it seems some boards using nrf52/nrf51 are still unfixed.

I was missing an xargs:
vimfind . -iwholename ".//board.cmake" | grep -il nrf#vs vimfind . -iwholename ".//board.cmake" | xargs grep -il nrf
Thank you!

@abxy @anangl I've addressed all Nordic boards now.

Third time's the charm :)

Annoyingly I attached all my comments to the deletion and not the addition of each edit. Sorry :(

I polished my script to grab the relevant include from each board.dts file and manually checked against the edits. I found 1 example which looks wrong, and a few others that could be wrong or right depending on your stance for boards where a dk is used to emulate a different soc than what is actually on the dk.

Thanks for your help! I fixed the one that was wrong. The others are fine because we identify the target by the actual hardware connected and not by the IC being emulated.

@abxy would you mind approving the PR for completeness?

@abxy would you mind approving the PR for completeness?

I don't think I have approval powers. Consider this my approval: :+1:

@abxy would you mind approving the PR for completeness?

I don't think I have approval powers. Consider this my approval: 👍

Anyone can approve on GitHub, your checkmark will be grey instead of green but it will still count to me.


lib-negotiate: set src.bowl in +on-load when simulating kicks

lib-negotiate does not properly set src.bowl when issuing kicks in +on-load. This PR fixes this, by properly setting the kicks source according to the gill from wex.bowl

This already went in, and was reviewed here https://github.com/tloncorp/tlon-apps/commit/ae805939b5d8921eb3ab47411540853c6af0fbbf#comments


WFLY-6879 Parsing logic in EJB3Subsystem30Parser#parseRemotingReceive…

…r ignores unparseable attributes instead of exception
https://issues.jboss.org/browse/WFLY-6879

Jason just created a 10.x branch so for this to be in 10.1 a PR against that branch is needed.

I see, just opened https://github.com/wildfly/wildfly/pull/9070 for 10.x.


Fix the Footer

Describe the feature
There are several issues with the footer section of the website that need to be addressed to improve functionality and user experience. The issues include broken links, alignment problems, and missing styles.
The footer section should have fully functional links, proper alignment, and consistent styling.
I'm GSSOC'24 Contributor.
Please assign this issue to me so I can investigate and resolve these problems.
Add ScreenShots
Current Footer : footer-bug-flipkart
Expected Footer : Flipkart-footer
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

please assign me this issue as Gssoc contributor

I would like to contribute to this issue. Please assign me this issue.

I would like to contribute inorder to fix th footer. pls assign it to me.

@arghadipmanna101 I would like to help to fix the footer, pls assign it to me under GSSOC'24

pls assign me the issue

@arghadipmanna101 Please add the labels. (gssoc and level of difficulty).


Use log crate for debug messages

Though it is used only here and it is overrideable:
https://github.com/sciter-sdk/rust-sciter/blob/25eb7810277eade879c4f4c9a4ce728a6e4f1caf/src/host.rs#L85-L89

eprintln is available already


"Defer and cleanup" page

Decided to write some more about defer, highlighting some example uses and what to watch out for. This is an early draft and a request for comments

Thank you for the work you do!


⚠ Jenkins Plugins Artifactory has degraded performance

In 693e782, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1253 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 1acba7a after 2 hours, 57 minutes.


Extending likelihood field to model unexplored spaces #55

Proposed changes
The following changes are proposed in order to enhance the Likelihood Field Model based on the suggestions described on #55:

First, a new function unknown_obstacle_data() is created to ideally replace the obstacle_data() function in beluga/sensor/data/OccupancyGrid.hpp. This new function will return a srd::tuple<bool, bool> containing the values which are occupied and unknown.
Then, this new function will be passed to calculate the distance map using a new function nearest_obstacle_unknown_distance_map. This new function will ideally replace the nearest_obstacle_distance_map function.
The value of the distance map for unknown values is assigned with a pre-computed value inside the nearest_obstacle_unknown_distance_map function. Based on this computed value, the likelihood will be $\frac{1}{z_{max}}$.

Some comments:

It passed the compilation steps and the beluga example was tested. It would be nice to make some maps testing the draft. How could I perform that?

Type of change

[ ] 🐛 Bugfix (change which fixes an issue)
[x] 🚀 Feature (change which adds functionality)
[ ] 📚 Documentation (change which fixes or extends documentation)

💥 Breaking change! Explain why a non-backwards compatible change is necessary or remove this line entirely if not applicable.
Checklist
Put an x in the boxes that apply. This is simply a reminder of what we will require before merging your code.

[ ] Lint and unit tests (if any) pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] All commits have been signed for DCO

Additional comments

Hi @hidmic! I'm trying to replicate locally the 'build_and_test.sh' file, since it is failing in the pipeline. I wanted to tested first before updating the MR. However, I'm getting the following error (similar to #422, but it actually build when using -colcon build --packages-up-to beluga_example --cmake-args -DBUILD_TESTING=OFF as indicated in Documentation):
-- Configuring incomplete, errors occurred!
---
--- stderr: beluga
CMake Error at test/CMakeLists.txt:30 (find_package):
  By not providing "Findbenchmark.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "benchmark", but CMake did not find one.

  Could not find a package configuration file provided by "benchmark" with
  any of the following names:

    benchmarkConfig.cmake
    benchmark-config.cmake

  Add the installation prefix of "benchmark" to CMAKE_PREFIX_PATH or set
  "benchmark_DIR" to a directory containing one of the above files.  If
  "benchmark" provides a separate development package or SDK, be sure it has
  been installed.
---

This is happening in jazzy distro, but it actually works on humble. I also tried running it from the main branch, but it keeps throwing that error. Should I arise an issue?

@DPR00 we should update the PR title.

This is no draft anymore, it's solid PR material.

Awesome @hidmic, thanks! I will be addressing the comments during the following days and adding tests, as well.
I also want to test it in a simulated world. Any recommendations of a world different than turtlebot_world?

This PR needs a rebase after #433.

I did the rebase and reduce all the changes to one commit. The latter was due there were a lot of commits where the changes are no longer valid.

I am not able to merge it because I need to be an authorized user. Could you merge it @hidmic, pls? :rocket:


Suggested changes to the Installation Instructions on the Wiki

I wanted to suggest some fixes/changes to the "Installation" page. Unfortunately, GitHub doesn't let me make a pull request to the wiki page, so I will provide a link to the raw markdown in this issue, and link to a fork of the repository where you can preview the changes.
I wanted to change the following three things:

The windows install path on the install page was stated as %APPDATA%\roaming\kicad\scripting\plugins, which didn't work on my system. %APPDATA% confusingly expands to C:\Users\[USERNAME]\AppData\Roaming - that is, the roaming part is already included. So to fix this, I just removed the roaming part from the path, resulting in %APPDATA%\kicad\scripting\plugins
Move the "You may need to create these folders if they don't exist" part to before the list of install paths, and highlight it in bold.
General reformatting of the page by adding headings and numbered bullet points

The updated page can be viewed here: https://github.com/drojf/InteractiveHtmlBom/wiki/Installation . I have not changed any other page besides the installation page.
I've uploaded the raw markdown for the page here: https://gist.githubusercontent.com/drojf/b75174f8c62e8896166f4d154b7f353a/raw/bce2ae5f1ff507600cde3955f2f20d5691c919b0/Installation.md

Thanks, updated.


correct pkg import order and comment mistake

Signed-off-by: zounengren<EMAIL_ADDRESS>

Run git show --check 4cf6c46132d68b87a400c5732207258c6993611d to find your whitespace error(s)

These changes could be broken out into separate PRs if still relevant


Librealsense Nanopi NEO4 install

Required Info

Camera Model
D435i

Firmware Version
2.33.1

Operating System & Version
Linux Ubuntu 18.04 (FriendlyDesktop)

Kernel Version (Linux Only)
4.4.179

Platform
NanoPi NEO4

SDK Version
2.0

Language
python/C++

Segment
others

Issue Description
I am trying to get a 4.35i working on a nanopi NEO4 for a computer vision project. I have tried multiple installs using the pre-built packages and the manual install. Currently, on the pre-built install it fails to locate librealsense2-dkms, in a manual install the kernel patch: ./scripts/patch-realsense-ubuntu-lts.sh fails because 4.4.179 is not reported. if these commands are ignored, and the installation continues, either Realsense-viewer cannot detect the camera, or it launches with a rockchip error, and fails to load any stream other than the depth stream and the IMU data. Any advice on how to get this working? I know the basics of linux but not much more, so

If your project allows for installing librealsense from source code instead of a DKMS package, I recommend installing from source code using the "backend" method, which requires an internet connection but is not dependent on Linux versions or kernel versions, and does not require patches.

Download the source code zip file for 2.33.1 from the 'Assets' list at the bottom of the page at the link below:

https://github.com/IntelRealSense/librealsense/releases/tag/v2.33.1

Unzip the folder and go to the 'librealsense' root directory.  Input the command below to create a 'build' folder and then navigate to it:

mkdir build && cd build

Once you are within the build directory, run the CMake command below to install 2.33.1 without the need for further steps such as patching:

cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true

Thanks for your help, Unfortunately, when trying to run cmake from build I get the following error: bash: /usr/local/bin/cmake: cannot execute binary file: Exec format error any Idea why this could be happening and what I could do to fix it?

I believe that this error typically occurs when trying to execute a binary file that has already been built.  So I am not sure why it would occur when compiling a folder of source-code.
May I confirm please that you downloaded the source code zip file and then extracted its contents, please?

I have pulled in the source code again, it is 2.33.1. below is an image of the contents of the extracted folder.

The extracted folder contents look the same as mine.  Once you have extracted the folder like you have done above, the next step is to change directory into the build folder with the cd build command and then run the CMake instruction from there (not from the root 'librealsense' directory).

that is what I have done

are you running this on the same device? I think this ask ubuntu thread is saying I might be getting the error because the source code is written for a different architecture.
https://askubuntu.com/questions/648555/bash-program-cannot-execute-binary-file-exec-format-error

It does not seem to be an error related to Librealsense.  It has been reported to occur when trying to compile 64-bit code on a 32-bit machine.  The specification of Nanopi NEO4 says that it uses a 32-bit OS called Lubuntu.

is there a 32 bit version of librealsense I can install??

May I confirm that you are using 32-bit Lubuntu on your Nanopi, please?

I don't believe so, but if these are not the correct commands please let me know

Okay, you are using Ubuntu 18.04 LTS.  Thank you.
I did some further research about Nanopi boards specifically, and the process for getting a RealSense camera working on them does not seem to be straightforward, unfortunately.  If you work your way through the discussion in the link below, it may provide some useful insights about what to try next.
https://github.com/IntelRealSense/librealsense/issues/3042

thank you, I am unfamiliar with kernel level work, but I will give this an attempt

@noblegasses  Any update from your side? Looking forward to your reply. Thanks!

In my experience this is the most reliable method for getting RealSense up and running on NanoPi.
I recommend getting a clean OS SD-Card and following the instructions. Feel free to open new issue if you encounter any realsense specific problems


Unable to open Packages/Jeffrey Way Theme/widgets/default/Widget - Material-Theme.stTheme

Hello. I get this error(...
Error loading colour scheme Packages/Jeffrey Way Theme/widgets/default/Widget - Material-Theme.stTheme: Unable to open Packages/Jeffrey Way Theme/widgets/default/Widget - Material-Theme.stTheme

Thank you. Working on the issue right now. I'll get back to you as soon as
possible. Please be aware that we may have to chat one-on-one for me to
resolve this problem. Thanks again.
On Monday, April 25, 2016, NicolaeCasir<EMAIL_ADDRESS>wrote:

Hello. I get this error(...
Error loading colour scheme Packages/Jeffrey Way
Theme/widgets/default/Widget - Material-Theme.stTheme: Unable to open
Packages/Jeffrey Way Theme/widgets/default/Widget - Material-Theme.stTheme
[image: screen shot 2016-04-25 at 9 09 40 pm]
https://cloud.githubusercontent.com/assets/8903698/14793936/148712c6-0b2a-11e6-9aa8-7fc3c4d06e2c.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/christopherburton/Jeffrey-Way-Theme/issues/5

@NicolaeCasir I noticed you did not rename the folder from Jeffrey-Way-Theme-master to Jeffrey Way Theme. Can you try this for me?

Now its OK. I renamed.. but now i can't see sidebar(opened files((()

@NicolaeCasir Did you press CMD+Q Sublime? Then reopen to see if the problem persists.

@christopherburton Yes,... few times.. and nothing

@christopherburton  without "theme": "Material-Theme.sublime-theme", it's ok.. with default theme but with your colour sheme... but i want this theme..

Go to Preferences > Browse Packages. Open the Jeffrey Way Theme folder and send over a screenshot for me. I'd like to see what's inside.

@christopherburton

Copy the name of the Material exec file and paste it in your settings by theme. Does that help?

Also, if you have a package/plugin called SyncedSidebarBg, you need to disable that.

It's the same but if I rename Material-Theme.sublime-theme to Packages/Jeffrey Way Theme/Material-Theme.sublime-theme I get few icons (screen 2)

I do not have plugins installed.

Go to Preferences > Color Scheme > Jeffrey Way Theme > schemes and choose Facebook. Let me know the result.

It is active!

P.S. Shall i reinstall Sublime?

Make sure you quit the program each time you change the settings. Otherwise it may not work.
If that also does nothing to resolve the issue, try copying my settings as seen here.

Nothing. I have Beta license. It is a problem?

I doubt it. Would you feel comfortable doing a TeamViewer? Basically I would control your computer and install it for you. You are able to watch me and terminate the session at any time if you feel uncomfortable. Other than this I'm not sure what else I can suggest to help resolve the problem.

No problem...
224 083 178
5997

Solution
Download the Material Theme zip, unzip and add it to Preferences > Packages.
Now, go to Preferences > Color Scheme and choose the Material Theme. Then follow this repo's directions.


Clean up translations & introduce ngx-translate-extract fork

replaced ngx-translate-extract with own fork, based on the previous one (https://github.com/bartholomej/ngx-translate-extract/tree/ng13, which was already an angular13-compatible fork of https://github.com/biesbjerg/ngx-translate-extract, since this seems to have become stale)

see https://github.com/bartholomej/ngx-translate-extract/compare/ng13...jsangmeister:ngx-translate-extract:openslides?expand=1 for the applied changes, if someone wants to review it. dist directory was pushed to enable direct installability via npm and can be skipped while reviewing
installed git in container to install directly from github
with the new versions, some more strings are extracted which

cleaned up marked-translations.ts

removed duplicate entries with new extraction fork
removed deprecated entries, e.g. from OS3

added marker function to a lot of strings to ensure extractability
fixed file generation scripts, cleaned up scripts in general

@emanuelschuetze there are now more untranslated strings than before, I guess they were just never reported as errors in the client. They have to be translated accordingly.

@emanuelschuetze done, but the name of the package still has the @jsangmeister prefix since I'm not sure if using an organization prefix is a common practice there. Should I change it there, too? Also, I could publish the package on npm so we don't have to manually install ist via github anymore if we want that.


Development time IIS support missing in the Visual Studio 2022 Installer

There is no Option for "Development time IIS support" in the Visual Studio 2022 Installer. This no longer exists in Visual Studio 2022.  Is there a new name for this ?
For the ASP.NET and web development workload, locate and install the Development time IIS support component.
The component is listed in the Optional section under Development time IIS support in the Installation details panel to the right of the workloads. The component installs the ASP.NET Core Module, which is a native IIS module required to run ASP.NET Core apps with IIS.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f5477f20-bdbf-ae0b-63b4-8bf6789f7a48
Version Independent ID: fa9dc362-76a4-5d11-f457-b3d8550f9997
Content: Development-time IIS support in Visual Studio for ASP.NET Core
Content Source: aspnetcore/host-and-deploy/iis/development-time-iis-support.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@shirhatti Can you answer this question?

I asked @John-Hart if we should remove this topic and he responded
No, I don’t think it’s the topic, just the section “Enable development-time IIS support in Visual Studio” needs to be updated for if the optional component no longer exits. Not sure which versions of VS removed that as we don’t own that component, but you can still create a profile for IIS of .NET 6.0+


[SPARK-8738] [SQL] [PYSPARK] capture SQL AnalysisException in Python API

Capture the AnalysisException in SQL, hide the long java stack trace, only show the error message.
cc @rxin

Merged build triggered.

Merged build started.

Test build #36194 has started for   PR 7135 at commit f84d3bd.

Test build #36194 has finished for   PR 7135 at commit f84d3bd.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AnalysisException(Exception):
trait ExtractValue
abstract class ExtractValueWithStruct extends UnaryExpression with ExtractValue
abstract class ExtractValueWithOrdinal extends BinaryExpression with ExtractValue
case class Crc32(child: Expression)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #36200 has started for   PR 7135 at commit 7b044c2.

Merged build triggered.

Merged build started.

Test build #36201 has started for   PR 7135 at commit cdd7edd.

Test build #36200 has finished for   PR 7135 at commit 7b044c2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AnalysisException(Exception):

Merged build finished. Test PASSed.

Test build #36201 has finished for   PR 7135 at commit cdd7edd.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AnalysisException(Exception):

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

lgtm otherwise. we should consider adding this for parser exception in the future also.

Test build #36204 has started for   PR 7135 at commit ec0c0e8.

Right now, we throw RuntimeException while parsing.

Merged build triggered.

Merged build started.

Test build #36205 has started for   PR 7135 at commit dad7ae7.

Test build #36204 has finished for   PR 7135 at commit ec0c0e8.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AnalysisException(Exception):

Merged build finished. Test PASSed.

Test build #36205 has finished for   PR 7135 at commit dad7ae7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AnalysisException(Exception):

Merged build finished. Test PASSed.


Basic prompt stopped working

Hi,
The ChatGPT plugin has all of a sudden stopped working. It gives the following error when I give it a prompt
Neovim version details
➜  ~/.config/nvim nvim --version
NVIM v0.9.0-dev-2433+g3e8955094-dirty
Build type: Release
LuaJIT 2.1.0-beta3

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/HEAD-3e89550/share/nvim"

This appears to be a duplicate of this issue: https://github.com/jackMort/ChatGPT.nvim/issues/128
Are you also using jiangmiao/auto-pairs like @Leo310? https://github.com/jackMort/ChatGPT.nvim/issues/128#issuecomment-1494817538

TF, for whatever reason this plugin was causing the issue.
Not sure if this is worth investigating so you can close the issue from my side.
For those with the same problem, I switched to https://github.com/windwp/nvim-autopairs

Thanks @cmpadden , removing the plugin jiangmiao/auto-pairs seems to have fixed the issue.

This appears to be a duplicate of this issue: #128
Are you also using jiangmiao/auto-pairs like @Leo310? #128 (comment)

TF, for whatever reason this plugin was causing the issue.
Not sure if this is worth investigating so you can close the issue from my side.
For those with the same problem, I switched to https://github.com/windwp/nvim-autopairs


ci: disable musttag in golangci-lint

The musttag checker exits with status code 1 and kills the linter pipeline. Since nothing else is logged, disabling it seems to be the only fix for now. Running golangci-lint locally does not cause this issue, so it looks like a problem with the specific version of musttag that's being used in the GitHub action. I'll ping the golangci folks and let them know about this.

@rst0git PTAL

Can you provide the original error message and a link to the upstream report?

Here's the logs that golangci-lint throws (I ran the action in both normal and debug mode, same logs are produced)
  Running [/home/runner/golangci-lint-1.52.1-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...
  level=warning msg="[runner] Can't run linter goanalysis_metalinter: musttag: running `go list all`: exit status 1"
  level=error msg="Running error: 1 error occurred:\n\t* can't run linter goanalysis_metalinter: musttag: running `go list all`: exit status 1\n\n"

  Error: golangci-lint exit with code 3

I've opened an issue here

Thanks. Let's merge this for now and if you ever get feedback from your issue we can re-enable it if we want.


This plunker not working

https://ngmap.github.io/drawings.html#
Removing markers is not working.

Some plunker is not working. I need to make some adjustment on plunker directive of my own.
Meanwhile, use this example,
https://rawgit.com/allenhwkim/angularjs-google-maps/master/testapp/marker-remove.html
Anytime it does not work, please visit this page , https://rawgit.com/allenhwkim/angularjs-google-maps/master/testapp/index.html, and you can find the exact working example.

fixed


filter nodes/edges restricted to real numbers for threshold

Currently, the filter_nodes and filter_edges functions require the threshold value to be a real number. However, it would make sense to generalize this more so that other user things could be passed. For example, a user could define the function to compare two vectors.

Fixed with #17


Conform to a more typical file structure

The existing file layout simply ended up the way it is during initial development. After review, it would be sensible to clean things up and follow a more expected organization.
Here is a draft new file layout:
bin/activate # Replaces scripts/include.bash. Have it alter PS1 and PATH, and add deactivate alias
bin/build # Just build on it's own
bin/import # Does what "build import" does now
bin/run # Run tests
bin/sync-db # Sync DB
lib/bowline/bowline

This would allow for project specific scripts to be added as bin/foo and such.
The scripts in bin would make use of functions located in lib/bowline/bowline. Code within scripts/build and scripts/run would be re-factored into this file as functions. The lib/bowline part could then be non-project customizable, and hence upgradable.
(Thanks @grugnog for suggesting these changes.)

Some thoughts:

It will get messy with bowline standard and locally created 'bin' scripts in the same directory.
It would be nice to be able to add pre- and post-hooks to the scripts to perform additional site-specific customization, for example:

import-post-hook could run reload-config after the import
run-pre-hook could ensure local.yml has been updated with local paths & IP addresses

I like 'scripts' better than 'bin' as I think of 'bin' for binaries (but maybe I'm just old-fashioned here)
If you went with all these suggestions, it might be good to put everything in a sub-directory

So I might have:

bowline/scripts/build
bowline/lib/
bowline/local/hooks/      # bowline/local is .gitignored by bowline...
bowline/local/scripts/     # ...and provided by the local project.
scripts/                          # not part of bowline

There could be a script bowline/scripts/refresh-scripts that symlinks all the bowline/scripts/* and bowline/local/scripts/* files into the top-level scripts directory...

I think the question is, what is the most likely place that people will be looking for these files. I like the idea of a bowline directory however i don't think it's readily obvious of what might be in it. That's why lib/bowline sounds good to me.

p.s. I love the idea of adding hooks as well. (Possibly for a new issue though)

From offline discussion, agree that:

bin/ rules
local/ should not exist
hooks are cool

@davenuman one suggestion would be to submit this as a project to Packagist and reimplement the script commands as a PHP command (e.g. bowline import). That way one could require this project via Composer.

@kostajh I've considered that but one of my primary goals of Bowline is to minimize requirements. That strategy would require php and composer to be installed. I know it's not too hard to install those but it does add some steps.

@davenuman true. But it does handle the installation / updates of this package in a more or less standardized way. As an aside I don't think the script commands would even need to be rewritten in PHP. But yes, folks would have to install composer.

Actually, you wouldn't need to use composer if you didn't want to (e.g. if you wanted to use the current README suggestions for usage).

I'd like to merge in my changes in the reorganize branch even though it may have some broken or missing pieces.
I don't know if anyone is using this project much, but if you need the previous layout for some reason, here is the last commit with it: 1f2d250


[THORN-2423] add module dependency on Weld to MP JWT

[x] Have you followed the guidelines in our Contributing document?
[x] Have you created a JIRA and used it in the commit message?
[x] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[ ] Have you built the project locally prior to submission with mvn clean install?

Not sure about the Windows failure, the log looks weird. It says an exception was expected during deployment and none was thrown, but the log shows an exception in fact was thrown.
retest this please


How can I upload audio to server?

your example at  here can download react-audio.wav
How can I POST file  react-audio.wav to the server? which kind of variable/object using for?
Thank you.

Hi! I wasn't aware people were using this library still! Cool!
The library just gives you back a Blob which can be treated as a raw file. Uploading the file to a server is separate. This article might help. If not, there is other information out there on the internet for this.

You'll be using FormData which can be sent as multipart/form-data with XMLHttpRequest.send().
Hope this helps. But as the README mentions, I haven't worked on this in quite some time and I don't plan on it so don't expect speedy replies :)


[FEATURE]: Adding an XML Catalog file

Describe the feature
Adding an XML catalog schema/xmlcatalog.xml file under the schema/ folder. This addition is transparent, but will allow other projects to use this XML catalog in their XML parser.
<?xml version="1.0"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <uri name="http://cyclonedx.org/schema/spdx" uri="spdx.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.0" uri="bom-1.0.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.1" uri="bom-1.1.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.2" uri="bom-1.2.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.3" uri="bom-1.3.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.4" uri="bom-1.4.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.5" uri="bom-1.5.xsd"/>
  <uri name="http://cyclonedx.org/schema/bom/1.6" uri="bom-1.6.xsd"/>
</catalog>

Possible solutions
While working with cyclonedx-go, I noticed 2 variables xmlNamespaces and xmlSchemaFiles:

xmlNamespaces: which is used to bind XML namespaces URLs with CycloneDX spec versions;
xmlSchemaFiles: which is used to bind local XSD schema files location path with CycloneDX spec versions;

var xmlSchemaFiles = map[SpecVersion]string{
	SpecVersion1_0: "./schema/bom-1.0.xsd",
	SpecVersion1_1: "./schema/bom-1.1.xsd",
	SpecVersion1_2: "./schema/bom-1.2.xsd",
	SpecVersion1_3: "./schema/bom-1.3.xsd",
	SpecVersion1_4: "./schema/bom-1.4.xsd",
	SpecVersion1_5: "./schema/bom-1.5.xsd",
	SpecVersion1_6: "./schema/bom-1.6.xsd",
}

var xmlNamespaces = map[SpecVersion]string{
	SpecVersion1_0: "http://cyclonedx.org/schema/bom/1.0",
	SpecVersion1_1: "http://cyclonedx.org/schema/bom/1.1",
	SpecVersion1_2: "http://cyclonedx.org/schema/bom/1.2",
	SpecVersion1_3: "http://cyclonedx.org/schema/bom/1.3",
	SpecVersion1_4: "http://cyclonedx.org/schema/bom/1.4",
	SpecVersion1_5: "http://cyclonedx.org/schema/bom/1.5",
	SpecVersion1_6: "http://cyclonedx.org/schema/bom/1.6",
}

They were lacking information about <uri name="http://cyclonedx.org/schema/spdx" uri="spdx.xsd"/>.
My goal is to write an XML validation method for XML formated BOMs. I am discussing this possibility on the CycloneDX Go Slack channel. Especially, we are discussing an issue about the need to enable CGO when using github.com/lestrrat-go/libxml2.
XML Catalogs are very handy when it comes to solving the issue of binding XML Namespace URLs with locally stored XSD files.
See my example here:
https://github.com/Nicolas-Peiffer/cyclonedx-go/blob/427e8adad7e05f57008c78a76075ddc6e38fb007/validator_xml.go#L47-L48
import (
	"github.com/lestrrat-go/libxml2"
	"github.com/lestrrat-go/libxml2/xsd"
)

[...]

	// Load the XSD schema and the XML catalog
	schema, err := xsd.Parse(schemaData.Bytes(), xsd.WithPath("schema/xmlcatalog.xml"))

First tests of using an XML catalog seems promising: the tests go through with success.
https://github.com/Nicolas-Peiffer/cyclonedx-go/commit/a4f347065cba19e4e41ec16cc652913e23e221f5

Alternatives
I do not know alternatives to XML catalogs, except implementing custom variables like cyclonedx-go's xmlNamespaces and xmlSchemaFiles variables.
Additional context
See the Slack Go channel.

maybe add some regression test that checks whether the namespace in the catalog matches the referenced file, and assert that the referenced file exists.

maybe add some sanity/plausibility/regression test that checks whether the namespace in the catalog matches the referenced file, and assert that the referenced file exists.

Good idea. But first, I updated the version of cyclonedx-core-java from cyclonedx-core-java-8.0.3 to cyclonedx-core-java-9.0.2, because 9.0.2 is the latest available: see my new pom.xml file.
And I added the tests for CDX v1.6: indeed you can see below that 1.6 was not tested:

JsonSchemaVerificationTest.java only goes to 1.5
BaseSchemaVerificationTest.java only goes to 1.5
XmlSchemaVerificationTest.java only goes to 1.5

So far, the tests seems to go through for 1.6, which is a good news :smiley: .
Now I need to implement tests for the xmlcatalog.xml file like you suggested. This is a work in progress. I have some trouble locating the file under ./schema/ when the test source code is here ./tools/src/test/java/org/cyclonedx/schema/. I need to figure this out.
NB : if I were doing my tool in Java, it seems the CycloneDX Java implementation is more mature than the cyclonedx-go.

@jkowalleck My latest commit https://github.com/ThalesGroup/cyclonedx-specification/commit/c1fe8a9781ee08d766292bdf269391e909712707 seems very promising:

I added your comments on the XML catalog, plus a couple of other comments;
I managed to write a Java test for testing the content of the XML Catalog and verify if the content of the XSD files match
I updated the JSON and XML Java test to CycloneDX 1.6
Java unit tests go trough and validate !

And on my machine environment (VSCode, openjdk 22), tests seems to run correctly. But I have no way of testing on another environment. Unless I activate github actions...
java  --version

openjdk 22 2024-03-19
OpenJDK Runtime Environment (build 22)
OpenJDK 64-Bit Server VM (build 22, mixed mode, sharing)

Below a screen shot from the VSCode tests window:

The modernizations in the tests make this a mix of topics.
@Nicolas-Peiffer, could you split the PR in multiple parts? One is the actual feature, and then additional pull requests for the modernizations?

On the principle, I agree that should be 2 PR :

one for the XML catalog,
one for the update of Java unit tests.

I have to figure the best way to do that. What I suggest :

I close and cancel current PR: https://github.com/CycloneDX/specification/pull/477
I create a branch pr-xml-catalog dedicated for the XML catalog. I do a new PR with this branch. This PR should be merged after the first, but not mandatory.
I create a branch pr-update-java-utests dedicated for the update of Java-cycloneDX. I do a new PR with this branch. This PR should be merged second, but not mandatory.

I close this PR to open new ones.


wishlist: make heartbeat interval adjustable

I'm not sure about the energy consumption of the current (1min ?) heartbeat interval, but I would guess that it would be nice for many users to have an option to adjust this interval.

Any progress on this one? :)

i don't understand. does that mean it's already implemented?
or, can you please specify where in the code the value is set, then we can compile it a with different value for now.

@zoff99 https://github.com/microg/android_packages_apps_GmsCore/blob/master/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java#L78


Upgrade to actions/checkout@v4 in ci.yml.

This is a newer version of the same action. None of the uses here were particularly special (no complex features of v3 were used) so this is a straightforward as-is upgrade.

Thanks! I don't understand why github makes everyone do this every other year or so... oh well.
@bors r+

:hourglass: Testing commit 743ab271d7e659ce6b176a1087d8e4849c412460 with merge e6914bb13a6dc50af34934b7f481e32ef2deb3a6...

There's technically a breaking change between v3 and v4, just one that affects very few use cases in practice. So I think they did the right thing, even though it's a bit annoying that almost everyone has to actively upgrade even though they aren't affected.
Btw, GitHub's Dependabot can keep actions updated to the latest versions -- I have that configured in cargo-semver-checks and it's worked well so far. If you'd like, I'd be happy to add a similar config here: once a week, it will open PRs with any upgraded actions versions that are available.

Thanks! I think we'll wait for other rust-lang projects to do something like that before considering it.

Makes sense. Open offer, ping me anytime if you or someone in another rust-lang project wants to try it. Happy to help.

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing e6914bb13a6dc50af34934b7f481e32ef2deb3a6 to master...


Extend datatree with custom accessors

Adding the ability to extend datatree in the same way as xarray and pandas would be very convenient for adding domain specific functionality.
Extending xarray
Extending pandas

It's working great -- thank you!


The ability to set timeouts on the cy.mailslurp().then(...) call

Currently we have to set the default timeouts in cypress config to exorbitantly high values which affects all assertions in the test suite - not just the email-related assertions.
i.e.
// cypress.config.ts
export default defineConfig({
  defaultCommandTimeout: 60000,
  responseTimeout: 60000,
  requestTimeout: 60000,
  ...

Cypress typically allows consumers to set timeouts on .then chains w/ an options object.
i.e.

cy.get('something').then(
  { timeout: 60000 }, // first arg can be an options object instead of the callback
  () => {
    // make assertions
  }
)

It'd be beneficial if this library could allow for the same one-off setting of timeouts so default timeouts of the test suite don't need to be set for the sole purpose of mailslurp assertions.

Hi sorry for the delay, that is a good idea. Do you have an idea for how that could be implemented?

Hey there, unfortunately I don't have the time to dedicate in order to make a recommendation here, but I can tell you it is an important feature

Sorry for the long delay @boylec , but could you not simply do:
cy.mailslurp().then(
  { timeout: 60000 },
  (mailslurp) => {
    return mailslurp.createInbox()
  }
)


Improve error logging

Potentially initialize components with a logger (can be within provider) so that we can properly log errors especially for debugging reasons.
For example, in the notarization manager we could log instead of triggering an event m.events.Error.Trigger(errors.Wrap(err, "failed to set latest commitment"))

Closed with #96


Terra data model

Can I run a Terra workflow and submit inputs using the Terra "data model" (https://terra.bio/new-resources-for-unlocking-the-power-of-terras-data-tables/)... which is to say, can I specify an input file using this.h5_file for example, where h5_file is the name of a column in the sample data table in Terra?

Thanks @yihming for your response.
Is this a feature you'd be interested in?  I think there may be a way to do it using some of the get_entities methods from FISS (https://github.com/broadinstitute/fiss/blob/master/firecloud/api.py)
If you think there's a place for it in this repo, are you open to pull requests?

@sjfleming Yes, definitely we are open to PRs from community. We currently don't have much bandwidth for new supporting features on Terra, as our daily working environment is directly communicating with Cromwell servers in command-line. Therefore, we could only support Terra in our leisure time.

@sjfleming This is something I'm working on too. You can do it for a single row submission using the syntax create_submission(workspaceNamespace, workspaceName, methodConfigurationNamespace, methodConfigurationName, entityType, entityName)
If you're importing workflows from Dockstore to your own workspace and configuring them in the Terra GUI,  methodConfigurationNamespace will be the same as workspaceNamespace and  methodConfigurationName is the name of the workflow you will run. entityType is the root entity type (probably sample in your case), and entityName is a value from the sample_id column.
You can loop over this command to analyze multiple rows - I'm still not sure how to replicate the behavior of the Terra GUI where you can select multiple rows and generate a new set from them. If I figure that out I'll happily submit a PR. Appreciate all your work on this repo @yihming, it helped me understand the Terra API much better!

Thanks @erikwolfsohn , that does seem very close to what I want to do, thanks!  I want to avoid the GUI, but I am guessing there's a way to do that.

@sjfleming Definitely - glancing over what they've done with Altocumulus, you can pass in the JSON configuration file somewhere at runtime.
I think for your use case, this might be the solution: https://api.firecloud.org/#/Workspaces/postWorkspaceMethodConfig
Disclaimer that I haven't attempted this, but I think you would write or generate the JSON config file for your workflow, pass it into the workspace using the above API call, and then follow the same directions I posted earlier to execute the workflow.