session()->get() function unhandled exception

Versions:

ide-helper Version: v2.10.0
Laravel Version: v8.76.2
PHP Version: 8.0.6

Description:
Hello,
I got an error on the session()->get() functionality in my code.
session()->get('order.customer_no')

It shows the error:

After I checked the declaration it wasn't fully clear for the PHPStorm which declaration to use for the method:

I tried to run ide-helper:generate and ide-helper:meta again, but nothing changed. The bug is on all appearances in the code.
Hope someone can me help out with this bug.

The behaviour you're seeing is unrelated to ide-helper: it doesn't do anything special for global functions like session() etc.
We're at the mercy what phpstorm can or cannot infer here; you would need to bring this to Jetbrains attention.
Alternatively can you use \Illuminate\Support\Facades\Session::get(), maybe it works better for your use-case (as much as people hate Facades, I think they still beat usage of global functions).


serif.affinity.publisher version <IP_ADDRESS>0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The installer is (legally) available from various locations. Unfortunately downloading it from the publishers site requires a previous registration. Therfor I chose to provide an url provided by the CDN of "Chip", a large german computer magazine.
The (German) www-page describing the download ca be accessed at https://www.chip.de/downloads/Affinity-Publisher_154192211.html

/azp run

I think this is the same as with serif.affinity.photo where @stephengillie waived the domain validation before re-running the test pipeline and then everything succeeded?!

