Allow thread to process other requests when waiting for asyncrinous HTTP requests

Hi, this issue is mostly related to the maximum throughput of an application. Currently Drogon have to wait if it makes a HTTP request inside a request handler. This may be a performance bottleneck when the request takes a while to response (ex: to a server across the globe, long RTT, etc...). It would be nice to be able to process other other requests while we're waiting for response.
Now, sending requests within a handler looks like so
app().registerHandler("/foo",[](const HttpRequestPtr& req, auto &&callback) {
	// some API things
	auto client = HttpClient::newHttpClient("http://my.api.endpoint.com");
	auto req = HttpRequest::newHttpRequest();
	std::promise<bool> valid;
	req->setPath("/do_something");
	client->sendRequest(req, [&](ReqResult result, const HttpResponsePtr &response) {
		if(response == nullptr) // If no server responce
			valid.set_value(false);
		valid.set_value(true);
	});
	bool api_ok = valid.get_future().get(); // Wait for HTTP to response. Have to wait here otherwise crash the entire application
	if(api_ok == false)
		api_failed();

	// Keep doing our stuff
});

It would be great to do something like this.
client->sendRequest(validation_req, [&](ReqResult result, const HttpResponsePtr &response) {
	...});
drogon::handleOtherRequest(valid); // Do other stuff until `valid` have been set. Don't waist time waiting

Alternatively, it would be great to let HttpClient::sendRequest itself to do everything. So HttpClient::sendRequest looks to be a blocking call from the caller's perspective but in reality it only returns when it got an response or timeouts (and handle other requests in the mean time).
bool api_ok = false;
client->sendRequestSync(req, ...); // This looks like a blocking call from the caller
// Since sendRequestSync only rerun when it have a response. The control flow is a lot easier
if(api_ok == false)
	api_failed();

Thanks

I don't think we should block the current thread, otherwise the throughput will decrease. My suggestion is to move the subsequent steps inside the callback function, for example:
app().registerHandler("/foo",[](const HttpRequestPtr& req, auto &&callback) {
	// some API things
	auto client = HttpClient::newHttpClient("http://my.api.endpoint.com");
	auto req = HttpRequest::newHttpRequest();
	req->setPath("/do_something");
	client->sendRequest(req, [callback=std::move(callback)](ReqResult result, const HttpResponsePtr &response) {
		if (result == ReqResult::Ok)
                 {
                       // Keep doing our stuff ...
                          callback(yourResponse);
                 }
                 else
                 {
                       //make a response with error messages....
                         callback(errResponse);
                 }
	});
});

here is a simple reverse proxy example, you can refer to this example. and the #307 is some discusses about the reverse proxy.

Thanks for the quick response! Writing callbacks work but can quickly become a callback hell (especially in a micro service design). And I need to capture all variables used for a lambda. Which may be slow or impossible (objects allocated using a custom allocator, an allocator, large stack objects, etc). Is there a chance to resolve this?

I think that only coroutines can provide high throughput without causing a callback hell. I will consider adding support for coroutines in the future, but may wait until c++20 is supported by most compilers.
Do you have any suggestions? thanks.

I think coroutines are the solution. But before C++20 is widely aANywayvaliable, I think the ability to invoke the event loop manually would mostly solve the problem. Instead of
bool api_ok = valid.get_future().get();

We do
auto future = valid.get_future();
while(!future.valid()) {
    if(drogon::haveUnhandledRequest())
        drogon::handleRequest();
}

bool ok = future.get();

if its possible in Drogon's architecture. Or (possible better) just embedded the while loop inside sendRequest (maybe by adding a bool parameter to make it block or async).
Anyway I'm not familiar with Deogon's internals. Is my solution possible?

I am afraid this will destroy the internal structure of the framework.
And when the concurrency is high, this will cause a stack overflow (because the while loop is nested many times. And if there are always new requests coming in before the reponse of the old one being received, the call stack gets deeper and deeper until the stack overflows)

I see... I guess I'll have to deal with callbacks before coroutines are available. Thanks again. :smiley:

boost.fiber?

@vanehu Mind to share details on how it could work? Maybe a POC?

I went here to see how do you solve this issue, but it seems you have the same problems that I had in Cutelyst, and yes I initially solved by calling the local QEventLoop and eventually got the stack overflow.
I need to study a bit more on how coroutines work to see if they fit in my use-case.
Anyway, the way I currently solved this in Cutelyst was by detaching the request from final processing, I call c->detachAsync() which will prevent headers and body to be send, then the called function can return and rewind the stack, then until c->attachAsync() isn't called request doesn't finish, if the client closes the connection c is destroyed, not sure you can use this idea but I hope you find it useful.

@dantti My you describe your use case? I'm also working on a way to use coroutines while having a reasonable syntax. I'm stuck right now but maybe new ideas can push the idea forward.

@dantti Thank you for the information provided, yes, I face the same problem. I will carefully consider your solution, thank you for your help.

Yes, there is a risk for getting in callback hell. The same observation applies to asynchronous database access with multiple nested queries over a transaction. But there are ways how one can cope with the devil 👹:

Move anonymous functions out of the call-side, either to a local variable (e. g. const auto reqCallback = …), or to a private named function. The control flow will become much clearer this way as you’ll also have to think about the purpose of each anonymous function block while naming things. It will also be clearer, because “the child will get a name”. The code will become more functional this way with the potential of reduced side effects.
If you refactor to local variables, you should stick to a consistent naming, i. e. often append Callback to variable names when nesting becomes too deep. When you declare your variables & callbacks at the top of the function, it will start to look a lot like a class and you’ll always have the possibility to easily refactor it to one if it’ll expand in the future.

Now all function calls start to look like plain old regular function calls that are easier to follow. By sticking to these two rules most of the ugliness of callback hell is gone.

@marty1885 well my use case is the same, a C++ web framework, from my research boost coroutines are full stack so doen't help here, C++20 coroutines wasn't finished but where stackless, the thing is that it looks like you have to save the stack and iirc returning an structure to it, I really need to play with it myself but seems like the only reasonable approach besides what I already did. With Cutelyst we also have a chain of actions (in order to split pre/post processing, like auth and rendering), so once a coroutine wait is issued I need to save where in the chain should I resume.

@dantti if you plan to implement Cotoutines, it's not Drogon code but Boost Asio code but maybe Gor's article might prove helpful

@pratikpc thanks but I'm no Boost fan, I will either wait for Qt create some helper class or write them myself, I've seem some folks creating some cool classes to deal with async network code and Qt GUI apps not sure it would be useful in my case but I'm still doing some research, also my current async model has worked well with ASql

@dantti No no
Don't use Boost
But you can write code in the exact same manner for Drogon as well.
It basically showcases what you would need to write coro based code for Drogon
It could sort of serve as a nice tutorial

Close s #693 provides the ability.


Tensorflow-Lite for Flutter

There is only one plugin of Flutter which is not official.
Any plan to make a plugin for Flutter ?

Are you referring to https://pub.dev/packages/tflite_flutter ? That was actually a Google Summer of Code (GSoC) project, and is currently the recommended path for Flutter development. We're working on improving related documentation and samples.


Starting with empty gridOptions and ui.grid.selection in app forces header to be 46 px tall!

If I start with an empty gridOptions to load later, just the grid outline shows correctly. If I add ui.grid.selection into module definition, a box appears in the header row that is 46 px high and its height won't be reset when I later load the gridOptions. Plnkr here.
Comment out the ui.grid.selection in the module definition and see that the grid rectangle is empty!

I found a solution! In a directive in which I have a template that includes ui-grid="gridOptions", I use a value on the directive/attribute name myGrid="multiple" and in the prelink function, check to see if myGrid is "multiple". If so, I add enableRowHeaderSelection, multiSelect, enableSelectAll as true to the gridOptions; otherwise I add them as false.  That way, the checkbox column only appears if multiselect! I'm testing with v3.0.0-RC.18-f8a68cc - 2015-01-02.

Closing, as issue raiser appears to have a resolution.


Audit RPC notification subsystem filters against target structure types

We need to ensure that all filters used to filter out RPC notifications have proper field types. E.g. BlockFilter has PrinaryIndex of int type while block.Block structure itself has PrimaryIndex of byte, and in this case we need to change filter's field type and all associated subscriptions logic.

Primary index can't exceed ValidatorsCount in fact.

It's more like upper-level check, but it can also be implemented on the RPC server side. Maybe it's good idea to have some (*Fileter).IsValid() method to be implemented on every filter? We may include MaxEventNameLen restriction to contract notifications filter IsValid check then as far.


Time Series retrieval fails when there is no data

