Adding osg-incommon-cert-request

@DrDaveD @brianhlin please review. For some reason I cannot add reviewers to this PR

Hi @jteheran, I made changes to this page yesterday at the request of US ATLAS to emphasize the need for InCommon IGTF issued CAs. I didn't realize you were making similar changes. Could you resolve the conflicts? I can review it again once that's done.

@brianhlin I fixed the host-certs.md file.


Investigate mip as a deployment option

The latest version of microphone introduces the mip packaging manager.
Does this create new options for installing picozero?
Investigate mip and agree options.
https://github.com/micropython/micropython/releases/tag/v1.20.0

There is useful information on micropython packaging at https://docs.micropython.org/en/latest/reference/packages.html
Options for installing via mip appear to be:

self hosting a single file for download (this could be direct to the picozero.py file on github)
including picozero in the micropython-lib https://github.com/micropython/micropython-lib

Other points of note, picozero should probably have a package.json. This would simplify a direct download.


Support use of arbitrary external estimators

This enables the use of arbitrary external estimators in CausalModel.estimate_effect, using the same syntax as with the existing EconML integration, so for example
model.estimate_effect(identified_estimand,
                method_name="backdoor.my.package.MyEstimatorClass",
                method_params =  {...},
                ...)

This would resolve https://github.com/microsoft/dowhy/issues/359

This is a good idea. And I like the simple solution!
Do you mind adding a test for this functionality to make sure that an external method can be called successfully? You can add the test in tests/test_causal_model.py

the new test is not passing, @EgorKraevTransferwise . Can you check?

Was a silly typo-fixed

Fails on a test that has nothing to do with the PR, as best I can tell
FAILED tests/test_notebooks.py::test_notebook[dowhy_ranking_methods.ipynb]

yeah, it looks like a one off error due to data sampling issues. Merging the PR. thank you for your contribution!


Bot not deleting channels every time.

I have no idea how to setup a bot of my own so I just invited your bot to my server. It's creating temp channels but has three problems.

The bot only deletes the empty temp channels sometimes. It doesn't delete them every time.
The bot isn't honoring the bit rate of the default channel. I have my default channels set to 96kbps but the bot makes channels with 64kbps
If someone joins a channel with the gaming tag but isn't playing a game, no channel is made. Or if they start a game after joining the channel, no channel is made.

Last thing is a request, would it be possible to make a third icon for private rooms, like a 🔒 or something?

I've installed Red Bot since coming across your bot. Is it possible to install it as a cog in Red?


--forget monthly policy is inconsistent

Output of restic version
restic 0.15.2 compiled with go1.20.3 on linux/amd64

How did you run restic exactly?
RCLONE_FAST_LIST=true restic -r rclone:b2:PATH_TO_REPOSITORY forget --dry-run --keep-hourly 48 --keep-daily 14 --keep-weekly 8 --keep-monthly 24 --keep-yearly 4

What backend/server/service did you use to store the repository?
Backblaze B2 via rclone
Expected behavior
--keep-monthly should keep the most recent snapshot for every month, i.e. the last backup in April, May, June, etc.. March should not be missing.

Actual behavior
The repository is scripted to have a snapshot added every hour, on the hour. Backups began on 2022-12-15. The following snapshots are being kept:
ID        Time                 Host        Tags        Reasons           Paths
------------------------------------------------------------------------------
da19e1b3  2022-12-31 23:00:02  ganymede                monthly snapshot  /
                                                       yearly snapshot
5abbe9f2  2023-01-31 23:00:02  ganymede                monthly snapshot  /
36c2de36  2023-02-28 23:00:01  ganymede                monthly snapshot  /
bf678323  2023-04-01 00:00:02  ganymede                monthly snapshot  /
54ac8b51  2023-05-01 00:00:02  ganymede                monthly snapshot  /
175cff8f  2023-06-01 00:00:05  ganymede                monthly snapshot  /
4f620cc0  2023-06-05 00:00:01  ganymede                weekly snapshot   /
f0b235ba  2023-06-12 00:00:08  ganymede                weekly snapshot   /
ae919953  2023-06-19 00:00:05  ganymede                weekly snapshot   /
0ed94901  2023-06-26 00:00:03  ganymede                weekly snapshot   /
86faf2b0  2023-07-01 00:00:03  ganymede                monthly snapshot  /
...

Notice how the backups for Dec 22, Jan 23, Feb 23 are all at the end of the month. No backups are kept for March. From April onwards, the monthly snapshot kept is at the beginning of the month.

Steps to reproduce the behavior
Make a snapshot every hour for almost a year.
Run forget with the policy.

Do you have any idea what may have caused this?
Do you have an idea how to solve the issue?
Did restic help you today? Did it make you happy in any way?
Yes! I use restic for scheduled backups and this is a lifesaver. Being able to mount snapshots as a FUSE, over rclone, is amazing.

I think it's timezones!

In the UK the clocks go forward 1 hour at 1am on the last Sunday in March, and back 1 hour at 2am on the last Sunday in October

Which would explain everything after bf678323. In UTC, these are all the 30/31st of the last month.

forget uses the local time stored in the snapshot, whereas the output of snapshots uses the current timezone. I'll close this issue as a duplicate of https://github.com/restic/restic/issues/2233 .


Is it possible to filter parameters in Springfox dynamically?

Hi Team,
I need support for using SwaggerSpecFilter. I googled so much but didn't find any working example for SwaggerSpecFIlter.
I'm using SpringBootFramework 1.5.15.
SwaggerCore - 1.5.14
Any Snippet please?
I tried but SwaggerSpecFIlter is not even invoked. I also set the filter in FilterFactory.
I'm using Springfox for Swagger Documentation.
Is it possible to filter parameters in Springfox dynamically?

Its straightforward - You have 10 conditions you want swagger to list only some of them, and different on other conditions. It was possible  with swagger core using SwaggerSpecFIlter


bluetooth: tester: Add support for CAP client

@sjanc

Updated to add some fixes after a review on the AutoPTS side https://github.com/auto-pts/auto-pts/pull/1067


How to deal with Publishers returning Void?

Hi,
I understand that r2dbc mainly deals and is based on Project Reactor. That is fine.
However, as the API exposes only reactive streams, it's very easy to use it with RxJava2, like in the following example:
package io.r2dbc.h2;

import io.r2dbc.h2.util.H2DatabaseExtension;
import io.reactivex.Single;
import reactor.core.publisher.Mono;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;

final class ExamplesWithRxJava2 {

	private static final String DATABASE_NAME = "mem:r2dbc-examples";
	private static final String JDBC_CONNECTION_URL = "jdbc:h2:" + DATABASE_NAME;

	@RegisterExtension
	static final H2DatabaseExtension SERVER = new H2DatabaseExtension(JDBC_CONNECTION_URL);

	private final H2ConnectionFactory connectionFactory = new H2ConnectionFactory(
		Mono.defer(() -> Mono.just(DATABASE_NAME)));

	@BeforeEach
	void createTable() {
		SERVER.getJdbcOperations().execute("CREATE TABLE test ( value INTEGER )");
	}

	@AfterEach
	void dropTable() {
		SERVER.getJdbcOperations().execute("DROP TABLE test");
	}

	@Test
	void close() {
		Single.fromPublisher(this.connectionFactory.create())
			.flatMap(connection -> Single.fromPublisher(connection.close().then(Mono.empty()))).subscribe();
	}
}

Which I created based on @gregturn's work in r2dbc-h2. I just added
<dependency>
        <groupId>io.reactivex.rxjava2</groupId>
	<artifactId>rxjava</artifactId>
	<version>2.2.2</version>
	<scope>test</scope>
</dependency>

