🐛 Type detected as an unused variable.

Environment information
CLI:
  Version:                      1.2.2
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           windows

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v20.8.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 true

Workspace:
  Open Documents:               0

Discovering running Biome servers...

Incompatible Biome Server: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Rage discovered this running server using an incompatible version of Biome.

Server:
  Version:                      1.2.2-nightly.9264c09

Running Biome Server: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i The client isn't connected to any server but rage discovered this running Biome server.

Server:
  Version:                      1.2.2
  Name:                         biome_lsp
  CPU Architecture:             x86_64
  OS:                           windows

Workspace:
  Open Documents:               0

Other Active Server Workspaces:

Workspace:
  Open Documents:               2
  Client Name:                  Visual Studio Code - Insiders
  Client Version:               1.84.0-insider

What happened?
The type is being used as satisfies X

but it's coming up as an unused variable

Expected result
To properly detect satisfies *Type*
Code of Conduct

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

It works for normal Type association

Can you check if you have the same issue in the playground?

No, it works properly or at least doesn't show any errors https://biomejs.dev/playground/?indentWidth=4&files.type.ts=ZQB4AHAAbwByAHQAIABkAGUAZgBhAHUAbAB0ACAAaQBuAHQAZQByAGYAYQBjAGUAIABUAHkAcABlACAAewAKACAAIAB0AGUAcwB0ADoAIABuAHUAbQBiAGUAcgA7AAoAIAAgAHQAZQBzAHQAMgA6ACAAcwB0AHIAaQBuAGcAOwAKAH0AOwA%3D&files.main.tsx=ZQB4AHAAbwByAHQAIABkAGUAZgBhAHUAbAB0ACAAKABUAGUAcwB0ADoAIABUAHkAcABlADIAKQAgAD0APgAgAHsACgAgACAAYwBvAG4AcwB0ACAAVABlAHMAdAAyACAAPQAgAHsACgAgACAAIAAgAHQAZQBzAHQAOgAgADIALAAKACAAIAAgACAAdABlAHMAdAAyADoAIAAnAHQAZQBzAHQAJwAKACAAIAB9ACAAcwBhAHQAaQBzAGYAaQBlAHMAIABUAHkAcABlADsACgAKACAAIAByAGUAdAB1AHIAbgAgAFQAZQBzAHQAMgA7AAoAfQAKAAoAaQBtAHAAbwByAHQAIAB0AHkAcABlACAAVAB5AHAAZQAyACAAZgByAG8AbQAgACIAdAB5AHAAZQAuAHQAcwAiADsACgAKAGkAbQBwAG8AcgB0ACAAdAB5AHAAZQAgAFQAeQBwAGUAIABmAHIAbwBtACAAIgB0AHkAcABlAC4AdABzACIAOwA%3D

Great, you'll get the fix in the next release

Can confirm this was fixed with @biomejs/biome v1.3.0 https://github.com/biomejs/biome/pull/544


[opengl] build failure

Host Environment

OS: Windows 10
Compiler: VC++ (I think?)

To Reproduce
Steps to reproduce the behavior:
.\vcpkg install llvm opencv4[contrib,nonfree]

Failure logs
Computing installation plan...
A suitable version of cmake was not found (required v3.14.0). Downloading portable cmake v3.14.0...
Downloading cmake...
  https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0-win32-x86.zip -> C:\users\josh\vcpkg\downloads\cmake-3.14.0-win32-x86.zip
Extracting cmake...
A suitable version of 7zip was not found (required v18.1.0). Downloading portable 7zip v18.1.0...
Downloading 7zip...
  https://www.nuget.org/api/v2/package/7-Zip.CommandLine/18.1.0 -> C:\users\josh\vcpkg\downloads\7-zip.commandline.18.1.0.nupkg
Extracting 7zip...
A suitable version of nuget was not found (required v4.8.1). Downloading portable nuget v4.8.1...
Downloading nuget...
  https://dist.nuget.org/win-x86-commandline/v4.8.1/nuget.exe -> C:\users\josh\vcpkg\downloads\nuget.exe
The following packages will be built and installed:
  * hdf5[core,szip,zlib]:x86-windows
  * libjpeg-turbo[core]:x86-windows
  * liblzma[core]:x86-windows
  * libpng[core]:x86-windows
  * libwebp[core,nearlossless,simd,unicode]:x86-windows
    llvm[clang,core,disable-abi-breaking-checks,disable-assertions,disable-clang-static-analyzer,enable-rtti,lld,tools]:x86-windows
    opencv4[contrib,core,dnn,jpeg,nonfree,opengl,png,tiff,webp]:x86-windows
  * opengl[core]:x86-windows
  * protobuf[core]:x86-windows
  * szip[core]:x86-windows
  * tiff[core]:x86-windows
  * zlib[core]:x86-windows
Additional packages (*) will be modified to complete this operation.
A suitable version of powershell-core was not found (required v6.2.1). Downloading portable powershell-core v6.2.1...
Downloading powershell-core...
  https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/PowerShell-6.2.1-win-x86.zip -> C:\users\josh\vcpkg\downloads\PowerShell-6.2.1-win-x86.zip
Extracting powershell-core...
Starting package 1/12: zlib:x86-windows
Building package zlib[core]:x86-windows...
A suitable version of git was not found (required v2.26.2). Downloading portable git v2.26.2...
Downloading git...
  https://github.com/git-for-windows/git/releases/download/v2.26.2.windows.1/PortableGit-2.26.2-32-bit.7z.exe -> C:\users\josh\vcpkg\downloads\PortableGit-2.26.2-32-bit.7z.exe
Extracting git...
-- Downloading http://www.zlib.net/zlib-1.2.11.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/zlib1211.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/zlib/src/1.2.11-deec42f53b
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/Users/josh/vcpkg/packages/zlib_x86-windows/share/zlib/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package zlib[core]:x86-windows... done
Installing package zlib[core]:x86-windows...
Installing package zlib[core]:x86-windows... done
Elapsed time for package zlib:x86-windows: 2.718 min
Starting package 2/12: szip:x86-windows
Building package szip[core]:x86-windows...
-- Downloading https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/szip-2.1.1.tar.gz
-- Applying patch fix-szip-config-to-set-szip-found.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/szip/src/szip-2.1.1-6b767acfa7
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Performing post-build validation
-- Performing post-build validation done
Building package szip[core]:x86-windows... done
Installing package szip[core]:x86-windows...
Installing package szip[core]:x86-windows... done
Elapsed time for package szip:x86-windows: 23.39 s
Starting package 3/12: hdf5:x86-windows
Building package hdf5[core,szip,zlib]:x86-windows...
-- Downloading https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/CMake-hdf5-1.10.5.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/CMake-hdf5-1.10.5.tar.gz
-- Applying patch hdf5_config.patch
-- Applying patch fix-generate.patch
-- Applying patch static-targets.patch
-- Applying patch export-private.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/hdf5/src/hdf5-69d2d96f64
-- Configuring x86-windows-dbg
-- Configuring x86-windows-rel
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Performing post-build validation
-- Performing post-build validation done
Building package hdf5[core,szip,zlib]:x86-windows... done
Installing package hdf5[core,szip,zlib]:x86-windows...
Installing package hdf5[core,szip,zlib]:x86-windows... done
Elapsed time for package hdf5:x86-windows: 4.049 min
Starting package 4/12: libjpeg-turbo:x86-windows
Building package libjpeg-turbo[core]:x86-windows...
-- Downloading https://github.com/libjpeg-turbo/libjpeg-turbo/archive/166e34213e4f4e2363ce058a7bcc69fd03e38b76.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/libjpeg-turbo-libjpeg-turbo-166e34213e4f4e2363ce058a7bcc69fd03e38b76.tar.gz
-- Applying patch add-options-for-exes-docs-headers.patch
-- Applying patch workaround_cmake_system_processor.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/libjpeg-turbo/src/fd03e38b76-a5b0f5fafe
-- Downloading http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win32/nasm-2.14.02-win32.zip...
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Performing post-build validation
-- Performing post-build validation done
Building package libjpeg-turbo[core]:x86-windows... done
Installing package libjpeg-turbo[core]:x86-windows...
Installing package libjpeg-turbo[core]:x86-windows... done
Elapsed time for package libjpeg-turbo:x86-windows: 23.24 s
Starting package 5/12: libpng:x86-windows
Building package libpng[core]:x86-windows...
-- Downloading https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/glennrp-libpng-v1.6.37.tar.gz
-- Applying patch use_abort.patch
-- Applying patch cmake.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/libpng/src/v1.6.37-c993153cdf
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/Users/josh/vcpkg/packages/libpng_x86-windows/share/libpng/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package libpng[core]:x86-windows... done
Installing package libpng[core]:x86-windows...
Installing package libpng[core]:x86-windows... done
Elapsed time for package libpng:x86-windows: 9.657 s
Starting package 6/12: libwebp:x86-windows
Building package libwebp[core,nearlossless,simd,unicode]:x86-windows...
-- Downloading https://github.com/webmproject/libwebp/archive/d7844e9762b61c9638c263657bd49e1690184832.tar.gz...
-- Extracting source C:/Users/josh/vcpkg/downloads/webmproject-libwebp-d7844e9762b61c9638c263657bd49e1690184832.tar.gz
-- Applying patch 0001-build.patch
-- Applying patch 0002-cmake-config-add-backwards-compatibility.patch
-- Applying patch 0003-always-mux.patch
-- Applying patch 0004-add-missing-linked-library.patch
-- Applying patch 0006-fix-dependecies-platform.patch
-- Applying patch 0007-fix-arm-build.patch
-- Applying patch 0008-sdl.patch
-- Applying patch 0009-glut.patch
-- Using source at C:/Users/josh/vcpkg/buildtrees/libwebp/src/1690184832-82bbc619db
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/Users/josh/vcpkg/packages/libwebp_x86-windows/share/libwebp/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package libwebp[core,nearlossless,simd,unicode]:x86-windows... done
Installing package libwebp[core,nearlossless,simd,unicode]:x86-windows...
Installing package libwebp[core,nearlossless,simd,unicode]:x86-windows... done
Elapsed time for package libwebp:x86-windows: 27.68 s
Starting package 7/12: opengl:x86-windows
Building package opengl[core]:x86-windows...
CMake Error at ports/opengl/portfile.cmake:20 (message):
  Cannot find Windows 10.0.17763.0 SDK.  File does not exist: C:\Program
  Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86\OpenGL32.Lib
