chore (Topology): some universe tweaks

Mostly giving universes explicit/nicer names.
In two files (ExtremallyDisconnected and ProperMap), remove autoImplicit true.
(My understanding is that this is desired; happy to revert otherwise.)

Reverted one last round of not-useful changes, squashed and rebased. I am sorry for all the churn.

I don't think it is useful to give nice names to universes. Quite the opposite in fact: having Type* whenever possible is best.

I see. I've heard two contradictory comments now, it's hard to adhere to both...
I don't care about this strongly enough to pursue this further. Feel free to re-use some of this is you do.


Create a persistence API.

Where persistence modules can be created and plugged in

blocked by #34
We'll be leveraging the event system through the API and we need to make it better first.

Event system is upgraded and public.


[Bug]: Terratech Worlds

Panel Version
11.1.5
Wings Version
1.11.1
Service
Terratech Worlds
Modified
No, I did not modify the egg
Expected Behavior
Server starts normally
Actual Behavior
Server is crashing, added WINEDEBUG to see the logs
[Pterodactyl Daemon]: Finished pulling Docker container image
steam user is not set.
Using anonymous user.
tid(23) burning pthread_key_t == 0 so we never use it
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/home/container/.steam/steam/logs/stderr.txt'
Logging directory: '/home/container/.steam/steam/logs'
minidumps folder is set to /tmp/dumps
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version<PHONE_NUMBER>
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
"@sSteamCmdForcePlatformType" = "windows"
Success! App '2533070' already up to date.
:/home/container$ rm /home/container/TT2/Saved/Logs/TT2.log; WINEDEBUG="" proton run ./TT2/Binaries/Win64/TT2Server-Win64-Shipping.exe -log & TTW_PID=$!; tail -c0 -F /home/container/TT2/Saved/Logs/TT2.log --pid=$TTW_PID
rm: cannot remove '/home/container/TT2/Saved/Logs/TT2.log': No such file or directory
tail: cannot open '/home/container/TT2/Saved/Logs/TT2.log' for reading: No such file or directory
fsync: up and running.
002c:fixme:winediag:loader_init wine-staging 9.0 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0070:err:wineusb:DriverEntry Failed to initialize Unix library, status 0xc0000135.
0070:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000135
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 126
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00ec:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00ec:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
00ec:err:systray:initialize_systray Could not create tray window
wine: Unhandled illegal instruction at address<PHONE_NUMBER>3991F8 (thread 012c), starting debugger...
0134:fixme:dbghelp:elf_search_auxv can't find symbol in module
Unhandled exception: illegal instruction in 64-bit code (0x000001423991f8).
0134:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:
 rip:00000001423991f8 rsp:0000000000b9fdf8 rbp:0000000000b9fef0 eflags:00010246 (  R- --  I  Z- -P- )
 rax:0000000000000000 rbx:000000014692a780 rcx:000000014692a780 rdx:0000000000b9fe20
 rsi:0000000144ed2ab8 rdi:00006fffffa6ca10  r8:000000014692a780  r9:0000000000b9fe20 r10:000000014692a780
 r11:0000000000000202 r12:00006fffffa6ca10 r13:00006fffffa7d210 r14:00006fffffa73463 r15:0000000000000000
Stack dump:
0x00000000b9fdf8:<PHONE_NUMBER>397715 00006fffffa6ca10
0x00000000b9fe08:  00006fffffa7d210<PHONE_NUMBER>b9fe80
0x00000000b9fe18:<PHONE_NUMBER>d2f63c cbe6e9901ad78523
0x00000000b9fe28:  d66b73a61b461b80 0242ff485cac744c
0x00000000b9fe38:  9a0e250036240a8f 00001ce4b331f8ca
0x00000000b9fe48:<PHONE_NUMBER>133450<PHONE_NUMBER>ed2ab0
0x00000000b9fe58:<PHONE_NUMBER>39a02d 00000950b9259838
0x00000000b9fe68:<PHONE_NUMBER>000000<PHONE_NUMBER>000000
0x00000000b9fe78:<PHONE_NUMBER>000000 00006fffffc10000
0x00000000b9fe88:<PHONE_NUMBER>3958c4<PHONE_NUMBER>000000
0x00000000b9fe98:<PHONE_NUMBER>000000<PHONE_NUMBER>000000
0x00000000b9fea8:<PHONE_NUMBER>000000 00006fffffa6ca10
Backtrace:
=>0 0x000001423991f8 in tt2server-win64-shipping (+0x23991f8) (0x00000000b9fef0)
  1 0x00000142397715 in tt2server-win64-shipping (+0x2397715) (0x00000000b9fef0)
  2 0x0000014239a02d in tt2server-win64-shipping (+0x239a02d) (0x00000000b9fef0)
  3 0x000001423958c4 in tt2server-win64-shipping (+0x23958c4) (0x00000000b9fef0)
  4 0x006fffffa097df in ucrtbase (+0x297df) (0x00000000b9fef0)
  5 0x00000144d30407 in tt2server-win64-shipping (+0x4d30407) (0x00000000b9ffa0)
  6 0x006fffffed473d in kernel32 (+0x1473d) (0x00000000b9ffa0)
  7 0x006ffffff4f3ff in ntdll (+0xf3ff)<PHONE_NUMBER>000000)
0x000001423991f8 tt2server-win64-shipping+0x23991f8: vpxor %xmm0, %xmm0, %xmm0
Modules:
Module  Address                                 Debug info      Name (75 modules)
PE-Wine         7bee0000-        7bfe1000       Deferred        opengl32
PE             140000000-       1473dd000       Export          tt2server-win64-shipping
PE             180000000-       180064000       Deferred        tbb
PE-Wine     6ffffd900000-    6ffffd926000       Deferred        concrt140
PE-Wine     6ffffd940000-    6ffffd94e000       Deferred        vcruntime140_1
PE-Wine     6ffffd960000-    6ffffd96c000       Deferred        vcruntime140
PE-Wine     6ffffd980000-    6ffffda53000       Deferred        msvcp140
PE-Wine     6ffffda70000-    6ffffda7e000       Deferred        cfgmgr32
PE-Wine     6ffffda90000-    6ffffdaa8000       Deferred        jsproxy
PE-Wine     6ffffdac0000-    6ffffdafd000       Deferred        winhttp
PE-Wine     6ffffdb10000-    6ffffdb30000       Deferred        msacm32
PE-Wine     6ffffdb40000-    6ffffdc01000       Deferred        winmm
PE-Wine     6ffffdc20000-    6ffffdc67000       Deferred        dsound
PE          6ffffdc80000-    6ffffdee1000       Deferred        dxgi
PE-Wine     6ffffdf00000-    6ffffdf34000       Deferred        uxtheme
PE-Wine     6ffffe140000-    6ffffe156000       Deferred        shcore
PE-Wine     6ffffe170000-    6ffffe1bb000       Deferred        shlwapi
PE-Wine     6ffffe1d0000-    6ffffeb06000       Deferred        shell32
PE-Wine     6ffffeb20000-    6ffffec40000       Deferred        oleaut32
PE-Wine     6ffffec50000-    6ffffec67000       Deferred        coml2
PE-Wine     6ffffec80000-    6ffffecc9000       Deferred        combase
PE-Wine     6ffffece0000-    6ffffede7000       Deferred        ole32
PE-Wine     6ffffef00000-    6ffffef17000       Deferred        bcrypt
PE-Wine     6ffffef30000-    6fffff002000       Deferred        crypt32
PE-Wine     6fffff2f0000-    6fffff2fd000       Deferred        nsi
PE-Wine     6fffff310000-    6fffff325000       Deferred        dnsapi
PE-Wine     6fffff340000-    6fffff365000       Deferred        iphlpapi
PE-Wine     6fffff410000-    6fffff42d000       Deferred        imm32
PE-Wine     6fffff440000-    6fffff474000       Deferred        win32u
PE-Wine     6fffff490000-    6fffff50f000       Deferred        gdi32
PE-Wine     6fffff520000-    6fffff6c3000       Deferred        user32
PE-Wine     6fffff890000-    6fffff8fe000       Deferred        setupapi
PE-Wine     6fffff910000-    6fffff98f000       Deferred        rpcrt4
PE-Wine     6fffff9a0000-    6fffff9c6000       Deferred        ws2_32
PE-Wine     6fffff9e0000-    6fffffaad000       COFF            ucrtbase
PE-Wine     6fffffac0000-    6fffffae8000       Deferred        sechost
PE-Wine     6fffffb00000-    6fffffb9e000       Deferred        msvcrt
PE-Wine     6fffffbb0000-    6fffffbf2000       Deferred        advapi32
PE-Wine     6fffffc10000-    6fffffeab000       Deferred        kernelbase
PE-Wine     6fffffec0000-    6ffffff23000       COFF            kernel32
PE-Wine     6ffffff40000-    6ffffffe7000       COFF            ntdll
ELF         76773f184000-    76773f1ac000       Deferred        libgpg-error.so.0
ELF         76773f1ac000-    76773f2f3000       Deferred        libgcrypt.so.20
ELF         76773f2f3000-    76773f2ff000       Deferred        libffi.so.8
ELF         76773f2ff000-    76773f380000       Deferred        libgmp.so.10
ELF         76773f380000-    76773f3c9000       Deferred        libhogweed.so.6
ELF         76773f3c9000-    76773f417000       Deferred        libnettle.so.8
ELF         76773f417000-    76773f42c000       Deferred        libtasn1.so.6
ELF         76773f42c000-    76773f5e2000       Deferred        libunistring.so.2
ELF         76773f5e2000-    76773f613000       Deferred        libidn2.so.0
ELF         76773f613000-    76773f747000       Deferred        libp11-kit.so.0
ELF         76773f747000-    76773f963000       Deferred        libgnutls.so.30
ELF         76773f983000-    76773f9ae000       Deferred        libexpat.so.1
ELF         76773f9ae000-    76773f9f9000       Deferred        libfontconfig.so.1
ELF         76773f9f9000-    76773fa1c000       Deferred        libbrotlicommon.so.1
ELF         76773fa1c000-    76773fa29000       Deferred        libbrotlidec.so.1
ELF         76773fa29000-    76773fa5f000       Deferred        libpng16.so.16
ELF         76773fa5f000-    76773fa7e000       Deferred        libz.so.1
ELF         76773fa7e000-    76773fb49000       Deferred        libfreetype.so.6
ELF         76773fb51000-    76773fc8b000       Deferred        opengl32.so
ELF         76773fc8b000-    76773fc9a000       Deferred        bcrypt.so
ELF         76773fc9a000-    76773fcab000       Deferred        libresolv.so.2
ELF         76773fcac000-    76773fcb3000       Deferred        crypt32.so
ELF         76773fcb3000-    76773fcb8000       Deferred        dnsapi.so
ELF         76773fcb8000-    76773fd97000       Deferred        libm.so.6
ELF         76773fd98000-    76773fd9f000       Deferred        ws2_32.so
ELF         76773fd9f000-    76773ff40000       Deferred        win32u.so
ELF<PHONE_NUMBER>00-    7677402b7000       Deferred        libgcc_s.so.1
ELF         7677402b7000-    7677402bc000       Deferred        librt.so.1
ELF         7677402bc000-    7677403b5000       Export          ntdll.so
ELF         7677403b8000-<PHONE_NUMBER>00       Deferred        libc.so.6
ELF<PHONE_NUMBER>00-    76774059e000       Deferred        libdl.so.2
ELF         76774059e000-    7677405a3000       Deferred        libpthread.so.0
ELF         7677405ad000-    7677405e1000       Deferred        ld-linux-x86-64.so.2
ELF         7677405e1000-    7677405e6000       Deferred        <wine-loader>
Threads:
process  tid      prio    name (all IDs are in hex)
00000020 steam.exe
        ["C:\windows\system32\steam.exe" ./TT2/Binaries/Win64/TT2Server-Win64-Shipping.exe -log]
        00000024    0