This simple test will fail with a java.util.NoSuchElementException: The source Publisher is empty. That will happen with or without the closing empty (non emitting) Mono (It's duplicated anyway, as the H2 implementation emits an empty Mono as well).
The reason behind this is how RxJava2 deals with Nulls, see:
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#nulls
I have been looking around for a solution myself for my reactive Neo4j client proposal and ended up with something like a "Void signal", see https://github.com/michael-simons/neo4j-reactive-java-client/blob/master/client/src/main/java/org/neo4j/reactiveclient/DefaultNeo4jClientImpl.java#L65
So: Maybe this is an issue for you, maybe not. I'd be happy about your feedback nevertheless, ie. what's your take on this to ensure compatibility with other implementors of reactive streams.
Thanks.

I understand that r2dbc mainly deals and is based on Project Reactor. That is fine.

This assumption does not fit to what R2DBC aims to be. R2DBC is a Reactive Streams-based specification that allows implementations to decide over the actual technology used to provide their Publisher.
You're addressing multiple issues here:

null signals: Reactive Streams prohibits emitting null values. If there is no data to return, API's typically declare Publisher<Void>. This type indicates that you should not expect a data signal but rather only onComplete() and onError(Throwable) signals.
Using RxJava 2's Single: Single requires the source to emit exactly one item or an error signal. Signal isn't suitable for optional data emission or absent data signals. RxJava 2 comes with two other types, that might be suitable for what you're attempting here:

Maybe: Allows emission of 0 or 1 data signals, completion or error signal.
Completable: Allows no emission of data signals, only the completion or error signal.

So TL;DR to your question:
Publisher<Void> does not emit data, only completion or error to signal some non-data-related activity was completed.

Thank you, Mark.  The explanation really helps.
Completable does the trick.
Single.fromPublisher(this.connectionFactory.create())
			.flatMapCompletable(connection -> Completable.fromPublisher(connection.close())).subscribe();

Ollie just made me aware that RxJava2 has no idea of a context to put transactions, anyway.


[EAGLE-764] MR history feeder support Health Checks

LGTM.
As a future improvement, we could add a managed task to regularly schedule registered healthchecks and report the unhealthy result in different plug-gable healthreport ways for example: logging (by default) or notification

Check failed, please fix it before merging.

Fixed


Add flag for PMIDs found to be associated with retracted publications

Flag PMIDs and associated records in DGIdb using the Retraction Watch DB to add additional protection for users against potential false information
Retraction Watch DB:
https://www.crossref.org/blog/news-crossref-and-retraction-watch/

Fleshed out a bit more in #492


Type Erasure

From https://docs.oracle.com/javase/tutorial/java/generics/erasure.html, type erasure does

Replace all type parameters in generic types with their bounds or Object if the type parameters are unbounded

abstract class A {
    abstract void test(List<String> list);
    abstract void test(List<? extends Integer> list);
}

|  Error:
|  name clash: test(java.util.List<? extends java.lang.Integer>) and test(java.util.List<java.lang.String>) have the same erasure
|          abstract void test(List<? extends Integer> list);
|          ^-----------------------------------------------^

Does List<? extends Integer> get erased to List<Object> as well? because the statement gave me the impression it will be erased to List<Integer> since that is the bound.

Yes, to my understanding it will

Yes, generic in java is a mean to ensure type safety at compile-time, but at run time it gets rid of any type variable.

Ya I remember prof mentioned in his lecture that generics will be erased to

Thank you all for the help


fix: 避免未过滤掉同一个network底下的guest

这个 PR 实现什么功能/修复什么问题:
避免未过滤掉同一个network底下的guest
是否需要 backport 到之前的 release 分支:

release/2.12

/area region
/cc @swordqiu

Codecov Report

Merging #5138 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #5138      +/-   ##
=========================================
+ Coverage    6.74%   6.75%   +<.01%
=========================================
  Files         546     546
  Lines       95306   95301       -5
=========================================
  Hits         6433    6433
+ Misses      88335   88330       -5
  Partials      538     538

Flag
Coverage Δ

#aFlag
6.75% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/guests.go
0.56% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm

/approve


[MINOR] fix typo

Fixed typo in frame.py

LGTM

@beobest2 while we're here can you take another look for this file and see if there are some more typos?

while we're here can you take another look for this file and see if there are some more typos?

sure! Let me check if there are other typos.

@HyukjinKwon
The entire file has been reviewed. I'm pretty sure there will be no more typos.


Taskbar icons keep moving right when opening/closing un-pinned windows

Describe the bug
When I open or close an un-pinned window, the taskbar icons move to the right by a lot. Additionally the taskbar icons are too far right even after restarting TaskbarX (as seen in the first screenshot).
To Reproduce
Steps to reproduce the behavior:

Restart TaskbarX
Open a window for an app that isn't pinned

Expected behavior
The taskbar icons should stay centered.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Version 19042

Additional context
This started happening after upgrading to version 1.7.6. I was previously using 1.6.x but had to upgrade after I started encountering an infinite loop where TaskbarX would keep restarting every second.

i have the same issue

having the same issue on the latest build, it keeps moving untill its completely gone


AB#5036

Proposed changes

Related issues

Checklist

[x] I consider the submitted work as finished
[x] I tested the code for its functionality
[ ] I wrote test cases for the relevant uses case
[ ] I added/update the relevant documentation (either on github or on notion)
[ ] Where necessary I refactored code to improve the overall quality

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

This is working using the local build, @DallasP9124 @r-joyce please review and merge.


Put in navigation through tutorials

You might accidentally get something and want to navigate back to remember what you did

Partially solved, close enough to close this issue.


Add ability for multiple operation tabs

It would be awesome to have the ability to have concurrent query/action windows as to not have to use notepad as a temporary clipboard. Something similar to SQL Server Management Studio tabs.
Thanks for all the hard work!

Thanks for the feedback!


cache option for Suspense

What is the feature you are proposing?
It would be useful if Promise resolved content could be cached by adding the cache attribute.
<Suspense fallback={`loading...`} cache>
  <Compnent />
</Suspense>

Hello @yusukebe, I'm new to this codebase. I would like to work on this issue and contribute, Could you please more description?


captcha support

Since the comment is unauthenticated, having captcha would at least help.

I have started looking at this - would reCaptcha invisible be suitable? If so, I'll give this a crack during my lunch breaks this week.

@smbkr Absolutely, all patches are welcome :) If you want, you can create a new issue and I'll assign it to you (of you can self-assign if you have permissions; idk how Github permissions work).

I was also thinking about reCaptcha (Google's) but the honeypot approach sounds easier and still elegant.
@smbkr good luck. Let me know if you need some guidance/help.

I've cloned the demo at http://dyu.gitlab.io/comments/
I haven't added captcha support yet.
Credit to @adtac for starting this project.

@dyu are you planning on implementing captcha?

@adtac I'll start looking around for existing oss solutions that are minimal and easy to integrate.

Please no, do not do Captcha, it is a horrible solution for everyone concerned.
https://boagworld.com/usability/my-definitive-guide-to-why-captcha-sucks/

@chriscowley currently, we have the honeypot technique mentioned in the article. Hopefully, we can add some basic spam filtering techniques on the backend. And finally, when the moderation dashboard is added, you can manually filter comments. These three should be sufficient in my opinion.
I have been mildly skeptical about implementing captcha (and recaptcha in particular; their privacy policy is completely in violation of what Commento stands for) for a while now. I'll still leave this issue open in case someone else wants to voice their opinion.

@dyu @smbkr @mongrelion @chriscowley I've decided we'll not be implementing reCaptcha (or any other captcha service, for that matter) in Commento.
We now have Akismet integration built into Commento with https://github.com/adtac/commento/pull/169. Askimet is probably the best at detecting and filtering spam as they have a huge corpus of what's spam and what's not, so this should stop most malicious users. If you're running a non-commercial website (a personal blog, for example), you can get an Akismet key for free. See docs/akismet.md for more details on how to do this.
Closing this issue.


check for bug in LENA software evaluation

The original LENA software outputs are .its files. Here is an example from the VanDam 5 minutes corpus on homebank:
https://www.dropbox.com/s/15dfhm80ll80dim/e20100121_152012_003985.its?dl=0
The first step involves running a script which extracts information from .its to generate a csv version, written by Anne Warlaumont and part of homebankcode:
https://github.com/HomeBankCode/lena-its-tools/blob/master/segments.pl
The second involves running this code in r:
Periodic extraction used with the Tsimane files, where 1 minute every 60 is annotated, starting 34 mins into the recording. For other files, assume a list of on/off times may be provided
warmuptime=6030+604 #initial skip 34 mins
chunklength=601 #code 1 min
skip=6060 #then skip 59 mins
dir(pattern="csv")->csvs
for (j in csvs){
all=read.csv(j)
maxtime=all[dim(all)[1],3] #get the end of the last interval
thistime=warmuptime
while(thistime < maxtime){
  onset=thistime
  offset=onset + chunklength
  all[all$startsec<=offset & all$endsec>=onset,]->inc

#fix edges
if(inc[1,"startsec"] < onset) inc[1,"startsec"] <- onset
if(inc[dim(inc)[1],"endsec"] > offset) inc[dim(inc)[1],"endsec"] <- offset
#fix times
inc$startsec=round(inc$startsec-thistime,2)
inc$endsec=round(inc$endsec-thistime,2)
chunk=gsub(".csv","",j)
write.table(inc,paste0("extracts/",chunk,"",onset,"",offset,"_lena.txt"),row.names=F,quote=F,sep="\t",col.names=F)
thistime=thistime+skip
}#endwhile
}#endfor

I checked and everything is functional.
I'm just not quite sure about what the three first parameters represent :
warmuptime=6030+604 #initial skip 34 mins
chunklength=601 #code 1 min
skip=6060 #then skip 59 mins

The csv returned by the pearl script returns a time in seconds. That should be :
warmuptime=2040 #initial skip 34 mins
chunklength=60 #code 1 min
skip=3540 #then skip 59 mins

I got it !
You wanted to write 6030 + 60 * 4 instead of 6030+604
601 instead of 601
and 60*59 instead of 6060

no bug found so far, unclear where to look next. closing for now


Output window stealing focus from terminal

Actual Behavior
Every few seconds, the output window steals focus from the terminal.
Expected Behavior
The output window does not steal focus from the terminal.
Steps to Reproduce the Problem Or Description
Install this extension without watchman. When in a .graphql file, the output window will grab focus every few seconds. There needs to be a way to disable these errors if you only want syntax highlighting out of this extension and don't want to install watchman.
Specifications

GraphQL for VSCode Extension Version: 0.2.2
VSCode Version: 1.43
OS Name: Fedora
OS Version: 31

Logs Of TS Server || GraphQL Language Service
(node:29897) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 226)
[Error - 10:44:29 AM] Request textDocument/hover failed.
  Message: Request textDocument/hover failed with message: No config found for uri: file:///[redacted]/schema.graphql
  Code: -32603
[Error - 10:44:30 AM] Request textDocument/hover failed.
  Message: Request textDocument/hover failed with message: No config found for uri: file:///[redacted]/schema.graphql
  Code: -32603

See https://github.com/Microsoft/vscode/issues/46343. This should be handled at the extension level.

See https://github.com/Dart-Code/Dart-Code/issues/2280 for how the Flutter extension solved a similar problem. Thanks!

I've got the same issue with "prisma.vscode-graphql"

I've got the same issue with "prisma.vscode-graphql"

Same. This issue is killing me! Please tell me there is some kind of fix for this?

oh, yikes!
I've been developing the extension with the output window open...

@acao Thank you, thank you, thank you! Amazing response and turn-around time!


Add ion series info

for matched ion series output I get this:
[[b2+1, b9+1, b10+1, b11+1, b12+1];[y1+1, y2+1, y3+1, y4+1, y5+1, y6+1, y7+1, y8+1, y9+1, y10+1, y11+1, y12+1];]
I assume it is supposed to be b3, b10, b11, etc ?

The b ions are working as intended from line 208 in MetaMorpheusEngine.cs
       //matchedIonSeries assumes 1-n, but bnob1 has no b1, so we need to ++ each series number
        if (productType == ProductType.BnoB1ions)
        {
            for (int i = 0; i < matchedIonSeries.Count; i++)
            {
                matchedIonSeries[i]++;
            }
        }

I think you are trying to add one to the ion series number which is fine but in the output it is not format like you intend (I think?)

It looks as intended, I'm not sure what you mean.
The +1 is from the charge. This is a standard notation.

The charge addresses 4. from #1233

Ah I see, I understand. looks good


Integration of the plugin generation with Teams Toolkit

As part of the generation of AI plugins within Kiota, we want to integrate seamlessly with Teams Toolkit within their plugin project template.

capturing some notes from the meeting earlier:

TTK has offerings in vscode, vs, and as SPAs.
They don't want to duplicate efforts across the platforms.
The ideal path forward for them would be to use kiota as an npm package (not installing the binaries, but as wasm)

We've exposed the different integration possibilities:

running kiota json rpc service (they'll run a POC with that, wouldn't work for the web)
running kiota as an API with a dotnet backend.
running kiota as wasm component (they'll run a POC with https://www.npmjs.com/package/@redhat-developer/kiota-wasm)
deeplink integrations between extensions (our initial thoughts before we discovered the other surfaces)

As of now we're waiting on the results of the diverse POCs to understand where to prioritize our investments.


bug: v-for with ref not working from docs

Version
3.0.7
Steps to reproduce
Original Docs:
import { onBeforeUpdate, onUpdated } from 'vue'

export default {
  setup() {
    let itemRefs = []
    const setItemRef = el => {
      if (el) {
        itemRefs.push(el)
      }
    }
    onBeforeUpdate(() => {
      itemRefs = []
    })
    onUpdated(() => {
      console.log(itemRefs)
    })
    return {
      setItemRef
    }
  }
}

What is expected?
Filled array for component lifetime
What is actually happening?
After component update array is empty, but lifetime is continue.

Temporary solution:
Tip: Only use and export.
Authors: @NataliaTepluhina
function useListRef<T>() {
  const elements = ref<T[]>([])
  const active = ref<boolean>(false)

  watch(active, (isActive) => {
    if (isActive) {
      nextTick(() => active.value = false)
    }
  })

  function addRef(el) {
    if (!active.value) {
      elements.value = []
      active.value = true
    }
    el && elements.value.push(el)
  }

  return {
    elements,
    addRef,
  }
}

Please provide a boiled down issue like asked in the new issue helper. It contains a js fiddle you should use. Closing until one is provided

@posva I reopened as I'm familiar with the issue myself.

@posva I was trying to use codepen, codesandbox, I dont understand these instruments, sorry, but it is really don't working from docs, who is writing doc page with "v-for + article"?

https://github.com/vuejs/docs-next/blame/master/src/guide/migration/array-refs.md
For avoid these reasons we need test docs example, it is possible?))

Because In my opinion,
The system is to blame, not the people and the system needs to be improved

Yes, I also have such a problem. This watch for :ref only works on the penultimate push.
https://codesandbox.io/s/vue3-refs-q6g6p?file=/src/App.vue

@bazuka5801 Just to be clear: the docs example isn't generally failing. it's failing under specific conditions that you guys must have encountered. Hence a test wouldn't really have helped.
In can't talk to your specific situation as you never provided a complete example in the issue. I provided an example of specific circumstance under which it's failing and a short explanation as to why.
As i write, it's a conceptual issue we have to address and it's not as straightforward as it may seem.

@LinusBorg in most projects, public components this "specific conditions" used. It should be fixed.

It should be fixed.

Did any of us say anything to the contrary?

It should be fixed.

Did any of us say anything to the contrary?

No.


Assert arguments to ops are Tensors.

This change is

 Nice! one small comment

Reviewed 51 of 51 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

src/util.ts, line 21 at r1 (raw file):

import {DataType, DataTypeMap, FlatVector, NamedTensorMap, RecursiveArray, RegularArray, TensorContainer, TypedArray} from './types';

