Update kubelet.md to remove unsupported flags relatd to TLS

From https://github.com/kubernetes/kubernetes/blob/release-1.19/cmd/kubelet/app/options/options.go#L48-L172, on 1.19 branch (which is the oldest release that kubernetes supports); I cannot find the following options for kubelet:
--tls-cert-file string
--tls-cipher-suites strings
--tls-private-key-file string
Are all deprecated and moved to config.
Therefore, Updating the documentation to reflect the removed config.

/sig node

Hi @manugupt1 👋
This HTML is autogenerated based on comments from the upstream code (at least, I think so). Thus, we need to find and fix that.
Can you take a look?
Thanks, Geoffrey

HI @geoffcline
I can see the change but not the deprecation notice. For example,
If you search for string "File containing x509 Certificate used for serving HTTPS " from https://github.com/kubernetes/kubernetes/pull/104316#discussion_r702292543
I cannot find the string in source code (note the deprecation comment)
but I can find the string in config only for the code base.
https://github.com/kubernetes/kubernetes/blob/0b4a793da2a2912393687367e0af2436612a9b8e/cmd/kubelet/app/options/options.go#L437-L440
Probably a sig-node member should have a look at it before merging this PR.

These flags, among many others, are deprecated, but still can be seen from kubelet --help. So this is not a valid fix.
@geoffcline kubelet is a special animal because its migration to configuration file has broken the way command line options are exposed. We are unable to generate reference for kubelet for quite some releases. Manual fixing the reference is the only option we have at hand.
/close


GetClientAccess to support "http://" endpoint and port

Later we might provide the service emulator to improve customer's local debug experience, so it is possible that the endpoint is "http://localhost:", so it looks better that GetClientAccess... can return ws:// when the scheme is http

Fixed in https://github.com/Azure/azure-sdk-for-java/pull/20865/

Csharp one fixed in https://github.com/Azure/azure-sdk-for-net/pull/21180


Cannot edit empty attributes in mod list

If a mod is loaded, and has a blank attribute (eg, description or URL) then this canot be edited as the clickable link is zero length.  There should be a placeholder for the link in this case.

I think this is a duplicate of #19

Quite right, I hadn't spotted that.  I'll close this one.


Transfer Hotspot Txn Simulation Error

A user was transferring a hotspot and they had sufficient funds. The ui prompted them that they had Insufficient funds.
They were still able to submit the txn tho

Were you able to reproduce?


Merge ce to master for final experiments

For final experiments, lets update master to a good stable state

all right


chromium is missing pipewire / #enable-webrtc-pipewire-capturer flag

Project description
This flag is available in most other major distros. It is necessary to enable screen sharing on wayland inside of chromium, combined with xlr-desktop-portal-wlr and pipewire.
It requires the rtc_use_pipewire=true build flag and a dependency on libpipewire02. See https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/chromium as an example.
Metadata

homepage URL: https://github.com/emersion/xdg-desktop-portal-wlr/wiki/Screencast-Compatibility
source URL:
license: mit, bsd, gpl2+ , ...
platforms: unix, linux, darwin, ...

@jsravn that would definitely be nice to have :) I actually also noticed this but unfortunately cannot test this easily as I'm not using screen sharing. If you could contribute a PR that would be awesome (but be aware that Chromium does unfortunately take quite some time to compile). Alternatively (but less preferably) we could make the required changes with the next update and test the core functionality (as always) and you could test screen sharing after the new version is available in the binary caches.
Additionally we would need to package xlr-desktop-portal-wlr in Nixpkgs to make this work on wlroots based compositors. On Gnome/KDE this might work out-of-the-box, but I don't know what they currently implement/provide.

@primeos https://github.com/NixOS/nixpkgs/pull/83485#event-3411162020 was just merged w/ xlr-desktop-portal-wlr. I'll try building it w/ the flag - as you say it takes a while, so I can leave it overnight and give it a shot.

@jsravn how does the situation look like with google-chrome-*? Is the flag available there, as in, screensharing with wayland already works there?

@flokli yes, it's available in google-chrome.

I'm still trying to get it to work with xlr-desktop-portal-wlr - I've done this in the past, but it's not working out of the box yet with https://github.com/NixOS/nixpkgs/pull/83485.

And just to make sure, you also did set
xdg.portal = {
  enable = true;
  extraPortals = with pkgs; [ xdg-desktop-portal-wlr ];
  gtkUsePortal = true;
};

services.pipewire.enable = true;

as described there?

@floki yes I did. I'm almost got it working I think. There are a few issues out of the box:

google-chrome is missing the pipewire 0.2 runtime dependency, so I added it as (I'm on 20.03 so pkgs.pipewire is 0.2):

      (google-chrome.overrideAttrs (oldAttrs: rec {
        rpath = makeLibraryPath [ pkgs.pipewire ] + ":" + oldAttrs.rpath;
      }))

unstable.pipewire service doesn't work - it doesn't seem to be setting up the path correctly. I'm trying to fix this now:

Jun 06 08:59:22 thor systemd[1215]: Started Multimedia Service.
Jun 06 08:59:22 thor pipewire[5052]: [E][000000100.218511][daemon-config.c:202 pw_daemon_config_run_commands()] could not run command exec: 'pipewire-media-session': No such file or directory
Jun 06 08:59:22 thor pipewire[5052]: [E][000000100.218527][main.c:123 main()] failed to run config commands: No such file or directory
Jun 06 08:59:22 thor pipewire[5052]: [W][000000100.218565][connection.c:313 prepare_packet()] old version detected
Jun 06 08:59:22 thor systemd[1215]: pipewire.service: Succeeded.

 systemctl --user cat pipewire.service
# /nix/store/6lmfx1qnx6675xnppfjzlnsippxhnif1-pipewire-0.3.5/lib/systemd/user/pipewire.service
[Unit]
Description=Multimedia Service

# We require pipewire.socket to be active before starting the daemon, because
# while it is possible to use the service without the socket, it is not clear
# why it would be desirable.
#
# A user installing pipewire and doing `systemctl --user start pipewire`
# will not get the socket started, which might be confusing and problematic if
# the server is to be restarted later on, as the client autospawn feature
# might kick in. Also, a start of the socket unit will fail, adding to the
# confusion.
#
# After=pipewire.socket is not needed, as it is already implicit in the
# socket-service relationship, see systemd.socket(5).
Requires=pipewire.socket

[Service]
Type=simple
ExecStart=/nix/store/6lmfx1qnx6675xnppfjzlnsippxhnif1-pipewire-0.3.5/bin/pipewire
Restart=on-failure

[Install]
Also=pipewire.socket
WantedBy=default.target

# ls /nix/store/6lmfx1qnx6675xnppfjzlnsippxhnif1-pipewire-0.3.5/bin
pipewire                pw-cat  pw-dot   pw-metadata  pw-midiplay    pw-mon   pw-profiler  pw-record    spa-monitor
pipewire-media-session  pw-cli  pw-jack  pw-mididump  pw-midirecord  pw-play  pw-pulse     spa-inspect

yeah, I'm currently already looking at it - pipewire wants to execute pipewire-media-session, but it's not in $PATH. We can patch /src/daemon/pipewire.conf.in to contain the absolute path. I'll check if it works and will get back to you.

Btw, we /really/ need a sway NixOS test, and better documentation on how to use sway.
I was trying stuff until it worked, and
      programs.sway.enable = true;

      services.xserver.enable = true;
      services.xserver.displayManager.sddm = {
        enable = true;
        autoLogin = {
          enable = true;
          user = "alice";
        };
      };
      services.xserver.displayManager.defaultSession = "sway";

does autologin me into a sway, but there might be a smarter way to do this, without also starting X.

The sway recommendation is to just run sway from the terminal after login - that's how I do it at least.
I was able to workaround the environment issue by doing systemctl --user import-environment (but this is a kludge I think and shouldn't be necessary). But unfortunately it's now crashing and I'm not sure why:
Jun 06 09:25:15 thor systemd[1210]: Started Multimedia Service.
Jun 06 09:25:15 thor pipewire[4626]: [W][000000037.737658][connection.c:313 prepare_packet()] old version detected
Jun 06 09:25:15 thor pipewire[4626]: [W][000000037.737711][connection.c:313 prepare_packet()] old version detected
Jun 06 09:25:15 thor pipewire[4626]: [W][000000037.737959][connection.c:313 prepare_packet()] old version detected
Jun 06 09:25:15 thor pipewire[4626]: [W][000000037.738191][connection.c:313 prepare_packet()] old version detected
Jun 06 09:25:16 thor pipewire[4626]: [W][000000037.960958][module-protocol-native.c:964 on_before_hook()] client 0x223aee0: could not flush: Broken pipe
Jun 06 09:25:16 thor systemd-coredump[4634]: Process 4603 (.xdg-desktop-po) of user 1000 dumped core.
Jun 06 09:25:16 thor pipewire[4626]: [E][000000038.089767][bluez5-dbus.c:2003 get_managed_objects_reply()] GetManagedObjects() failed: org.freedesktop.DBus.Error.ServiceUnknown

Yeah, even my sddm config I also had to systemctl --user import-environment, otherwise pipewire complained about not being able to reach dbus:
machine # [   48.071876] pipewire[1344]: [E][000000047.980234][dbus.c:319 impl_get_connection()] Failed to connect to system bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

I patched pipewire to be able to find the path to pipewire-media-session, and that error message is gone. Now (apart from not being able to find bluez or rtkit) it /might/ only be some version incompatibilities, not sure:
machine # [  445.022968] pipewire[2890]: [W][000000444.931311][connection.c:313 prepare_packet()] old version detected
machine # [  445.033512] pipewire[2890]: [W][000000444.942225][connection.c:313 prepare_packet()] old version detected

I'll see if I can get as far with your chromium PR, will merge that then, and also submit the pipewire patch.

Okay, with the pipewire patch and google-chrome-beta, It seems I'm able to share at least my own application window. I don't know yet why the alacritty window nearby isn't shown, and why  "Entire Screen" is black, but that's probably due to me running sway inside X via ssdm.

pipewire PRs:

https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/263
https://github.com/NixOS/nixpkgs/pull/89611

@flokli I don't think you're using pipewire in that case. xdg-desktop-portal-wlr only supports full screen sharing atm. If it is black that means it's not working.
By the way I had to add pipewire_0_2 to my system packages to prevent xdg-desktop-portal from crashing. But now there seems to be some incompatibility in the pipewire service logs when chrome tries to connect:
Jun 06 09:59:36 thor pipewire[4493]: [E][000000137.346191][context.c:600 pw_context_debug_port_params()] params Spa:Enum:ParamId:EnumFormat: 0:0 (input format) Invalid argument

@jsravn you should be able to cherry-pick the pipewire patch from above to not have to manually add this to $PATH.

Thanks!
I'm suspecting google-chrome is compiled with a too old version of pipewire. Enabling pipewire debug logs, it seems to be sending an incompatible format to the pipewire server (similar to https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/240). I have got this working with chromium compiled against pipewire 0.2.7 in the past, so I'm pretty sure it should work assuming the client library is recent enough. Once the chromium package has that flag enabled I'll try to retest.

I just confirmed my last comment. The chromium package w/ rtc_use_pipewire works perfectly for fullscreen sharing.

Hmm take that back - it worked the first time but not anymore :/. Not sure what lib is missing where.

Seems like xdg-desktop-portal is crashing:
Using host libthread_db library "/nix/store/9hy6c2hv8lcwc6clnc1p2jf09cs5q9dp-glibc-2.30/lib/libthread_db.so.1".
Core was generated by `/nix/store/8j915pk5hi81h1a8xs60iv0hpircwslf-xdg-desktop-portal-1.6.0/libexec/xd'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000042322d in append_parent_permissions.isra.0.constprop ()
[Current thread is 1 (Thread 0x7f30a8999700 (LWP 5057))]
(gdb) btg
Undefined command: "btg".  Try "help".
(gdb) bt
#0  0x000000000042322d in append_parent_permissions.isra.0.constprop ()
#1  0x00000000004246db in handle_open_pipewire_remote ()
#2  0x00007f30b9947abd in ffi_call_unix64 () from /nix/store/qnk89y1996sbj1bhsxcia57x0iqwhgiq-libffi-3.3/lib/../lib64/libffi.so.7
#3  0x00007f30b994679c in ffi_call_int () from /nix/store/qnk89y1996sbj1bhsxcia57x0iqwhgiq-libffi-3.3/lib/../lib64/libffi.so.7
#4  0x00007f30b9e8e6ec in g_cclosure_marshal_generic () from /nix/store/k7q9yy1fk12hwfp4ziv914b45h84q99q-glib-2.64.1/lib/libgobject-2.0.so.0
#5  0x00007f30b9e8dec2 in g_closure_invoke () from /nix/store/k7q9yy1fk12hwfp4ziv914b45h84q99q-glib-2.64.1/lib/libgobject-2.0.so.0
#6  0x00007f30b9ea053e in signal_emit_unlocked_R () from /nix/store/k7q9yy1fk12hwfp4ziv914b45h84q99q-glib-2.64.1/lib/libgobject-2.0.so.0
#7  0x00007f30b9eab358 in g_signal_emitv () from /nix/store/k7q9yy1fk12hwfp4ziv914b45h84q99q-glib-2.64.1/lib/libgobject-2.0.so.0
#8  0x0000000000453cec in _xdp_screen_cast_skeleton_handle_method_call ()

This might be yet another version incompatibility problem. I propose merging https://github.com/NixOS/nixpkgs/pull/89565 (as it's built with 0.2 everywhere else too), and then see if we can get it to work if the system pipewire also is 0.2.
I asked upstream about these problems in https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/240#note_524378 - maybe 0.3 needs to support 0.2 clients for some time until we should switch.

Heads-up: the bad client situation should have been fixed with the latest pipewire release, PR at https://github.com/NixOS/nixpkgs/pull/90039.

Thanks for your help! I'm still getting the xdg-desktop-portal crash, however. I'm guessing there is something missing from my dbus environment - or perhaps it's trying to access a file/directory not available in nixos.

@jsravn could you open a new issue with some more details, like logs etc.?

Okay, I made https://github.com/NixOS/nixpkgs/issues/91218.


Changes requested to reflect issues #46 and #7

Great work; a couple of small issues that I've made comments for in the line notes.  With those addressed we can put this into upstream/40.
In the future though let's try to keep most work branched off master so we don't have too many active development branches going; it'll keep merging simpler when done.

Upstream in 5b45fcfd16da1bfdd0e3959097b030dca980b54b


Vim/IntelliJ allowed for Finals?

Does anybody know if we are allowed to use IntelliJ or Vim for the finals?
Also, are we allowed to access Java API as per the PAs?

I'm not 100% sure about the use of vim (I assume it should be fine), but I know that we use the internet to access Java APIs according to my friend's TA (and nothing else outside of the APIs)

You can use any software to write answers according to my lab TA

Apparently yes, quoting comment here
https://github.com/nus-cs2030/2122-s1/issues/280#issuecomment-974617187


Add UniCase support to phf_macros and bump unicase version

This is actually my first time doing anything compiler/plugin related so this may be pretty bad...
Any pointers to improvements are highly welcome.
I'm not sure if there's a better solution regarding the naming of the feature (related: https://github.com/rust-lang/cargo/issues/1286 by you :smile:)

The approximate matching on the macro side is a bit unfortunate, but I can't think of a better way either. Seems reasonable to me!

Can you add a compile-fail test to make sure equivalent keys (e.g. UniCase("foo") and UniCase("FOO")) are prohibited?

Using compiletest-rs?

Yep! I thought we already had some but I guess not. You can look here for example usage: https://github.com/sfackler/rust-postgres-derive/tree/master/postgres-derive-macros/tests

Not sure if there's another way to run certain compiletests only when a feature is activated.

I don't see any reason to flag the compiletests off - let's just always have them active.

I did that so running plain cargo test wouldn't result in:
error: tests/compile-fail-unicase/equivalent-keys.rs:8: unexpected "error": '8:5: 8:19: expected a literal (or a UniCase if the unicase_support feature is enabled)'
error: tests/compile-fail-unicase/equivalent-keys.rs:9: unexpected "error": '9:5: 9:19: expected a literal (or a UniCase if the unicase_support feature is enabled)'
error: tests/compile-fail-unicase/equivalent-keys.rs:7: expected error not found: duplicate key UniCase("FOO")
error: tests/compile-fail-unicase/equivalent-keys.rs:8: expected note not found: one occurrence here
error: tests/compile-fail-unicase/equivalent-keys.rs:9: expected note not found: one occurrence here

Ah, duh, right

Thanks!


Concatenating selector name with nesting seems no longer working

i think this was possible until updating to postcss 6 & cssnext 3. but it doesnt get transpiled properly anymore. is this known issue?
.another_class {
  color: green;

  &_emphasized {
    color: red;
    font-weight: bolder;
  }
}

/* .after transpiled to css (with postcss 5.x & cssnext 2.x) */

.another_class {
  color: green;
}

.another_class_emphasized {
  color: red;
  font-weight: bolder;
}

any helps would be appreciated. thanks.

It was a bug. It's not allowed per spec. See precss for this kind of thing.


Schema v2 arrow

Implements much of the parquet->arrow conversion logic using the pqarrow converters that we have today. This allows us to write nested schemas into the database, and query them back out. Most of the query logic is untested as of yet so there's still a lot to do there, but reading the data back out as-is works.
Of note:

I removed the list builder since it did not work and the unit test that was using it wasn't checking the validity correctly.
maps are still not fully supported yet
lists of structs aren't supported yet

Nice work! Could you run some benchmarks to get an idea of the perf difference between legacy and v2 conversions?

name               old time/op  new time/op  delta
ParquetToArrow-10  42.6µs ± 1%  79.8µs ± 2%  +87.44%  (p=0.000 n=89+91)

But we aren't using optimized builders for lists so it's probably not the best comparison right now.

Looking good. I think it would be good to get a review from either @brancz or @metalmatze as well.

Gave it a good look. Nothing major to comment on right now.

So I realized that the parquet converter doesn't work correctly when there's multiple rows in a row group. Since we assume a flat schema the converter was writing each column directly to the arrow columns, but with nested schemas we can't do that. I added a new ConvertByRow function to use the rowgroup row reader to convert row by row and that worked correctly but slowed down the conversions by a lot.
name               old time/op  new time/op   delta
ParquetToArrow-10  42.6µs ± 1%  273.8µs ± 1%  +542.87%  (p=0.000 n=89+96)


Ending and Credits

Make and Ending with Credits

Resolved with the following commit: https://github.com/BraisGlezArias/TheHeroNeverDies/commit/df3b03cff0378426f9c7b9d0b567d4ba820e5a70


GPU not found on WSL

Getting the following output when trying to run on WSL. I've followed all of the steps that should make it work, pytorch seems to think there is GPU support? Not sure if this is a bogus error or not.
(.venv) wolfgang@DESKTOP-4RO0FD7:~/code$ python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.device_count()
1
>>> exit()
(.venv) wolfgang@DESKTOP-4RO0FD7:~/code$ cd dalle-playground/backend/
(.venv) wolfgang@DESKTOP-4RO0FD7:~/code/dalle-playground/backend$ python app.py --port 8080 --model_version mega_full
--> Starting DALL-E Server. This might take up to two minutes.
WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)

Also can't seem to connect to the port, even from within WSL.

Seems related to https://github.com/google/jax/issues/5231

Finally managed to get it to work. Needed to do the following:
Install cuda: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
Install cuDNN: https://developer.nvidia.com/rdp/cudnn-download
This threw me for a bit. It drops a bunch of .deb files in /var/cudnn-local-repo-ubuntu2004-<IP_ADDRESS>. I needed to install a .deb from that folder.
Then I followed installation instructions for jax here: https://github.com/google/jax#installation

Did you get any GPU usage when running? I had the same issue, was able to fix it (error went away, both jax and pytorch identified my GPU and said it was available) but when running the model there was no GPU usage, CPU usage maxed out on a single core and it took as long as before

Well I think I can conclude that my GPU usage (at least in task manager) is a bit scuffed, since playing RDR2 doesn't show any considerable increase in usage


Headers added in envoy.ext_authz http_filter are not used for route matching

Description:

I would like to use the envoy.ext_authz filter to evaluate the contents of a header coming from the downstream client, convert it to a new value, add a new header onto the request such that it will be sent upstream, but also such that it will be used for route matching.
First, I want to confirm this is supported?
What I am seeing is that the header is added and sent upstream, I can see the header arriving at my backend destination, but the header doesn't appear to be used when performing route matching.

Dockerfile:
FROM envoyproxy/envoy-dev:latest
COPY envoy.yaml /etc/envoy/envoy.yaml
CMD /usr/local/bin/envoy -c /etc/envoy/envoy.yaml -l debug --component-log-level "router:trace"

Run command:
exec docker run \
    --rm \
    --name envoy \
    -p 9901:9901 \
    -p 10001:10001 \
    --add-host satellite-local:<IP_ADDRESS> \
    --add-host auth-local:<IP_ADDRESS> \
    ${IMAGE}:${IMAGE_VERSION} >> ${LOG_DIR}/envoy.log 2>&1

Config:
static_resources:
  listeners:
    - address:
        socket_address:
          address: <IP_ADDRESS>
          port_value: 10001
      filter_chains:
        - filters:
            - name: envoy.http_connection_manager
              config:
                codec_type: auto
                stat_prefix: ingress_http
                access_log:
                  name: envoy.file_access_log
                  config:
                    path: /dev/stdout
                http_filters:
                - name: envoy.ext_authz
                  config:
                    http_service:
                      server_uri:
                        uri: auth:8080
                        cluster: http-auth
                        timeout: 1s
                      authorization_request:
                        allowed_headers:
                          patterns:
                          - exact: "Access_token"
                      authorization_response:
                        allowed_upstream_headers:
                          patterns:
                          - exact: "Project_id"
                        allowed_client_headers:
                          patterns:
                          - exact: "Project_id"
                - name: envoy.router
                  typed_config: {}
                route_config:
                  name: satellite_route
                  virtual_hosts:
                    - name: service
                      domains:
                        - "*"
                      routes:
                        - match:
                            prefix: "/"
                            headers:
                              name: "Project_id"
                              present_match: true
                          route:
                            cluster: satellite_with_project_id
                        - match:
                            prefix: "/"
                          route:
                            cluster: satellite
  clusters:
    - name: http-auth
      connect_timeout: 0.25s
      type: strict_dns
      lb_policy: round_robin
      hosts:
        - socket_address:
            address: auth-local
            port_value: 8080
    - name: satellite_with_project_id
      connect_timeout: 1s
      type: strict_dns
      lb_policy: round_robin
      http2_protocol_options: {} # enable H2 protocol
      hosts:
        - socket_address:
            address: satellite-local
            port_value: 9998
    - name: satellite
      connect_timeout: 1s
      type: strict_dns
      lb_policy: round_robin
      http2_protocol_options: {} # enable H2 protocol
      hosts:
        - socket_address:
            address: satellite-local
            port_value: 9998
admin:
  access_log_path: "/dev/stdout"
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 9901

Logs:
The problematic part of these logs is cluster 'satellite' match for URL '/api/v2/reports' I would have expected cluster 'satellite_with_project_id' to have matched since the authz filter is clearly adding the Project_id header.
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:205] initializing epoch 0 (hot restart version=10.200.16384.127.options=capacity=16384, num_slots=8209 hash=228984379728933363 size=2654312)
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:207] statically linked extensions:
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:209]   access_loggers: envoy.file_access_log,envoy.http_grpc_access_log
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:212]   filters.http: envoy.buffer,envoy.cors,envoy.ext_authz,envoy.fault,envoy.filters.http.grpc_http1_reverse_bridge,envoy.filters.http.header_to_metadata,envoy.filters.http.jwt_authn,envoy.filters.http.rbac,envoy.filters.http.tap,envoy.grpc_http1_bridge,envoy.grpc_json_transcoder,envoy.grpc_web,envoy.gzip,envoy.health_check,envoy.http_dynamo_filter,envoy.ip_tagging,envoy.lua,envoy.rate_limit,envoy.router,envoy.squash
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:215]   filters.listener: envoy.listener.original_dst,envoy.listener.original_src,envoy.listener.proxy_protocol,envoy.listener.tls_inspector
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:218]   filters.network: envoy.client_ssl_auth,envoy.echo,envoy.ext_authz,envoy.filters.network.dubbo_proxy,envoy.filters.network.mysql_proxy,envoy.filters.network.rbac,envoy.filters.network.sni_cluster,envoy.filters.network.thrift_proxy,envoy.filters.network.zookeeper_proxy,envoy.http_connection_manager,envoy.mongo_proxy,envoy.ratelimit,envoy.redis_proxy,envoy.tcp_proxy
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:220]   stat_sinks: envoy.dog_statsd,envoy.metrics_service,envoy.stat_sinks.hystrix,envoy.statsd
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:222]   tracers: envoy.dynamic.ot,envoy.lightstep,envoy.tracers.datadog,envoy.zipkin
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:225]   transport_sockets.downstream: envoy.transport_sockets.alts,envoy.transport_sockets.tap,raw_buffer,tls
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:228]   transport_sockets.upstream: envoy.transport_sockets.alts,envoy.transport_sockets.tap,raw_buffer,tls
[2019-04-04 16:10:13.713][6][info][main] [source/server/server.cc:234] buffer implementation: old (libevent)
[2019-04-04 16:10:13.718][6][warning][misc] [source/common/protobuf/utility.cc:173] Using deprecated option 'envoy.api.v2.Cluster.hosts' from file cds.proto. This configuration will be removed from Envoy soon. Please see https://github.com/envoyproxy/envoy/blob/master/DEPRECATED.md for details.
[2019-04-04 16:10:13.718][6][warning][misc] [source/common/protobuf/utility.cc:173] Using deprecated option 'envoy.api.v2.Cluster.hosts' from file cds.proto. This configuration will be removed from Envoy soon. Please see https://github.com/envoyproxy/envoy/blob/master/DEPRECATED.md for details.
[2019-04-04 16:10:13.718][6][warning][misc] [source/common/protobuf/utility.cc:173] Using deprecated option 'envoy.api.v2.Cluster.hosts' from file cds.proto. This configuration will be removed from Envoy soon. Please see https://github.com/envoyproxy/envoy/blob/master/DEPRECATED.md for details.
[2019-04-04 16:10:13.719][6][info][main] [source/server/server.cc:281] admin address: <IP_ADDRESS>:9901
...
[2019-04-04 16:10:13.720][6][info][config] [source/server/configuration_impl.cc:56] loading 3 cluster(s)
[2019-04-04 16:10:13.721][10][debug][grpc] [source/common/grpc/google_async_client_impl.cc:41] completionThread running
[2019-04-04 16:10:13.722][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:817] adding TLS initial cluster http-auth
[2019-04-04 16:10:13.722][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:817] adding TLS initial cluster satellite
[2019-04-04 16:10:13.722][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:817] adding TLS initial cluster satellite_with_project_id
[2019-04-04 16:10:13.722][6][debug][upstream] [source/common/network/dns_impl.cc:158] Setting DNS resolution timer for 5000 milliseconds
[2019-04-04 16:10:13.723][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:64] cm init: adding: cluster=http-auth primary=1 secondary=0
[2019-04-04 16:10:13.723][6][debug][upstream] [source/common/network/dns_impl.cc:158] Setting DNS resolution timer for 5000 milliseconds
[2019-04-04 16:10:13.723][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:64] cm init: adding: cluster=satellite primary=2 secondary=0
[2019-04-04 16:10:13.723][6][debug][upstream] [source/common/network/dns_impl.cc:158] Setting DNS resolution timer for 5000 milliseconds
[2019-04-04 16:10:13.723][6][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:64] cm init: adding: cluster=satellite_with_project_id primary=3 secondary=0
[2019-04-04 16:10:13.723][6][info][config] [source/server/configuration_impl.cc:60] loading 1 listener(s)
[2019-04-04 16:10:13.723][6][debug][config] [source/server/configuration_impl.cc:62] listener #0:
[2019-04-04 16:10:13.723][6][debug][config] [source/server/listener_manager_impl.cc:735] begin add/update listener: name=4eb7a364-ebbe-4911-97a5-c51ae38a1953 hash=14728187023270938859
[2019-04-04 16:10:13.723][6][debug][config] [source/server/listener_manager_impl.cc:55]   filter #0:
[2019-04-04 16:10:13.723][6][debug][config] [source/server/listener_manager_impl.cc:56]     name: envoy.http_connection_manager
[2019-04-04 16:10:13.723][6][debug][config] [source/server/listener_manager_impl.cc:59]   config: {"route_config":{"virtual_hosts":[{"name":"service","routes":[{"route":{"cluster":"satellite_with_project_id"},"match":{"headers":{"present_match":true,"name":"Project_id"},"prefix":"/"}},{"route":{"cluster":"satellite"},"match":{"prefix":"/"}}],"domains":["*"]}],"name":"satellite_route"},"stat_prefix":"ingress_http","codec_type":"auto","http_filters":[{"config":{"http_service":{"authorization_request":{"allowed_headers":{"patterns":[{"exact":"Access_token"}]}},"server_uri":{"cluster":"http-auth","uri":"auth:8080","timeout":"1s"},"authorization_response":{"allowed_upstream_headers":{"patterns":[{"exact":"Project_id"}]},"allowed_client_headers":{"patterns":[{"exact":"Project_id"}]}}}},"name":"envoy.ext_authz"},{"typed_config":{},"name":"envoy.router"}],"access_log":{"config":{"path":"/dev/stdout"},"name":"envoy.file_access_log"}}
[2019-04-04 16:10:13.725][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:295]     http filter #0
[2019-04-04 16:10:13.725][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:296]       name: envoy.ext_authz
[2019-04-04 16:10:13.725][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:300]     config: {"http_service":{"server_uri":{"cluster":"http-auth","uri":"auth:8080","timeout":"1s"},"authorization_response":{"allowed_client_headers":{"patterns":[{"exact":"Project_id"}]},"allowed_upstream_headers":{"patterns":[{"exact":"Project_id"}]}},"authorization_request":{"allowed_headers":{"patterns":[{"exact":"Access_token"}]}}}}
[2019-04-04 16:10:13.726][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:295]     http filter #1
[2019-04-04 16:10:13.726][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:296]       name: envoy.router
[2019-04-04 16:10:13.726][6][debug][config] [source/extensions/filters/network/http_connection_manager/config.cc:300]     config: {}
[2019-04-04 16:10:13.726][6][debug][config] [source/server/listener_manager_impl.cc:627] add active listener: name=4eb7a364-ebbe-4911-97a5-c51ae38a1953, hash=14728187023270938859, address=<IP_ADDRESS>:10001
...
[2019-04-04 16:10:41.015][18][debug][main] [source/server/connection_handler_impl.cc:257] [C0] new connection
[2019-04-04 16:10:41.024][18][debug][http] [source/common/http/conn_manager_impl.cc:241] [C0] new stream
[2019-04-04 16:10:41.025][18][debug][http] [source/common/http/conn_manager_impl.cc:578] [C0][S13411683894635860904] request headers complete (end_stream=false):
':authority', 'localhost:10001'
':path', '/api/v2/reports'
':method', 'POST'
'access_token', 'XXX'
'content-type', 'application/octet-stream'
'content-length', '253'
'connection', 'Keep-Alive'
'accept-encoding', 'gzip'
'user-agent', 'okhttp/3.10.0'

[2019-04-04 16:10:41.025][18][debug][router] [source/common/router/router.cc:320] [C0][S10095158108803346395] cluster 'http-auth' match for URL '/api/v2/reports'
[2019-04-04 16:10:41.025][18][debug][router] [source/common/router/router.cc:381] [C0][S10095158108803346395] router decoding headers:
':method', 'POST'
':path', '/api/v2/reports'
':authority', 'localhost:10001'
':scheme', 'http'
'content-length', '0'
'access_token', 'XXX'
'x-envoy-internal', 'true'
'x-forwarded-for', '<IP_ADDRESS>'
'x-envoy-expected-rq-timeout-ms', '1000'

[2019-04-04 16:10:41.025][18][debug][pool] [source/common/http/http1/conn_pool.cc:88] creating a new connection
[2019-04-04 16:10:41.025][18][debug][client] [source/common/http/codec_client.cc:26] [C1] connecting
[2019-04-04 16:10:41.025][18][debug][connection] [source/common/network/connection_impl.cc:644] [C1] connecting to <IP_ADDRESS>:8080
[2019-04-04 16:10:41.025][18][debug][connection] [source/common/network/connection_impl.cc:653] [C1] connection in progress
[2019-04-04 16:10:41.025][18][debug][pool] [source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-04-04 16:10:41.025][18][debug][http] [source/common/http/conn_manager_impl.cc:1027] [C0][S13411683894635860904] request end stream
[2019-04-04 16:10:41.026][18][debug][connection] [source/common/network/connection_impl.cc:517] [C1] connected
[2019-04-04 16:10:41.026][18][debug][client] [source/common/http/codec_client.cc:64] [C1] connected
[2019-04-04 16:10:41.026][18][debug][pool] [source/common/http/http1/conn_pool.cc:245] [C1] attaching to next request
[2019-04-04 16:10:41.026][18][debug][router] [source/common/router/router.cc:1165] [C0][S10095158108803346395] pool ready
[2019-04-04 16:10:41.029][18][debug][client] [source/common/http/codec_client.cc:95] [C1] response complete
[2019-04-04 16:10:41.030][18][debug][router] [source/common/router/router.cc:717] [C0][S10095158108803346395] upstream headers complete: end_stream=true
[2019-04-04 16:10:41.030][18][debug][http] [source/common/http/async_client_impl.cc:94] async http request response headers (end_stream=true):
':status', '200'
'project_id', '6664'
'date', 'Thu, 04 Apr 2019 16:10:40 GMT'
'content-length', '0'
'x-envoy-upstream-service-time', '4'

[2019-04-04 16:10:41.030][18][debug][filter] [source/extensions/filters/http/ext_authz/ext_authz.cc:147] [C0][S13411683894635860904] ext_authz accepted the request
[2019-04-04 16:10:41.030][18][debug][router] [source/common/router/router.cc:320] [C0][S13411683894635860904] cluster 'satellite' match for URL '/api/v2/reports'
[2019-04-04 16:10:41.030][18][debug][router] [source/common/router/router.cc:381] [C0][S13411683894635860904] router decoding headers:
':authority', 'localhost:10001'
':path', '/api/v2/reports'
':method', 'POST'
':scheme', 'http'
'access_token', 'XXX'
'content-type', 'application/octet-stream'
'content-length', '253'
'accept-encoding', 'gzip'
'user-agent', 'okhttp/3.10.0'
'x-forwarded-proto', 'http'
'x-request-id', '4d864e00-8694-4b60-ba34-384b29a95d8b'
'project_id', '6664'
'x-envoy-expected-rq-timeout-ms', '15000'

[2019-04-04 16:10:41.030][18][debug][client] [source/common/http/codec_client.cc:26] [C2] connecting
[2019-04-04 16:10:41.030][18][debug][connection] [source/common/network/connection_impl.cc:644] [C2] connecting to <IP_ADDRESS>:9998
[2019-04-04 16:10:41.030][18][debug][connection] [source/common/network/connection_impl.cc:653] [C2] connection in progress
[2019-04-04 16:10:41.030][18][debug][http2] [source/common/http/http2/codec_impl.cc:735] [C2] setting stream-level initial window size to 268435456
[2019-04-04 16:10:41.030][18][debug][http2] [source/common/http/http2/codec_impl.cc:757] [C2] updating connection-level initial window size to 268435456
[2019-04-04 16:10:41.030][18][debug][pool] [source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-04-04 16:10:41.030][18][trace][router] [source/common/router/router.cc:1058] [C0][S13411683894635860904] buffering 253 bytes
[2019-04-04 16:10:41.030][18][debug][pool] [source/common/http/http1/conn_pool.cc:202] [C1] response complete
[2019-04-04 16:10:41.030][18][debug][pool] [source/common/http/http1/conn_pool.cc:240] [C1] moving to ready
[2019-04-04 16:10:41.031][18][debug][connection] [source/common/network/connection_impl.cc:517] [C2] connected
[2019-04-04 16:10:41.031][18][debug][client] [source/common/http/codec_client.cc:64] [C2] connected
[2019-04-04 16:10:41.031][18][debug][pool] [source/common/http/http2/conn_pool.cc:96] [C2] creating stream
[2019-04-04 16:10:41.031][18][debug][router] [source/common/router/router.cc:1165] [C0][S13411683894635860904] pool ready
[2019-04-04 16:10:41.039][18][debug][router] [source/common/router/router.cc:717] [C0][S13411683894635860904] upstream headers complete: end_stream=false
[2019-04-04 16:10:41.040][18][debug][http] [source/common/http/conn_manager_impl.cc:1268] [C0][S13411683894635860904] encoding headers via codec (end_stream=false):
':status', '200'
'access-control-allow-credentials', 'true'
'access-control-allow-headers', 'LightStep-Access-Token, Content-Type'
'access-control-allow-methods', 'POST'
'access-control-allow-origin', '*'
'content-type', 'application/octet-stream'
'content-length', '27'
'date', 'Thu, 04 Apr 2019 16:10:40 GMT'
'x-envoy-upstream-service-time', '9'
'server', 'envoy'

[2019-04-04 16:10:41.040][18][debug][client] [source/common/http/codec_client.cc:95] [C2] response complete
[2019-04-04 16:10:41.040][18][debug][pool] [source/common/http/http2/conn_pool.cc:237] [C2] destroying stream: 0 remaining
[2019-04-04 16:10:41.040][18][debug][http2] [source/common/http/http2/codec_impl.cc:577] [C2] stream closed: 0
[2019-04-04T16:10:41.024Z] "POST /api/v2/reports HTTP/1.1" 200 - 253 27 16 9 "-" "okhttp/3.10.0" "4d864e00-8694-4b60-ba34-384b29a95d8b" "localhost:10001" "<IP_ADDRESS>:9998"
...

Admin and Stats Output:
stats.txt
server_info.txt
routes.txt

@gsagula

@frenchfrywpepper You want to use headers coming from the external authorization service to perform route matching. Is that right? If yes, I believe that I already have a fix for that.

@gsagula Yes, that is exactly what we would like to be able to do. Is there a PR we can follow?

Not yet, I will open one and reference it to this issue.

/assign


Missing level (muti adjust) of current working/ learning/playing and schedules

Hey there!
When using the "Muti adjust" and start the working/ learning/playing or schedules process, you can not tell what level (muti adjust) is currently used.
This would be a good thing to know!
(By the way is "Muti adjust" the correct spelling?)

Full name is Multiplication adjustment
Used to double the work of the game and improve efficiency
The doubling equation is (level+10)*doube_value
so you can see the first double is from 0 to (0+10)*2=30. This is normal

That magnification only takes effect when it starts working, and it cannot be adjusted in real time during work.
I didn't add the magnification to the work timer box because I didn't think it was a crucial parameter that needed to be displayed immediately


How can I handle handle call is accepted or not in IOS?

I need to handle either call is accepted or not . In Android it has the accepted param which shows it is accepted or not but in IOS there is no param like that and i am unable to handle that if anyone help me it will be good for me.

please using 2.0.1 and check example https://github.com/hiennguyen92/flutter_callkit_incoming/blob/master/example/ios/Runner/AppDelegate.swift

@hiennguyen92 i think this code will be used if i am using pushkit service But i am working with FCM


Login

Hi I need login help!
I was able to download install all the dependencies and launch it on my local machine but I am getting this error message when I try ti login "There was an error when attempting to create your account. Please try again later"
This is what the terminal is telling me:
2018-05-25 12:48:06.874 Electron[4945:28187] *** WARNING: Textured window <AtomNSWindow: 0x7f826ae6b850> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead. [1] Added Extension: React Developer Tools [1] Added Extension: Redux DevTools [0] Compiled successfully! [0]  [0] You can now view winds in the browser. [0]  [0]   Local:            http://localhost:3000/ [0]   On Your Network:  http://<IP_ADDRESS>:3000/ [0]  [0] Note that the development build is not optimized. [0] To create a production build, use yarn build. [0]  [1] 2018-05-25 13:01:47.085 Electron Helper[4947:28247] Couldn't set selectedTextBackgroundColor from default ()

@kaman1 It doesn't look like the issue is with your code. It seems that you may not have started the API correctly. Can you verify by going to the API /health and seeing what it says? If it doesn't resolve, it's likely errored out or not started.


dockerd high memory and cpu usage

9 days ago I spun up a new set of servers (t2.medium) for running Docker 1.12 in AWS utilizing ECS.  This morning I woke up to low swap alerts and discovered that dockerd was using up to 475MB of resident memory and using over 100% of CPU.  I did not encounter this issue with the latest Docker 1.11 version.
 What is docker doing? Can you send SIGUSR1 to dockerd and grab the stack trace from the log output?
Can you enable debug mode and attach pprof to it to grab some CPU/memory stats from the daemon?

Stack trace is at https://gist.github.com/joshgarnett/f7abd7c3f10fa8f2bef4a69c5663900c sorry for the formatting.  Not sure how to make journalctl behave better for the long lines.
At the time docker should mainly have just been idle.  We were all away for the weekend.  Container wise its running the Amazon ECS Agent, Consul, Registrator, and some redis and java processes.

From the stack trace, it looks like there are lots of calls to the stats API.
This is pretty well known to cause high CPU usage. See #21837
If you stop the stats collection does utilization go down?

Strange that I wasn't seeing this behavior in Docker 1.11 with a similar stack.  Is there a way to disable stats collection without restarting docker?

Stats are only collected when a user asks for them, via the API.
You'd have to terminate the API clients connected to the stats endpoints.

Could be as simple as a single person running docker stats with no arguments.

My first guess was that it was datadog.  I stopped that and observed no difference.  As a hunch, I also went ahead and stopped the ECS agent.  I immediately saw a drop in CPU. As part of the upgrade to Docker 1.12 I had also upgraded the ECS Agent from version 1.9 to 1.11.1.  It appears that in 1.10 they switched their metrics collection over to use docker stats.  https://github.com/aws/amazon-ecs-agent/blob/master/CHANGELOG.md
Any recommendations on how I should move forward?

We're working on fixing the stats endpoint, which got particularly bad in 1.11+ because of the way stats are getting collected from runc.
I'm going to go ahead and close this since it looks like it's a dup of the stats issue.

Maybe setting ECS_DISABLE_METRIC=true on the ECS agent will help.

Yeah, I saw that.  I'm also going to open up an issue with them to flag the issue.


Format with go fmt

Formats the codebase according to the Go coding standards via the go fmt command.

thanks @ezra-g


[CHORE] Update pypi url in meta.yaml

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


C# support for LINQ article improvements

The page title is "C# Features That Support LINQ". However looking at some of the sections in the page, I am puzzled as to how they relate to the topic.
For example:

Object and Collection Initializers
I can't think of any way in which the section relates to LINQ. It doesn't explain that either.

Auto-Implemented Properties
Again, I'm not sure how this section is relevant to LINQ, and there is no mention of how it is relevant.

I have refrained from touching on these points in my PR. In case, those sections are actually relevant, could you explain how?

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

ID: 2b67ec87-db79-aa53-86c3-c320f33a8a21
Version Independent ID: 10925e94-c639-5c04-168c-b805c00e1230
Content: C# Features That Support LINQ
Content Source: docs/csharp/programming-guide/concepts/linq/features-that-support-linq.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thank,  @Shah-Nisarg, for your comment (as well as for submitting your PR). Object and collection initializers, as the documentation notes, can project the data returned by a query into a new data type; the example included just doesn't provide an illustration, as it should.
In terms of auto-implemented properties, I can't think of how they might be relevant to LINQ queries.
So the example for object and collection initializers needs to be replaced and the auto-implemented properties section probably needs to be deleted. I'll rename this issue, add it to the backlog, and add it to the community contributors' project.

Hi, I'd like to take a look at working on this issue.

That would be great, @jmarkman. We'll look forward to reviewing your PR. And in the meantime, if you have any questions, please do not hesitate to ask.

Would it be going overboard/against style to add a method syntax version of a query? It might be out of scope since it would be the only section with a method syntax version of the query, but I think having both is important for novice dev readers and those unfamiliar with LINQ.

It's not going overboard.  That is useful information.
This article covers the mapping now. But, it's not obvious that it's about the mapping from query syntax to method calls.
I'd propose making that more clear rather than duplicating the information. (And, that might be a separate PR, depending on the scope).

@BillWagner

I'd propose making that more clear rather than duplicating the information.

This is in regards to the article you linked? Just want to make sure. If not, one thought I have is that I'd include a link to that page, but I'm not sure where it would go. Would it be best to modify the "For more information, see" area at the end of the section and add a link to that page like the following?

For more information, see:

[Anonymous Types] //(path)
[Query Expression Syntax for Standard Query Operators] //(path)

@jmarkman Yes, I should have been more clear.
The "features that support LINQ" article should link to the "query expression syntax for standard query operators" article. Your suggestion to add it to "For more information see..." is correct.
The "query expression syntax for standard query operators" does explain the mapping. It could be improved, and that may be best handled in another PR.


build.rustflags is passed twice (and rustc errors)

If I use this in ~/.cargo/config, the flag is passed twice:
[build]
rustflags = ["-Cllvm-args=-x86-asm-syntax=intel"]

This does not apply to configuration directories stored directly under my project's root (using projectname/.cargo/config, the option is passed only once). There is only a single cargo config file involved in each scenario.
For this particular flag, it stops the build with an error:
$ cargo build
error: failed to run `rustc` to learn about target-specific information

Caused by:
  Process didn't exit successfully: `rustc - --crate-name _ --print=file-names -Cllvm-args=-x86-asm-syntax=intel -Cllvm-args=-x86-asm-syntax=intel --crate-type bin --crate-type rl
ib --target x86_64-unknown-linux-gnu` (exit code: 1)
--- stderr
rustc: for the -x86-asm-syntax option: may only occur zero or one times!

Also related: #3052, but this issue is for the specific bug of doubling the flag.

The bug here appears to be pretty deep in Cargo when we're parsing config files. The logic there is to walk the directory tree up to the root of the file system, picking up configuration as we go along.
At the end, however, we specifically look in the home directory as well in case a build isn't hierarchically below that. This logic has a guard to try to not parse a config file twice, but unfortunately that's not actually the right condition. As a result, configuration in the home directory is getting parsed twice, and it's duplicating lists.
The fix here is to probably just keep a hash set of visited directories, and check that for the home directory instead of a starts_with check. Should be a pretty easy fix though!

Probably would be a good idea to canonicalize each visited directory to ensure you don't visit the same directory twice due to symbolic links.

Hi! I'm pretty new to rust but I would like to try to contribute to cargo by fixing this issue if nobody else is working on it.

I went ahead and made the fix. If you have something better coming feel free to close it. I hope it helps https://github.com/rust-lang/cargo/pull/3078

Thanks @jhbabon!

I think this issue can be closed, the PR has been merged.

Thanks @jhbabon!

Thank you!


feature request - subtraction by another image

https://twitter.com/ygantigravity/status/1572357902354251776?s=20&t=TA_m3smm3h1YAtsEoil3sg

https://t.co/O5YGKXikf9

Thanks for the idea. I've played around with this and I'm not sure I see how it would produce better results than just prompting with "female mario".   Is there some situation this is particularly well-suited to?

I'll reopen if I hear about any compelling use cases.


Invalid IP Address in abuse-ch-threatfox-ip.intel line #36

https://github.com/CriticalPathSecurity/Zeek-Intelligence-Feeds/blob/180033204de1e028b681b8cc5b5429f80a19e7b9/abuse-ch-threatfox-ip.intel#L36

Working on a filter routine for the Abuse-CH feeds now.

The invalid IP of "143.404.146.87" is part of the source feed from Abuse-CH.  However, it has been removed and will be filtered as we continue to pull the Threatfox feed each hour. Thank you for letting me know!


Trying to make legality a little cleaner/more efficient.

Ok, we have tests and the ability to check size of sideboards and maindecks, and 4-ofs, plus we load card legality when we load the cards so we don't need separate loading of what is legal. I'm not sure why I never thought of grouping the inner query in base_query on face.id before - it will make other things possible too. We can probably go further on that and remove the EMN list but I didn't look into that yet.


Adaptation for recent version of ElasticSearch Python API

Hello,
I am trying to make use of this wonderful repo. And I was trying to use ElasticSearch as storage backend.
I found that the ElasticSearch API had a lot of changes.
So I create this PR with the corresponding code.

I will complete the Doc afterwards if you find this PR useful.


Feat: add getColumns function to utils

close #1459

Added new getColumns function that accepts Table | View | Subquery and returns the columns (selected fields).
Added deprecation note to getTableColumns.
Added tests for all 3 dialects.

Dont know if this is an appropriate use, but I think this util could also handle select fields retrieval:
/**
 * Dialect-agnostic select
 */
type AnySelect = AnyPgSelect | AnyMySqlSelect | AnySQLiteSelect;

export function getColumns<T extends Table | View | Subquery | AnySelect>(
  table: T
): T extends Table
  ? T['_']['columns']
  : T extends View
    ? T['_']['selectedFields']
    : T extends Subquery
      ? T['_']['selectedFields']
      : T extends AnySelect
        ? T['_']['selectedFields']
        : never {
  return is(table, Table)
    ? table[Table.Symbol.Columns]
    : is(table, View)
      ? table[ViewBaseConfig].selectedFields
      : is(table, Subquery)
        ? table[SubqueryConfig].selection
        : table._.selectedFields;
}

I think this is a good idea. I'll see if I can include this case in this PR.

After playing around, I realized AnySelect should probably be loosened to Omit<AnySelect, 'where'> else filtered selects are not handled.

This will be very very useful for the use case i'm working on where i am joining multiple tables but want to only select all fields from one table only.

Can we please get this merged in?

@jean343, as it was taking too much time to merge, I published a small package with this helper (along with a variety of others).
Feel free to use it or refer to its implementation of getColumns https://github.com/iolyd/drizzle-orm-helpers/blob/main/src/utilities.ts.

@jean343, as it was taking too much time to merge, I published a small package with this helper (along with a variety of others).
Feel free to use it or refer to its implementation of getColumns: https://github.com/iolyd/drizzle-orm-helpers/blob/main/src/utilities.ts.

 It would be so helpful!

@Angelelz will getColumns accept columns from a subquery of type SubqueryWithSelection | WithSubqueryWithSelection. I am trying to find a function which can get the columns of some subquery I make in CTEs.

For those that want this without an external lib or waiting for it to be updated and merged:
import {
	is,
	type ColumnsSelection,
	type Subquery,
	Table,
	View,
	ViewBaseConfig,
} from "drizzle-orm";
import type { AnyMySqlSelect } from "drizzle-orm/mysql-core";
import type { AnyPgSelect } from "drizzle-orm/pg-core";
import type { AnySQLiteSelect } from "drizzle-orm/sqlite-core";
import type { WithSubquery } from "drizzle-orm/subquery";

// https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts#L58
type Simplify<T> = {[KeyType in keyof T]: T[KeyType]} & {};

// See https://github.com/drizzle-team/drizzle-orm/pull/1789
type Select = AnyPgSelect | AnyMySqlSelect | AnySQLiteSelect;
type AnySelect = Simplify<Omit<Select, "where"> & Partial<Pick<Select, "where">>>;
export function getColumns<
	T extends
		| Table
		| View
		| Subquery<string, ColumnsSelection>
		| WithSubquery<string, ColumnsSelection>
		| AnySelect,
>(
	table: T,
): T extends Table
	? T["_"]["columns"]
	: T extends View | Subquery | WithSubquery | AnySelect
		? T["_"]["selectedFields"]
		: never {
	return is(table, Table)
		? (table as any)[(Table as any).Symbol.Columns]
		: is(table, View)
			? (table as any)[ViewBaseConfig].selectedFields
			: table._.selectedFields;
}


Test for unevaluatedProperties peering inside an allOf

This question was brought up in the Slack workspace.
(The schema was originally in YAML, but I've translated to JSON for the issue.)

Given a schema
{
  "unevaluatedProperties": false,
  "allOf": [
    {
      "properties": {
        "foo": { "type": ["string", "null"] },
        "bar": { "type": ["string", "null"] }
      }
    },
    {
      "additionalProperties": {
        "not": { "enum": [ null ] }
      }
    }
  ]
}

should the instance
{"bar": "foo", "bob": "who?"}

pass validation?
The thing to note here is that additionalProperties, regardless of the subschema that's in it, visits all of the properties of any object instance that's given to it.  This means that unevaluatedProperties is effectively a no-op.
The evaluation proceeds as follows:

/unevaluatedProperties must be run last, so we save it for later.
/allOf/properties/foo isn't found. Pass :heavy_check_mark:
/allOf/properties/bar is found, and it's a string. Pass :heavy_check_mark:
/additionalProperties evaluates all properties not defined by properties as:

/additionalProperties/not/enum

instance /bar was evaluated by properties skip. Pass :heavy_check_mark:
instance /bob is not null. Pass :heavy_check_mark:

Return to /unevaluatedProperties

instance /bar and instance /bob were both evaluated within the allOf so unevaluatedProperties has nothing to do. Pass :heavy_check_mark:

All paths pass validation.
I'll write a test for this and create a PR.  Just wanted to get an issue going for it.

Awesome, looks reasonable certainly -- we don't yet have any unevaluatedProperties tests :/ but yeah definitely looks worth adding.

See als #305 #294 and #290

Step 4.i.a. certainly passes, but I disagree on the reason. I thought "additionalProperties" only looks at properties in the same schema. In this example, all the properties are defined in a different schema. How can instance /bar already have been evaluated? My understanding tells me that it passes only because it's not null.

@ssilverman You're correct.
In the provided schema, the additionalProperties subschema is applied to all object values.
It's a tricky one to reason about because not doesn't create an annotations, but the resulting assertion evaluation of additionalProperties DOES create an annotation, and therefore all properties are consider "evaulated [to be valid]".

@ssilverman yeah in this case, there aren't any other properties defined in the same schema object as additionalProperties, so it behaves more like and allProperties keyword would be expected to behave.  This is useful for the common case of a generic dictionary type (mapping of string to some other type with no special case properties).


Expression builder doesn't convert boolean value to 0 or 1.

I am using query builder and the expression builder to create a query.
$qb->andWhere($qb->expr()->eq('a.property', false));

Generates: "WHERE ... a.property = " (without any value)
While
$qb->andWhere($qb->expr()->eq('a.property', true));

Generates: "WHERE a.property = 1"
And
$qb->andWhere($qb->expr()->eq('a.property', 0));

Generates: "WHERE a.property = 0"
The property is annotated as boolean and doctrine knows it is boolean too. Any suggestions?
Thank you.

This is expected behavior: the query builder is a string builder, and it doesn't care about the types of the passed in parameters: it just converts them to strings in the end.
What you are supposed to do with any parameter is to use parameter binding instead:
$qb->andWhere($qb->expr()->eq('a.property', ':propertyCheck'));
$qb->setParameter('propertyCheck', false);

Thank you for the help, sounds fine.


ci: add silent nightly releases

With this PR nighlty releases will be silent. No more announcements will be created in a GitHub feed for every commit with a nightly release, but the tag and it's binaries will still be updated. The change is releated to what was commented in https://github.com/v-analyzer/v-analyzer/pull/64.
Releases tested on the fork: https://github.com/ttytm/v-analyzer/releases/nightly
A notable change:
At current master, the tag used for nightly/pre-releases is latest.
This naming for a nightly release tag is a bit confusing. latest usually refers to the latest release that is not a pre-release. Latest releases for all github projects can be accessed via an url like the following https://github.com/v-analyzer/v-analyzer/releases/latest (this will open the lastest version release). An url like the one for the fork above, won't work for v-analyzer atm: https://github.com/v-analyzer/v-analyzer/releases/nightly. It will work after the PR.
To make it more conventional the changes set the pre-release tag to nightly. After merging the PR the tag should be created automatically. When that happened I recommend removing the current latest tag.

@spytheman as far as I can tell from the current CI you added the binaries to the tag release manually right?
This fairly easy to automate when a tag is created. So I would do it in a followup. You could create the tags as usually, binary archives would just be added automatically after it is created.

you added the binaries to the tag release manually right?

Yes, I downloaded them from the nightly release, then uploaded them after the stable tag was pushed.

You could create the tags as usually, binary archives would just be added automatically after it is created.

That will be very welcome for me, since it will save a lot of time and confusion, when preparing a release, which is not something that I do frequently enough to remember everything from the top of my head.


mixtapes won't render running on ubunutu 16.04

Running locally works but when trying to load on ubuntu 16.04 it will not render the mixtapes

This error gets thrown in conolse:
main.js:1 Uncaught Error: Sprockets::FileNotFound: couldn't find file 'SoundManager2/script/soundmanager2.js'   (in /root/wl/source/js/main.js:3)

Fixed by editing main.js and changing SoundManger2 to soundmanger2

Interesting, tried changing to soundmanager2 on mac and got a similar error. Will look into this further, thanks.

Fixed with your suggestion. Re-cloned to fix name error after re-naming in main.js. Name is most likely being cached. 👍


WIP: Depend on hex crate

Depends on patched version of bitcoin_hashes: https://github.com/rust-bitcoin/bitcoin_hashes/pull/183
Add hex dependency.

Closing, discussed here: https://github.com/rust-bitcoin/rust-bitcoin/discussions/1243


Custom launch / debug control

Feature request:    some sort of way of configuring/overriding the default debug and launch mechanisms in CMake tools

I'm using Cmake + VSCode as an "integrated" environment for cross compiling to embedded tools and targets.
One irritating thing is when I'm targeting our ARM board, I'd like to be able to launch or debug using the 'debug' or 'launch' buttons down in the bottom status bar.
These require a different command line than what's built in.
Right now, for example, it looks like 'launch' just tries to pass the command line the target filename (which on windows is an EXE and it functions.
To run the embedded targeted executables, however, the output is a .ELF file which needs to be loaded by the instruction set simulator or debugger for execution.
For example, we target Xtensa cores, and we have to launch it like so:
xt-run.exe --xtensa-core=<TARGET_PROCESSOR> --exit_with_target_code <ELFFILE>
or to launch the debugger (rather than the integrated one)
xplorer --debug <ELFFILE>
Running ARM ELFs are similar, but different syntax.
I don't know the cleanest way to integrate because the launch and debug string would be different for each toolchain used and would somehow need to overridden by the things in the toolchain file or the variants.yaml file.
Any suggestions on where to start with this, or ...?

This documentation goes over how to set up a more advanced scenario like yours: Debug using launch.json.  Let us know if this has the information you need.  The Quick Debugging button wasn't designed to support this.
One thing to note (that we should add to this section) is that when you invoke the ${command:cmake.launchTargetPath}, it can be configured to build your project so you don't need to add any "preLaunchTasks" to your configuration.  More information here


Delay the start of the proxy

Overview
TL;DR
There is no difference in output except that:
[Error forwarding requests to blockchain/simulator,connect ECONNREFUSED <IP_ADDRESS>:8556]

should not appear anymore
Rationale
The proxy was started before geth client and was causing this error.
To solve it, move the proxy start after the gets command.
Let me know if you still experimence this error. I haven't since this change
Cool Spaceship Picture

BlockchainReady should to be triggered when the proxy is ready and not when the node is ready.
Because in that case we connect to the proxy to deploy...
if we submit blockchain ready while the proxy is not that could cause error later in the process
Makes sense?
Regarding where the code is located, I do agree it seems to be tight to geth and might be to low in the stack (I have same feeling as you). However that would require bigger change.

Makes sense.
I guess if we need move it later in the lifecycle, we move it to a .once("data", () => { }) on the spawned child process so that it is fired as soon as we get successful output from geth.

^ implemented in https://github.com/embark-framework/embark/pull/877


Parent controls compliance is broken by YouTube links on makecode.microbit site in WebView

When installing this on phones of kids under 13, they receive a fully functional non-logged-in YouTube window with search option and everything, bypassing all their parental controls, by opening any YouTube link from makecode.microbit.org homepage - any of the video tutorials.
To Reproduce

Open the app, select "Create Code". MakeCode window opens.
Open any tutorial with video, click on a video link.
Observe YouTube running inside WebView, non-logged-in, with "search" icon that allows looking for anything, and check the credentials - YouTube presents a "Log In" prompt, meaning that it's running without credentials (expected in WebView).
On Google Family Link, observe micro:bit as the only running app, so all the YouTube will be accounted on it, and if it's not limited - it would mean unlimited YouTube for the kid.

Expected behavior

I would expect my kid to know self-control, but looks like it's an unreasonable expectation from 9-year-old that is smart enough to learn to program. So for another 3-4 years, I guess external controls would have to do. There can be a few technical solutions:
Easiest and quickest - in WebView, recognize the clicked links to YouTube and forward them externally with corresponding intent, so they are received by YouTube and subject to the relevant parent controls.
More complex - instead of allowing YouTube video/playlist links to work directly in WebView, wrap them with IFrame Player API layer (and probably open in a different WebView), to prevent YouTube interface from being accessible directly. This might still have an issue of "suggested videos" showing at the end, so you would need one of the following solutions to either limit them to the same channel or disable them by stopping the video:
@ https://stackoverflow.com/questions/13418028/youtube-javascript-api-disable-related-videos
More complex - adding a parenting control, protected with something that guarantees adult access, to control the behavior between embedded and forwarded YouTube, and default to forwarded.

Screenshots/Recordings

No need, I believe, the reproduction explanation should be very clear

micro:bit version

Not hardware related

Device

Not applicable, same behavior on all devices

Additional context
I'll try to implement the simplest - detecting the YouTube links and sending them out to YouTube app by intents - myself, just not sure I would be able to submit it as my dev env is not too functional.

Simplest solution (might have corner cases, didn't run into them yet, though YouTube on my dev phone is opened without controls - might be a side effect of whatever, since I've tried it from anywhere else in the app and the result was the same, will test it on my son's phone later and see):

Thanks @jackr1w. I have flagged this up for the Android app team.

@jackr1w, please can you this again after updating in the Play Store and let us know whether this now works for you in the latest release? We use essentially your approach for all URLs that don't belong in our Web View.

Sorry for the delay. Thank you very much, finally got to check the new
version, works as expected. I'll update it on my son's phone now, replacing
my custom compiled branch with the official release. Thanks again!
On Thu, Aug 29, 2024, 16:24 Matt Hillsdon @.***> wrote:

@jackr1w https://github.com/jackr1w, please can you try this again
after updating in the Play Store and let us know whether this now works for
you in the latest release? We use essentially your approach for all URLs
that don't belong in our Web View.
—
Reply to this email directly, view it on GitHub
https://github.com/microbit-foundation/microbit-android/issues/71#issuecomment-2317651121,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO5WAPFUHN2SL7QRCCFQLPLZT4OJJAVCNFSM6AAAAABJMMGQTKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJXGY2TCMJSGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


How to install this? It's not showing up in control panel? Nofences black block still exists I don't understand how to get rid of it.

To uninstall, it's the reverse from installation: you delete all fences and then delete the executable from your Startup directory.


Text in Basic Data Structures lesson is better clarified.

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #40412

@ShaunSHamilton Thank you.
What is LTGM?

@GJ-16 it's "Looks Good To Me"

@GJ-16 Haha, it was a typo on my  part. As @ieahleen said, LGTM

I didn't know, I Googled and google said "Long Term Growth Model". So I was confused.

@nhcarrigan Thanks so much, Thanks for the information mate.

Congrats @J-16 on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝

Congrats @J-16 on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Switch-AzWebAppSlot with preview

I need to swap staging and production slots with preview so I can run warm-up tests after the application settings have been applied to the staging slot and the restart happened but before the actual swap is being done.
A way to access Switch-AzWebAppSlot from python

Hi @oancea-cristian, thanks for the question! We'll investigate asap!

@oancea-cristian , Check if this is helpful or not
https://github.com/Azure/azure-cli/blob/e0c49d6fd4778b8e0c8884a54bca1716a916763e/src/command_modules/azure-cli-appservice/azure/cli/command_modules/appservice/custom.py#L1285

@MughundhanRaveendran-MSFT thanks for your reply. By looking in Azure portal at swap with preview I can see that it is broken in two parts:
1st: In phase one, any slot-specific application settings and connections strings on the destination will be temporarily copied to the source slot
2nd: Swap the source slot with the destination slot
After looking at the code you provided I see that the first part is covered by apply_slot_config_to_production() however in the docs provided by the framework itself it says: """Applies the configuration settings from the target slot onto the current slot. which is the opposite of what is described in the Azure portal.
Also note that the second part can be covered by begin_swap_slot_with_production() since I can't find any references for swap_slot_with_production()
If I am missing something or doing something wrong please let me know.


gopass doesn't commit when using concurrency > 1

Summary
When configuring gopass concurrency option to a value greater than 1, gopass doesn't commit in Git when creating a new entry.

Expected behavior
Setting concurrency to 2 should not prevent gopass from committing new passwords in Git.
Environment

OS: Linux
OS version:

Linux work-laptop 5.4.13-201.fc31.x86_64 #1 SMP Tue Jan 21 17:21:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

gopass Version:

<root>     - gpg 2.2.18 - git 2.24.1 -   fs 0.1.0
Available Crypto Backends: gpgcli, openpgp, plain, xc
Available RCS Backends: gitcli, noop
Available Storage Backends: fs, inmem

Installation method: binary from Github release

I am seeing the same issue.

Yes, this is obviously a bug. Should be easy to fix ...


Kernel panic when using cJSON in mqtt (IDFGH-13654)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.3
Espressif SoC revision.
ESP32-D0WD-V3 (revision v3.1)
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
custom board
Power Supply used.
USB
What is the expected behavior?
Create JSON structure -> Convert to string -> Proceed with mqtt publish
What is the actual behavior?
During the AWS IoT OTA process, an error occurs in malloc when calling cJSON library processes such as cJSON_CreateObject(); or cJSON_Print().
Steps to reproduce.

System boot
Network, mqtt initialization
mqtt subscribe (OTA related topic)
MQTT_EVENT_DATA event occurs
Topic parsing process in progress
Check $aws/things/(device_id)/jobs/execution/status
$aws/things/(device_id)/streams/(device_id)/get/json topic, build data JSON and send
Kernel panic occurs when building JSON here

Debug Logs.
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4008d096  PS      : 0x00060233  A0      : 0x8008ca34  A1      : 0x3ffc73f0
0x4008d096: remove_free_block at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:332
 (inlined by) block_locate_free at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:567
 (inlined by) tlsf_malloc at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:1015

A2      : 0x3ffd0a98  A3      : 0x0000002c  A4      : 0x3ffd2e8c  A5      : 0x3ffd09d8
A6      : 0x3ffd129c  A7      : 0x3ffb4fbc  A8      : 0x0000000b  A9      : 0xffffffff
A10     : 0x00000002  A11     : 0xffffffff  A12     : 0x00000464  A13     : 0x3ffb4fe0
A14     : 0x3f404998  A15     : 0x0000cdcd  SAR     : 0x0000001f  EXCCAUSE: 0x0000001d
EXCVADDR: 0x0000000b  LBEG    : 0x4000c46c  LEND    : 0x4000c477  LCOUNT  : 0x00000000
0x4000c46c: memset in ROM
0x4000c477: memset in ROM

Backtrace: 0x4008d093:0x3ffc73f0 0x4008ca31:0x3ffc7410 0x40082745:0x3ffc7430 0x40082862:0x3ffc7450 0x4008289d:0x3ffc7480 0x40082646:0x3ffc74a0 0x4008269e:0x3ffc74f0 0x400820e4:0x3ffc7510 0x40082119:0x3ffc7530 0x4008e298:0x3ffc7550 0x4008e2bc:0x3ffc7570 0x400e8389:0x3ffc7590 0x400e6ce7:0x3ffc75c0 0x400e6d85:0x3ffc7600 0x400e7b90:0x3ffc7620 0x400db9cb:0x3ffc7660 0x400dbe2f:0x3ffc7690 0x400dc8a9:0x3ffc76e0 0x400dcba9:0x3ffc7700 0x40149ec9:0x3ffc77a0 0x4014995e:0x3ffc77d0 0x400e599a:0x3ffc7810 0x400e63fc:0x3ffc7830 0x400e6563:0x3ffc7860 0x400e6a60:0x3ffc7890 0x400882c9:0x3ffc78c0
0x4008d093: remove_free_block at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:331 (discriminator 1)
 (inlined by) block_locate_free at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:567 (discriminator 1)
 (inlined by) tlsf_malloc at /Users/odn/esp/esp-idf/components/heap/tlsf/tlsf.c:1015 (discriminator 1)
0x4008ca31: multi_heap_malloc_impl at /Users/odn/esp/esp-idf/components/heap/multi_heap.c:211
0x40082745: aligned_or_unaligned_alloc at /Users/odn/esp/esp-idf/components/heap/heap_caps_base.c:77
0x40082862: heap_caps_aligned_alloc_base at /Users/odn/esp/esp-idf/components/heap/heap_caps_base.c:150
0x4008289d: heap_caps_malloc_base at /Users/odn/esp/esp-idf/components/heap/heap_caps_base.c:170
0x40082646: trace_malloc at /Users/odn/esp/esp-idf/components/heap/include/heap_trace.inc:116
0x4008269e: __wrap_heap_caps_malloc_base at /Users/odn/esp/esp-idf/components/heap/include/heap_trace.inc:178
0x400820e4: heap_caps_malloc at /Users/odn/esp/esp-idf/components/heap/heap_caps.c:84
0x40082119: heap_caps_malloc_default at /Users/odn/esp/esp-idf/components/heap/heap_caps.c:110
0x4008e298: _calloc_r at /Users/odn/esp/esp-idf/components/newlib/heap.c:65
0x4008e2bc: calloc at /Users/odn/esp/esp-idf/components/newlib/heap.c:29 (discriminator 1)
0x400e8389: outbox_enqueue at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/lib/mqtt_outbox.c:44
0x400e6ce7: mqtt_enqueue at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1190 (discriminator 1)
0x400e6d85: mqtt_client_enqueue_publish at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:2038
0x400e7b90: esp_mqtt_client_publish at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:2092
0x400db9cb: mqtt_publish at /Users/odn/workspace/odn_device_rev2/components/mqtt_handle/mqtt_handler.c:201
0x400dbe2f: mqtt_recvtopic_jobs at /Users/odn/workspace/odn_device_rev2/components/mqtt_handle/mqtt_handler.c:586
0x400dc8a9: mqtt_recvprocessing at /Users/odn/workspace/odn_device_rev2/components/mqtt_handle/mqtt_handler.c:402
0x400dcba9: mqtt_eventhandler at /Users/odn/workspace/odn_device_rev2/components/mqtt_handle/mqtt_handler.c:338
0x40149ec9: handler_execute at /Users/odn/esp/esp-idf/components/esp_event/esp_event.c:135
0x4014995e: esp_event_loop_run at /Users/odn/esp/esp-idf/components/esp_event/esp_event.c:584
0x400e599a: esp_mqtt_dispatch_event at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1032
0x400e63fc: deliver_publish at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1099
0x400e6563: mqtt_process_receive at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1377
0x400e6a60: esp_mqtt_task at /Users/odn/esp/esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1657
0x400882c9: vPortTaskWrapper at /Users/odn/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:134

More Information.
I am implementing OTA using MQTT.
JSON is using the library below.
https://github.com/DaveGamble/cJSON/tree/acc76239bee01d8e9c858ae2cab296704e52d916 Currently, there is no problem with data exchange, subscription, publishing, and other basic operations.
When the MQTT_EVENT_DATA event occurs, the arrived topic is parsed and various operations are performed. At this time, if a JSON file is created, added, or printed, the same operation as the debug screen is performed.
This message occurs when the $aws/things/(device_id)/jobs side for OTA is in progress. It occurs in the part where cJSON_Create, Print, Add, etc. try to secure additional memory with malloc.
The message seems to be related to the malloc function, so I changed the point where free is performed, but it did not work, and the heap memory was checked and entered with more than 170KB remaining just before entering. There was also a solution to add cJSON_InitHooks(NULL); just before entry, but it didn't work.
Current event processing process

Event processing handler
void mqtt_eventhandler(void *arg, esp_event_base_t base, int32_t event_id, void *event_data)

MQTT_EVENT_DATA processing process
esp_err_t mqtt_recvprocessing(char* topic, char* event_data)

$aws/things/(device_id)/jobs processing process
esp_err_t mqtt_recvtopic_jobs(char* remain_topic, char* event_data){
(Internal error)

Please provide interpretation or solution for the message, or if the json handling library is wrong, please recommend an alternative library.
Thank you.

Hi! Are you parsing the JSON OTA image? What is the size of this data?

Hi! Are you parsing the JSON OTA image? What is the size of this data?

OTA images are received through streams, divided into 16 blocks with a block size of 4096 bytes.
References are provided below.
https://docs.aws.amazon.com/iot/latest/developerguide/mqtt-based-file-delivery-in-devices.html

Hi @Gyunamchoi I suggest that you enable heap tracing and try to identify if there is any heap corruption happening in your code.

Be careful when you are using cJSON_Print.
It is allocating memory which you have to free explicitly or it will cause memory leak.

안녕@Gyunamchoi코드에서 힙 손상을 확인하여 추적을 활성화하는 것이 좋습니다.

I turned on heap tracking and checked, and there was 170KB of heap left before the problem occurred.

Be careful when you are using cJSON_Print. It is allocating memory which you have to free explicitly or it will cause memory leak.

Let me ask you again, when you do char* A = cJSON_Print (B);, is the problematic string A or the json structure B?
A is free(A);. B is cJSON_delete(B); to return memory.

char* A = cJSON_Print (B);
// consume A
...
free(A);

A is now independent object which exists even after deleting B until you free(A).
Aside of this you have to handle B as usual.

char* A = cJSON_Print (B);
// consume A
...
free(A);

A is now independent object which exists even after deleting B until you free(A).
Aside of this you have to handle B as usual.

I understand what you're saying.
cJSON_Print is analyzed as allocating memory with malloc in an internal function and returning a char* type address.
In this process, I have a question. For example, in the case of ESP_LOGI(TAG, "string = %s", cJSON_Print(B));, does the result address value of cJSON_Print(B) automatically get destroyed? Or should I put it in a separate variable and free it?
Since there is no garbage collector, I think I have to do this part manually, but I wonder if this structure is okay.

char* A = cJSON_Print (B);
// consume A
...
free(A);

A``B이제 삭제 후에도 존재하는 독립적인 객체입니다 free(A).
이 외에는 B평소처럼 처리해야 합니다.

말씀하시는 바를 이해합니다. cJSON_Print는 내부 함수에서 malloc으로 메모리를 할당하고 char* 타입 주소를 반환하는 것으로 분석됩니다. 이 과정에서 질문이 있습니다. 예를 들어 ESP_LOGI(TAG, "string = %s", cJSON_Print(B));의 경우 cJSON_Print(B)의 결과 주소 값은 자동으로 파괴되나요? 아니면 별도의 변수에 넣고 해제해야 하나요?
가비지 콜렉터가 없으니 이 부분은 수동으로 해야 할 것 같은데, 이런 구조가 괜찮을지 궁금합니다.

이것은 메모리 누수의 예입니다. 별도의 변수에 넣고 나중에 해제해야 합니다.

Thank you very much for your reply.
Actually, the problem was somewhere else and I solved it today.
However, I was able to supplement the firmware according to your advice.

This issue has been resolved and will be closed.


Message to topic

Hello. Could you please add support for topics? Now it look like impossible to send message not just to general level

@butorov please pay special attention
This is a very important part of the functionality. Without it it’s extremely uncomfortable to use the new features of Telegram. We can say that it’s a blocker

Hello @mafuuu-dev, thank you for your attention to the issue. @aokhonchenko, thank you for the feature request.
Starting from now, you can utilize the functionality of sending notifications to Telegram threads/topics in version 0.5.0 of the plugin.
Feel free to drop a comment in case of any further questions.


update active state and empty content

Also made app and group match user for active state

ack, sorry I'm actually changing that right now, should have communicated that to you

all good! which part, I can remove the conflicting bit :)


Cannot test it on a LocalHost

Hi,
I am trying to test the sample application. Running wamp as a server on my system and using it as a local host. Already have installed piwik on wamp. Created a website: http://demo.piwik.com
And used it in my application class as:
mPiwikTracker = getPiwik().newTracker("http://demo.piwik.com", 1);
Once application runs, I tap on different buttons in the demo app but the demo app doesnt record any clicks on against the local host.

Check the configuration, by default the example app is in dryrun mode:
https://github.com/piwik/piwik-sdk-android/blob/master/exampleapp/src/main/java/com/piwik/demo/DemoApp.java#L37


/tmp cluttered up with gradle-worker-classpath* files

Expected Behavior
Even after of 10 hours of running Gradle builds I would like to be able to easily find an arbitrary disposable file saved from Firefox (or any other application) in /tmp.
Current Behavior
Every Gradle build generates the gradle-worker-classpath* file in the root of the system temporary directory (/tmp on Linux) which makes it harder to find anything else there.
Context
After a day of running Gradle builds it might be problematic to find an arbitrary disposable file saved there to be used (and to be forgotten after a system restart).
The files seem to be never cleaned up. They seem to be not reusable across builds (every build using a daemon creates the new one). Maybe they could be cleaned up on successful execution?
In a case they are used for build cache or anything else maybe or it's not feasible to automatically remove them, they could be created in a subdirectory in /tmp, not in its root.
The problem occurs with Gradle 5.x, tested also with the latest 6.3.

This is pretty much the same as issue #12020, maybe this one can be closed duplicate to avoid double discussions.

You are right, @centic9. Closing in favor of #12020.

+1, our automated testing nodes are suffering from this tmp file accumulation

+1, our automated testing nodes are suffering from this tmp file accumulation


Understanding a huge crash report

Hello, I am running a custom model involving neural ODEs using Julia 1.7.1 and Enzyme v0.8.1 . My code crashes, I do not understand the reason why (apologies, I am quite new to Julia, I initially posted my query on Julia's discourse page and was directed here), I am getting a huge wall of text and am looking for any pointers to resolve the issue. My model is quite complex so it is difficult to provide a MWE, but hopefully the wall of text is at least somewhat informative. I can try to provide any additional information as requested if it seems like it would be helpful. The crash report can be found here.

Your error looks quite similar to the one resolved here: https://github.com/wsmoses/Enzyme.jl/pull/184
Once that lands, mind trying it again?

Tried again with Enzyme v0.8.3, still getting the error. It (at least superficially) seems similar, but the report is longer. Here is the full crash report after updating Enzyme.

As a note the relevant bits are almost always towards the end of the dump. The huge wall is necessary to give some context to those messages.
It looks like you are differentiating a Flux model? We are working right now on better support for BLAS operators used in ML, so I would hold off a bit.
Even your complex model might make a decent MWE, but maybe you can narrow it down to which part of the code is giving you problems? We normally comment out bits and pieces. Without an MWE is going to be much harder for us to help

@dom-linkevicius can you retry on current Enzyme

@dom-linkevicius closing for now, reopen if the error persists.


Adding message details does not work well on iOS

The chat details drawer does not open properly on iOS devices (tested with iOS 12.0).
When first accepting a connection, it opens sometimes, but not reliably. Tapping the + icon changes the icon to x, but mostly does nothing else. Rarely, the drawer opens after a delay. The drawer seems to conflict with the keyboard, as opening/closing the keyboard and/or starting to type in the message text field sometimes opens the drawer (if the + icon was tapped before). Occassionally, it seems as if the drawer is opened downwards as the top halves of the first buttons within the drawer can be seen at the bottom of the screen, but they can't be interacted with.
It's possible to open the drawer by switching to landscape mode, but this breaks parts of the interface layout since the screen width is then above the responsiveness breakpoint but still to narrow to appropriately display all content.

@sigpie tried it now with android and chrome on the feat_gdpr_aboutpage branch, seems to work alright there, maybe the stylechanges made a difference, can you retest?

The behaviour has improved a lot. There are still some glitches, but they are less prominent and do not prevent using details within a chat.


rtfToPlainText(fileName)

This function is not implemented at this moment, thus, the code does not work.

Thanks for flagging this! A fix was just uploaded.


(PDB-1428) Suppress version-check INFO logging

The version-check function uses clj-http, which uses Apache HttpClient
for all the heavy lifting. Recent versions of HttpClient log connection
problems to INFO when using the library's built-in retry facilities.
This is suboptimal, as what's supposed to be a silent background process
(one where it's okay if it fails) to something that may freak out users
with scary looking error messages that are actually harmless.
If you disable automatic retries on the request, HttpClient throws an
exception; this matches the behavior of older versions. Since retries
aren't really required for version-checking, this patch disables them
and thus returns control of logging back to us.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1034/

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1035/

@grimradical I get a 400 error with this patch when I run
puppet agent -t

@grimradical my mistake, configuration error

Looks like its working to me: https://gist.github.com/kbarber/45b1ae455375581febfb


Added a check to see if the textureview is available and if it is the…

…n trigger the onSurfaceTextureAvailable listener

Thanks! Will try to test and merge next week.

@rkistner any update on when this might get merged in?

Sorry for the delay. Will start working on getting the next release out soon.


Cloud iam auth

RFC for adding cloud provider auth to openfga
References
https://github.com/openfga/openfga/issues/870
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Nice work! Has there been any progress on adopting this? Eliminating passwords from connection strings is such a crucial task - it seems surprising to me that this isn't more of a priority for a component central to authorization!

I just discovered that spiceDB has also implemented this for postgres and mysql
@jon-whit is openFGA still considering this?


[BUG]

Describe the bug
Hello, I have installed the program and it gives me errors, it reads the plots and gives them to me for tests found but they do not reach the portfolio, the address appears that of chia instead of the chiarose.  even if I change it, it is corrected but when I win a reward it never reaches the portfolio.
OS: Windows 64

The xch address prefix can be modified in the configuration file,
C:\Users\51171.chiarose\mainnet\config\config.yaml
mainnet:
address_prefix: xch
to
mainnet:
address_prefix: xcr

In addition, due to the excessive modification of the initial difficulty, a large number of proofs with complex conditions will be discovered, but after many found proofs have competed, only one proof will get the block reward. (The address prefix does not affect the distribution of rewards and transfers, it is just a display O(∩_∩)O)

The xch address prefix can be modified in the configuration file,
C:\Users\51171.chiarose\mainnet\config\config.yaml
mainnet:
address_prefix: xch
to
mainnet:
address_prefix: xcr

So, what does that mean? Are generated addresses wrong? This seems like a 5 minutes fix, why is your code still broken?

O(∩_∩)O


Btrx 441 liquibase

This is a repeat of https://github.com/broadinstitute/orsp-pub/pull/11 which wasn't merged correctly.
Addresses
https://broadinstitute.atlassian.net/browse/BTRX-441
Changes

Use Database Migration plugin to help us manage database changes. The plugin uses the Liquibase library.
Remove drizzle driver and go back to mysql in order to integrate database migration. Using Drizzle driver we have some issues, see the following link for more details https://liquibase.jira.com/browse/CORE-2685

Testing

[ ] Submitter: Verify all tests go green, including CI tests
[ ] Submitter: Get a thumb from @rushtong
[ ] Submitter: Merge to develop using github's "Squash and Merge" feature
[ ] Submitter: Delete branch after merge

@vvicario - Please thumb this. It's my fault that your original PR didn't get merged correctly - it should have gone against master.


Added jigsaw template

Reasons for making this change:
Jigsaw is a Static Site Generator build on top of Laravel5 PHP Framework
Links to documentation supporting these rule changes:
https://github.com/tightenco/jigsaw/blob/master/stubs/site/.gitignore
If this is a new template:
https://jigsaw.tighten.co/

I'm going to close this out because the value of maintaining a template like this isn't clear to me.
@RohanSakhale if you feel like this should still be a template listed here, please read the section about specialized templates and open a new pull request that follows the new pattern.


Animated material parameters don't work

From @frang on Discord:

I've been testing the appleseed-max2017-1.0.0-beta-preview1. I noticed something that doesn't work: when you animate a material parameter and you render a series of frames, the animated param doesn't change along them. If you render frames individually it works.

I confirm this and this is applied to OSL materials.

Done.


Choose versioning model and delete all legacy versions of packages (npm and nuget)

Choose versioning model and delete all legacy versions of packages (npm and nuget).
We still have a lot of different versions and even names of the library (@shesha/reactjs vs @shesha-io/reactjs)

Has been implemented


update data validation

update the data validation code

checked data types in each column
checked empty observations
checked duplicate observations
checked missingness (not beyond 15%)
checked variables' ranges (outliers, category levels)
(to be discuss...
a.  Target/response variable follows expected distribution
b. No anomalous correlations between target/response variable and features/explanatory variables
c. No anomalous correlations between features/explanatory variables
)

update the validation_error.log file

Updated the schema and added the distribution and correlation check

Couple comments:

Dropping columns based on a certain threshold might be best implemented with .columns[X.isnull().mean() <= missing_threshold] for consistency and scalability. But we've manually dropped them in the previous step, so there's no need to change anything at this moment.
Great to learn that validation_error.log is such a handy way for debugging.
Trivial: For Target Variable Visualization, adding value annotations on top of the bars could help with identifying class imbalance.

Nice work @y1chi-z ! Thank you so much. 🎉 🎉
I have a few feedback for you:

I agree with @MasonZhang-MZ  about removing the commented-out code to enhance readability. I noticed that you’ve made the updates and committed them to your branch. Could you please raise another pull request so we can incorporate your contributions?
I noticed that you set up the pa.DataFrameSchema and added our constraints. If you could include a brief inline comment before each column constraint, it would be very helpful for readers without domain knowledge to understand what each constraint does.
I noticed that you defined pa.DataFrameSchema again in the log generation section. I was wondering if we could reuse the variable from the previous part. This would enhance consistency, especially if we need to update the pa.DataFrameSchema in the future.
I really appreciate your excellent work in the notebook. Could you render the file to HTML and keep it updated in our GitHub repository?

I have another note that I forgot to mention. @y1chi-z
As we have set up the conda lock and docker. I think we don't need this instruction in our jupyter notebook on how to import the dataset anymore. We can remove it maybe.

Thanks for the feedback. I made a few updates according to the comments:

removed the commented-out code ✅
added inline comments about constraints ✅
unfortunately we will have to define the schema again and set drop_invalid_rows = False to track the errors
rendered the file to HTML ✅

thanks @y1chi-z ! I have merged the code to the main branch.


[AutoRelease] t2-netapp-2024-02-29-57016(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4952
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1015

issue link:https://github.com/Azure/sdk-release-request/issues/4952


[metadata prespecialization] Reflect ptrauth in tests.

Now that conformance descriptors are signed before being passed to swift_compareProtocolConformanceDescriptors on arm64e from metadata accessors when prespecialization is enabled, the tests must be updated for that platform to look for the signing.

@swift-ci please smoke test and merge


Testing plan/release

Figure out what the plan is for local testing or "worldwide" testing
-Local tests: people here, general use
-"worldwide": figure out a bug submission process/ incorporate it to Elegit, figure out opt in/out for logging

"Worldwide" requires authentication to be ready

First focus on a second user test, keep it similar to original for use in paper?

Second user test is in progress.