Received the following from the server:
Request{method=GET, url=http://localhost:11526/cwms-data/timeseries?unit=SI&timezone=UTC&name=TT983530.Stage.Inst.15Minutes.0.Ccp-Rev&pageSize=100&end=2014-03-30T07%3A00%3A00Z&office=NAB&begin=2014-02-01T08%3A00%3A00Z, headers=[accept:application/json;version=2]}
Error code: 500
{"message":"System Error","incidentIdentifier":"4698309580242637269","details":{}}
The TSID was stored with an undefined interval offset. At the time of retrieval there have been no values stored to the time series. I was expecting a specific error for no data found.

I'm sort of surprised you got a 500.  I would have thought that you'd get back a timeseries with an empty values array.  Or maybe I'm not understanding the setup.

Empty values array would be fine too.

Adam helped me track this down further.
The 500 code is because the server-side caught an exception.
Here is a unit test that can trigger this error:
`
@Test
public void testCreateUndefOffset() throws Exception
{
String officeId = "LRL";
	try(Connection connection = getConnection(); DSLContext dsl = getDslContext(connection, officeId))
	{
		CwmsDbTs tsDao = CwmsDbServiceLookup.buildCwmsDb(CwmsDbTs.class, connection);

		String tsId = "RYAN3.Stage.Inst.5Minutes.0.ZSTORE_TS_TEST" + Calendar.getInstance().get(Calendar.MILLISECOND);
		if(!locationExists(connection, "RYAN3"))
		{
			storeLocation(connection, officeId, "RYAN3");
		}

		int utcOffsetMinutes = Integer.MAX_VALUE;
		Number intervalForward = null;
		Number intervalBackward = null;
		boolean versionedFlag = false;
		boolean activeFlag = true;
		BigInteger tsCode = tsDao.createTsCodeBigInteger(connection, officeId, tsId, utcOffsetMinutes,
				intervalForward, intervalBackward, versionedFlag, activeFlag);

		TimeSeriesDaoImpl dao = new TimeSeriesDaoImpl(dsl);

		final ZonedDateTime begin = ZonedDateTime.parse("2021-06-21T08:00:00-07:00[PST8PDT]");

		final ZonedDateTime end = ZonedDateTime.parse("2021-06-28T08:00:00-07:00[PST8PDT]");
		TimeSeries elevTS = dao.getTimeseries(null, 400, tsId,
				officeId, "SI", null, begin, end,
				ZoneId.of("UTC"));
	}
}

`
The pl/sql raises an error and causes a massive stack trace.  In my opinion this is the juicy bit:
`
ORA-06512: at "CWMS_20.CWMS_TS", line 413
ORA-06512: at "CWMS_20.CWMS_ERR", line 59
ORA-06512: at "CWMS_20.CWMS_TS", line 475
ORA-20998: ERROR: Interval offset (27071460) must be less than interval (5)
ORA-06512: at "CWMS_20.CWMS_ERR", line 59
ORA-06512: at "CWMS_20.CWMS_TS", line 413
ORA-06512: at "CWMS_20.CWMS_TS", line 2361
ORA-06512: at "CWMS_20.CWMS_TS", line 2552
ORA-06512: at "CWMS_20.CWMS_TS", line 3258
ORA-06512: at "CWMS_20.CWMS_TS", line 3308
ORA-06512: at "CWMS_20.CWMS_TS", line 3352
ORA-06512: at line 1
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
... 114 more
`
Here I've added the function/procedure names:
ORA-06512: at "CWMS_20.CWMS_TS", line 413        top_of_interval_utc ORA-06512: at "CWMS_20.CWMS_TS", line 2361      setup_retrieve ORA-06512: at "CWMS_20.CWMS_TS", line 2552     build_retrieve_ts_query ORA-06512: at "CWMS_20.CWMS_TS", line 3258    retrieve_ts_out ORA-06512: at "CWMS_20.CWMS_TS", line 3308   retrieve_ts_out ORA-06512: at "CWMS_20.CWMS_TS", line 3352  retrieve_ts_out_tab
In this test the interval_offset for the time_series is<PHONE_NUMBER>.  I've confirmed this by searching the database for the ts and verifying the value.
The setup_retrieve function looks for that constant interval_offset and handles it by calling top_of_interval_utc with null.
top_of_interval_utc handles null offsets by calling a different procedure
      if p_interval_offset is null then          l_interval_offset := interval_offset_minutes(p_date_time, l_interval);       else          l_interval_offset := interval_offset_minutes(p_interval_offset);       end if;
The two-arg version of interval_offset_minutes is sort of curious.  It returns an offset that varies according to the start-date.
In my test the interval of the timeseries was 5 minutes.   For Adam's the interval was 15 minutes.
In either case the code heads into this section:
      when l_interval_minutes in (1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 30)   -- minutes         or l_interval_minutes in (60, 120, 180, 240, 360, 480, 720)          -- hours         or l_interval_minutes in (1440, 2880, 4320, 5760, 7200, 8640, 10080) -- days +1Week       then          l_millis := cwms_util.to_millis(cast(p_date_time as timestamp));          l_interval_millis := l_interval_minutes * c_millis_in_minute;          l_offset_millis   := l_millis - mod(l_millis, l_interval_millis);          l_offset_minutes  := l_offset_millis / c_millis_in_minute;
In my test case the start-time was "2021-06-21T08:00:00-07:00[PST8PDT]" which, when converted to UTC and then turned into timestamp millis becomes:
1624287600000
dividing by milli_in_minute produces 27071460  which is exactly the constant shown in the error message.
I suspect that top_of_interval_utc needs to be modified to handle interval offsets that exceed the interval - especially when the interval_offset is calculated from the two-arg version of interval_offset_minutes.
I'm not comfortable taking this further without someone who is much better versed in this portion of CWMS_TS.

The TSID was stored with an undefined interval offset.

Since a recent CWMS schema update (20.x I think), not having a defined interval offset has broken a lot of stuff, not just in RADAR. We got hit by that multiple times.
That, and not having a timezone specified in the location also breaks stuff.


Sse range

I plugged the range-sse algorithm so we can compare the performances.
The author claims it should not bring any significant improvement on sse. Seems to be true.
Before:
number of iterations 1000
number of bytes 631515 number of structural chars 55264 ratio 0.088
mem alloc instructions:       1256 cycles:        911 (0.07 %) ins/cycles: 1.38 mis. branches:          5 (cycles/mis.branch 153.85) cache accesses:      30452 (failure          0)
mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    3192517 cycles:     857482 (62.58 %) ins/cycles: 3.72 mis. branches:       1608 (cycles/mis.branch 533.04) cache accesses:      30452 (failure          2)
stage 1 runs at 1.36 cycles per input byte.
stage 2 instructions:    1577387 cycles:     511731 (37.35 %) ins/cycles: 3.08 mis. branches:       1662  (cycles/mis.branch 307.82)  cache accesses:      55074 (failure          8)
stage 2 runs at 0.81 cycles per input byte and 9.26 cycles per structural character.
all stages: 2.17 cycles per input byte.
Estimated average frequency: 4.646 GHz.
Min:  0.000294926 bytes read: 631515 Gigabytes/second: 2.14127
With range-sse:
number of iterations 1000
number of bytes 631515 number of structural chars 55264 ratio 0.088
mem alloc instructions:       1256 cycles:        885 (0.07 %) ins/cycles: 1.42 mis. branches:          5 (cycles/mis.branch 171.05) cache accesses:      29328 (failure          1)
mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    3094438 cycles:     825148 (61.60 %) ins/cycles: 3.75 mis. branches:       1496 (cycles/mis.branch 551.29) cache accesses:      29328 (failure         62)
stage 1 runs at 1.31 cycles per input byte.
stage 2 instructions:    1577387 cycles:     513460 (38.33 %) ins/cycles: 3.07 mis. branches:       1767  (cycles/mis.branch 290.56)  cache accesses:      52921 (failure        185)
stage 2 runs at 0.81 cycles per input byte and 9.29 cycles per structural character.
all stages: 2.12 cycles per input byte.
Estimated average frequency: 4.636 GHz.
Min:  0.000288942 bytes read: 631515 Gigabytes/second: 2.18561
A neon version might come soon.

At a glance, this looks like progress...
You go from 3192517 instructions down to 3094438 instructions in stage 1... that's a 3% improvement!
Note that this is 3% better over all of stage 1... whereas the new code only affects some of it. That's great stuff if it holds up... gaining 3% would be fantastic.
Which file did you use? twitter.json?

yes, I used twitter.json.

The last commit does not change the number of instructions. (who knows)

Thank you @ioioioio

Made obsolete by https://github.com/lemire/simdjson/pull/365


WorkSheets does not return [!row] property

(https://stackblitz.com/edit/angular-import-excel-q1qfvg?file=app/app.component.ts)
For few excel sheet on const ws: XLSX.WorkSheet = wb.Sheets[wsname]; worksheets does not have !row property even though passing parsing option cellStyles:true, with help of which we can extract group level/outline for each row.
Attached a file for which workSheet does not return !row property.
Project Sheet.xlsx

None of the rows have custom heights or outline levels, so no objects are created.  Try setting an outline level to a row and testing again.

So you meant only sheets having row level set will have [!row] object returned?. I have tested it with few files without outline level set [!row] was having level set 1 for all the rows. this got me confused.


Allow inverted cfg attributes, like [not(macos)]

reposting https://github.com/casey/just/issues/604#issuecomment-1934922523:
[@]casey  are there any discussions on doing cargo style [not(condition)]/[condition] annotations?:
[not(windows)]
run:
  cc main.c
  ./a.out

[windows]
run:
  cl main.c
  main.exe

I imagine my usecase is quite common for some when dealing with doing/avoiding setup specific to CI environments:
[env_var("CI") == "true"]
run:
  ./do_the_ci_setup.sh
  ./run.sh

[not(env_var("CI") == "true")]
run:
  ./run.sh

This would be very useful. My use case is for shell detection:

[env_var("SHELL") == "bash"]
tips:
  @echo "Setup your shell like this:"

[env_var("SHELL") == "zsh"]
tips:
  @echo "Setup your shell like this:"

Although, for shell detection, it would be nice to have built-in attributes like we have for os detection, e.g.

[bash]
tips:
  @echo "Setup your shell like this:"

[zsh]
tips:
  @echo "Setup your shell like this:"

[ps1]
tips:
  Write-Host "Setup your shell like this:"

With shell detection attributes, one could even have recipes per-shell. The current shell options set the global shell interpreter for the file, but with shell attributes, we can support multiple different shells in the same justfile. This can probably become its own feature request.


KSP-AVC is outdated for 1.1

Cf. http://forum.kerbalspaceprogram.com/index.php?/topic/72169-11-ksp-avc-add-on-version-checker-plugin-1161-miniavc-ksp-avc-online-2016-04-19/

NOTE: Version 1.1.5 works in all 1.0 versions of KSP. Use 1.1.6 for KSP 1.1 and later

Addressed by https://github.com/KSP-CKAN/NetKAN/pull/3673


Adding default labels to issue templates

Pull Request

[x] I have checked for similar PRs.
[x] I have read the contributing guidelines.

Changes

[ ] Code
[ ] Documentation
[x] Other: Issue Templates

Description
When creating an issue from a template, representative labels will be added to it after its creation now.

Just tested it, works as expected. Will do it for the other projects now.


NetworkScheduler: Invalid component specified.

Sometimes, when running the app, I see the following error message in logcat "E/NetworkScheduler: Invalid component specified.".
It's intermittent, but when the message is shown, no jobs get scheduled. I have looked at your FAQs and doc, and couldn't find any reference to this error message. I'm guessing it's a setup issue. Could you let me know which "component" it refers to, and perhaps some ways I could debug this please? Thanks.

Are you sure that the library is causing this issue? This message is definitely not coming from this library.

Thanks very much for your quick reply.
It's logged when trying to run a job scheduled using the library, but I guess it's a problem with the JobScheduler, not the library itself. What makes it hard to understand is that it is intermittent.
When it's logged though, the jobs don't run, so I was hoping you may have seen it before and would have an idea of what this message means? Stack Overflow and Google not really being helpful...

No, I don't have any idea. Sorry

Closing because of inactivity.

I have exactly same problem. This message appears in the same time I run DailyJob.schedule()


bug fix: gutter on error

placement is not accurate (should be line 7), I could change color, too.

possibly related to latest gutter updates.

implemented


@How to use

hi everyone, can anyone provide me an example simple program in using this library ? i am very confuse with this please help me thx u

You need a script to generate tiktok security tokens and make some updates to the api to make it work.

Hello, updates like what?


scilab-bin plot() function fails with Java Exception

Issue description
The plot function does not plot anything, instead only the following text is rendered:
Graphic window number 0

In the terminal an exception stacktrace is shown with the following error:
Caused by: javax.media.opengl.GLException: Profile GL_DEFAULT is not available on X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x5a86a3e7, isOwner false, <1ea2410, 17e764d6>[count 0, qsz 0, owner <NULL>]]], but: []