Call Stack (most recent call first):
  scripts/ports.cmake:90 (include)

Error: Building package opengl:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: opengl:x86-windows
  Vcpkg version: 2020.02.04-nohash

Additionally, attach any relevant sections from the log files above.

Additional context
I don't really have any clue what I'm doing, I'm just trying to get opencv-rust working.

Building package opengl[core]:x86-windows...
CMake Error at ports/opengl/portfile.cmake:20 (message):
  Cannot find Windows 10.0.17763.0 SDK.  File does not exist: C:\Program
  Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86\OpenGL32.Lib

Install windows SDK from the VS Installer

I have Windows 10 SDK (10.0.17763.0) installed already, but the path is different:
D:\Windows Kits\10\Lib\10.0.17763.0\um\x86\OpenGL32.Lib

@JoshuaWalsh Installing Windows SDK in non-default path may cause many problems, but I think this issue is still a port bug.
We need to use environment variables or the registry to query the real path of the Windows SDK.

Duplicated to https://github.com/microsoft/vcpkg/issues/8288.


Adding PROFILE.md

Following the Introduction to GitHub coursework.

Wow, this could really use some testing.


Verus panic when checking termination on a Seq of recursive enums

Originally discovered in #1195.
As a minimal example, I want to write a recursive enum, like the following:
pub enum Foo {
    Bar(Vec<Foo>),
}

pub enum SpecFoo {
    Bar(Seq<SpecFoo>),
}

I then want to write a function (eventually an impl DeepView) to convert Foo to SpecFoo. I've tried various versions of this based on suggestions from @parno and @jaybosamiya, and the one that seems to work best uses two mutually recursive functions, as follows:
pub open spec fn blah(s: Seq<Foo>) -> Seq<SpecFoo>
    decreases s.len()
{
    if s.len() == 0 {
        Seq::empty()
    } else {
        blah(s.drop_last()).push(recurse_foo(s.last()))
    }
}

pub open spec fn recurse_foo(f: Foo) -> SpecFoo
    decreases f
{
    match f {
        Foo::Bar(v) => {
            SpecFoo::Bar(blah(v.view()))
        }
    }
}

Playground link here
However, this panics:
thread '<unnamed>' panicked at rust_verify/src/verifier.rs:780:21:
internal error: generated ill-typed AIR code: error 'in call to check_decrease_int, argument #2 has type "Poly" when it should have type "Int"' in expression '(check_decrease_int (let
  ((s!$0 tmp%2))
  (vstd!seq.Seq.len.? $ TYPE%main!Foo. s!$0)
 ) decrease%init0 false
)'
note: [run with `RUST_BACKTRACE=1` environment variable to display a backtrace](https://play.verus-lang.org/?version=stable&mode=basic&edition=2021&gist=3daf1740c8f7e4db77810e0c03b04b55#)
thread '<unnamed>' panicked at rust_verify/src/verifier.rs:2081:29:
worker thread panicked

Notably, if I make either of blah or recurse_foo a closed spec fn with no body, the panic goes away and it verifies. So I guess the error must be to do with the mutual recursion?
It turns out this is something of a blocker for our project, so it would be nice to know if this is just a bug that can be fixed, or if there's a fundamental issue with this kind of construction that would necessitate an alternative approach.

I can fix the mutual recursion issue so that the decreases check generates valid AIR for mixtures of datatypes and integers, like decreases_to! already does.  Is there a repro example that I can use that would already work if we used assert(decreases_to!(...)); assume(false); as a stand-in for decreases checking?  For example, something like the following, but that would pass the assertions?
pub open spec fn blah(s: Seq<Foo>) -> Seq<SpecFoo>
    decreases s.len() via blah_check
{
    if s.len() == 0 {
        Seq::empty()
    } else {
        blah(s.drop_last()).push(recurse_foo(s.last()))
    }
}

pub open spec fn recurse_foo(f: Foo) -> SpecFoo
    decreases 0int via recurse_foo_check
//    decreases f via recurse_foo_check
{
    match f {
        Foo::Bar(v) => {
            SpecFoo::Bar(blah(v.view()))
        }
    }
}

#[verifier::decreases_by]
proof fn blah_check(s: Seq<Foo>) {
    if s.len() != 0 {
        assert(decreases_to!(s.len() => s.last())); // FAILS
        assume(false);
    }
}

#[verifier::decreases_by]
proof fn recurse_foo_check(f: Foo) {
    match f {
        Foo::Bar(v) => {
            assert(decreases_to!(f => v.view().len())); // FAILS
            assume(false);
        }
    }
}


Make sure CallKit session is ended on fail

This fixes an issue where the CallKit session isn't ended when making an outbound call fails. Keeping the green topbar active when exiting the app.

Thanks a lot!
I am experiencing this issue as well. I will test and merge as soon as possible

@Pagebakers @fabriziomoscon probably need to remove the same if statement from callDidDisconnect fn as well. For me if the caller hangs up first the callKit session is also not ended as when disconnect fires call.state is not connected.
(void)callDidDisconnect:(TVOCall *)call
...
 if (self.call.state == TVOCallStateConnected) {
    [self performEndCallActionWithUUID:call.uuid];
 }

Should be just?
  [self performEndCallActionWithUUID:call.uuid];

I see.
I made these two changes in this commit:
https://github.com/hoxfon/react-native-twilio-programmable-voice/commit/4349162a318262c5dc43901748b27863c7a7c166
because the calls were not disconnected correctly.
So rather than remove the conditions all together I think we need to find the best way to disconnect all possible status of calls without leaving a zombie call in the background and without having errors in the log.
I will definitely test further the two scenarios you mentioned, but also it would be great if you can see and test what happens when you remove the commit I referred to

@fabriziomoscon ok got it, will have a test and let you know.

Any progress on this?

I haven't had time to test it yet.

@SimonRobinson in the scenario you are describing is the iOS app making or receiving the call?

@Pagebakers only today I could test your change I confirm that it is necessary. Well done and well spotted! My personal apologies for the delay to merge this change

published on npm 2.11.1

@SimonRobinson you are right!
I added https://github.com/hoxfon/react-native-twilio-programmable-voice/commit/4349162a318262c5dc43901748b27863c7a7c166 to placate errors in the log, but as you pointed out the condition prevent a correct call disconnection in case the callee hangs the call up.
I have opened a separate issue to track this error in the log.
I will remove now the condition mentioned and published a new npm version.
Many thanks for your patience!

the fix mentioned above has been published on npm 2.11.2

Great, thanks for merging this in!

@fabriziomoscon thanks for fixing and merging. FYI was testing with receiving calls.


RBAC security model discussion

Currently etcd operator is built for convenience. It automatically create TPR/CRD, storage class, etc. However, in a multi-tenant world, we want one cluster's operation not affect another.
There are many problems in current design:

Operator have non-namespaced resources (CRD, storageClass) in RBAC and need to create global ClusterRole, not namespace specific Role. This could be delegated to external.
Operator would require non-resourceName specific verbs ('create') on CRD, storageClass because we need 'create' verb. This could be delegated to external.
One cluster's operation could affect another. Operator could touch resources like etcdcluster, Pods, Services within the same namespace.
Even if we separate one cluster's operation into a specific deployment and limit RBAC of it on specific resource names, e.g. etcdcluster, there are still unrestrained names like pods. It also needs list which does not allow resourceName specific.
The top level operator needs full access on a resource kind anyway in order to create, delete, list stuff.

/cc @ericchiang

General thought:
I view an operator as a way to enable a specific resource. Running the etcd-operator in a namespace make the etcd CRDs actually do something. An admin thinks about resources like etcd.coreos.com/v1beta1.Cluster the same way they think about resources like Deployments, as resources that spawn other resources.
In this world, you should never be running more than one etcd-operator per namespace, even if multiple tenants in that namespace are creating Cluster resources.

Operator would require non-resourceName specific verbs ('create') on CRD, storageClass because we need 'create' verb. This could be delegated to external.

Yes, I think we should have whoever is deploying etcd-operator create the CRD. I wish we had done it this way in dex: not have dex create the CRD.

One cluster's operation could affect another. Operator could touch resources like etcdcluster, Pods, Services within the same namespace.

Can you elaborate on that a little bit more? I would expect spawned resources like pods to be prefixed based on the etcdcluster resource, the same way the pods created through a replicaset are always prefixed with the name of the resplicaset.

Even if we separate one cluster's operation into a specific deployment and limit RBAC of it on specific resource names, e.g. etcdcluster, there are still unrestrained names like pods. It also needs list which does not allow resourceName specific.

If you actually need to hide an etcd cluster from another user you should probably be running it in a separate namespace.

The top level operator needs full access on a resource kind anyway in order to create, delete, list stuff.

That's fine. Just like the replicaset controller has the ability to create and delete pods. Please make sure etcd operator can run in a single namespace and not at cluster scope, though.

One cluster's operation could affect another. Operator could touch resources like etcdcluster, Pods, Services within the same namespace.

Can you elaborate on that a little bit more? I would expect spawned resources like pods to be prefixed based on the etcdcluster resource, the same way the pods created through a replicaset are always prefixed with the name of the resplicaset.

If you view operator like deployment controller, don't mind about this. Otherwise, what I mean here is that the operator has the privileges to touch resources across etcd clusters.

If you actually need to hide an etcd cluster from another user you should probably be running it in a separate namespace.

OK. I agree.

Closing this. Not a problem anymore.

this is still a problem. just not hurting us in short term. i would suggest to keep it open.

i added a future milestone.

A lot of issues don't hold true anymore since we separated out backup components and add the capability for create-crd=false.
Closing it. Revisiting RBAC security later needs re-listing existing models and issues.


GSLUX-707 activate style edition for drawings

No user configured icons so far (awaiting myMaps)

JIRA issue
https://jira.camptocamp.com/browse/GSLUX-707
Description
first review to validate the testing approach (for point and polygon):
edit style => check correct URL
Screenshots
(only if the final render is different)

Also about UI:

Label for stroke width should be on one line. Border for style buttons should be full black (it looks like only right and bottom border are black).

One other UI difference: when modifying a line style in prod, feature is not selected (line width is not thicker) whereas in your PR, the line is thicker and updating the stroke width preview on the map when modifying is not the definite one.

One other thing: When adding a symbol and setting a size to a point, after zooming out, the symbol keeps the same size. Ok to keep it as is (same behavior in prod).

Ok thx a lot for the rework, I don't see any latency, maybe someone else should test it? ping @tkohr

No latencies on my side neither :-)