export function assertArgumentIsTensor(

don't export this to force people to provide named arguments.

Comments from Reviewable

Review status: 50 of 51 files reviewed at latest revision, 1 unresolved discussion, some commit checks pending.

src/util.ts, line 21 at r1 (raw file):
Previously, dsmilkov (Daniel Smilkov) wrote…
don't export this to force people to provide named arguments.

Done.

Comments from Reviewable


LXC exec --force-noninteractive doesn't relay signals to the running process

Whilst working on fixing https://github.com/lxc/lxd/issues/9542 (via https://github.com/lxc/lxd/pull/9577) I noticed that when running lxc exec <instance> --force-noninteractive signals received by the lxc process are not relayed to the process running inside the instance, like they are with interactive mode.
Reproducer:
lxc exec c1 --force-noninteractive -- sleep 1000 ; echo $?

Then in another terminal we see there is the lxc process, the lxd forkexec process and the sleep process inside the container.
ps aux | grep sleep
user      260869  0.0  0.0 1165732 16092 pts/4   Sl+  17:05   0:00 lxc exec c1 --force-noninteractive -- sleep 1000
root      260875  0.0  0.0  51572  4516 pts/0    S+   17:05   0:00 /home/user/go/bin/lxd forkexec c1 /var/lib/lxd/containers /var/log/lxd/c1/lxc.conf  0 0 0 -- env TERM=xterm-256color PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/root USER=root LANG=C.UTF-8 -- cmd sleep 1000
1000000   260879  0.0  0.0   9836  1120 pts/0    S+   17:05   0:00 sleep 1000

Now in the same terminal:
kill 260869 # Kill the lxc process.
ps aux | grep sleep
root      260875  0.0  0.0  51572  4516 pts/0    S+   17:05   0:00 /home/user/go/bin/lxd forkexec c1 /var/lib/lxd/containers /var/log/lxd/c1/lxc.conf  0 0 0 -- env TERM=xterm-256color PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/root USER=root LANG=C.UTF-8 -- cmd sleep 1000
1000000   260879  0.0  0.0   9836  1120 pts/0    S+   17:05   0:00 sleep 1000

Oh dear, the sleep process is still running in the container and has a forkexec process on the host.

The LXD server seems to have some expectation of a control channel (which would be where signals are relayed to the LXD server on). As the exec request gets a response with 4 FDs, including a control channel:
"fds": {
	"0": "1a7fb717983a026ff0b0e2d367c80d2d73ebbcf4f7466e8900562db43616b180",
	"1": "54719853d353f18562f243f11c5ac6d4193c201cb28e30e6c7d8148cd153621b",
	"2": "95aedab84d529365765b777208dc4773f20ed8141e836943cb8d24973bbad3cb",
	"control": "c2658f0e891fe437d97ee50086ca684aac68a6a6666a2a8418eb5e904ac874ae"
},

However on further inspection it seems the lxc client doesn't connect on the control channel for non-interactive, and it never gets past:
https://github.com/lxc/lxd/blob/master/lxd/instance_exec.go#L343-L351

Confirmed no control socket is established by client in non-interactive mode:
https://github.com/lxc/lxd/blob/master/lxc/exec.go#L156-L160
Will work on this now.

The VM lxd-agent is also afflicted by the same issue.


Flag to coerce missing Maybe fields in records to Nothing in ports

I'd like to suggest that some completely optional flags like
elm make --coerce-missing-fields-to-nothing --coerce-undefined-fields-to-nothing

could do a lot to help people with existing code bases integrate with Elm in a robust manner.
For context, the suggestion I'm making is that these flags should probably not be used in testing / development / qa environments, but that they may be very useful for compiling embedded widgets to use in a production environment where Elm's promise of "no runtime errors" really counts.
Rationalle
Currently, when there's a field missing from a record being passed into an Elm port, the result is a run-time error. This is slightly confusing for many JavaScript developers as they routinely abuse the undefined value that JavaScript returns for record.missingField by treating it as though it is just a null value.
Now, I actually believe that Elm implements the "correct" behavior by informing you that you have made a mistake and that an undefined / missing field is a programmer error. So I've been working with the current behavior for quite some time, attempting to rigorously pass correct schemas to our widgets. Unfortunately, despite my attempts to be rigorous we've had a couple of embarrassing instances where visitors to our site have run into error messages like these:

While I appreciate that this is certainly something that needs to be fixed, I would much prefer to run into it in testing / qa at some later date. 99% of the time the error also really has no bearing on the functionality of the end-product and no harm would come from simply treating the missing field as null (if the field is already specified as a Maybe and receiving null values is expected behavior).
It is also very difficult to enforce those constraints on 3rd party JavaScript libraries where leaving fields off of the result is considered to be an every-day practice. It is sometimes very difficult to ascertain the precise return type of a function, I've found that even formal API documentation doesn't always specify which fields in a return type are optional.
To be clear, I think that this is an inherent problem with JavaScript's lax semantics, not with Elm. However, although the internals of an Elm library is beautifully robust there's no way to statically enforce type-safety of data passing through ports, with the end result that the interface with JavaScript becomes rather fragile. The only other way to ensure the that the JS <-> Elm interface is used in a safe way is by doing a great deal of extremely complicated end-to-end integration testing (which puts a very large burden on productivity even after the tests have all been written).
A lot of people are also running NodeJS/Ruby/etc servers behind their sites where these sorts of inconsistencies permeates their code. It's pretty awful when those sorts problems manifest themselves in user-facing Elm widgets instead of the original code that is the perpetrator of all this awfulness :)

Can you work around this by doing JSON parsing in Elm where you turn missing fields into Nothings?

I could if ports are treated as Json de/serializers... (I'd be a little bit sad about the added boilerplate, but not the end of the world)

@rtfeldman gave a little talk about how he does a lot of JSON (de)serialisation in Elm for NoRedInk. But I think that's mostly because of server communication rather than direct communication with JS. I'm not sure if you can easily send arbitrary JSON from JS to Elm with ports (I haven't worked with that in a long time) and do (de)serialisation in Elm. You may need to create a JSON string in JS and parse that in Elm, which might incur some overhead, and isn't exactly pretty.

To be clear, this would only apply to ports of a Maybe a type, right?
I'd almost prefer to roll these into a --production flag, but that's splitting hairs.
As for a workaround, if you control the JS interface, maybe take in an object and enforce that it has all the rights fields before passing it to Elm? This would probably allow you to abstract the Elm initialization code away from the JS clients, perhaps down to something like myWidget(rootElement, options).

You may need to create a JSON string in JS and parse that in Elm, which might incur some overhead, and isn't exactly pretty.

True, I've thought a little bit about what that might have looked like because it would be pretty convenient to supply defaults for other types of fields too (which is easy to do with the json stuff). However, I personally have a feeling that ports might eventually want to allow anything that supports structured clone for pragmatic reasons that aren't apparent now.
We were also thinking of doing communication directly to Elm via Ajax, however it wasn't quite ready for us at the time and I think there's a promising use-case for more-or-less stateless Elm widgets to be embedded inside other UI frameworks. (We currently do this in Angular and it works pretty well aside from the occasional schema clash and a bit of boilerplate).

To be clear, this would only apply to ports of a Maybe a type, right?

That's exactly it, yes.

I'd almost prefer to roll these into a --production flag, but that's splitting hairs.

I was thinking that maybe you might even want it to be a bit obscure to avoid abuse, but I'm not sure.

As for a workaround, if you control the JS interface, maybe take in an object and enforce that it has all the rights fields before passing it to Elm?

This is pretty much what we do right now when something like this pops up, it would be easier to do if Elm reflected the available ports and their types so that you can do it automatically. Some of our objects have quite a lot of fields - it's not really all that convenient to enumerate them.

it would be easier to do if Elm reflected the available ports and their types

This wouldn't require a compiler setting that can affect the semantics of the code, so I think this approach may be more viable.

it would be easier to do if Elm reflected the available ports and their types

This wouldn't require a compiler setting that can affect the semantics of the code, so I think this approach may be more viable.

For reference, related to [https://groups.google.com/d/msg/elm-discuss/ViIMH06vWs4/rs-hylRoDjcJ](Reflect available ports in JavaScript?), though this would require deeper reflection as the fields are typically in records. Not sure how
I imagined something similar to this might be implemented if we work on automatically deriving json parsers in the future (perhaps structured clone is not entirely different from json parsing - I could imagine a similar applicative-style interface).

@Apanatshka As it happens, we actually do read JS values through a port and decoder! :smile_cat:
The way we get the initial Model is by the server rendering a big JSON blob in the raw HTML that gets sent to the client (we still render bespoke HTML on every page request...and it's a very long road before that can stop being the case for us), and then a tiny bit of JS code grabs that JSON of the DOM and sends to Elm.
Here's the Elm code:
{- This is the JSON that was rendered to a DOM element. -}
port sourceJson : Value

main : Signal Html
main =
    userInputs
        |> Signal.foldp Form.update (modelFromJson sourceJson)
        |> Signal.map (view actions.address)

modelFromJson : Value -> Model
modelFromJson json =
    case Decode.decodeValue ModelDecoder.model json of
        Ok model ->
            model

        Err error ->
            -- TODO render a friendly error message instead of exploding
            Debug.crash ("Error reading JSON source data from html template: " ++ error)

As far as flags go, I don't have strong feelings about ports and coercing, but I actually have meant to bring up the fact that it's pretty bad to spit out error messages like this directly into the DOM.
It's super unprofessional for an end user to ever see what's depicted that screenshot, but currently that's entirely possible if something goes wrong...and there's no clean way to prevent it from happening. What you want end users to see is something like "Sorry! Something went wrong. Don't worry, though - our support team is on the case! In the meantime, you can..." etc.
That said, this could be accomplished without a flag. For example, the Elm runtime could emit a elm.porterror event (which exposes some preventDefault analog that lets you say "hey Elm, this is production so we'll take it from here; don't actually print the error message to the DOM"), so you could have some JS boilerplate that listens for that event and handles things in a nicer way.
@evancz I forgot to mention this to you, but if you're open to the idea I'd be happy to open an issue for it in the elm-html repo.

@rtfeldman Or, the less technical error messages could be part of a --production flag. Just sayin'...

Personally I really appreciate a simple CLI, so in general I'd rather avoid adding compiler flags unless there's really no good alternative. In this case, though, there seems to be a pretty straightforward alternative!

I am trying to clean up the issues on these repos. My goal is for issues on repos like elm-compiler and elm-repl are about specific bugs. It is not working to manage proposals and stuff that requires changes to the language here, so I am devising a way of keeping track of all this stuff in a transparent way.
The idea is that it doesn't super matter where the proposal is opened, but we should collect related ideas in certain places so we can look at them as a collection of issues and find a coherent solution that addresses them all as much as possible. So I'm gonna close this and reference https://github.com/elm-lang/elm-plans/issues/17 which is collecting a bunch of port problems.
If there is more to say about this idea, we should continue on this thread. The fact that is closed is more about decluttering stuff!


[Enhancement] Value Potion

Describe the solution you'd like
A way to get potion time and maybe even potion level

https://github.com/datatags/PotionEffectPlaceholder
Something like this but turning those "Potion number" "Time" and "level" into values or placeholders


Oncogenicity mechanism value set

In recent calls, we decided that the mechanism by which an oncogenic variant contributes to disease should be captured as a qualifier on a Variant Oncogenicity Annotation. There was much debate about the choice of terms to use to capture the mechanism.  This ticket will hold discussion on this topic.
To summarize briefly: we initially started with the set of terms CIViC uses to capture the outcome of a Biological Assertion:   gain of function, loss of function, neomorphic, unaltered function, other . However there is additional nuance/granularity that may be useful to capture that is not reflected in this list.  The concepts outlined in Muller's morph classification were highlighted in particular
@arpaddanos agreed to take a pass at defining a set/hierarchy of terms based on these and other sources (e.g. it may be worth looking across existing knowledgebases and cataloging the terms/concepts they use).

Terms in this space used by a couple model organism databases are referenced in the GENO ontology ticket here: https://github.com/monarch-initiative/GENO-ontology/issues/3. May or may not be useful for this work.


Add JReleaser to CNCF landscape

Pre-submission checklist:
Please check each of these after submitting your pull request:

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

Build failed with:

FATAL: JReleaser either has no crunchbase entry or it is invalid

I suppose a crunchbase entry is strictly required at this point, isn't it? As pointed out when adding JReleaser to the CDF landscape (https://github.com/cdfoundation/cdf-landscape/pull/240#issuecomment-1203149109) the project is not hosted at a foundation nor it's backed by a company listed in the Crunchbase database.

@caniszczyk Is the crunchbase URL still required?

we prefer a crunchbase URL
On Fri, Apr 12, 2024 at 11:26 AM Andres Almiray @.***>
wrote:

@caniszczyk https://github.com/caniszczyk Is the crunchbase URL still
required?
—
Reply to this email directly, view it on GitHub
https://github.com/cncf/landscape/pull/3157#issuecomment-2052082339, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAPSIIYJVLQVPG6PV2FF33Y5ADM3AVCNFSM6AAAAAAXEL2BV2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJSGA4DEMZTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Cheers,
Chris Aniszczyk
https://aniszczyk.org

Thus if there's no crunchbase URL the submission will fail validation again, right?

It shouldn't fail validation but we prefer that info there because it
reflects the true owner of the project/product
On Fri, Apr 12, 2024 at 11:30 AM Andres Almiray @.***>
wrote:

Thus if there's no crunchbase URL the submission will fail validation
again, right?
—
Reply to this email directly, view it on GitHub
https://github.com/cncf/landscape/pull/3157#issuecomment-2052088001, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAPSIPJC3ZQRNR6N5XLOETY5AD23AVCNFSM6AAAAAAXEL2BV2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJSGA4DQMBQGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Cheers,
Chris Aniszczyk
https://aniszczyk.org

Very well. I'll try again and resubmit. Thank you.


HTTP.get not always returning response body

Saw the examples - and HTTP.get("https://github.com").to_s returns the pages HTML.
But trying with a few other websites and its only returning a string.
e.g. HTTP.get("https://www.irepair.in/").to_s or  HTTP.get("https://www.wiinnova.com/").to_s returns empty string.
Just wondering if i'm missing something - or this works on some websites.
Any advice on how to fix this? Thanks.

Thanks 🙏

I'm gonna cut 5.0.0-alpha1 gem this weekend with changes in master

Hey.. Just checking if updates on this. Whenever you get the time. Thanks!

This is a dup of #485. Please see the status update there.


Do we check that if some prices are empty when adding several prices in bulk ?

Problem
Do we check that if some prices are empty when adding several prices in bulk ?
@monsieurtanuki

Do we check that if some prices are empty when adding several prices in bulk ?

We certainly do: the paid prices are mandatory - while the not discounted prices are optional.
That means that we couldn't even create the background task with null prices.
There's a check when we press the "send prices!" button, but in that particular case it's a form validation check. That means that for problematic price text fields there will be a red subtitle saying: "this price is mandatory!". Which may not be very explicit if it's price number 2 and we are at price number 9: we would have to scroll to the top to see what's wrong.
UI/UX improvements probably needed here.

@teolemon Looks good to me. Feel free to reopen if relevant.


Adding an open prop to repeater fields

Summary
Hello team! I want the repeater to allow users to configure whether the block starts off opened or closed. As of now, the block is closed by default and no configuration can be done through the props. An example use case would be that a user wants to improve admin UI by showing fields straight off after laoding the page instead of having to click the open content button.
Describe the solution you'd like
Adding a prop variable "opened" with a boolean value and configuring it in the mounted() function.
Additional context

Hi there! The fact that repeater were closed on creation was a regression that was fixed. The behavior, which we believe is something that works well for editors, is the following:

opened on create
opened on page load if the number of blocks/repeaters is less than 5
closed on page load if more or equal to 5


Implement Hml Editor flavors

Like in O1, be able to use custom editors for HTML parts and fields.
Example of license friendly editors:

http://jakiestfu.github.io/Medium.js/docs/#partial
http://summernote.org
https://github.com/Alex-D/Trumbowyg

Note: TinyMce and CKEditor are LGPL, I am not sure about pricing impact on deployments.

Would it work if we separate the wysiwyg editor in another module?
Would the option appear/disappear if we enable/disable it?


Use AzCopy in a script -> linux script single line syntax error

Could not execute as it was formatted as a one-line script, but has to be broken up into 2commands. Also updated the URI

@CasperTDK : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

thanks for the change @CasperTDK !


Not specifiying "repo_type" throws RepositoryNotFound error.

Describe the bug
Using functions or HfApi methods with repo_type and not setting it throws the following confusing error:
RepositoryNotFoundError: 401 Client Error: Repository Not Found for url: https://huggingface.co/cakiki/arxiv_taxonomy/resolve/main/README.md. If the repo is private, make sure you are authenticated. (Request ID: hMJcPE_5pIwLsE27s2pLt)

Setting repo_type="dataset" fixes this.
Reproduction
No response
Logs
No response
System Info
- `transformers` version: 4.21.1
- Platform: Linux-5.15.0-46-generic-x86_64-with-glibc2.29
- Python version: 3.8.10
- Huggingface_hub version: 0.9.0.dev0
- PyTorch version (GPU?): 1.11.0+cu102 (True)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed

Sorry about the duplicate and thank you for the links!

No worries, thanks for reporting anyway :)


docs: Add lost entries of discovery in Upstream's reference doc.

Type of change:

[ ] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches
[x] Documentation
[ ] Refactor
[ ] Chore
[ ] CI/CD or Tests

What this PR does / why we need it:
Fix #1740
Add entries and their descriptions for service discovery in ApisixUpstream's reference doc.

Emmm, I'm not familiar with markdown lint tools, and the tmknom/markdownlint doesn't report any lint warning or error, so I configured the table cell width by hand 😅, rebased and force-pushed this change. BTW, hope I don't misunderstand what these added fields are used for.

Thanks


[ISSUE] Gloves doesnt change

If you use a glove skin on ct side and you applied another different one on tside. it will just turn pitch black until you press "force reload". any way to do this without pressing force reload?

call force reload on match start in event listener

call force reload on match start in event listener

hmmm..... ill see what i can do since im no coder lol

call force reload on match start in event listener

can you send me the code?

or @danielkrupinski pls fix


fix linux 64 bit build

On my fedora machine rtaudio-rs was not building, because it couldn't find the static library.
After investigating the output directory I saw that the library is in a folder called lib64, the build script is expecting the folder to be called lib, so I changed the build script to  look for lib64 when it is building for linux 64 bit.
I can not say right now, if the folder is the same on every linux distribution, but on Fedora it compiles now.

I was thinking about it and made an update, so now it will automatically look for a lib64 folder if no lib folder is present. This way nothing else should break and it still works on all os'es that don't have the lib folder.

Looks good, thanks!

yay thanks for the fast crates.io update, my project builds again :)


Hey snyk

Alright guys here is the GitHub Page I create for the open source project.
Helps organized notes and to-do's in a professional way and access them from anywhere.
https://Notion.com is what inspired me to start this project.
Project Link Below
https://abiey2579.github.io/Todo/

This issue is not related with the project. Probably we can close it.


verified admin/youtuber

Hello, so i know this might be a dupe of https://github.com/Barbosik/MultiOgar/issues/110
But when i login IT doesn't add a special color to my name, it just stays as it was.
If you could add a feature were, for example. A youtuber logs in and then their name color changes or a tick appears next to them so the other players can see its a real youtuber and not someone who is just using their name...
Thanks!

This would be a client side change that would need to be implemented..

And you cant help sir??
i have heard that it was server sided too.
But can you help?

It will need modifications to the server and the clients.
This is not a general help forum.  It's a ticketing platform to report MultiOgar bugs and improvements, so help woth such is not mandated.


⚠ ClamAV has degraded performance

In 403774d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 74 ms

Resolved: ClamAV performance has improved in 9a4d2e7.


Polishing statistics (EXPOSUREAPP-4693)

Unify statistics cards design

Galaxy 8 with an strange font, biggest available font size and in large:

standard font with largest possible size:

Galaxy 8 with an strange font, biggest available font size and in large:

standard font with largest possible size:

I believe you reverted some recent changes made for increased font size

Yes, that's possible, I adjusted some changes to have the cards look the same. Font size adaptation will be part of another PR anyway.

I believe you reverted some recent changes made for increased font size

Yes, that's possible, I adjusted some changes to have the cards look the same. Font size adaptation will be part of another PR anyway.


small tips for "Mouse Utilities - Mouse utilities"

Description of the new feature / enhancement

Remove the Mouse pointer in the highlight circle.

Change the Overlay opacity into two Two different opacity options， One for Spotlight the onther for Background.

Scenario when this would be used?
Any time.
the 0% Spotlight opacity is widely used, but I cound't achieve this effect here.
Supporting information
No data, but it's obvious.
You can email me for more precise content.
email<EMAIL_ADDRESS>

Thanks for your message. This is a Duplicate of an other issue. Additional comments may be added there. /dup #15512


Support empty password in basic auth

See https://github.com/owncloud/core/issues/13398
Applies to 1.8 branch

Not a bug in sabre/http, so only 1.8 needs to be fixed.

See commit 49104623ae10caf58649a93f25de6b098de60f0f, which got an incorrect ticket id associated with it.

:+1:!


Taplo using almost 20gb of RAM on Zed Editor.

Is it correct to create this issue here instead of Zed repo?
I only have rust-analyzer, Catppuccin Theme and TOML extensions installed.
This possible memory leak happens when installing and uninstalling many themes while rust code and TOML files are opened on the editor.

I also use Even Better TOML in vscode. I haven´t experienced any memory leaks there.

Is it correct to create this issue here instead of Zed repo?

I would say no, because I've not seen such issue in any other editors so it could be something that Zed is doing which makes Taplo leak
Zed issue is https://github.com/zed-industries/zed/issues/13190
I don't mind leaving the issue open here but I have no way to reproduce the problem since it happens exclusively on macOS (don't have mac) except for that one Linux report, but still, I can't reproduce it even on Linux.

Makes sense. I'm going to close the issue here and follow the issue on Zed. Thanks.


Are the install instructions still up to date (especially wrt libunwind)?

The INSTALL file is almost 10 years old. In particular, is it still the case that libunwind conflicts with libgcc_eh? If yes, is there a workaround?

If there is no answer, how could I check myself whether that is the case still? The install doc warns of "trouble" when statically linking with glog, but it's not clear to me how that trouble would manifest.


Creative cloud icon displayed instead of Adobe AEP icon

The left menu displays the Creative Cloud icon istead of the AEP icon.
Is this the meant behavior?

Issue in ./help/rtcdp/use-case-guides/intelligent-re-engagement/intelligent-re-engagement.md

Thank you for submitting this issue. Tracking internally in UGP-9755.


Made textbook_folder an optional input

Consistent with main which does already do this defaulting

nice! thanks very much!


Is there a license to use?

Hi Xialinbo,
I liked the idea of this algorithm, because it is very compact.
We could probably use it with some modifications in one part of our project.
Could you add a license, so that others are allowed to use this algorithm idea and source,  code e.g. a MIT license?
Or did you use sources from other places?
Thanks and regards
Eckart

hi i added a MIT license file just now so feel free to use it.
I learn the idea from a paper long time ago and the code is original.

Hi,
thank you very much
Nevertheless, I meanwhile had to switch to a different library. For big datasets there seem to be numerical instabilities where the algorithm flips to the wrong place...
Thanks and best regards
Eckart


docs(http-server-example): clean up the http-server example

Description

As part of https://github.com/ariel-os/ariel-os/issues/410, this PR:

Greatly simplifies the HTTP server example: uses picoserve::listen_and_serve and remove most of the abstraction around push buttons.
Reduces the number of buttons to one, to make it compatible with DKs having only one of them.
Adds support for other boards, having at least one button.

Issues/PRs references

Open Questions

Change checklist

[x] I have cleaned up my commit history and squashed fixup commits.
[x] I have followed the Coding Conventions.
[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.

needs a rebase


Fix #3, apply path transform

Fixes #3.
This uses the transform on the svg path to move / scale the different elements of the svg. There's a wierd thing with the scale part of the transform that is sometimes negative, I'm not sure why.

Looks good to me. Thank you very much for this fix!


Need help about running task in WAN setting.

Issue Type
Support
Modules Involved
MPC protocol, SPU runtime
Have you reproduced the bug with SPU HEAD?
Yes
Have you searched existing issues?
Yes
SPU Version
0.6.0.dev20231030
OS Platform and Distribution
Ubuntu 20.04
Python Version
3.8.18
Compiler Version
GCC 9.4.0
Current Behavior?
Hi, I am trying to run a easy task between three parties according to the branch atc23_ae. The network (3pc.json) is as follows:
{
    "id": "outsourcing.3pc",
    "nodes": {
        "node:0": "<IP_ADDRESS>:9327",
        "node:1": "<IP_ADDRESS>:9327",
        "node:2": "<IP_ADDRESS>:9327",
        "node:3": "<IP_ADDRESS>:9328",
        "node:4": "<IP_ADDRESS>:9328"
    },
    "devices": {
        "SPU": {
            "kind": "SPU",
            "config": {
                "node_ids": [
                    "node:0",
                    "node:1",
                    "node:2"
                ],
                "spu_internal_addrs": [
                    "<IP_ADDRESS>:9930",
                    "<IP_ADDRESS>:9930",
                    "<IP_ADDRESS>:9930"
                ],
                "runtime_config": {
                    "protocol": "ABY3",
                    "field": "FM64",
                    "fxpFractionBits": 18,
                    "enable_pphlo_profile": true,
                    "enable_hal_profile": true,
                    "fxpDivGoldschmidtIters": 3,
                    "fxpExpMode": 1
                }
            }
        },
        "P1": {
            "kind": "PYU",
            "config": {
                "node_id": "node:3"
            }
        },
        "P2": {
            "kind": "PYU",
            "config": {
                "node_id": "node:4"
            }
        }
    }
}

And I started the nodes on the corresponding machine separately (two for 126.25 and 126.24 and one for 126.23). Finally, I ran the following python code on 126.23:
import spu.utils.distributed as ppd
import jax
import jax.numpy as jnp
import numpy as np

import json

with open("3pc.json", "r") as file:
    conf = json.load(file)

ppd.init(conf["nodes"], conf["devices"])

TEST_SIZE = 100

def dot_product(number1, number2):
    return sum(number1 * number2)

def data_from_alice(sz=TEST_SIZE):
    np.random.seed()
    return np.random.randint(0xFF, size=(sz,))

def data_from_bob(sz=TEST_SIZE):
    np.random.seed()
    return np.random.randint(0xFF, size=(sz,))

def main():

    alice = ppd.device("P1")(data_from_alice)()
    bob = ppd.device("P2")(data_from_bob)()

    func = ppd.device("SPU")(dot_product)

    result = func(alice, bob)

    print(ppd.get(result))

if __name__ == '__main__':
    main()

It stucked at first, and then raised an error. The logs are below:
Logs of node:0
[2023-11-19 21:08:04,044] [MainProcess] Starting grpc server at <IP_ADDRESS>:9327
[2023-11-19 21:08:25,205] [MainProcess] Run : builtin_spu_init at node:0
I1119 21:08:25.211189 327117 external/com_github_brpc_brpc/src/brpc/server.cpp:1127] Server[yacl::link::transport::internal::ReceiverServiceImpl] is serving on port=9930.
I1119 21:08:25.211371 327117 external/com_github_brpc_brpc/src/brpc/server.cpp:1130] Check out http://iZ2zega5mjeh1jb9i3uhz2Z:9930 in web browser.
I1119 21:10:05.219959 327117 external/com_github_brpc_brpc/src/brpc/server.cpp:1187] Server[yacl::link::transport::internal::ReceiverServiceImpl] is going to quit
[2023-11-19 21:10:05.220] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:10:05.220] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:10:05,220] [MainProcess] Traceback (most recent call last):
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 324, in Run
    ret_objs = fn(self, *args, **kwargs)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 543, in builtin_spu_init
    link = libspu.link.create_brpc(desc, my_rank)
