Dart 1.20.1: malformed type cannot resolve class 'Future'

I discovered this issue via the w_transport package when upgrading from Dart 1.19.1 to 1.20.1. All tests pass on 1.19.1, and then without any changes other than upgrading, there are a few tests that fail with the following error:
'package:w_transport/src/http/browser/requests.dart': malformed type: line 55 pos 1: cannot resolve class 'Future' from 'CommonPlainTextRequest&BrowserRequestMixin'

      ^

      dart:html                                                      HttpRequest.abort
      package:w_transport/src/http/browser/request_mixin.dart 32:15  CommonPlainTextRequest&BrowserRequestMixin.abortRequest
      package:w_transport/src/http/common/request.dart 332:5         CommonRequest.abort
      http/common_request/suite.dart 402:15                          _runCommonRequestSuiteFor.<fn>.<fn>.<async>
      ===== asynchronous gap ===========================
      dart:html                                                      _EventStream.listen
      package:w_transport/src/http/browser/request_mixin.dart 90:22  CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse.<async>
      ===== asynchronous gap ===========================
      dart:async                                                     Future.Future.microtask
      package:w_transport/src/http/browser/request_mixin.dart        CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse
      package:w_transport/src/http/common/request.dart 682:7         CommonRequest._send.<async>
      dart:async                                                     _SyncCompleter.complete
      package:w_transport/src/http/browser/request_mixin.dart 39:3   CommonPlainTextRequest&BrowserRequestMixin.openRequest.<async>
      ===== asynchronous gap ===========================
      dart:async                                                     _asyncThenWrapperHelper
      package:w_transport/src/http/common/request.dart               CommonRequest._send
      package:w_transport/src/http/common/request.dart 476:7         CommonRequest.get
      http/common_request/suite.dart 395:30                          _runCommonRequestSuiteFor.<fn>.<fn>.<async>
      ===== asynchronous gap ===========================
      dart:async                                                     Future.Future.microtask
      http/common_request/suite.dart                                 _runCommonRequestSuiteFor.<fn>.<fn>

To start, it helps to understand the structure of the w_transport code involved in this failure.
The main entry point (w_transport/w_transport.dart) exposes some abstract request classes that use factory functions to construct the correct implementations based on the configured platform (browser vs VM). I'll use Request as the example here.
abstract class Request extends BaseRequest {
  factory Request() => ...;
}

https://github.com/Workiva/w_transport/blob/master/lib/src/http/requests.dart#L197-L220
There are then two platform-specific entry points for browser and VM. The consumer has to choose one to import and configure so that the platform-independent code knows how to construct the correct concrete implementations at runtime.
Most of the logic is shared between request types and between platforms, so there's an internal common class to house it all.
abstract class CommonRequest implements BaseRequest {
  // Shared concrete logic goes here
  ...

  // Abstract methods here allow platform-specific implementations to be mixed in later
  ...
}

https://github.com/Workiva/w_transport/blob/master/lib/src/http/common/request.dart#L38
To fill in the gaps specific to each platform, I use a mixin.
abstract class BrowserRequestMixin implements BaseRequest, CommonRequest {
  // Provide concrete implementations of the abstract methods defined in CommonRequest
}

https://github.com/Workiva/w_transport/blob/master/lib/src/http/browser/request_mixin.dart#L27
Finally, a concrete version of the request is created by extending the common request class and mixing in a platform-specific one.
class BrowserRequest extends CommonRequest with BrowserRequestMixin {}

https://github.com/Workiva/w_transport/blob/master/lib/src/http/browser/requests.dart#L26
To bring it full circle.. if a user of w_transport had configured the platform to be "browser", then constructing a new instance of the abstract Request class would result in that factory using a browser-specific factory that constructs an instance of BrowserRequest.

Now back to the failure that was seemingly introduced due to a change in Dart 1.20. The file where I define all of the concrete browser request classes (https://github.com/Workiva/w_transport/blob/master/lib/src/http/browser/requests.dart#L26) is relatively small - it just imports other classes and extends/mixes them to create the desired result. Because of this, there is no dart:async import in that file (there's no logic that depends on it).
I mention this because the stack trace from the failure above points to this file, but it points to the very last line (which is blank), and if I add import 'dart:async'; to that file, the failure no longer occurs. And then the analyzer complains that the import is unused.
This also seems to be related to the HttpRequest class from dart:html somehow. The only tests that fail are those that are exercising one of two things:

Calling .abort() on an instance of dart:html.HttpRequest
Listening to the onAbort stream on an instance of dart:html.HttpRequest

The exact same pattern is followed for the VM implementations (using dart:io), but those are still working as expected.

I'll keep trying to come up with a reduced test case, but so far it seems to be the result of the way I'm using abstract classes and mixins to work around platform-specific dependencies (like dart:html) and I haven't been able to simplify that much without losing the failure.
In the mean time, if anyone has some ideas or suspicions about what might be happening here, please let me know!

Does it work when you compile to js?

@kevmoo Yes, looks like it does. Tests pass in Chrome, Firefox, and Safari. So I guess that might narrow it down to a Dartium issue.

@evanweible-wf If we checkout your repository, is there a minimal repo we can run to validate?

@kevmoo here you go:
https://github.com/ekweible/dart_1.20.1_w_transport_future_bug_repro
If you clone that, you can see the failure by running the test in either content-shell or dartium:
$ pub run test -p content-shell
$ pub run test -p dartium

Running in any other browser, the test will pass:
$ pub run test -p chrome

@lrhn @floitschG Would you guys take a look? – also confirmed on 1.21.0-dev.4.0

The class being mentioned is  CommonPlainTextRequest&BrowserRequestMixin.abortRequest which is a class created using a mixin in w_transport/lib/src/http/browser/requests.dart as CommonPlainTextRequest with BrowserRequestMixin. That library doesn't import dart:async.
It seems like the VM is messing up the type lookup because it can't find the Future class there. The error is reported at line 55 which is the end of the file, so it suggests a problem with synthetic code, not actual code.
Now, it shouldn't be looking there at all, it should be doing static lookup relative to where the mixin is declared, and dart:async is imported in that library (request_mixin.dart in the same dir).
I'm not sure why this only happens in dartium/content-shell.
One hint is that the stack trace starts with:
dart:html                                                      HttpRequest.abort

but I have no idea why it matters.
I think it's safe to say that it's a VM issue of some sort.

Can someone point me to a x64 debug build of content_shell? Or even better, to a recipe for building it myself?

Not having a debug build of content_shell, I used the latest version of dart_bootstrap to compile the test case. Tracing type finalization shows that 'Future' is being finalized for class 'BrowserRequestMixin', and not for class 'CommonPlainTextRequest&BrowserRequestMixin', which would cause the problem.
I related bug was fixed on September 19. Could it be that content_shell/dartium are using an older dart VM?

Interestingly, if I bypass pub and use content_shell directly with an index.html pointing to w_transport_future_bug_test.dart, I get "00:00 +1: All tests passed!"

@crelier success w/out pub might be due to the code exiting before the async error is thrown...

@crelier any updates here?

Debugging on this problem has been slow because of various issues with building a debug version of content shell. I believe Regis managed to get a debug build after various tries only this afternoon.

Yes, I learned the hard way that our older version of dartium/content_shell cannot be built out of the box anymore without manually fixing depot_tools. Another complication is that the issue does not occur if content_shell is ran by itself, but only when invoked by the test runner, which requires modification in order to launch a debug build of content_shell that can be inspected under gdb. It is a very long story, but in short, no update yet.

After the fix, the test sometimes succeeds and sometimes fails in a way unrelated to the issue of this report (timeout?):
$ pub run test -p content-shell
00:03 +1: All tests passed!
$ pub run test -p content-shell
00:03 +0 -1: test/w_transport_future_bug_test.dart: w_transport Future not resolved repro
RequestException: GET 0  http://httpstat.us/200
[object XMLHttpRequestProgressEvent]
package:w_transport/src/http/browser/request_mixin.dart 85:43  CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse..onError.
dart:async                                                     _SyncCompleter.complete
package:w_transport/src/http/browser/request_mixin.dart 142:5  CommonPlainTextRequest&BrowserRequestMixin._createResponse.
===== asynchronous gap ===========================
dart:async                                                     _Completer.completeError
package:w_transport/src/http/browser/request_mixin.dart 85:11  CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse..onError.
dart:async                                                     _SyncCompleter.complete
package:w_transport/src/http/browser/request_mixin.dart 142:5  CommonPlainTextRequest&BrowserRequestMixin._createResponse.
===== asynchronous gap ===========================
dart:html                                                      _EventStream.listen
package:w_transport/src/http/browser/request_mixin.dart 90:22  CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse.
===== asynchronous gap ===========================
dart:async                                                     Future.Future.microtask
package:w_transport/src/http/browser/request_mixin.dart        CommonPlainTextRequest&BrowserRequestMixin.sendRequestAndFetchResponse
package:w_transport/src/http/common/request.dart 682:7         CommonRequest._send.
dart:async                                                     _SyncCompleter.complete
package:w_transport/src/http/browser/request_mixin.dart 39:3   CommonPlainTextRequest&BrowserRequestMixin.openRequest.
===== asynchronous gap ===========================
dart:async                                                     _asyncThenWrapperHelper
package:w_transport/src/http/common/request.dart               CommonRequest._send
package:w_transport/src/http/common/request.dart 476:7         CommonRequest.get
w_transport_future_bug_test.dart 14:34                         main..
===== asynchronous gap ===========================
dart:async                                                     Future.Future.microtask
w_transport_future_bug_test.dart                               main.
00:03 +0 -1: Some tests failed.


remove --build flag from Docker artifact command

Due to redundant default setting and potential artifact misdirection/hyper-constraints in the event of retry failures etc. Also Buildkite's --build logic may be thrown off by our using GCS as an artifact store vs. their built-in Artifactory solution.
Testing: Buildkite CI
Checklist:

[ ] All tests pass (CI will check this if you didn't)

See investigation @ #6374


WIP: Add basic personalisation blocks

Issue #68

Add "visible to everyone" segment setting for PersonalisedStructBlock.

Add the render_fields keyword argument for PersonalisedStructBlock. Setting of the same name can be also set on Meta class of the block.

It takes a list of field names and renders them in order without titles.
If set to None, it will just use StructBlock's render() (as currently, displaying field titles & content or template specified in Meta).

Add a few more default blocks so they work out of the box.

PersonalisedCharBlock
PersonalisedImageChooserBlock
PersonalisedRichTextBlock
PersonalisedTextBlock

@tm-kn can you look at the 2.7 failures, please?

Codecov Report

Merging #135 into master will decrease coverage by 24.36%.
The diff coverage is 57.14%.

@@             Coverage Diff             @@
##           master     #135       +/-   ##
===========================================
- Coverage   92.83%   68.47%   -24.37%
===========================================
  Files          66       55       -11
  Lines        2010     2217      +207
===========================================
- Hits         1866     1518      -348
- Misses        144      699      +555

Impacted Files
Coverage Δ

src/wagtail_personalisation/blocks.py
58.82% <57.14%> (ø)

src/wagtail_personalisation/adapters.py
24.05% <0%> (-75.09%)
:arrow_down:

src/wagtail_personalisation/admin_urls.py
26.31% <0%> (-73.69%)
:arrow_down:

src/wagtail_personalisation/config.py
65.89% <0%> (-34.11%)
:arrow_down:

src/wagtail_personalisation/wagtail_hooks.py
50% <0%> (-19.7%)
:arrow_down:

src/wagtail_personalisation/views.py
49.25% <0%> (-14.39%)
:arrow_down:

src/wagtail_personalisation/models.py
84.88% <0%> (-9.86%)
:arrow_down:

tests/unit/test_rules_visitcount.py
100% <0%> (ø)
:arrow_up:

tests/unit/test_adapter_session.py
100% <0%> (ø)
:arrow_up:

tests/factories/page.py
100% <0%> (ø)
:arrow_up:

... and 30 more

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 a47803e...1d18a82. Read the comment docs.


Create a contributing.md file for beginners

Type
Add a new contributing.md file
Description
Create this file with
-Some GIF's
-Screenshots
-CLI for beginners to fork the repo ,create a issue and a PR
Have you read the Contributing Guidelines on Pull Requests?
yes
Motivation
Similar what I have created in https://github.com/harsh-9in/Blogger/blob/master/CONTRIBUTING.md

If the issue is approved I would like to work on this issue

@HarshCasper  can you please assign this issue to me?


Code cleanup

@yunhailuo  Submitted this PR to get quick feedback. :smiley:

Maybe rebase to master since I just merged #12 ?

Maybe rebase to master since I just merged #12 ?

Rebased. :)

@yunhailuo, I think equal_matrices, merge_xena, TARGET-CCSK_phenotype_ETL modules could be inside utils.py.

@yunhailuo, I think equal_matrices, merge_xena, TARGET-CCSK_phenotype_ETL modules could be inside utils.py.

@yunhailuo What do you think about this? :)