fixed the UI issues and some more (related to selection deselection)


Adopt notebook serializer API for Interactive Window

We are now using notebook content provider api internally for Interactive Window, which will deprecated soon. We would need to explore moving to the serializer API.

completed with https://github.com/microsoft/vscode/pull/171283


There are no descriptions of how to actually configure this in the portal

Neither this article nor the tutorials explain that this setting is configured under "Session persistence" in Load Balancer rules with options that do not match the terms used here.
None = hash-based
Client IP = source IP affinity 2-tuple
Client IP and protocol = source IP affinity 3-tuple
Please clarify that, thanks!

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

ID: 4df3fe8d-86bf-23bf-3f5b-b9cce432412e
Version Independent ID: 42eb0bc5-e329-8d92-c850-b0baed07ec98
Content: Configure Azure Load Balancer distribution mode
Content Source: articles/load-balancer/load-balancer-distribution-mode.md
Service: load-balancer
GitHub Login: @KumudD
Microsoft Alias: kumud

@dcbrown16 Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@dcbrown16 our content team has received the feedback and is evaluating the request. This will likely get updated in the future, but unfortunately I cannot give a timeline.
Thank you again for your feedback, it helps us provide great documentation!

@TravisCragg-MSFT the gap between the terms used here and the UI in the portal continues to cause confusion through support. Can we reopen and revisit this request with higher priority?

@dcbrown16 Reopening.
@KumudD can you give an update on this issue?

#reassign:@asudbring

#please-close

Thanks for getting that updated @asudbring!


Circular reference error happens in jsdoc but not in typescript.

Bug Report

🔎 Search Terms

circularly references itself jsdoc ts2456
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about circular

⏯ Playground Link
Playground link (js)
Playground link (ts)
💻 Code

Foo.js
/** @typedef {Object.<string, Foo>} Foo */

Foo.ts
type Foo = {
    [x: string]: Foo;
};

🙁 Actual behavior
Type alias 'Foo' circularly references itself. ts(2456) happens in Foo.js. The TypeScript equivalent works fine.
🙂 Expected behavior
Both Foo.ts and Foo.js work without errors.
Related issues
I found some related issues but they are either closed or use a different example.
#39372 - Closed (fixed)
#45641 - Seems very similar but uses Array<> and typescript rather than jsdoc. I'm not sure if the root cause is the same so this might be a duplicate.

I have the same issue.

Same here (using TS 4.6.3).

The workaround is to use TypeScript in the JSDoc comment, rather than Object.<string, Foo> notation:
/**
 * @typedef {{
 *  [x: string]: Foo
 * }} Foo
 */

(playground)

Seems like that's because Json[] is also in there. Another way to work around this is to add an extra type just for the array:
/**
 * @typedef {null | boolean | number | string | JsonArray | {[property: string]: Json}} Json
 */

/** @typedef {Json[]} JsonArray */

(playground)

I wrote a little template typedef to help creating circular references:
/**
 * @typedef {T | CircularArray<T> | CircularObject<T>} Circular
 * @template T
 */
/**
 * @typedef {{[key: number]: Circular<T>}} CircularArray
 * @template T
 */
/**
 * @typedef {Circular<T>[]} CircularArray
 * @template T
 */
/**
 * @typedef {Circular<number | string>} NumberStringObject
 */
/** @type {NumberStringObject} */
const x = {
    y: [1, {z: [1, 2, 3]}]
}

(playground)


[BACKLOG-10203] Making use of Const.getBaseDocUrl to resolve help link.

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/repositories-plugin/pom.xml clean install && mvn -B -f plugins/repositories-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/repositories-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.repo.MetaStoreSessionTimeoutHandler

Complexity Change: -100.00%:small_red_triangle_down:
Instruction Change: -76.92%:small_red_triangle_down:
Line Change: -85.71%:small_red_triangle_down:
Method Change: -100.00%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositoryConnectController

Branch Change: -46.97%:small_red_triangle_down:
Complexity Change: -41.67%:small_red_triangle_down:
Instruction Change: -58.43%:small_red_triangle_down:
Line Change: -61.78%:small_red_triangle_down:
Method Change: -56.41%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositoryServiceSessionTimeoutHandler

Complexity Change: -100.00%:small_red_triangle_down:
Instruction Change: -76.92%:small_red_triangle_down:
Line Change: -85.71%:small_red_triangle_down:
Method Change: -100.00%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositorySessionTimeoutHandler

Complexity Change: -40.00%:small_red_triangle_down:
Instruction Change: -36.89%:small_red_triangle_down:
Line Change: -37.04%:small_red_triangle_down:
Method Change: -66.67%:small_red_triangle_down:

org.pentaho.di.ui.repo.SessionTimeoutHandler

Branch Change: -22.73%:small_red_triangle_down:
Complexity Change: -16.67%:small_red_triangle_down:
Instruction Change: -42.35%:small_red_triangle_down:
Line Change: -42.86%:small_red_triangle_down:
Method Change: -42.86%:small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 51 Column: 61

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 51 Column: 74

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/repositories-plugin/pom.xml clean install && mvn -B -f plugins/repositories-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/repositories-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.repo.MetaStoreSessionTimeoutHandler

Complexity Change: -100.00%:small_red_triangle_down:
Instruction Change: -76.92%:small_red_triangle_down:
Line Change: -85.71%:small_red_triangle_down:
Method Change: -100.00%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositoryConnectController

Branch Change: -46.97%:small_red_triangle_down:
Complexity Change: -41.67%:small_red_triangle_down:
Instruction Change: -58.43%:small_red_triangle_down:
Line Change: -61.78%:small_red_triangle_down:
Method Change: -56.41%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositoryServiceSessionTimeoutHandler

Complexity Change: -100.00%:small_red_triangle_down:
Instruction Change: -76.92%:small_red_triangle_down:
Line Change: -85.71%:small_red_triangle_down:
Method Change: -100.00%:small_red_triangle_down:

org.pentaho.di.ui.repo.RepositorySessionTimeoutHandler

Complexity Change: -40.00%:small_red_triangle_down:
Instruction Change: -36.89%:small_red_triangle_down:
Line Change: -37.04%:small_red_triangle_down:
Method Change: -66.67%:small_red_triangle_down:

org.pentaho.di.ui.repo.SessionTimeoutHandler

Branch Change: -22.73%:small_red_triangle_down:
Complexity Change: -16.67%:small_red_triangle_down:
Instruction Change: -42.35%:small_red_triangle_down:
Line Change: -42.86%:small_red_triangle_down:
Method Change: -42.86%:small_red_triangle_down:

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/repositories-plugin/pom.xml clean install && mvn -B -f plugins/repositories-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/repositories-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/repositories-plugin/pom.xml clean install && mvn -B -f plugins/repositories-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/repositories-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/repositories-plugin/src/main/java/org/pentaho/di/ui/repo/RepositoryDialog.java


Use a better API for getting contributor data

This is great, merged, thanks @hackerkid!  I especially appreciate the variable name and interface cleanups you did while working on this.


Document ChainSync protocol

Document:

the state machine
transitions and messages
include a short prose description of the protocol

Done in #325
Documentation of the chain-sync mini-protocol is finished
(review of the document by the team will be done in extra task)

Sorry my failure in the workflow.
This should move to Done before being closed

I got confused by this today as well.

I had accidentally clicked on the close button.
I guess the ticked should move to done before being closed.
The Section "Single Phase Chain Synchronization Protocol is ready for review"


Update semanticdb-scalac to 4.4.7

Updates org.scalameta:semanticdb-scalac from 4.4.0 to 4.4.7.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "semanticdb-scalac" } ]

labels: library-update, semver-patch

Superseded by #110.


Incorrect Statement?

[Enter feedback here]
I think this mis-represents what the tool can, Azure Migrate, last I checked, cannot migrate on-prem VMs to Azure VMware Solution.
Yes, it can assess VMs, but not actually do the migration.  Please can you verify this statement and correct as needed.
Servers, databases and web apps: Assess on-premises servers including web apps and SQL Server instances and migrate them to Azure virtual machines or Azure VMware Solution (AVS) (Preview).

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

ID: d18912e1-fcca-5ea6-869c-10548a5bde04
Version Independent ID: f06260f5-3204-57a7-0ceb-ddb12cabd81d
Content: About Azure Migrate - Azure Migrate
Content Source: articles/migrate/migrate-services-overview.md
Service: azure-migrate
GitHub Login: @v-ksreedevan
Microsoft Alias: v-ksreedevan

@Trevor-Davis Thank you for posting your question. Azure VMware Solution assessment can be created for VMware vSphere VMs only.

Reference links - https://learn.microsoft.com/en-us/azure/migrate/concepts-azure-vmware-solution-assessment-calculation
https://learn.microsoft.com/en-us/azure/migrate/how-to-create-azure-vmware-solution-assessment
Hope this helps!

@Trevor-Davis Checking in to see if the above answer helped. Let us know if there are still any additional issues we can help with.