RuntimeError: what:
        [external/yacl/yacl/link/transport/channel.cc:351] Get data timeout, key=connect_2
Stacktrace:
#0 yacl::link::transport::Channel::TestRecv()+0x7f1a01c5c111
#1 yacl::link::Context::ConnectToMesh()+0x7f1a01c58c44
#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f1a006dfafc
#3 pybind11::cpp_function::dispatcher()+0x7f1a006c1f06
#4 PyCFunction_Call+0x4f5572

stacktrace:
#0 yacl::link::transport::Channel::TestRecv()+0x7f1a01c5c111
#1 yacl::link::Context::ConnectToMesh()+0x7f1a01c58c44
#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f1a006dfafc
#3 pybind11::cpp_function::dispatcher()+0x7f1a006c1f06
#4 PyCFunction_Call+0x4f5572

Logs of node:1
[2023-11-19 21:08:07,123] [MainProcess] Starting grpc server at <IP_ADDRESS>:9327
[2023-11-19 21:08:25,204] [MainProcess] Run : builtin_spu_init at node:1
I1119 21:08:25.210128 235474 external/com_github_brpc_brpc/src/brpc/server.cpp:1127] Server[yacl::link::transport::internal::ReceiverServiceImpl] is serving on port=9930.
I1119 21:08:25.210317 235474 external/com_github_brpc_brpc/src/brpc/server.cpp:1130] Check out http://iZ2zega5mjeh1jb9i3uhz1Z:9930 in web browser.
I1119 21:10:05.218517 235474 external/com_github_brpc_brpc/src/brpc/server.cpp:1187] Server[yacl::link::transport::internal::ReceiverServiceImpl] is going to quit
[2023-11-19 21:10:05.218] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:10:05.218] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:10:05,219] [MainProcess] Traceback (most recent call last):
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 324, in Run
    ret_objs = fn(self, *args, **kwargs)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 543, in builtin_spu_init
    link = libspu.link.create_brpc(desc, my_rank)