00000030 services.exe
        ["C:\windows\system32\services.exe"]
        00000034    0
        00000038    0     wine_rpcrt4_server
        00000044    0     wine_rpcrt4_io
        00000048    0     wine_threadpool_worker
        00000054    0     wine_rpcrt4_io
        0000007c    0     wine_threadpool_worker
        00000080    0     wine_threadpool_waitqueue
        0000008c    0     wine_rpcrt4_io
        00000098    0     wine_rpcrt4_io
        000000b8    0     wine_rpcrt4_io
        000000d0    0     wine_rpcrt4_io
        000000e4    0
        00000104    0     wine_rpcrt4_io
0000003c winedevice.exe
        [C:\windows\system32\winedevice.exe]
        00000040    0
        0000004c    0
        00000050    0     wine_sechost_service
        00000058    0
        00000060    0
        000000dc    0
        000000e0    0
00000084 winedevice.exe
        [C:\windows\system32\winedevice.exe]
        00000088    0
        00000090    0
        00000094    0     wine_sechost_service
        0000009c    0
        000000a0    0
        000000a4    0
000000b0 plugplay.exe
        [C:\windows\system32\plugplay.exe]
        000000b4    0
        000000bc    0
        000000c0    0     wine_sechost_service
        000000c4    0     wine_rpcrt4_server
000000c8 svchost.exe
        [C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted]
        000000cc    0
        000000d4    0
        000000d8    0     wine_sechost_service
000000fc rpcss.exe
        [C:\windows\system32\rpcss.exe]
        00000100    0
        00000108    0
        0000010c    0     wine_sechost_service
        00000110    0     wine_rpcrt4_server
        00000114    0     wine_rpcrt4_server
        0000011c    0     wine_threadpool_worker
00000128 (D) Z:\home\container\TT2\Binaries\Win64\TT2Server-Win64-Shipping.exe
        [./TT2/Binaries/Win64/TT2Server-Win64-Shipping.exe -log]
        0000012c    0 <==
        00000140    0
00000138 conhost.exe
        ["C:\windows\system32\conhost.exe" --server 0x2c --headless]
        0000013c    0
System information:
    Wine build: wine-9.0 (Staging)
    Platform: x86_64 (guest: i386)
    Version: Windows 10
    Host system: Linux
    Host version: 6.6.22-1-lts

Steps To Reproduce
Install Terratech Worlds
Start Server
Install logs
https://pteropaste.com/w9y8r1b0l3yu

are you using a virtual machine (kvm/proxmox) ? if so, the README in the egg dir states:
Proxmox VM(s): You'll need to change your Processor Type to Host (Default: kvm64)


Use npm icon for .npmrc

Hi @Hirse, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

@aeschli I understand. I have opened a PR there (https://github.com/jesseweed/seti-ui/pull/347), but the project seems to be slightly deserted: There hasn't been any commit or comment since the beginning of June.


Implement UTF-8 character support for label and metric names

Proposal
Relates to:
Original discussion
Brainstorming doc Quoting Prometheus Names
OTEL Attribute compatibility section
We are creating this issue as part of the OTEL Support milestone so it will be OTEL oriented but the problem is general to prometheus and has been around for a long time.
OTel allows UTF-8 in label names while Prometheus has a much more restrictive set. This is causing friction for users when using Prometheus. In particular, . (dot) is a very common character in OTel and we convert that to _ when converting to Prometheus. For example, service.version becomes service_version.
A proposal has been accepted to do this work:  https://github.com/prometheus/proposals/pull/28
Tasks

[ ] update openmetrics_parse
[ ] update promparse
[ ] update webui parser
[ ] tsdb design work for otel and other migration cases
[ ] tsdb meta.json bump
[ ] content negotiation in scraping
[ ] content negotiation in querying
[ ] https://github.com/prometheus/common/issues/527
[ ] https://github.com/prometheus/client_golang/issues/1369

(This is a clone of https://github.com/prometheus/prometheus/issues/12630 that I own so I can edit the top-level comment and track work here)

Design work will be needed for the tsdb changes -- determining how to query data that was written with old versions of prometheus will be tricky, for instance if an Otel metric goes from _ to . but doesn't use the U__ quoting syntax in the old metrics.

Ran into this issue with Grafana alert labels vs. Prometheus alert labels. Grafana supports -, but Prometheus does not. In order to avoid conflicts or multiple label sets, we'll need to replace - with _ in all of our alerts and notification policies next week.
Consistency between OTel, Prometheus, etc. would be fantastic.

https://github.com/prometheus/common/pull/537 in progress

https://github.com/ywwg/common/pull/2 in draft (write-side content negotiation)

Thanks for this! Question concerning "User-visible changes:" section. Should we take into account CNCF projects such as Thanos and Cortex?

Linking another utf8 support related issue https://github.com/prometheus/prometheus/issues/14990

I think we need more UI updates:

Autocompletion: If I just start to type a metric name, I get new-style names offered, but if I let them autocomplete, I end up with invalid syntax because it autocompletes to just foo.bar rather than doing its thing and autocompleting to {"foo.bar"}. If I try to be smart and start typing {", then I get no autocompletion at all.
In the table view, new-style metric names are displayed with invalid syntax, i.e.

The example above is still benign. The only annoying part is that you couldn't write it that way in PromQL.
However, how about this:

(The metric name above is literally foo{bar="baz"}.)


Add suport for spotifyd

I don't use the original spotify app neither the web app on chrome. I prefer using cli apps like spotify-tui with spotifyd daemon running in the background. That's why i'm asking to add support for spotifyd.

I came here to file just such a request! I would like spotifyd support as well. I mostly use spotify-tui and spotifyd.

@XenHat @FranciscoVasconcelos I'd love to add support for spotifyd/spotify-tui to swaglyrics for sure.
The way this can be done is getting the song and artist info from spotifyd if it is exposed. I will look into the repos to figure out if this is possible, then I can work on adding it to SwSpotify which is the cross platform library we use to get the currently playing song/artist.


redirect to relative path

I'll wait until 7.2.3 is complete before merging this.

Tested a clone of dlyongemallo:master, this works.
Please fix indentation then I'll merge.


refactor(traverse)!: rename Ancestor::is_via_* methods to is_above_*

#8031  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.


Peak finding correlation pattern in separate function

This allows users to get the correlation pattern for debugging and
visualization purposes.
I was missing this function when working on the bullseye example
Contributor Checklist:

[x] I have added myself to the creators.json file
[x] I have added a changelog entry for my contribution
[ ] I have added/updated documentation for all user-facing changes -- will be part of an upcoming example in LiberTEM-Examples
[ ] I have added/updated test cases -- tested by existing blobfinder tests

Looks good, thanks!


Extend the Files utility to support non-core modules and loading.

Overview
Articulated hand pose data loading from json files depends on finding paths in the InputSimulation folder. This was using a hardcoded relative path that can easily be broken by installing MRTK into a non-conventional directory.
The fix involves using the MixedRealityToolkitFiles utility class that registers the MRTK directory and provides convenient path construction. However, the utility was only registering the core MixedRealityToolkit path, so it has to be extended to track all the major modules in MRTK.
Changes

Fixes: #4448

It just occurred to me that using arbitrary mrtk paths (other than "Assets/MixedRealityToolkit" or "Assets/MRTK") will probably still not work. Not sure if/how the MRTFiles utility was handling that so far.

@andreiborodin Can we safely assume that the MRTK folders end in either "MixedRealityToolkit" or "MRTK" (with ".Service" etc. suffix)? If so, then the current test can be expected to work. I've tested by making a new project and moving the imported mrtk package folders into a subfolder.
Otherwise we will need a more sophisticated test, such as looking for the assembly that contains a class. Such an assembly/reflection based test would probably also need to run per-assembly because the core assembly doesn't link against any of the others. So we'd need a little test script in each module that registers its own module's path in the MixedRealityToolkitFiles.
https://stackoverflow.com/questions/52797/how-do-i-get-the-path-of-the-assembly-the-code-is-in

/azp run

The usual case here seems to be that people import the MRTK package into a subfolder as-is, i don't think we need to support changes the actual "MixedRealityToolkit***" folder names. Please shout if you think otherwise, i'm going to commit the change in the meantime since it fixes the immediate issue.


path-of-building: add desktop item

Description of changes
Added a desktop item for pob so pob:// urls on poe ninja etc can be opened directly.
Also formatted with nixfmt-rfc-style.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Seems good, thanks!


Introduces the stack create command

This PR introduces the stack command along with its create subcommand. It also moves the logic from install into stack create and makes install an alias of stack create. the logic basically stayed the same and just moved files. The commands are now documented in the README.
Included is a version bump and brief instructions in the README for testing locally.

Looks like I have a test to address, that is passing locally, but failing in CI related to Docker, may be a good time to start mocking a few things

CI is passing now that I've ignored those tests temporarily, this is ready for review


[Woptim] Shared CI 2023.12.0 and rocm 5.7.1

Supersedes #859
This Pull Request updates the Shared CI infrastructure to its latest version and updates the external packages and compilers.
In particular, we now test with rocm 5.7.1 on tioga, and rocm 5.7.0 on corona, and cce 16.0.1 on both.

@davidbeckingsale ready except for corona out a.t.m.

@davidbeckingsale This is ready to go.


[package_info] uses or overrides a deprecated API.

Note: /home/cirrus/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.0+2/android/src/main/java/io/flutter/plugins/packageinfo/PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

I would appreciate a response from flutter team.
Can we resolve this warning?

Hi, just want to check if this is still a problem for you.

Yes it is

Hi @kw2019ltd
can you please provide your updated  flutter doctor -v
and your flutter run --verbose?
Thank you"

@iapicca
Why? Did you fix it yet?

The issue doesn't seem present with the latest version of package_info

sample
import 'package:flutter/material.dart';
import 'package:package_info/package_info.dart';

void main()=> runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
    home: HomePage(),
  );
}

class HomePage extends StatelessWidget {

  @override
  Widget build(BuildContext context) => Scaffold(
    body: FutureBuilder<PackageInfo>(
      future: PackageInfo.fromPlatform(),
      builder: (BuildContext context, AsyncSnapshot<PackageInfo> snapshot) => snapshot.hasData
        ? ListView(
          children: <Widget>[
            Text(snapshot.data.appName),
            Text(snapshot.data.packageName),
            Text(snapshot.data.version),
            Text(snapshot.data.buildNumber),
          ],
        )
        : CircularProgressIndicator(),
  ),);
}

flutter doctor -v
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.19013.1122], locale en-US)
    • Flutter version 1.9.1+hotfix.6 at C:\src\flutter
    • Framework revision 68587a0916 (3 months ago), 2019-09-13 19:46:58 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\iapic\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 41.1.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code, 64-bit edition (version 1.40.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.6.0

[√] Connected device (1 available)
    • Pixel 3a • 965AY0WP5C • android-arm64 • Android 10 (API 29)

• No issues found!

I'm closing this issue, if you disagree please write in the comments and I will reopen it
Thank you

Just checked it with my own App and at least on latest master this is still a problem
Flutter 1.12.16-pre.35 • channel master • https://github.com/flutter/flutter
Framework • revision b9a56b9f48 (3 days ago) • 2019-11-29 20:40:44 -0500
Engine • revision 8672e79af8
Tools • Dart 2.7.0
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\escam\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.1+2\android\src\main\java\io\flutter\plugins\deviceinfo\DeviceInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\escam\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\package_info-0.4.0+11\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\escam\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider-1.4.5\android\src\main\java\io\flutter\plugins\pathprovider\PathProviderPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

I am facing same issue now..
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\package_info-0.4.0+13\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6\android\src\main\java\io\flutter\plugins\sharedpreferences\SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
    setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
                        ^
1 warning

I also got the same issue after upgrade to the latest flutter stable version.
注: /Users/someUser/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.0+13/android/src/main/java/io/flutter/plugins/packageinfo/PackageInfoPlugin.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: /Users/someUser/.pub-cache/hosted/pub.dartlang.org/path_provider-1.5.1/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
/Users/someUser/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.6/android/src/main/java/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.java:25: 警告: [deprecation] FlutterPluginBinding中的getFlutterEngine()已过时
setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());