Yes. I'm aware it can be done for vmware VMs. But, the note implies the migration can happen as well. Azure migrate Does Not migrate VMs to AVS

@Trevor-Davis Got your point.
@v-ksreedevan Could you please review this with the feature owner to update the content?

#reassign: @rashi-ms

Hi @Trevor-Davis,
The update is available at https://learn.microsoft.com/en-us/azure/migrate/migrate-services-overview.
Hence, closing this issue.
#please-close


traitors have different codewords

oops my fault (how even i got there..)

This happens because of the sleeper agent event.  It adds a new BaseTraitorRule gamerule which generates its own codewords. But I agree they should be the same. I have seen the problem of sleepers having the objective to help one of the original traitors, but being unable to prove it to them due to different codewords.

traitor rule should check for existing rules to copy codewords from

traitor rule should check for existing rules to copy codewords from

goofy implementation. just make a central codewords system that uses an entity to store all the codewords under a given key. codewords probably shouldn't even be coupled to gamerules to begin with.


Play music via url stream

Play music via url stream
Demo: https://simulatorradio.stream/stream?1558071009628

Sorry, I don't know English very well. What do you need from me?


chore(badge): create CodeFactor badge

Description
Please describe the reason related to the changes:
Type
Please select the type related to the changes:

[ ] bugfix
[ ] build
[ ] continuous delivery (CD)
[ ] continuous integration (CI)
[ ] documentation
[ ] feature
[ ] formatting
[ ] refactoring
[ ] styling
[x] other (please describe below):

Breaking Change
Does your changes introduce a breaking change?

[x] no
[ ] yes

Behavior
Please describe the current behavior:
Changes
Please describe the new behavior:
Information (issue, links, logs, etc.)
Please list any other useful information:
Checklist
Please make sure this pull request follow the requirements

[x] commit guidelines @commitlint/config-conventional
[x] 100% code coverage
[x] tests passing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
8

Relevant Lines:
8

💛  - Coveralls


add scanner notice banner

Scanner Notice Banner ⚠
This pull request adds a scanner notice banner to tarkov.dev to inform users that our scanners are quickly being leveled after the wipe begins!

Note: Deploy once the wipe occurs

.deploy


fix:[CORE-1984] Fix IAM access analyser collection for aws

Description

issue: after the major maven dependency refactor, old version of aws-sdk bom was being referenced in policy-engine. Previously before this maven dependency refactor, the aws-sdk bom was upgraded in https://github.com/PaladinCloud/CE/pull/1979, which was missed to be upgraded in the policy-engine

Problem
aws-sdk bom is having older version
Solution
upgrade aws-sdk bom to correct version as it was before the maven dependency refactor
Fixes # (issue if any)
dependency version
Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Chore (no code changes)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also
list any relevant details for your test configuration

[ ] Replicate the issue in local which we saw in vertex
[ ] run the collector after fix and verify access analyser is collected successfully

Checklist:

[X] My code follows the style guidelines of this project
[X] My commit message/PR follows the contribution guidelines of this project
[X] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Other Information:
List any documentation updates that are needed for the Wiki

After fix:


[W6.6c][F11-B2] Joshua Ng Kai Jiang

LO W6.6c: User Stories

Accepting this PR after minimal review because another of your PRs for this tutorial was reviewed in detail.


SF1 only location available for creating a new droplet.

Cannot choose any other location besides SF1 when spinning up a new droplet in the app. https://i.imgur.com/8qra6mt.png

Can you refresh the regions? also can you verify via the dashboard that you can effectively create droplets on other regions?

I was had a backup image selected, thus only available on that one server. Duh.

@shinradev I see! if you want to be able to use it on an other region you will have to transfer it to your desired region (can be done with the app).


Citizens for ACH?

http://www.citizensbank.com/commercial/automated-clearing-house-ach.aspx
http://www.citizensbank.com/commercial/accessglobal-ach.aspx
https://www.citizensbank.com/commercial-banking/banking-needs/electronic-payments.aspx

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/12267320-citizens-for-ach?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

I called the 877 number and apparently we don't have the right type of account(?). They're having someone else call me back. I think I'm going to stop in the local office to talk with my contact there.

Called my contact at Citizens' local office and she's looking into this for me.

"There's an underwriting process, it's not an instant sign-up."

Local contact has me in the system and I'm waiting to hear back from the next level up.

Just had a call with the next level up. She's going to get me a pricing sheet in the next day or so but sounds like they're offering 20¢ per. I did specify that we want to upload NACHA files programmatically and I think she took that on board (good look on recommending we make that explicit, @sbrendtro). I also emphasized that we're only doing credits, and aren't asking to be underwritten for debits at this point (maybe in the future). Seems to be moving along!

As you get talking to more technical people at Citizens, you'll want to get a hold of their specifications for file transmission, file confirmations, and their NACHA format guide.  The NACHA format itself is standard, but each bank seems to like to customize the values transmitted in some of the fields.  And the file confirmation format is completely different for each bank.  All of this information will be needed to build an OpenACH bank plugin specific to Citizens.

Meeting next Thursday at 10am to discuss.

Per https://github.com/gratipay/gratipay.com/issues/3390#issuecomment-100531709, ask Citizens about bank transfers outside the U.S.

FYI, international ACH transfers are available through side banks, but to
my knowledge the country lost no longer includes Euro countries since 2009
and the introduction of SEPA payments.  The transfers could likely be done
via:

Bank wire (FedWire) - expensive
SEPA - needs euro bank relationship
OCT transactions to debit cards (direct to card loads) - Citibank does
these and probably others, but not sure who. Read more here:
https://developer.visa.com/vpp/documents/json/Original_Credit_Transaction__OCT_.html
On May 9, 2015 8:57 PM, "Chad Whitacre"<EMAIL_ADDRESS>wrote:

Per #3390 (comment)
https://github.com/gratipay/gratipay.com/issues/3390#issuecomment-100531709,
ask Citizens about bank transfers outside the U.S.
—
Reply to this email directly or view it on GitHub
https://github.com/gratipay/gratipay.com/issues/3366#issuecomment-100572106
.

Thanks @sbrendtro. I believe Citizens is owned by RBS, so they may be able to help us with a European bank account that we could use for SEPA.

Reticketed from https://github.com/gratipay/gratipay.com/pull/3408/files#r30277011: ask about terms of service to incorporate in ours.

Meeting went well. Lots of info but I'm running hard on #3415. We should see a proposal tomorrow, will need to make a decision tomorrow to make this happen in time (guy is on vacation next week, needs to get the ball rolling before he leaves).

