Crash after IPC connection failure

I created a connection to a IPC file on mac using the node native net module. When the connection creation fails due to NSURLErrorDomain -1004 (Note that the errors before are logged from the net.on('error') event).
This happens when i try to open two connections over the same IPC socket file.
ERROR { [Error: This socket has been ended by the other party] code: 'EPIPE' } Error: This socket has been ended by the other party
ERROR { [Error: This socket has been ended by the other party] code: 'EPIPE' } Error: This socket has been ended by the other party
ERROR { [Error: This socket has been ended by the other party] code: 'EPIPE' } Error: This socket has been ended by the other party
ERROR { [Error: This socket has been ended by the other party] code: 'EPIPE' } Error: This socket has been ended by the other party
[0626/111521:ERROR:http_transport_mac.mm(186)] Could not connect to the server. (NSURLErrorDomain -1004)

Electron crashes with the following log: https://gist.github.com/frozeman/8eadacca0750a0785b8f

I figured that it only crashes when i use an incoming sendSync IPC connection, to forward to the net socket.
A simplified example looks like this:
var syncEvents = {};

// create connection on "ipcSocket"

// wait for data on the socket
this.ipcSocket.on("data", function(data){
    // SEND SYNC back
    _this.syncEvents['xyz'].returnValue = data.toString();
});

ipc.on('ipcProvider-writeSync', function(event, payload){
    ipcSocket.write(payload);
    syncEvents['xyz'] = event;
});

If you do the same async, it works fine.
Hope that helps.

Can you provide a demo app? I'm unable to reproduce according to your descriptions.