RuntimeError: what:
        [external/yacl/yacl/link/transport/channel.cc:351] Get data timeout, key=connect_2
Stacktrace:
#0 yacl::link::transport::Channel::TestRecv()+0x7f4e056e2111
#1 yacl::link::Context::ConnectToMesh()+0x7f4e056dec44
#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f4e04165afc
#3 pybind11::cpp_function::dispatcher()+0x7f4e04147f06
#4 PyCFunction_Call+0x4f5572

stacktrace:
#0 yacl::link::transport::Channel::TestRecv()+0x7f4e056e2111
#1 yacl::link::Context::ConnectToMesh()+0x7f4e056dec44
#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f4e04165afc
#3 pybind11::cpp_function::dispatcher()+0x7f4e04147f06
#4 PyCFunction_Call+0x4f5572

Logs of node:2
[2023-11-19 21:08:13,713] [MainProcess] Starting grpc server at <IP_ADDRESS>:9327
[2023-11-19 21:08:25,205] [MainProcess] Run : builtin_spu_init at node:2
E1119 21:08:25.209893 175720 external/com_github_brpc_brpc/src/brpc/server.cpp:1023] Fail to listen <IP_ADDRESS>:9930
[2023-11-19 21:08:25.215] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:08:25.215] [warning] [channel.h:151] Channel destructor is called before WaitLinkTaskFinish, try stop send thread
[2023-11-19 21:08:25,215] [MainProcess] Traceback (most recent call last):
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 324, in Run
    ret_objs = fn(self, *args, **kwargs)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 543, in builtin_spu_init
    link = libspu.link.create_brpc(desc, my_rank)
RuntimeError: what:
        [external/yacl/yacl/link/transport/brpc_link.cc:130] brpc server failed start
Stacktrace:
#0 yacl::link::FactoryBrpc::CreateContext()+0x7f78e61741b9
#1 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f78e4c1baec
#2 pybind11::cpp_function::dispatcher()+0x7f78e4bfdf06
#3 PyCFunction_Call+0x4f5572

stacktrace:
#0 yacl::link::FactoryBrpc::CreateContext()+0x7f78e61741b9
#1 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f78e4c1baec
#2 pybind11::cpp_function::dispatcher()+0x7f78e4bfdf06
#3 PyCFunction_Call+0x4f5572

Logs of node:3
[2023-11-19 21:08:10,265] [MainProcess] Starting grpc server at <IP_ADDRESS>:9328

Logs of node:4
[2023-11-19 21:08:16,562] [MainProcess] Starting grpc server at <IP_ADDRESS>:9328