equal_matrices and merge_xena can go to utils. I said they can go into utils only because they can be used by other python scripts/modules as well. But I would feel better if they are moved together with your #16 because they are, at least back in days for me, used for comparing Xena matrices, meaning an CLI interface seems necessary.
TARGET-CCSK_phenotype_ETL, if I remember correctly, is a really special case which is less likely to be applicable to other python scripts/modules. For me, it's better to leave it as a single, isolated, less used script.

BTW, I'm actually OK if you want to move one or a few functions at a time/PR, instead of doing everything perfect in one PR. The only recommendation is to make the PR message clear because I would, by default, do "Squash and merge" and use PR title as final commit title.

In this particular PR, instead of Squash and merge, only Merge can be done since there are movements of different functions from different files(mkdir_p, make_metadata). I will separate out the commits in that way before merging.

In this particular PR, instead of Squash and merge, only Merge can be done since there are movements of different functions from different files(mkdir_p, make_metadata). I will separate out the commits in that way before merging.
As a sidenote, pylint has a feature to check code similarity. We can enable this in CI in the lint stage.

I would consider "Rebase and merge" first unless there is a strong reason for a merge commit. I don't want to deal with merge commits if I don't have to. Also, make sure you have a clean commit history if you don't want to have squash. I'll mark this PR as "Rebase and merge" for now.

Just a mark for myself, 15993f5 looks nice and clean by itself.

@yunhailuo I think this PR is good to go. Let me know if some modification is required.

@yunhailuo Should I make more changes? I don't think make_metadata overlaps anymore with xena_datasets module.

I'm not sure about your vision on make_metadata and xena_datasets. I just feel like it's better not to import scripts in a module.

Will follow.

@yunhailuo I have found that quite a few modules inside scripts (namely make_metadata, merge_xena, panTCGA) meta_templates and metavars have been used. However, they are private data members inside xena_dataset.GDCOmicset. I feel it would be good if we declare them in xena_gdc_etl/__init__.py itself.

Update on implementation: I have used stored the METADATA_VARIABLES and METADATA_TEMPLATE in a constant.py file instead of __init__.py.

@yunhailuo I have found that quite a few modules inside scripts (namely make_metadata, merge_xena, panTCGA) meta_templates and metavars have been used. However, they are private data members inside xena_dataset.GDCOmicset. I feel it would be good if we declare them in xena_gdc_etl/__init__.py itself. In this way, it will available to every module which imports xena_gdc_etl. What do you think?

Sounds good. Please feel free to do that.

It's already done. Instead of putting them inside __init__.py, I have put them in constants.py.

@yunhailuo I think this PR can be merged. Let me know if some changes are required.

Hi. I see that the json module is imported but not used in tests/test_gdc.py.
It will be better if it's removed :)

Thanks for the review! Really appreciate it. :blush:

I have marked some tests as CI as they require internet while executing.

Note: I have marked some tests as CI as they require internet while executing. So, if someone is offline during coding, they can run python -v -m "not CI" in order to execute the tests which require no internet connection.

Just to check python -v -m "CI" is to execute tests requiring internet connection, right?

Yup.

@yunhailuo is the CONTRIBUTING guide OK or should remove/add something?

@yunhailuo is the CONTRIBUTING guide OK or should I remove/add something?

Should be fine for now for this PR. Is this PR ready?

This PR is ready and can be merged.

Since we are going to do rebase and merge for this PR, I'd appreciate it you could clean up the commit history a little bit. It seems ebb4970, 285da6b and 32ef0cc are dealing with one same issue. Should they be combined?

Sure.

I have created #22 for the test fix since it does not really belong in this PR.

I have created #22 for the test fix since it does not really belong in this PR.

That's good. Thanks again for the great work. I'll merge this one and see if #22 will pass.


version 2.3.0 get stream is not working

It looks like the get in v2.3.0 is not working or was changed but this is not documented. My guess is the v3.0.0 change to use chunk instead of stream might have gotten into this release on accident. Please revert back to returning stream.

sorry for that. merged error with 3.0.
publish a new version V2.3.1


Server does not update from "Starting"

When I first created the server it changed from "Starting" to "Started" but then after a reboot it just constantly says "Starting" so my discord bot is not advising users of the status change.
Also when i use "quit" in the console (as an admin within the game) it just gets stuck on "Preparing to exit"
Are these issues with the games handling of dedicated servers? or is this a plugin issue?
Thanks for your work on this plugin!

n

This old plugin is for Unreal4 and not the newest version of Unreal. Try this one https://github.com/Kavex/WindowsGSM.Satisfactory.Unreal5


Cluster bubbles hide below polygons

Reordering the layers is not solving the issue.
Happening in: gis-services
Reproduce:

Download world_simplified.csv and jll_offices.csv, attached.

Open world_simplified and create a vis by adding two layers (one with cluster and one simple) for two jll_offices tables.

Although you reorder the layers, the cluster always hides below the polygons. I tried to remove the simple points layer but it didn't change anything.

Viz here:
http://cdb.io/1qfBqqJ
Ticket here: https://cartodb.supportbee.com/tickets/2644173

Closing due to cluster will not be included in the next editor iteration.


Unable to copy/select specific text from a response

Issue where you are unable to select a specific part of the response without having to resort to copying the whole response.

@shaunyogeshwaran thanks for raising this issue! I also wanted to raise the same issue.

Yes it is annoying, I'll try to see what is going on.

Unfortunately, even this most basic example in gradio has same issue:
import gradio as gr
import random
import time

with gr.Blocks() as demo:
    chatbot = gr.Chatbot()
    msg = gr.Textbox()
    clear = gr.ClearButton([msg, chatbot])

    def respond(message, chat_history):
        bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"])
        chat_history.append((message, bot_message))
        time.sleep(2)
        return "", chat_history

    msg.submit(respond, [msg, chatbot], [msg, chatbot])

if __name__ == "__main__":
    demo.launch()

It seems fixed in latest gradio==4.11.0 ,  I can highlight parts.

solved now using gradio4


We should have ipmitool and necessary kernel modules installed by default

I frequently need to execute ipmitool bmc reset cold on physical hosts to get a hung BMC back on the network.  Currently this involves manual changes each time it occurs.
In the future we should install ipmitool and the ipmi modules on all nodes out of the box (ipmi_devintf and ipmi_si)

I worked on this briefly but ran into problems immediately.
Right now there is no kernel module management cookbook that works on Ubuntu.  I started working on a port of Criteo's cookbook that targets Fedora and RHEL, but that's more work than it looked like.


Custom embedded objects

Hi @krirkrirk,
Thank you for developing this. Just wondering if there's any intention of adding .registerEmbed() experimental API method (https://docs.mathquill.com/en/latest/Api_Methods/#registerembedname-functionid-return-options-x)?
Thanks.

Hi @asianvader ,
I believe it's already possible to achieve this. You can get a ref to the Mathquill input by doing something like this :
const ref = useRef();

<MathInput setMathfieldRef={(mathfield) => (ref.current = mathfield)} />

Then the whole Mathquill API is available via ref.current, so ref.current.registerEmbed() will work.