So it seems to have something to do with opengl. We were able to reproduce this issue on two different machines on both Intel graphic and Nvidia.
Steps to reproduce
Install scilab with
nix-env -i scilab-bin

Run it:
scilab-6

Run plot function in scilab:
plot([1,2,3])

See graphics window, but without any graphic.
Technical details
We tried both on nixos-18.09 and nixos-unstable.
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
 - system: `"x86_64-linux"`
 - host os: `Linux 4.18.14, NixOS, 18.09.git.0919505 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.1.1`
 - channels(root): `"nixos-18.09.1023.06fb0253afa"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

/cc @khumba @7c6f434c who updated scilab before

Sorry, I don't have any special insight here and haven't used Scilab for a while now.

I wanted to look at some purely-computational parts to discuss some Scilab code with a colleague, no idea about plotting.

Under Ubuntu i could work around a similar issue by setting either LIBGL_ALWAYS_SOFTWARE=1 or MESA_GL_VERSION_OVERRIDE=3.0:
$ LIBGL_ALWAYS_SOFTWARE=1 scilab

and
$ MESA_GL_VERSION_OVERRIDE=3.0 scilab

both worked (the first one disabled hardware acceleration, i suppose).
I cannot test this on NixOS because scilab-bin is currently broken: #70319.

Any news on this? Running on an Intel iris GPU - I am not encountering #70319 , however the fixes by @alexeymuranov don't work.
I found some documentation at https://help.scilab.org/usecanvas , see § Technical Aspects : "[...] Intel: This is the big drawback of using the pbuffer. There is currently no support of pbuffer by any official Intel drivers under Linux. [...]" . This imho means that software rendering must be used on these GPUs, however I don't know how to specify the xorg / xwayland configuration to choose a software-only mesa driver (eg. vesa / gallium).
Any help or recommendations?


mycli: init at 1.3.0

mycli is a clone of the nearly identical pgcli package already included in nixpkgs.
This depends on pymysql: 0.6.3 -> 0.6.6.
Tested by installing on my computer.

Please remove same commit for pymysql. It was already merged via your other PR.

Thanks,  rebased

A recent commit upgraded prompt_toolkit to 0.47, breaking this PR, so I added prompt_toolkit0_45.
Tested & working for me on my laptop.


test that help output is more than 5 lines long

see this TODO.

Testing help output is entirely client side, so it should probably be part of the CLI tests, not the e2e tests.


adding rocket chat notification to gha

Example of path filters; https://github.com/hyperledger/indy-node/blob/main/.github/workflows/Push.yaml

Thanks for the feedback wade, made the changes accordingly.

That looks better @rajpalc7.  Please clean up the commit history.

@WadeBarnes -  Commit history is cleaned up now

@WadeBarnes that might be because of the git HEAD reset command .  It should have been git reset HEAD~6 instead of HEAD~7 . Let me know if you want me to create another PR just for this file

https://github.com/bcgov/trust-over-ip-configurations/pull/159/commits - I was able to create a new PR for review

The changes associated to this PR are being performed over here now; https://github.com/bcgov/trust-over-ip-configurations/pull/159

This PR is being closed in favor of https://github.com/bcgov/trust-over-ip-configurations/pull/159


Add unplan command

Codecov Report
Base: 48.04% // Head: 47.47% // Decreases project coverage by -0.57% :warning:

Coverage data is based on head (d61d754) compared to base (206ec39).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #87      +/-   ##
============================================
- Coverage     48.04%   47.47%   -0.58%
  Complexity      422      422
============================================
  Files           103      105       +2
  Lines          1994     2018      +24
  Branches        209      211       +2
============================================
  Hits            958      958
- Misses          995     1019      +24
  Partials         41       41

Impacted Files
Coverage Δ

...va/seedu/waddle/commons/core/index/MultiIndex.java
0.00% <0.00%> (ø)

.../java/seedu/waddle/logic/commands/PlanCommand.java
0.00% <ø> (ø)

...ava/seedu/waddle/logic/commands/UnplanCommand.java
0.00% <0.00%> (ø)

...ain/java/seedu/waddle/logic/parser/ParserUtil.java
45.94% <0.00%> (-1.28%)
:arrow_down:

...seedu/waddle/logic/parser/UnplanCommandParser.java
0.00% <0.00%> (ø)

...n/java/seedu/waddle/logic/parser/WaddleParser.java
42.85% <0.00%> (-1.05%)
:arrow_down:

...n/java/seedu/waddle/model/itinerary/DayNumber.java
0.00% <0.00%> (ø)

...n/java/seedu/waddle/model/itinerary/Itinerary.java
53.70% <0.00%> (ø)

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

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


How to use my own trained model from voicefixer_main?

Hello.
I am having issue when running your code for inference with the trained model from voicefixer_main, not the pretrained model.
Is it possible to use the trained model for test.py?
I tried to replaced the vf.ckpt with my trined model ~ at the original directory, but it did not work
it produced the following error:

It seems like the pretrained model voicefixer and the trained model from voicefixer_main are different each other in terms of model's size.
the pretrained model is about 489.3 MB
the one from voice_fixer main is about 1.3 GB

Hi, it should work with the model trained from voicefixer_main. But a little tweak in the training code might also be needed. The figure seems to indicate an importing error. The "tools" is a part of this repo and please make sure it can be found and imported by the python interpreter. Many thanks.


No module named attr

python 2.7.6
error: File "/jsonschema/exceptions.py", line 6,  no module named attr.
how to fix this?

Hi. What version of jsonschema, and where did you get it from?
attrs is a dependency of jsonschema, but one properly declared in its install_requires.
(Also please don't elide tracebacks if you were to share one.)

Thanks for your reply, I have fixed this by pip install, 'cause I just used the source code on github without installing before.
But now there is another problem, the code as follow:
my_schema = \
{
"type": "object",
    "properties":
    {
        "productId":
        {
            "const":  1
        }
    },
"required": [ "productId" ]
}

if __name__=='__main__':
    product = \
    {
        "productId":    2,
    }
    validate(product, my_schema)

there is no exception raised when I run the code, is that correct?  'cause I thought the instance can validate successfully only when its value is equal to the vaule of the keyowrd "const"

Draft 6 is added only in the alpha (which you'd install with --pre) or directly from HEAD.


chore(release-branch): update release branch to develop

Jira: XDS-143

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Sum and harmonic mean of n terms in Harmonic Progression Calculator

Description
Currently the Harmonic Progression Calculator only calculates the nth term of the series I want to add two more features to calculate sum and harmonic mean of n terms.
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100 this issue can be assigned


fix externaldns cloudflare-proxied

After switching away from bitnami, cloudflare-proxied setup stopped working as expected.  Need to investigate and be explicit with the DNSEndpoint records to ensure the proper values are set.

Completed!


Async/Await?

Now async/await has landed it should be possible to implement async functions over the existing pollable traits.

Implemented in #3, needs mocks and tests


no faces detected when run the detect_faces.py

@davide-coccomini Hi,sorry to bother you here,but I meet a problem which shown below in the screenshot:

there is no faces detected in the DFDC dataset even when I set the threshold of MTCNN very low,and here is the structure of my data:

as you can see,I etracted part of the whole DFDC dataset there because I haven't downloaded all of them yet,However,I checked the code in detect_faces.py and found that the script will traverse the directory under dfdc and then read the video from the sub-directory.so
I was confused why it can't detected any faces from the video,so is there something wrong with my data_path?hope you can give me some advice!:-)

@davide-coccomini Hi,sorry to bother you here,but I meet a problem which shown below in the screenshot:  there is no faces detected in the DFDC dataset even when I set the threshold of MTCNN very low,and here is the structure of my data:  as you can see,I etracted part of the whole DFDC dataset there because I haven't downloaded all of them yet,However,I checked the code in detect_faces.py and found that the script will traverse the directory under dfdc and then read the video from the sub-directory.so I was confused why it can't detected any faces from the video,so is there something wrong with my data_path?hope you can give me some advice!:-)

Update:I changed the data_path of detect_faces.py into the directory of the dfdc video and try again,it seems like the model detected some faces and generate a jsom file in the box folder but then the process is killed shown in the screenshot below：

so I wonder if it is due to the  memory limit I set to my WSL2:

I will change it to 8GB and see if it works,But I would still like to get some advice from you!:-)

@davide-coccomini Hi,I'm very glad to tell you that the detect_faces.py works well after I increase the memory limit up to 8GB:

I will close this issue afterwards


[Community] Documentation

Which parts you think are the worst documented and at wich parts more documentation is needed.
I will add Javadoc over time

Due to massive reworks in the API there are big undocumented features. But since the API is still unstable JavaDoc will be done closer to release date of v4.0.0


Client.Timeout exceeded while awaiting headers

Report
Keda is randomly timeout on Prometheus
2021-11-16T09:58:28.931Z        ERROR   prometheus_scaler       error executing prometheus query        {"error": "Get \"http://prometheus-operator-produc-prometheus.monitoring.svc.cluster.local:9090/api/v1/query?query=round%28sum%28rate%28haproxy_frontend_http_requests_total%7Bjob%3D%22haproxy-ingress-external-kubernetes-ingress%22%2C+namespace%3D%22haproxy-external%22%2C+proxy%3D%22http%22%7D%5B2m%5D%29%29%29&time=2021-11-16T09:58:28Z\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
github.com/go-logr/zapr.(*zapLogger).Error
        /go/pkg/mod/github.com/go-logr/zapr@v0.3.0/zapr.go:132
github.com/kedacore/keda/v2/pkg/scalers.(*prometheusScaler).IsActive
        /workspace/pkg/scalers/prometheus_scaler.go:105
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScaledObjectScalers
        /workspace/pkg/scaling/scale_handler.go:206
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScalers
        /workspace/pkg/scaling/scale_handler.go:195
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).startScaleLoop
        /workspace/pkg/scaling/scale_handler.go:138

Expected Behavior
No timeouts
Actual Behavior
Randomly timeout
Steps to Reproduce the Problem

Create a trigger with Prometheus metric
Pull internal 1m

Logs from KEDA operator
2021-11-16T09:58:28.931Z        ERROR   prometheus_scaler       error executing prometheus query        {"error": "Get \"http://prometheus-operator-produc-prometheus.monitoring.svc.cluster.local:9090/api/v1/query?query=round%28sum%28rate%28haproxy_frontend_http_requests_total%7Bjob%3D%22haproxy-ingress-external-kubernetes-ingress%22%2C+namespace%3D%22haproxy-external%22%2C+proxy%3D%22http%22%7D%5B2m%5D%29%29%29&time=2021-11-16T09:58:28Z\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
github.com/go-logr/zapr.(*zapLogger).Error
        /go/pkg/mod/github.com/go-logr/zapr@v0.3.0/zapr.go:132
github.com/kedacore/keda/v2/pkg/scalers.(*prometheusScaler).IsActive
        /workspace/pkg/scalers/prometheus_scaler.go:105
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScaledObjectScalers
        /workspace/pkg/scaling/scale_handler.go:206
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScalers
        /workspace/pkg/scaling/scale_handler.go:195
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).startScaleLoop
        /workspace/pkg/scaling/scale_handler.go:138
2021-11-16T09:58:31.022Z        INFO    controllers.ScaledObject        Reconciling ScaledObject        {"ScaledObject.Namespace": "haproxy-external", "ScaledObject.Name": "haproxy-ingress-external-kubernetes-ingress"}

KEDA Version
2.4.0
Kubernetes Version
1.19
Platform
Amazon Web Services
Scaler Details
Keda
Anything else?
No response

Hi,
Could your prometheus have performance problems? You could increase the timeout for HTTP Client setting the environment variable KEDA_HTTP_DEFAULT_TIMEOUT.
Could you try to increase it to, for example, 10 seconds and try again? If the issue is solved increasing the timeout, probably you have performance issues in your prometheus server.
I said because I assume that the domain is correct and the query seems correct

Hi @JorTurFer . I will try that!
Thank you!

If anyone reads this post, I wanted to share my solution.
Since we're using Keda's operator with Terraform, I've added the following to the values file:
# set http timeout in milliseconds
http:
  timeout: 10000


Expose cmd_set_line_width

Expose cmd_set_line_width
Bump version to 0.24.1

This change is

Huh I didn't get a notification. Thanks for the PR.


Auto-enroll existing clients

[Enter feedback here]
As a prerequisite for Auto-enroll existing clients, active directory federation services (ADFS) with pass-through authentication (PTA) and
As stated, I think it's a mistake in Active Directory Federation Services (ADFS) or pass-through authentication (PTA)
Basically, I think it's hard to think of a case of enabling PTA in an AD FS environment.
So please modify this sentense as below.
Active Directory Federation Services (ADFS) or pass-through authentication (PTA)

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

ID: edf22630-0e3f-4db6-2cc4-105ef94d1410
Version Independent ID: 4903eb43-67ac-f398-c00d-86d1950e4800
Content: Paths to co-management - Configuration Manager
Content Source: sccm/comanage/quickstart-paths.md
Product: configuration-manager
Technology: configmgr-client
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

This article has been corrected and will update tomorrow.


Windows 10, Hyper-V docker-machine uses /dev/null for -F parameter in ssh command

Unable to create new machine. Actually unable to do anything involving ssh with machine, because docker-machine uses /dev/null file for -F parameter of ssh command.
Getting to WaitForSSH function...
(default) Calling .GetSSHHostname
(default) DBG | [executing ==>] : C:\WINDOWS\System32\WindowsPowerShell\v1.0\\powershell.exe -NoProfile -NonInteractive ( Get-VM default ).state
(default) DBG | [stdout =====>] : Running
(default) DBG |
(default) DBG | [stderr =====>] :
(default) DBG | [executing ==>] : C:\WINDOWS\System32\WindowsPowerShell\v1.0\\powershell.exe -NoProfile -NonInteractive (( Get-VM default ).networkadapters[0]).ipaddresses[0]
(default) DBG | [stdout =====>] : fe80::215:5dff:fe01:21b
(default) DBG |
(default) Calling .GetSSHPort
(default) Calling .GetSSHKeyPath
(default) Calling .GetSSHKeyPath
(default) DBG | [stderr =====>] :
(default) Calling .GetSSHUsername
Using SSH client type: external
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@fe80::215:5dff:fe01:21b -o IdentitiesOnly=yes -i D:\Docker\machines\default\id_rsa -p 22] C:\Program Files\OpenSSH-Win64\ssh.exe <nil>}
About to run SSH command:
exit 0
SSH cmd err, output: exit status 255:
Error getting ssh command 'exit 0' : Something went wrong running an SSH command!

~ > docker -v
Docker version 1.12.0, build 8eab29e

~ > docker-machine -v
docker-machine.exe version 0.8.0, build b85aac1

because docker-machine uses /dev/null file for -F parameter of ssh command.

You sure this is the exact reason?  It might be failing for a different one, this just says "don't use any local SSH configuration file".  Granted it could be pathing, /dev/null is very UNIXey.

@nathanleclaire It seems that it is the reason. I tried to run it from Git bash - it works (it does some magic with /dev/null afaik). I've also tried to create file C:\dev\null and a script to empty it each time ssh runs and it started to work too. I will try to use different version of ssh though, to see if it could be ssh implementation bug.

@dikeer maybe we could write a little nullFile() function which will return the correct thing based on OS.  seems on Windows it should be NUL, http://stackoverflow.com/questions/313111/dev-null-in-windows, hopefully that'd play OK with git bash.

The build-in ssh works. So is there need to use the external ssh.exe on Windows?
I guess it strongly depends on the ssh.exe in PATH and not which shell someone runs docker-machine.exe in.
Is there a way to ignore the external ssh.exe without changing PATH?
PS C:\Users\vagrant> docker-machine -D ssh default
Docker Machine Version:  0.8.2, build e18a919
Found binary path at C:\ProgramData\chocolatey\lib\docker-machine\bin\docker-machine.exe
Launching plugin server for driver hyperv
Plugin server listening at address <IP_ADDRESS>:49927
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(default) Calling .GetState
(default) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM default ).state
(default) DBG | [stdout =====>] : Running
(default) DBG |
(default) DBG | [stderr =====>] :
(default) Calling .GetSSHHostname
(default) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM default ).state
(default) DBG | [stdout =====>] : Running
(default) DBG |
(default) DBG | [stderr =====>] :
(default) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (( Get-VM default ).networkadapters[0]).ipaddresses[0]
(default) DBG | [stdout =====>] : <IP_ADDRESS>
(default) DBG |
(default) DBG | [stderr =====>] :
(default) Calling .GetSSHPort
(default) Calling .GetSSHKeyPath
(default) Calling .GetSSHKeyPath
(default) Calling .GetSSHUsername
SSH binary not found, using native Go implementation
&{{{<nil> 0 [] [] []} docker [0xc2bd70] <nil>  []} <IP_ADDRESS> 22 <nil>}
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.12.3, build HEAD : 7fc7575 - Thu Oct 27 17:23:17 UTC 2016
Docker version 1.12.3, build 6b644ec
docker@default:~$ ls
log.log
docker@default:~$ exit
Making call to close driver server
(default) Calling .Close
Successfully made call to close driver server
Making call to close connection to plugin binary
(default) DBG | Closing plugin on server side

@StefanScherer "--native-ssh" option will solve it.
https://docs.docker.com/machine/reference/ssh/#/different-types-of-ssh


feat: Handle build cancellation

Closes #11
@wixyvir would you mind testing this patch? The docker image should be available shortly.

@wixyvir everything should be fine now: the process will listen for SIGTERM and SIGINT. Once it catches one of them it will try to cancel the build.
I also added the STOPSIGNAL Docker directive so that we get the correct signal when killing a container.

Seems like we can't make this work. As said here:

Add the option to send a different kill signal to the container via the runner config.toml when it is cancelled. We currently send a SIGKILL as noted here.

And here:

SIGKILL cannot have a listener installed, it will unconditionally terminate Node.js on all platforms.


readthedocs documentation not updated

It appears that the documentation for the instrument I added (Agilent 4156) as part of PR #149 is not reflected on readthedocs under pymeasure.instruments. Is there something I'm missing?

@vik-s, thanks for raising this issue! It looks like there was an issue with ReadTheDocs that has since been resolved. I've fixed our configuration on ReadTheDocs, and have re-triggered a build.
https://readthedocs.org/projects/pymeasure/builds/7832244/


inxi: 3.3.03-1 -> 3.3.04-1 and remove myself as maintainer

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 119729 at 590fa800 run on aarch64-linux 1

14 packages built successfully:

blueberry
cinnamon.cinnamon-common
cinnamon.cinnamon-screensaver
cinnamon.cinnamon-session
cinnamon.cjs
cinnamon.nemo
cinnamon.warpinator
cinnamon.xapps
cinnamon.xviewer
inxi
python38Packages.xapp
python39Packages.xapp
xed-editor
xplayer

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

15 packages built:

blueberry
cinnamon.cinnamon-common
cinnamon.cinnamon-gsettings-overrides
cinnamon.cinnamon-screensaver
cinnamon.cinnamon-session
cinnamon.cjs
cinnamon.nemo
cinnamon.warpinator
cinnamon.xapps
cinnamon.xviewer
inxi
python38Packages.xapp
python39Packages.xapp
xed-editor
xplayer


Fallback to opened date when ordering projects

This makes newly created projects appear first in the project list, instead of below all other projects.
This is required to fix cloud-v2/#432
https://github.com/enso-org/enso/blob/9ec7415ded9a96b01ec8c9300ac018084b87e53e/lib/scala/project-manager/src/main/scala/org/enso/projectmanager/service/RecentlyUsedProjectsOrdering.scala#L19-L25
should be changed to:
  override def compare(x: Project, y: Project): Int = {
    val xOpenedOrCreated = x.lastOpened.getOrElse(x.created)
    val yOpenedOrCreated = y.lastOpened.getOrElse(y.created)
    compareDates(xOpenedOrCreated, xOpenedOrCreated)
  }

Wouldn't this better be reported as a PR? If all checks passed, it'd be a matter of pressing the green button.

maybe, not familiar with scala development so not sure whether it might need new tests


current indexing shows only barack for 5k.

Not sure if it should be more.
Crashed for 500k. Results = null;

Create a test to expose PageRank with Properties crashing.
(Where x=>x.IsEntityQ)

It was ok. There were no other results for Obama in the 5k set.


Please add equivalent to ssh-copy-id to public key manager

Please add equivalent to ssh-copy-id to public key manager and connection menu.
(I mistakenly created this issue on the website project)

+1


"bad" simp lemmas can lead to acyclic tactic failure with simp recursion limit

Prerequisites

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

Check that your issue is not already filed.
Reduce the issue to a minimal, self-contained, reproducible test case. Avoid dependencies to mathlib4 or std4.

Description
I assume acyclic should now use omega instead of simp_arith
Context
Steps to Reproduce
import Mathlib.Algebra.Order.Monoid.Lemmas
import Mathlib.Data.Nat.Basic

@[simp] theorem succ_le_iff_lt: n + 1 ≤ k ↔ n < k := sorry

inductive Foo
| mk (x y: Foo)

set_option trace.Meta.Tactic.acyclic true in
example {x y: Foo} (h: x = Foo.mk y x): False := nomatch h

Expected behavior: acyclic can handle such a goal
Actual behavior: acyclic tactic produces an error message:
[Meta.Tactic.acyclic] failed with
    tactic 'simp' failed, nested error:
    maximum recursion depth has been reached (use `set_option maxRecDepth <num>` to increase limit)

Versions
4.7.0-rc2
Additional Information
Impact
Add :+1: to issues you consider important. If others are impacted by this issue, please ask them to add :+1: to it.

Remark: acyclic relies on the sizeOf automatically generated simp theorems. Thus, omega by itself cannot close the goals created by acyclic.
Possible solution: add new sizeOf simp set which contains only the sizeOf simp equational theorems.
Possible solution: new acyclic implementation that does not rely on sizeOf. This is the TODO list anyway since the current approach cannot handle functional fields. Example:
inductive Foo
  | mk (x : Nat → Foo)
  | bla : Foo

example {x : Foo} (h: x = Foo.mk fun _ => x) : False :=
  nomatch h -- currently fails

Remark: theorem succ_le_iff_lt is problematic independently of acyclic. Example:
example : n + 1 ≤ k := by
  simp_arith -- maximum recursion depth has been reached


Cannot get frame from Camera Module 3 with RPI5 on Ubuntu 23 OS

Description
I cannot get image fom Camera Module 3 with RPI5 and Ubuntu 23. The cameras are detected by libcamera however when I tried to get a image I got the error: "Failed to start streaming: Invalid argument". As you can also see from bug report: I build libcamera(from rpi fork) and rpicam-apps from source.
wfa@wfa-desktop:~$ sudo camera-bug-report -t 5 -o libcamera-jpeg.txt -c "libcamera-jpeg --nopreview -o output.jpeg"
[0:08:09.766704749] [1587]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+47-46b868fe
[0:08:09.798499531] [1588]  INFO RPI pisp.cpp:662 libpisp version v1.0.4 6e3a53d137f4 19-04-2024 (13:29:33)
[0:08:09.947229568] [1588]  INFO RPI pisp.cpp:1121 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:08:09.947451772] [1588]  INFO RPI pisp.cpp:662 libpisp version v1.0.4 6e3a53d137f4 19-04-2024 (13:29:33)
[0:08:10.070648825] [1588]  INFO RPI pisp.cpp:1121 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media3 and ISP device /dev/media1 using PiSP variant BCM2712_C0
Mode selection for 2304:1296:12:P
    SRGGB10_CSI2P,1536x864/0 - Score: 3400
    SRGGB10_CSI2P,2304x1296/0 - Score: 1000
    SRGGB10_CSI2P,4608x2592/0 - Score: 1900
Stream configuration adjusted
[0:08:10.072766807] [1587]  INFO Camera camera.cpp:1183 configuring streams: (0) 2304x1296-YUV420 (1) 2304x1296-BGGR16_PISP_COMP1
[0:08:10.073244436] [1588]  INFO RPI pisp.cpp:1405 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 2304x1296-SBGGR10_1X10 - Selected CFE format: 2304x1296-PC1B
[0:08:10.109305664] [1588] ERROR V4L2 v4l2_videodevice.cpp:1906 /dev/video12[17:cap]: Failed to start streaming: Invalid argument
ERROR: *** failed to start camera ***

Bug Report
libcamera-jpeg.txt
I see that my /boot/config.txt is not found since it is on /boot/firmware/config.txt, so I upload it here as well:
config.txt

This suggest that your kernel is out-of-date.  You will likely need to compile our latest kernel and put it into your system.

Sorry if this is a dummy question but, does it mean that I should use RaspberryPi OS (Bookworm) or can I do this update on Ubuntu23 as well (using raspberrypi/linux repo) to make the cameras work?

I believe Canonical package their own kernel for Ubuntu releases.  To be honest, I don't know much about it.  I would recommend using a fresh Raspberry Pi OS image if you want an immediate no-hassle way to get the Camera V3 working.

I will switch to Bookworm and close theis ticket then. For anyone in who reads it in future, I worked on it around a week but could not get it working, I would be happy if you have a solution.


Improve the docs

Added npm init and tsc --init shortcuts and fix to have the tsc command available.

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


Send Notification of Facility Report Response

Overview
The user who reports a facility as closed or reopened will receive a
notification email when an OAR administrator confirms or rejects the
report.
Connects #1247
Demo
Rejected

Confirmed

No Reason Provided

Notes
We are planning to reopen this and adjust the email content once the finalized notification text is provided.
Testing Instructions

Run ./scripts/server
Go to activity reports and confirm one. Enter text explaining the reason for the confirmation.

An email should print to the console with the reason included.

Reject a report, entering a reason for the rejection.

An email should print to the console with the reason included.

Confirm or reject a report and enter no reason.

An email should print to the console.

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Looking at this now.

@katieashaw The application is ready to send email to contributors when a facility closure/reopening is approved or rejected by the moderation team. Please add the text you want to appear in the emails in a comment on issue #1247 or comment on this PR. Thanks.

Facility closure approved text:
Hi there,
Thanks for reporting XXX facility as closed. The facility profile in the Open Apparel Registry has now been updated and the facility is marked as closed.
OAR Team review notes:
Should you receive reports that the facility is re-opened in the future, you can share this update with the OAR Team.
Best wishes,
The OAR Team
Facility closure rejected text
Hi there,
Thanks for reporting XXX facility as closed. We have rejected this report and the facility's profile in the OAR has not been changed.
OAR Team review notes:
If you have additional evidence that can be used to verify the facility closure, this can be shared with<EMAIL_ADDRESS>Best wishes,
The OAR Team
Facility reopening approved text
Hi there,
Thanks for reporting that XXX facility has re-opened. The facility profile in the Open Apparel Registry has now been updated and the facility is no longer marked as closed.
OAR Team review notes:
Best wishes,
The OAR Team
Facility reopening rejected text
Hi there,
Thanks for reporting that XXX facility has re-opened. We have rejected this report and the facility's profile in the OAR has not been changed.
OAR Team review notes:
If you have additional evidence to verify the facility re-opening, this can be shared with<EMAIL_ADDRESS>Best wishes,
The OAR Team

@jwalgran Could you take another look and confirm that the updated text looks good to you? I ended up making more code changes than I initially expected in the process of updating.

Looking at this now.


Hello, I'm from China. Your csgo hack has a very vast market in China. How can I contact you? What is your telegram account number?

Hello, I'm from China. Your csgo hack has a very vast market in China. How can I contact you? What is your telegram account number?

Stop scam or try to sell cheats in a country where cheating is prohibited.


File size of library when building from source is very large

Required Info

Camera Model
D400

Firmware Version
any

Operating System & Version
Linux (Ubuntu 18

Kernel Version (Linux Only)
4.9.140

Platform
NVIDIA Jetson

SDK Version
2.40.0

Language
C++

Segment
Robot

Issue Description
When building the library from source, the file size of librealsense2.so.2.xx.x ends up being around 200 MB, but the librealsense2.so.2.xx.x installed via the "realsense-hw-public" apt repository is around 19 MB (most recent is 2.35.2 for arm64 on Nvidia Jetson). We need 2.40.0, but I've confirmed that the issue is the same with 2.35.2.
Build command used:
cmake .. -DBUILD_EXAMPLES=false -DCMAKE_BUILD_TYPE=Release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true && make -j4

I realize that there are several packages in the apt repository, but we want to use the minimal installation required on our client devices. Is there a way for us to build a minimal library that is smaller than the ~200 MB .so file?

Hi @davidcann   Another RealSense user encountered the same issue in the past with package versus source build size.  A RealSense team member advised them to strip debug symbols out of the .so file.
https://github.com/IntelRealSense/librealsense/issues/3211

Thanks, that worked.


Crawling not working on multiplayer server

While attempting to use this mod on a 1.20.1 server, the player does not start crawling and cannot fit in one block gaps. On the client side, the players view moves down into crawling position and is rubberbanded back when attempting to crawl in a one block gap.
The issue does not occur in single player with the exact same mods loaded, listed below. All mods are installed on both client and server.
list.txt

Forgive me for not answering for so long.
If the problem still persists, please send me the full server log, and optionally  server/client mods.
Closing for now, feel free to reopen.


chore(upgrade): fix rebuild validation

After the addition of partial rebuild, the rebuild validations has been changed for upgrade.

The logic to check if any rebuild is in progress has been changed.
Description

The new rebuild validation is based on the logic below.

If all the volumes are online (across the cluster) then continue with upgrade

In case of volumes which are degraded/faulted check for replica rebuild in progress

If replica rebuild in progress then wait for rebuild to complete
If no replica rebuild in progress then step wait for a period of 10+ minutes with an interval of 35 seconds. At every interval check for replica rebuild in progress, If rebuilding then wait , else after 10 minutes continue with the upgrade.

There can be scenario where the already checked volume becomes degraded later, so add a vector of unhealthy volumes, and wait till the size of unhealthy volumes.
The rebuild in pre-validation i.e. client side is not modified with the above logic as it just checks for rebuilding . And once the job is created the the rebuild is again verified. So all the above logic reside in Upgrade job
Motivation and Context

The rebuild status would have been incorrect if we just check for child.rebuild_progress.is_some()

Regression

No

How Has This Been Tested?

Ran the manual upgrade.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added unit tests to cover my changes.

bors merge

bors merge


fills not showing up in market page

fills in portfolio:

market page:

market on kovan:
Week 10: Which NFL Team will win: Denver Broncos vs. Pittsburgh Steelers?
Estimated scheduled start time: Mar 31, 2020 11:00 AM (PDT)
0xD80C49977C5a5F51CaD969fa1236f8566f2247ca

fixed


No keep alive section below

https://github.com/johnwparent/APBPoster/blame/master/customization.rst#L50

This was intended to be a link to the keep alive file. It'll be included in the RTD instance


[Feature Request] gitmodule添加

Checklist

[X] I searched exising issues and no one else requests similar feature.
[X] I think that 25%+ users are positive towards this feature.

Describe the feature
添加子模块
Additional context
No response

暂时保留


Add a desktop hover menu for programs sections

RE #215

Looks good! One thing -- is it possible to remove the shadow or make it a little bit less on the top?

We can do whatever we want with the style but I don't quite understand what you want it to look like, can you give me a mockup of what you want?

I put a screenshot of a mockup I made in the comment I left earlier.
Just for the top of the expanded menu to not have a shadow so it's not as harsh of a jump from the regular nav to the expanded nav. Your example here for reference:

Got it, wasn't clear what the screenshot was since there wasn't much context in the comment


API Response Error: Invalid request URL

Hi,
I'm super excited to use this integration but I keep getting this error and nothing syncs to my Notion database. I am pretty sure I've followed the setup instructions to a tee. Any help would be appreciated - thank you!

Hi @GFirmer, thanks for reaching out!
I can't say that I've seen this specific error before, so I'm wondering if you could send me a screenshot of the error logs? You can view the logs in Zotero by going to Tools > Developer > Error Console. Once you're there, click the Clear button at the top to get a clean slate, and then try an action to trigger the sync again.
Hopefully the logs will have some more details to help us figure this out!

Hello! Thanks for your help; here is what the error console is showing:

On the second try some more info that may be helpful?

@GFirmer thanks for that incredibly fast reply! 🤩
I remember seeing errors similar to those NS_ERROR ones when I was developing things, but I don't think I've seen it come up in a published version of the plugin before. I'll have to dig into that a bit more...
Your second message has the logs I was expecting to see. I was hoping those would have a bit more detail, but it looks like all it gives us is the same invalid URL message. I should improve those to actually include the URL! 😅
So since we don't have that URL right now, could you provide me some other info?

What version of Zotero are you on?
What other plugins do you have installed, if any?
Would you mind pasting the Database ID field from the Notero preferences?

Thanks!

@dvanoni  I'm on Zotero 6.0.4 and these are my other add ons:

This is the Database ID: https://www.notion.so/chem-ed-doctorate/d04f3515577249c9acc64734396e415a?v=7de788de32e74cbb91ef5f842179ca58

Ah, I think that's it! For the database ID, you want to pull out just the ID part of that full URL as described in step 4 of the Configure Notion section of the README.
In your case, it would be just d04f3515577249c9acc64734396e415a. Try putting just that in the Notero preferences and see if that works for you!

Heyyyy! I was so worried it would be a silly user error - I obviously skimmed those instructions! Thanks so much for your help :) Enjoy the rest of your day

Glad it's working for you! I hope it proves useful!


Tool doesn't work

It never works in any type of game and I get a DraftStartSearch Error: 'cp932' codec can't decode byte 0x87 in position 3093: illegal multibyte sequence error in debug.log I have a problem with this. I believe the problem is probably that player.log is saved as cp932, but python uses UTF-8.

Hi masu1208,
If I'm understanding the error correctly, it appears that the application is trying to open the file with a cp932 codec. The application doesn't explicitly set the codec so it's using a codec assigned by your operating system. You can check the assigned codec by following the steps in the image below.

The code in branch DEV_0303 sets the code to "utf-8", which appears to be the right code for the player.log file. Could you please run the python code in branch DEV_0303 to confirm that this is no longer an issue?
Thanks for bringing this to my attention.

I have confirmed that it works in Premier Draft, Quick Draft and Shield.

Issue resolved in version 3.03


Doesn't update superdataset properly any more. backups2datalad process is "stuck"

I noticed that https://github.com/dandi/dandisets says that last commit was 3 weeks ago.  But we have lots of recently updated dandisets:

Individual dandiset github repos seems also have recent updates

on drogon I see only some not pushed (why?) updates to 000026 in dandisets superdataset

dandi@drogon:/mnt/backup/dandi/dandisets$ git log github/draft..draft
commit a60c7bf88d82a350f538bd83594c163a3b29e51e (HEAD -> draft)
Author: DANDI Team<EMAIL_ADDRESS>Date:   Wed Mar 27 03:25:33 2024 -0400

    1 updated (000026)

    000026:
     - [backups2datalad] 22 files added, 10 files updated

commit df1dce3a6fe1aa954dd818ce54420ab31b07e71d
Author: DANDI Team<EMAIL_ADDRESS>Date:   Tue Mar 26 04:10:35 2024 -0400

    1 updated (000026)

    000026:
     - [backups2datalad] 229 files added, 29 files updated

and git status shows that MANY dandisets have uncommitted changes  (new commits OR modified content!!) on drogon
dandi@drogon:/mnt/backup/dandi/dandisets$ git status
Refresh index: 100% (612/612), done.
On branch draft
Your branch is ahead of 'github/draft' by 2 commits.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   000018 (new commits)
        modified:   000024 (new commits)
        modified:   000029 (modified content)
        modified:   000030 (new commits)
        modified:   000031 (new commits)
        modified:   000032 (new commits)
        modified:   000033 (new commits)
        modified:   000038 (new commits)
        modified:   000040 (new commits)
        modified:   000042 (new commits)
...

so most likely recent changes on handling embargoed/public dandisets broke this...
Then I looked at ps on drogon -- and apparently there is still a process which runs in --verify mode since Mar 07!
As such it seems to be stuck:
dandi    2645263  0.0  0.0   2484   404 ?        Ss   Mar07   0:00     /bin/sh -c chronic flock -E 0 -e -n /home/dandi/.run/backup2datalad-cron-nonzarr.lock bash -c '/mnt/backup/dandi/dandisets/tools/backups2datalad-update-cron --mode verify'
dandi    2645264  0.0  0.0  19748  5512 ?        S    Mar07   7:09       /usr/bin/perl /usr/bin/chronic flock -E 0 -e -n /home/dandi/.run/backup2datalad-cron-nonzarr.lock bash -c /mnt/backup/dandi/dandisets/tools/backups2datalad-update-cron --mode verify
dandi    2645317  0.0  0.0   5548   544 ?        S    Mar07   0:00         /usr/bin/flock -E 0 -e -n /home/dandi/.run/backup2datalad-cron-nonzarr.lock bash -c /mnt/backup/dandi/dandisets/tools/backups2datalad-update-cron --mode verify
dandi    2645318  0.0  0.0   6952  2536 ?        S    Mar07   0:00           /bin/bash /mnt/backup/dandi/dandisets/tools/backups2datalad-update-cron --mode verify
dandi    2650110  0.0  0.0   6952  1240 ?        S    Mar07   0:00             /bin/bash /mnt/backup/dandi/dandisets/tools/backups2datalad-update-cron --mode verify
dandi    2650139  0.0  0.3 1790364 200180 ?      Sl   Mar07   1:21               /home/dandi/miniconda3/envs/dandisets-2/bin/python3.1 /home/dandi/miniconda3/envs/dandisets-2/bin/backups2datalad -l WARNING --backup-root /mnt/backup/dandi --config tools/backups2datalad.cfg.yaml update-from-backup --workers 5 -e 000(026|108|243)$ --mode verify
dandi    2650140  0.0  0.0   6384  2272 ?        S    Mar07   0:00               grep -v nothing to save, working tree clean

py-spy'ing that process gives no useful detail

then I recalled that we have logs!  and this is what I see
(dandisets-2) dandi@drogon:/mnt/backup/dandi/dandisets$ tail -f .git/dandi/backups2datalad/2<IP_ADDRESS>.50.32Z.log
2024-03-29T03:12:15-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000729/versions/draft/ in 4292.823660 seconds as it raised PoolTimeout:
2024-03-29T03:34:24-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000726/versions/draft/ in 8515.649940 seconds as it raised PoolTimeout:
2024-03-29T04:12:28-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000727/versions/draft/ in 7882.410218 seconds as it raised PoolTimeout:
2024-03-29T04:19:15-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000728/versions/draft/ in 8402.162677 seconds as it raised PoolTimeout:
2024-03-29T04:24:48-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000729/versions/draft/ in 8413.961004 seconds as it raised PoolTimeout:
2024-03-29T05:34:07-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000725/versions/draft/ in 15890.092814 seconds as it raised PoolTimeout:
2024-03-29T05:57:19-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000726/versions/draft/ in 17122.589867 seconds as it raised PoolTimeout:
2024-03-29T06:24:50-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000727/versions/draft/ in 17075.343311 seconds as it raised PoolTimeout:
2024-03-29T06:40:18-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000728/versions/draft/ in 16793.199329 seconds as it raised PoolTimeout:
2024-03-29T06:46:02-0400 [WARNING ] backups2datalad: Retrying GET request to /dandisets/000729/versions/draft/ in 17087.073695 seconds as it raised PoolTimeout:

some seems to be open (000726) and some embargoed (000729) but even for embargoed endpoint seems to work just fine:
❯ curl -X 'GET' 'https://api.dandiarchive.org/api/dandisets/000729/versions/draft/' -H 'accept: application/json'
{"detail":"Authentication credentials were not provided."}%

so seems like a bug somewhere.

I think this may be caused by one or more bugs in httpx (possibly this one) for which fixes have been released, but the version of httpx in the dandisets-2 env is not the latest.  I suggest killing the backup process and updating all of the packages before starting a new process; I believe the latter step can be accomplished by adding the option --upgrade-strategy eager to this line.

ok, I will try to do that now

kill process
git reset --hard all repos with modified content, see that they are clean
commit updated state of superdataset
modify cron with --upgrade-strategy eager
redo the cron

--upgrade-strategy eager added to installation of backups2datalad had no effect on httpx
(dandisets-2) dandi@drogon:/mnt/backup/dandi/dandisets$ pip show httpx | grep Version; chronic pip uninstall --yes backups2datalad; pip install --upgrade-strategy eager git+https://github.com/dandi/backups2datalad | grep httpx; pip show httpx | grep Version
Version: 0.25.1
  Running command git clone --filter=blob:none --quiet https://github.com/dandi/backups2datalad /tmp/pip-req-build-usy7krrb
Requirement already satisfied: httpx~=0.22 in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from backups2datalad==0.0.0) (0.25.1)
Requirement already satisfied: certifi in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx~=0.22->backups2datalad==0.0.0) (2022.12.7)
Requirement already satisfied: httpcore in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx~=0.22->backups2datalad==0.0.0) (1.0.2)
Requirement already satisfied: h11<0.15,>=0.13 in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpcore->httpx~=0.22->backups2datalad==0.0.0) (0.14.0)
Version: 0.25.1

so I just manually upgraded it:
(dandisets-2) dandi@drogon:/mnt/backup/dandi/dandisets$ pip install --upgrade httpx
Requirement already satisfied: httpx in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (0.25.1)
Collecting httpx
  Downloading httpx-0.27.0-py3-none-any.whl.metadata (7.2 kB)
Requirement already satisfied: anyio in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx) (4.0.0)
Requirement already satisfied: certifi in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx) (2022.12.7)
Requirement already satisfied: httpcore==1.* in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx) (1.0.2)
Requirement already satisfied: idna in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx) (3.4)
Requirement already satisfied: sniffio in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpx) (1.3.0)
Requirement already satisfied: h11<0.15,>=0.13 in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from httpcore==1.*->httpx) (0.14.0)
Requirement already satisfied: exceptiongroup>=1.0.2 in /home/dandi/miniconda3/envs/dandisets-2/lib/python3.10/site-packages (from anyio->httpx) (1.1.3)
Downloading httpx-0.27.0-py3-none-any.whl (75 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75.6/75.6 kB 1.8 MB/s eta 0:00:00
Installing collected packages: httpx
  Attempting uninstall: httpx
    Found existing installation: httpx 0.25.1
    Uninstalling httpx-0.25.1:
      Successfully uninstalled httpx-0.25.1
Successfully installed httpx-0.27.0

I think stuckness is resolved with the upgrade, thanks!


Replace Codeception with phpunit

Fixes #21
Changes proposed in this pull request:

Tests split into one file per class (except for trait tests), uses PSR-4
Codeception removed

Coverage increased (+4.9%) to 73.918% when pulling 5eaa32baa61691c30152f3dbee15cb441bdcff1a on phpunit into 56852eddaac894f39d6f0d53e0cb4f6202a99c76 on develop.

Not sure how the coverage could increase when I just ported the test cases verbatim, but I guess it's good.
Composer dependencies are now much fewer:
Before (before #35 and this one): Package operations: 86 installs, 0 updates, 0 removals
After: Package operations: 41 installs, 0 updates, 0 removals


Add actix feature for using actix-web

I've gotten it to compile and the tests should pass for ipfs-lib, but there are still a lot of things to check on for ipfs-cli before this will be ready to merge.

This will be ready to land once upstream dependency rust-multipart-rfc7578 is updated.

@ferristseng could you take a look when you get a chance? Want to get your approval before I merge this.
The tests all pass for the hyper & actix-web implementations.
I left ipfs-cli as is, so downstream users of hyper should see no changes. I've used the actix feature in git-lfs-ipfs and it seems to work fine; the forms work after the multipart PR I sent was merged.

@sameer Will do. I'm a little bit busy this week, but I'll try to get to it soon


optimize: fix mysql connecting Exception (apache#662)

Ⅰ. Describe what this PR did
add mysql connect param of '&allowPublicKeyRetrieval=true'
Ⅱ. Does this pull request fix one issue?
fixes #662
Ⅲ. Why don't you add test cases (unit test/integration test)?
integration test
Ⅳ. Describe how to verify it
exec at-sample by kind
Ⅴ. Special notes for reviews
No

I believe this change may not be universally compatible with all versions of MySQL. This configuration should be adjusted based on individual user needs and is unrelated to sample data.

I think this config property is suitable for versions greater than 5.1.31.
ref: https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html


Cannot handle conditional children

We have something like the following:
<ResponsiveReactGridLayout>

This child is always present

  {someCondition &&
This child is conditionally present
}
</ResponsiveReactGridLayout>

When the conditional child is falsey, the layout breaks with the following in the console:
Warning: Failed prop type: Cannot read property 'key' of null
My simple workaround is a ternary with an empty div instead:
<ResponsiveReactGridLayout>

This child is always present

  {someCondition ?
This child is conditionally present
}
</ResponsiveReactGridLayout> :

An alternative, slightly more complex, workaround might be to manage the children in some kind of config array, filter on only the visible children then render the result. I think that's the recommendation in the response to https://github.com/STRML/react-grid-layout/issues/216.
However, that conditional render I'm using is a pretty common React pattern so I feel like it should be supported.
Happy to investigate and raise a PR later but I want to first confirm if this is indeed a bug?
I've recreated it here where I'm forcing a falsey value in the generateDOM function's map.

Oh there's this issue and associated fix too. https://github.com/STRML/react-grid-layout/issues/577
Perhaps the fix doesn't cover this scenario?

@mzogheib you can fix it by filtering your items before rendering:
const items = [
  { text: 'This child is always present' },
 someCondition &&  { text: 'This child is conditionally present' }
].filter(Boolean)

<ResponsiveReactGridLayout>
  {items.map(item =>
{item.text}
)}
</ResponsiveReactGridLayout>

But I think, we can try to fix it on the lib's side


"Confirm completed issue" transactional email CTA didn't let me log in

This email included a link to take action:

But I was logged out, and the screen only provided me with options to create a new organization (on the page https://polar.sh/dashboard/create), without a way to log in. I had to go back to the homepage, log in, then open the page again.
(also the email gives me links to the right page, but a big CTA button with "Confirm completion" might be more effective here!)

Cleaning up our issues to move towards a fully open backlog and better issue structure.
Closing this issue. During August, we changed our redirect/flow for signups and had a momentary issue that would explain this behaviour at the time. It was addressed and now we only redirect to /dashboard/create in case of explicit signups with the intent of being a creator, e.g developer selling, getting funding etc.


Fixed build failure caused by changes in dependencies

Hi @tonytang-microsoft-com, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;


Incomplete Content

This content looks like the structure of an article and appears to be missing content.

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

ID: 8d745280-391c-4f6d-6a35-7125fa263548
Version Independent ID: 0ccd8add-b5fb-469c-509e-e009c43a00ac
Content: Set up Delivery Optimization
Content Source: windows/deployment/update/waas-delivery-optimization-setup.md
Product: w10
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

Hello, @zakgodwin The content you have mentioned has been removed. Thank you for your feedback.

@officedocsbot close


Edit compiled JS

This code : <div className="sidebar" /> compiles into JS, giving only 2 arguments like that React.createElement('div', {className: 'sidebar'}) There's no 'null' as third argument.

This was fixed elsewhere, but thank you very much for your PR!


Spring.NET + NHibernate - Multiple (Distinct) Databases

Is it possible to configure two different databases with spring.net + nhibernate so that when the application is booted the tables are created in the different databases?

I'm doing a rude experiment with closing this, like what stale bot does, but maybe more human as I will probably actually react to feedback. As this issue has been stale for so long, I'll close it. If it's still an issue you would like to pursue, we can definitely reopen.
With limited resources this is just something that we need to do. Thank you for your understanding.


Release Google.Cloud.PolicySimulator.V1 version 1.2.0

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Cloud.PolicySimulator.V1-1.2.0


FUSETOOLS2-2313: Add UI tests for Display variable values with Exchange scope during d…

…ebugging

@pospisilf the new tests are failing due to last changes on PR

@pospisilf the new tests are failing due to last changes on PR

Fixed. Thanks for noticing.

I think it is worthy mentioning in the commit message that it is the tests which are added by this commit

@apupier which commit do you mean?

already solved in past by me, sorry


Auto-register UDF extention when main plugin is set

Signed-off-by: Allen Xu<EMAIL_ADDRESS>To deal with https://github.com/NVIDIA/spark-rapids/issues/688.
With this change, the udf-compiler extension will be registered automatically which has the same behavior as SQLExecPlugin.

build

We should also update documentation:

https://github.com/NVIDIA/spark-rapids/blob/16e80917795a232cfb05f92d8f9296ef0369f3d4/docs/compatibility.md
https://github.com/NVIDIA/spark-rapids/blob/34d52d43ca6f465df97b539390c4c13a7a2d6a5a/udf-compiler/README.md

Could happen in a different PR IMHO.

Could we remove the extensions modification from the UDF tests?
https://github.com/NVIDIA/spark-rapids/blob/16e80917795a232cfb05f92d8f9296ef0369f3d4/udf-compiler/src/test/scala/com/nvidia/spark/OpcodeSuite.scala#L37

Removing current extension requires adding main sql plugin config. But that will fail the OpcodeSuite.
Can we keep the UDF test suites independent and leave the extension there.

I would like to see the documentation updated as a part of this PR, just so it is not forgotten.

build

Removing current extension requires adding main sql plugin config. But that will fail the OpcodeSuite.
Can we keep the UDF test suites independent and leave the extension there?

Sounds good, sorry I missed that.


shard 0 scheduled for a restart

0|Sanae    | -1 19:13:06 ShardsCoordinator | Auto-restarting shard 0```