Logs of task.py:
Traceback (most recent call last):
  File "main.py", line 11, in <module>
    ppd.init(conf["nodes"], conf["devices"])
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 1110, in init
    _CONTEXT = HostContext(nodes_def, devices_def)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 1037, in __init__
    self.devices[name] = SPU(
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 952, in __init__
    results = [future.result() for future in futures]
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 952, in <listcomp>
    results = [future.result() for future in futures]
  File "/root/anaconda3/envs/spu/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/root/anaconda3/envs/spu/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/root/anaconda3/envs/spu/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 249, in run
    return self._call(self._stub.Run, fn, *args, **kwargs)
  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 242, in _call
    raise Exception("remote exception", result)
Exception: ('remote exception', Exception('Traceback (most recent call last):\n  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 324, in Run\n    ret_objs = fn(self, *args, **kwargs)\n  File "/root/anaconda3/envs/spu/lib/python3.8/site-packages/spu/utils/distributed.py", line 543, in builtin_spu_init\n    link = libspu.link.create_brpc(desc, my_rank)\nRuntimeError: what: \n\t[external/yacl/yacl/link/transport/channel.cc:351] Get data timeout, key=connect_2\nStacktrace:\n#0 yacl::link::transport::Channel::TestRecv()+0x7f1a01c5c111\n#1 yacl::link::Context::ConnectToMesh()+0x7f1a01c58c44\n#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f1a006dfafc\n#3 pybind11::cpp_function::dispatcher()+0x7f1a006c1f06\n#4 PyCFunction_Call+0x4f5572\n\nstacktrace: \n#0 yacl::link::transport::Channel::TestRecv()+0x7f1a01c5c111\n#1 yacl::link::Context::ConnectToMesh()+0x7f1a01c58c44\n#2 pybind11::cpp_function::initialize<>()::{lambda()#3}::_FUN()+0x7f1a006dfafc\n#3 pybind11::cpp_function::dispatcher()+0x7f1a006c1f06\n#4 PyCFunction_Call+0x4f5572\n\n\n'))

Standalone code to reproduce the issue
print("A bug")

Relevant log output
No response

请确保端口没有被占用：
1、使用 60000-65535 高端口，减小和其他进程/服务冲突的可能
2、确保同一份3pc.json配置只有一个实例在跑，不要使用同一套端口配置同时跑多个任务
3、在开始新的任务前，首先执行 ray stop --force 命令，确保之前的进程已经退出

端口号改用60000+的跑起来了，感谢🙏


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 555

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.0%

Totals

Change from base Build 553:
0.0%

Covered Lines:
14

Relevant Lines:
20

💛  - Coveralls

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


cast value

Hello,
I try to get a PZEM-003 working, the data value I receive is 2 x byte. I try it with this code:
 modbus.readInputRegisters(0x02, 0x0000, 1);
modbus.onData([](uint8_t serverAddress, esp32Modbus::FunctionCode fc, uint16_t address, uint8_t* data, size_t length) {
 ValueRead = 0;
  Serial.printf("received data: id: %u, fc %u\ndata: 0x", serverAddress, fc);
for (size_t i = 0; i < length; ++i) {
  Serial.printf("%02x", data[i]);
}
Serial.print("\n");
ValueRead = *reinterpret_cast<uint8_t*>(data);
  });

The data value I recive is "0x04cf" and this is right.
But with "reinterpret_cast" it is not working. Someone have a hint for me?
Greetings, Michael

You cast it to an uint8_t pointer. So dereferencing that returns the 8 bit value.
What type is ValueRead?

I have another problem now: I have 2 devices on the Modbus, 1 with SERIAL_8N2 and other with SERIAL_8N1
So I try to change the serial parameter on the fly in the code. But no sucess. I try to change like this:
Serial1.flush();
 Serial1.begin(9600, SERIAL_8N2, 17, 4, false);  // Modbus connection: SERIAL_8N2 für PZEM-003
    delay(1000);
 modbus.readInputRegisters(0x02, 0x0000, 1);

But now no values coming in again.....

Can you confirm it works if you connect the separately?

Yes, booth work with different serial parameters: SERIAL_8N2 and SERIAL_8N1.

There's nothing this lib can do for your problem but I would do some experiments:
-try both separately on different buses

try both separately but on same bus (don't mix in one sketch)
head over to Arduino-esp32 repo and try to resolve there
Attach a logic analyzer and see if signals are coming through (beware of voltages!).

Are you sure you can't change you device's settings?

That should be possible.

An idea:
Can you just make the firmware print messages via Serial to your computer with 2 different baudrates. And monitor on your PC once with the first baudrate and again with the second. You should see first garbage + text and second text + garbage.

switching between 2 different baudrates in Loop dont work!

Do you have the latest version of the Arduino core? Do you use Arduino IDE or something else (like VSCode + Platformio)?
I'm happy to support if it doesn't take too much of my time. But there's no apparent issue with this code. You might have better luck creating an issue in the Arduino for esp32 repo.

Thanks for your time,
I solve the problem with 2 different ports for the devices and 2 instances.


Walls near bottom look a bit ugly

The walls near the bottom of the map look ugly. The bottom half of the wall is lit up brightly, and the upper half is almost black. For me, this is a bit off-putting and ugly.

Can you take some screenshots?

Notice the light gradients at the bottom of the walls? Unless there are lights on the floor lighting up that particular part of the wall, it looks ugly and nonsensical.
I was able to work around the issue by adding a very large upward-facing plane below all the level geometry.

That's SDFGI light leaking, which can indeed be fixed by ensuring the level geometry is manifold (two-sided).


Add support for Discord

Here it is! DISCORD SUPPORT \o/
Fix #56
The button is hidden on the home page for now, because I would prefer some people test it before officially send it to the wild.

Also:

add missing Twig block in the run page
add new screenshots for private messages samples
updates Font Awesome to get icon for Discord
export message dispatching in its own class, not coupled to Slack anymore

Something I didn't specify is that - from what I see - adding a bot in a Discord guild/server able to list its members require the permission to "Manage the server".
In all Discord servers I know, this permission is only given to few admin users. Unlike Slack, this means that for most servers, only admins will be able to throw Secret Santa :confused: But that's better than nothing :wink:

For those who want to test it, go to:
https://slack-secret-santa.herokuapp.com/run/discord
Please report any things that didn't work or that could be improved! Thanks!


set_value for a multiselect uses $default, on form error, when everything in the multiselect was previously unchosen

I'm an old-school 2.x CodeIgniter user, in which set_value for a multiselect did not work at all, so kudos on getting set_value working for multiselect.
I have an edit-user form in which there is a non-required host_owner multiselect. When I open the user for edit, and unchoose any default-chosen host_owners, and the form encounters an error upon submit, the default host_owners are still selected, because, of course, when a multiselect with nothing selected is POST'ed , nothing is actually POST'ed, much like an unchecked checkbox. Since nothing is POST'ed, the default $default_host_owners takes over. I need to be able to unselect all host_owners, and have that stick upon form errors.
To clarify:

Click to edit a user
host_owners[] multiselect has $default_host_owners selected
Unselect all values of the host_owners[] multiselect
Fail to fill out a required textbox, or some such error
Click submit
host_owners[] multiselect is back to having $default_host_owners selected

Here's the line from the form:
<?= form_multiselect('host_owners[]', $host_owners, set_value('host_owners[]', $default_host_owners), 'id=inputHostOwners class="multiselect-host_owners" size="10"'); ?>
I've come up with a workaround in the controller to set $default_host_owners to NULL if $this->input->post() is true, but I also have a tentative fix for the form_helper's set_value function that I want to run by you;
line 697 of system\helpers\form_helper.php (set_value function) is currently:
isset($value) OR $value = $default;
I have changed it to:
(isset($value) OR $CI->input->post()) OR $value = $default;
and it does the trick for my multiselect.
Do you see any downsides? Is this something that could make its way into CodeIgniter?

set_value() sets the value attribute, it is not suitable for this.
For select tags, there's set_select(), but ... there's an inherent limitation to field names ending in [].
PHP will convert the inputs to arrays, and because the indexes depend on order of appearance in the request, there are cases where it is practically impossible to pinpoint the exact value.

set_select seems useful only if I'm already foreach'ing through the default values? I'm hoping to avoid that.
I suppose I could always do
<?= form_multiselect('host_owners[]', $host_owners, set_value('host_owners[]', ($this->input->post() ? NULL : $chosen_host_owners)), 'id=inputHostOwners class="multiselect-host_owners" size="10"'); ?>
All these seem to be a hack, I'm hoping to find a way to not have the default value take effect if data has been POST'ed, just not the multiselects data (i.e. all have been unchosen).

I don't understand what you mean with that "foreach'ing" ... set_select() is what you're supposed to use here.

Like
<?= form_multiselect('host_owners[]', $host_owners, set_select('host_owners[]', $default_host_owners), 'id=inputHostOwners class="multiselect-host_owners" size="10"'); ?>
?
That doesn't seem to be working.
The manual for set_select https://www.codeigniter.com/userguide3/helpers/form_helper.html#set_select shows set_select being used on each value of the multiselect, that never made much sense to me, whe I have all the multiselect values in an array, within the view.

when i go for edit form previously selected value not calling selected one but it returns default select option

Select

name;?>> name; set_select('name',$edit->department);?>

	  </select>

@emilebourquin My sincere apologies for not replying to you. I guess I needed to think more about it, but never got around to looking back at this.
Not really sure what to say ... You can't have both do-default and don't-do-default for the same condition, regardless of whether you use set_select(), set_value() or whatever else.
@anandlinast Please learn to use the GitHub formatting tools correctly. I had to click "Edit" on your post (and I did the necessary corrections) to understand what you're talking about, because your code wasn't displayed as such.
Either way:

You're not using set_select() correctly.
This is a completely unrelated thread and it's inappropriate to hijack it.
This is a bug tracker; please ask your questions on our forums instead.

@narfbg Thanks for the reply, I do appreciate it. I do understand what you are saying, that it seems odd to have do-default, and don't-do-default behaviors on seemingly the same condition (form validation failed), but they aren't actually the same condition. The first is "form validation failed because this is the first time the user has seen the form, use the default", and the second is "form validation has failed because there are errors ion the POSTed form, use what was POSTed". In this second case, what was POSTed for the multiselect was Nothing, so use Nothing when repopulating the multiselect, not the default.

That logic already exists in set_select().

Agreed, but set_select makes me step through each value of the multiselect, calling set_select on it. set_value does not.
Basically, what I am saying is:
<?= form_multiselect('host_owners[]', $host_owners, set_value('host_owners', $chosen_host_owners), 'id="inputHostOwners" class="multiselect-host_owners" size="10"'); ?>
works, to set all of the default values in the multiselect. The downside of set_value is that if I deselect everything in the multiselect, then have a form error, the multiselect is repopulated with the default values, not the "Nothing Selected" that was POSTed.
<?= form_multiselect('host_owners[]', $host_owners, set_select('host_owners', $chosen_host_owners), 'id="inputHostOwners" class="multiselect-host_owners" size="10"'); ?>
does not work, because it does not take an array for the second parameter, it takes a string.
I'm hoping to just pass an array of values to set_value (which does work), or set_select(which does not work), and not have to call set_select on every value of the multiselect, as shown at https://www.codeigniter.com/userguide3/helpers/form_helper.html#set_select

Looking further into it, I guess my problem may really be with form_multiselect.
<?= form_multiselect('host_owners[]', $host_owners, $chosen_host_owners, 'id="inputHostOwners" class="multiselect-host_owners" size="10"'); ?>
does work, but on form_error, the multiselect is not populated with the previously chosen values, it is populated with the default values. On form error, it should be populated with the previously selected values, or nothing, if nothing is POSTed for it.

set_value() can't do what you're trying to do with it. It may happen to work in some cases, but it wasn't really intended to - it was designed to populate the value attribute of an input.
form_multiselect() may indeed be buggy though. There's too much logic packed into it, and that's kinda why I hate the entire form helpers collection - the simple ones are useless, while the actually useful ones are so complicated that there's almost a guarantee something won't work.

Understood, and thanks for the insight. Also, thanks for all of your hard work on CodeIgniter over the years, we really appreciate it.

You're welcome.
Though, not sure what to do with this issue now ...  Guess I'll leave it open for someone to possibly take on a solution in the future.


Mention the need to manually add unlisted script into web_accessible_resources if it's being injected.

Feature Request
After 2 hours of debugging, I've figured out that for an unlisted script to be injectable into the page it has to be declared in the manifest, like so:
// See https://wxt.dev/api/config.html
export default defineConfig({
	manifest: {
		web_accessible_resources: [
			{ resources: ["page.js"], matches: ["<all_urls>"] }
		]
	}
});

it would be good to mention this in the unlisted scripts docs or add it there automatically.
Is your feature request related to a bug?
N/A
What are the alternatives?
N/A
Additional context
This is my setup:
// page.ts
export default defineUnlistedScript(() => {
	console.log('unlisted script!')
})

// content.ts
export default defineContentScript({
	matches: ['<all_urls>'],
	main() {
		let pageScriptElem: HTMLScriptElement | null = null;

		browser.runtime.onMessage.addListener(
			async function (request, sender, sendResponse) {
				if (request.cmd && request.cmd === 'process') {
					if (pageScriptElem !== null) pageScriptElem.remove();

					pageScriptElem = document.createElement("script")
					pageScriptElem.src = browser.runtime.getURL("/page.js")
					pageScriptElem.type = 'text/javascript'
					document.head.appendChild(pageScriptElem)
				}
			}
		);
	}
});

Let me know if i'm misunderstanding how one should inject scripts like these

Nope, this looks correct. I'll update the docs.

it would also maybe be worthwhile to add something like an accessible: boolean flag to unlisted scripts, that automatically adds them to the web-accessible resources for some given urls. or some other way to automate it. but if it's too much work, a mention in the docs works too.

it would also maybe be worthwhile to add something like an accessible: boolean flag to unlisted scripts, that automatically adds them to the web-accessible resources for some given urls. or some other way to automate it. but if it's too much work, a mention in the docs works too.

Hmm, for now, I'm gonna pass on this. In addition to #379, I'll create a new issue to supporting adding more manifest related options to the entrypoints.

Feature Request
After 2 hours of debugging, I've figured out that for an unlisted script to be injectable into the page it has to be declared in the manifest, like so:
// See https://wxt.dev/api/config.html
export default defineConfig({
	manifest: {
		web_accessible_resources: [
			{ resources: ["page.js"], matches: ["<all_urls>"] }
		]
	}
});

it would be good to mention this in the unlisted scripts docs or add it there automatically.
Is your feature request related to a bug?
N/A
What are the alternatives?
N/A
Additional context
This is my setup:
// page.ts
export default defineUnlistedScript(() => {
	console.log('unlisted script!')
})

// content.ts
export default defineContentScript({
	matches: ['<all_urls>'],
	main() {
		let pageScriptElem: HTMLScriptElement | null = null;

		browser.runtime.onMessage.addListener(
			async function (request, sender, sendResponse) {
				if (request.cmd && request.cmd === 'process') {
					if (pageScriptElem !== null) pageScriptElem.remove();

					pageScriptElem = document.createElement("script")
					pageScriptElem.src = browser.runtime.getURL("/page.js")
					pageScriptElem.type = 'text/javascript'
					document.head.appendChild(pageScriptElem)
				}
			}
		);
	}
});

Let me know if i'm misunderstanding how one should inject scripts like these

thank you, it's so useful tp help me to solve the problem.


[hi] Localize extensions.md

Signed-off-by: Bishal Das<EMAIL_ADDRESS>Localizes content/en/docs/reference/glossary/extensions.md to Hindi content/hi/docs/reference/glossary/extensions.md
Fixes :- #35600

/assign @anubha-v-ardhan @divya-mohan0209
__
  Summary: :hammer_and_wrench: This code needs a fix

Hello @bishal7679 : PTAL at the suggestions by Nitish.

@divya-mohan0209 I committed the suggested changes by @NitishKumar06
PTAL!


Sadly, conda is very difficult to backtrack (at least for me).
I'll try and force a new rebuild...

@zerothi I agree, building on conda-forge is quite difficult in terms of debugging. For my issue it should be enough to link to libraries using -l:libnetcdf.so and -l:libhdf5.so instead of -lnetcdf -lhdf5.

That is a good idea, I've never thought of that. That could potentially solve lots of conda problems.
I'll try it out!!! :)

@jan-janssen I just tried on my local machine, and regardless if I do -l:libnetcdf.so or not it always resolves the symbolic link to the exact so version? How do you force it to not follow symbolic links? (I tried to scour the ld man-pages, to no avail?)

@jan-janssen I also just tried in conda, still the same problem. The *.so.<soversion> is still linked... :(

@zerothi - I am sorry, then I guess the only way to be save currently would be to fix the version in the requirements.

I posted the question to https://gitter.im/conda-forge/conda-forge.github.io maybe somebody of the conda-forge team has an idea how to fix this issue.

Yes, that is very annoying... :(
Thanks for this!

This issues is caused by not explicitly including libnetcdf and hdf5 as dependencies even though they are linked into the build.  If these dependencies are not explicitly included, it is easy to build with one version and pull in a different version at runtime.  It is not enough to rely on the dependencies to pull in libraries.  Any library that is linked in needs to be included in the host and run environments, and its version should come from the conda-forge-pinning environment or be pinned at runtime to match the version at build.
I am working on fixing this in #11 but I'm running into various issues because of the very primitive build system used by siesta.  I'll try to debug as I have time...

@xylar please let me know if I can be of any assistance, I know the build-system is rather primitive, so if you need any information. Let me know!
Thanks for trying to fix this!


Which api can send staking ad unstaking transaction  ?

Which api can send staking ad unstaking transaction  ?

you need to use polkadot.js api to send transactions


New version: MilosParipovic.OneCommander version 3.78.2 (<IP_ADDRESS>)

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,

This PR's version number 3.78.2 has 3 parameters (sets of numbers between dots - major, minor, etc), which is less than the current manifest's version <IP_ADDRESS>, which has 4 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 877)

Hi @SpecterShell,

This PR's version number 3.78.2 has 3 parameters (sets of numbers between dots - major, minor, etc), which is less than the current manifest's version <IP_ADDRESS>, which has 4 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 877)


Add cumulative sum to probs before multiplying by cost

Churn202 is not plotting.  No image appears in R Studio when your source('churn202.R'

@mpandiar , you're half way there.  Please follow the instructions on this page about churn202.  Source just loads the software into Rstudio - once the code is sourced, you need to run one of the routines like runHistograms().  All the best.


When Phantom Process died it stops NodeJS process

I am trying to wrap this error with bluebird promise, but what ever I do, this still is logged and it breaks NodeJS process, so that I have to restart it. Any suggestions?
Unhandled rejection HeadlessError: Phantom Process died
at poll_func (/vagrant/node_modules/node-phantom-simple/node-phantom-simple.js:586:10)
at /vagrant/node_modules/node-phantom-simple/node-phantom-simple.js:54:7
at ClientRequest.<anonymous> (/vagrant/node_modules/node-phantom-simple/node-phantom-simple.js:499:11)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at Socket.socketErrorListener (_http_client.js:262:9)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1255:8)
at nextTickCallbackWith2Args (node.js:474:9)
at process._tickCallback (node.js:388:17)

I tried putting try catch around it, it does not help.


WIP: V48 testing

Description
Test package to verify the functionality of Corso trunk while PRs are being reviewed.

Type of Analysis

[x] :robot: Test
[x] :computer: CI/Deployment

Merged branches

gc-versioning
gc-versioning-oneDrive-update
gc-versioning-delta-updates

 $ go build ./... --> 👍


powershell.pester.codeLens: Unfortunately, the property name does not say what it does

Good evening
I am trying to understand a bug in a complex Pester project and stumbled upon the property powershell.pester.codeLens.
It is a pity that the property name was not chosen so that the name explains what we change if we modify it.
Therefore, I have this question:
What is powershell.pester.codeLens doing?
If it is 'true',

does Pester replace code lens?
does Pester disable code lens?
does Pester results take precedence over code lens?
does it just hide code lens in VS Code?
...

Thanks a lot for any light 😃
kind regards, Thomas

When it is set to true, or not configured, it will enable the code lens "Run test | Debug test" above Describe-, Context- and It-blocks. Works best with Pester 5.


Feature request for Syngas Producer

Railcraft coal coke blocks now have a burn time of 10x the value of one coal coke, but setting the carbon value to 32000 results in the syngas producer not accepting blocks.
Can you add a config setting for how much carbon/steam the mixing chamber can hold?

InternalTankCapacity = 32000

This is the value that's used for the chamber. It should work with 32000 if the chamber is empty ...

There were 2 bugs causing it to not work, both now fixed. I've also increase the default value to 32000


Introduce new setting search.concurrent.max_slice to control the slice computation for concurrent segment search

Description
Introduces a static setting to control slice computation using lucene default or max target slice mechanism for concurrent segment search.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
https://github.com/opensearch-project/OpenSearch/issues/7358
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Closing this PR as discussed here and will address feedback here in the new PR against 2.x


React Native IOS App crashes while handling large data size using SSE.

I'm encountering crashes in my React Native iOS app (running on an iPhone 13 with iOS 17) when serving large data packets via SSE using the 'event-source-polyfill'. The crashes coincide with sudden spikes in RAM consumption, as monitored using React Native's perf monitor. With multiple stream hits, the app exhibits incremental memory consumption before eventually crashing. The error message I've found in the code is 'com.facebook.react.JavaScript (14): EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=2098 MB)'. How can I optimize memory usage and address these crashes?

Did you find any solution? I have an Ionic/Angular project that constantly closes, but when emulating it through the browser it works correctly.


ecs reports errors fixed but appears to mean files

When I run ecs it reports:

It would appear however to mean "files" not "errors":

There are thousands of fixed issues within those 252 files.

Thanks! It looks correct. We'll need a test case in PR to verify.
Also note that for php-cs-fixer diffs shows as is 1 diff per rule, even if there were more tokens changed. That's by design of that tool.

Closing for lack of feedback. We're narrowing issues to keep focus on active and engaging contributor to keep project growing. Thank you for understanding.
Feel free to re-open with failing test case.


Upgrade Brakeman

Close #1415

Thanks @jwworth 👍

Changes Unknown when pulling ea9488880a1825b5a91d0fd2b9390400aae97c18 on jwworth:upgrade_brakeman_1465589210 into ** on 24pullrequests:master**.


Salt water usage

Builds on #96 and  #89

I'm opening this for visibility but @benranaan pointed out that the hydrodynamic parameters we are using are meant for salt water with a density of 1025KG/m^3 instead of the default 1000KG we have been using. This actually helps damp some oscillations without needing to tweak the hydrodynamic parameters.

Removing this PR due to its clobbered history


ci(speed): introduce transform imports babel plugin and use for lodash

This PR resolves PHIRE-313
Description

Discovered with @gkartalis the way our libraries are imported and transformed by babel is causing large slowdowns in start up time in tests.
We can mitigate by importing the component from closer to where it lives in library source rather than barrel files.
This plugin automates this for us by allowing us to transform imports with rules. Starting with lodash.
Caveat, if you need to mock a library in jest and it is transformed you now need to mock the transformed path, you can see examples below in this PR.
Follow-ups

Find and address any other problematic imports, palette for one

PR Checklist

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

To the reviewers 👀

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

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Introduce babel transform to speed up tests - Brian

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

This PR contains the following changes:

Dev changes (Introduce babel transform to speed up tests - Brian)
undefined (changes)

  Generated by :no_entry_sign: dangerJS against ede5b870753a384c10d8bc3d66d55f7495d17ecc

For the future: I guess if there is a way to prevent people from importing i.e. all of lodash and encourage the use of import { isNil, omitBy, pick } from "lodash" type of imports, would danger be good for this?

a danger or lint rule would be cool, it should fail in ci when you try to run tests or bundle js though as is.


svg with viewBox attribute doesn't results in clipped image.

With an svg that sets a viewBox, I am seeing the resulting png that gets exported is clipped and only partially rendered in the image.
 (for example):  '<svg width="100%" viewBox="0 0 300 225">...</svg>'

I played around with the code a little and was able to workaround this with the snippet below:
  var viewBoxWidth = el.viewBox.baseVal.width == 0 ? width : el.viewBox.baseVal.width;
  var viewBoxHeight = el.viewBox.baseVal.height == 0 ? height : el.viewBox.baseVal.height;
  clone.setAttribute("viewBox", "0 0 " + viewBoxWidth + " " + viewBoxHeight);

I'm not well versed enough with the svg to understand if this is the right way to go about this, although it appears to work in my case.   Would be interested to hear what others think and if you'd consider merging a PR with this patch...

I haven't done much with viewboxes, so I'm not sure what the right solution is here. Others will have to weigh in.
A PR to fix this is welcome.

Created PR https://github.com/exupero/saveSvgAsPng/pull/44


Getting not an editor command on running nvim --headless "+Lazy! sync" +qa

Describe the bug
I am using msys2 on windows. I was able to clone the nvim configuration for me using the linux command provided. But now the second command is not working for me.

Lakshit@VENOM MINGW64 ~
$ nvim --headless "+Lazy! sync" +qa
Error detected while processing command line:
E492: Not an editor command: Lazy! sync
To Reproduce

Use msys2 mingw64
Install basic packages such as git, neovim, base-devel etc
Use above provided commands

Desktop

OS: Windows but using MSYS2
Terminal:

Neovim Version

0.9.4

Found the problem. This sh*t was still using Windows Appdata dir as its config folder


Short how-to in readme

Could you please add a terse how-to right in readme.md with C# use-case.
Want to know how this approach can be used with say Person{ string Name, int Age, DateTime DOB } etc.
also nuances like Person[], List etc..  ...the data structures used in basic business apps.

Sure, this is a high priority task. Track in #7


Property 'JsonResult.SerializerSettings' must be an instance of type 'Newtonsoft.Json.JsonSerializerSettings'

hi
i want to config watchdog.net for ocelot API gateway
but when i login to dashboard watchdog and refresh for load data from database watchdog.net i had this error:

is it bug?

Hi @alinaeimii
Refer to https://github.com/IzyPro/WatchDog/issues/94
You need to let WatchDog know if you’re not using the default json serializer


Changed the theme change button Position

Placing the button in a prominent, easily accessible location like the top left corner makes it more convenient for users to quickly change the theme without having to scroll or navigate through the calculator's interface.
Moving the button to the top left corner can also improve the visual appeal of the calculator. It can create a cleaner and more balanced layout

issue #85


[docs]: quickstart guide

Update the readme with a quickstart guide.

There appears to be a quick start guide. Can you see if anything is missing?

@vikasganiga05 is there something we can help you with? 🙂

There appears to be a quick start guide. Can you see if anything is missing?

Yes it LGTM :+1:  Thanks!

@vikasganiga05 is there something we can help you with? slightly_smiling_face

Thanks! it LGTM :+1:

The readme is updated with a quick-start guide by @eddiejaoude . So, I am closing this issue :+1:

Awesome!