I pulled the trigger on this. It'll be an adjustment because the fee structure and API are more complicated. One interesting development: we'll have access to 25 countries via IAT (cf. https://github.com/balanced/balanced-api/issues/44). We've actually had no fee on payouts since Balanced made an exception for us as an early adopter. Given the more complicated fee structure here, it'll take some work to figure out how we're going to pass that through; reticketed as #3443.

Their proposal for the "file gateway" (sftp/scp).
An alternate proposal for their web-based system.
their IAT guide (28 pp.):
the list of countries for IAT (in PPT, natch)
their NACHA format guide

I told him we would move forward with the file gateway proposal, except for Achieve Access ($50/mo). Not having Achieve Access means:

We have to phone in control totals vs. using a web+securid-based system.
We have to monitor our account every day for ACH debit fraud. We have 24 hours to report fraud. With Achieve Access we would get to approve all ACH debits, whitelist, and set caps.
Direct transmissions should be under dual control, of course.
We should look into ACH/cyberattack insurance.

Should I ask him to add Achieve Access after all?

I've said yes to Achieve Access at $25/mo. I've named @clone1018 as the secondary employee for dual-control purposes.

Countries
Austria • Belgium • Canada • Cyprus • Czech Republic • Denmark • Finland• France • Germany • Greece • Ireland • Italy • Luxembourg• Malta • Mexico • Netherlands • Panama • Poland • Portugal • Slovakia • Slovenia • Spain • Sweden • Switzerland • United Kingdom

We're expecting to have a new account opened and to hear back next week with next steps.

We have a new analyzed checking account open at Citizens. I need to put a little cash in there today. This will replace the New Alliance account.
We are getting a second account at Citizens, a money market account that will have 1% guaranteed interest for 12 months. This will replace our old escrow cold storage account at Ally. It has a $25,000 minimum. Depending on how #1383 goes, we may need to close this out if we're able to drop our escrow low enough.

Just double-checked: there's no penalty if we close the money-market account before the 12 months is up or anything like that.

I've started connecting New Alliance at Citizens so we can transfer funds online for the money market account. Awaiting verification deposits.
I'll probably just withdraw cash and walk it down the street for the escrow checking account, because that can be a much smaller amount.

Transferred $100 into the escrow checking account yesterday. Awaiting verification deposits to enable online transfer before opening up the money market account.

Had a long call with our implementation manager to go over the documents she sent me. We have a weekly call scheduled for Thursdays to stay on track. Deliverables from us are executed documents and a NACHA file in this format. We need to make sure we're using the right SEC codes. Target at this point is to process on their system for the first time on June 11(!), with June 18 as our fall-back.

Average implementation time is 26 days, June 11 is 21 days, June 18 is 28.

Do you have a fax number, @clone1018? They need one on the application even though we don't have to actually use it.

@whit537 I have a personal work fax I'll email you.

Awesome, thanks! :D

We need to make sure we're using the right SEC codes.

Our treasury services rep at Citizens recommends "IIT [Includes CCD, CTX, IAT & PPD]." I would expect us to start out using CCD for paying out team owners, and PPD for paying out team members. As we strengthen our identity verification (#3289), we should see how that affects this (what about a team payout to a member who is actually a corporation and not an individual?). For cross-border payments we'll use IAT, of course.

To: Citizens

I've read and executed the following:

Certificate of Authority
Cash Management Service Order
ACHieve Service Request
ACHieve Single Administrator Request
Challenge Information Form (Chad)

Additionally, I have a public key ready for the Data Transmission Questionnaire.

A question on the Certificate of Authority: Gratipay is a single-member LLC that is treated as a sole proprietorship by the IRS. Therefore, should I add my SSN to the Certificate?

For the ACH Service Request, we have identified a fax number, but I am awaiting confirmation of Luke's current mailing address. I am also waiting for Luke's Challenge Information Form.

I understand we're supposed to send one email with all of the documents, so I will wait until I have everything before I send it all over. Please expect those from me on Wednesday morning at the latest.

Awaiting verification deposits to enable online transfer before opening up the money market account.

New Alliance account verified at Citizens.

To: Citizens

Please find attached our executed documentation. Let me know if anything is missing.

I will follow up with the Challenge Forms, Data Transmission Questionnaire, and public key in a separate email.
To: Citizens

Here are the Challenge Forms for Luke and myself, as well as the Data Transmission Questionnaire and our public key.

I believe that's everything you need from us at this point, yes?

From: Citizens

I have the required agreements from you.   But I was not able to open the attachment with the Public Key.  Are you able to copy the key into an email and send that to me?

The last piece of the puzzle is an internal document that I need from your banker.  I will begin the implementation as soon as I receive the internal document.

Let me know if you have any questions.
To: Citizens

Excellent. Here is the public key: [snip]

Let's consider this ticket closed when the "internal document" clears. Then we can move to #3488.

Had our weekly call with Citizens. The "internal document" is clearance from their underwriting department, who have bumped us to their AML department. In other words, https://github.com/gratipay/gratipay.com/issues/417#issuecomment-78266767 all over again. :-(
You know what? https://github.com/gratipay/inside.gratipay.com/issues/119

To: Citizens

Thanks for the call this morning. I understand that Gratipay needs to clear an underwriting hurdle with regard to third-party processors as well as AML before we have the green light to proceed. Per our call:

We show up on bank statements as GRATIPAY.COM plus our support phone number.

Here is a list of our current clients. Ball is in my court to get you a list of past clients for context (as you know we're in the midst of a major upgrade unrelated to our processing infrastructure migration and we're having to re-sign up our users).

On the AML documentation, I've asked [] in a follow-up phone call for a day to review and possibly refine our current practices in an effort to put our best foot forward with Citizens' AML department.

Please expect to hear from me again tomorrow.

Online transfer won't clear in time. If we're going to get this 1% rate locked in for the money market account, I need to go to New Alliance now and get a cashier's check and walk it down to Citizens and ask for next-day availability.

Okay! Money market account opened. O.o

:bank: :bike: :moneybag: :bank:

@clone1018 has agreed to take a first pass at https://github.com/gratipay/inside.gratipay.com/issues/119 tonight, and I've approached @copiesofcopies about writing an opinion letter to Citizens to accompany the AML documentation.

Going to hold off on the opinion letter and see if we can schedule a call with the decision makers at Citizens if needed after they've had a chance to review what @clone1018 comes up with for an AML program. This is in line with Citizens' suggestion to me earlier today.

I need to get back to Citizens today about our AML program. Since we're down to the wire for implementation I don't think we can block on https://github.com/gratipay/inside.gratipay.com/issues/119. I think we should give them as much information as exists today, and ask if we can proceed with implementation in parallel with finalizing compliance.

Ouch, I had no idea you needed it by today, that would have been
impossible. Sorry for the misunderstanding.
On Fri, May 29, 2015 at 2:23 PM Chad Whitacre<EMAIL_ADDRESS>wrote:

I need to get back to Citizens today about our AML program. Since we're
down to the wire for implementation I don't think we can block on
gratipay/inside.gratipay.com#119
https://github.com/gratipay/inside.gratipay.com/issues/119. I think we
should give them as much information as exists today, and ask if we can
proceed with implementation in parallel with finalizing compliance.
—
Reply to this email directly or view it on GitHub
https://github.com/gratipay/gratipay.com/issues/3366#issuecomment-106908094
.

@clone1018 No, it's fine. I just had a call with our sales rep. I'm going to write something up describing where we stand today and the improvements we're planning for the future. He's going to hand that up the ladder, and we'll touch base next week. Outcomes I see are:

They accept what we're able to come up with today and green-light us.
They want to talk further, but are willing to let implementation proceed in parallel with underwriting.
They want to talk further, and block implementation on underwriting.
They reject us.

(1) is great, (2) would be a relief at this point. (3) would put us in a[nother] crunch, and (4), well ...

Couple of important notes from: http://www.fatf-gafi.org/media/fatf/documents/recommendations/pdfs/FATF_Recommendations.pdf
P#14D10: No anonymous accounts or fake names? May not apply.
P#63H15: Enhanced CDD measures for "high risk", mentions geographic risk factors?
P#65H17c: countries with effective AML systems are low risk
P#65H20: Enhanced CDD measures
P#65H21: Simplified CDD measures (low risk) what we should be doing

@clone1018 Let's use https://github.com/gratipay/inside.gratipay.com/issues/119 for that.

To: Citizens

As you know, Gratipay's risk profile is actively changing right now, and we're doing our best to assess and respond to these changes quickly and carefully. Here is our risk management program as it stands today, which includes our AML program:

http://inside.gratipay.com/howto/manage-risk

We would welcome a conversation with Citizens' underwriters to further discuss any questions or issues related to our risk program.

Thanks, []!

From: Citizens

Thanks Chad
We’ll be sure to update you with any feedback as soon as we get it. I anticipate [] and I will re-group with the AML and underwriting group now that we have those items they were most interested in to complete their due diligence.

To: Citizens

Thanks, []. After spending time with this over the weekend, I'm confident we can find a way forward together. I look forward to speaking with you on our Thursday call if not before, and I look forward to your decision to proceed!

@clone1018 Will you be able to join our weekly call at 11:30 AM US/Eastern today?

Sure, @whit537 it's in an hour right?

@clone1018 Yes, but actually, game off. I got a call this morning that we've been rejected.

The two reasons Citizens cited for rejecting us were:

We might be a "money exchanger," because we support bitcoin. We don't support bitcoin under the new TOS, and we took it off the FAQ in #3429. I'm guessing they saw bitcoin addresses listed on profiles.
We don't do sanction screening, which is true. Reticketed as https://github.com/gratipay/inside.gratipay.com/issues/239.

I was speaking with a salesperson who was proxying about eight risk officers from an internal email thread. "You've even attracted the attention of the regulations and compliance department, which sits above AML." I've asked if we could have a conversation with one or more risk officers to understand their concerns, since that will be helpful in approaching PNC (#3518). Citizens went public last year, and that doesn't make them less skittish. The salesperson referred to "finable offenses," and in particular transactions involving sanctioned parties. It was unclear to me whether the identity of the sender or the receiver was the thing that mattered (cf. Transpay at https://github.com/gratipay/gratipay.com/issues/417#issuecomment-54667221).
Also, they noticed that Kiberpipa is in Slovenia. "Are they a registered charity? How do they know?" cc: @silverhook @domenkozar :)

We're an NGO. No such thing as charity here, you can just upgrade NGO status into "public benefit" (means just less taxes), which we're in process now-ish.

TL;DR: we’re a registered NGO NPO and currently in the process of gaining the status of an association in public interest (equivalent to the common law charitable organisation).
We fall under the Societies Act as „društvo“ (“association”), which is as @domenkozar mentioned by definition (in said act) a non-government, non-profit organisation, based on volunteer work and with a voluntary membership.
LUGOS’ statute in §8 sets forth as our main activities:

organising social activities for computer users and mutual help;

education (organising courses, conferences and workshops);
spreading GNU/Linux into academic and educational organisations, as well as educating potential users everywhere where computers are being used;
publishing all sorts of publications on how to use Unix, Linux and applications for them (lately this is mostly videos online, but the first Slovenian book on GNU/Linux was also authored by LUGOS);
translating and localising certain parts of GNU/Linux, where justifiable and where the need and demand from users arises;
fight against the monopoly on the Slovenian IT market regarding operating systems.

We are currently in the process of gaining the status of „društvo v javnem interesu“ (“society in public interest”), which is the local (perhaps even civil law) equivalent of a charitable association. For this there are some stricter rules you have to meet. We do, but so far never bothered to apply. Once we get the status, the entity and everything stays the same, just in the public registry we hold that additional status.

Thanks for the info, @silverhook @domenkozar. I'm afraid it's too late for this round, but it looks like collecting that kind of info could be important for the next round.

To: Citizens

Thanks for your hard work on our behalf, and I'm sorry it didn't come together. I wanted to follow up with an email to address the feedback I heard from you, [], about Gratipay's risk program:

We may be regulated by FinCEN. We rewrote our terms of service a month ago specifically to fit the payment processor exemption to the definition of a money transmitter (31 C.F.R. § 1010.100(ff)(5)(ii)(B)). We stopped processing payments under our old terms of service and are rebuilding our customer base from scratch under our new terms. We are well aware of the issues here, and I can confidently say that we are not a money services business and are not regulated by FinCEN.
We process bitcoin. In fact, we do not process bitcoin. We allow our users to list a bitcoin address on their public profile, but we do not use the address to directly facilitate any transactions on their part. We specifically removed this functionality when we rewrote our terms and started rebuilding our user base.
We do not perform sanction screening. This is true. However, we are happy to add this to our risk program, both for existing and future customers.

I understand that this is too little, too late, but I wanted to at least clear up for the record the misconceptions about our MSB status as well as bitcoin. Thanks again for all your hard work, and best wishes.

From: Citizens

Thank you for your email – I will keep this on file in the event we try to form a business relationship in the future.

It’s been a pleasure meeting you – I hope you find a good fit for ACH services for your company soon so that your business isn’t interrupted. In the event I hear about your accounts needing to close I will let you know but you may get a letter in the meantime.

I got a call from our Citizens account rep, and this letter in the mail:


Updating Existing content type.

Hi Team,
When i update the existing content type, by adding a new column or exsiting site column it throws an error.

Can anyone tell me how to fix this one ? or its a Sharepoint issue ?
Thanks & Regards,
Pavan.

Are you updating using UI or some script?

Are the content types listed in your screenshot delivered from a Content Type Hub site? Are they children of the content type you are trying to edit? Is your account a site collection admin on /sites/1?

As the error indicates, you don't have access to change that content type. The error indicates it has been set to read only which blocks updates. Only content types that are not-readonly can be updated.


Uninstall-PSResource: •	Uninstall is not checking for dependencies

Summary of the new feature / enhancement
•	Uninstall is not checking for dependencies – Here is a repro. Note that Az.Accounts is removed instead of throwing an error.
PS> Install-PSResource Az.Billing -Repository PSGallery -Reinstall -PassThru
Name        Version Prerelease Repository Description

Az.Billing  <IP_ADDRESS>            PSGallery  Microsoft Azure PowerShell - Billing service cmdlets for Azure Resource Mana…
Az.Accounts <IP_ADDRESS>            PSGallery  Microsoft Azure PowerShell - Accounts credential management cmdlets for Azur…
PS> Uninstall-PSResource Az.Accounts
PS> gmo az.* -list
Directory: C:\Users\sewhee\Documents\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands

Script     2.0.0                 Az.Billing                          Core,Desk {Get-AzBillingInvoice, Get-AzBillingPer…
Proposed technical implementation details (optional)
No response

Does this relate to #665?

@Viajaz very likely!  Thanks for linking the two issues


Show clear/reset buttons in Dataflow toolbar in QA modes

These buttons are useful for developers and essential for QA. This just extends @mklewandowski 's earlier work and rebases it to latest Dataflow code.

Is this branch work complete now?  If so, I will delete.


how to prepare sequence data

Whether the two datasets(identity and sequence) need to meet a specific ratio?

It's a good question.the larger the ratio of sequence dataset to identity dataset is, the harder to converge. we always use a ratio less than 10. you can get it through experiment.


Allow proxy middleware to abort long running connections.

The conditional proxy middleware that is used for connecting to the webpack dev server was leaving lingering connections when proxying long-running HTTP requests like those used for hot reloading.
This was happening because the CancellationTokenSource which lives on the HttpContext was never getting called after the initial SendAsync which completes after headers are sent.
The fix is simply to ensure that we respect the cancellation token when copying from the upstream response.
Note: I noticed this because when using .Net 4.6 plus System.Net.Http >= 4.3.1, you can only have 2 concurrent HttpClient requests active at a time because this change: dotnet/corefx#15036 uses the HttpClientHandler.MaxConnectionsPerServer with a default of 2. What was happening was that if I reloaded the page once or twice the hot module reloading wouldn't connect to webpack because it wouldn't let any more connections through because there were a couple lingering threads. It also might be worth changing HttpClientHandler.MaxConnectionsPerServer to something higher because even with this change the connections don't close immediately so several quick reloads can get you in the same position. Picking that default concurrency was out of scope for this PR though, I felt.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

I can also port this over to https://github.com/aspnet/Proxy if you guys think that's a good idea.

Thanks @mattvperry! This is great. It's now merged into dev and will be released in an updated package shortly.


Unhandled promise rejection warning: #

Describe the bug
The bot used to join but now just says Unhandled promise rejection warning: # when trying to join.
My code
client.join(PIN, "well hello there").catch();
it is inside a setTimeout
Expected behavior
for the bot to join
Screenshots

I’m not sure, but I believe this is because you didn’t supply a function in the .catch(). The object should explain why the bot failed to join.
Sent over the interblag from a GUI.
https://github.com/theusaf
https://shortr.github.io/?llorkcir

On Dec 27, 2020, at 9:46 PM, codingMASTER398<EMAIL_ADDRESS>wrote:

Describe the bug
The bot used to join but now just says Unhandled promise rejection warning: # when trying to join.
My code
client.join(PIN, "well hello there").catch();
it is inside a setTimeout
Expected behavior
for the bot to join
Screenshots
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Closed due to inactivity, unable to reproduce. Likely caused due to user error.

Closed due to inactivity, unable to reproduce. Likely caused due to user error.


Fix zoom overflow

What & why:
https://trello.com/c/sH0fdbRR/547-text-overlapping-with-bigger-font-size-on-how-government-works
Affected page: https://www.gov.uk/government/how-government-works
The big numbers affected in this commit currently overflow into the surrounding
region when a user increases text size but doesn't otherwise zoom. This corrects
that by reducing the sizes of the big numbers as they run out of space, based on
em sizes. This will not make them illegible as they are still enormous in
comparison to the copy text.
Firefox is the easiest browser to test this in, go to View->zoom -> zoom text only and then adjust the zoom level as required.
Screenshots before:
150%

170%

200%

Screenshots after:
150%

170%

200%

I’m wondering - if you have a user that can’t see this 300+ well and they try to zoom in (150 > 200 > 300), does this solution prevent it this text getting bigger for them?

See the screenshots and the explanation. Yes it prevents it getting as big as it would otherwise, that's the point, there isn't room for it. BUT it's still huge in comparison to the rest of the text and if the user can read that then yes, they can read the text that says "300+".  The size of the 300 at the start is bigger than the browser supports for the body text and it will still grow, just not as much as previously, when zoomed.

Hmm I'm not explaining myself well - the solution makes sense for the context of the overlap, this resolves this issue well.
I was thinking about the case of a user that can't see 300 at 100% very well and then tries to zoom into to 300%  however it sounds like this is not valid / already been factored in


Bug: field id collision or not sorted

I've created a newtype of an enum from a third-party library so that I can implement the CandidType trait for it.
I wrote some simple tests to check that encoding and decoding works as expected, and I seem to have encountered a bug.
Below is a minimal example.
failures:

---- tests::test_candid_foo stdout ----
thread 'tests::test_candid_foo' panicked at 'called `Result::unwrap()` on an `Err` value: Custom(Cannot parse header 4449444c036b02e6fdd50101b3d3c901026c0161716c0162710100000161

Caused by:
    0: Invalid table entry 0: Variant(Fields { len: 2, inner: [FieldType { id: 3505894, index: IndexType { index: 1 } }, FieldType { id: 3303859, index: IndexType { index: 2 } }] })
    1: field id 3303859 collision or not sorted)'
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- tests::test_candid_bar stdout ----
thread 'tests::test_candid_bar' panicked at 'called `Result::unwrap()` on an `Err` value: Custom(Cannot parse header 4449444c036b02e6fdd50101b3d3c901026c0161716c0162710100010162

Caused by:
    0: Invalid table entry 0: Variant(Fields { len: 2, inner: [FieldType { id: 3505894, index: IndexType { index: 1 } }, FieldType { id: 3303859, index: IndexType { index: 2 } }] })
    1: field id 3303859 collision or not sorted)'

use candid::types::{Compound, Field, Label, Serializer, Type};
use candid::{CandidType, Deserialize};
use derive_more::{Deref, Display};
use serde::Serialize;

#[derive(Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
enum NoCandid {
    Foo { a: String },
    Bar { b: String },
}

// Newtype so we can implement Candid trait
#[derive(Clone, Debug, Deref, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
struct ImplsCandid(pub NoCandid);

impl CandidType for ImplsCandid {
    fn _ty() -> Type {
        Type::Variant(vec![
            Field {
                id: Label::Named("Foo".to_owned()),
                ty: Foo::ty(),
            },
            Field {
                id: Label::Named("Bar".to_owned()),
                ty: Bar::ty(),
            },
        ])
    }

    fn idl_serialize<S>(&self, serializer: S) -> Result<(), S::Error>
    where
        S: Serializer,
    {
        match &self.0 {
            NoCandid::Foo { a } => {
                let mut ser = serializer.serialize_variant(0)?;
                let v = Foo { a: a.to_owned() };
                Compound::serialize_element(&mut ser, &v)?;
                Ok(())
            }
            NoCandid::Bar { b } => {
                let mut ser = serializer.serialize_variant(1)?;
                let v = Bar { b: b.to_owned() };
                Compound::serialize_element(&mut ser, &v)?;
                Ok(())
            }
        }
    }
}

#[derive(
    CandidType, Clone, Debug, Deserialize, Display, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize,
)]
struct Foo {
    a: String,
}