After add the follow line code as the first line of main() function, I can compile my project.
WidgetsFlutterBinding.ensureInitialized();

I am facing same issue now..
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\package_info-0.4.0+13\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6\android\src\main\java\io\flutter\plugins\sharedpreferences\SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
    setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
                        ^
1 warning

try add WidgetsFlutterBinding.ensureInitialized();as your first line of main() function.

I am facing same issue now..
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\package_info-0.4.0+13\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6\android\src\main\java\io\flutter\plugins\sharedpreferences\SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
    setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
                        ^
1 warning

try add WidgetsFlutterBinding.ensureInitialized();as your first line of main() function.

The warning is showing also after adding WidgetsFlutterBinding.ensureInitialized();

Same issue

Note: /opt/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.5.1/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /opt/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.3.3/android/src/main/java/vn/hunghd/flutterdownloader/DownloadWorker.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
/opt/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.6/android/src/main/java/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
^
1 warning
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

I'm seeing Deprecated API warnings in a fresh 1.12.13+5 flutter project for the following plugins:

DeviceInfoPlugin.java
FirebaseCrashlyticsPlugin.java
FirebaseMessagingPlugin.java
PackageInfoPlugin.java
PathProviderPlugin.java
SharedPreferencesPlugin.java

Steps to reproduce:

Create a new flutter project with Flutter sdk v 1.12.13+5
update pubspec.yaml to include the dependencies listed above:
device_info: ^0.4.1+4 firebase_crashlytics: ^0.1.2+4 firebase_messaging: ^6.0.9 package_info: ^0.4.0+13 shared_preferences: ^0.5.6
Install dependencies $ flutter pub get
Run the sample project

Flutter Doctor results:
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G2022, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.39.2)
[✓] Connected device (1 available)
• No issues found!

C:\Users\mahdi\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.1+4\android\src\main\java\io\flutter\plugins\deviceinfo\DeviceInfoPlugin.java uses or overrides a deprecated API.

Hi all
please read this answer
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

@iapicca as the plugins don't have their own issues I reopen it again

Same issue

Task :package_info:compileDebugJavaWithJavac
Note: D:\Flutter\Sdk.pub-cache\hosted\pub.dartlang.org\package_info-0.4.0+13\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