So My bot has been doing this about once a day for the last month or so. I'm wondering what is causing this? it only happens on one of my bots, the other 4 Nadeko's that I host have no issues. as a matter of fact, the one has been online for 19 days so far.

You running the latest version? That shouldn't happen on any recent version, unless there's some issue with resources or something. How many bots are you hosting? Not sure how it works with them both polling redis.

I'm running 2.23.0 on 3 different bots, 2.17.1 on another bot and 2.22.0 on another. It's Ubuntu through digital ocean.

Is the bot you're running that's having issues an old version?

What's the output of free -h on your server?

sam@sera:~$ free -h
total        used        free      shared  buff/cache   available
Mem:           3.9G        1.9G        320M        126M        1.7G        1.6G
Swap:            0B          0B          0B
It looks like you are on to something, I may need even more ram. bummer

Yeah, common issue with redis, as it's in memory store. It's 99% that, unfortunately all you can do is get more memory. It's common with many apps that use redis to get OOM (out of memory) errors if you aren't watching 🙃

it says I have 1.9gb of ram available though. isnt that good?

Run the bot that has issues, make sure it's latest version, and not using any custom settings in the credentials file. If it keeps doing it check memory and report back.

My bot just randomly restarted again for no apparent reason. Same as before. Shard 0 is unresponsive. It's been about 4 days since it's done it. The ram usage is about 2.1gb out of 4gb