#[derive(
    CandidType, Clone, Debug, Deserialize, Display, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize,
)]
struct Bar {
    b: String,
}

#[cfg(test)]
mod tests {
    use super::*;
    use candid::*;

    #[test]
    fn test_candid_foo() {
        let foo = ImplsCandid(NoCandid::Foo { a: "a".to_string() });
        let encoded = encode_one(&foo).unwrap();
        let decoded: ImplsCandid = decode_one(&encoded).unwrap();
        assert_eq!(decoded, foo)
    }

    #[test]
    fn test_candid_bar() {
        let bar = ImplsCandid(NoCandid::Bar { b: "b".to_string() });
        let encoded = encode_one(&bar).unwrap();
        let decoded: ImplsCandid = decode_one(&encoded).unwrap();
        assert_eq!(decoded, bar)
    }
}

This appears to only be an issue if the enum has more than one constructor, i.e. if we remove Bar then test_candid_foo passes.
Perhaps I'm doing something wrong. I  appreciate any help in figuring out what that might be.
Thanks in advance.

_ty() implementation for record type should be sorted by the hash of field name. If you swap Foo and Bar, I think it will work.
The easiest way to know the hash is probably via didc: didc hash Foo and didc hash Bar.

I can try that.
I assumed the index of the type provided in the vec in_ty had to match the index provided to serialize_variant.
Is there a reason things don’t work that way?

The spec requires the field names are sorted according to the hash. The proc macro for Derive(CandidType) will sort the field name for you. But if you are implementing _ty() yourself, you need to sort them manually.

Thanks for the explanation. Reordering the fields worked.