Thanks for your quick reply @krirkrirk. Unfortunately, your suggesting didn't work for the .registerEmbed() method, but did work for the other experimental feature - .dropEmbedded(). I downloaded and delved more into your code and managed to find a way to register custom objects. In mathInput.tsx line 121 where you first declare Mathquill: const MQ = window.MathQuill.getInterface(2). Changing the const to let, I was able to register a new object e.g:
MQ.registerEmbed("algebraA", function registerAlgebraA() {
      return {
        htmlString: `<span class="mq-algebra">a</span>`,
        text: function text() {
          return "algebraa";
        },
        latex: function latex() {
          return "\\algebraA";
        },
      };
    });

Using your example.tsx as a playground, I added a custom button where the mathFieldInstructions are as follows:
mathfieldInstructions: {
                  content:
                    "\\embed{algebraA}",
                  method: "write",
                },

Thanks for your help.

I see ! The ref is already a MathField and so it's too late for registering custom objects. If you're eager to, you could do a pull request to add this fonctionnality.
The best way IMO is to pass a prop to the MathInput that has the type :
registerEmbedObjects: {id: string, htmlString: string, text: string, latex: string}[]

Then in MathInput.tsx, you can loop over registerEmbedObjects, and call MQ.registerEmbed for each element.
Does that sound good to you @asianvader  ?

Yes I'll be happy to create a pull request for this. Do you have a develop branch or should I do a PR to main? Thanks.

I've accepted your PR and republished the package with your changes. Thanks ! Don't hesitate if you encouter another issue.


[WIP] Draft checkpoint interpret call

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
use _interpret_call to trace checkpoint

@kiya00, please take a look at the implementation at https://github.com/Lightning-AI/lightning-thunder/pull/1256. The same pattern can be used here to finish this work.


google-guest-agent: 20220927.00 -> 20221018.00

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/GoogleCloudPlatform/guest-agent/releases.
meta.description for google-guest-agent is: "Guest Agent for Google Compute Engine"
meta.homepage for google-guest-agent is: "https://github.com/GoogleCloudPlatform/guest-agent"
meta.changelog for google-guest-agent is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 20221017.00 with grep in /nix/store/b4shjzia7gwcqb4xicvppm93rksms7c9-guest-agent-20221017.00
found 20221017.00 in filename of file in /nix/store/b4shjzia7gwcqb4xicvppm93rksms7c9-guest-agent-20221017.00

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
google-guest-agent

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b4shjzia7gwcqb4xicvppm93rksms7c9-guest-agent-20221017.00 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A google-guest-agent https://github.com/r-ryantm/nixpkgs/archive/9dcf85825037a1a168e9ec0d64c46b2bb8474eb7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b4shjzia7gwcqb4xicvppm93rksms7c9-guest-agent-20221017.00
ls -la /nix/store/b4shjzia7gwcqb4xicvppm93rksms7c9-guest-agent-20221017.00/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

google-guest-agent

Maintainer pings
cc @abbradar for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/GoogleCloudPlatform/guest-agent/releases.
meta.description for google-guest-agent is: "Guest Agent for Google Compute Engine"
meta.homepage for google-guest-agent is: "https://github.com/GoogleCloudPlatform/guest-agent"
meta.changelog for google-guest-agent is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 20221018.00 with grep in /nix/store/5h501zmd3i3mbiy1rx42vayyn8rvj85w-guest-agent-20221018.00
found 20221018.00 in filename of file in /nix/store/5h501zmd3i3mbiy1rx42vayyn8rvj85w-guest-agent-20221018.00

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
google-guest-agent

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5h501zmd3i3mbiy1rx42vayyn8rvj85w-guest-agent-20221018.00 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A google-guest-agent https://github.com/r-ryantm/nixpkgs/archive/415456e494922e7f5e818fff0647f65110184dc8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5h501zmd3i3mbiy1rx42vayyn8rvj85w-guest-agent-20221018.00
ls -la /nix/store/5h501zmd3i3mbiy1rx42vayyn8rvj85w-guest-agent-20221018.00/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

google-guest-agent

Maintainer pings
cc @abbradar for testing.


I needed a name. It was delicious.

I'm also not sure if this is going to be a UAVCAN project or not. It may not end up being much of anything. If you really want nanaimo I can vacate the name.


RemoteDisconnected   when showing the map where the fieldset is set by ‘from_netcdf’

hello,
the tools are very useful and fast. But I have a problem which seems to  exist only in windows users or chinese users.  the problem is:
first I set the field usingfieldset = FieldSet.from_netcdf(filenames, variables, dimensions),  and the erro rose when I want to show the field using the command fieldset.U.show(land=True).  and it will warm me that  warnings.warn('Downloading: {}'.format(url), DownloadWarning)    and I guess if this is because I am a Chinese user so I have no right to download the coastline.  Remote end closed connection without response this is the end of the error.

The download is triggered by cartopy which needs to obtain shape files from http://www.naturalearthdata.com/.  Can you access this website directly?  (Might also be a local firewall issue I've often seen when working on large scientific-computing clusters.)

If you can't download the cartopy data, I suggest you write your own plotting routines. This in general is recommended, as Parcels only provides very rudimentary plotting

can't I download the costline data directly, and set a path for drawing the costline to avoid to connect with the website?


Delegate to getter