it kinda looks like when people spam customreactions, it causes my bot to lag out and restart itself. could that be the issue?

This has started to happen to me recently as well. It's usually while everyone is asleep and the bot isn't even in use.
My guess is it's just a temporary loss of connection to Discord for whatever reason.

It's been 14 days and the bot finally restarted again. I'm assuming that it doesnt have anything to do with my memory usage at this point.

@LunarSera Keep an eye on it for 3 more days. If everything is still fine i.g. the issue would be resolved from itself?

It restarted yesterday, I didnt write a comment here about it though

Was it scheduled or? Like related to the issue or? Was there a error?

Looking a bit back into this issue, but have you tried re-making a new vps on digital ocean?
Sometimes re-installing it completley should resolve all issues related to the specific machine. But that's all i can give you. As most common solutions don't seem to have effect 🤔

I don't have that luxery because there are tons of programs set up on it including a game server

Mhm.. and a partial re-install would-be help ether..
What happens when you build another nadekobot, and see if it behaves better. If so you can then discard the one that’s now partial working.

Only one of my nadeko's does it. I have 4 running.

Ik, but what happens when you add another bot. If 3/4 work, maybe adding another one will work better then the faulthy one.
If that's the case, you simpley remove the that's faulthy, and you have 4 working nadeko's.