I figured out what causes the issue, and also created a repro app here: https://github.com/frozeman/electron-connect-crash
This one seems to be related to my other issue: https://github.com/atom/electron/issues/2031
What happens is that i try to re-connect when the net error event is fired, as it could be the the socket was closed from the otherside and i want to reconnect.
The demo app itself, creates a web view, which then creates a IPC connection to the main process and starts a IPC connection using the net package to whatever IPC socket (doesn't need to work, to test the crash)
But because the web view, or window is closed it seems that the connect failure of the net package kills electron.
To try for yourself:
Run the demo app and then close the window (tested on mac osx).
It will then after ~1 sec kill electron.
The main line here is `/ipcProvidorBackend.js:86
Ideally this error should be handled in a way that it doesn't cause electron to crash. And stop the net processes automatically, if possible.

This issue is actually rather critical as it always crashes electron, when the Could not connect to the server. (NSURLErrorDomain -1004) error appears.


gemini databases

Hello,
I'm thinking about integrating Gemini into our framework for variant interpretation, and I was wondering how easy it is to integrate auto-updating OMIM and Clinvar annotations into the core framework.
Also, I was wondering how OMIM actually gets annotated through this framework?  Is it a custom annotation added using the '$ gemini annotate' function?
Thanks,
Phil

we just use clinvar to indicate if it's in omim or not. You could certainly use gemini annotate to add current OMIM annotations.


Receiving Communication Error timed out  Host : Freebsd

I am getting communications error timed out on my Freebsd Server
;; communications error to <IP_ADDRESS>#53: timed out

but when I use dig @<IP_ADDRESS> adserver.example.com it works and returns the result.
Here is my /etc/resolv.conf
root@BoosterGold:/usr/local/etc/unbound # cat /etc/resolv.conf
# Generated by resolvconf
nameserver <IP_ADDRESS>

Here is my /etc/hosts
::1			localhost localhost.my.domain
<IP_ADDRESS>		localhost localhost.my.domain
<IP_ADDRESS>    BoosterGold BoosterGold.mydomain

I have given the static ip address to the server on the Router. And have added the Primary DNS as <IP_ADDRESS> that's my Freebsd Server. Then I have added cloudfare as second and third server in the router.
(I am able to connect to the server via ssh with the ip address as well as the hostname)
Primary intention of the server is the block advertisement and certain sites. Although I am not sure if adding the second and third server on router makes sense was thinking about removing that from the router and adding it to unbound.conf in forward-zone.
Here is my unbound.conf
server:
    interface: <IP_ADDRESS>

    access-control: <IP_ADDRESS>/24 allow
    access-control: <IP_ADDRESS> allow
    access-control: ::1 allow
    access-control: <IP_ADDRESS>/0 deny
    access-control: ::/0 deny

    pidfile: "/var/run/unbound.pid"
    use-syslog: yes
    verbosity: 1
    log-queries: yes
    log-replies: yes

    local-zone: "adserver.example.com" always_nxdomain
    local-zone: "adserver1.example.com" always_nxdomain
    local-zone: "adserver2.example.com" always_nxdomain

remote-control:
    control-enable: yes

Any help would be highly appreciated. Thank you

So, from the brief excerpt, the conclusion is that it has a timeout contacting server <IP_ADDRESS> and that this is also the IP address configured for the server. And that unbound.conf interface statement makes it listen on that IP address. And when that is contacted it does not respond? But for @<IP_ADDRESS> it does work.
The statement access-control: <IP_ADDRESS>/24 allow does not actually allow requests from <IP_ADDRESS>/24 only from <IP_ADDRESS>/24. With maybe /16 it would allow everything in the 192.168 range, if that is the intent? With the config access-control: <IP_ADDRESS>/16 allow
But then resolv.conf contains <IP_ADDRESS> I have no idea what that is, it is not the 87 address? Since the communications error complains about the 87 address I do not know if it is using that 1 address.

I was able to resolve the issue thank you @wcawijngaards
I changed the resolv.conf to <IP_ADDRESS>
& access-control: <IP_ADDRESS>/24 allow to access-control: <IP_ADDRESS>/24 allow
Now it works


Add WeChat to socials

Is your feature request related to a problem? Please describe.
There is no clean possibility to add a WeChat account to socials.
Describe the solution you'd like
A button in socials that shows a WeChat QR code when clicked or hovered.
Describe alternatives you've considered
Directly link to WeChat account when clicking the button. But as far as I know that is not possible at the moment, because WeChat doesn't allow for that.
Additional context
As WeChat is almost exclusively mobile based, I think that showing the QR code is the best solution. Otherwise it would also be possible to just show the WeChat ID.

The QR code is now displayed in the center of the screen when the button is clicked. I think a hover image would look nicer, but this was the simplest way for me to implement it.


code review

Created a new branch for code review practice

Hello @joszel,
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Highlights
Your project is almost complete!
No Linters errors
DRY code
Required Changes ♻
Check the comments under the review.
Optional suggestions
Check the comments under the review.
You can also consider:
N/A
Cheers, and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.


Do not override entire user config by setting a timeout

Since this commit user provided RequestConfig is always overridden by the timeout that is set by buildRequest.
For our current integration, this means that we are unable to specify custom timeouts.
This PR fixed the issue by only overriding those timeouts the user of the library did not explicitly set.
Also, when setting the timeouts, a copy of the user's config is made so that user's changes are not overriden.
Currently this issue prevents us from using the latest version. We use 20.1.1, the latest version that allows custom user timeouts.

@Avalara-ChrisWalker , looks like a Critical bug for me. We suddenly faced it on production when one of our threads stops to respond for 2 minutes while keeps a lot of db locks.

@shilpa-khanal any chance your team can have a look into this?
It currently prevents us from updating to newer versions of the SDK.

@shilpa-khanal any chance your team can have a look into this?
It currently prevents us from updating to newer versions of the SDK.

@shilpa-khanal awesome! Thanks for looking into it and merging 👍


settings: Improve placeholder text for empty settings tables

Fixes: #27250
This PR fixes the first two items of the issue:

Changing the string "No X found" to "There are no X" in settings tables.
Using "emoji" rather than "emojis", like elsewhere on this page / in our documentation.
Replaces "No linkifers set." to "No linkifiers configured." (to match the Playgrounds placeholder text)

Before Changes

After Changes

Before Changes

After Changes

Before Changes

After Changes

Before Changes

After Changes

Before Changes

After Changes

Before Changes

After Changes

@alya i have created PR for first 2 points. please review it.

Looks good to me!

Merged, thanks @qx24680!


Istio injects Content-Length: 0 header on initial request

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities
To ask questions about how to use Istio, please visit https://discuss.istio.io)
Bug description
Istio injects Content-Length: 0 http header when establishing Websocket. This prevents stream from client to be correctly handled shall any backend honor this header and as such ignore any body content received.
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
Correctly for Websocket establishment request the Content-Length header shall not be injected.
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
client version: 1.8-dev
control plane version: 1.8.0
data plane version: 1.8.0 (18 proxies)
How was Istio installed?
Operator
Environment where the bug was observed (cloud vendor, OS, etc)
Bare Metal, Flacar Linux OS, Kubernetes 1.20.1
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

I can confirm the server side envoy is adding this.

I don't think we are doing that; there is no TE header set.

A server MUST NOT send a Content-Length header field in any response
with a status code of 1xx (Informational) or 204 (No Content).  A
server MUST NOT send a Content-Length header field in any 2xx
(Successful) response to a CONNECT request (Section 4.3.6 of
[RFC7231]).

We are not doing this either; we are attaching content-length to the request, NOT the response.
So I am not certain there is anything violating the RFC. But I am also not an expert.
cc @nmittler @lambdai

I can confirm the server side envoy is adding this.

I don't think we are doing that; there is no TE header set.

A server MUST NOT send a Content-Length header field in any response
with a status code of 1xx (Informational) or 204 (No Content).  A
server MUST NOT send a Content-Length header field in any 2xx
(Successful) response to a CONNECT request (Section 4.3.6 of
[RFC7231]).

We are not doing this either; we are attaching content-length to the request, NOT the response.
So I am not certain there is anything violating the RFC. But I am also not an expert.
cc @nmittler @lambdai

Paste my words here from https://github.com/istio/istio/issues/30581#issue-799103492
Some http server don't like empty body http 1 request declaring header "content-length:0" although RFC 7230 allows.

Workarounds can be
1. bypass istio capture, including but not limited to inbound traffic or egress traffic
2. send http2 request and declare the protocol as http2.

Discussed in https://github.com/envoyproxy/envoy/issues/14890

@pchlupacek BTW what is the http server that considers "content-length:0" a bad request?

I had a similar problem when I was creating a spider. A few DDosS/WAF Provider and historical website(especailly made by ASP.NET) can't handle the GET request with Content-Length: 0.
I think envoy NEED a config knob for us who make request to old-school service(ex. spider to some old .gov website).We need use Istio to manage exgress by envoy but transparent please. @mattklein123
Same issue at Istio: https://github.com/istio/istio/issues/30146
Originally posted by @noahziheng in https://github.com/envoyproxy/envoy/issues/14890#issuecomment-772535820

Envoy add envoy.reloadable_features.dont_add_content_length_for_bodiless_requests for the case at https://github.com/envoyproxy/envoy/pull/15082 and https://github.com/envoyproxy/envoy/pull/15243. Can Istio support config this feature by Operator or other CRDs?

@noahziheng per https://github.com/envoyproxy/envoy/pull/15243 it is enabled by default in Envoy now. Therefor, it will be automatically included in the next Istio release (1.10)

Thanks @howardjohn , I just mentioned the PR for making that enabled by default. Can't wait Istio 1.10~

Closing as this is fixed in istio master. Thanks for the report!


nixos/nh: coerce flake option to string

Description of changes
I don't know why no one reported this but for me Nix copies path to /nix/store, so I would like to use string for $FLAKE.
Things done

Built on platform(s)

[x] x86_64-linux

My system evaluated with that commit, so I think it counts.

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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.

cc @viperML

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

What value are you using that is not supported?

What value are you using that is not supported?

I tried:
environment.variables = {
  "FOO" = /etc/nixos;
  # hacky way to say /home/perchun/dotfiles without hardcoding /home/perchun
  # if `/etc/nixos` doesn't work, then just `/home/perchun/dotfiles` won't either
  "BAR" = /. + config.home-manager.users.perchun.home.homeDirectory + "/dotfiles";
};

Both were copied to /nix/store:
~ ❯ echo $FOO
/nix/store/92iarj2qa7kfalx247sqa333i995zycr-nixos
~ ❯ echo $BAR
/nix/store/kclrsp4bmz1c1385ljjyk6458i0cr10r-dotfiles

Looks like home-manager encouraged same problem
https://github.com/nix-community/home-manager/commit/e6e49ad73c7d8cbd9f6622f0a3330ce7b71c8a86

Hmm, I remember it raised an error about invalid type, but I probably did something wrong. It works now.
Can I update this PR to add apply = toString;?

toString conversion is performed by environment.sessionVariables https://github.com/NixOS/nixpkgs/blob/53a2c32bc66f5ae41a28d7a9a49d321172af621e/nixos/modules/config/system-environment.nix#L35

You are right, but for some reason after adding apply = toString Nix didn't copy it to /nix/store. I have no idea why though

I think this PR should be closed

But currently flake option doesn't work (if you provide path), you can check it by yourself
Why this fix works doesn't make sense for me too

$ cat configuration.nix
{
  config,
  ...
}:
{
  boot.isContainer = true;

  programs.nh = {
    enable = true;
    flake = /etc/nixos;
  };
}

$ nix build -I nixos-config=configuration.nix -I nixpkgs=. -f ./nixos config.system.build.toplevel

$ grep FLAKE result/etc/set-environment
export FLAKE="/etc/nixos"

If anything, you can't access /etc/nixos with flake's evaluation sandbox, in which case you can use a string type, not a path type ("/etc/nixos")

Also note that toString has a different implementation that string interpolation:
$ cat flake.nix
{
  outputs = _: {
    a = builtins.toString /etc/nixos;
    b = "${/etc/nixos}";
  };
}

$ nix eval .#a
"/etc/nixos"

$ nix eval .#b
"/nix/store/92iarj2qa7kfalx247sqa333i995zycr-nixos"

https://github.com/NixOS/nix/issues/7327

I don't understand what are you trying to say
$ cat configuration.nix
{
  config,
  ...
}:
{
  boot.isContainer = true;

  programs.nh = {
    enable = true;
    flake = /etc/nixos;
  };
}
$ git add configuration.nix
$ git checkout nh-fix-flake-type
$ nix build -I nixos-config=configuration.nix -I nixpkgs=. -f ./nixos config.system.build.toplevel
$ grep FLAKE result/etc/set-environment
export FLAKE="/etc/nixos"
$ git checkout upstream/nixos-unstable
$ nix build -I nixos-config=configuration.nix -I nixpkgs=. -f ./nixos config.system.build.toplevel
$ grep FLAKE result/etc/set-environment
export FLAKE="/nix/store/92iarj2qa7kfalx247sqa333i995zycr-nixos"

What viper is saying is that environment.variables.apply is implemented as so:
https://github.com/NixOS/nixpkgs/blob/9d7339877a6d615fad1a0dd488e9d2dc7197fa63/nixos/modules/config/shells-environment.nix#L46
So rather than providing a path (which will undergo string interpolation), provide the string directly.
In other words, if you set programs.nh.flake = "/etc/nixos"; the PR should not be necessary.

That is right, it will work, but there is no reason to silently fail when user provides path.
FLAKE variable is used as a path to a directory to the system configuration, which then will be used in nh os switch or similar commands. If nh os switch will silently use copied immutable configuration from /nix/store, a user that accidentally set up path as path, not string, will be confused as to why nh os switch doesn't see any changes in configuration:
$ grep flake modules/nh.nix
    flake = /etc/nixos;  # user didn't know it MUST be a string!
$ nh os switch
# because there is no argument after the word `switch`, nh will try to get configuration from
# $FLAKE variable. but $FLAKE points to /nix/store, which means it was just copied from /etc/nixos,
# and changes that user maid in `/etc/nixos` won't apply to previously copied copy in `/nix/store` to which
# $FLAKE now points. that means, `nh os switch` will not find any changes until a user specifies
# `/etc/nixos` explicitly as an argument

Even though this is how environment variables in nix usually work, users should not to have to know how flake option works under the hood. Providing a path type to this option should not lead to unexpected and invalid behavior, but instead, the provided value should be fixed or an error should be raised. I cannot come up with a scenario, where user would want $FLAKE to point to /nix/store.

users should not to have to know how flake option works under the hood

Okay, then put another way: this is more consistent with how paths vs strings are treated in general; paths are copied to the store, path strings aren't. environment.etc is another example of this.
If you want to discourage or disallow store paths then IMO using a warning/assertion makes more sense than silently behaving differently.

If you want to discourage or disallow store paths then IMO using a warning/assertion makes more sense than silently behaving differently.

So will you accept the PR if I implement this solution?

I cannot reproduce this: https://github.com/NixOS/nixpkgs/pull/305004#issuecomment-2066155280
$ nix build github:viperML/nixpkgs-305004-repro#nixosConfigurations.default.config.system.build.toplevel
trace: warning: system.stateVersion is not set, defaulting to 24.05. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.

$ grep FLAKE result/etc/set-environment
export FLAKE="/etc/nixos"

Bisected fix to https://github.com/NixOS/nixpkgs/commit/c5371710de5d244b45e0c3e689e3afef1dddf990
Anyway, thanks for your reviews!

As a final note, maybe it would be nice to have a flakeref type in lib.types 🙂

Should I reopen it due to https://github.com/NixOS/nixpkgs/pull/308779/commits/ed38b9699a3a6680eb323cfbe0f199295ce3e3b7 (from https://github.com/NixOS/nixpkgs/pull/308779)?


provider not respecting macOS DNS resolvers

I apparently reported wrongly the bug on the terraform repo instead of here.
Details are there:
https://github.com/hashicorp/terraform/issues/32511
When using a OpenVPN VPN on my mac, the VPN client sets DNS resolvers specific to our internal domains, such as the domain for our proxmox nodes.
But the proxmox terraform provider doesn't use those resolvers properly, but instead the main OS config (like what is in /etc/resolv.conf). It ends up not resolving the proper IP for the proxmox node.
My only work around in the meantime is to set manually the main macOS DNS server in /etc/resolv.conf to point to our internal DNS server.

Not sure but I think that this happens because we use goreleaser and they use CGO_ENABLED=0 to avoid mess and there is no easy way to switch to a "manual" build system
at least we could wait for https://danp.net/posts/macos-dns-change-in-go-1-20/
as a workaroud you should compile it manually on your system and use CGO_ENABLED=0
the makefile in the project has local-dev-install make target that runs the build target(that has to be modified)

Thanks
I'll keep an eye on this issue and will try a manual built in the meantime.

I ran into the same problem again with more recent versions of everything:

go version go1.20.4 darwin/arm64 (installed with brew)
terraform 1.4.6 and 1.5.0-beta1
telmate/proxmox 2.9.11 and 2.9.14

this other terraform plugin fixed a similar problem
https://github.com/petoju/terraform-provider-mysql/issues/66


Create a mongo db account

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/561
Originally created by @valexieva on 2019-04-06 02:26:55

We currently suggest that we support mongodb, but we haven't tested it.

[x] Create a mongodb sandbox account

(cc: @dmor )

View 2 previous comments from the original issue on GitLab


feat(authority-source-files): add protocol to base url

Purpose
The web retrieval protocol value (http:// or https://) must display if specified, on the linked bib field subfield 0 URL
Approach

Update the database structure to include the protocol as a separate column. This will allow for checking the uniqueness of the URL path without the protocol.
Modify the converters to convert from a string URL to a protocol + path.
Add validation to ensure the correctness of the URL.
Update the logic of links updates to include the protocol.

Changes Checklist

[ ] API Changes: List any API paths, methods, request or response bodies changed, added, or removed.
[ ] Database Schema Changes: Specify any database schema changes and their impact.
[ ] Interface Version Changes: Indicate any changes to interface versions.
[ ] Interface Dependencies: Note added or removed dependencies.
[ ] Permissions: Document any changes to permissions.
[ ] Logging: Confirm that logging is appropriately handled.
[x] Unit Testing: Confirm that changed classes were covered by unit tests.
[x] Integration Testing: Confirm that changed logic was covered by integration tests.
[x] Manual Testing: Confirm that changes were tested on local or dev environment.
[x] NEWS: Ensure that the NEWS file is updated with relevant information about the changes made in this pull request.

Related Issues
https://issues.folio.org/browse/MODELINKS-191

I can see "MARC bib field is not linked to an authority record and then user links AND base URL does not have a protocol" requirement in a comment to Spike.
But as I see from Mapper code source file could be created/updated only if url is null or is full (URI/URL object will fail on creation without a protocol). And I suppose that added in api schema "url" format for strings may also fail if protocol not provided.
Shouldn't we allow create/update of url without a protocol?

I can see "MARC bib field is not linked to an authority record and then user links AND base URL does not have a protocol" requirement in a comment to Spike. But as I see from Mapper code source file could be created/updated only if url is null or is full (URI/URL object will fail on creation without a protocol). And I suppose that added in api schema "url" format for strings may also fail if protocol not provided. Shouldn't we allow create/update of url without a protocol?

As per last requirements updates protocol is required for base url


Sharing links does not work - Event or workflow details not part of the URL anymore

Describe the bug
In the old Angular.js Admin UI when you open an event detail, or workflow detail, the state ist reflected in the URL. This isn't the case in the new Admin UI Picard, therefore sharing links to event details is not possible anymore.
To Reproduce
Steps to reproduce the behavior:

Go to https://picard.vm2.elan.codes/admin-ui/index.html
Log in (admin / opencast)
Click the event details icon.
The URL in the browser's address bar is still https://picard.vm2.elan.codes/admin-ui/index.html - therefore you can't share a link to this specific state of the admin UI. This was possible with the  Angular.js Admin UI, for instance: https://stable.opencast.org/admin-ng/index.html#!/events/events?storage={"pagination":{"events":{"resume":false,"limit":100,"offset":0},"series":{"resume":false,"limit":10,"offset":0},"users":{"resume":false,"limit":100,"offset":0},"jobs":{"resume":false,"limit":100,"offset":0}},"sorter":{"events":{"title":{"name":"title","priority":0,"order":"ASC"}},"series":{"title":{"name":"title","priority":0,"order":"ASC"}},"users":{"name":{"name":"name","priority":0,"order":"ASC"}},"jobs":{"id":{"name":"id","priority":0,"order":"ASC"}}}}&modal=event-details&tab=metadata&resourceId=ID-3d-print

I can confirm this error for opencast version 14.4.
If you want to look at the progress of a workflow in real time in the Admin UI under Actions -> Workflows -> Details, the view remains static. I.e., the current state of processing is displayed when the page is called. The display does not automatically switch to the next step when a step has been successfully completed.

@mwuttke The problem you are describing is different from the one Rillke described initially. I'll open a new issue for it.

@Arnei asked me for help estimating this for the "Admin-UI Showstopper" project, and I finally got round to it.
The answer is, as usual, "it depends."
There is a relatively straightforward way to mirror certain bits of the application state in the URL using the redux-persist module we already use.
For the event modal, the relevant info is already part of said application state (managed by Redux) and we can probably put it in the URL in ~3h. So technically, that's the estimate for this specific issue.
I presume people would want this at least for series as well, maybe other modals, and looking at the mention of the old admin UI maybe even other stuff as well. Sadly, this is not a "just flip the global switch" situation; the 6h above will produce some work we can reuse for other state, but the overlap is small.
The majority of the work will be to rejigger the relevant state into Redux. That should be rather simple, if annoying. I would say for putting one of the other "main table modals" (series, CAs, users, ...) into Redux and from there into the URL would cost us another 2–3h. There is a slight risk of it taking significantly longer due to weird code structure.
Another complication that could drive up the estimate is if we want to put state in the URL that already lives in localStorage or exists "close" to such state. In that case we will have to massage redux-persist a bit more and take a moment to think hard about the interactions between the two storages. There are some global concerns there, which I would want to have at least 5h for thinking through, and then it's once again a case-by-case thing of let's say 1–2h per "piece of state."
The stuff in the last paragraph is not necessary for the state in the "main table modals," though.
The good news is that we can attack this piecemeal. We can spend 3h to get events in, we can put 2 or 3 more hours in to try it for series, and if it doesn't work or takes longer, we still have events, etc. 🤷♀
/cc @oas777 @snoesberger

Thanks, Julian. Are you going to tackle this? Or Arne? Asking for a friend in accounting ...

It would probably make sense for me to take this, seeing as I know what I mean by all the stuff I wrote above. x)

I'm not a big fan of doing the "accounting" in GitHub issues. Can I ask to keep the resource estimation, etc., out-of-band and focus here on the specific problem?

Yep, sorry.


add JDK7 ThreadLocalRandom replace Random in concurrent env can promote performance

What is the purpose of the change
The performance of RandomLoadBalance and LeastActiveLoadBalance is improved by replacing Random with ThreadLocalRandom. In order to support JDK1.6, the implementation of ThreadLocalRandom is copied directly.
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

It is a little bit coincidental.
see the pr https://github.com/apache/incubator-dubbo/pull/2433 , i has already submit the same change a few days ago.

And more confusing, why add a JDK ThreadLocalRandom source code to Dubbo, seems unnecessary.

Hi, can u provide a test case of performance?
If the difference is not big compared to the jdk version, I prefer to use the jdk version. Porting code takes more time to maintain the features of the new version

I notice that your ThreadLocalRandom was copied from netty3.
maybe more details need to take as consideration.

third-party dependency need use carefully.
bugs fix need to trace from upstream repository.
performance benchmark

@BenchmarkMode({Mode.AverageTime})
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 3, time = 5)
@Measurement(iterations = 3, time = 5)
@Threads(50)
@Fork(1)
@State(Scope.Benchmark)
public class RandomBenchmark {

    Random random = new Random();

    @Benchmark
    public int random() {
        return random.nextInt();
    }

    @Benchmark
    public int threadLocalRandom() {
        return ThreadLocalRandom.current().nextInt();
    }

    @Benchmark
    public int nettyThreadLocalRandom() {
        return io.netty.util.internal.ThreadLocalRandom.current().nextInt();
    }

    public static void main(String[] args) throws RunnerException {
        Options opt = new OptionsBuilder()
                .include(RandomBenchmark.class.getSimpleName())
                .build();

        new Runner(opt).run();
    }

}

and below is our benchmark result under 50 concurrency
Benchmark                               Mode  Cnt     Score      Error  Units
RandomBenchmark.nettyThreadLocalRandom  avgt    3   160.321 ±   83.518  ns/op
RandomBenchmark.random                  avgt    3  3281.972 ± 2093.187  ns/op
RandomBenchmark.threadLocalRandom       avgt    3    91.505 ±   39.702  ns/op

Maybe i did something wrong with netty.ThreadLocalRandom, but from the result we can know the truth

JDK 's ThreadLocalRandom looks good.

Agree with @lexburner
Pls focus on https://github.com/apache/incubator-dubbo/pull/2433 .
Reopen if there are other optimization reasons

This ThreadLocalRandom is copy from JDK1.7，The reason for this is to be compatible with JDK1.6, otherwise Dubbo will not be able to run in JDK6.


Try mashing the keyboard if we're missing a login prompt.

This is definitely not science.

I hope it works...


Dependency Injection wiki page formatting

Hey,
A maintainer of one of the many Python dependency injection frameworks here! (not mentioning which one, because it's irrelevant to the matter)
I think it'd be nice to have all the libraries/frameworks on the https://github.com/metaperl/python-oop/wiki/Dependency-Injection--&--Inversion-of-Control on more equal footing than now – right now two libraries have their own sections (suggesting many things to the readers I imagine) and the rest goes into a list in the "Others" section.
I don't know what's the protocol here and I didn't want to go and edit the page, so I'll just leave a note here. :)

I think it'd be nice to have all the libraries/frameworks on the https://github.com/metaperl/python-oop/wiki/Dependency-Injection--&--Inversion-of-Control on more equal footing than now

Yes, now the question is: are they all on equal footing? In other words, are some more maintained, more widely used, more useful?

After a bit of detective work, I added a section for the module you maintain:
https://github.com/metaperl/python-oop/wiki/Dependency-Injection--&--Inversion-of-Control#injector

Hey, I appreciate that, but it wasn't my intention to give Injector its own section and I'm not too comfortable with it being highlighted like this (especially since it seems like it happened at my request, I'm sure you understand my position).

Going back to your initial statement:

I think it'd be nice to have all the libraries/frameworks on the https://github.com/metaperl/python-oop/wiki/Dependency-Injection--&--Inversion-of-Control on more equal footing than now

In a sense, they deserve to be on equal footing. In another sense, the more actively maintained and promoted ones deserve attention.

But I can give you editor rights and you can reformat the whole section to be more democratic... but in doing so, some will be listed earlier than others. And just as people tend to buy things at eye-level in a grocery store and dont notice the things on the bottom shelf, the earlier listed one will be the first to be sampled.
Perhaps some objective measure of quality can be in place. Such as last update or repo. Number of stars on repo... but all of those have drawbacks.


servers statement to be removed

The servers statement at the beginning of the OAS, does not provide any benefit.
It should be removed.
This applies to the ApplicationPattern and all applications.

Was already done.
No change required.


Disable common data metadata load until we find the root cause behind #2134

FYI @xavijam @Kartones

Yes, better to disable for the time being

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


Table Filter

Codecov Report
Patch coverage: 81.25% and project coverage change: -0.64 :warning:

Comparison is base (1890ae3) 91.66% compared to head (88b8924) 91.02%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
- Coverage   91.66%   91.02%   -0.64%
==========================================
  Files          19       20       +1
  Lines         288      301      +13
  Branches       42       44       +2
==========================================
+ Hits          264      274      +10
- Misses         17       19       +2
- Partials        7        8       +1

Impacted Files
Coverage Δ

src/components/Table/styles.ts
100.00% <ø> (ø)

src/components/Table/Filter.tsx
72.72% <72.72%> (ø)

src/components/Table/Table.tsx
100.00% <100.00%> (ø)

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


[JavaDocs] Brigadier's ArgumentBuilder's methods are not present in the JavaDocs

Issue
Brigadier's ArgumentBuilder's methods are not present in the JavaDocs:
https://commandapi.jorel.dev/javadocs/html/classcom_1_1mojang_1_1brigadier_1_1builder_1_1_argument_builder_3_01_s_00_01_t_01extends_01_argument_builder.html
This includes the highly sort-after fork(), forward() and redirect() methods!

This issue is directly a result of doxygen/doxygen#8495 - a hotfix would consist of simply removing the generic parameters from the class until this is fixed.

Hot-fixed for 7.0.0's release.


[ FEAT ] : Feature to copy sharable resume link to clipboard

Is your feature request related to a problem? Please describe.
Fortunately, we have the options to share the generated resume on X (Twitter), Whatsapp and Linkedin. Additionally, we can give a Copy Sharable Link feature in the Share your resume section when we try to share.
Describe the solution you'd like
The approach would be to just store the current URL to the clipboard and that's it.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
What problem is this feature trying to solve?
There are too much social media applications where we can share the resume, thus a sharable link to the clipboard would solve this issue.
How do we know when the feature is complete?
I'll raise a PR when it's done.

Task

[x] Follow Us On social media - LinkedIn Twitter
Let's connect
[x]      GitHub

Enter you User Id's:
LinkedIn:
GitHub: https://github.com/kshavp
Discord: keshavp
Twitter: https://x.com/keshavpriyam
If you Follow us in both social medias we provide 'level2'
*Only First time

Hey @ashutosh-rath02 , the functionality is almost done, need a quick suggestion on showing feedback to the user that the link is copied.
We can have a toast as well as a notification popover as shown in the media.

Ya anything works it just needs to notify the user, a green tick in place of copy sign would even do


Redefine start/stop commands

start should start the machines from a kube-spawn environment and initialize the cluster with kubeadm
stop should stop the machines.
Also provide restart that wraps both.
Depends on #137

Resolved with #161


how to configure interrupt signals on shields via device tree?

I've got patches related to the HTS221 sensor for nrf52_pca20020 to enable interrupt-driven sampling.  Works fine, but I'd like to test it with the x_nucleo_iks01a2 shield on frdm_k64f and nucleo_l476rg.  The corresponding DRDY signal is on the Arduino header at INT0 (or GPIO2 or whatever they name the third-from-bottom-on-right pin).
Is there an existing solution for this?
        hts221@5f {
                compatible = "st,hts221";
                reg = <0x5f>;
                drdy-gpios = <&what goes here>;  /* or &arduino_int0? */
                label = "HTS221";
        };

@pabigot, can we close this point?

Yes, I think the nexus node capability handles this.
Wonder if I still have those patches anywhere....


After the program block is detonated by the warhead the server crashes

After the program block is detonated by the warhead the server crashes.
This fact was revealed when using the DOM Deffense script.
Then a test was carried out on the explosion of the warhead near the stationary working PB - the server crashed, but not immediately, for some time it worked.
At the same time the data from the plugin table about the running program block froze.
As a result if bad players learn about the current problem they can safely lay down the server.

00:16:02.1095 [FATAL]  Initializer: System.InvalidOperationException: An ItemsControl is inconsistent with its items source.
See the inner exception for more information. ---> System.Exception: Information for developers (use Text Visualizer to read this):
This exception was thrown because the generator for control 'System.Windows.Controls.DataGrid Items.Count:3' with name 'DataGrid1' has received sequence of CollectionChanged events that do not agree with the current state of the Items collection.  The following differences were detected:
Accumulated count 2 is different from actual count 3.  [Accumulated count is (Count at last Reset + #Adds - #Removes since last Reset).]
One or more of the following sources may have raised the wrong events:
System.Windows.Controls.ItemContainerGenerator
System.Windows.Controls.ItemCollection
MS.Internal.Data.EnumerableCollectionView
System.Collections.Generic.Dictionary`2+ValueCollection[[System.Int64, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089],[HaE_PBLimiter.PBTracker, HaE_PBLimiter, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]
(The starred sources are considered more likely to be the cause of the problem.)
The most common causes are (a) changing the collection or its Count without raising a corresponding event, and (b) raising an event with an incorrect index or item parameter.
The exception's stack trace describes how the inconsistencies were detected, not how they occurred.  To get a more timely exception, set the attached property 'PresentationTraceSources.TraceLevel' on the generator to value 'High' and rerun the scenario.  One way to do this is to run a command similar to the following:
System.Diagnostics.PresentationTraceSources.SetTraceLevel(myItemsControl.ItemContainerGenerator, System.Diagnostics.PresentationTraceLevel.High)
from the Immediate window.  This causes the detection logic to run after every CollectionChanged event, so it will slow down the application.

Attempted fix in v<IP_ADDRESS>, reopen if this crash still occurs.


Document Dataverse for Teams Governance solution gap for GCC, GCC High and DoD regions

GCC, GCC High and DoD regions do not currently have the ability to post Adaptive Cards to Teams via bot. Due to this limitation, the Dataverse for Teams Governance solution fails to post Adaptive Cards when executed. If the flows supporting this solution are enabled, Dataverse for Teams owners will never receive the notifications for business justification and any Dataverse for Teams environment older than 7 days will get deleted automatically.
We should document/highlight that the flows included with this part of the solution should not be enabled in environments that are hosted in GCC, GCC High and DoD regions until this platform capability (posting Adaptive Cards to Team via bot) is available.

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

ID: d744c67a-948f-63df-0e61-bb76809e534a
Version Independent ID: d744c67a-948f-63df-0e61-bb76809e534a
Content: Set up Dataverse for Teams environment management - Power Platform
Content Source: power-platform/guidance/coe/setup-teams-components.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Duplicate of #1299 and will be addressed with the next release, which is awaiting docs team review before being merged.


FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

Type of problem

Failure to build
Runtime problem after the build succeeds

Summary
I've just upgraded to meteor v1.5.2. Now the build is failing
Contents of .meteor/release
<EMAIL_ADDRESS>
Buildpack version
https://github.com/AdmitHub/meteor-buildpack-horse.git

Logs
<--- Last few GCs --->
  296629 ms: Mark-sweep 1368.2 (1454.7) -> 1368.2 (1454.7) MB, 986.4 / 0 ms [allocation failure] [GC in old space requested].
  297706 ms: Mark-sweep 1368.2 (1454.7) -> 1368.2 (1454.7) MB, 1076.9 / 0 ms [allocation failure] [GC in old space requested].
  298749 ms: Mark-sweep 1368.2 (1454.7) -> 1364.9 (1454.7) MB, 1042.9 / 0 ms [last resort gc].
  299787 ms: Mark-sweep 1364.9 (1454.7) -> 1368.2 (1454.7) MB, 1038.1 / 0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x33efb4037399 <JS Object>
    1: addMapping(aka SourceMapGenerator_addMapping) [/app/tmp/cache/meteor/.meteor/packages/meteor-tool/.<IP_ADDRESS>o6ss4++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/source-map/lib/source-map-generator.js:~94] [pc=0x156d19d75b98] (this=0x3eb619a78b91 <a SourceMapGenerator with map 0x31d045866ff9>,aArgs=0xf5b0c59eca9 <an Object with map 0x31d0458662e9>)
...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
/app/tmp/buildpacks/84221b9691f649157dfcb4cc24d9b5910f813f653ddc952a8f8e0a816e4a3d912ed985a25131084b5df37e720ae0e510ef4463cf515b7a5f3bacd7341f71f95f/bin/compile: line 107:   342 Aborted                 HOME="$METEOR_DIR" "$METEOR_DIR/.meteor/meteor" $ARGS
 !     Push rejected, failed to compile Node.js app.
 !     Push failed

Deployment target
heroku

Maybe it's related to the node 4.8.4 patch:

Node 4.8.4 has been patched to include https://github.com/nodejs/node/pull/14829, an important PR implemented by our own @abernix (:tada:), which fixes a faulty backport of garbage collection-related logic in V8 that was causing occasional segmentation faults during Meteor development and testing, ever since Node 4.6.2 (Meteor <IP_ADDRESS>). When Node 4.8.5 is officially released with these changes, we will immediately publish a small follow-up release. Issue #8648

https://github.com/meteor/meteor/blob/devel/History.md#v152-2017-09-05

I suspect this problem is actually due to the fact that standard-minifier-js (a standard Meteor minififer configuration, uses uglify-js under the hood.  However, uglify-js doesn't support all of the more modern ECMAScript language and fails.  Meteor catches this failure and resorts to using babili (now called "Babel minify") however it is often excessive in memory usage and much slower.
The good news is that uglify-es is its successor and passes the test262 tests with much greater success, while still being quite fast.  It is now the default in Meteor 1.6 (now in beta) thanks to https://github.com/meteor/meteor/pull/8698.
As a work around until Meteor 1.6 comes out, you can use abernix:standard-minifier-js, which uses uglify-es.  Note that this is not an official recommendation, but I believe it will work for you.

I've removed standard-minifier-js and added your package abernix:standard-minifier-js, but the issue still persists :/

Can you fork https://github.com/abernix/minifier-js/ into your local packages directory (as instructed here) and then add debug logging on this line (and elsewhere, as appropriate) to see if it's Babel that is getting run?

@abernix how do I log correctly inside build plugins? I've added some console.log but nothing is getting logged. Here you'll find the file with the changes I've made: https://gist.github.com/maxnowack/db7c7d692ec09e87793554b85870c3c9
In an addition to that, the error occured also locally. So it seems, that it isn't an issue with the heroku buildpack but with meteor itself. So I've created meteor/meteor#9075


DFImageRequestID ~> DFImageTask

Rename DFImageRequestID to DFImageTask (similar to Nuke)
Open some of the private _DFImageTask interfaces like state, request, response, manager etc
Remove DFImageFetchContext class, use new DFImageTask interfaces instead
Rename DFImageInfoRequestIDKey to DFImageInfoTaskKey

I have a problem, in my app on watch.
Never put the image.. why?
CODE:
     DFImageRequest *previewRequest = [DFImageRequest requestWithResource:[NSURL URLWithString:dataObject.thumbnail]];
     DFImageRequest *fullsizeRequest = [DFImageRequest requestWithResource:[NSURL URLWithString:dataObject.thumbnail]];

    NSArray *requests = @[ previewRequest, fullsizeRequest ];
    DFImageFetchTask *task = [DFImageFetchTask requestImageForRequests:requests handler:^(UIImage *image, NSDictionary *info, DFImageRequest *request) {
        // Handler is called at least once
        // For more info see DFImageFetchTask class
        NSLog(@"info %@", info);
        [self.iboGroup setBackgroundImage:image];

    }];

    // Track the state of the requests
    DFImageFetchContext *context = [task contextForRequest:previewRequest];
    BOOL isPreviewFetched = context.image != nil;

Done


ViewComponent::Preview.all returns empty

[follow up of https://github.com/github/view_component/issues/1252 ]
description:
ViewComponent::Preview.all returns [] after a component.rb file changes. I managed to fix it by removing  this line in view_component ).
But I think @allmarkedup has a solution directly in lookbook
Many thanks

Hey @muriloime - thanks for this. I actually have recently pushed up a beta release (v0.7.2.beta.1) that I hope will fix this problem for you. If you have a chance could you give it a test and let me know how you get on?

 I am taking a look, but still trying to make it work, since my lookbook broke with 0.7.0 version

So @allmarkedup I managed to fix some errors with the current version , and created two PR to solve the problems I found: https://github.com/allmarkedup/lookbook/pull/70 and https://github.com/allmarkedup/lookbook/pull/69.
Even though it works now, I am still seeing much more activity than expected in my server. Still investigating

@allmarkedup  I managed to test the v0.7.2.beta with help of above PRs , but version > 0.7 is veeery slow for my app ( hundreds of previews). I am rolling it back to 0.6.1 for the moment. Will come back to it in a few days.
many thanks

hey @muriloime, many thanks for you help with this - I'm also seeing some performance issues so will have to revisit it when I have a little more time to investigate properly.
Very much appreciate your time and I'll let you know when I've managed to resolve things.

@allmarkedup in the case it helps: from what I saw yesterday , it seems like it's rendering every component in every click/refresh

Thanks @muriloime - I'll hopefully have some time to look into it over the next few days and try to work on the performance issues.
The main problem is that the ViewComponent descendants  list gets messed up if any of the preview files have a syntax error or similar in there, and that list needs to be repopulated. I've tried to solve it by comparing the number of expected preview files to the number of Preview class instances (as reported by ViewComponent::Preview.all), and reloading descendants if they don't match up. But it seems to not be working correctly in all cases, leading to everything being re-imported every request, which is obviously making things slower.
I'll let you know when I have another beta version up to test again. Thanks again for your patience!

@muriloime I've just released another beta version that removes some potential duplicate-requiring of preview files (amongst other things). I'm hoping this helps resolve the performance issues you are seeing (although it is still possible that the strategy used for re-requiring dependencies might still be a problem for you for some reason).
If you have any time to test it and let me know if it's still significantly slower than the 0.6.x release for you then that would be really helpful.

Hi @allmarkedup  I am still seeing slowness a lot of activity in the server when navigating through lookbook v0.7.2.beta.4
here is some of the server output (I am using the updated version of the gem locally in line with main ), the log is flooded with these partials:
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_icon.html.erb (Duration: 0.1ms | Allocations: 17)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_icon.html.erb (Duration: 0.1ms | Allocations: 17)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav_preview.html.erb (Duration: 0.1ms | Allocations: 21)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav_group.html.erb (Duration: 1.1ms | Allocations: 509)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav_collection.html.erb (Duration: 1.2ms | Allocations: 595)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav_group.html.erb (Duration: 2.1ms | Allocations: 1017)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav_collection.html.erb (Duration: 2.3ms | Allocations: 1103)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_nav.html.erb (Duration: 2310.1ms | Allocations: 2006932)
11:12:14 web.1  |   Rendered /home/murilo/code/learn/lookbook/app/views/lookbook/components/_sidebar.html.erb (Duration: 4214.9ms | Allocations: 4044277)
11:12:14 web.1  |   Rendering /home/murilo/code/learn/lookbook/app/views/layouts/lookbook/skeleton.html.erb

@muriloime ok so the partial output logging is actually expected - that is just the (heavily partial-ized) UI being rendered. Previously Lookbook had unintentionally disabled the main action_view logger in the parent app which is why all that noise wasn't present before. I will look for another option to remove that from the console, but that in itself shouldn't affect the performance (it has always actually been built that way).
I'm a little stumped now as to why the 0.7.x release is slower for you than the 0.6.x branch, but I don't want to take up any more of your time on this as you have been very helpful already. I think I probably need to go back to the drawing board a bit and see if I can auto-generate a very large number of test components to better recreate the performance issues at my end and work from there.
Many thanks again - once I've got a bit of a better test setup and start seeing some improvements I'll let you know.

@muriloime ok I lied :-) One last try, if you have any patience left... v0.7.2.beta.5 enables some preview caching which in my tests has sped up the UI rendering a lot. Let me know if you see any improvement if you get a chance to try it!

@allmarkedup dude, stop lying !! :laughing: From my side, all good. Performance seems perfectly fine now

😂 Well that is great news... thank you for testing it one last time! I'm going to go ahead and close this issue now but please do open another if you run into any more issues.


html file saving continuosly

VSCode Version: 1.7.2
OS Version: Windows 7

Steps to Reproduce:

Open html file, with html extension and edit
Save
With my installation i've seen when i edit an html file and save it, the save process never stop, as something get be edited and then saved

Could you list your extensions? code --list-extensions will show them.

adambaldwin.vscode-nsp
anseki.vscode-color
brpaz.file-templates
christian-kohler.npm-intellisense
chrmarti.regex
EditorConfig.EditorConfig
fknop.vscode-npm
gerane.Theme-Solarized-dark
gerane.Theme-Solarized-light
GrapeCity.gc-excelviewer
gyuha.format-on-save
humy2833.ftp-simple
HvyIndustries.crane
ianhoney.task-master
imperez.smarty
Perkovec.require-sort
siegebell.incremental-search
sysoev.language-stylus
tanato.vscode-gulp
zgudino.editorconfig-vscode-snippet
After disabling some of the extension i've found the
'''gyuha.format-on-save
broke save process.

I think that thread can be closed.

Closing since it looks like an extension was the root cause. @integrys-net If you have not already done so, please report this bug to the extension author so they can fix it.
Thanks.


stylesheet order prevents custom css overrides

The stylesheets of sphinx_tabs get appended at the very last, which makes overriding CSS styles in a custom.css impossible (or I simply don't know how).
My conf.py which includes sphinx_tabs:
extensions = [
    'sphinx_tabs.tabs',
    'sphinx.ext.extlinks',
    'sphinx.ext.graphviz',
    'sphinx.ext.intersphinx',
    'sphinx.ext.todo',
    'alabaster',
    'ablog',
    'sphinxcontrib.blockdiag'
]

# [...]

# add custom css here
def setup(app):
    app.add_stylesheet('css/custom.css')  # may also be an URL

I try to override a sphinx_tabs style in my _static/css/custom.css:
.sphinx-tabs .sphinx-menu a.item {
    color: yellow !important;
}

This doesn't override the default color, as the custom.css needs to be the last file for that in my index.html:
    <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/tabs.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/segment.min.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/menu.min.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/tab.min.css" type="text/css" />

There's a good chance that I do something wrong, any help would be appreciated.

sphinx-tabs was adding its stylesheets (and JS) at the end of the list of files when the context gets created. I've changed it to prepend them instead so they come before any custom ones. Should fix your issue.
I'm pushing a new version to pypi now.

The javascript magic to switch the tabs doesn't work anymore with version 1.1.3
It rendered the tabs correctly:

It also added the CSS files at the correct place, but I assume that the Javascript files need a specific order (I'm not sure though):
    <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/tabs.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/segment.min.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/menu.min.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/tab.min.css" type="text/css" />
    <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />

    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../../../',
        VERSION:     '',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../../../../_static/sphinx_tabs/tabs.js"></script>
    <script type="text/javascript" src="../../../../_static/sphinx_tabs/semantic-ui-2.2.10/tab.min.js"></script>
    <script type="text/javascript" src="../../../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../../../_static/doctools.js"></script>

I've never written a sphinx extension before, so I'm a little clueless and cannot suggest anything.

I may have a wrong expectation about how the overriding of CSS should work. This post here let's me assume that I should use my own custom templates to override CSS and JS: https://stackoverflow.com/questions/32079200/how-do-i-set-up-custom-styles-for-restructuredtext-sphinx-readthedocs-etc#32079202
Maybe a revert of commit be51f068 makes sense, until I have figured sphinx's way of overriding CSS/JS.

Ooops... the sphinx-tabs js files need to be included after jquery, so prepending them breaks it. Annoyingly my test script has a bug so I didn't catch this before releasing the update...
I'm not sure what the best practice is for overriding css in Sphinx, but I think including custom.css after sphinx-tabs css is sensible behaviour.
I've made the js including smarter so that it includes the tabs js after jquery so that it's not broken!
Released as 1.1.4. Let me know if that works for you!

Version 1.1.4 works perfectly for me! It allows me to have a custom.css at the very end without losing the javascript capabilities of sphinx_tabs.
Thanks mate, great work!

Cool :)


Change device Placement of existing variable

How do I change the device placement of a tf.Variable() ?
I tried two methods
a = tf.Variable(1,name = 'a')  # a's device is not set
with tf.device('/gpu:0'):
       a = tf.get_variable('a',1)
# this creates a new variable on the gpu and doesn't change device assignment for a

I tried enforcing variable reuse by using tf.get_variable_scope().reuse_variables()
a = tf.Variable(1,name = 'a')  # a's device is not set
tf.get_variable_scope().reuse_variables()
with tf.device('/gpu:0'):
       a = tf.get_variable('a',1)
# this creates a new variable on the gpu and doesn't change device assignment for a

This time, I get an error saying the variable 'a' did not exist in the gpu.
Any help on changing-device-placement or lazy-device-assignment would be appreciated. Thanks

This is not a bug, right? Make a thread on StackOverflow and people will want to answer! :smiley:

here is the link to the stackoverflow question i posted :
https://stackoverflow.com/questions/42300475/change-device-placement-of-an-existing-tensorflow-variable
Thank you

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Bugfix/28404 showing empty value for empty strings in django admin

This is a PR to pickup ticket 28404 again. Prior PRs are #9391 #8776  and #9390 .
This is my first PR for Django, addressing not showing the empty_display_value if value is the empty string and not None in the admin app. Please advise as you see fit.

I need to look a bit deeper into this and maybe make some changes. So to not waste anybody's time I'm closing the pull request for now and going to reopen it once I got some more insight.

I now check for value in field.empty_values instead only None and "", which should cover all the "empty" cases.

Reopening the PR

Opened a new pull request here (Can't edit the ticket right now ...)
https://github.com/django/django/pull/17702


"Breakpoint ignored...(source map problem?)" occurs when debugging TypeScript with Insiders

VSCode Version: latest 1.21.0-insiders.
OS Version: Windows

Steps to Reproduce:

Clone the repo https://github.com/Microsoft/vscode-cpptools/ .
Open folder with the vscode-cpptools/Extension folder.
Set some breakpoints "anywhere", such as in the constructor line 315 in src/LanguageServer/client.ts.
Launch Extension.

Bug: No breakpoints are hittable -- see the screenshot, the icon/text is somewhat random between the two shown, but the result is the same either way. Another person on my team is hitting this as well. Non-Insiders is fine. This started reproing around Friday. The out/src/LanguageServer/ folder appears to contain all the correct .js and js.map files.
Does this issue occur when all extensions are disabled?: Yes.

Generating a new Launch Extension in the launch.json fixed it. Looks like our launch.json was referencing ${workspaceFolder} and that isn't working anymore. Feel free to close this if this is "by design" if you're not concerned with making the experience less confusing to users.

${workspaceRoot} should still be working. Can you attach the new launch config?  The repo shows only the old one.

Oh, you're right -- it's not the ${workspaceRoot} -- it repros with
"outFiles": ["${workspaceRoot}/out/src"]
and not
"outFiles": ["${workspaceRoot}/out/src/**/*.js"].
Not sure if that's a bug or a "by design" change.

I'm not aware of any changes in the area of source maps. "outFiles" exists for a long time and it was always accepting glob patterns only. So "${workspaceRoot}/out/src" could have never worked.

I am not aware of any changes in this area.
I just double checked that we are still correcty replacing the deprecated ${workspaceRoot}.  ${workspaceFolder} is the new syntax.

It looks like 2 weeks ago the outDir got changed to outFiles, so that change may have broken us ( https://github.com/Microsoft/vscode-cpptools/commit/0622ade1759897f66c94536c897d62d0a35e5d00#diff-32bd363b49958d368d1a37c0848ad514 ). It may have taken us a while to notice, because the bug doesn't always repro. We'll fix it.

@isidorn
is that change mentioned somewhere in your blog or? I started having problems with debugger not working right away until I removed the breakpoint (which was grey) and then put back the breakpoint (which becomes red again). So yes I was using the old name ${workspaceRoot}, it would have been nice to see any kind of lint error somewhere. I had to find this issue here to fix my problem.

@ghiscoding it is mentioned in our release notes couple of milestones back. But ${workspaceRoot} should still be nicely supported as I mentioned above.

@isidorn
Thanks for for some unknown reason, I really had to do this trick to make it to work

The quick fix I found was to click the breakpoint (which was grey) and then click again the breakpoint (which becomes red again) then it breaks. But it was rather annoying to do that in every file.

It's back to normal after changing ${workspaceRoot} into ${workspaceFolder}
Thought you might wanted to know.

@HitalloExiled please open a new issue with more details


fix: typos across various locations in the repository

This merge requests fixes various typos found throughout the repository.
PR checklist:

[ ] Added changelog entry.

Course, easy for things like this to slip through. If you want to use a github actions configuration to detect this in the future, I located these using https://github.com/codespell-project/codespell


Frontend major update4

You might need to format your code to pass CI, but at this point its the least of my worries

Yep, sorry I missed that I kept forgetting to do that step.


⚠ Bofrost.be has degraded performance

In 3a86262, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 895 ms

Resolved: Bofrost.be performance has improved in e90399d.


Refactor reusable docs blocks into ui components

badges (used in Heros)
Hero block (main hero, templates hero)

Already addressed


Azcopy hangs at every command after login

Which version of the AzCopy was used?
10.3.3
Note: The version is visible when running AzCopy without any argument
Which platform are you using? (ex: Windows, Mac, Linux)
Windows 10
What command did you run?
azcopy make  "https://storageaseccn5.blob.core.windows.net/testbassetti"
Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
What problem was encountered?
azcopy prints one line in console "INFO: Make is using OAuth token for authentication."
and hangs, no logs produced and no errors reported.
I am in China if that matters.
How can we reproduce the problem in the simplest way?
Run azcopy login
login with azure credentials
Attempt any network related command
Have you found a mitigation/solution?
no

Yes, the issue may relate to you being in China.  Did you use the --aad-endpoint parameter in your login?  For the China cloud you need to set it to "https://login.chinacloudapi.cn".
E.g.
azcopy login --aad-endpoint "https://login.chinacloudapi.cn"

The full list of possible values is here: https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-national-cloud#azure-ad-authentication-endpoints
@normesta Do you think this is something we should address more in the login documentation?

This info was not in the login documentation for azcopy. The docs only discuss managed identity. Will try this today.

Thanks for bringing the documentation gap to our attention.

Forgot to report back on this. Adding the --aad-enpoint parameter works.


GoRun doesn't work at nvim 0.6

Invoke :GoRun result like this
||
|| go run: no go files listed
||
||

Here is my nvim --version
NVIM v0.6.0-dev+1518-g02bf251bb
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: clang -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -O2 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/tmp/neovim-20210714-39663-lqn3eb/build/config -I/tmp/neovim-20210714-39663-lqn3eb/src -I/usr/local/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/usr/local/opt/gettext/include -I/tmp/neovim-20210714-39663-lqn3eb/build/src/nvim/auto -I/tmp/neovim-20210714-39663-lqn3eb/build/include
编译者<EMAIL_ADDRESS>
Features: +acl +iconv +tui
See ":help feature-compile"

     系统 vimrc 文件: "$VIM/sysinit.vim"
         $VIM 预设值: "/usr/local/Cellar/neovim/HEAD-02bf251/share/nvim"

Run :checkhealth for more info

Thanks, there was a bug in the plugin. Fixed

@ray-x Thanks it works well if the project is executable. One more scenario is for a library project which contains examples inside, like this folder structure.
root
  - examples
    - sample1
      - main.go <- with this file is opened, run GoRun should run main.go, not the root project
  - lib.go

This could be done by running a grep for function main() to check whether we should change cwd, run go run . and change cwd back.

You can use
GoRun ./sample1
to run sample1
The smartRun function can be very useful. But it seems it can only run the main in the first match. There are cases where a project may have multiple main package/function.

this is what I use right now for a keymap to current file. I feel like there is a better way to do this though:
vim.cmd("autocmd FileType go nmap <leader>gr  :cd %:p:h <CR> :GoRun  .<CR>")


Change install feature guards for win2008r2

Signed-off-by: Krzysztof Kowalczyk<EMAIL_ADDRESS>Description
Changes the way how installed? and available? functions are executed on windows 2008r2, as currently used attribute InstallState is not available on this system. Import-Module ServerManager is included in cmd.
It forces to converts the result from Get-WindowsFeature into array, as when executed on single feature, count method doesn't return properly the count.
Issues Resolved
#508
#480
Check List

[x] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Thanks for the double fix here.


Change conversion of flag values to list in error message

Change how flag values are converted to a list, needed after numpy 2 release.

Clarification: module still worked without this change, but making this change cleans up the error message - with numpy v1 the values would be printed as [0, 1, 2], with numpy v2 it printed as [np.int8(0), np.int8(1), np.int8(2)] - this change prints as the first option for both v1 and v2.


Instructor 1.4.0 doesn't support the groq client due to the .refusal error

Groq is still using an older version of the OpenAI Sdk which doesn't have the .refusal parameter on the existing ChatCompetionMessage.
As a result, the new integration with Structured Outputs breaks the groq integration when it comes to parsing the completed message.
This minimal reproduction replicates this error
from instructor import from_groq
from pydantic import BaseModel
from groq import Groq

class User(BaseModel):
    name: str
    email: str
    age: int

client = from_groq(Groq())

resp = client.chat.completions.create(
    model="llama3-70b-8192",
    messages=[
        {
            "role": "user",
            "content": "Extract the user from this : Ivan is a 27 year old softrware engineer in Singapore",
        }
    ],
    response_model=User,
)

print(resp)

We can then derive the error message of
          ^^^^^^^^^^^^^^^^^
  File "/Users/ivanleo/Documents/coding/instructor/instructor/process_response.py", line 144, in process_response
    model = response_model.from_response(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ivanleo/Documents/coding/instructor/instructor/function_calls.py", line 149, in from_response
    return cls.parse_tools(completion, validation_context, strict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ivanleo/Documents/coding/instructor/instructor/function_calls.py", line 318, in parse_tools
    message.refusal is None
    ^^^^^^^^^^^^^^^
  File "/Users/ivanleo/Documents/coding/instructor/venv/lib/python3.11/site-packages/pydantic/main.py", line 828, in __getattr__
    raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}')
AttributeError: 'ChoiceMessage' object has no attribute 'refusal'

Also encountering this issue.
@ivanleomk While waiting for a fix, you can use from_groq(Groq(), mode=instructor.Mode.JSON) to bypass the error.

with @callmephilip's new fix in #962 , this should be fixed in the next release @S4mpl3r ! :)


Feat: failure mode - Downloader switch indexer endpoint after max_retry

The base unit of failing to download a subfile is failing to download a chunk.
Given an indexer query endpoint and a chunk bytes range, downloader currently retry a configured max_retry amount of time before adding the endpoint to a blocklist.
Downloader currently tracks a HashMap of files and chunk indices yet to download.
After trying to download from the same indexer multiple times and still have missing pieces, the downloader uses the HashMap for missing pieces and switch to a new indexer endpoint.

Resolved in https://github.com/graphops/subfile-data-service/issues/22


Unable to use clientScripts in test as page hangs while attempting to log in

What is your Scenario?
Would like to log in and then inject .clientScripts into the test
What is the Current behavior?
Test hangs on log in if .clientScripts is appended to the test or to the fixture
What is the Expected behavior?
Test should log in and then inject the desired client script
What is your public website URL? (or attach your complete example)
https://www.chegg.com
What is your TestCafe test code?
import { t, Selector } from "testcafe";
const loginUrl = `https://www.chegg.com/auth?action=login`;
const emailForSignIn = Selector('input[id*="email"]');
const passForSignin = Selector('input[type="password"]');
const signInButton = Selector("button").withText("Sign in");
const closeButton = Selector('*[aria-label="Cancel"]');

// user log in/log out methods
async function userLogInWithCredentials(
  email: string,
  password: string
): Promise<void> {
  await t.navigateTo(loginUrl);
  await t
    .typeText(emailForSignIn, email, { paste: true })
    .typeText(passForSignin, password, { paste: true })
    .click(signInButton)
    .wait(6000);
  console.log(`Logged in as user: ${email}`);
}

const mockDate = `
    Date.prototype.getTime = function () {
        return 42;
    };
`;

fixture`Script test`
  .meta({
    fixtureID: "f-0001",
  })
  .beforeEach(async (t) => {
    await userLogInWithCredentials(
<EMAIL_ADDRESS>      "Password@123@123"
    );
  });

// this test hangs after a sign in attempt
test("My test 1", async (t) => {
  console.log(
    "user should be able to log in with the client script attached to test"
  );
  await t.expect(closeButton.visible).ok();
}).clientScripts({ content: mockDate });

// this test doesn't hang after a sign in attempt
test("My test 2", async (t) => {
  console.log(
    "user able to log in as the client script is not attached to test"
  );
  await t.expect(closeButton.visible).ok();
});

Your complete configuration file
module.exports = {
clientScripts: [{ module: "<EMAIL_ADDRESS>}],
skipJsErrors: true
}
Your complete test report
No response
Screenshots
Test hangs if using clientScripts appended to the test or fixture

Test passes if not using clientScripts appended to the test or fixture

Steps to Reproduce
Clone https://github.com/ayemelyanenko-chegg/nextjs-nodejs-example
CD into nextjs-nodejs-example/
cd into my-app
npm install
Run first test with: npx testcafe chrome tests/scriptTest.ts, it hangs
Run second test with: npx testcafe chrome tests/scriptTest.ts, it passes
TestCafe version
2.5.1-rc.1
Node.js version
18.16.0
Command-line arguments
npx testcafe chrome tests/scriptTest.ts
Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
No response

Meanwhile, I managed to reproduce the issue using your test code and project with incorrect credentials. The test hangs even without a correct login/password pair. Thank you for sharing the example.
To the team: if I remove the getDate method overriding, the test works. This means that the problem is not only with client scripts, but also with their content.

Hi @AlexKamaev, about the internal resources, I work for the company (Chegg) and any public person can create an account to access the website. There is no explicit owner of the website so I'm not sure if I can find someone who can provide a written approval? As I am an employee of the company, would my approval be enough? I don't think there is any private company information that is being shared because any person who can create an account will be able to see the same thing that you're seeing after signing up. Or do you mean that you have to take a look at our internal code as part of the fix?
As far as being able to reproduce with incorrect credentials. If there is a need, then I can just change the example test to provide incorrect credentials? Would that be an acceptable solution to help you investigate a fix?

There is no explicit owner of the website so I'm not sure if I can find someone who can provide a written approval? As I am an employee of the company, would my approval be enough?

Yes, since it's difficult to find someone, your approval will be enough.

Or do you mean that you have to take a look at our internal code as part of the fix?

We do not need to look at your internal code.

As far as being able to reproduce with incorrect credentials. If there is a need, then I can just change the example test to provide incorrect credentials? Would that be an acceptable solution to help you investigate a fix?

Yes. Since the issue can be reproduced even without the correct login procedure, we can research the issue without the correct credentials.

@AlexKamaev Thanks. I sent the email with the permission to<EMAIL_ADDRESS>

Hi @ayemelyanenko-chegg,
This issue is not related to TestCafe. If you change the code as follows:
const mockDate = `
    Date.prototype.getTime = function () {
        debugger;
    };
`;

and open DevTools during test execution, you will see that the Google Chrome debugger stops on the debugger statement.
The hang occurred because of the wrong Date mocking. Please debug and fix it.

Hi @miherlosev. Thanks for the reply.
I actually got the script example from TestCafe documentation. Maybe the example needs to be updated?
https://testcafe.io/documentation/402737/reference/test-api/test/clientscripts

The hang occurred because of the wrong Date mocking.
This example is correct. However, it may work incorrectly on a tested website due to its internal logic.

const mockDate = `
Date.prototype.getTime = function () {
return 42;
}
`;

The code above shows that you emulated the 1970, 00:00:42 date on the tested website (see: Date.getTime).
If someone comes across a similar issue, we will consider changing the example.


Socket requests log "undefined"

Sails version: 0.12.4
Node version: v6.3.0
NPM version: 3.10.6
Operating system: Win10

All my socket requests log undefined to console.
My route:
module.exports.routes = {
  '/api/feed/subscribe/': 'FeedController.subscribe'
}

My method:
subscribe: function(req, res) {
    if( ! req.isSocket) {
      return res.badRequest();
    }

		return SocketRoomService.subscribe(req, res, 'feed_' + req.user.id, true);
	}

Interestingly the method is called without problems, joining the room works fine, but this is in my console:

GET /api/feed/subscribe undefined - ms - -

All other (HTTP) routes are logged without problems.

Still haven't found a solution.

Hey @nehalist, just to make sure we're on the same page: are you referring to when you lift with --verbose or --silly?

I've not lifted it with any params, but using --verbose gives
verbose: Receiving incoming message from Socket.io:  { method: 'get',
  headers: {},
  data: {},
  url: '/api/feed/subscribe' }
verbose: Interpreting socket.io message as virtual request to "get /api/feed/subscribe"...
GET /api/feed/subscribe undefined - ms - -

And using `--sily``  gives
verbose: Receiving incoming message from Socket.io:  { method: 'get',
  headers: {},
  data: {},
  url: '/api/feed/subscribe' }
verbose: Interpreting socket.io message as virtual request to "get /api/feed/subscribe"...
silly: Handling virtual request :: Running virtual querystring parser...
silly: Handling virtual request :: Running virtual body parser...
GET /api/feed/subscribe undefined - ms - -

@nehalist Hmm... I'm not sure what SocketRoomService.subscribe does, but it seems like it's doing the logging (either that or it's likely coming from a policy, or the app has some HTTP middleware installed that does logging).  If I'm mistaken, and this is a bug that you can reproduce in a new Sails app, let me know and I'm happy to dive in.  Also, if this is coming from a piece of HTTP middleware that's expecting req to contain something it doesn't, I can look into that further-- I'd just need to know more specifics.
Thanks for the help!

Oh wow, I started this project so long ago that it seems like that I've forgotten about the sails-hook-requestlogger package... Wanted to reproduce the issue and found out that sails isn't logging requests by default...
Guess it's a problem with the package then and I shouldn't care about it too much.
Thanks for your help @mikermcneil


occasionally getting ConnectionResetError while reading large files (100MB+)

Hi you've got great lib (just switched from smart_open for SSE support) so thanks!
at my work we're using S3 as main storage for ETL and using this lib currently for all io (multi million file reads per day).
we're getting the following error rarely (several times a day) almost all of them occurs when reading files larger than 100MB.
the files are gzipped and some are tarred but it seems the only characteristic for this error is file size.
# trimmed stacktrace
File "/MYPROJECT/MY_FUNC.py", line 123, in <genexpr>
rows = (row for row in reader)
File "/XXX/lib/python3.6/csv.py", line 112, in _next_
row = next(self.reader)
File "/XXX/lib/python3.6/tarfile.py", line 706, in readinto
buf = self.read(len(b))
File "/XXX/lib/python3.6/tarfile.py", line 695, in read
b = self.fileobj.read(length)
File "/XXX/lib/python3.6/gzip.py", line 276, in read
return self._buffer.read(size)
File "/XXX/lib/python3.6/_compression.py", line 68, in readinto
data = self.read(len(byte_view))
File "/XXX/lib/python3.6/gzip.py", line 469, in read
buf = self._fp.read(io.DEFAULT_BUFFER_SIZE)
File "/XXX/lib/python3.6/gzip.py", line 91, in read
self.file.read(size-self._length+read)
File "/XXX/lib/python3.6/site-packages/s3fs/core.py", line 1311, in read
self._fetch(self.loc, self.loc + length)
File "/XXX/lib/python3.6/site-packages/s3fs/core.py", line 1292, in _fetch
req_kw=self.s3.req_kw)
File "/XXX/lib/python3.6/site-packages/s3fs/core.py", line 1496, in _fetch_range
return resp['Body'].read()
File "/XXX/lib/python3.6/site-packages/botocore/response.py", line 74, in read
chunk = self._raw_stream.read(amt)
File "/XXX/lib/python3.6/site-packages/botocore/vendored/requests/packages/urllib3/response.py", line 239, in read
data = self._fp.read()
File "/XXX/lib/python3.6/http/client.py", line 462, in read
s = self._safe_read(self.length)
File "/XXX/lib/python3.6/http/client.py", line 612, in _safe_read
chunk = self.fp.read(min(amt, MAXAMOUNT))
File "/XXX/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/XXX/lib/python3.6/ssl.py", line 1009, in recv_into
return self.read(nbytes, buffer)
File "/XXX/lib/python3.6/ssl.py", line 871, in read
return self._sslobj.read(len, buffer)
File "/XXX/lib/python3.6/ssl.py", line 631, in read
v = self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

its tricky to retry a file reading when we read it as stream at our code base currently so we solve this using patching S3_RETRYABLE_ERRORS.
digging a bit inside s3fs sources I found:
core.S3_RETRYABLE_ERRORS = (socket.timeout, )

so now we are patching s3fs dynamically to solve this as follow:
s3fs.core.S3_RETRYABLE_ERRORS = s3fs.core.S3_RETRYABLE_ERRORS + (OSError, )

I am willing to submit a patch to solve this issue at s3fs level - add the relevant exceptions to S3_RETRYABLE_ERRORS or solve this in any other way.
Please LMK if you're interested in fixing this issue.
Thanks!
Shmulik

Certainly, the patch would be acceptable and worthwhile, although it may be better to be specific about the error ConnectionResetError rather than OSError. Is that the only one you see?
I am interested, though, what size is each read call? I wonder if on the server end, paging through the file to find the relevant location makes for a longer responses and, sometimes a timeout or similar.

hey @martindurant thanks for the quick reply!

Certainly, the patch would be acceptable and worthwhile, although it may be better to be specific about the error ConnectionResetError rather than OSError. Is that the only one you see?

great, ill submit a PR soon for fixing this with ConnectionResetError, this is the only error we see but we added the base class OSError but it looks like good idea to add ConnectionError instead of ConnectionResetError, WDYT?

I am interested, though, what size is each read call? I wonder if on the server end, paging through the file to find the relevant location makes for a longer responses and, sometimes a timeout or similar.

I'm not sure but from quick view of some logs seems like it fails even after 1-2 secs of reading the data sequentially from start (not random access style).
Note: the reads that fails randomly are to the same exact file on s3 from the same machine with the same code using s3fs version 0.1.6.

add ConnectionError instead of ConnectionResetError

That's fine with me
I can't explain why you see this so intermittently :| .


PlatformIO Library install is missing PubSubClient library dependency

I have PlatformIO CLI only (no ide, using SublimeText) and installed the Homie library using the following command:  (output below)
platformio lib install 555

That worked, but trying to 'platformio run' after creating a minimal .cpp file (copied below) it would not compile and complained about missing PubSubClient.h (error copied below, too)
I searched PlatformIO's libs and it has PubSubClient available as library 89 named 'PubSubClient'. Once I installed that, the example compiled with no errors.
I'm not sure if PlatformIO doesn't handle chained dependencies or if the AsyncMqttClient [346] isn't setup correctly, but I wasn't able to compile until I executed:
platformio lib install 89

Thanks for the great work! This does just about everything I need so far and a whole lot more!
Compilation error
In file included from .pioenvs/d1_mini/Homie_ID555/Homie.hpp:3:0,
from .pioenvs/d1_mini/Homie_ID555/Homie.h:4,
from src/main.cpp:1:
.pioenvs/d1_mini/Homie_ID555/Homie/MqttClient.hpp:4:26: fatal error: PubSubClient.h: No such file or directory
#include <PubSubClient.h>
^
compilation terminated.

main.cpp:
#include <Homie.h>

void setup() {
  Homie.setup();
}

void loop() {
  Homie.loop();
}

Installation Output:
faraday:platformio-blink javamatte$ platformio lib install 555
Installing library [ 555 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #555 'Homie' has been successfully installed!
Installing dependencies:
Installing library [ 64 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #64 'Json' has been successfully installed!
Installing library [ 346 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #346 'AsyncMqttClient' has been successfully installed!
Installing dependencies:
Installing library [ 305 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #305 'ESPAsyncTCP' has been successfully installed!
Installing library [ 1106 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #1106 'Bounce2' has been successfully installed!

It seeems that the wrong version of library.json is published at platformio!?
The one tagged with v1.5.0 is the correct one.

There is something wrong with PlatformIO. From the docs:

version and repository fields are defined. The repository is hosted on GitHub or Bitbucket.

PlatformIO Library Registry Crawler will lookup for release tag named as value of version or with v prefix (you do not need to pass this v prefix to the version field).

The latest version in the library.json is the 1.5.0, so it should use the library.json from the v1.5.0 tag, which is the latest release. I think what's wrong is that PlatformIO uses the library.json from the latest git commit, not from the release the version field points to.

This might not be a bug from PlatformIO, just something not clarified in the docs. Anyway, it should be fixed in a few days (waiting for the crawler).


Add dark mode to boarding record page

Most of the work that I did was around the toolbar and the few parts of the layout file
As this is my first ticket in this repo, I could be missing something. Please, let me know if that is the case

Wow, @cfsnsalazar this is fantastic! There's only one text element that's not showing up with the right color, and that's the time (right under the date, it's in black so it's very hard to see, I circled it in red):

The map itself is also not in dark mode. There was another map put into dark mode in this pull request, which might help figure out what needs to be changed here: https://github.com/WildAid/o-fish-android/pull/392/files

Good eye!. Just updated that TextView to use the correct color listed in values-night/colors.xml and values/colors.xml

Hi @cfsnsalazar - that changed the time color, thanks! The map is still in light mode though. The pull request at https://github.com/WildAid/o-fish-android/pull/392/files changed the map to dark mode on the "basic information" page when boarding a vessel, so I would expect that something similar needs to be done for the boarding record itself.
Here's what the "Basic Information" page looks like in dark mode - the map is all dark colors:

@Sheeri  any other comments?

Congratulations! 🎉 🙌 🎆 ㊗
This PR is great and has been merged into the code. Thanks so much for contributing! If you'd like, you can request to work on another issue. We really appreciate your effort!

Fixes #376

Hi @cfsnsalazar!
We noticed you haven't claimed your digital MongoDB swag. To claim your O-FISH badge, head on over to the MongoDB Community forums, login, and reply - making sure to link to this PR.


Fog/Poppy Docs

A couple of questions:

I think there's been a slight misunderstanding. The getting started narrative and stub samples already exist at https://github.com/rackerlabs/developer.rackspace.com/tree/dev/src/docs/cdn/getting-started. This PR need only populate the .. code-block:: ruby sections in the *.rst files in the samples folder.

Please re-target this PR to the dev branch.

You're right. I didn't know dev existed. I'll rework.


Support for Btrieve through PHAPI & Real-Mode Memory Addressing

Fixes #58 but Galactic Empire will still have an error on entry of unknown x87 CPU Opcode FDIVP (we can log that as a new issue). This PR will get past the PHAPI/Real-Mode access to Btrieve that Galactic Empire does on startup.
Also allocate memory addresses starting at 0x200 as Real-Mode Addresses. Variables start at 0x100 which gives 16MB of memory space for variables before overlapping into the Real-Mode range.

One thing I want to call out is that I had to make BtrievePointerDictionaryNew static in ExportedModuleBase.cs so both PHAPI and MAJORBBS would be aware of the currently open Btrieve files. I'm not sure if this is the BEST solution... but it works.

Needs merging, but LGTM


Why is pmdarima predict function missing start and end parameters like the underlying statsmodels arima module.

Description

Steps/Code to Reproduce

Expected Results

Actual Results

Versions

This is what I was talking about-->
https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima_model.ARIMA.predict.html#statsmodels.tsa.arima_model.ARIMA.predict
I want to be able to specify an end date upto which the predictions needs to be made, instead of number of periods. Do you plan to include it in future versions?

Short answer: pmdarima is not statsmodels.
Longer answer: predict is pmdarima's forecast equivalent of statsmodels. Specifying a starting point for forecasts doesn't make much sense; if you want a forecast 5 periods in the future, that's easily achievable in the current state. If you want in-sample predictions, that's also achievable. I don't understand what specifying a start/end point is going to get you as far as utility that the package doesn't already address. Therefore, I don't intend to add that functionality.
Do you have a good, specific reason why this is necessary? And if so, can you demonstrate it with a repeatable example?

Thank you for your reply.
Suppose I have an ARIMA model, fit with data till Feb 2018 and I have a requirement to predict monthly data till Dec 2018. In a scenario where I am just provided with the model without prior knowledge of the last index of the fit, meaning, I am not aware of the last month of the model fit, and I want to make forecasts till Dec 2018. I would not be able to estimate the number of periods in this case. Having an end_date as a parameter would be useful here. I hope I was able to explain the case.

I understand that need, but date logic is something that semantically shouldn't have to live within mathematical library, especially with nuances like timezones, daylight savings, etc. Make sense?
Best advice would be to have a utility function that computes the number of periods forward from today that you need to estimate, and just calculate that number of periods forward.
Furthermore, we convert all timeseries arrays to numpy arrays as internal representations (because we use a lot of Cython internally) so any date information in an index would be lost.
Finally, we tend to support the philosophy that a project should address its scope very well rather than trying to solve all possible permutations of a problem. Given this type of issue can be so domain specific, we made an early decision not to deal with dates and to handle everything with slicing. We feel, in the long-term, this gives everyone more flexibility since they can pre- and post-process as needed, and aren't at the mercy of a black box.

Also keep in mind the update function exists to continually maintain your model. Properly maintained, you should always have a good estimate of when the last observed values occurred.

In that case, I'll look at the possibility of saving the last date of the training data as metadata in our system and use that to calculate n_periods while forecasting.
Thanks once again for your time.

Date may not even be part of the metadata. We accept all forms of 1d arrays (tuples, lists, series, anything expressable as 1d). I take the stance that the responsibility of model documentation falls on the developer.
That said, you can access the original endogenous array of a fitted arima:
your_model.arima_res_.model.data.endog
That indirectly solves your problem

yeah.. like you said, model.arima_res_.model.data.endog, does not give the index of the data, which is date, even if I fit the model with a series having date as index.