Hi there,
what I basically want to do is this:
-@Target({ElementType.FIELD})
+@Target({ElementType.FIELD, ElementType.METHOD})
 public @interface Delegate {

so that I can
@Delegate
Foo getSomeFoo() {
    // calcuate foo here
}

I rewrote the AST transform and put a lot of the FieldNode-specific context into a simple struct-like object (this rework is what makes the diff look so big, although it's just prepending delegate.). I then fill this object either with the field's data or the method's data. The actual code generation is not changed at all, except for the actual "getter", i.e. a field access or a method invocation.
However, I'm having trouble generating the correct AST. Currently the decompiled class looks like this:
  @Delegate
  public DelegateFoo getStrategy() {
    // some stuff that works okay
  }

  public Object foo()
  {
    return ((DelegateFoo)getProperty("getStrategy")).foo(); return null;
  }

But there is no property named getStrategy, the property is named strategy with a method getStrategy. Yet I struggle to generate the correct expression to actually call the method as a method. Could someone please give me a hint?
Best regards

@paulk-asert What do you think?

To answer your last question: it looks like the problem is that your delegating method calls use a variable with the delegate name as the receiver, even when the delegate is a method. In that case, the receiver should not be a variable, but rather a method call expression itself e.g. this.getStrategy(). Here's the block of code I'm referring to:
MethodCallExpression mce = callX(
        alsoLazy ? propX(varX("this"), delegate.delegateName.substring(1)) :
        varX(delegate.delegateName, correctToGenericsSpecRecurse(genericsSpec, delegate.type)),
        candidate.getName(),
        args);

Ah, thanks a lot for pointing that one out. I mindlessly went through the class and added delegate. but didn't notice this variable access at all.

I completed the necessary javadoc additions and cleaned up the remaining TODOs.

I created a jira issue for this: https://issues.apache.org/jira/browse/GROOVY-7769

Any opinions?
Not a good feature? Not a good implementation? I'm open to criticism :)

@oreissig I honestly do not know. Sorry. :(
I'm hoping that @paulk-asert will offer his opinion of this pull request.

will do soon - been a little busy ...
On Fri, Apr 1, 2016 at 8:11 AM, Pascal Schumacher<EMAIL_ADDRESS>wrote:

@oreissig https://github.com/oreissig I honestly do not know. Sorry. :(
I'm hoping that @paulk-asert https://github.com/paulk-asert will offer
his opinion of this pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/apache/groovy/pull/265#issuecomment-204153126

Any chance you can rebase against master?

all done

Merged with some doco tweaks, thanks!


Selecting and deselecting masked textbox makes form invalid

Selecting and deselecting masked textbox (input) inside a form makes the form invalid, when using ng-required.
Check out this Plunker for an example of this.
http://plnkr.co/edit/7DKExnR1cl3WyB15dSu3?p=preview
Use case: a form with masked fields that dynamically change from required to not required based on other user input.

UI.Utils modules was split in individuals repositories. If still valid, please consider re-submitting on its dedicated repository: https://github.com/angular-ui/ui-mask
See the README for details.


Circle chart

Hi, thanks for this awesome package,
As I checked, I think the circle type is missing, how can I add it? thanks

Oops, got it, sorry :)


[BUG] client crash on guildMemberAdd when manage server permission isn't given

Describe the bug
Client crashes, when a user joins the server and the bot doesn't have the right to see the invites section (eg. manage server permission)
Screenshots
N/A
Additional context
N/A

Needs further investigation. Bug source is unclear (try catches didn't handle it).

Needs further investigation. Bug source is unclear (try catches didn't handle it).


Unhandled Exception: PlatformException Issue

I get this exception whenever I call await FlutterSimCountryCode.simCountryCode . I am testing on real device with sim card (iPhone 11)
Any thoughts?  Thanks
Unhandled Exception: PlatformException(SIM_COUNTRY_CODE_ERROR, Error getting country, null, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:597:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158:18)
<asynchronous suspension>
#2      FlutterSimCountryCode.simCountryCode (package:flutter_sim_country_code/flutter_sim_country_code.dart:10:29)
<asynchronous suspension>

I also have a problem with reading the country code from physical iPhone, on Android it works fine.

I am also facing the same issue on some physical iOS Devices.

Same here, @derTuca can you please check?


[Bug] 0.2.14 version. ValueError: malformed node or string: None

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[X] 2. The bug has not been fixed in the latest version.
[X] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.
[X] 4. If the issue you raised is not a bug but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[X] 5. Please use English, otherwise it will be closed.

Describe the bug
not support llava-v1.5 model
[17:30:41 TP0] Exception in ModelTpServer:
Traceback (most recent call last):
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/site-packages/sglang/srt/managers/tp_worker.py", line 222, in exposed_step
self.handle_generate_request(recv_req)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/site-packages/sglang/srt/managers/tp_worker.py", line 341, in handle_generate_request
) = self.model_runner.model.pad_input_ids(
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/site-packages/sglang/srt/models/llava.py", line 85, in pad_input_ids
num_patch_width, num_patch_height = get_anyres_image_grid_shape(
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/site-packages/sglang/srt/mm_utils.py", line 173, in get_anyres_image_grid_shape
possible_resolutions = ast.literal_eval(grid_pinpoints)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/ast.py", line 105, in literal_eval
return _convert(node_or_string)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/ast.py", line 104, in _convert
return _convert_signed_num(node)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/ast.py", line 78, in _convert_signed_num
return _convert_num(node)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/ast.py", line 69, in _convert_num
_raise_malformed_node(node)
File "/root/miniconda3/envs/sglang_0.2/lib/python3.9/ast.py", line 66, in _raise_malformed_node
raise ValueError(f'malformed node or string: {node!r}')
ValueError: malformed node or string: None
Reproduction
change sglang/examples/frontend_language/quick_start/local_example_llava_next.py code, use llava-v1.5 model
pip install sglang[all]
pip install flashinfer -i https://flashinfer.ai/whl/cu121/torch2.4/
cd sglang/examples/frontend_language/quick_start
python local_example_llava_next.py
Environment
python 3.9
cuda 12.1

I meet this issue too, did you solve it?


Is there any Python interface to use GpuAcc tuning file?

It is my understanding that we need to feed GpuAcc tuning file into m_BackendOptions of CreationOptions. However, it is not exposed in the Python interface. Therefore if I want to use it in Python, I should do expose m_BackendOptions  in Python or make a new constructor that sets m_BackendOptions inside based on some arguments.
Please correct me if I am wrong.

@wangg  Pls read https://github.com/ARM-software/armnn/blob/branches/armnn_20_11/python/pyarmnn/test/test_network.py#L58

@wangg  Pls read https://github.com/ARM-software/armnn/blob/branches/armnn_20_11/python/pyarmnn/test/test_network.py#L58

@ek9852 I am sorry, but I still cannot quite understand how I can load the tuning file (a table of optimal LWS of OpenCL kernels, which is also the one ExecuteNetwork loads when --tuning-path is provided), and I don't see it is tested in the file you mentioned. Could you please be more specific where I should look at?

@ek9852 I am sorry, but I still cannot quite understand how I can load the tuning file (a table of optimal LWS of OpenCL kernels, which is also the one ExecuteNetwork loads when --tuning-path is provided), and I don't see it is tested in the file you mentioned. Could you please be more specific where I should look at?

O, I think I mis-read the issue.
I thought u need to select gpuacc backend in python only.

O, I think I mis-read the issue.
I thought u need to select gpuacc backend in python only.

Hi @wangg
there is no way of doing this right at the moment, we've added it to our backlog but there's no ETA at the moment.
Best regards,
Mike

Hi @wangg
there is no way of doing this right at the moment, we've added it to our backlog but there's no ETA at the moment.
Best regards,
Mike

I am actually going to work on this feature for an internal project in our company. If nobody plans to do it in the near future. I guess I can submit a patch when I am done?

I am actually going to work on this feature for an internal project in our company. If nobody plans to do it in the near future. I guess I can submit a patch when I am done?

Hi @wangg
I've added this feature request to our internal roadmap so I'm going to close this issue. If you can submit a patch for this that would be great but if this feature is implemented by us before you get your patch in then we'll update this issue with a link to the relevant review.
Best regards,
Mike


Parking Sensors: Convert Release Pipelines to YAML format

Currently, Release Pipelines are built using the visual (classic) editor and much harder to include in an automated deployment script. Need to convert this to YAML.

Where could be found the public version of the release pipeline to work on that?

HI @victordelangel84 , I've just completed converting all the Build and Release pipelines into YAML. You can view them here: https://github.com/Azure-Samples/modern-data-warehouse-dataops/tree/master/e2e_samples/parking_sensors/devops


Fix import/cjs build

Code transpiles and publishes. End users can import the methods/classes but their code will NOT run/compile due to the wasmcloud-rs-js/pkg references (the dist/src code looks for it in the parent directory)

fixed with commit 7fabaadf28295c06ffa2445b57af2946292d9491

Doing a direct import breaks with the error Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #0 module="./index_bg.js" function="__wbindgen_string_new" error: function import requires a callable

fixed


kontena grid logs -t raises if there are no logs

$ kontena grid logs -t
undefined method `colorize' for nil:NilClass (NoMethodError)

(usecase: showing logs from the beginning of an automated kontena setup)

Quick testing with 0.15.1, 0.15.2 and master using kontena grid create logs-test and kontena grid logs -t seems to behave correctly.
It this with kontena version 0.15.2 of the cli/master or earlier? Does kontena grid logs without the --tail also raise a similar error for the same logs? Can you give the DEBUG=1 kontena grid logs -t output with the traceback?
Not entirely sure what this is, I assume it's from the log['name'].colorize(color). With the current code it wold mean that there was something parseable as JSON on the wire that wasn't actually a ContainerLog JSON object. Or there's a ContainerLog without a name on the server.

Let's reopen if this problem pops-up again.


BUG: nonflux condition yields -nan

If nonflux conditions are set everywhere (ie. no conditions at all) the newton solver yields -nan. It seems that only Dirichlet can be set.

It's not a bug but the expected behaviour.


Networked on-hit effects

[ ] Hacking causes popups on the affected player's screen
[ ] Knockback affects the rigidbody of the affected player on their client (predicition later)
[ ] Explosions also knock players back predictably
[ ] Fire deals damage to affected players

This seems to work out of the box, actually. May run into issues with lag, possibly.


Update generated.txt

minor

Released in version https://github.com/robrbecker/experiment/releases/tag/2.1.0


Add a note about vega taking a bit longer to the countdown associating / depositing tokens

The countdown to 64 blocks (on mainnet) is, I think, the FE dApp asking Infura.
But for them to appear on Vega it has to be seen by each (well enough) of the vega validator nodes saying yep, we have seen this happen on Ethereum 64 blocks ago. Since they each use different source of Ethereum truth (some run own nodes) it will take a while longer than Infura / the current FE countdown.
Could we a line / note somewhere near the countdown saying, when we reach 0 and before staked amounts is visible via the data node, "Waiting for quorum of validators to verify association / deposit by observing ethereum events on their node." Or something.

Can you provide some clarity on the average delay here? And also if you're talking about Console vs Governance?
if this is material enough to have a warning it feels like we shoul dbe investigating.  If its not material then we dont think its worth spending time on.


update-buildpack has an issue parsing -p

Command
cf update-buildpack ruby_buildpack -i 1 -p /Users/pivotal/Downloads/ruby_buildpack-cached-v1.6.27.zip

What occurred, incl. error and/or stack trace
Unexpected flag error
type: marshal
message: invalid argument for flag `-p' (expected int): strconv.ParseInt: parsing "/Users/pivotal/Downloads/ruby_buildpack-cached-v1.6.27.zip": invalid syntax

What you expected to occur
For it to work

CLI Version
6.22.1 (as available in releases)

CC API Endpoint Version
2.54.0

Platform & Shell Details
Mac OS X 10.11.6 and bash in iTerm

Any other relevant information
Rolling back to 6.21.1+6fd3c9f-2016-08-10 works fine.

We fixed this one here, will be part of our next release (very soon).
Thanks for reporting!

Thanks again for your report.
The fix is part of the just published 6.22.2 release:
https://github.com/cloudfoundry/cli#downloads
Cheers,
Dies Koper
CF CLI PM


Widget tests and mocking context for ScreenUtil.init()

Hi all,
I'm doing a basic widget test like so:
void main() {
  testWidgets('Check login page shows', (WidgetTester tester) async {
    await tester.pumpWidget(LoginScreen());
    await tester.pump(); // has an animation

    expect(find.text('Email'), findsOneWidget);
    expect(find.text('Next'), findsOneWidget);

    // Verify that our error is shown.
    expect(find.text('Please enter a valid email'), findsOneWidget);
  });
}

but my LoginScreen() has ScreenUtil in it and I get this error:
00:02 +0: Check login shows
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following NoSuchMethodError was thrown building LoginScreen(dirty, state:
_LoginScreenState#bf3bb):
The method 'setWidth' was called on null.
Receiver: null
Tried calling: setWidth(20.0)

how are others mocking context in ScreenUtil.init()?
Thanks.

Ah, I see an example here https://github.com/OpenFlutter/flutter_screenutil/issues/115#issuecomment-633296596
Silly me. Will close once confirmed.

Yep, works perfect for me using #115
Closing.


angular version issue

@danielcrisp range slider not working in my app. because i am using AngularJS v1.2.21 and
jQuery 1.7.2.min. So can you fix it.

If you're loading your js files at the end of <body> section, be sure to load the jquery script in the <head> section, this way it worked for me.


Stringification

ms(5000) => "5 seconds" etc, could use this for mocha :D

This works:
> ms(1 * 60 * 1000, { long: true })
'1 minute'


Clicking  on "V" in the "languages" section on the repo page results in "We couldn’t find any code matching '' in vlang/v"

Describe the bug
Each repo has a "languages" section to the right. If the language is V, clicking on it redirects to https://github.com/vlang/v/search?l=v which results in We couldn’t find any code matching '' in vlang/v You could try an advanced search.
(Using the largest V project as an example: https://github.com/vlang/v)

Expected behaviour
List of files written in this language, like for JS:
https://github.com/vlang/v/search?l=javascript

Related discussion

Additional notes

GitHub's language search uses an outdated version of Linguist; that's probably the issue.

Yes, this is a problem with Search, not Linguist. To quote [modified here] my response at https://github.com/github/linguist/discussions/5249#discussioncomment-428558

This is the Search behaviour playing up and not Linguist (you should see that it is only the search results showing this). This is the same issue that affects #5052 and [the] previous discussion at #5220
I opened an internal issue off [the] last discussion and I've since learnt the reason for this: the search functionality was written in Go and is using an old fork of https://github.com/src-d/enry taken before it was forked off into the publicly maintained https://github.com/go-enry/go-enry. Our older fork has changes equivalent to Linguist v7.2.0 so is missing a whole lot of the newer languages etc.
Work is underway to get our changes up-streamed and then we'll switch over to using it instead at which point Search will start reflecting what the language bar does. There's no timeline on when this will happen though.

As this isn't a bug in Linguist, I'm going to re-title and pin this issue to reduce duplication.

For those curious and following along, these are the two PRs in which we're up-streaming our changes:

https://github.com/go-enry/go-enry/pull/46
https://github.com/go-enry/go-enry/pull/47

We'll switch to using the public repo once they're merged and a new release has been made.

Seems to be fixed?

Yes, works great now!
Great job and thanks a lot.

They merged and made a new release, for some reason there is no result yet.

https://github.com/go-enry/go-enry/releases/tag/v2.7.1

The Search part of GitHub (completely independent of Linguist) has not updated to that version yet. This is completely out of my or Linguist's control. Please be patient, or if you can't may I suggest you contact GitHub support.


[AIRFLOW-2419] Use default view for subdag operator

JIRA

[x] My PR addresses the following Airflow JIRA issue

Description

[x] When you click on Zoom Into SubDag, you will be redirected to the SubDag on the default view. The default setting comes from airflow.config.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x]

Code Quality

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3314   +/-   ##
=======================================
  Coverage   75.88%   75.88%
=======================================
  Files         197      197
  Lines       14728    14728
=======================================
  Hits        11177    11177
  Misses       3551     3551

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 16bae56...612c0bb. Read the comment docs.

@Fokko @ashb Could you guys have a look?

I'm not super familiar with the GUI/view's. @bolkedebruin do you have an opinion?

@bolkedebruin Could you have a look please?

LGTM

You might want to confirm that things are ok in  the upcoming new UI under www_rbac

Woooooooo @mistercrunch is doing a commit! Hear hear! @Fokko 👍


conntrack:remove duplicated code

Signed-off-by: Wei<EMAIL_ADDRESS>

The changes look good to me, thanks
Could you please expand the second commit message to include "conntrack:", apply your signoff to the commit messages and post these to<EMAIL_ADDRESS>

I have added "conntrack" in log, but I dont how to post "pull request" to<EMAIL_ADDRESS>Is some button here?  I cannt find it.

I took the commits from the pull request and applied them to master and branch-2.6
Thanks,
Daniele


Resizable Column Headers

Description of the new feature / enhancement
A lot of package names can be fairly long and on a 4K monitor the text DPI resizing makes it so these often are longer than the column header lengths and get cut off

Would be handy to be able to click between the column header bars to drag and resize similar to other data tables.
Proposed technical implementation details
Either the ability to resize the column headers or maybe just zoom controls on the app itself. Although I think the former would be easier to implement.

This looks like a request that should be made over at https://github.com/marticliment/UnigetUI

I apologize I clicked the wrong board you're 100% correct


VIM-1380 Fixed 'cNw' at the last character of a word

Bug was introduced while fixing VIM-200

@cypok Thanks for your PR!


Update ses to 2.17.179

Updates software.amazon.awssdk:ses from 2.17.141 to 2.17.179.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "ses" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequest = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk", artifactId = "ses" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #260.


[Feature request] Encrypted back up

Hello,
Maybe add encrypted back up option ?

Your phone already used encryption.
I use FolderSync to upload to MEGA after. That way you're backing up to a zero-knowledge location.


galaxy-buds-client: 5.1.0 -> 5.1.1

Changelogs

https://github.com/timschneeb/GalaxyBudsClient/releases/tag/5.1.1

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/)
25.05 Release Notes (or backporting 24.11 and 25.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.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365231

x86_64-linux

:white_check_mark: 1 package built:

galaxy-buds-client

aarch64-linux

:x: 1 package failed to build:

galaxy-buds-client

Seems to fail the same way on master.
/build/source/GalaxyBudsClient/GalaxyBudsClient.csproj : error NU1101: Unable to find package Microsoft.NETCore.App.Host.linux-x64. No packages exist with this id in source(s): _nix

Looks like the dotnet flag was only set for x64 https://github.com/NixOS/nixpkgs/pull/365231/files#diff-0481f4c907609b2332cf110e6aad41041f189c410538e7f5613bc5fc9e3697a8R30

dotnetFlags =
  lib.optionals stdenv.hostPlatform.isx86_64 [ "-p:Runtimeidentifier=linux-x64" ]
  ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-p:Runtimeidentifier=linux-arm64" ];

@khaneliman would you like to add those flags to the current PR or should I just do it and rebase?

@khaneliman would you like to add those flags to the current PR or should I just do it and rebase?

Figured you could add it while you're in here.

No worries, I was just thinking of giving credits to the original author of those lines! :)
I am going to add them to my PR right away!

Says there is a merge conflict, somehow.

Very strange..

Very strange.. I can see that deps.nix is the culprit, but I do not understand why that should trigger a merge conflict.

Just rebase on master and take your changes.

Alright this is strange. It appears as if something deleted the deps.nix in master recently for the merge conflict to arise.

DON'T MERGE! Apparently there was a "silent" migration to deps.json instead... Someone notify when there is such change, please...

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365231

x86_64-linux

:white_check_mark: 1 package built:

galaxy-buds-client

aarch64-linux

:white_check_mark: 1 package built:

galaxy-buds-client


Why block_size is constrained to 8,16,32?

Can I use bigger block_size for longer sequences? Thank you!

https://github.com/vllm-project/vllm/commit/0f4b32199ec6c5d16bc03767e36fff2d54559ff8


"Flood detected" exception in the client over HTTP/2

I'm getting an exception here Http2Parser.php:188 in the http-client when I try to send a some concurrent requests.
The protection is designed for servers, so need something different for clients.

Fixed in https://github.com/amphp/http/releases/tag/v1.6.3. Thanks!


@acme/eslint-config does not exist

Provide environment information
System:
OS: Windows 10 10.0.22621
CPU: (12) x64 AMD Ryzen 5 5600X 6-Core Processor
Memory: 6.96 GB / 31.93 GB
Binaries:
Node: 18.16.0 - D:\Program Files\nodejs\node.EXE
Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
npm: 9.5.1 - D:\Program Files\nodejs\npm.CMD
Describe the bug
pnpm was not able to find this dependency
Link to reproduction

To reproduce
pnpm install
Additional information
No response

And I can't find some other @acme packages. No clue why

Should prefer workspace https://github.com/juliusmarminge/acme-corp/blob/0d0a2953f51372be8ac0b6f33a305507a5343cb3/.npmrc#L18


Add analog module

Analog module
This pull request brings API for using ADCs, DACs and hall sensor.
The examples build on the not-yet-merged serial API, so I'll keep this WIP, until that pull request is closed.
If you have any suggestions on how to improve the code, please let me know.
Tested
I tested the following:

ADC1:  pin 36, pin 39, pin 34, pin 35, pin 33, pin 32
ADC2: pin 0, pin 2, pin 4, pin 12, pin 13, pin 14, pin 15, pin 25, pin 26, pin 27
DAC1: pin 25
DAC2: pin 26
Hall sensor

I haven't tested:

ADC1: pins 37 and 38, as I don't have them exposed on my board.

Not included
Some functionality related to analog subsystem of the chip is not included in this PR: cosine-wave generator, touch sensors, vref/two-point calibration

Now that serial is merged, I rebased this to master and quickly tested it. As far as I'm concerned, it's ready for review.

This looks great! Thank you!


Add the LICENSE file and fix links in the README

Add the Apache 2.0 license file to the project root
Fix a couple of links in the README

:+1:

+1


Add SENSU_CLIENT_NAME to loaded env_vars

There are some situations, specifically docker, where you really want to
dynamically assign a name, and you don't want to do it with a full
provisioner run.

@quodlibetor how are you setting the other unique client attributes, such as address?

I'm going to merge this and make a few additions :+1:


[FEATURE REQUEST] ... "New/Update" Flags for Toolkit Updates

Hello,
I hope this is the right place to send this, but my feature request isn't actually something about YNAB that I wish you would create toolkit feature for, but a request for toolkit itself.
I saw a message pop up the other day, maybe earlier today, I don't quite recall.  I logged into YNAB and a window popped up letting me know that Toolkit had been updated.  I didn't see any other info there, and when I clicked into the "Open Settings" button, there wasn't anything that I could see on the toolkit page itself listing the updates.
So I find myself wondering if I should go through ALL the many options in Toolkit again just to see if maybe something looks new to me - this is not at all appealing since I've already painstakingly gone though the options, testing some features to understand what they do, etc.  I looked on the Trello Board and saw the latest "Released" board... it doesn't list a Version # at the moment but even that isn't necessarily helpful - a DATE would be more helpful.  So I guess I can assume the popup was referring to that release, but I'm not certain.
For most users (not contributors) of the toolkit, I think a little banner flag saying "New" or "Updated" maybe highlighted or otherwise noticeable next to any recently added/changed/fixed/etc Toolkit option would be really great.  Totally ideal would be if it somehow knew per user when you were last in the toolkit settings and could display any update flags for releases since then, but I have no idea is that is simple or totally impossible.  If impossible or just too complicated to do, then I'd love to see the flags maybe just shown for a month or perhaps just the latest revision shown until the next revision.  Then users could be encouraged to check the settings once a month or so, and see if there were any new options or updates that interest them.
Thanks for considering this!
I love Toolkit and send my many thanks to all of you who create/contribute to it.

I like this idea.  Maybe new features get a little asterisk or green + icon next to them.

This is a good callout, our options page is definitely dated and could use some love this is just one more thing we could try to do.
We do post release notes every time there's an update at https://github.com/toolkit-for-ynab/toolkit-for-ynab/releases but we could probably do a better job of calling that out as well.

I started a Trello card to track this. I might actually tackle an options page redesign over the weekend. We'll see how I'm feeling :D
https://trello.com/c/MCoBzSMx/569-options-page-revamp

This is a good callout, our options page is definitely dated and could use some love this is just one more thing we could try to do.
We do post release notes every time there's an update at https://github.com/toolkit-for-ynab/toolkit-for-ynab/releases but we could probably do a better job of calling that out as well.

I think most of the casual/passive users of Toolkit only interact with the Toolkit Settings page and don't know about or seek out the Trello and GitHub.  I still like the idea of a flag or icon at recently updated/added items, but maybe an easy thing you could do in the meantime is just add that link at the top of the toolkit settings page saying "See Release Notes here!"


fix: use correct module when using multiple modules versions

@fedeoo I took your original commit, added some tests and refactored it a bit
I will fix the tests tonight.

Codecov Report

Merging #25 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #25      +/-   ##
=========================================
+ Coverage   98.64%   98.7%   +0.05%
=========================================
  Files           1       1
  Lines          74      77       +3
=========================================
+ Hits           73      76       +3
  Misses          1       1

Impacted Files
Coverage Δ

src/index.js
98.7% <100%> (+0.05%)
: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 ed1e72a...cd4f909. Read the comment docs.


Use full name for the metrics and spans created for observability

Updates https://github.com/open-telemetry/opentelemetry-service/issues/265

Codecov Report

Merging #316 into master will decrease coverage by 0.06%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
- Coverage   73.13%   73.06%   -0.07%
==========================================
  Files         110      110
  Lines        6539     6545       +6
==========================================
  Hits         4782     4782
- Misses       1509     1515       +6
  Partials      248      248

Impacted Files
Coverage Δ

observability/observability.go
35.71% <0%> (-5.96%)
:arrow_down:

exporter/exporterwrapper/exporterwrapper.go
0% <0%> (ø)
:arrow_up:

...xporter/jaeger/jaegerthrifthttpexporter/factory.go
72.72% <100%> (ø)
:arrow_up:

exporter/jaeger/jaegergrpcexporter/exporter.go
82.6% <100%> (ø)
:arrow_up:

exporter/jaeger/jaegergrpcexporter/factory.go
80.95% <100%> (ø)
:arrow_up:

exporter/exporterhelper/tracehelper.go
100% <100%> (ø)
:arrow_up:

exporter/loggingexporter/logging_exporter.go
100% <100%> (ø)
:arrow_up:

...porter/jaeger/jaegerthrifthttpexporter/exporter.go
63.04% <100%> (ø)
:arrow_up:

exporter/exporterhelper/common.go
100% <100%> (ø)
:arrow_up:

exporter/loggingexporter/factory.go
63.15% <100%> (ø)
:arrow_up:

... and 3 more

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 2031c4b...fadb31e. Read the comment docs.


Resolve the issues on the examples and add the reporting to Slack

Issues resolved with the latest release of docs


[QUESTION] Go To Definition

Question
Hi, I installed the plugin as described in IntelliJ Ultimate edition. The .cds files are recognized and basic syntax coloring works, but besides that, it does not recognize any entity types and navigating to a type does also not work for me. I'm not sure why, but I guess it has something to do with my local setup. Any hints or ideas why that could be?

It stopped working for me after updating IntelliJ 2024.1 :-( So I can confirm this and it's most probably a bug. @tim-sh have you seen this, too?

Hi @aparkitny and @rjayasinghe,
I cannot confirm this. Could you please share your respective IDE logs?
Thanks and best regards,
Tim

Hi @aparkitny and @rjayasinghe, I cannot confirm this. Could you please share your respective IDE logs? Thanks and best regards, Tim

Of course this works now. 😅 But I clearly can remember that I had this issue last week or the week before and registered that it does not work anymore. But maybe that was just with the last patch level of 2023.4 ..
@aparkitny can you still reproduce the issue and if yes please share the exact IntelliJ version and debug logs.

Hi, I still can reproduce this. It does not work for me. I'm using IntelliJ IDEA 2024.1 (Ultimate Edition)
Build #IU-241.14494.240.  idea.log attached.
idea.log

@aparkitny The log file is empty when downloaded.
Anyway, could you please retry with the latest release built for 2024.1?

@tim-sh. Sorry, my bad, here is the correct log file
idea.log
Besides that, I have the latest version installed, from April 4th

@aparkitny Thanks for the log. However, I can't find a hint on any erroneous behavior with regards to the CDS Language Support plugin or its handling by the IDE.
Please also share the file C:\Users\D052607\AppData\Roaming\JetBrains\IntelliJIdea2024.1\plugins\intellij-cds\lib\cds-lsp\stdio.log. And could you clarify since which IDE or plugin update it stopped working (if so)?

@tim-sh What operating System you are using? I am using Windows.

Linux here, but I'll test this on Windows. If you could share the additional info, that'd also be helpful.

I am on MacOS btw.. :)

ok, here is the additional requested log file
stdio.log

@aparkitny The LSP server does send technically valid responses, but they are empty for some reason. I'll follow up on that.
In the meantime, as you seem to be using plugin version 7.2.1., please upgrade to the newest 7.3.0 build for IntelliJ 2024.1. If it still does not work, please share the newest stdio.log.
Thank you.

@tim-sh I updated the plugin to the newest version, it still does not work. Newest stdio.log.
Thanks

@tim-sh the requested logs:
stdio.log
cdxlsp_logs.zip
idea.log

@aparkitny This will be fixed with the next release, expected this week.


How to pass additonal variables?

Hello! How can I make such call with apollo client for localization purposes?

If they are not part of the schema, you can pass as header values using okhttp interceptor


Why are my data plane proxies on a different version after an update?

Bug Description
% istioctl version
client version: 1.15.0
control plane version: 1.15.1
data plane version: 1.12.1 (14 proxies), 1.15.1 (20 proxies)

I just did an update, but my data plane version is still on 1.12.1. How can I update that?
Version
mschem@mbp cms % istioctl version
client version: 1.15.0
control plane version: 1.15.1
data plane version: 1.15.1 (32 proxies)
mschem@mbp cms % kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.25.1
Kustomize Version: v4.5.7
Server Version: v1.23.5
WARNING: version difference between client (1.25) and server (1.23) exceeds the supported minor version skew of +/-1

Additional Information
No response

https://istio.io/latest/docs/setup/upgrade/in-place/#upgrade-steps if you are doing an in=place upgrade has number 6
After istioctl completes the upgrade, you must manually update the Istio data plane by restarting any pods with Istio sidecars

istioctl version

even after restarting all deployments, istio proxies are not upgraded.
data plane version: 1.20.0 (43 proxies), 1.20.2 (3 proxies), 1.23.2 (1 proxies)


get_param_as_list failing to parse list as of 2.0.0 release

There appears to be an issue with the get_param_as_list call starting with the 2.0.0 release. With the query string containing:
'ids=5ced7dac61a1a1461b49d567,5ced7dac61a1a1461b49d568,5ced7dac61a1a1461b49d569'

using falcon 2.0.0 the following code returns a single result:
ids = req.get_param_as_list('ids')
LOG.error('"ids" param as list: %s', ids)

With 2.0.0:
"ids" param as list: ['5ced7dac61a1a1461b49d567,5ced7dac61a1a1461b49d568,5ced7dac61a1a1461b49d569']

Downgrading to the last pre-2.0 release of 1.4.1, the result is:
"ids" param as list: ['5ced7dac61a1a1461b49d567', '5ced7dac61a1a1461b49d568', '5ced7dac61a1a1461b49d569']

Tracked down to this being the cause:
https://github.com/falconry/falcon/commit/93cd3e6906e62a753621e87feaee2f3845a5696f
Have to agree with the bug report comments that this change is a little counter-intuitive. It's also not clear in the change log how this impacts other method calls, hence my reading through and not finding anything that looked like it would be the root cause for the issue I was seeing.
Not going to close quite yet, since I think it should be considered for 3.0 to change the default so that something like "ids=a,b?id=c" doesn't seem right to return a list of two items of ["a,b", "c"] and not ["a", "b", "c"].

Thanks for raising this issue. I'll schedule it for 3.0 so we can be sure to make a decision on this.

I'm hitting this as well. The biggest pain point for me is that the testing client serializes GET params as CSV when you pass in a list, so this change breaks basic behavior in our unit tests. IMO, if you're explicitly requesting a list, and the method says it parses CSV values into a list, then it should do that, regardless of some unrelated setting elsewhere in the code.

This bug is breaking a production system at my workplace that uses req.get_param_as_list on a URL that processes data for analysis.
Sanitized example shown below, with the current (inconvenient) workaround:

Parameters (and the code used to parse them):

calibration:  req.get_param("calibration")
events: req.get_param_as_list("events", transform=int)

Example (failing) input URL:
http://localhost:8000/service/analyze?calibration=example&events=23,24,25,26,27,28

Server response:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <title>Invalid parameter</title>
  <description>The "events" parameter is invalid. The value is not formatted correctly</description>
</error>

Current workaround:
http://localhost:8000/service/analyze?calibration=example&events=23&events=24&events=25&events=26&events=27&events=28

Encoding a list parameter in its alternate form (many parameters with the same name) seems to work.

In Falcon v2 the default value of falcon.RequestOptions.auto_parse_qs_csv was changed from True to False, therefore comma-separated values are no longer split unless you set the option explicitly.

Can the TestClient be updated to not specify list arguments as CSV then? Currently there is no way I can find to allow the TestClient to work with get_param_as_list without setting auto_parse_qs_csv.
Having to set auto_parse_qs_csv for the tests isn't great since that changes the behaviour of the entire app.

Hi @jhuitema ,
just to make sure I understand you correctly, are you talking about the params parameter of the TestClient simulate_*() methods, i.e.:
import falcon
import falcon.testing

class Parameters:

    def on_get(self, req, resp):
        resp.media = req.params

def test_params():
    app = falcon.API()
    app.add_route('/params', Parameters())
    client = falcon.testing.TestClient(app)

    resp = client.simulate_get(
        '/params', params={'x': '5', 'items': ['a', 'b', 'c']})
    assert resp.json == {'items': 'a,b,c', 'x': '5'}
    #                               ^

That does sound inconsistent with the new auto_parse_qs_csv default in Falcon 2.0.
I'll create a new issue for this.

@jhuitema Note that although this may be infeasible for your test suite, you can also explicitly specify params_csv=False in your simulate_* calls as a workaround for the time being.
I created https://github.com/falconry/falcon/issues/1730 to change the default to match the RequestOptions.auto_parse_qs_csv default value.

Ah, the params_csv keyword arg on the simulate_* method was what I was asking for. I didn't notice there was a way to change the list params output by the TestClient.
Feel free to ignore me :)

@jimbobhickville @jhuitema I have now merged the fix for https://github.com/falconry/falcon/issues/1730 , so at least the testing client will now be consistent with the default RequestOptions.auto_parse_qs_csv setting.

The question what to do with get_param_as_list() still remains open.
There is a bit of an ugly issue what to do with escaped commas.
In case we decide that get_param_as_list() should split on commas regardless of the RequestOptions.auto_parse_qs_csv value (either by default, or controlled by an optional parameter, or as another method get_param_as_csv_list()?), the query is already percent-decoded.
We could split post-decoding, but then the behaviour is not equivalent. Or maybe we do want that distinction based on the RequestOptions.auto_parse_qs_csv setting?
Cf
>>> [falcon.uri.decode(value) for value in 'a,b%2Cc'.split(',')]
['a', 'b,c']
>>> falcon.uri.decode('a,b%2Cc').split(',')
['a', 'b', 'c']

Any feedback/ideas are welcome.

I have upgraded from 1.4.1 to 2.0.0 and I came up with 2 workarounds:

Option 1: using auto_parse_qs_csv = True in RequestOption
Option 2: get the params as a string and then split by commas

The following note in the get_param() docstring needs to be corrected, since it is only true when auto_parse_qs_csv is enabled:
        Note:
            Similar to the way multiple keys in form data is handled,
            if a query parameter is assigned a comma-separated list of
            values (e.g., ``foo=a,b,c``), only one of those values will be
            returned, and it is undefined which one. Use
            :meth:`~.get_param_as_list` to retrieve all the values.

In case we decide that get_param_as_list() should split on commas regardless...

@vytas7 I think this approach would make a lot of sense from the app developer's perspective. The docstring also currently sets this expectation: "List items must be comma-separated..."
As for the handling of strings that mix percent-encoded and literal commas, I feel like it is an edge case that we shouldn't bend over backwards to support. We can note in the docs how we've chosen to handle it (in terms of the inconsistency with auto_parse_qs_csv). If someone really needs to do this, they can parse the parameter themselves. And if we are wrong about this being an edge case, we can add a configuration option in a future release.

On the other hand, if get_param_as_list() always splits on commas, what then would be the purpose of auto_parse_qs_csv? I guess we need to step back and think about the big picture since this area of the framework design has become a bit muddled over the past couple of iterations.

Per our discussion in the https://gitter.im/falconry/dev channel earlier this week, we have improved the documentation and fixed a somewhat related bug regarding auto_parse_qs_csv and the mixing of csv and multiple-instance styles.
We will not change the auto_parse_qs_csv default for 3.0.0 since doing so would cause another disruptive change, and it is thought that the current behavior is sufficient once better documented.
If we missed any critical use cases, please let us know, but otherwise I am going to go ahead and close this issue.


windowsdesktop-runtime: Update to version 3.1.11

Update windowsdesktop-runtime (dotnet-core desktop runtime) to latest version to date.

One problem here. dotnet desktop runtime is actually in version 5.x now. version 3.x is in LTS. Shell we change the name of current windowsdesktop-runtime to windowsdesktop-runtime-3, then update windowsdesktop-runtime to 5.x version?
What do you think?

Update to version 5
Add 3 to versions bucket

Okay I'll create another pull request to make this happens.

Update to version 5
Add 3 to versions bucket


Added a method to enable ansi support under windows 10

On windows 10, applications must call [Kernel32/SetConsoleMode] to enable ansi support.
This proposed change exposes a method to do just that.

Oh cool, thanks 👍


Fixing integrity constraint violation for 'id'

If you have an Id in the Sessions table and in the Clients table, it is necessary to specify which id column should be used (Error: Integrity constraint violation: 1052 Column \u0027id\u0027 in where clause is ambiguous")

Could you please merge this commit as well? Thanks.

Missed this one.

No worries. Thanks a lot


cmd/go: go get -u behaves as if -f is always provided (for non-custom import paths)

This is an issue since 2015. I discovered it on January 11, 2017, but I'm only getting around to reporting it now. I have a suggestion for resolution.
cmd/go documents the flag -f for use with go get -u at https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies:

The -f flag, valid only when -u is set, forces get -u not to verify that each package has been checked out from the source control repository implied by its import path. This can be useful if the source is a local fork of the original.

However, for packages with a non-custom import path (custom import path being one that is defined by HTML meta tags, see https://github.com/golang/go/blob/94e44a9c8edb64f514b6f3b7f7001db0cfeb2d70/src/cmd/go/internal/get/vcs.go#L536-L537), go get -u now behaves as if -f is always provided.
For custom import paths (e.g., rsc.io/pdf), there is no such issue.

Everything works as expected for custom import paths:
$ export GOPATH=/tmp/fresh
$ go get -u rsc.io/pdf
$ cd $GOPATH/src/rsc.io/pdf
$ git remote -v
origin	https://github.com/rsc/pdf (fetch)
origin	https://github.com/rsc/pdf (push)
$ git remote set-url origin https://github.com/wrong/repo
$ go get -u rsc.io/pdf
package rsc.io/pdf: rsc.io/pdf is a custom import path for https://github.com/rsc/pdf,
but /tmp/fresh/src/rsc.io/pdf is checked out from https://github.com/wrong/repo
$ echo $?
1
$ go get -u -f rsc.io/pdf
$ echo $?
0

(For demonstration purposes, assume that https://github.com/wrong/repo contains arbitrary git history, such that it's git pull --ff-only-compatible with the repo I'm trying to update. I don't want to spend time creating GitHub repos that have this property, but it's possible.)
However, this is what happens for a non-custom import path:
$ go get -u github.com/gorilla/mux
$ cd $GOPATH/src/github.com/gorilla/mux
$ git remote -v
origin	https://github.com/gorilla/mux (fetch)
origin	https://github.com/gorilla/mux (push)
$ git remote set-url origin https://github.com/wrong/repo
$ go get -u github.com/gorilla/mux
$ echo $?
0
$ go get -u -f github.com/gorilla/mux
$ echo $?
0

What did you expect to see?
$ git remote set-url origin https://github.com/wrong/repo
$ go get -u github.com/gorilla/mux
package github.com/gorilla/mux: github.com/gorilla/mux is an import path for https://github.com/gorilla/mux,
but /tmp/fresh/src/github.com/gorilla/mux is checked out from https://github.com/wrong/repo
$ echo $?
1
$ go get -u -f github.com/gorilla/mux
$ echo $?
0

What did you see instead?
$ git remote set-url origin https://github.com/wrong/repo
$ go get -u github.com/gorilla/mux
$ echo $?
0
$ go get -u -f github.com/gorilla/mux
$ echo $?
0

Fix
This regression was introduced while resolving another issue. I have a suggestion for how to fix it so both things are fixed. Details will follow in next comment.

History
Issue #10952 was opened. It quoted a forwarded message from golang-dev mailing list that described the original problem:

This gets a number of user/developers who expect to be able to update
their package originally checked out with git: by using go get. An an
example is here[2].
[2] https://groups.google.com/forum/#!topic/golang-nuts/Zi-Kw2tbif8/discussion

The proposed fix by @rsc was to relax things so that non-custom import path doesn't get a custom import path check unless it has an import comment. The issue was closed by https://golang.org/cl/10693.
Later, #10952 was reopened as #16471, that suggested that the fix to #10693 was not optimal, and suggested a better fix. This new issue #16471 was then closed by https://golang.org/cl/31658, which changed the behavior so that the remote URL check applied only to custom import paths.
This issue #20028 is essentially a reopen of both those issues. I think I have a suggested fix for the original problem that was reported in #10952. Let me explain the problem as I understand it.
Problem
Let's consider GitHub repos, since this is where the issue comes up most often.
GitHub supports cloning repos via HTTPS and SSH. The latter can be expressed as a normal URL (ssh://github.com/user/repo) or more commonly as a SCP-style address (git@github.com:user/repo).
Another weird/unfortunate thing about GitHub repos is that the remote URL they're cloned from can have an optional ".git" suffix. In other words, these two remote URLs are equivalent:

https://github.com/user/repo
https://github.com/user/repo.git

When doing go get -u github.com/user/repo, cmd/go will use https://github.com/user/repo as the default remote URL.
When visiting https://github.com/user/repo in your browser, GitHub's UI usually displays clone URLs with the optional ".git" suffix:

Next, some people prefer to use SSH URLs instead of HTTPS for cloning their git repositories for various reasons. This is what the original post in https://groups.google.com/forum/#!topic/golang-nuts/Zi-Kw2tbif8/discussion was asking about.
The change in https://golang.org/cl/10693 effectively allowed using SSH URLs instead of HTTPS, by making remote URL checking apply only to packages with an import path comment (at the time). Later, it got changed in https://golang.org/cl/31658 to apply to custom import paths only.
I think we should allow SSH URLs, but I believe there is a better way to do it without completely removing the remote URL check for non-custom import paths.
Proposed Fix
I think we should fix this issue, as well as the original issue from #10952, by apply the remote URL checks to all repositories, but:

Ignore schema during URL comparison.
These three remote URLs should be considered equivalent and valid for import path github.com/user/repo:

https://github.com/user/repo
ssh://github.com/user/repo
git@github.com:user/repo

I've written EqualRepoURLs which does this.

(Optional) Consider ignoring ".git" suffix for "github.com/xxx/yyy" repo remote URLs.
If we do this, these URLs would be considered equivalent and valid for import path github.com/user/repo:

https://github.com/user/repo
https://github.com/user/repo.git
ssh://github.com/user/repo
ssh://github.com/user/repo.git
git@github.com:user/repo
git@github.com:user/repo.git

I would really really prefer NOT to do this, and instead tell people not to use the uneeded ".git" suffix. go get -u doesn't set it, so it only happens when people modify the remote URL manually. I outlined my rationale for why I think this should not be done in https://github.com/shurcooL/gostatus/issues/37#issuecomment-225336823.
However, I recognize that if we don't do this, many people might complain and report bugs (as has happened to me in my tools here, here, here).

When displaying error message about mismatching URL, format the expected repo URL using the schema and URL that the user has. Doing this is critical to support users who use non-default schema, otherwise the error message is confusing.
For example, the following error message is confusing because it's hard to see where the difference in URL is:
 remote URL (git@github.com:wrong/repo.git) doesn't match repo URL inferred from import path (https://github.com/user/repo)

This error message is much more clear, because it prints the expected repo URL using same scheme and address format (SCP-style address) as user's incorrect remote URL:
 remote URL doesn't match repo URL inferred from import path:
           (actual) git@github.com:wrong/repo.git
         (expected) git@github.com:user/repo

(You can look at https://github.com/shurcooL/Go-Package-Store/issues/65 for a real-world example where this happened to a user of Go Package Store, before the improved printing of expected URL.)
I've written FormatRepoURL which does this.

I'm happy to work on a CL if this gets approval.

I agree with pretty much everything you've described here. 1 and 3 seem like net wins.
As far as 2:

Consider ignoring ".git" suffix for "github.com/xxx/yyy" remote URLs.

What about always ignoring .git suffixes? I know this is technically incorrect and could make the tool lax when it shouldn't be, but the tool is way more lax at the moment anyway. I don't think being lax here could cause any issues for people trying to publish two packages or two repos called foo and foo.git that were different, as that would make little sense to begin with.
I'm simply trying to keep the rules simpler and not dependant on hard-coding github.com and other well-known domains. Always ignoring .git would also make it work for self-hosted GitLab instances, for example.

What about always ignoring .git suffixes?

That is an option, but it seems worse than ignoring ".git" suffixes for "github.com/xxx/yyy" URLs only.

I know this is technically incorrect and could make the tool lax when it shouldn't be, but the tool is way more lax at the moment anyway.

I'd prefer to do things correctly. And this issue is about fixing the lax.

I'm simply trying to keep the rules simpler and not dependant on hard-coding github.com and other well-known domains.

The simplest solution is not to do anything special regarding ".git" suffixes.
When fetching new packages using go get, it doesn't add the ".git" suffix. So as long as the user doesn't manually modify the remote URL to be different, there shouldn't be a problem. Most people who I've seen doing this were doing it because they didn't know it was okay not to leave out ".git" suffix or that it was causing issues. Once they learned that, they fixed their remote URLs with agreement that it's best thing to do in long term (despite the annoyance of updating many repos).
I know that GitHub does not allow the repository name to end with ".git" at this time, so it's relatively safe to treat ".git" suffix as harmless for "github.com/xxx/yyy" URLs:

However, if you apply the same ".git" suffix to non-github.com URLs, that means it will apply to other hosts, including bzr, mercurial, and subversion. It's possible one of them will not have such rules, so examplemercurialcodehost.com/user/repo and examplemercurialcodehost.com/user/repo.git may be very different repos.
If you still want not to verify that each package has been checked out from the source control repository implied by its import path, the -f flag lets you do that.

Always ignoring .git would also make it work for self-hosted GitLab instances, for example.

There shouldn't be any issues with doing go get or go get -u on packages on self-hosted GitLab instances. If there are, please report it as a separate issue.

I agree with you then - especially given how go get is supposed to work with repos that aren't git and that it already has the -f option.
I still think this could cause people reporting bugs like "go get fails due to .git suffix" on this issue tracker. Perhaps the error it gives in that case could be improved, to tell the user to either fix the remote URL or use -f?

Somewhat relevant, #20115. /cc @josharian

Now that that Go 1.10 tree is open, I'd like to begin working on this, if this gets approval. It's better to get this done sooner in the cycle rather than later, so that the fix can be evaluated and adjusted as neccessary before release freeze.
Here's what I need to know to proceed:

Does my proposed fix sound good?
Should I include the optional step 2 or skip it? Unless there are strong opinions, I'd prefer to leave it out initially and see how that goes. If there's a lot of complaints and this entire bug fix is at risk of being reverted, then I'll implement optional step 2 to resolve those complaints.

Ideally, I'd want to hear back from the people who worked on the previous versions of this issue. /cc @rsc @zombiezen

Now that that Go 1.10 tree is open, I'd like to begin working on this, if this gets approval.

Friendly ping @rsc; I need your input on the two questions above to be able to proceed here.

Ping @rsc.

I'd kind of prefer not to do anything with this until package management is in a clearer state. It seems like there is no way to satisfy everyone here and making changes will just change which subset of people are satisfied.

Thanks for taking a look.

It seems like there is no way to satisfy everyone here and making changes will just change which subset of people are satisfied.

I take it you mean that this would negatively affect people who try to use a github fork as a remote, without changing the import path of the original package, right?
I was going to say that "I realize that security and convenience are often at odds with each other, but shouldn't we prioritize security over convenience anyway?", but after thinking more, I think it's important to consider the threat level and amount of inconvenience caused. In this case, I agree that the threat level is low, so I'm okay with waiting.
One of the reason I'm not worried about doing go get -u on various github.com/... packages myself is because I often use gostatus, which would warn me if the remote doesn't match the import path. If I didn't have that, I would feel slightly more nervous when doing go get -u knowing I effectively did go get -u -f instead due to this issue. But I think that it's quite hard to abuse this bug to attack someone, and people who care very strongly about it can rely on an external tool to verify that the remote URLs of their Go packages match the import path.
When/if you think it's a better time to revisit this, please let me know, I might want to work on it.

OK, sounds good. Once we have a decent package management story I think that will probably eliminate "automatic checkouts from version control systems" as a distribution mechanism, and with it many of these problems. (Of course we will retain the ability to work from checkouts if you do them yourself, but the more we get into problems with the subtleties here the more clear it is that version control systems are too complex to be the general default mechanism.)

@rsc You were right in that https://github.com/golang/go/issues/20039#issuecomment-335637480 from 2017. I believe this issue has been addressed by the addition of module mode.
As you said, making a change to go get -u behavior in GOPATH mode at this point is not a good idea as it will help some people but make things worse for others, so I think the right course of action given this is not an issue in module mode is to not make any changes. I'll close this issue.
(This issue makes me think of the "The best way to predict the future is to create it." quote.)
/cc @jayconrod @matloob @bcmills


Add is_communication_disabled property

Summary
Add is_communication_disabled property to check if the member is timed out. Returns bool

Checklist

[x] If code changes were made then they have been tested.

[x] I have updated the documentation to reflect the changes.

[ ] This PR fixes an issue.
[x] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

Confirmations

[x] I have checked the open PRs and no PR exists like this one.
[x] My PR focuses on only one issue/change.

This isn't needed -- I've different idea for this.


bug: runtime install of external packages bypasses proxy settings

Version
v1.23.1719415066 (pre-release)
Describe the bug
Every time vscode launches with the cody extension,  the following popup in notifications:
Failed to download symf: AxiosError: Request failed with status code 400

Failed to download bfg from URL https://github.com/sourcegraph/bfg/releases/download/v5.4.6040/bfg-linux-x64.zip: AxiosError: Request failed with status code 400

Expected behavior
Startup without errors.
Additional context
Platform:  x86_64+Fedora-39.0
Most likely the problem is that the downloads of 'symf' and 'bfg' are bypassing all proxy settings, because I do not see the http requests in the proxy logs.
All proxy settings (system, vscode proxy settings, and http_proxy env vars) are pointing to the same proxy server.
I am certain the proxy is working because I can see the copious requests from cody  e.g.
2024-06-27 01:29:36.125 7f364ea906c0 Request: sourcegraph.com:443/

in the logs. Also cody would not work at all if the proxy was misconfigured.
These download operations should obey the same proxy settings as cody.

I am also experiencing this exact behaviour when using the plugin behind a proxy.


WebP - processing error in Safari

Describe the bug
When I try encoding or decoding using the WebP format in Safari, I see a "Processing error".
To Reproduce
Steps to reproduce the behavior:

Go to https://squoosh.app/
Click on "Large photo"
On the right, pick "WebP" in dropdown menu to compress
See "Processing error" shown on bottom of the page

Version:

OS: macOS Catalina 10.15 (19A602)
Browser: Safari 13.0.2 (156<IP_ADDRESS>.1)

Screenshot:

Given this only happens with the large photo, and only affects decoding, I'm 80% sure this is a memory issue.
@surma any thoughts? Do we just need to give wasm more memory?

This bug is still reproducible, btw o_O

cc @RReverser

I don't see it on the same photo 🤔

Ah, is it Safari-specific? Unfortunately I don't have access to a Safari I could test on, but I might try via Browserstack at some point.

Yeah it’s only Safari for some reason

Very interesting. Is there something in the console?

(FWIW this is one of those cases where Sentry integration can help us a lot in future)


Rspec not fetching from controllers with '.to_json' of instances

What Ruby, Rails and RSpec versions are you using?
Ruby version: ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-darwin21]
Rails version: Rails 6.1.7
RSpec version: RSpec 3.12
Observed behaviour
I am not certain this is a direct rspec error but when testing a controller action, we expect our response to be a full json object of the instance we are fetching. What we receive though is a json object of
=> render(json: @instance)
"{\"type\":\"class_name\"}"

If I manually call '.to_json' on my instance at the point of render
=> render(json: @instance.to_json)
<full object json response>

I get a full response back of my whole object, which is the expected behaviour and is matched with development and production environments.
I can't see a reason why the implicit 'to_json' is not called when calling from rspec which is stated in the rails docs

Any help is greatly appreciated. TIA
The controller action
def show
  render(json: @book)
end

book_controller_spec.rb
'json' is a custom JSONHelper which just parses the response.body
RSpec.describe(Api::V1::BooksController, type: :controller) do
  context '#show' do
    it 'returns the book with the correct ID' do
      get :show, params: { id: 1 }
      expect(json[:id]).to(eq(1))
    end
  end
end

What the response.body.read in spec with .to_json in the controller and without it?

Hi @pirj
We get a 'NoMethodError' initially. - 'undefined method 'read' for.....(then the String)'. Happens with either .to_json or not. The only difference is that with .to_json we get the full expected object as a string.

I've experimented with this a bit and this is as far as I can see entirely a rails side decision, are you aware there are different formats for as_json / to_json? Maybe see if you can replicate the single node format and check out: https://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html ?
Closing for now but if you do find something at fault ourside please re open


set offset and lenght for firstChunkLength

The changes you've made is problematic. We can never set a range unless the customer did so. If the blob is empty and we add a range, storage server will return 4xx error.