I think this is the same as with serif.affinity.photo (PR #89210 )where @stephengillie waived the domain validation before re-running the test pipeline and then everything succeeded?!

Yes, same situation - unfortuanately, this scenario is not supported. And likewise, are any of the other various download locations supported or endorsed by the developer?

Hello @stephengilli!
I understand your concerns. I will ask in the Serif's official support forums whether there is any chance to get a "regsitration free" download from their servers or whether they agree that we use the "Chip-servers".
Is it proof enough if I post the link to the thread in the official forum here if there is a positive result?
I just need some time as I am "busy with real life" for most time of the rest of the week.

@msftbot Area-External

@msftbot Blocking-Issue

As said before, I will try to find out what the publisher thinks about the problem. (Just posting this to prevent the issue from being closed).

See here for details: #90542


Add new call to check that the dev server build is complete

This is an additional safeguard to ensure that sideloading doesn't initiate before the dev build is completed

@TCourtneyOwen What's the status of this PR?

@akrantz I think it should be good to go. I will go ahead and merge it


loosen restriction on graphql to <1.0.0

fixes #150

Coverage remained the same at 96.082% when pulling 90415fad5729ae734430330009add75108bce72b on loosen_graphql into cec7941447669b29b80c44ce802cfdacedae639d on master.


mptcpd: init at 0.13

Hi,
This add https://github.com/multipath-tcp/mptcpd
And take some inspiration from @teto in https://github.com/teto/mptcp-flake/blob/main/pkgs/mptcpd/default.nix
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

And the module please!

Thanks for the review !
I added the requested changes

The module needs to go into a separate commit named "nixos/mptcpd: init".

ok, done.
Thanks !

https://github.com/teto/mptcp-flake/blob/main/modules/mptcp/default.nix

https://github.com/teto/mptcp-flake/blob/main/modules/mptcp/default.nix

@mweinelt Please note that this old nix module was designed for an old out-of-tree kernel supporting a different implementation of MPTCP than the one that is now in the upstream kernel. See this line:

Default mptcp kernel to use. For now the module works only with the out-of-tree module.

Most of the option and sysctl names I see there are for the previous out-of-tree. The routing modifications should not be needed as well.

I confirm @matttbe's remark. I think we could merge mptcpd and see for the module later. Testing it might need some work (I have never tested mptcpd in a multihomed setting). Ideally we would have a nixosTest for it but this means someone is using it and motivated enough to write and maintain it. @nim65s ar you going to use the module ?

I wanted to try mptcp on top of multiple vpn (zerotier / tailscale / maybe mycelium), yes, but I have no idea where I'm going, so maybe this is foolish / useless.

Hello,
It looks like most of the work has been done here (thanks for that and the reviews!), but I'm not sure what's missing to get this merged. Any help needed from "upstream"?

I'll defer to @teto and @nim65s.


Fix warnings when using GPU-based validation on PC

When SetEnableGPUBasedValidation is enabled on Windows, the initial state for a resource will result in a harmless but noisy warning.
D3D12 WARNING: ID3D12Device::CreateCommittedResource: Ignoring InitialState D3D12_RESOURCE_STATE_COPY_DEST. Buffers are effectively created in state D3D12_RESOURCE_STATE_COMMON. [ STATE_CREATION WARNING #1328: CREATERESOURCE_STATE_IGNORED]

The fix is to use the COMMON state initially and allow it to promote automatically.

Since common state promotion/decay is optional on Xbox, it must continue to use COPY_DEST as the initial state for this platform.

VCPKG is having infrastructure issues today due to a git change that impacted GitHub. The code isn't a problem.


Diversity check bugfix

I was looking into the changes in recall we have been observing in various test cases. Thanks @jtibshirani for pointing out we should not see any change at all! I found a couple of related bugs in the diversity-checking code that I had introduced when refactoring as part of splitting into float[]- and byte[]- oriented versions. I found some gaps in our test coverage and added tests. One of these demonstrates the bug; the other is just filling in another case.
With this fix I was able to measure the identical recall comparing against test runs with 9.3

@msokolov Thanks for tacking this.
I ran ann benchmarks with this change, and happy to confirm that in my test recall with this PR is the same as in 9.3 branch, although QPS is lower, but we can investigate QPSs later.
glove-100-angular M:16 efConstruction:100

9.3 recall
9.3 QPS
this PR recall
this PR QPS

n_cands=10
0.620
2745.933
0.620
1675.500

n_cands=20
0.680
2288.665
0.680
1512.744

n_cands=40
0.746
1770.243
0.746
1040.240

n_cands=80
0.809
1226.738
0.809
695.236

n_cands=120
0.843
948.908
0.843
525.914

n_cands=200
0.878
671.781
0.878
351.529

n_cands=400
0.918
392.265
0.918
207.854

n_cands=600
0.937
282.403
0.937
144.311

n_cands=800
0.949
214.620
0.949
116.875

It looks like some recent test failures affecting the 9.4 branch are caused by this change, e.g. https://ci-builds.apache.org/job/Lucene/job/Lucene-NightlyTests-9.4/18/

Apologies, I just noticed that you opened https://github.com/apache/lucene/issues/11787.


[Feature][Alert] Alarm availability improvement

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Today, I found a problem in production. If the alarm stops service, who will tell me?
Obviously, this is an unavoidable problem, and there is no perfect solution after all, but it should be decided by the user, even if he is willing to use 100 servers to ensure that he can receive warnings.
Use case
Since other modules can be decentralized, the alarm module can also improve the availability of higher levels according to the needs of users.
But I checked the code, which is thread unsafe. I suggest modifying it to send alarms in a thread safe way.
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

Hi iamliangdi, thx for opening this issue. It is a good point that ds should have some alert mechanism in case alert-server fails itself. May I ask how do u want to improve the availability of alert-server? Are u planning to enable users to deploy multiple alert-servers?

Hi iamliangdi, thx for opening this issue. It is a good point that ds should have some alert mechanism in case alert-server fails itself. May I ask how do u want to improve the availability of alert-server? Are u planning to enable users to deploy multiple alert-servers?

hi, Because I just started looking at the code, limited to ability, my idea is

Give the power to deploy multiple alert-servers to users, and we are only responsible for ensuring that they will not send duplicate information;

Send email to users in the fatal errors we catch as much as possible;

Because in the process of using it, I found that it stopped serving, but didn't tell me it was leaving

Hi iamliangdi, thx for opening this issue. It is a good point that ds should have some alert mechanism in case alert-server fails itself. May I ask how do u want to improve the availability of alert-server? Are u planning to enable users to deploy multiple alert-servers?

hi, Because I just started looking at the code, limited to ability, my idea is

Give the power to deploy multiple alert-servers to users, and we are only responsible for ensuring that they will not send duplicate information;
Send email to users in the fatal errors we catch as much as possible;

Because in the process of using it, I found that it stopped serving, but didn't tell me it was leaving

@zhongjiajie @SbloodyS I saw there are tables related to alerting in ds metaDB. Just for double-check, if alert-server fails for some reason and restarted later, during the failure, will alerts still get stored in db and sent as soon as alert-server restarts?

Hi iamliangdi, thx for opening this issue. It is a good point that ds should have some alert mechanism in case alert-server fails itself. May I ask how do u want to improve the availability of alert-server? Are u planning to enable users to deploy multiple alert-servers?

hi, Because I just started looking at the code, limited to ability, my idea is

Give the power to deploy multiple alert-servers to users, and we are only responsible for ensuring that they will not send duplicate information;
Send email to users in the fatal errors we catch as much as possible;

Because in the process of using it, I found that it stopped serving, but didn't tell me it was leaving

@zhongjiajie @SbloodyS I saw there are tables related to alerting in ds metaDB. Just for double-check, if alert-server fails for some reason and restarted later, during the failure, will alerts still get stored in db and sent as soon as alert-server restarts?

Yes. The alert service consumes very few resources. So i recommand the following two ways to ensure production stability:

Deploy alert server in a single instance.
Using systemd or supervisor to manage the process of alert-server. @iamliangdi

Also, I think we could include alert-server heartbeats in DS metrics so that it can be monitored by external system.

Give the power to deploy multiple alert-servers to users, and we are only responsible for ensuring that they will not send duplicate information;

Sound great, but single alert-server is enough for most cases. I find you want to submit PR to it, do you have any plan?

Hi @iamliangdi, may I ask whether you have any follow-ups to this issue? I'm working on metrics and will add alert server related metrics. see: #11131
However, in K8S scenario, HA ability for alert server is necessary as K8S could bring up a new one once the pod of alert server is down. WDYT? @SbloodyS @zhongjiajie @iamliangdi

Hi @iamliangdi, may I ask whether you have any follow-ups to this issue? I'm working on metrics and will add alert server related metrics. see: #11131
However, in K8S scenario, HA ability for alert server is necessary as K8S could bring up a new one once the pod of alert server is down. WDYT? @SbloodyS @zhongjiajie @iamliangdi

Yeah, agree with the  k8s scenario, but in another deployment, we also need some health checks or metrics to tell us


Documentation table of content

added Table of Content for new documentation

extracted existing inline stories from mdx, because if the stories are in mdx:

there is no typescript, we are not allowed to write it there
there is no typescript linting/compiling, which will result in many broken stories

separat stories (tsx) from documentation (mdx).

the "@comet" section in the main menu, lasts as long, as we migrate stories to the new documentation.

How do you want to proceed with development stories? (stories, that aren't written for docs, only used eg. to reproduce a bug)

How do you want to proceed with development stories? (stories, that aren't written for docs, only used eg. to reproduce a bug)

I think we can handle this in one of the following ways:

we could put them in stories too, do not link them in the docs. and put them in a development directory

we could make an explicit development stories section in the main menu which is only for testing purpose

i prefer Variant 2.
@nsams how would you handle this?

sounds good!


storage benchwrapper: update google-cloud-storage version and keep in sync

@jadekler yep! This version number will now get bumped every time we do a release or snapshot bump with this annotation (part of releasetool)

Sounds good thanks!


When too many tabs are opened, popup filter can be fuzzy matching

Is your feature request related to a problem? Please describe.
When too many tabs are opened, can the input filter text in the pop-up list box be changed from prefix matching to fuzzy matching?
Describe the solution you'd like
When you enter the meal text, you can not only match the meal_table. You can also match member_meal_table.

thanks for the suggestion

Please consider also https://github.com/dbeaver/dbeaver/issues/16730#issue-1263155480
Thanks
Günter


Import multi-line notes from LastPass

fixes #14
csvjson is very simplistic in its parsing so fixing the upstream would require significant effort, it's much easier to use csv-parse

Thanks @agios! This is perfect.


RTN6

I needed cdebf4b, 00ae3c0, ccccf2a, 225dbd8 from branch RSA15a.

Looks good, would be nice to consider better naming for MockTransport perhaps?

@mattheworiordan Yes, like TestProxyTransport and maybe changing for MockHTTPExecutor as well.

Yes, like TestProxyTransport and maybe changing for MockHTTPExecutor as well.

Sounds good

@mattheworiordan Done

Thanks


D3d11 enable debug layer with renderdoc api.

Hi, I want to use printf function in hlsl, and I enabled the renderdoc api like this:
int ret = RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_1_2, (void**)&rdoc_api);
But when I use CreatePixelShader to load my shader, an error will appear. The output log shows:

d3d11_device.cpp( 785) - Warning - Returning a dummy ID3D11InfoQueue that does nothing. RenderDoc takes control of the debug layer.

It seems that renderdoc takes control of the debug layer, so I can't use the d3d11 debug layer in my application. How to fix it?
My environment is Windows11, C++20, Visual Studio 2022.
Hope for your help.

I find the same problem in #418. I try to write code:
rdoc_api->SetCaptureOptionU32(eRENDERDOC_Option_DebugOutputMute, 0);
But it still seems to throw an error.
I will close this issue now.


doc: add link to multi-user video

Add the link as a related link instead of a YouTube link, since the
video shows an example for how to use projects/authentication,
not how it works in general.
Signed-off-by: Ruth Fuchss<EMAIL_ADDRESS>

Documentation preview available at: https://linuxcontainers.org/lxd/docs/pr.10157/


use new plugin (for old v1 plugins) include path

With inspec/inspec#3278 we introduced new include paths for plugins in preparation for our new plugin mechanism. This updates iggy to use that new plugin includes

Looking forward to the new plugin architecture.


core: Add support for retrieving CURL error messages, handle unexpected CURL return code on macOS, and log such codes in tests (fixes #519).

Description

This PR fixes #519.
In recent workflows, we found that some macOS build failed because of the unit test failures. By further investigation, it is because HTTP error code 416 is not handled as CURL_HTTP_RETURNED_ERROR in the libcurl version of the GH macOS runner. The same issue won't be reproduced in ubuntu 20.04 or 22.04 even with the same version of libcurl. Therefore, this PR adds special handling for macOS to address the failure in the unit test cases.
In addition, as we were approaching the cause of the failure, we realized the CURL error message could be helpful. Therefore, we also add support for retrieving CURL error messages through the CurlDownloadHandler to improve the debugability of our CURL utilities.
Validation performed

Ensure workflow can be successfully built except on centOS, which is tracked by #521 and is not related to this PR.
Unit tests all passed.

Can you:

Update the PR description
Comment on the workflow failures once they finish

centOS build failed due to issue #521 which is not related to this PR.


apply random traits in Factory

Hi there,
I am currently working on some factories, and want to have each with static-values and randomized values. To use the already defined traits I would like to something like:
FactoryGirl.define do

  factory :currency do
    eur

    trait :usd do
      name 'US-Dollar'
      symbol '$'
    end

    trait :eur do
      name 'Euro'
      symbol '€'
    end

    # what would be really nice..
    trait :random, traits: [
        [:eur, :usd].sample
    ]

  end
end

Could we add this feature in any future release, or is there any possibility to do this already?

?? I use random data in my test suites routinely. I've never found it to cause any problems at all, and sometimes it points out cases I didn't consider. I think fixed data is a testing smell.

@marnen I think it depends on the tests; I can definitely appreciate a fuzzing tool, like tarantula, to actively try to break areas of an application.
However, I've found random data in tests which aren't explicitly written to fuzz the application often introduces nondeterminism, which Martin Fowler has written about at length here.

The trouble with non-deterministic tests is that when they go red, you have no idea whether its due to a bug, or just part of the non-deterministic behavior. Usually with these tests a non-deterministic failure is relatively common, so you end up shrugging your shoulders when these tests go red. Once you start ignoring a regression test failure, then that test is useless and you might as well throw it away.

If I'm testing an interface of an object where the results are the same, I'd rely on Ruby and my test framework to generate deterministic tests for multiple cases, so if the test fails, I know exactly where, how, and the state the object is in when it's failing. Any information less than that, to Martin Fowler's point, is useless because it gives no actionable feedback other than that something is broken.

@joshuaclayton I don't use a fuzz-testing tool as such, but my factories and unit tests always have random data as much as possible. And I disagree with the Fowler quote you posted: while the data in my tests may be non-deterministic, the relationship between the input and the output is completely deterministic, so I've never had any trouble telling whether I have a bug or an edge case.
Not using randomized data in your tests introduces confirmation bias: you'll be tempted to only test the cases you already expect will succeed or fail, so your test won't really be very useful. Randomized data, with a well-defined deterministic relationship between input and output, keeps you honest.

Example of the way I write tests:
# user.rb
class User < ActiveRecord::Base
  def uppercase_name
    name.upcase
  end
end

FactoryGirl.define do
  factory :user
    name { Faker::Name.name }
  end
end

describe User, '#uppercase_name' do
  it "returns the user's name in uppercase"
    user = FactoryGirl.create(:user)
    expect(user.uppercase_name).to be == user.name.upcase
  end
end

So the relationship between input and output is completely deterministic: "John" => "JOHN", "Billy Bob" => "BILLY BOB", and so on. But the RSpec code is more intention-revealing (because it has to describe the relationship, not a hard-coded result), and I can't cheat by writing an implementation that won't pass all cases.


Why gt_binary_image and gt_instance_image encode in 3 channels, but decode in 1 channel ?

cv2.imread read from png image
encode stage :
            # prepare gt binary image
            _gt_binary_image = cv2.imread(gt_binary_images_paths[_index], cv2.IMREAD_UNCHANGED)
            if _gt_binary_image.shape != (RESIZE_IMAGE_WIDTH, RESIZE_IMAGE_HEIGHT):
                _gt_binary_image = cv2.resize(_gt_binary_image,
                                              dsize=(RESIZE_IMAGE_WIDTH, RESIZE_IMAGE_HEIGHT),
                                              interpolation=cv2.INTER_NEAREST)
                _gt_binary_image = np.array(_gt_binary_image / 255.0, dtype=np.uint8)
            _gt_binary_image_raw = _gt_binary_image.tostring()

            # prepare gt instance image
            _gt_instance_image = cv2.imread(gt_instance_images_paths[_index], cv2.IMREAD_UNCHANGED)
            if _gt_instance_image.shape != (RESIZE_IMAGE_WIDTH, RESIZE_IMAGE_HEIGHT):
                _gt_instance_image = cv2.resize(_gt_instance_image,
                                                dsize=(RESIZE_IMAGE_WIDTH, RESIZE_IMAGE_HEIGHT),
                                                interpolation=cv2.INTER_NEAREST)
            _gt_instance_image_raw = _gt_instance_image.tostring()

            _example = tf.train.Example(
                features=tf.train.Features(
                    feature={
                        'gt_image_raw': bytes_feature(_gt_image_raw),
                        'gt_binary_image_raw': bytes_feature(_gt_binary_image_raw),
                        'gt_instance_image_raw': bytes_feature(_gt_instance_image_raw)
                    }))
            _writer.write(_example.SerializeToString())

decode stage :
    # decode gt binary image
    gt_binary_image_shape = tf.stack([RESIZE_IMAGE_HEIGHT, RESIZE_IMAGE_WIDTH, 1])
    gt_binary_image = tf.decode_raw(features['gt_binary_image_raw'], tf.uint8)
    gt_binary_image = tf.reshape(gt_binary_image, gt_binary_image_shape)

    # decode gt instance image
    gt_instance_image_shape = tf.stack([RESIZE_IMAGE_HEIGHT, RESIZE_IMAGE_WIDTH, 1])
    gt_instance_image = tf.decode_raw(features['gt_instance_image_raw'], tf.uint8)
    gt_instance_image = tf.reshape(gt_instance_image, gt_instance_image_shape)

@AaronStuart They are encoded in one channel. You may find the relative code in the script of generating tusimple lane dataset tools:)

@AaronStuart They are encoded in one channel. You may find the relative code in the script of generating tusimple lane dataset tools:)

Thanks，I find them in generate_tusimple_dataset.py :)
            dst_binary_image = np.zeros([src_image.shape[0], src_image.shape[1]], np.uint8)
            dst_instance_image = np.zeros([src_image.shape[0], src_image.shape[1]], np.uint8)


Avoid writing the OpenAI token as plain text

Maybe instead of prompting and writing it into the config file, add the ability to specify how to retrieve it?
Similar to how they do it here.
Great tool BTW!

Thanks for your comment.
Your link is pointing to my repo, I guess it's a mistake. Could you give me a valid link so I can check the feature you're talking about?
Thanks

:man_facepalming:
https://github.com/jackMort/ChatGPT.nvim#secrets-management


Create a Lo-fi of the User interface

We need to create a Lo-fi diagram for our mobile app's AI.

Lofi ENSE 400.pdf
We used pen and paper to layout our app pages. We then determined the order each page will be displayed and what contents to be displayed. The ended our lofi by linking the pages with lines depending on the input the user selects.
We also discuessed consent forms and if the user needs to create an account.
Lastly we disucess how the image will be taken from the frontend. (Trace outline of the foot when the user is taking a photo)


20/21 Sem 1 q1d

Source
AY 20/21 Sem 1 q1D

Description
Hello all i'm having issues juggling between the immutability of the classes and how to properly set them to get the output in the question. Can anyone run me through it?
Screenshots (if any):
Insert Images here if necessary

you can make A and B abstract classes. where B <: A (B extends A). A has a
abstract A get() method
A main() {
return new A() {
private final A var = this;
A get() {
return new A() {
A get(){
return new B() {
A get() {
return new B() {
A get() {
return var;
}};}};}};};}

I don't think the above solution is optimal because it requires very deep nesting. I think what the question is asking is to create some A()s and B()s and set them accordingly (to the other fields), so that when you repeatedly call get(), you will be able to get the other fields of each of these classes.
Here is what I did (assume that this chunk of code is in some main function):
        A a = new A();
        A a2 = new A();
        B b = new B();
        B b2 = new B();
        A a3 = new A();
        A a4 = new A();

        a3 = a3.set(a4);
        b2 = b2.set(a3);
        b = b.set(b2);
        a2 = a2.set(b);
        a = a.set(a2);

I think @sinteary approach is correct and I don't see any other way to do this


Unable to create DID: Already exists

When using 2.3.6 we see this error:
Error: Unable to create DID: Already exists
    at VdaDid.<anonymous> (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/vda-did/src/vdaDid.ts:82:23)
    at step (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/vda-did/dist/vdaDid.js:33:23)
    at Object.next (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/vda-did/dist/vdaDid.js:14:53)
    at fulfilled (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/vda-did/dist/vdaDid.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/client-ts/src/did-context-manager.ts:142
        throw new Error(
              ^
Error: Unable to force creation of storage context for this DID
    at DIDContextManager.<anonymous> (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/client-ts/src/did-context-manager.ts:142:15)
    at step (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/client-ts/dist/did-context-manager.js:33:23)
    at Object.next (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/client-ts/dist/did-context-manager.js:14:53)
    at fulfilled (/Users/nlothian/dev/verida/didmessaging/node_modules/@verida/client-ts/dist/did-context-manager.js:5:58

However it works when using the linked local version.

I believe there was an issue with the latest build that was deployed to npm. This problem doesn't occur in local builds from main branch, so I am assuming this will be fixed in the next release.
We can verify and close this issue then.


Break long lines in multiple lines

Right now, Cucumber reports displays long text on a single line:

Hi @fslev, can you add which flavour and version of cucumber you are using?

I am using cucumber-jvm version 6.10.2

Sorry for late reply @fslev, you should see this fixed in the current version of cucumber-jvm - text attachments are now properly contained and scrollable horizontally.


Add a microbenchmark for text intrinsic height layout

For https://github.com/flutter/flutter/pull/144577. There's no promise that the performance will be great when IntrinsicHeight/IntrinsicWidth is used extensively but it's not that uncommon of a widget.
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

revert reason: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_android microbenchmarks/15561/overview


[Feature] Optimize log printing and return in GlobalExceptionHandler

What changes were proposed in this pull request
Issue Number: close #3704
Optimize log printing and return in GlobalExceptionHandler
Brief change log
Optimize log printing and return in GlobalExceptionHandler
Verifying this change
This change is already covered by existing tests, such as (please describe tests).
(or) yes
Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes )

@Mrart  Can you resolve conflicts?

The changes look good, I can merge them if the conflicts are resolved

The changes look good, I can merge them if the conflicts are resolved

improve


How to evaluate the module on testing set?

I started research on 3d detection recently, now i have trained the avod-fpn module, and i find the input must have (bev_input & image & plane_anchors), but the testing set don't have plane, how do i evaluate the module on testing set?

I started research on 3d detection recently, now i have trained the avod-fpn module, and i find the input must have (bev_input & image & plane_anchors), but the testing set don't have plane, how do i evaluate the module on testing set?

Hi, have you figured out how to test the model on the test set without planes?


Make sourcemap 'file' property relative to file.base

From gulp-sourcemaps documentation:

Important: Make sure the paths in the generated source map (file and sources)
are relative to file.base (e.g. use file.relative)

Fix the "file" property to meet the above requirement(before this commit only
"sources" are relative to file.base).

I've actually just encountered the same issue and would appreciate the fix.

Thanks for the fix, I'll take a look at this soon as I'm not sure whether this will handle all different cases correctly, but at first sight it looks OK.

I've did some testing, everything looks good. Thanks for the fix!


Anti Header Spam v2

This Pull Request proposes a new anti header spam system which aims to fix some of the issues of the previous implementation (including those reported by art-of-bug).
Features:

Every time a header or block is received from another peer, its hash is added to a points list associated with the peer.
Peers are discerned by their ip address, this means peers sharing ip address will also share the same points list. This can be changed with -headerspamfilterignoreport (default: true).
Before proceeding with the block or headers validation, the points list will be cleared removing all the hashes of blocks whose scripts have already been correctly validated.
The peer is banned if the size of the points list is greater than MAX_HEADERS_RESULTS*2 once cleared of already validated blocks.
The maximum allowed size of the points list can be changed using the -headerspamfiltermaxsize parameter.
The log category headerspam has been added, which prints to the log the current size of a peers points list.
When -debug=bench is specified, execution time for the updateState function is logged.

Considerations

The maximum size of the points list by default is 4,000. With a block time of 30 seconds, NavCoin sees an average of 2,880 blocks per day. A maximum value of 4000 is roughly one and a half times more than the count of blocks a peer needs to be behind the chain tip to be in Initial Block Download mode.  This ensures that normal synchronisation is not affected by this filter.
An attacker would be able to exhaust 32 bytes from the hash inserted in the points list + 181 bytes from the CBlockIndex inserted in mapBlockIndex for every invalid header/block before being banned. The points list is cleared when the attacker is banned, but those headers are not removed from mapBlockIndex or the hard disk in the current implementation. The size of CBlockIndex has been measured with:

    CBlockIndex* pindex = new CBlockIndex();
    CDataStream ssPeers(SER_DISK, CLIENT_VERSION);
    ss << CDiskBlockIndex(pindex);
    std::vector<unsigned char>vch(ss.begin(), ss.end());
    std::cout << to_string(vch.size()) << std::endl;

The default maximum value means that a single malicious peer with a unique IP can exhaust at max 3,999*213=831 kilobytes without being banned or 4,000*181=707 kilobytes being banned.

What to test

Legit nodes are not banned during normal synchronisation, even when it is done from genesis block, or when a node is behind many hours/days from the chain tip and it resumes syncing.
Performance is not (heavily) affected with this filter. Benchmarking shows only 0.25ms added.
Spam attacks are correctly banned. The code example indicated by art-of-bug in his last article is not strictly correct to use with NavCoin. A way to replicate the attack would be to apply the following patch to this branch:

diff --git a/src/miner.cpp b/src/miner.cpp
index 010f5eb9..0ca6ac28 100644
--- a/src/miner.cpp
+++ b/src/miner.cpp
@@ -120,6 +120,40 @@ BlockAssembler::BlockAssembler(const CChainParams& _chainparams)
     fNeedSizeAccounting = (nBlockMaxSize < MAX_BLOCK_SERIALIZED_SIZE-1000);
 }

+bool SignBlockEx(std::shared_ptr<CBlock> pblock, CBlockIndex* pindexPrev, CWallet& wallet, const CAmount& nTotalFees, uint32_t nTime, CKey& key)
+{
+    CMutableTransaction txCoinStake;
+    uint32_t nTimeBlock = nTime;
+    nTimeBlock &= ~STAKE_TIMESTAMP_MASK;
+
+    txCoinStake.vin.clear();
+    txCoinStake.vout.clear();
+
+    CScript scriptEmpty;
+    scriptEmpty.clear();
+    txCoinStake.vout.push_back(CTxOut(0, scriptEmpty));
+
+    static unsigned int n = 0;
+    txCoinStake.vin.push_back(CTxIn(uint256S("0x1234"), n++));
+
+    CScript scriptPubKeyOut;
+
+    scriptPubKeyOut << key.GetPubKey() << OP_CHECKSIG;
+    txCoinStake.vout.push_back(CTxOut(10000, scriptPubKeyOut));
+
+    txCoinStake.nTime = nTimeBlock;
+    pblock->vtx[0].nTime = pblock->nTime = txCoinStake.nTime;
+    txCoinStake.nVersion = CTransaction::TXDZEEL_VERSION_V2;
+
+    CTransaction txNew;
+    *static_cast<CTransaction*>(&txNew) = CTransaction(txCoinStake);
+    pblock->vtx.insert(pblock->vtx.begin() + 1, txNew);
+    pblock->vtx[0].UpdateHash();
+    pblock->hashMerkleRoot = BlockMerkleRoot(*pblock);
+
+    return true;
+}
+
 void BlockAssembler::resetBlock()
 {
     inBlock.clear();
@@ -138,7 +172,7 @@ void BlockAssembler::resetBlock()
     blockFinished = false;
 }

-CBlockTemplate* BlockAssembler::CreateNewBlock(const CScript& scriptPubKeyIn, bool fProofOfStake, uint64_t* pFees)
+CBlockTemplate* BlockAssembler::CreateNewBlock(const CScript& scriptPubKeyIn, bool fProofOfStake, uint64_t* pFees, CBlockIndex* pindexPrev)
 {
     resetBlock();

@@ -155,7 +189,6 @@ CBlockTemplate* BlockAssembler::CreateNewBlock(const CScript& scriptPubKeyIn, bo
     pblocktemplate->vTxSigOpsCost.push_back(-1); // updated at end

     LOCK2(cs_main, mempool.cs);
-    CBlockIndex* pindexPrev = chainActive.Tip();
     nHeight = pindexPrev->nHeight + 1;
     CCoinsViewCache view(pcoinsTip);

@@ -810,30 +843,42 @@ void NavCoinStaker(const CChainParams& chainparams)
             //
             // Create new block
             //
-            uint64_t nFees = 0;
+            uint64_t nTotalFees = 0;

-            std::unique_ptr<CBlockTemplate> pblocktemplate(BlockAssembler(Params()).CreateNewBlock(coinbaseScript->reserveScript, true, &nFees));
-            if (!pblocktemplate.get())
+            if (chainActive.Tip()->nHeight < 300)
             {
-                LogPrintf("Error in NavCoinStaker: Keypool ran out, please call keypoolrefill before restarting the staking thread\n");
-                return;
+                MilliSleep(10000);
+                continue;
             }
-            CBlock *pblock = &pblocktemplate->block;

-            //LogPrint("coinstake","Running NavCoinStaker with %u transactions in block (%u bytes)\n", pblock->vtx.size(),
-            //     ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION));
+            CBlockIndex* pindexPrev = chainActive.Tip()->pprev->pprev->pprev->pprev->pprev;
+
+            CKey key;
+            CPubKey pubKey;

-            //Trying to sign a block
-            if (SignBlock(pblock, *pwalletMain, nFees))
             {
-                LogPrint("coinstake", "PoS Block signed\n");
-                SetThreadPriority(THREAD_PRIORITY_NORMAL);
-                CheckStake(pblock, *pwalletMain, chainparams);
-                SetThreadPriority(THREAD_PRIORITY_LOWEST);
-                MilliSleep(500);
+            LOCK(pwalletMain->cs_wallet);
+            pubKey = pwalletMain->GenerateNewKey();
+            pwalletMain->GetKey(pubKey.GetID(), key);
             }
-            else
-                MilliSleep(nMinerSleep);
+
+            for (int i = 0; i < 1200000; i++) {
+                std::unique_ptr<CBlockTemplate> pblocktemplate(BlockAssembler(Params()).CreateNewBlock(coinbaseScript->reserveScript, true, &nTotalFees, pindexPrev));
+                std::shared_ptr<CBlock> pblock = std::make_shared<CBlock>(pblocktemplate->block);
+
+                if (SignBlockEx(pblock, pindexPrev, *pwalletMain, nTotalFees, GetAdjustedTime(), key)) {
+
+                    if (key.Sign(pblock->GetHash(), pblock->vchBlockSig)) {
+                        const CBlock& block = *pblock;
+
+                        for(CNode* pnode: vNodes) {
+                            pnode->PushMessage(NetMsgType::BLOCK, block);
+                        }
+                    }
+                }
+            }
+
+            MilliSleep(1000);

         }
     }
diff --git a/src/miner.h b/src/miner.h
index 55ddc8c0..35f34139 100644
--- a/src/miner.h
+++ b/src/miner.h
@@ -177,7 +177,7 @@ private:
 public:
     BlockAssembler(const CChainParams& chainparams);
     /** Construct a new block template with coinbase to scriptPubKeyIn */
-    CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn, bool fProofOfStake, uint64_t* pFees);
+    CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn, bool fProofOfStake, uint64_t* pFees, CBlockIndex* pindexprev=nullptr);

 private:
     // utility functions

Then build and start one node and bootstrap a devnet chain with:
./navcoind -printtoconsole -debug=headerspam -devnet -port=12345 -staking=0 -debug=bench -ntpminmeasures=0
./navcoin-cli -devnet generate 301

Now start the spammer node with:
mkdir /tmp/data2
./navcoind -devnet -addnode=<IP_ADDRESS>:12345 -port=12121 -rpcport=12312 -printtoconsole -datadir=/tmp/data2

We should be able to see in node1 log output how it tries to ban node2 after the spam:
2019-12-26 18:02:13 updateState: Current size: 257 Max size: 256
2019-12-26 18:02:13 Misbehaving: 127.0.01:12121 (1 -> 101) BAN THRESHOLD EXCEEDED
2019-12-26 18:02:13 ERROR: header spam protection
2019-12-26 18:02:13 ProcessMessages(block, 332 bytes) FAILED peer=3

A new build of cfcbfaa974a72e1626d8d3ae5d8fc6eed796286a has completed succesfully!
Binaries available at https://build.nav.community/binaries/antiheaderspam_v2

utACK.
I've just read the issue details and skimmed over the code changes.
Will test once I get some time tomorrow.
On Fri, Dec 27, 2019, 03:36 navbuilder<EMAIL_ADDRESS>wrote:

A new build of cfcbfaa
https://github.com/navcoin/navcoin-core/commit/cfcbfaa974a72e1626d8d3ae5d8fc6eed796286a
has completed succesfully!
Binaries available at
https://build.nav.community/binaries/antiheaderspam_v2
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/navcoin/navcoin-core/pull/656?email_source=notifications&email_token=AAIDAKPI7C46I7AUAPYMAKTQ2UBVRA5CNFSM4J7NSHW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHWBUUQ#issuecomment-569121362,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIDAKI7U7GXUFJBIF3ONXTQ2UBVRANCNFSM4J7NSHWQ
.

A new build of b98b4c5cc6e90e359c9b6fd7f42bfc01c521cf7e has completed succesfully!
Binaries available at https://build.nav.community/binaries/antiheaderspam_v2

tested with ubuntu 18.04 (local build) syncing from scrach:
giving me an error message and the wallet closed.
terminate called after throwing an instance of 'std::ios_base::failure[abi:cxx11]'
the debug log looks like it was just syncing except for the last line
2019-12-27 05:05:41 UpdateTip: new best=b95e7593fe09f65ac78a2f57dc2303a809061144fa926a45f9a18576e1dbd17a height=3768909 version=0x7135e1ff log2_work=73.214486 tx=7842332 date='2019-12-27 03:50:08' progress=0.999903 cache=163.5MiB(727363tx)
2019-12-27 05:05:41 UpdateTip: new best=75e1b33efe3b83ccf71c67101ddfeddbd6bfd0507d71d3f8180c30a7b0246a36 height=3768910 version=0x7135e1ff log2_work=73.214487 tx=7842334 date='2019-12-27 03:50:24' progress=0.999903 cache=163.5MiB(727365tx)
2019-12-27 05:05:41 UpdateTip: new best=0e69915665886606083408e023a424cddb3beef0a00fff2a459c8dc043041259 height=3768911 version=0x7135e1ff log2_work=73.214487 tx=7842336 date='2019-12-27 03:51:12' progress=0.999904 cache=163.5MiB(727367tx)
2019-12-27 05:05:41 AdvertiseLocal: advertising address <IP_ADDRESS>:44440
My windows node (running gitian build) is runing normally. synced up to tip from a week behind and then bootstrapped to two days ago and synced up to tip as expected.

Tested on windows 10 64bit ( Gitian build b98b4c5 )
I was able to fully sync 1 week behind.
I've just cleared the datadir and trying a full sync from genesis.

A new build of 78af416cff254bc406cca11192d3b9156570d089 has completed succesfully!
Binaries available at https://build.nav.community/binaries/antiheaderspam_v2

Tested gitian build 78af416
Synced fully from 3 days behind on testnet.

built locally on OSX using the depends directory. Synced from scratch without issue. trying to sync from within the spam filter activation range using the bootstrap now.

I synced this client from 18 hours behind without issue.
What is the status of this PR? Any known issues? @chasingkirkjufell @mxaddict @aguycalled

I have found a potential bug with qt creator and aguycalled said he was looking into it. The potential bug is causing my nodes to fail to sync from genesis with qt wallet. I have only been able to reproduce it on my Ubuntu 19.04 node and not on windows.


Remove ZERO from superblocks.

Each superblock contains a ZERO field which holds a number of "0,15;" entries. This is a legacy compatibility issue which sole purpose was so the number of CPIDs sent to the VB scraper matched the number of CPIDs returned in the contract.
In the new scraper we should see if we can either remove the ZERO field completely or just replace it with <ZERO></ZERO>. The former would be better while the latter might be required for compatibility.

This is addressed in https://github.com/gridcoin-community/Gridcoin-Research/pull/1488.


Move to single directory and auto generate/publish docs

Currently we build the html docs out of docsrc and use a sync script to copy over to docs and publish via gh-pages:

It would be great to refactor this to use the gh-pages branch approach to publish and build out of a single directory.
I'm assuming this would enable the bot action to work as intended.

I can see that this action is running, but where is it running from? The workflow is not showing up in the .github/workflows/ directory:

Ahhh maybe because I don't have access to Settings.

Yup, that is the mystery.

I'm seeing the same thing you are:

https://github.blog/changelog/2021-12-16-github-pages-using-github-actions-for-builds-and-deployments-for-public-repositories/

In spaghetti I have access to Settings/Pages, but not for PySAL. Do you see something like this?

Let's @knaaptime and @martinfleis in on this for potential insight.

yes, see the top of this issue.

I think the reason the docs were not getting updated (2.4 was the last version) is that I forgot to run the sync step last release. I just did a pr that has the sync #1247 which should update now.
But moving forward it would be nice to move away from this two-step docsrc -> docs dance.

But moving forward it would be nice to move away from this two-step docsrc -> docs dance.

we solved this in the other packages, so this is a straightforward fix

The other complication I want to address is that with the move to versioneer, I'm not quite sure how to have the right tag on the docs when we build them. This is probably another good reason to automate the doc build.

I'm not quite sure how to have the right tag on the docs when we build them.

martin might have some insight. Ive seen this raised over in geopandas too

the release is ready to go, but I wanted to see if we could dial in the doc build as part of the release. Ideally, we want to be able to update the docs if needed, but have the tag match the release tag.

The other complication I want to address is that with the move to versioneer, I'm not quite sure how to have the right tag on the docs when we build them.

Tag the repository and run sphinx. That way you get a proper version on the docs. No commit in between.

This is the problem with the current approach:

Yeah, because in the branch you are using, the latest tag is 2.2.0. And then there's 215 commits after that.

I have a draft release on gh that will create the v2.6.0 tag when published.

So if I publish the release, I can then update the docs and it should grab the new tag?

So if I publish the release, I can then update the docs and it should grab the new tag?

Yes, that is the theory and my experience. We can always fix docs later if that won't work as expected.

release action appears to work for pypi

Will have to fix the version tag before pushing to pypi in that action:

Version is 2.6 but our badge in the description is 2.5.

Version is 2.6 but our badge in the description is 2.5.

Try reloading, I see 2.6.0

Might be another chance to look into #1216?

Once #1252 is merged, the remaining thing (I think) here is to add this gh-action.


android_alarm_manager plugin: second alarm doesn't fire when main view is opened after first alarm

Hello Flutter team,
I have been developing an app using the android_alarm_manager plugin and noticed a nasty bug that happens on specific conditions.
The bug is the following: an alarm (A1) will not fire if:

the initial flutter application that set it is closed before another previous alarm (A0)
then reopened after that other alarm A0 fires
and left open until A1 is set to fire.

In order to isolate it in its most minimal and easily reproducible way, I have used the example project listed in the plugin directory and updated the API calls and the layout to add a button.
I have also used a simple python http server to log messages from the alarm isolates. Maybe there is an easier way to log messages than this after the debug app has disconnected?
Reproducing steps - installation:

open the example project at https://github.com/flutter/plugins/tree/master/packages/android_alarm_manager/example
add the following line to the pubspec.yaml dependencies and run pub get:

http: ^0.12.0+2

replace the content in lib/main.dart with the following:

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:android_alarm_manager/android_alarm_manager.dart';
import 'package:http/http.dart' as http;

const String YOUR_IP = '<IP_ADDRESS>';
const String PORT = '8080';

Future<http.Response> logFromAlarm(String msg) async {
  return await http.get('http://$YOUR_IP:$PORT/?$msg');
}

Future<void> main() async {
  await AndroidAlarmManager.initialize();
  runApp(
    Center(
      child: Directionality(
        textDirection: TextDirection.ltr,
        child: RaisedButton(
          onPressed: () async {
            await AndroidAlarmManager.oneShotAt(
              DateTime.now().add(const Duration(seconds: 10)),
              0,
              handleAlarm0,
              alarmClock: true,
            );
            await AndroidAlarmManager.oneShotAt(
              DateTime.now().add(const Duration(seconds: 30)),
              1,
              handleAlarm1,
              alarmClock: true,
            );
          },
          child: const Text('Set alarm', textDirection: TextDirection.ltr),
        ),
      ),
    ),
  );
}

void handleAlarm0() async {
  await logFromAlarm('alarm0');
}

void handleAlarm1() async {
  await logFromAlarm('alarm1');
}

open a terminal and launch a simple python http server:

python -m SimpleHTTPServer 8080

launch an Android emulator and start the application

Normal workflow:
Once this is done, you can start testing different scenarios, which should all work except for the very precise one which I detailed above. Essentially, the normal workflow is as follows:

application is launched
user clicks on button and registers alarm A0 and alarm A1
alarm A0 fires, logs to python server
alarm A1 fires, logs to python server

so after this normal workflow, this is what my screen looks like:

Bug scenario:
The bug happens when the following steps are done

application is launched
user clicks on button and registers alarm A0 and alarm A1
user closes the application before A0 fires
A0 fires, logs to python server
user reopens the application from the application list before A1 fires
nothing happens: A1 doesn't fire, the python server doesn't log any request

Other working scenarios tested:
Note that many other small variations of this scenario prevent the bug from occurring. I have for example tested the following scenarios which work fine:

if the main application is closed and not reopened => A1 fires fine
if the main application is closed after A0 fires and reopened => A1 fires fine
if the main application is open and closed more than once => A1 fires fine

While it may seem like a corner case, it is actually quite likely to happen often in real life scenarios. If you have any question or need any help to investigate it further, I'd happily comment more on this issue, as this is blocking me from moving forward with my app.
Thank you

I just upgraded to 0.4.5+3 and I can't reproduce this bug anymore.
It looks like https://github.com/flutter/plugins/pull/2193 fixed it.


Windows.Gaming.Input only detect devices as RawGameControllers

Describe the bug
When try to get Joystick or racing wheels with  Windows.Gaming.Input all the devices are only recognized at RawGameControllers.
Joystick = Virpil controls
Racing wheels = Fanatec
Steps to reproduce the bug
using Windows.Gaming.Input;
var tmp = Windows.Gaming.Input.RacingWheel.RacingWheels; // EMPTY
var tmp2 = Windows.Gaming.Input.FlightStick.FlightSticks; // EMPTY
var tmp3 = Windows.Gaming.Input.Gamepad.Gamepads; // EMPTY
var tmp4 = Windows.Gaming.Input.ArcadeStick.ArcadeSticks; // EMPTY
var tmp5 = Windows.Gaming.Input.RawGameController.RawGameControllers; // Found all my joysticks and racing wheel
Expected behavior
Founding my joystick in Windows.Gaming.Input.FlightStick.FlightSticks;
Founding my racing wheel in Windows.Gaming.Input.RacingWheel.RacingWheels;
Screenshots

NuGet package version
None
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

I think reading the documentation is in order here.
The Windows documentation for all of these states similar things. If we take Gamepad.Gamepads as an example, then it states:
"This list is initially empty and will not list gamepads even if they are already connected. After a short period this will return a complete list of gamepads."
in the Remarks section. This essentially means that you should use Gamepad.Gamepads or the other similar properties as early as you can in your application to start populating the lists. This means that by the time you want to use them, the lists will be populated.

Thanks for your answer.
This is the same for  RawGameController as you can see in MS documentation.
I call Windows.Gaming.Input.RawGameController.RawGameControllers in my MainWindows.cs, the list is empty as except. And later in my program, the list is populated when I need to use it. The doc is clear on this.
But this not work for GamePad, Joystick and RacingWheel.

It does work. This is with an XBox Series controller though. The documentation does state that runtime classes like GamePd needs an XBox One/XBox 360 certified controller. I wonder if that basically means that it needs an XInput driver.


Exploit Suggester

What about exploit suggester? I think it will be very convenient
Like this https://blog.rapid7.com/2015/08/11/metasploit-local-exploit-suggester-do-less-get-more/

Aside from the privilege escalation modules, Koadic doesn't really use exploits, it's all post-exploitation. Making an 'exploit suggester' just doesn't make sense with Koadic. Now, something like a vulnerability scanner would be interesting, where we pull all installed KBs, we pull the version numbers of all installed software, and correlate those back to known CVEs.... buuut that's a huge undertaking that I'm not interested in starting and, in the long run, doesn't provide much of a benefit for Koadic.
If you want to know what exploits would work against a target, I would highly recommend using Metasploit for this endeavor.


[BUG] Connect-PnpOnline Giving issues in Azure Function

Connect-PnpOnline command was working fine in a Azure function since 3 months and now giving error .
Result: ERROR: The current connection holds no SharePoint context. Please use one of the Connect-PnPOnline commands which uses the -Url argument to connect.
Exception             :
Type       : System.InvalidOperationException
TargetSite :
Name          : BeginProcessing
DeclaringType : PnP.PowerShell.Commands.PnPSharePointCmdlet
MemberType    : Method
Module        : PnP.PowerShell.dll
StackTrace :
at PnP.PowerShell.Commands.PnPSharePointCmdlet.BeginProcessing() in c:\build\src\Commands\Base\PnPSharePointCmdlet.cs:line 101
at PnP.PowerShell.Commands.PnPWebCmdlet.BeginProcessing() in c:\build\src\Commands\Base\PnPWebCmdlet.cs:line 78
at System.Management.Automation.Cmdlet.DoBeginProcessing()
at System.Management.Automation.CommandProcessorBase.DoBegin()
Message    : The current connection holds no SharePoint context. Please use one of the Connect-PnPOnline commands which uses the -Url argument to connect.
Source     : PnP.PowerShell
HResult    : -2146233079
CategoryInfo          : NotSpecified: (:) [Add-PnPListItem], InvalidOperationException
FullyQualifiedErrorId : System.InvalidOperationException,PnP.PowerShell.Commands.Lists.AddListItem
InvocationInfo        :
MyCommand        : Add-PnPListItem
ScriptLineNumber : 916
OffsetInLine     : 20
HistoryId        : 1
ScriptName       : C:\home\site\wwwroot\SPProv-QueueTrigger-Dev\run.ps1
Line             : $logItem = Add-PnPListItem -List "Logs" -Values @{"Title" = $code; "Message" = $errorsJSON; "Application" = "ProvisioningAutomation"; "TypeRef" = $provType }
PositionMessage  : At C:\home\site\wwwroot\SPProv-QueueTrigger-Dev\run.ps1:916 char:20
                   + …  $logItem = Add-PnPListItem -List "Logs" -Values @{"Title" = $code; " …
                   +               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PSScriptRoot     : C:\home\site\wwwroot\SPProv-QueueTrigger-Dev
PSCommandPath    : C:\home\site\wwwroot\SPProv-QueueTrigger-Dev\run.ps1
InvocationName   : Add-PnPListItem
CommandOrigin    : Internal

ScriptStackTrace      : at , C:\home\site\wwwroot\SPProv-QueueTrigger-Dev\run.ps1: line 916
Exception: The current connection holds no SharePoint context. Please use one of the Connect-PnPOnline commands which uses the -Url argument to connect.
Stack:    at PnP.PowerShell.Commands.PnPSharePointCmdlet.BeginProcessing() in c:\build\src\Commands\Base\PnPSharePointCmdlet.cs:line 101
at PnP.PowerShell.Commands.PnPWebCmdlet.BeginProcessing() in c:\build\src\Commands\Base\PnPWebCmdlet.cs:line 78
at System.Management.Automation.Cmdlet.DoBeginProcessing()
at System.Management.Automation.CommandProcessorBase.DoBegin()

Hi,
sounds like the issue here: https://github.com/pnp/powershell/issues/2071

@MZ86SP Thanks for adding the reference!
@lokeshsharma47 Please have a look at #2071 as it indeed seems related.

Thanks ,,, its resolved


Python: Advanced functions-Map #572

Description 📜
Python: Advanced functions-Map
I have prepared the documentation on the topic. Mapping in python is like cheery on the top. It makes the iterating work super easy.
Fixes #572

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Python_Domain

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

I created a folder structure. Is that not correct? How else should I do it? @Randrita

I see the index has not been updated?

Yeah I will update it

Yeah I will update it


Test day tooling (OpenShift)

We're having regular test days but the process of standing up clusters for testing is manual (except KIND based), it could be beneficial to develop some automated tooling (eg some scripts or a binary) that will do a lot of the manual work for standing up the clusters.
E.G. to stand up a test env on AWS one needs to:

Deploy a couple of clusters on AWS, using the desired OpenShift version
Alter kubeconfigs for properly working with multiple clusters
Prepare the cloud for submariner deployment
Deploy submariner properly (e.g. globalnet if clusters were deployed with overlapping IPs, specific cable driver is needed)
Run subctl verify
Open an issue labeled with the testday label with subctl gather output in case of fasilure (of the verify or manual testing)

Seems like most of these steps can be rather easily automated in one or a few commands which will reduce user-errors and streamline test days. It also seems that these steps will be rather similar for different clouds when deploying with OpenShift.
This might also ease the testing process, thus encouraging participation in the test days.

@skitt it actually makes sense to keep in Shipyard, any reason you reopend it here?

On Wed, Aug 10, 2022 at 02:47:04AM -0700, Mike Kolesnik wrote:

@skitt it actually makes sense to keep in Shipyard, any reason you reopend it here?

So that I could transfer it properly to Shipyard.

So that I could transfer it properly to Shipyard.

It all was very confusing as I saw this on the original issue or releases :man_shrugging:


how to finetune a model with a downsteam task that is same with the pre-train task?

I want to finetune a model based on "naver-clova-ix/donut-base" with a downstream task that is different from those three tasks mentioned in the paper (Document Classification, Document Information Extraction, and Document Visual Question Answering), but same as the Pre-training task, which is to say, I want to teach the model to learn "how to read" better.
In that task, I will input an image to the donut-base, expecting the model to output all the text in the image and calculate the loss against the pre-prepared correct text, and then use the loss for backpropagation.
The question is, how should I modify the released code or configuration file?
Thank you!

I also have the same need as you, have you solved it now?

isn't the same with finetuning on information extraction considering ground truth label all the tokens on the document you want your model learn to read ?

it is just pseudo reading task as describe in the doc:
For (Pseudo) Text Reading Task
The gt_parse looks like {"text_sequence" : "word1 word2 word3 ... "}


Doubts with usage

Hi,
I have some questions about the usage of this framework. Some features I can't find in the docs so I'm curious if there is a way to do them:

Is there a way to stop running some of the tests if one of them fails and maybe go to a "clean" method. I can't find a way to do an if around a request and do some action if the test fails or not.
Related to that. Is there a way to wait for a test to pass with a limited number of retries? I know I can do this by making requests using the http Go library, but I'm curious if there is a way of doing that with httpexpect

Thank you very much,
Regards,
Ernesto Gonzalez

To stop a test from continuing you must instantiate like this:
	cfg := httpexpect.Config{
		BaseURL:  "yourBaseURL",
		Reporter: httpexpect.NewRequireReporter(t),
	}
	e := httpexpect.WithConfig(cfg)

Hi, thanks for asking.

Is there a way to stop running some of the tests if one of them fails and maybe go to a "clean" method. I can't find a way to do an if around a request and do some action if the test fails or not.

As already answered, using httpexpect.NewRequireReporter (or your custom reporter) is the right way to do it.

Related to that. Is there a way to wait for a test to pass with a limited number of retries? I know I can do this by making requests using the http Go library, but I'm curious if there is a way of doing that with httpexpect

There is no way to do it out of the box. There was a PR but it was not finished: #73. I've created an issue: #85.

Closing, feel free to reopen if you'll have any questions.


Map to custom struct while making join.

create table firms_users(
  firm_id integer references firms(id),
  user_id integer references users(id),
  primary key (firm_id, user_id)
);

How would I join on this table note the intended result would be some of users attributes + some of firm attributes not the whole model.
pub struct UserWithFirm {
    pub(crate) user: SlimUser,
    pub(crate) firm: SlimFirm,
}

Thank you.

Hi,
some things about it:

we do not yet support composite primary key
mapping to custom struct is not  sqlo's thing it's sqlx's one. https://docs.rs/sqlx/latest/sqlx/types/trait.Type.html.
I'm not sure you can   reference ids in your sql code  an map to a struct in your rust code with sqlx.

Please show we a working example with sqlx of what you mean and i'll see.
Sqlo just converts to sqlx::query_as! so what sqlx can do, I think we might also do it.

Hey,
Thank you for looking into this. I actually still have not implemented the sqlx part yet, I am still drawing, and reading docs.
Since there is not an immediate action to be taken please feel free to close it.

Ok I close.
I add to my todo list composite primary keys and "reverse relationship"


Pull/k32w adaptation 15.4

This pull-request adds the adaptation layer for NXP K32W platform (https://www.nxp.com/products/wireless/thread/k32w061-41-high-performance-secure-and-ultra-low-power-mcu-for-zigbeethread-and-bluetooth-le-5-0-with-built-in-nfc-option:K32W061_41).
Most of the code is taken from OpenWeave and the namespace was changed to Project CHIP.
In the following PRs will add the changes required for the build system and also a demo lock app.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Render two components for the same route

Hi,
How can i render 2 components for the same route? Reach router renders only one.

                <Router>

                </Router>

I tried with nested component but that requires different routes for A an B. I tried a container component but that requires to pass the properties to the container component en "send" the right props to A an B in the container component.

Hello,
I think your usecase is not possible, but you can wrap A and B into another component C
`

`
with C :
`<>

`


File Modsecurity2_Overview.json

Hi @molu8bits,
any predictions for posting the Modsecurity2_Overview.json file? Can I contribute something?

Hi @fernandodebrando
In 2-3 days I will review and upload current dashboard definition and module details. Contribution is always welcome.


Convert test_command_tags.py & test_helloworld.py to use pytest

These are the easier files to convert.  They have other aspects that could be simplified such as removing 2.x specifics but I think doing it here would over complicate the PR.
The other test files all use ReSTExtensionTestCase so probably belong in a separate PR.

Thanks!


Consider adding an EndpointAddress helper type

In implementing USB for atsamd21 I found that it led to slightly clearer code and less human errors to wrap up the u8 in a helper type:
https://github.com/wez/atsamd21-rs/blob/usb/hal/src/usb/bus.rs#L17-L65
(I've also included the code below in case I force push that branch later)
This made is easier to ensure that I had the right values and were considering the cases correctly, vs. just using bitmasks and hoping that I got the sense of the directions correct.
#[derive(Debug, Clone, Copy)]
struct EndpointAddress(u8);

impl From<u8> for EndpointAddress {
    #[inline]
    fn from(addr: u8) -> EndpointAddress {
        EndpointAddress(addr)
    }
}

impl From<EndpointAddress> for u8 {
    #[inline]
    fn from(addr: EndpointAddress) -> u8 {
        addr.0
    }
}

impl EndpointAddress {
    const INBITS: u8 = EndpointDirection::In as u8;

    #[inline]
    fn from_parts(idx: usize, dir: EndpointDirection) -> Self {
        EndpointAddress(idx as u8 | dir as u8)
    }

    #[inline]
    fn direction(&self) -> EndpointDirection {
        if (self.0 & Self::INBITS) != 0 {
            EndpointDirection::In
        } else {
            EndpointDirection::Out
        }
    }

    #[inline]
    fn is_in(&self) -> bool {
        (self.0 & Self::INBITS) != 0
    }

    #[inline]
    fn is_out(&self) -> bool {
        (self.0 & Self::INBITS) == 0
    }

    #[inline]
    fn index(&self) -> usize {
        (self.0 & !Self::INBITS) as usize
    }
}

I eventually ended up with something similar but not quite as type safe here:
https://github.com/mvirkkunen/stm32f103xx-usb/blob/master/src/bus.rs#L30
Another idea would be to pass around references to the entire Endpoint struct. Then you'd have to have separate methods for handling in/out endpoints - but at least in the STM32F103 implementation every method that takes an endpoint address starts by either validating the direction (which wouldn't be necessary with separate types) or branching based on it (which would become two different methods). Hmm. I wonder if it's the same on other platforms as well?

Added this pretty much as-is in 60db7e175e6dcea0b9c0f6b56564d1253bf0fd90. It made my implementation simpler too, and it should help with other platforms as well. Thanks.


Bootstrapper v2 attempts to use pal-nodejs while running on nwjs

I've just updated to bootstrapper to v2.0.0. My code runs in nwjs which is Chromium augmented with nodejs functionality. Now the application fails to run as the bootstrapper is trying to load aurelia-pal-nodejs rather than the standard browser pal
How is the pal detection working? nwjs exposes much of the node functionality so I'm guessing it thinks its running on node!
chrome-extension://dnfbalibhjknhcnpfialacgapijfkkil/dist/aurelia-pal-nodejs.js net::ERR_FILE_NOT_FOUND

And here is the offending line:
const isNodeLike = typeof process !== 'undefined' && !process.browser;

Replacing it with either of these would fix it:
const isNodeLike = typeof process !== 'undefined' && !process.browser && !process.versions['nw']
const isNodeLike = typeof process !== 'undefined' && !process.browser && !process.__nwjs

@niieani Can you take a look at this?

process.__nwjs is actually undocumented so it might be better to rely on process.versions['nw']. Check out the docs:
http://docs.nwjs.io/en/latest/References/Changes to Node/

@timfish Are you able to make a PR for the fix you've confirmed on your side? We can review and get out a quick release.

That fixes it v2 my end

Many thanks for the swift response!
My app is still having issues after updating to v2.0.1 but they appear unrelated to nwjs as I get the same exception when loading in Chrome. I did notice it bumped the versions on a few other dependencies too. Reverting back and everything runs fine again.
Is there a clash with<EMAIL_ADDRESS>Uncaught (in promise) Error: Error invoking Show. Check the inner error for details.
------------------------------------------------
Inner Error:
Unknown Inner Error Type. Displaying Inner Error as JSON:
 {}
Inner Error Stack:
TypeError
    at Object.getOwnMetadata (http://localhost:8080/jspm_packages/npm/reflect-metadata@0.1.8/Reflect.js:387:19)
    at Object.getOwn (http://localhost:8080/jspm_packages/npm/aurelia-metadata@1.0.2/aurelia-metadata.js:52:22)
    at Object.get (http://localhost:8080/jspm_packages/npm/aurelia-metadata@1.0.2/aurelia-metadata.js:45:29)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:600:56)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at Optional.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:86:26)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:590:20)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at Object.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:451:81)
    at InvocationHandler.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:410:168)
    at Container.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:670:25)
    at ProviderResolver.get (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2043:74)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:609:23)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4028:58)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at eval (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4462:18)
End Inner Error Stack
------------------------------------------------

    at Object.getOwnMetadata (http://localhost:8080/jspm_packages/npm/reflect-metadata@0.1.8/Reflect.js:387:19)
    at Object.getOwn (http://localhost:8080/jspm_packages/npm/aurelia-metadata@1.0.2/aurelia-metadata.js:52:22)
    at Object.get (http://localhost:8080/jspm_packages/npm/aurelia-metadata@1.0.2/aurelia-metadata.js:45:29)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:600:56)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at Optional.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:86:26)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:590:20)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at Object.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:451:81)
    at InvocationHandler.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:410:168)
    at Container.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:670:25)
    at ProviderResolver.get (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2043:74)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:609:23)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4028:58)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at eval (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4462:18)
End Inner Error Stack
------------------------------------------------

    at new AggregateError (http://localhost:8080/jspm_packages/npm/aurelia-pal@1.2.0/aurelia-pal.js:39:13)
    at Container.invoke (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:672:15)
    at ProviderResolver.get (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2043:74)
    at Container.get (http://localhost:8080/jspm_packages/npm/aurelia-dependency-injection@1.2.1/aurelia-dependency-injection.js:609:23)
    at Container.elementContainerGet [as get] (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2098:17)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4028:58)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at applyInstructions (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2192:33)
    at ViewFactory.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:2413:9)
    at HtmlBehaviorResource.create (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4040:41)
    at eval (http://localhost:8080/jspm_packages/npm/aurelia-templating@1.1.4/aurelia-templating.js:4462:18)

Double check to make sure you've got all the latest Aurelia libs as well.


Amazon S3 implementation

Hi,
It would be good to store to Amazon S3. What do you think about it?
Thanks

+1 on s3 implementation.

Would anyone consider writing a plugin for this?

I'd be so pleased with this — it's my only real issue with Lychee that I like to host it outside my house and smaller instances are ideal but I end up paying more for storage with less availability. I'm happy to test but lack the skillset required to implement.

No need for a plugin I think. I'm currently using it (actually an equivalent), and it works like a charm.
Just use s3ql to mount your storage as a hard drive, then create a lycheePhotos folder, move all your picture located on uploads/big/* into it, remove uploads/big and create a symbolic link from uploads/big to lycheePhotos.
When mounting with s3ql, make sure user permission are not ignored and set the right permission to lycheePhotos.
Everything is fast.
You should definitly try this. If you are scared, with a small number of photos (it will cost you 3cents)

I am considering writing something like this soon if enough people find it useful.

The only caveat @Bramas, is that people on PaaS/hosting environments likely can't use userspace filesystems like those provided by fuse and I imagine s3ql is something that uses fuse to mount an S3 bucket as a filesystem?
I could go that route but I think a native plugin would be more flexible and also allow me to run Lychee on a service like Gandi's PHP application instances like I do today but leverage that S3 storage directly via the S3 API and not require fuse filesystems.

You're totally right.

+1 on native plugin support for S3!

Use a filesystem abstraction layer such as http://flysystem.thephpleague.com/ to avoid having to support specific storage services.

That's been suggested, @teohhanhui, but does nothing for users in environments where they cannot use userspace filesystems.

OK @teohhanhui was not suggesting what I thought they were. Flysystem in Lychee would probably be sufficient to solve everyone's problems as long as they could use composer. I am not sure if users in hosting environments (my use-case) would be able to use it or not; the best solution would probably be one that can be bundled with Lychee for end-users, but it supports the majority of file bucket and storage back-ends that would be desired.

I don't think it need composer. I mean, we can easily include flysystem in a plugin, as a lib.

How about creating a dedicated class for all file related tasks like reading/saving in Lychee? Could be replaced easily with a custom implementation for S3 and doesn't require to add S3 directly into Lychee.

@electerious That's exactly what a filesystem abstraction library like Flysystem provides. Please avoid building your own...
I'd also highly recommend using composer for dependency management. You can of course still include the installed dependencies into a distribution file if needed (but they shouldn't be checked in to the version control).

@electerious My first impression of @teohhanhui's recommendation was apprehensive but after reading about Flysystem in more detail I thought it was an excellent suggestion, at least from the end-user perspective.

Scaleway also has S3 compatible storage that would benefit from being able to set the endpoint url with standard S3 libraries.

+1 This would be one "killer feature". Even the Adobe Cloud does not support something similar.
A couple of reason, why this feature could be very interesting for photographers:

Amazon S3 storage is cheap
It's easy to backup your files form your client (windows||mac) to s3
You could run lychee on an ec2-webserver

This seriously needs to happen

And now, having the Minio Minio is an open source object storage server with Amazon S3 compatible API -- this would be marvelous to see the S3 API compatibility!

+1 for this

If you need S3 or minio support, I released this

@mickael-kerjean nuage looks like a really nice interface and very likely will replace Lychee for my use-case. Where can I find nuage_transcode code?

@arno01: yep that's the one. and that's the exact idea as transcoding is quite CPU intensive and can make the entire thing feel slowish when you try to render multiple RAW pictures from DSLR

One could also use in-built Gallery in the Nextcloud along with the S3 external storage module.
I have tested it with the Minio, it is working as long as there are no directories. It will work with the directories once https://github.com/nextcloud/server/issues/9808 is resolved.

This issue will be closed because I'm not actively working on Lychee anymore. The repository of Lychee will stay available, but the main development continues under the Lychee Organisation. A fork maintained by the community. Important issues have been migrated. Feel free to re-add your issue(s) when necessary.


Add tinygo-keyboard (USB HID Keyboard)

It doesn't have many features yet, but at the very least it works as a normal keyboard.
Hardware data is also available.

Thanks @sago35 now merging.


LIBVIRT_URI not being used, hardcoded qemu:///system instead.

Libvirt uri seems to be hardcoded and not being readed from the sourced env var  at /var/lib/one/remotes/etc/vmm/kvm/kvmrc :
export LIBVIRT_URI=qemu+tcp://localhost/system
this is not working then.
http://docs.opennebula.org/5.8/deployment/open_cloud_host_setup/kvm_driver.html#opennebula-configuration
https://github.com/OpenNebula/one/blob/def9661b4aa7c708d51679eb051ce8bebce09d80/src/im_mad/remotes/kvm-probes.d/machines-models.rb#L33
https://github.com/OpenNebula/one/blob/def9661b4aa7c708d51679eb051ce8bebce09d80/src/im_mad/remotes/kvm-probes.d/machines-models.rb#L92
https://github.com/OpenNebula/one/blob/441cf1f7f9e726cb5f200d661d50e92a4042fff7/src/im_mad/remotes/kvm-probes.d/kvm.rb#L32

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

FTR: I'm working on a PR. Seems to work so far, but want to test some more before submitting it.

 And questions to upstream.
There's roughly 90 places where the virsh executable is used/called throughout the ONE codebase.
Basically from within vnm_mad, tm_mad, im_mad, vmm_mad scripts. Some of the scripts are shell, some are ruby.
Handling all of these cases by replacing virsh -c qemu:///system with something like virsh -c $LIBVIRT_URI seems insane. Especially given that the source of LIBVIRT_URI is src/vmm_mad/remotes/kvm/kvmrc. Sourcing, reading, including that from all the consumers in vnm_mad, tm_mad, im_mad, vmm_mad seems like a horrible approach.
I instead propose the following.

prepend a custom bin directory to the PATH (e.g. $SCRIPTS_REMOTE_DIR/bin (aka /var/tmp/one/bin)) for all script executions
introduce a script in $SCRIPTS_REMOTE_DIR/bin/virsh that knows how to properly connect to libvirt
replace all occurrences of virsh -c qemu:///system or virsh -c $LIBVIRT_URI with just plain virsh

This way we can handle all the implementation details in once place. Any new scripts added in the future don't have to worry about LIBVIRT_URI and such things.
Given that LIBVIRT_URI is used in many other places then just vmm_mad I propose to define the variable somewhere else then its current location (src/vmm_mad/remotes/kvm/kvmrc). If you agree, where would such a 'global' variable go? And how could it be exposed to the $SCRIPTS_REMOTE_DIR/bin/virsh wrapper script?
Is there some central place where all the remote scripts are called from?

Example script for $SCRIPTS_REMOTE_DIR/bin/virsh
#!/bin/sh

remove_from_path() {
   # Remove the given directory from the PATH.
   PATH="${PATH//":$1:"/":"}" # delete any instances in the middle
   PATH="${PATH/#"$1:"/}" # delete any instance at the beginning
   PATH="${PATH/%":$1"/}" # delete any instance in the at the end
   export PATH
}

mydir=$(cd "${0%/*}"; pwd -P)

# Remove mydir from path to unhide the real virsh executable.
remove_from_path "$mydir"

# TODO: get LIBVIRT_URI from some where.

exec virsh --connect "$LIBVIRT_URI" $@

IMO it is better to patch the 4 places where "qemu://system" is hard-coded instead of hijacking the virsh binary in a custom path.
Several reasons:

If there are additional scripts they will need to be updated too this means all known and unknown addons
It will become harder for the general users to debug issues because the virsh is hijack-ed but the user will try with default paths and experience different results.

The files in question are:
src/vnm_mad/remotes/lib/command.rb
src/im_mad/remotes/kvm-probes.d/kvm.rb
src/im_mad/remotes/kvm-probes.d/machines-models.rb
src/im_mad/remotes/lxd-probes.d/lxd.rb

On a side note in why not adapting the ruby code from https://github.com/OpenNebula/one/blob/master/src/vmm_mad/remotes/kvm/poll in the other places?

Then call the script one-virsh or whatever.
Why would you want to depend on a env variable that is defined in some shell script/rc file in one mad from all others. And read/parse that variable from every script/shell/ruby/executable again and again.
Anyway. Upstream does not seem to be interested. I'm not working on this.
Feel free to PR with your preferred solution.


Curriculum Review: Day 1 astropy and matplotlib

Prior Knowledge
Matplotlib, astropy and numpy need to be installed, as well as orbitize.
The tutorial also assumes working knowledge of numpy, which builds on the previous part of Day 1.
The part of the tutorial in which we run an orbit fit and create an orbit plot using orbitize also assumes that participants are familiar with the concept of random sampling.
Content
Matplotlib:

The link to the page describing the Figure object (below cell 3) is broken. Here's the correct link: Figure

I think it would be good to have a demonstration of matplotlib's notebook mode (just a single cell) and how we can use that to interact with plots in a jupyter notebook -- its a really nifty feature!

Activities look great!

Astropy:
Everything looks great, and the activities look fun!
Learning Goals
Overall, this session looks awesome and gives a great primer for matplotlib and astropy!

Great point about assuming knowledge of random sampling, @vighnesh-nagpal. I'll definitely keep that in mind when going over the activities. I also fixed the Figure link.
Thanks for the point about matplotlib notebook. Unfortunately I don't think that feature works in VSCode-- perhaps we could just mention it in text in the tutorial?

Addressed in PR #75 -- feel free to reopen if anything wasn't satisfactorily addressed.


Add support for Grok pattern definitions in external file(s)

We have a lot of Grok patterns and we'd like to deploy the yaml file from our cfgmgmt system. It makes little sense to include the Grok patterns literally -- they are normal deployed using an RPM, we have tests etc for them.
Would it be possible to provide a pattern_source giving a directory (preferably) or file of patterns that should be included next to the default patterns?

Hey @itkovian, that's a reasonable addition. I've classed this as a bughancement as the current behaviour is odd and user hostile.

Thanks!

Done https://github.com/Jeffail/benthos/commit/0b5664d5bf224f60032821c97ad27828f9423d18, planning to release later this week.

Done https://github.com/Jeffail/benthos/commit/0b5664d5bf224f60032821c97ad27828f9423d18, planning to release later this week.


Random not-understandable email

Hi, I got an email from you that said "uh-oh! Your reddit proof has broken."
I have no idea what it means, and it contains no instructions on what I'm expected to do.
You appear to have no support@ email address.

Avoiding Investment Scams: A Personal Testimonial
I stumbled upon an enticing investment opportunity on Facebook that promised substantial profits. I started with an investment of $300 and saw a 40% increase in just three days. Encouraged by this success, I invested an additional $5,000.
A week later, I managed to withdraw $2,500, which boosted my confidence. However, as I continued to invest, the company's responsiveness faded. My calls and emails went unanswered, and local police couldn't help as the company was based overseas.
Feeling hopeless, I was contacted by an inspector who recommended Asset Recover Net. I reached out to them and, incredibly, they recovered my entire loss of $290,000 within five days. My portfolio, which had nearly reached a million dollars, was also restored.
If you've been scammed, I highly recommend contacting Asset Recover Net:
Telegram: @AssetRecoverNet
Email<EMAIL_ADDRESS>They truly are the heroes you need.

reddit proof suddenly reported as working again.


Rails5.1

this pull request address #2
All tests are green and my test on a little rails 5.1 application are OK.
I did test it on a vagrant box ''ubuntu/trusty64' with ruby 2.3
I did generate a .rubocop_todo.yml file to avoid changing lots of files without knowing your coding style.
I'm not very familiar with pull request, so I would appreciate every comment or modification.

Can you help on those failures ?

@net1957 Would you mind to split this into two PRs? One for bumping versions and one for "the rest".

Sorry for the late reply. I oversaw that PR. Best is to use @maxmeyer into PRs. That way I see it in my participating list.


IPS-811 - Updated upload actions ecr versions

Proposed changes
Updated upload actions from 3.8 to 3.9

Why did it change

Issue tracking

LIME-XXXX

Other considerations

@Ihussain121 this can be closed off as this task has been completed by Dependabot.


[Refactor] XContent from common to core namespace

XContent namespace refactor from common -> core is going to be merged to opensearch/2.x which will break the 2.x build.  This issue is for refactoring XContent imports from the common to core namespace after the core namespace change is merged.
Depends on https://github.com/opensearch-project/OpenSearch/pull/6470

https://github.com/opensearch-project/OpenSearch/pull/6470 merged

Ping! Anything to be done here?

hi
Nothing needed here - this repo is not intended for 2.6

Closing as 2.7 has shipped with #6470.


how can i use neural style on ios

I am run an mxnet example on ios, but it can only use predict. The API has four functions, could you tell me  how to add new APIs and use backward on ios?

On mobile device SGD will be very slow if you will use naive style transfer implementation. Actualy, you don't need backprop-pass for style transfer, only forward pass. There is a lot of articles, that describe how to implement fast version of style transfer (for example https://arxiv.org/abs/1603.08155 and https://arxiv.org/abs/1610.07629) in feed-forward model.


Hashtags ('#') in password string cause pushing to remote to fail

when pushing to a remote using stash, if the password string contains a hashtag ('#') it will cause a urllib error 401 if on the right side of the colon (' : ') and a bad request error if on the left side. Im running in iPhone 6 plus w/ iOS 10 and pythonista 2

Also this is a serious issue, i guess most people dont have hashtags in their password strings and now neither do I.

git push embeds the password in the url, which is deprecated according to RFC 3986.

Somehow I just noticed this issue. My guess is that any texts after # is interpreted as comments as like in Bash. So to avoid # being treated as start of comments, you can single quote your entire URL, e.g. git push 'url_containing_#_char'

@oefe  This is mostly for interaction with dulwich, keeping with the other transport types.  The url is not actually sent over the wire this way -- this gets stripped out into an HTTPBasicAuthentication flow.


Added support for dynamic duration for snack bar.

Duration field added in snackbar_config.dart so that we will not have to specify Duration on each show snackbar call.

This looks good. Lets get the conflicts fixed up then we can move forward on this.

I am having a hard time finding those files, is it removed in the latest version of Stacked?

@VishalMakasanaPep yes, they're in a different location now. Make sure you were on the latest when you forked for your PR.

I need this to be merged, it's so annoying to add duration to each call
What can I do to help push this through?
@FilledStacks @ferrarafer

Deleting this PR as new PR is available for latest repo : https://github.com/Stacked-Org/services/pull/26

I need this to be merged, it's so annoying to add duration to each call
What can I do to help push this through?
@FilledStacks @ferrarafer

I will merge the PR today, sorry for the delay, we were busy with the new site.

@ferrarafer No worries, Thank you dude 🎊


Acquire lock in workflow engine before handling action execution completion

Acquire a distributed lock, keyed on workflow execution ID, in the workflow engine before handling the action execution completion. This avoids the performance hits from retrying write conflicts for workflows with a lot of parallelism such as a with items task with many items and no concurrency.

:+1:


fix: populateSettings as transaction

no issue

if two function calls happen to populateDefaults in models/settings.js, it can happen that they try both to update the database
in this case the database would throw a unique constraint error
solve this issue by executing get and insert in a transactional operation

To reproduce the error (without this PR):

Clear the SQLite DB
Checkout commit 77464c59bd294d588cf5ff68c342ec91411520b8
Start & setup blog
Checkout master
Start blog and see a SQLite constraint error

[x] error handling

ready to review


[MRG] Don't lose dimension name when using normalize_dimensions

I noticed that the result object of gp_minimize contained dimension objects that didn't have their assigned names anymore (example). This seemed to be caused by utils.normalize_dimensions(), which did not pass on the name.

Hello @cschell! Thanks for submitting the PR.

In the file skopt/tests/test_utils.py, following are the PEP8 issues :

Line 178:80: E501 line too long (81 > 79 characters)

Codecov Report

Merging #668 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #668   +/-   ##
=======================================
  Coverage   85.92%   85.92%
=======================================
  Files          23       23
  Lines        1797     1797
=======================================
  Hits         1544     1544
  Misses        253      253

Impacted Files
Coverage Δ

skopt/utils.py
91.17% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks a lot for the contribution and apologies for the astronomically slow response time.
Also 🎉  for your first contribution to scikit-optimize!

Is this PR included in the 0.6 tag in this repo?


Add separate guide for deps.optimizer

Clear and concise description of the problem
There is not a lot of information about the Vitest optimizer.
Suggested solution
We should add a guide in Vitest documentation explaining how the optimizer works and where to enable it. We can rely on "Dependency Pre-Bundling" Vite docs as a source of inspiration since it uses the same mechanism.
Vitest main points:

Importing a single file is faster than importing separate files
CJS/ESM interop should be better
We can use Vite plugins and aliases without processing files one by one which is faster
Better interoperability with how Vite works in the browser

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

@sheremet-va I'll pick this up