Hello there
When i tried to upgrade the canister with a code change getting the below error.
Caused by: Failed to install wasm module to canister 'prod_finance'.
Failed to install wasm in canister '6s6yi-xxxxx-xxxx-qc6iq-cai'.
Failed to install wasm.
The Replica returned an error: code 5, message: "Canister 6s6yi-xxxx-xxxx-qc6iq-cai trapped explicitly: IDL error: variant or record tag out of order"


Feature/lnurl support

Addresses: https://github.com/GaloyMoney/galoy-mobile/issues/63

Add bech32 package
Add lnurl helpers
Update QRcode screen flow
Add new screen for lnurl

Video of flow
https://user-images.githubusercontent.com/1019869/134168081-87f51c82-69dd-4a8e-80c7-72d8fbdc6864.mp4
Test messages posted on this thread: https://chat.blixtwallet.com/

Thanks for the feedback @jrbuhl93! I've added the translations.

I talked with @nicolasburtey today and we don't see a clear need for having a separate send screen for lnurl. We just need extra ui around minimum and maximum amounts for the payment. Do you see any issues with this? Are you able to refactor lnurl to be part of the current send-bitcoin-screen?

@jrbuhl93 Yep, I started working on it that way but moved to this way. I'll refactor to have it within the same view. Won't be able to get it out this week though. I'll try to get it updated by Tuesday.

Hi @krsjoseph. Are you still interested in refactoring your change with the suggested changes?

I'm going to close this as it's a stale PR.


ProxyStore to support HTTPS

Describe the new feature you'd like
Get proxy store to be configured to work with both HTTP or HTTPS
Why do you want this feature?
Some of our user have overridden proxy store to do this.

I think this requires further information. I'm not aware of anything which would prevent use of HTTPS or require overriding. If the remote graph endpoint URL uses HTTPS then this should be used. This does require investigation.


Both the value and the error are populated in type conversion

In the below code segment, when the   result, er = <json>dt; is executed both the result and the error get populated. The result will be successfully received by the client, but an error will also be logged
public function getPendingApprovalAccountList () (json result, error err) {
    endpoint<sql:ClientConnector> ep {
        init();
    }

    TypeConversionError er;
    sql:Parameter[] parameters = [];
    int accStatus = cons:ACC_STATUS_APPROVAL_PENDING;
    string query = "select * from Account where account_status=?";

    try {
        sql:Parameter para1 = {sqlType:"integer", value:accStatus, direction:0};
        parameters = [para1];
        datatable dt = ep.select(query, parameters);
        result, er = <json>dt;
        println(result);

        if (er != null) {
            log:printError("getPendingApprovalAccountList: Error occurred in conversion");
        }

    }
    catch (error e) {
        err = e;
    }
    return;
}

Related issue https://github.com/ballerinalang/ballerina/issues/2887

Closing this issue, since its a duplicate of #2887


Added feature for generating the parameters file

@jawalonoski something along these lines correct? (in relation to https://chat.fhir.org/#narrow/stream/179166-implementers/topic/From.20Synthea.20Bulk.20Export.20to.20Bulk.20Import)

Questions:

Does the order of the entries in the parameters file matter? For example, loading dependencies in order: Organization,Location,Practitioner,PractitionerRole, etc. If so, then this needs alteration. If not, good to go.

If you want http://localhost:8000/ to be configurable, you could add another field to synthea.properties.

Comment:

This change introduces a few Checkstyle warnings:

Exporter.java:505:5: '{' at column 5 should be on the previous line. [LeftCurly]
Exporter.java:508: Line is longer than 100 characters (found 101). [LineLength]
Exporter.java:521:82: WhitespaceAround: '+' is not preceded with whitespace. [WhitespaceAround
Exporter.java:521:83: WhitespaceAround: '+' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
Exporter.java:523: Line is longer than 100 characters (found 113). [LineLength]

@jawalonoski apparently the checkstyle config file in the repo is not working with the https://plugins.jetbrains.com/plugin/1065-checkstyle-idea plugin, so I'm a bit in the dark. I think I adressed all your findings.

Sorry for the delay. Looking at it now.

There were minor check style complaints, but I'll fix them post-merge.
Thank you for the pull request!


Implement "code blocks"

First round may simply be https://github.com/google/code-prettify or something like it.

priority 1


Update citation?

Should we update the citation in the README to reflect the final published papers?
https://www.nature.com/articles/s41597-022-01882-6

Definitely!


Superset not loading LOCAL configuration

I have set my pythonpath using export PYTHONPATH=/home/flaskuser/config/
And when i run superset db upgrade it was not loading files in my config folder which consists of superset_config.py
Python 3.6.8
superset 0.27.0

Could you try setting the SUPERSET_HOME variable as well and see the behaviour?

@mmutiso
Issue with requirements.txt, I resolved it
Thanks


Dockerize teos

Create a docker image for teos so it is easier to install and distribute.
The task should include:

a docker image for teos
a step by step section on the README on how to deploy and use teos using docker.

i'll tackle this

Would be awesome to see this in BTCPay @NicolasDorier @Kukks @rockstardev


feat: standalone debugger

Change Summary
This PR introduces standalone debugger. After this is merged we can finally extract starter to its own repository.
https://linear.app/modprotocol/issue/FRA-37/feasibility-check-for-debugger-as-standalone-script-cli-npx-extension
Merge Checklist

[x] PR has a Changeset
[ ] PR includes documentation if necessary
[ ] PR updates the boilerplates if necessary

Todos

[ ] Test it
[ ] rename frames-debugger to frames for command


Fixed formatting tx id

bug: in transaction logs screen transaction ids where formatted as addresses and not "0x{first six hex chars}


[WIP] pin libxml2 at 2.9.1

Overview
DO NOT MERGE
Test for libxml2 2.9.1 travis pinning.  Looks like libxml2 2.9.4 introduces XML validation errors.
Related Issue / Discussion
Additional Information
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[ ] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

cc @kalxas
Looks like is an lxml issue.  3.6.1 works, 3.6.4 breaks.

On second thought, more testing:

lxml 3.6.1 && libxml2 2.9.1 passes
lxml 3.6.2 && libxml2 2.9.1 passes
lxml 3.6.3 && libxml2 2.9.4 FAILS with said validation error
lxml 3.6.4 && libxml2 2.9.4 FAILS with said validation error

It would be great if we could bump the version of lxml to 3.6.3 or higher. According to this thread on stackoverflow, and I've also tested it myself on ubuntu 16.04, lxml is now providing wheels (AKA binary downloads) on pypi. This would mean that installing lxml would be a lot faster on Travis (and everywhere else too). It would also mean that installing pycsw would be faster and with fewer external dependencies (no need for libxml2-dev and libxslt1-dev anymore).

cc @kalxas
@ricardogsilva not sure about this one given #454.  @kalxas?

We have to make sure that other distributions also have this version available, not just Pypi.

Given #454 it looks like there has not been any releases of libxml2 since this bug was addressed?

@tomkralidis @kalxas
FYI, libxml2 has a new release out, version 2.9.5. Perhaps this will fixes the long standing validation issues?

we have to test :)

Closing.  Looks like deploys are using recent libxml2 builds.


[relay] add web socket relay for bitcoin and nostr protocols.

This PR drafts:

Add ws config of relay under rooch-config directory. Referred to nostr-rs-relay: https://github.com/scsibug/nostr-rs-relay/blob/9e22776227d30039458b698fd0eca21b179b453a/src/config.rs#L285C13-L285C13

Resolves #407

Split this PR into two PRs.

to_string to to_owned.
relay_config. The relay config should be a draft PR, will merge it when the nostr relay PoC is finished.

This PR is currently a mirror of nostr-rs-relay. The command line output of running a rooch relay start is as below:
RUST_LOG=warn,rooch_ws_relay=info rooch relay start &
[1] 45067
2023-07-06T19:16:22.260188Z  INFO rooch_ws_relay: listening on: <IP_ADDRESS>:8080
2023-07-06T19:16:22.264771Z  INFO rooch_ws_relay::repo::sqlite: Built a connection pool "writer" (min=0, max=2)
2023-07-06T19:16:22.265047Z  INFO rooch_ws_relay::repo::sqlite: Built a connection pool "maintenance" (min=0, max=2)
2023-07-06T19:16:22.265510Z  INFO rooch_ws_relay::repo::sqlite: Built a connection pool "reader" (min=4, max=8)
2023-07-06T19:16:22.266309Z  INFO rooch_ws_relay::repo::sqlite_migration: DB version = 0
2023-07-06T19:16:22.268365Z  INFO rooch_ws_relay::repo::sqlite_migration: database pragma/schema initialized to v18, and ready
2023-07-06T19:16:22.268389Z  INFO rooch_ws_relay::repo::sqlite_migration: All migration scripts completed successfully.  Welcome to v18.
2023-07-06T19:16:22.268601Z  INFO rooch_ws_relay: db writer created
2023-07-06T19:16:22.268692Z  INFO rooch_ws_relay: control message listener started
2023-07-06T19:17:22.272455Z  INFO rooch_ws_relay::repo::sqlite: checkpoint ran in 203.583µs (result: Ok, WAL size: 0)
2023-07-06T19:18:22.276296Z  INFO rooch_ws_relay::repo::sqlite: checkpoint ran in 87.917µs (result: Ok, WAL size: 0)
2023-07-06T19:19:22.280120Z  INFO rooch_ws_relay::repo::sqlite: checkpoint ran in 133.333µs (result: Ok, WAL size: 0)
2023-07-06T19:20:22.284054Z  INFO rooch_ws_relay::repo::sqlite: checkpoint ran in 130.75µs (result: Ok, WAL size: 0)
2023-07-06T19:21:22.288332Z  INFO rooch_ws_relay::repo::sqlite: checkpoint ran in 147.167µs (result: Ok, WAL size: 0)

I will do further research to improve it, store in memory DB or embedded DBs.
Maybe we should rename it to rooch relay serve?

Is it possible to store the event in the Move contract state?

Is it possible to store the event in the Move contract state?

I think it is, and it's only meaningful for payment chain events made with LNbits.com? Others have little incentive to do so with SMT state storage, expect it's made for proof of statement purposes, such as posts and messages.
I can try with replacing sqlite with StateDB with new_with_memory_store() to check if it's possible to store in contract state.

Is it possible to store the event in the Move contract state?

It's perfectly to implement StateDB, EventStore and TransactionDB under moveos-store directory for state merkle trees and proofs through hypercore: https://docs.rs/hypercore/latest/hypercore/.
Its Rust implementation is at https://docs.rs/hypercore/latest/hypercore/.
It can be used for sharing large datasets and streams of real-time data, as an example of nostr.

Is it possible to store the event in the Move contract state?

It's perfectly to implement StateDB, EventStore and TransactionDB under moveos-store directory for state merkle trees and proofs through hypercore: https://docs.holepunch.to/building-blocks/hypercore.
Its Rust implementation is at https://docs.rs/hypercore/latest/hypercore/.
It can be used for sharing large datasets and streams of real-time data, as an example of nostr.

It may be suited for syncing the transaction between sequencers and proposers when we build the p2p network layer2. @baichuan3 @templexxx
But in this PR, we try to reuse rooch infrastructure to implement the nostr protocol.

Implement the nostr logic with Move.
Store the state in Move's state.
Proxy the nostr write API to rooch transaction.
Proxy the nostr query API to rooch state query.


feat: swap support for windows, android, openwrt and netbsd

This is a follow-up PR for #175.
Please note that none of this is tested yet, I had some issues cross compiling for Android (Termux) and don't have my OpenWrt router available at the moment to test these platforms.

I'll take it for a spin on my Android device and let you know how it goes.


IgnoreEmptyDirectories name is confusing since it does not affect only empty directories

Current Behavior
IgnoreEmptyDirectories does not only ignore empty direcotries, but also intermediate directories on an InputFiles property.
But neither the name nor the documentation suggest this behavior.
If I have an incremental task action and without IgnoreEmptyDirectories, I get the intermediate directories as file changes.
If I add IgnoreEmptyDirectories, I only get the actual files as file changes.
Expected Behavior
I'm not sure whether here the behavior is wrong, or the name and documentation are misleading.
So I guess either the annotation should be renamed, as it does not only affect empty directories, and userguide and JavaDoc adjusted,
or the behavior changed, so that only empty directories are affected like documented and the name suggests.
Steps to Reproduce
@get:InputFiles
@get:IgnoreEmptyDirectories
@get:SkipWhenEmpty
@get:PathSensitive(NAME_ONLY)
abstract val sourceFiles: ConfigurableFileCollection

[...]

@TaskAction
fun execute(inputChanges: InputChanges) {
    inputChanges.getFileChanges(sourceFiles).forEach { fileChange ->
        println("fileChange.file = ${fileChange.file}")
    }
}

and
val foo by tasks.registering(Foo::class) {
    sourceFiles.from(layout.buildDirectory)
}

Gradle version
7.6.4

This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

Related:

#2940

It seems originally the annotation was named @IgnoreDirectories but was then renamed after review comments. :)
See discussion in: https://github.com/gradle/gradle/pull/15147
I see that documentation on the annotation mentions that directories are ignored:
Attached to an input property to specify that directories should be ignored when snapshotting inputs.