Adding multiDexEnabled true to android/app/build.gradle fixes this error for me:
android {
    ...
    defaultConfig {
        ...
        multiDexEnabled true
    }

But I'm not entirely sure if I should do this.


Treat key-auth's config.anonymous "" as null

Summary
In the past key-auth's config.anonymous was set to "" (empty string) in the database. Starting Kong 2.0 that causes failed to load anonymous consumer error.
Steps To Reproduce
We upgraded from Kong 1.4 to 2.0.2. (And previously 0.9 to 1.1, then 1.1 to 1.4). Very early we added key-auth plugin like this
curl -s -X POST \
  --url http://localhost:8001/services/ourservice/plugins/ \
  --data 'name=key-auth'

without any other config values set.
In Kong 1.4 and 2.0 in the database that get stored as
select * from plugins where name='key-auth' and consumer_id is null;

id          | edca177b-77b6-457c-9019-9105badbeea1
name        | key-auth
api_id      |
consumer_id |
config      | {"anonymous": "", "key_names": ["apikey"],
"hide_credentials": false, "run_on_preflight": true}

Based on the documentation https://docs.konghq.com/hub/kong-inc/key-auth/ I wouldn've expected the database to show "anonymous: null" or the key not existent. https://github.com/Kong/kong/commit/91a5738dcf5 looks like the change from boolean to string type.
No problem in Kong 1.4. A URL request without any authentication key (key name apikey by default) set, e.g. curl http://localhost:8000/ourservice/ returns HTTP/1.1 401 Unauthorized and body {"message":"No API key found in request"}.
Starting Kong 2.0 the same request returns HTTP/1.1 500 Internal Server Error with body {"message":"An unexpected error occurred"}. The kong logfile contains *2400 [kong] handler.lua:193 [key-auth] failed to load anonymous consumer:failed to get from node cache: [postgres] length must be at least 1, client: <IP_ADDRESS>, server: kong, request: "GET /ourservice HTTP/1.1", host: "localhost:8000"
It is no longer clear what set anonymous": "" in the database in the past, but it seems it was the default setting. Upgrading to Kong 2.0 broke the default behaviour.
Comment https://github.com/Kong/kong/issues/3222#issuecomment-365750935 from Kong 0.12.1 shows an example how the value was set to empty string in the past.
https://github.com/Kong/kong/issues/2539 shows how Kong 0.10. set the default to empty string and how previous logic looked at both empty string and null/nil.
.//kong/plugins/key-auth/handler.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then

Expected behaviour
Either

Add a note about a breaking change to the https://github.com/Kong/kong/blob/master/UPGRADE.md documentation
Have a migration convert the value during an upgrade ("" to null)
Treat empty string the same as null

I'd prefer the latter, but the Kong maintaners are more expert at backward compatibility, the DAO (which keeps changing) and side-effects with other auth plugins. I argue a Kong administrator setting the value to empty string made clear it's neither meant to be a UUID or username.
Workaround
We changed the value in the database with a SQL statement. It was unclear how to unset a value. Setting it to null via the Admin API returned {"message":"invalid primary key: '{id=\"expected a valid UUID\"}'","name":"invalid primary key","fields":{"id":"expected a valid UUID"},"code":1
Additional Details & Logs

Kong version (2.0.2)
Ubuntu 16

I am having the same problem with key-auth after upgrading from 1.4 to 2.0 And it seems we have a very similar problem with the plugin basic-auth:  Here the old value of config.anonymous isn't "" (empty string) but it is missing instead. But the resulting error is the same. May this problem could be fixed at the same time. Thank you!
In the meantime as a workaround setting config.anonymous to null works for me:
curl -i -X PATCH --url http://mykong/plugins/<plugin_is> --data "config.anonymous="


Get deps to dependencies section

Currently, it does not work as it throws Uncaught (in promise) TypeError: Object.defineProperty called on non-object error.
See details here.


Conditional use

I am updating my uwp app to use the visual layer in select places.  The target platform min Version is 10240, so I need to conditionalize the use of the visual layer.  Please add an example of how to do  this to one of your samples or user documentation.  Here is what I am currently doing to accomplish this:
if ( Windows.Foundation.Metadata.ApiInformation.IsMethodPresent("Windows.UI.Xaml.Hosting.ElementCompositionPreview", "GetElementVisual") )
{}

@ktd12 Yes we are definitely looking at developing a sample for fallback.
There's a spectrum of conditions to incorporate when thinking about fallback and they can be unique to each application so there isn't a one size fits all solution unfortunately.
Here are some aspects to consider:

The basic availability of the Composition API
E.g. If ElementCompositionPreivew.GetElementVisual is present which you call out
If it's present, the availability of a specific feature within the Composition API
E.g. Drop shadows are only available on builds greater than 10586
The availability of Effects per build
E.g. GaussianBlur is only available on builds greater than 10586, however it can be defined at author time on lower builds, it just won't be available at run time.

So depending on the specific usage of the API will influence how you perform your fallback.
Thanks for the feedback, as we really appreciate it because we want to know what our developers want to see!

Great, Thanks.  By the way, your API is really awesome and easy for a XAML developer to use.  It was your sessions at Build 2016 that got me to take a look at the Composition API.   FYI, I am changing the uwp app Visual Timers so that it scales a sprite instead of resizing a xaml rectangle (which is much better because the animation doesn't run on the UI thread).


Improve checks in grpcserver_test for better failure messages

Motivation
Currently, when the tests in the grpcserver_test.go file fail (which happen sporadically - the tests are flaky), they emit an enigmatic log:

Error:          inner account data item has wrong data type

That is not super helpful. A test could print what type it actually got vs the exptected one.
Changes
Use require.IsType(...) to check if foo interface{} is of the expected type. It will print the actual type of the foo in case of failure.
DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors merge


A quote from Nietzsche

He who fights with monsters should look to it that he himself does not become a monster. And if you gaze long into an abyss, the abyss also gazes into you.
I believe this is appropriate.

Amen


StabilityInference.generate doesn't supports Sequence[int] as seed

As type hinted here, StabilityInference.generate should supports a Sequence[int] as seed but is overwrited here.
PR in-progress

thanks for the contribution!


Rectify::Policy

What about to add policy layer ? Class that knows the answers for all questions > predicates? methods. Something like ProductPolicy.destroy?(product) #=> true/false
I can contribute this if need.
P.S. This lib is awesome. For sure will use it for my next pet project. Thanks a lot for your approach.

Why not use just pundit?

Same as why don't use just Virtus or Draper. Rectify collect a set of good patterns. I think in this chain still missed policies and repositories.

Thanks for the suggestion @sveredyuk and glad you are liking the project.
Regarding policies, I personally use either pundit or a plain Ruby object depending on the project. At this point I would like to keep the gem relatively lean and only add functionality that doesn't already have a lightweight solution.
This might be something that changes in the future, and maybe some documentation and examples might be something worth doing.
Thanks again for the suggestion, if you have anymore then feel free to post them!
❤  💛  💙  💚  💜


Local devcontainer Dockerfile

Change Summary
Allows users with platforms not built by the avd-base image currently to locally build and leverage a devcontainer for development built using their platform of choice.  (avd-base does not support apple silicon/arm currently)
Related Issue(s)
Fixes #1685
Proposed changes

Create a Dockerfile based on @titom73 wonderful work at https://github.com/arista-netdevops-community/docker-avd-base

How to test

Open VS Code
Either hit F1 and select reopen in container or click the prompt when VS Code loads

Checklist
User Checklist

[x] Optimize/Shrink Docker image
[x] Update curated list of pre-installed VS Code extensions useful for this repo (some original are old)
[ ] Update documentation

Repository Checklist

[X] My code has been rebased from devel before I start
[X] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation and documentation have been updated accordingly.

Thank you for looking into this @ryanmerolle. I will add some assignees who are also using the devcontainer. I will also flip this PR to draft until you are done.

I will pause on this while we discuss in #1685

We have taken the decision to deprecate the dev container, so we will be closing this PR.


How to use in Xamarin.Forms include UWP?

How to use in Xamarin.Forms include UWP?

Same way as on any other platform.

Tesseract doesn't support UWP

Thank you! Do you know any libraries OCR in Xamarin.forms support UWP?

I don't know what specific features you need for Xamarin.Forms but for UWP you will find a pretty good OCR engine https://docs.microsoft.com/en-us/uwp/api/windows.media.ocr.ocrengine


Enhancement: form integration for radio button checkbox and text field

By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---
CONTRIBUTING.md also tells you what to expect in the PR process.
Description
Adds form integration to checkbox, radio-button and text-field.
Uses stencil formAssociated to implement the integration
Related Issue
#1158

📦 Published PR as canary version: 21.9.3--canary.1284.e6f2944410f61c1e1ca1d397d5bd24a9029dfc6c.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

@pfafffabian-ifx
The values are still not submitted.
I don't understand the changes that you have made, and their intended goal.
You have removed the name property, and included the attachedInternals decorator. It is unclear to me what is this decorator do, and what is it supposed to achieve? Could you please explain your changes.

@tishoyanchev I follwed the stencil documentation for form-associated components.
The name property doesn't need to be explicitly mentioned, however I can add it again if prefered.
I tested whether it works with the E2E tests and with this form in the index.html:
    <form id="testForm" action="http://www.example.com" method="get" >
      <ifx-text-field id="formName" name="name"></ifx-text-field>
      <ifx-radio-button id="formRadio" name=radio></ifx-radio-button>
      <ifx-checkbox id="formCheckbox" name="checkbox"></ifx-checkbox>
      <ifx-button type="submit" theme="default" size="s" disabled="false" icon="false">
        Submit form
      </ifx-button>
      <ifx-button type="reset" variant="secondary" theme="default" size="s" disabled="false" icon="false">
        Reset form
      </ifx-button>
    </form>

@tishoyanchev I follwed the stencil documentation for form-associated components. The name property doesn't need to be explicitly mentioned, however I can add it again if prefered.
I tested whether it works with the E2E tests and with this form in the index.html:
    <form id="testForm" action="http://www.example.com" method="get" >
      <ifx-text-field id="formName" name="name"></ifx-text-field>
      <ifx-radio-button id="formRadio" name=radio></ifx-radio-button>
      <ifx-checkbox id="formCheckbox" name="checkbox"></ifx-checkbox>
      <ifx-button type="submit" theme="default" size="s" disabled="false" icon="false">
        Submit form
      </ifx-button>
      <ifx-button type="reset" variant="secondary" theme="default" size="s" disabled="false" icon="false">
        Reset form
      </ifx-button>
    </form>

So does it work for you? When you submit the form, the values are submitted too? They're not being submitted for me.

@tishoyanchev I follwed the stencil documentation for form-associated components. The name property doesn't need to be explicitly mentioned, however I can add it again if prefered.
I tested whether it works with the E2E tests and with this form in the index.html:
    <form id="testForm" action="http://www.example.com" method="get" >
      <ifx-text-field id="formName" name="name"></ifx-text-field>
      <ifx-radio-button id="formRadio" name=radio></ifx-radio-button>
      <ifx-checkbox id="formCheckbox" name="checkbox"></ifx-checkbox>
      <ifx-button type="submit" theme="default" size="s" disabled="false" icon="false">
        Submit form
      </ifx-button>
      <ifx-button type="reset" variant="secondary" theme="default" size="s" disabled="false" icon="false">
        Reset form
      </ifx-button>
    </form>

For some reason it worked this time. I will review it again and then merge it. Good job.

@pfafffabian-ifx

when the disabled property is added (disabled="false"), the value is not submitted. This goes for radio-button, checkbox and text-field.
can you also add the name attribute on these components in storybook?
can you also add form integration to ifx-switch and ifx-date-picker?

@tishoyanchev The element is disabled once the disabled property is present, exactly as in default HTML components, e.g. <input disabled></input>.
Stencil also has an Issue about this topic and if I understood correctly, the behaviour we currently have would comply with the standard.

@pfafffabian-ifx

About the disabled. Interesting discussion! I can't say I agree with it, but at least now we know.
About the name attribute. I can see it in stories file, but it's not reflected in the actual storybook page. It's not there.
Could you please resolve the merge conflict? This could also be the reason for the name attribute not showing up in SB

@tishoyanchev
I resolved the merge conflict and added the description for the text field.
However, I somehow already saw the name property in the storybook without this change.
Maybe we should consider adding something like a devcontainer, if we keep having these issues, or is that only with me?

@tishoyanchev I resolved the merge conflict and added the description for the text field. However, I somehow already saw the name property in the storybook without this change. Maybe we should consider adding something like a devcontainer, if we keep having these issues, or is that only with me?

Looks good now. I can see the prop name in Storybook now.
Can you please also resolve the failed check?

@tishoyanchev should be ready now. Seems like the pipeline just had network issues


Quality of life improvements

Restore focus to the last fucused window after closing scratchpad
Always open scratchpad on the left edge

@FraserLee Is this something that would make sense to add?

Sorry for the late reply. Just checked it over and it seems to work great. Thanks!


Ensure fireChannelActive(...) is always called before fireChannelActi…

…ve(...)
Motivation:
fireChannelActive(...) must always be called before fireChannelActive(...) which was not the cause all of the times as once ChannelOptions were applied to the accepted SocketChannel it was possible that read0() was called during this. This would then lead to an assert error as it tried to reregister on the Selector before we ever registered.
Modifications:

Ensure we only try to reregister once we have registered to the Selector
Only trigger read0() or pauseRead0() if the autoRead value actually changed
Add unit test

Result:
Correct order of events and no crashes.

Thanks @vlm for reporting

@Lukasa lol... amend the commit message. I guess it was a bit late yesterday 🤦♂


Rewrite Maven: Adding xml comments within a maven POM file

Is it possible to add XML comments within a POM xml file?
For example, the use case would be to detect the presence of a maven dependency, and in that case add an XML comment associated to that dependency, either inside the dependency TAG or as a new TAG after or before it.
I have tried to create a recipe for this purpose but I have not been able to do it at all. The recipe is as follows:
  @Override
  protected TreeVisitor<?, ExecutionContext> getVisitor() {
    return new MavenIsoVisitor<ExecutionContext>() {
      @Override
      public Xml.Tag visitTag(final Xml.Tag tag, final ExecutionContext ctx) {
        if (this.isDependencyTag("org.jasypt", "jasypt")) {

          // xml comment
          final Xml.Comment customComment = new Xml.Comment(randomId(),
              tag.getPrefix(),
              Markers.EMPTY,
              "custom comment into dependency!!!");

          // Change Content of dependency Tag
          this.doAfterVisit(new ChangeTagContentVisitor<>(tag, Collections.singletonList(customComment)));
        }
        return super.visitTag(tag, ctx);
      }
    };
  }

But this way I only manage to mash the content of the dependency with the comment, instead of adding it to the Content groupId and artifactId...
For a POM with this content before:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.5</version>
        <relativePath/>
    </parent>
    <groupId>com.example.openrewrite.test</groupId>
    <artifactId>demoOpenrewrite</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demoOpenRewrite</name>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.3</version>
        </dependency>
    </dependencies>
</project>

The result obtained after is:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.5</version>
        <relativePath/>
    </parent>
    <groupId>com.example.openrewrite.test</groupId>
    <artifactId>demoOpenrewrite</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demoOpenRewrite</name>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <!--custom comment into dependency!!!-->
        </dependency>
    </dependencies>
</project>

When the expected/desired is:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.5</version>
        <relativePath/>
    </parent>
    <groupId>com.example.openrewrite.test</groupId>
    <artifactId>demoOpenrewrite</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demoOpenRewrite</name>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <!--custom comment into dependency!!!-->
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.3</version>
        </dependency>
    </dependencies>
</project>

Is it possible to do this? It would be interesting to be able to add comments, either from maven, yaml, java...
thank you very much.

Is it possible to add XML comments within a POM XML file?

Yes, it is possible with a slight adjustment. The ChangeTagContentVisitor does a replacement of the content in the tag through t = t.withContent(content);. So, you'll need to add the comment to the Tag's content in the position you'd like the comment.
// Example: tagContentWithComment = ListUtils.concat(Collections.singletonList(customComment), tag.getContent())
this.doAfterVisit(new ChangeTagContentVisitor<>(tag, tagContentWithComment));

Is it possible to do this? It would be interesting to be able to add comments, either from maven, yaml, java...

There is a recipe that marks dependencies without modifying the AST if you'd prefer to identify the dependencies without a long-lasting comment. FindDependency will add a Marker to the dependency so that it's printed in a diff, but does not change the AST.
@ferblaca does that answer your questions?

hi @traceyyoshima,

Yes, it is possible with a slight adjustment. The ChangeTagContentVisitor does a replacement of the content in the tag through t = t.withContent(content);. So, you'll need to add the comment to the Tag's content in the position you'd like the comment.

Yes, I tried several ways to concatenate the Xml.Comment to the tag.getContent() list without success.
For the following code:
// Change Content of dependency Tag
this.doAfterVisit(new ChangeTagContentVisitor<>(tag, ListUtils.concat(Collections.singletonList(customComment), tag.getContent())));

The compilation error is as follows:
[ERROR] /home/fbc/workspaces/ferblaca/OpenRewriteRecipe/src/main/java/com/ferblaca/openrewrite/recipes/AddCommentIntoMavenDependencyTag.java:[37,15] cannot infer type arguments for org.openrewrite.xml.ChangeTagContentVisitor<>
[ERROR]   reason: inference variable T has incompatible bounds
[ERROR]     equality constraints: org.openrewrite.xml.tree.Content
[ERROR]     lower bounds: java.util.List<capture#1 of ? extends org.openrewrite.xml.tree.Content>,org.openrewrite.xml.tree.Xml.Comment

There is a recipe that marks dependencies without modifying the AST if you'd prefer to identify the dependencies without a long-lasting comment. FindDependency will add a Marker to the dependency so that it's printed in a diff, but does not change the AST.

So it wouldn't change the AST, would it? As a suggestion, it would be nice to be able to add comments for the different types of Sources.

it would be nice to be able to add comments for the different types of Sources modifying the AST.

Interesting idea! I'm not sure exactly what you mean by it would be nice to be able to add comments for the different types of Sources modifying the AST., would you mind explaining the idea in more detail?

@ferblaca What do you think about this recipe?

@ferblaca What do you think about this recipe?

I think it's great!
just one thing, the xPath parameter would be useful to be able to differentiate between adding a comment in managed dependencies and "normal" dependencies, right? since the recipe is totally oriented to TAGs of type dependency...

it would be nice to be able to add comments for the different types of Sources modifying the AST.

Interesting idea! I'm not sure exactly what you mean by it would be nice to be able to add comments for the different types of Sources modifying the AST., would you mind explaining the idea in more detail?

Yes, I mean that as XML, and I think JSON in OpenRewrite, YAML and other SourceFiles types have the possibility to add comments. Maybe it's already possible and I'm talking nonsense.

I think it's great!

Great, I updated the recipe name, the display name, and the description based on feedback. I'll merge the PR in a moment.

Yes, I mean that as XML, and I think JSON in OpenRewrite, YAML and other SourceFiles types have the possibility to add comments. Maybe it's already possible and I'm talking nonsense.

Thank you, your clarification is helpful!
Languages:
XML - I'll open an issue to add a similar recipe for XML.
JSON - Unfortunately, no, since JSON does not support comments.
YAML - It is possible to add comments to YAML already, but it is challenging in general. I think the community will need to voice a real need for the functionality before adding a recipe like this.


Kustomize components - deployment require copy only include

Command

[ ] check-image-updates
[ ] delete
[X] deploy
[ ] diff
[ ] helm-pull
[ ] helm-update
[ ] list-images
[ ] list-targets
[ ] poke-images
[ ] prune
[X] render
[ ] seal
[ ] validate
[ ] version

Who are you?
Petr, 42, SRE engineer
What do you want to do?
Assume this simple scenario using Kustomize Component
cluster/com_dockerconfig/kustomization.yml:
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

secretGenerator:
- name: myorg.azurecr.io
  type: kubernetes.io/dockerconfigjson
  files:
  - .dockerconfigjson=./../../secrets/dockerconfig-auth-azure-io.json

used by cluster/etcd/kustomization.yml
namespace: etcd

components:
- ../com_dockerconfig

now on cluster/deployment.yml
# https://kluctl.io/docs/kluctl/reference/deployments/deployment-yml/

deployments:
# cluster
#- path: com_dockerconfig       # FIXME, needs only copy, but not render
#- path: com_wingman-signer  # FIXME, needs only copy, but not render
- path: etcd

Without the lines, marked as FIXME it does fail obviously, as data are not copied to the build directory.
...
.build/0/cluster/com_dockerconfig: no such file or directory"

That can be workorounded by using path statement (FIXME lines), but in that case it evaluates the content of the folder and try to deploy the content anyway after kluctl deploy -t test --dry-run
New objects:
...
...
  default/Secret/myorg.azurecr.io

^^ I never wanted that secret under default namespace
Why do you need that?
I am sorry if I have not read documentation carefully and some solution exist, but seems to me that we need new deployment statement that will only copy paths to build dir, but not call Kustomize on them.
Certainly the whole thing has simple solution, ie: move the components under some deployment directory with Kustomize sources. However that is little against logic even in Kustomize. If some resource is shared multiple times, one want to define it close to root hiearchy and refer to it with ../../ etc.. rather then copy it few times across the repository.
Another alternative would be if Kustomize would accept to search for paths. Ie:, paths used on kustomization.yml would be either searched from some "kustomize root/base" as well as tried locally (first).
[low priority]

Can you try:
deployments:
# cluster
- path: com_dockerconfig
  onlyRender: true
- path: com_wingman-signer
  onlyRender: true
- path: etcd

Looks like I never documented this field :)
I'll create a PR with a docs fix in a few minutes.

While writing e2e tests for onlyRender I figured out that this feature got broken some time ago, which I never realised due to missing tests. I'll fix it for the next release.


added binja function data, function headers, global vars, and structs

@mmaekr this is literally a perfect PR. The coding standard and functionality is all there. Nice stuff


KAFKA-13024

Disclaimer: This patch is WIP. Its purpose is to demonstrate a chosen approach and get feedback from committers.a
Summary
This patch solves KAFKA-13024 and KAFKA-13183 by introducing a concept of decorator nodes in the topology. The idea behind decorator nodes is similar to a decorator pattern - to extract common added behaviour from different entities.
Specifically, this patch introduces 2 decorator nodes - DropNullKeyNode and DropNullKeyValueNode. These nodes have a single method decorate that accepts a ProcessorSupplier and returns another ProcessorSupplier that filters null keys/key-values respectively. Besides fixing 2 issues mentioned above (dropping null keys on repartition, missing metrics), there are 2 advantages to this approach:

It reduces code duplication around if (record.key() == null....
As @mjsax suggested in this comment, It optimizes away duplicated null-key/value processing from the topology.

Implementation details
The decorators are set by nodes according to a new parameter in processor parameters:
https://github.com/apache/kafka/blob/b4c3adc3ce3f40ad96400b94379fa206d782922f/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/ProcessorParameters.java#L45-L52
Currently ± working example is StatefulProcessorNode where the original processor supplier is decorated:
https://github.com/apache/kafka/blob/b4c3adc3ce3f40ad96400b94379fa206d782922f/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StatefulProcessorNode.java#L85-L92
Decorators are added to the topology together with the decorating node:
https://github.com/apache/kafka/blob/b4c3adc3ce3f40ad96400b94379fa206d782922f/streams/src/main/java/org/apache/kafka/streams/kstream/internals/InternalStreamsBuilder.java#L229-L240
Then, InternalStreamsBuilder#buildAndOptimizeTopology removes duplicating downstream decorators and attaches the remaining ones to the decorated nodes. The decorator nodes are not present in the final topology.
Added tests in InternalStreamBuilderTest and KStreamRepartitionIntegrationTest.java describe how the decorator operations are done.

The following description reflects the first take at this issue and is left here only for completeness.
~Right now, the repartition operator always filters out null keys. This behavior is not correct and is a regression compared to the deprecated through operator.~
~This patch fixes the issue by filtering null keys only for optimizable repartition nodes. First, it removes unnecessary processor node from the topology for UnoptimizableRepartitionNode. Second, it only adds the filtering processor only if the node is optimizable. I introduced an isOptimizable boolean method for repartition nodes to make this property more obvious in the code.~
~To verify that change, I added a new test to the repartition integration suite that produces pairs with null keys and expects them to be present after the repartition.~
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

CI test failure is caused by a a known flaky test - (KAFKA-8541, so probably unrelated.

Thanks for the review! I agree that solving this issue by removing the not-null optimization completely is very much suboptimal. 8f176cb reverts the first commit. 7c6e97f introduces another approach where UnoptimizableRepartitionNode adds the not-null filter iff all downstream operations drop the null keys.

@suhas-satish Good idea! I'll take some time next week to rebase and provide proper description.

Hello @Gerrrr @mjsax thanks for kicking starting on this issue! I made a first pass on it and have a few quick thoughts.

First I want to make sure I understand the scope of the fix. My take is that we are only fixing KStream, since for KTable it's always safe to filter null keys; and again it's trying to maintain the original optimization but only when all downstream operators after the repartition are going to filter null keys, i.e. as long as one downstream operator is not a per-key stateful operator that filters null keys then we should not apply this optimization. Is my understanding right?

If 1) is right, then I'm wondering if we can just use the KStreamFilter still, but only at the end of the topology building as we've constructed and learned about all the nodes in the topology, hence in the optimize function then. My main rationale is that, we would not be able to decide whether the optimization on the upstream can be used until the topology has been fully constructed hence only then we would learn about all the downstream nodes.

Thanks for taking a look at this PR @guozhangwang !

we are only fixing KStream, since for KTable it's always safe to filter null keys

Yes

it's trying to maintain the original optimization but only when all downstream operators after the repartition are going to filter null keys, i.e. as long as one downstream operator is not a per-key stateful operator that filters null keys then we should not apply this optimization.

This patch drops null keys on repartition only if the downstream operation drops them (see KStreamRepartitionIntegrationTest#shouldDropNullKeysOnRepartitionWithDownstreamAggregate).
First, we mark certain operations that filter null keys or keys and values as such via corresponding ProcessorParameters (see https://github.com/apache/kafka/pull/11447/files#diff-b80820b46c327e9a393d3b2435f3c141745d7c99b02196744dbe2bbdb2fd95acR65-R67). Based on these parameters, we prepend decorator nodes in the logical topology before their graph nodes (see InternalStreamsBuilder#addGraphNode). Then, InternalStreamsBuilder#applyDecorators traverses the topology and removes redundant decorators (e.g. multiple operations in a row filter our null keys). Finally, InternalStreamsBuilder removes decorators from the logical topology and attaches them to their successor nodes.
When ProcessorGraphNodes call writeToTopology, they check that a decorator is attached. If the decorator is attached, it wraps the processing code (e.g. https://github.com/apache/kafka/pull/11447/files#diff-61f97d0e2f4db6ed1fd994da154c3955fe943c76559217e27b0b1e10daba4623R85-R92)
See InternalStreamsBuilder#applyDecorators for more details.

Can we just use the KStreamFilter?

@mjsax was concerned that adding KStreamFilter will change the physical topology and might break user workflows if they rely on node names. This patch does not introduce new nodes to the physical topology.

we would not be able to decide whether the optimization on the upstream

I might be missing the full picture here as I am a bit new to the project, but, as I see it, the algorithm I described above does not suffer from this issue. There, we essentially extract if (record.key() == null || record.value() == null) { code from the operations (e.g. https://github.com/apache/kafka/pull/11447/files#diff-ad3728ff5f32ed1e88e11e46c0de970bcce01c39767fd3ae666e4a0bfbd97be3L87-L104), except we also don't check for that condition more than necessary.

I might be missing the full picture here as I am a bit new to the project, but, as I see it, the algorithm I described above does not suffer from this issue. There, we essentially extract if (record.key() == null || record.value() == null) { code from the operations (e.g. https://github.com/apache/kafka/pull/11447/files#diff-ad3728ff5f32ed1e88e11e46c0de970bcce01c39767fd3ae666e4a0bfbd97be3L87-L104), except we also don't check for that condition more than necessary.

My rationale is that, we do some optimizations at the end of the building phase which may move some repartition up in the topology etc, which would effectively change the topology. And hence, we would not know if all of the downstream operators after the repartition would be filtering null keys until the optimization that changed the topology is done.

My rationale is that, we do some optimizations at the end of the building phase which may move some repartition up in the topology etc, which would effectively change the topology. And hence, we would not know if all of the downstream operators after the repartition would be filtering null keys until the optimization that changed the topology is done.

Ah, I missed that! Let me do another iteration on this patch then to make sure that it does not get in the way of suggested optimization.


Syntax sugar for notifier.notify

Instead of:
notifier.notify({message: 'Hi'})
I think we should be able to use:
notifier.notify('Hi').
The title should be the default - 'Node Notification' or whatever it is on each system.
It's cleaner and gets the point across better. Just my thoughts.

Good idea. This is something I do on gulp-notify. I accept patches if you have some time to spare. :+1:

@mikaelbr I submitted a PR to fix this issue, but I left WindowsBalloon alone- I explained why here.

Was this ever resolved? @rioc0719 @mikaelbr

I was thinking we could try something like this. In @rioc0719 's pull request, he only states the message (notifier.notify('message');), but I was thinking maybe we could read the program's package.json and get the title of the app, and make that the notification's title, aswell as setting the sound = true, amongst other options that can be used.
I'd send a pull request, but i'm afraid i'll break something.

We don't need this to be included in the next release, so you can easily just do a PR and I'll review it for you.

I'll see what I can do.

Added in #45.


Provide overview of egress endpoints

Provide overview of egress endpoints that cluster operators should be aware of and allow.

@kedacore/keda-maintainers Do you have an idea of the endpoints that should be allowed for egress?

What do you want to achieve? I mean, is this to allow the traffic in network policies or similar?
If yes, it depends on the scaler specifically , maybe we could add a section on every scaler explaining that. In some cases are defined (ex Azure or AWS, etc) and in other cases are user defined (sql servers, prometheus, etc)

What do you want to achieve? I mean, is this to allow the traffic in network policies or similar?

Some end-users or cloud providers lock down the services they can consume from within a cluster. Depending on the scaler that is being used, that can mean that our scalers will fail because of it.
Examples:

https://docs.openshift.com/container-platform/4.9/networking/ovn_kubernetes_network_provider/configuring-egress-ips-ovn.html
https://projectcalico.docs.tigera.io/about/about-kubernetes-egress
https://docs.microsoft.com/en-us/azure/aks/limit-egress-traffic#background

If yes, it depends on the scaler specifically , maybe we could add a section on every scaler explaining that. In some cases are defined (ex Azure or AWS, etc) and in other cases are user defined (sql servers, prometheus, etc)

Yes, that's what I was thinking as well.

Sounds totally reasonable. My concert here is how to maintain up to date the external vendors' endpoint, but maybe we could point to their specific documentation in case of existing 🤔
But I think this is a fantastic idea from security pov

Yes, I'd use links to their official documentation so that people have guidance on it and make it a "requirement" for new scaler docs to include them.

The only question I have is, do we:

Add it to every individual scaler doc page, or
Provide a dedicated overview in Operate

I'm leaning towards the latter as the audience for our scaler pages are different from the Operate where cluster admins will not go through all scaler pages.

What if the cluster admin doesn't know what scalers are being used or wants to allow all of them?

Could we generate a summary in base of scaler automatically? 🤔

I think the main question is, who's the audience? Do devs care about this? I doubt it, to be honest.
We can add a link to the operate page in every scaler doc as well :)

That's another option 😄

We can add a link to the operate page in every scaler doc as well :)

Seems like the best way to get started IMO


Add adapter sun2000 to latest

I think that my additional adapter for Sun2000 is justified. Because it can process up to 5 inverters at the same time.
br stephan

RE-CHECK!

Forum Tester: https://forum.iobroker.net/topic/71768/test-adapter-sun2000-v0-1-x-huawei-wechselrichter

Thanks for spending your time and providing a new adapter for ioBroker.
Your adapter will get a manual review as soon as possible. Please stand by - this might last one or two weeks. Feel free to continue your work and create new releases. You do NOT need to close or update this PR in case of new releases.
You will find the results of the review and evntually issues / suggestings as a communt to this PR. So please keep this PR watched.
If you have any urgent questions feel free to ask.
mcm1957

reminder 01.02.2024

First of all - THANK YOU for the time and effort you spend to maintain this adapter.
I would like to give some feedback based on my personal oppinion. @Apollon77 might have additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him if you cannot follow my suggestions or want to discuss some special aspects.

[ ] info states
Why do you duplicate config information into ion.xxx states? This is at least unusal. Consider this as a remark, I do not consider it blocking,

[ ] unused onStateChange handler
You configred an onStateChange handler but it looks like this handler does not do any important tasks. Please remove the handler if the adapter does not react on state changes.

Thanks for reading and evaluating this suggestions.
McM1957
reminder 12.2.2024

Thanks for checking my adapter!
"info state": I suspected that if the states were deleted manually, they would not be automatically recreated after a restart the adapter.
„unused onStateChange handler“: I have remove the handler and push the changes to github.
Do I have to create a new adapter npm version so that the adapter can be included in the ioBroker repro?

RE-CHECK!

"info state": I suspected that if the states were deleted manually, they would not be automatically recreated after a restart the adapter.

My remark refers to the fact that those states exist at all. Most adapters do not duplicate their own configuration into states at all. So I suggested to remove those states. But as I already wrote this is not blocking.

Do I have to create a new adapter npm version so that the adapter can be included in the ioBroker repro?
no, code change will go with next release anyway.

This adapter has been released to latest repository and should be visible within 24h maximum.
Please create a thread at https://forum.iobroker.net/category/91/tester titled like "Test Adapter " to collect some user feedback and provide a link to this topic when requesting addition to stable repository later.
Note: If an other testing topic already exists, it' OK to continue using this topic too.

Thank you Martin for your support. I am pleased about the quick response!


add observer for contact and company and edit api route

add observer for contact and company and edit api route 💯

add observer for contact and company and edit api route 💯


In-game console does not show when using toggle_console

Seems to be caused by #365
From my limited attempts to find the source of the issue, (*g_pSourceGameConsole)->Activate(); does not seem to be working?

Solved by #379


Undocumented runsetting TreatDiscoveryWarningsAsErrors

The MSTestSettings class has a property TreatDiscoveryWarningsAsErrors which can be set using the MSTest node of the Runsettings file. However, this setting is not documented. Should the documentation be extended or is the setting not intended for public use?

Hi @BBreiden,
Thanks for raising this point! I forgot to update the documentation following the merge of #1547. Here is the link to the documentation page https://learn.microsoft.com/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-filemstest-element, would you be willing to update the doc?

I've opened a PR https://github.com/MicrosoftDocs/visualstudio-docs/pull/9607

Thank you for your contribution!


Refactor transaction validation to support batched transactions

Overview
Move logic that parses transactions to the TxParserService which will validate the structure of the transactions against a list of allowed calls. The structure of the transactions can be either:

mtw.executeMetaTransaction(allowedTransaction)
mtw.executeMetaTransaction(mtw.executeTransactions([allowedTransaction1, allowedTransaction2]))

I couldn't find a use-case that would require a more convoluted recursive transaction structure but supporting that would add complexity as it would mean we needed to also have a maximum recursive depth for the transactions and it would also open us up to gas cost griefing by allowing something like:
mtw.executeMetaTransaction(
  mtw.executeMetaTransaction(
    mtw.executeMetaTransaction(
       ...... allowedTransaction
    )
  )
)

Would it be possible to add additional type checking to the input of submitMetaTransaction on KomenciKit? It would be nice from a client perspective to know right away if the transaction you've formed is a valid one or if it will be filtered.

Would it be possible to add additional type checking to the transaction param of submitMetaTransaction on KomenciKit? It would be nice from a client perspective to know right away if the transaction we've formed is an approved subsidized tx or if it will be filtered.

Hmm I think that would be useful if the user was able to construct arbitrary transactions and forward them through KomenciKit. But right now we are basically in control of what transactions can go through and a build of Valora should never hit this situation. I.e. the feature that's needed should be added to Komenci. So I don't really see the value in this. Under normal operating circumstances the client-side filtering will never hit. And if it's not normal operating circumstances then it's somebody that's just sending requests to the server where client-side filtering doesn't matter.
Can you better explain a situation in which the client would benefit from knowing this?

I see I didn't think of it as a purely devX thing. Yeah I understand, but I don't think type checking is possible in this scenario so it would only be runtime checking, in which situation the dev wouldn't get immediate feedback it would still be an exception logged at runtime - in which case it wouldn't make much of a difference if the exception comes from a client-side verification or a server-side verification.


Banned peers should not connect to banner

#3064 will notify banned peers of who's banning them and the expiry of the ban.
The banned peer should not try to connect to the banner until the expiry has passed.

Without authentication of the RPC, you could maliciously prevent a peer from participating by falsely notifying the peer it's been banned.
Attn: @enolan


Another small phpdoc fix

Follow-up to #717.
Noticed this afterwards. Sorry for the verbosity, but let's not let inconsistencies stay :)

Thanks.


Set up "auto-scaling" so k8s will get a new agent node if one or more crashes

In our Kubernetes-based production deployment, what if one or more agent/worker nodes (VMs) crashes?
Ideally, new agent nodes will be created right away, somehow. How can this be done? It will depend on where the VMs are (AWS, Azure, etc.) and probably on the tools we're using to manage the k8s cluster (ACS, Tectonic, or whatever).
 Right now we only have two agent nodes, and we'd like to reserve one for MongoDB. That seems a bit risque, because it takes time to spin up a new VM. How long? If it's very fast, then maybe that time isn't an issue.
References:
https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
https://docs.microsoft.com/en-us/azure/container-service/kubernetes/container-service-scale
At the time of writing this issue, with ACS, "... autoscaling of agent nodes in a container service cluster is not supported."
Maybe Tectonic can do it?

Just saw that both Tectonic and k8s on ACS use Azure Availability Sets to solve this problem.
Tectonic reference:
https://coreos.com/tectonic/docs/latest/install/azure/azure-terraform.html#under-the-hood
@ttmc I think we can close this now?

Yes, it seems that the created Azure Availability Sets do resolve this.
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/manage-availability


Feature Request: Known Wallet Address Support

Support using an existing wallet address for disbursements as an alternative to receiver registration.
What problem does your feature solve?
Currently, the SDP requires receiver registration through SEP-24 before disbursing funds. This process can be redundant when the organizations disbursing funds already have access to the receiver's wallet address, leading to unnecessary steps and delays.
What would you like to see?
We propose adding support for Known Wallet Address in the disbursement process. Specifically, we should:

Add a new column named wallet_address to the CSV file containing the disbursement instructions.
Upon initiating the disbursement and creating the receiver and receiver_wallet, we automatically set the receiver wallet status to REGISTERED.
When a wallet_address is provided, bypass the SEP-24 registration process and directly disburse the funds to the receiver's wallet if the wallet is valid (i.e. it exists on the network, has the appropriate trustlines, etc.)

hello @marwen-abid
I can fix this issue
may I take the issue?


Change the default effect to be Tot and namespace insensitive

The following code
module Bug

let st (h:Type) (a:Type) =
  h -> M (a * h)

val return_st : (h:Type) -> (a:Type) -> a -> st h a
let return_st h a x = fun s -> x, s

fails with
./Bug.fst(6,51-7,35) : Error
Expected a term of type "(h:Type -> a:Type -> uu___:a@0 -> (Bug.st h@2 a@1))";
got a function "(fun h a x s -> (Prims.Mktuple2 x@1 s@0))" (Function definition takes more arguments than expected from its annotated type)

However, if the module is renamed to start with FStar., the error does not occur and it verifies.

This is known behavior and is related to us planning on changing the default effects.
You can write ... a -> Tot (st h a)

Ah, thanks! Should I close this then?

Previous discussions of this also happened in https://github.com/FStarLang/FStar/issues/581#issuecomment-233161328

And here is one more instance of problems with out current defaults #623

@nikswamy just fixed this


Create staticCms.ts to serve the CMS without Lume site building

Re: Issue #3
A static CMS server that could be used like so;
import cms from "./_cms.ts";
import staticCms from "https://raw.githubusercontent.com/revgum/cms/master/adapters/staticCms.ts";

const app = await staticCms({ cms });
Deno.serve({
  port: 3000,
  handler: app.fetch,
  onListen() {
    log.info("CMS server started");
  },
});

Unnecessary, can be implemented like https://github.com/lumeland/cms-demo/blob/main/mod.ts#L48


bug: after 4.6.1  (probably also 4.6.0) protocol.set_axis_max_speed no longer works

Overview

When you assign an axis speed limit  the OT-2 doesn't respond to it.
Steps to reproduce

Use per axis speed limit

reagent_dwp = protocol_context.load_labware(
        'corning_384_wellplate_112ul_flat', 2, 'Reagent Deep Well')
tiprack_1 = protocol_context.load_labware(
        'opentrons_96_tiprack_300ul', 5, '300 tiprack')
pipette = protocol_context.load_instrument(
        "p300_multi_gen2", "left", tip_racks=[tiprack_1])
pipette.pick_up_tip()
protocol_context.max_speeds['Z'] = 10
protocol_context.comment(str(protocol_context.max_speeds['Z']))
pipette.aspirate(volume, reagent_dwp['A1'])

Current behavior

OT-2 remains at the same speed
In Jupyter Notebook it throws the error

/usr/lib/python3.7/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py:560: RuntimeWarning: coroutine 'SmoothieDriver.set_axis_max_speed' was never awaited

Expected behavior
Should have changed axis speed like in the api documentation and previous software versions

Alex thoughts:

In 4.6.0 (right) we seem to have the driver under Async and we have await self._send_command(command) .
in 4.5.0 (left) we seem to not have it. We just have log.debug(f"set_axis_max_speed: {command}")        self._send_command(command)

Alex potential solutions:

I think this is caused by a coroutine object is created by the invocation of an async function, but is never inserted into an EventLoop. Source:  Which I think means "call the set_axis_max_speed() function which I don't think is done outside of an "Await" statement aside from on restore_axis_max_speed()
We could try after await self._send_command(command) putting in return self._send_command(command)

O

For thoroughness I am including my logs
server.log
api.log
serial.log


How do you handle nd-json streams? e.g. gamesByIds

Hi,
my plan is to create a game stream and add games to it as I create them via the challenge() call.
I am having difficulties with understanding on how I should proceed with this. The stream creation call gameInfosByGameIds returns a Many<T> object which I can only really transfer to a Java Stream.
Now my understanding is that JavaStreams are 'lazy', so only executed when 'closed'.
How can I then handle new objects immediately after they are added to the stream via a seperate Thread and how do I handle the GameInfo updates of an already added game?
I expected something where I can pass a callback function that always executes as soon as the ndjson stream updates on lichess but I am open to any solution that gives me GameInfo updates.

Hi,
it sounds like you are on the right track!
One way to process the events from the stream is to have a thread executing the terminal operation stream.forEach(event -> ...).
Every time an event happens, the forEach will trigger.
Maybe this piece of code can help,
https://github.com/teemoo7/bobby/blob/77118281938c79171cfdbdcacc7431291dc8e2d5/src/main/java/ch/teemoo/bobby/lichess/EventHandler.java#L50
Or this piece of code which I've written myself,
https://github.com/tors42/jc/blob/ea93cef0adf6225e5459ab3510a258e76bf7c3d8/src/jc/jc/app/TVFeed.java#L77
Let me know if they make things clearer, or if they add confusion 😅 - then I'll try to come up with some other example.
Cheers!

Helped wonders, now I just have to get all possible Lichess statusNames somehow but this is part of lichess api and not yours :D
Thanks a lot! Really awesome API design!


CFP: Pod MAC Address Specification

Is your feature request related to a problem?
Lots of software requires licensing that's tied to a MAC address. Often the solutions for this are insanely convoluted and require things like Docker in Docker inside the cluster.
Describe the feature you'd like
A pod is able to request a dedicated, pre-defined MAC address, and it succeeds in that request.
(Optional) Describe your proposed solution
Calico seemingly supports this: here
However, not sure of the technical complexity and/or proposed solution.

This seems like a reasonable suggestion. The code that creates the veth pair would need to be made aware of this new MAC address. From recollection this is part of the CNI plugin, so perhaps when the CNI plugin does an EndpointCreate request to cilium-agent, cilium-agent could fetch the MAC annotation from the corresponding Pod and return the desired MAC address in its API response. Then the CNI could implement the MAC address change.

Are there any updates on this feature?

It sounds like this feature is ready for someone to pick it up and begin design work. I think @joestringer's comments capture a likely way to make this happen, so I'll tag this as help-wanted.
If you're interested in working on this, please comment here and it can be assigned to you.

I have never looked into this repo so it might be a good excuse to do so. I can try at least

Okay @Inigo4562, it's all yours, please ask for help here if you need it.

so perhaps when the CNI plugin does an EndpointCreate request to cilium-agent, cilium-agent could fetch the MAC annotation from the corresponding Pod and return the desired MAC address in its API response.

Hi @youngnick @joestringer I want to contribute this feature, but currently I have a problem, which is how CNI obtains MAC information.
Now I can get the MAC information on the server-side, but I don't know how to return it to CNI. You mentioned using the response value of EndpointCreate to return information, but I found that EndpointCreate only returns an error type.
Refer to:
EndpointCreate

hi @Inigo4562 just checking in are you still interested in working on this? if not i'll assign it to @chaunceyjiang .

Hello @michi-covalent, I haven't put enough time to work on this issue so please assign to @chaunceyjiang


Deprecate / remove java applet for large download ?

While trying to download 1.8GB from http://aladdin.kitware.com (Midas 3.2.11), after clicking on the download link for a folder, I am proposed two options. See screenshot below.

As suggested, I have clicked on the "Yes, use large downloader". Then, on windows:

firefox asked me to manually install Java because of security reasons
after following the instruction, I managed to install java
going back to the page, the applet failed complaining the current security settings can't accept self signed certificate
I then added a security exception (Start menu -> Programs -> Java -> Configure Java -> Security) by listing http://aladdin.kitware.com as an exception
going back to the page, I was able to see the applet ... clicking on Download failed with a timeout

Finally, I gave a try with the normal downloader .. and already 0.5 GB have been downloaded
Moving forward, I suggest we disable the java downloader. It should be enabled explicitly on instance that require it.

It is all in a separate module now, so you can easily disable it, or we could just delete it without impacting the core.
I am going to try to get the last handful of commits in by the middle of next week, so the version 3.4 codebase should be finalized around January 15.

+1
--
Sent from my mobile device
On Jan 8, 2015 10:05 AM, "Jamie Snape"<EMAIL_ADDRESS>wrote:

It is all in a separate module now, so you can easily disable it, or we
could just delete it without impacting the core.
I am going to try to get the last handful of commits in by the middle of
next week, so the version 3.4 codebase should be finalized around January
15.
—
Reply to this email directly or view it on GitHub
https://github.com/midasplatform/Midas/issues/82#issuecomment-69211468.

I will sign the jar before release, so at least there will be slightly fewer warnings.

Rolling this ticket into #71 regarding the signing of jars.


[Feature] Support configure imagePullSecrets and annotation for the global SA

We need these two fields be configurable via helm chart values.yaml

imagePullSecrets: to pull image from private registry
annotations:  to assume a role from an AWS account

apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-starrocks
  namespace: celostar
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::xxx:role/yyy <=========
imagePullSecrets:
  - name: docker-ecr-pull <==============
secrets:
  - name: kube-starrocks-dockercfg-h5wzz

If you config it will convert to fe and be. imagePullSecrets is in doing, we will release an official version about crd.

Hi @shileifu ,
I want to add the annotation to the service account. How can I config it in the helm values.yaml?
Can you please provide an example?
Thank you!

helm does not provide the fields for adding annotations. you can pull the charts and audit them to add annotations.

the serviceAccount do you want to assign to what, operator or sr(fe,be).

the serviceAccount do you want to assign to what, operator or sr(fe,be).

For both fe and be.

I believe this issue is resolved, according to our private discussion with @dengliu . close it for now.


Brent's algorithm

💥 Proposal
(A clear and concise description of what the proposal is to check if the the list or array has loop or not. Brent’s cycle detection algorithm is similar to floyd’s algorithm as it also uses two pointer technique.)
Have you read the Contributing Guidelines on Pull Requests?
Yes

/assign


Fix Fix transactional hive core dump when TransactionalHiveReader::init_row_filters().

Proposed changes
Fix transactional hive core dump when TransactionalHiveReader::init_row_filters().
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


FUSETOOLS2-1746: Provide UI test for Camel Debugger launch configurat…

…ion snippet using JBang

blocked by https://issues.redhat.com/browse/FUSETOOLS2-2264


Revise Task/IO FAQ to reference cats-effect

Not sure exactly the best way to word things, hence the issue rather than a PR.

Task/IO FAQ? Are you referring to the cats site? Because that one lives in the cats repository.

Ah, didn't realize. Sorry.


[FEATURE REQUEST] Request to increase Font Size : ) and Font Family also : )

Description
If the font size is bold and if I increase the font size it should be better showing.
Additional Information
Context
If we change the font family it should be attractive when we enter this page.
Screenshots

go for it

Please assign this issue to me

I already working on it, and most probably tomorrow I'll resolve it : )

Hello sir i will be very grateful if i get the oppurtunity to work on this.Please assign me on this.


INTEL MKL: Quantized Concat

This PR adds support for MKL Quantized Concat op.

@penpornk Sure, no problem. I added a comment. Please let me know if anything else is needed.

This PR was rolled back because of test failures. I'll put the changes back once it doesn't cause anymore failures. In the meanwhile, please let me know if there are other PRs that depends on this and shouldn't be merged before this PR's changes are back.

@penpornk Do you mean that we need to fix something in the PR so it does not cause test failures?

@mahmoud-abuzaina I already have the fix. The problem came from registering QuantizedConcatV2 in quantized_concat_op.cc without the #ifdef INTEL_MKL guard. So non config=mkl builds try to find this op but couldn't find it.
Now I'm debating whether I should just re-submit the changes internally (but then it wouldn't show that you authored them anymore) or ask you to open a new PR. What do you think?

The new PR route should also be quick. After you re-open a new PR, please mention me and I can re-review it quickly. Please let me know what way you prefer. :)

Thank you @penpornk for the explanation. I will create a new PR now and mention you.

@mahmoud-abuzaina Thank you and sorry for the inconvenience!

@penpornk I have created the replacement PR #25533. Thank you for your patience.