The one that is faulty is in 75 servers. I'm not going to just delete it. I'll wait for kwoth or someone else with more common sense to reply here.

I try to explain to you that you can add another’s bot, test and see if it works better.
And if it is better. That you can then move from the faulthy one to The new one. Moving is then just editing the token from that point. And no point you ever have to delete or risk the faulthy one.

It's fine as long as it comes back normally. No idea why it may happen.


Prompt developers if they forget to Sign-Off a commit.

Feature Suggestion
When contributing back to this repo, I keep forgetting to sign off commits.
I notice that when committing there is some pre commit validation which got me thinking if something similar could be done to validate that commits are signed before being pushed?

Doing something like this probably wouldn't solve all missing sign offs, but I'd imagine it would capture a significant number.
Possible Implementation
I had a few ideas for how to do this, but each one has it's own set of benefits and drawbacks with no clear winner.  My current thinking is to go for a combination of 2 and 3 as whilst they only detect limited scenarios (those using the CLI), they also don't  have any negative impacts
1. commit-msg hook
First idea I had was to use a commit-msg hook.  At first glance it works perfectly, but there is one significant drawback .  If your commit is rejected, your message is lost for good!
if [ "1" != "$(grep -c '^Signed-off-by: ' "$1")" ]; then
    NAME=$(git config user.name)
    EMAIL=$(git config user.email)
    echo "❌ Commit not signed off" 1>&2
    echo "If using 'git commit' include '-s'"
    echo "If committing through another tool, manually add the following line:"
    echo "  Signed-off-by: $NAME <$EMAIL>"
    echo "For more details, see 'Developer Certificate of Origin' section of contributing.md"
    echo
    exit 1
fi

2. commit-msg hook but with warning rather than error
To work around the lost message issue, you could make the failure a warning rather than an error so the commit is still made
if [ "1" != "$(grep -c '^Signed-off-by: ' "$1")" ]; then
    echo "⚠ Commit not signed off"
    echo "Fix this by running the following command"
    echo "  git commit -s --amend --no-edit"
    echo "For more details, see 'Developer Certificate of Origin' section of contributing.md"
    echo
fi

Whilst this does provide some early warning, it's not enforce and could easily be missed (particularly if a git GUI is used rather than a command line)
3. prepare-commit-msg
When a commit isn't signed off, add a note to the default commit message to include the sign off line.  You could add this by default, but I don't like the idea of adding PII in unexpected places (even though it's already going to be in the commit) plus having commits signed off by default may defeat some of the point of signing off commits in the first place.
 Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
# ....

So basically what I mean is provide the prepare message, and if it's not in the final one, exit out with some info.

Option 2 with a non zero exit code is option 1.  Returning a non zero exit code rejects the commit, but it also causes you to completely loose the commit message.  (i.e. if you correct with git commit -s you'll start all over again with an empty message.)

Hahah sorry - totally missed that part 😅  Have gone through a lot of issues today and my mind isn't what it was.
Ok - hmm, to be honest then, I think 1 and three will be great. it's a little bit of teaching by enforcement, so if you type out a long message and forget it, or don't setup your .husky/prepare-commit-msg hooks that automatically add it (thats what we all use as maintainers), then if you loose it once, you'll remember next time.
Maybe the message could be adjusted to basically say something like this:
Commit has not been signed off, please make sure that you sign off the commit using the `-s` flag, or setup auto signing of the commits by following the guide here: https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md#developer-certificate-of-origin

We should add the contents of our husky hook to the contributing guide also :pray:


feat: make checksum addresses the default in traces and outputs

Component
Forge, Cast, Anvil
Describe the feature you would like
Right now most (all?) addresses printed to the terminal are lowercased. Often I want to copy that address in solidity, which requires checksummed addresses, so I need to checksum it manually using e.g. cast --to-checksum-address.
In general, some tools/apps require checksum addresses, some support both, and I've never seen one that requires lowercase. So in my opinion always using checksum addresses is more convenient without any downsides.
Additional context
No response

definitely @ptisserand
there's already the to_checksum function
https://github.com/gakonst/ethers-rs/blob/a41ae901e58fbe45e5ec037d57f6e75a85ef1cc9/ethers-core/src/utils/mod.rs#L267
So either use that function everywhere
or do something like
trait AddressExt {
  fn to_checksum_address(&self) -> String
}

impl AddressExt for Address {...}

so you can call it directly on an Address

Thanks for your feedback @mattsse, can I pick this issue?

Looks like this has already been merged -- can we close this issue?


MpMcQueue: add MpMcQueueView, similar to VecView

This PR is built on top of #483

closing in favor of #488


Adding function signature for external data documentation.

As per approved issue #79, added function signature and clarification around documentation

Thanks a ton for adding this!

Anytime 👍. Issue #79 needs to be closed.


Missing tests

Mocking @actions/context and @actions/github https://github.com/actions/toolkit/issues/71


Swap UI Implementation

Implementing the new v2 Swap UI design into Kwenta. The Swap UI consists of two elements: The (basic) Synth Exchange and the Advanced Trading Mode.
Purpose of the ticket
This ticket tracks the Swap UI implementation
Ticket Tracker

#276

Basic Synth Exchange

#459
Navigation bar ticket
Various UI components tickets

Screenshots of Final Swap UI layout:
1: Synth Exchange
2: Advanced Trading Mode

advanced swap:
https://www.figma.com/file/YWU3PMsnqZaqr1gABgAFJK/UI-Refresh?node-id=1846%3A9749

simple swap:
https://www.figma.com/file/YWU3PMsnqZaqr1gABgAFJK/UI-Refresh?node-id=1885%3A16044


[BUG] Models groups get auto deleted

What is the bug?
When a model for remote endpoint is deleted, the model group associated with it gets auto deleted.
How can one reproduce the bug?
Steps to reproduce the behavior:

Create a connector
Create a model group
Create a model
Delete the model
Check the model group status

What is the expected behavior?
Expected behavior is model groups do not get deleted when an associated model is deleted.
What is your host/environment?

OS: Ubuntu 22.04
Version 2.9
Plugins ml-commons

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?
Add any other context about the problem.

Hi @ps48 It is the expected behaviour actually. Model group does not serve any purpose when it is empty by itself. So it gets deleted when the last version of it is deleted. Model group gets auto created with the first version and gets auto deleted with the last version.

It is okay, if this is an expected behavior. But from a user's point of view, if I create a model group explicitly I may use it in future with other models.

Yeah makes sense. But the idea here is to maintain consistency with the front-end UI where user does now know about model group explicitly. They provide the access control data with the first model version itself. So for now through APIs, we let user create access control data either with model group or with first version but later switch to only having model version. We first want users to get used to the concept of grouping and access control and once we have front-end ready, we might probably not have creating model group separately.

Yes, I agree a UI would be really helpful here. As an end user, I would like to see the access control on each on the models in the UI. Thanks for clarifying the design philosophy here. I'll close this issue for now.
Linking the documentation here: https://opensearch.org/docs/latest/ml-commons-plugin/model-access-control/


docs: replace mixed in Database doc comments

Description
See #6310

fix doc comments

Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

Updated the doc comment for escapeIdentifiers() , and a bit more.


IE 8 Search problem

Hello.
Trying to use client-side search in JSTree in IE 8 and getting an error Object does not support this property or method. The method is querySelectorAll. However, using the following proxy method resolves the problem. When using proxy, JSTree works fine with IE7 as well.
    this.querySelectorAll = function(selector, parent){
        if(parent.querySelectorAll) {
            return parent.querySelectorAll(selector);
        }else {
            return jQuery(selector, parent);
        }
    };

IE7 is not supported, as for IE8 - it has querySelectorAll, if it is not working for you - that means you are in compatibility mode, either turn it off, or use a polyfill (as you have).
Keep in mind such a polyfill will not be part of jstree.
Best regards,
Ivan


[oatpp-zlib] add missing deps

usage:
oatpp-zlib provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(oatpp-zlib CONFIG REQUIRED)
    target_link_libraries(main PRIVATE oatpp::oatpp-zlib)

When testing usage, the following error occurs:
1> [CMake] CMake Error at G:/oatpp-zlib/installed/x64-windows/share/oatpp-zlib/oatpp-zlibTargets.cmake:60 (set_target_properties):
1> [CMake]   The link interface of target "oatpp::oatpp-zlib" contains:
1> [CMake]
1> [CMake]     oatpp::oatpp
1> [CMake]
1> [CMake]   but the target was not found.  Possible reasons include:
1> [CMake]
1> [CMake]     * There is a typo in the target name.
1> [CMake]     * A find_package call is missing for an IMPORTED target.
1> [CMake]     * An ALIAS target is missing.
1> [CMake]
1> [CMake] Call Stack (most recent call first):
1> [CMake]   G:/oatpp-zlib/installed/x64-windows/share/oatpp-zlib/oatpp-zlibConfig.cmake:18 (include)
1> [CMake]   G:/oatpp-zlib/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
1> [CMake]   CMakeUsage/CMakeLists.txt:13 (find_package)

1> [CMake] CMake Error at G:/oatpp-zli/installed/x64-windows/share/oatpp-zlib/oatpp-zlibTargets.cmake:60 (set_target_properties):
1> [CMake]   The link interface of target "oatpp::oatpp-zlib" contains:
1> [CMake]
1> [CMake]     ZLIB::ZLIB
1> [CMake]
1> [CMake]   but the target was not found.  Possible reasons include:
1> [CMake]
1> [CMake]     * There is a typo in the target name.
1> [CMake]     * A find_package call is missing for an IMPORTED target.
1> [CMake]     * An ALIAS target is missing.
1> [CMake]
1> [CMake] Call Stack (most recent call first):
1> [CMake]   G:/oatpp-zli/installed/x64-windows/share/oatpp-zlib/oatpp-zlibConfig.cmake:21 (include)
1> [CMake]   G:/oatpp-zli/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
1> [CMake]   CMakeUsage/CMakeLists.txt:13 (find_package)

CMakeFindUsage.cpp

#include <iostream>
#include "oatpp-zlib/Processor.hpp"
using namespace std;
int main()
{
cout << "Hello CMake." << endl;
return 0;
}

CMakeLists.txt

cmake_minimum_required (VERSION 3.8)
set(CMAKE_TOOLCHAIN_FILE "E:/oatpp-zlib/scripts/buildsystems/vcpkg.cmake")
project ("CMakeFindUsage")
add_library (main "CMakeFindUsage.cpp")
find_package(oatpp-zlib CONFIG REQUIRED)
target_link_libraries(main PRIVATE oatpp::oatpp-zlib)

Does it works now?

Does it works now?

There are still errors, the test code is the same as above: https://github.com/microsoft/vcpkg/pull/33605#issuecomment-1709417671
>------ Build All started: Project: CMakeUsage, Configuration: x64-Debug ------
  MSBuild version 17.6.3+07e294721 for .NET Framework

    Checking Build System
    Building Custom Rule C:/Users/monica/source/repos/CMakeUsage/CMakeUsage/CMakeLists.txt
    CMakeUsage.cpp
G:\oatpp-zlib\installed\x64-windows\include\oatpp-1.3.0\oatpp-zlib\oatpp-zlib\Processor.hpp(28,10): fatal error C1083: Cannot open include file: 'oatpp/core/data/buffer/Processor.hpp': No such file or directory

Build All failed.

Locally the usage is now working :)

oatapp-zlib
The usage test passed on x64-windows (header files found):
oatpp-zlib provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(oatpp-zlib CONFIG REQUIRED)
    target_link_libraries(main PRIVATE oatpp::oatpp-zlib)

Thanks!