see: https://github.com/gradle/gradle/blob/80477c69ff426af47b53cda7f3167ad188935727/subprojects/core-api/src/main/java/org/gradle/api/tasks/IgnoreEmptyDirectories.java#L26-L28
So yeah, the name is confusing indeed. Should we improve documentation somehow?
Also do you suggest any better name? We won't rename it now, but maybe we will revisit annotations in the future and could also do some renaming.

Uhm, so it was intentionally misnamed and assumed it is not confusing ... how confusing to me. :-D
I indeed like @IgnoreDirectories better, because that is what it does. Yes, this could be misinterpreted as also ignoring their contents, as the current name could be "misinterpreted" to only ignore empty directories. Counterargument to the confusion would be the same as for the current in that discussion, clarify in the userguide and JavaDoc the exact behavior.
Regarding docs and JavaDoc, I think the main problem I see is, that they only speak about snapshotting and up-to-date checks. But it affects more, like not getting the intermediate directories as incremental change entries.

+1 to @IgnoreDirectories. I don't remember the arguments that resulted in the current name, but looking at how this is used now, I think @IgnoreDirectories captures the intent better.


feat: upgrade-to-angular-13

Update the Angular dependency to V13 and update packages to remove security vulnarabilites.
I will do the follow up PR to update svg-to-ts to update to latest version and update jest.

Hi @tomastrajan @kreuzerk,
Let me know if we can merge this PR I can see the repo is not updated from last 2 years, as we are using this builder in our app, and it has some packages which are really old, we are getting warnings during yarn install.

Hi @santoshyadavdev thx a lot for the help. 👍


clusters_diff: remove the hard dependency on numpy

This makes travis cry because numpy takes ages to compile and
isn't strictly needed to have something functional.

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Coverage decreased (-0.2%) to 94.005% when pulling 4b94d059f9236e034f80a693f242476a31051f55 on iksaif:numpy-optional into 1be2a4bc4e76e3ca4d01daf6e5412b500227eceb on criteo:master.

Coverage decreased (-0.2%) to 93.512% when pulling 3c73a9d33b7dfd362dd00e1f209c5ac568cb7a82 on iksaif:numpy-optional into f4cce9e2c7c3d55b6102087e250011c4c2ac5f10 on criteo:master.

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Coverage decreased (-0.2%) to 93.512% when pulling 13525e830e65a8bc2126fff2a3eec99b02fa9287 on iksaif:numpy-optional into f4cce9e2c7c3d55b6102087e250011c4c2ac5f10 on criteo:master.


Amend Retry-After parsing logic for negative durations

The initial implementation of this PR attempted to fix the TestExtractRetryAfterHeaderHttpDate test by making sure the test duration was in the future. After the comment by Tigran I've pivoted to fix the parsing logic instead.
This PR amends the parseHTTPDate and parseDelaySeconds helpers to not return an error if the parsed duration is in the past; instead they now return a zero duration and nil error to trigger immediate polling.
In the current logic and the two places (1, 2) it's being used, it looks that in the case that a negative seconds or a date in the past was set in the header, both the HTTP and WebSocket clients would reuse the last valid calculated interval, while now it would correctly poll right away.
Old PR description
This PR fixes a timing issue with TestExtractRetryAfterHeaderHttpDate that makes it flaky.
To see the failure, run the following command a couple of times
$ go test -run TestExtractRetryAfterHeaderHttpDate -count=20000 -shuffle=on ./...

The failure itself has to do with the following snippet; technically we're only adding >=0 seconds of delay. If you're lucky enough to add 0s as the duration, then the time.Until condition hits and the header cannot be parsed properly
https://github.com/open-telemetry/opamp-go/blob/1a9603e3d2ded1c7a63917e6d13c4d6e22a7af6d/internal/retryafter_test.go#L61-L62
https://github.com/open-telemetry/opamp-go/blob/ba3b5ff1db417943eed2b004aad6301494a0a4ea/internal/retryafter.go#L35-L40
Fixes #181

Hmm, I am not sure the test is wrong. I wonder if the code is wrong. Why do we need the date returned in Retry-After to be in the future? I would argue that is not necessary. If the duration is exactly 0 or even negative that's fine, we should return 0 duration from parseHTTPDate and nil error. This will be overridden by callers since we have a floor of the duration, but that's not this functions concern.
I think we should fix parseHTTPDate to return 0 duration if the calculated duration is <=0.
@open-telemetry/opamp-go-approvers what do you think?

Thanks for the comment; I think you're right. At first I thought there might be some design decision behind this, so I chose to not challenge it.
After looking at the two places (1, 2) where the result of parseHTTPDate might be used, a duration of zero would just immediately trigger the timer, so I don't see a drawback in this.
I will amend the PR and relevant tests to fix the parsing logic instead.

cc @tigrannajaryan feel free to take another look!


[WIP] feat: Add RenVM BTC Bridge Adapter

Ren adapter built by Badger RenVM integration team. Contains mint/burn logic for renBTC and wBTC.
Ren team is ready to launch marketing materials as soon as Thurday. Digg/Shakeshack, let's coordinate when we can push this forward.

Changing to WIP pending refactor.

Needs some updated e2e integration tests. UI code will need to be updated as well.

test swap routing/swapping w/ curve strategy (will need to mock caller/ren contracts on mainnet)
test mint/burn renBTC on kovan (should be less work, just modifying the existing js e2e integration tests)


Tighten cookie security

Several cookie changes:

The http_only flag was set on the lang cookie
The rememberchoice and previousSelection cookies where set to be secure

:deciduous_tree: To reduce JavaScript build output polution, the babel config was updated to no longer spit very verbose debug output.
See: https://www.pivotaltracker.com/story/show/176287495
See: https://github.com/OpenConext/OpenConext-deploy/pull/320

Merging!

Merging!


[Fix] Fix demo bugs due to data flow refactor

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Please describe the motivation of this PR and the goal you want to achieve through this PR.
Modification
Please briefly describe what modification is made in this PR.
BC-breaking (Optional)
Does the modification introduce changes that break the back-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects.
The documentation has been modified accordingly, like docstring or example tutorials.

lint problem can be solved after merging https://github.com/open-mmlab/mmdetection3d/pull/1793


Add font rendering

There should be some sort of font rendering support for various UI and debug texts

Okay, it seems that Robmaister's SharpFont did a very good job for rendering a 'B' for us :)
For closing this task some additional steps required:

Add transparency to a letters (this should be easy, just switch to BGRA textures)
Add support for combining letters to words, so that we have a text rendering functionality
Add colors
Finish it with rendering some FPS and debug info

Transparency and colors seems ok

Although we did not go very far in actually resolving this (some additional research on freetype library required), with today's renderer update we at least have primitive (letter-by-letter) text support: