Update with new package skeleton

This PR provides an intermediate update for the ongoing work of getting a good package skeleton.

Small FYI that the codecov will continue complaining until a token is added to the secrets of the repository, and that has been properly set up. I don't have the rights to access this however.

Small FYI that the codecov will continue complaining until a token is added to the secrets of the repository, and that has been properly set up. I don't have the rights to access this however.

How would I do that, and/or how would I give you access to do that?

The CI.yml workflow needs to be deleted.

Ok, this seems to now have fixed the remaining issues with the codecov actions, and is ready to merge + register from my end.


vaultObjectVersion is not set

Here is the yaml file:
apiVersion: v1
kind: Pod
metadata:
  name: keyvault-demo
spec:
  containers:
  - name: keyvault-demo
    image: nginx
    volumeMounts:
    - name: secret-1
      mountPath: /secret1
      readOnly: true
  volumes:
  - name: secret-1
    flexVolume:
      driver: "azure/kv"
      secretRef:
        name: kvcreds
      options:
        usepodidentity: "false"
        resourcegroup: "rrdprem-rg"
        keyvaultname: "rrdprem-kv"
        keyvaultobjectname: "appsecret1"
        keyvaultobjecttype: secret
        keyvaultobjectversion: "29b378fc9e89487c961d3b178667beb7"
        subscriptionid: "6abf90e5-4af2-4c86-83aa-5352df938db5"
        tenantid: "f7215caf-efd9-4bac-89c5-a3cf109a9f18"

And it failed with the following error:
Type     Reason                 Age              From                               Message

Normal   Scheduled              4s               default-scheduler                  Successfully assigned keyvault-demo to aks-nodepool1-33901137-2
Normal   SuccessfulMountVolume  3s               kubelet, aks-nodepool1-33901137-2  MountVolume.SetUp succeeded for volume "default-token-d52qb"
Warning  FailedMount            2s (x3 over 3s)  kubelet, aks-nodepool1-33901137-2  MountVolume.SetUp failed for volume "secret-1" : mount command failed, status: Failure, reason: /etc/kubernetes/volumeplugins/azure~kv/azurekeyvault-flexvolume failed, -vaultObjectVersion is not set

Thanks for reporting this @smartpcr Can you pls share logs from /var/log/kv-driver.log from aks-nodepool1-33901137-2?

log is attached:
kv-driver.log
TestPod.yml.txt

I see CLIENTID: .appId in the log. Was this redacted? can you pls share how you are creating the kvcreds k8s secret?
For your reference, from the README, to create the kvcreds k9s secret:

Add your service principal credentials as a Kubernetes secrets accessible by the KeyVault FlexVolume driver.

kubectl create secret generic kvcreds --from-literal clientid=<CLIENTID> --from-literal clientsecret=<CLIENTSECRET> --type=azure/kv

I see correct secret (spn password) in the log, but not appId (should be 9a01914e-8bc1-427b-ad76-5197d3bb0a77). Here is what I did:

create service principal using password

az ad sp create-for-rbac `
        --name $bootstrapValues.kvSample.servicePrincipal  `
        --password $($servicePrincipalPwd.value)
$spn = az ad sp list --display-name $bootstrapValues.kvSample.servicePrincipal | ConvertFrom-Json

create secret using spn's appId and password

$kvCredName = "kvcreds"
$spnPwdSecret = az keyvault secret show --vault-name $bootstrapValues.kv.name --name $bootstrapValues.kvSample.servicePrincipalPwd | ConvertFrom-Json
kubectl create secret generic $kvCredName --from-literal clientid=$spn.appId --from-literal clientsecret=$spnPwdSecret.value --type "azure/kv"

Here is output describing secret:
kubectl describe secret kvcreds
Name:         kvcreds
Namespace:    default
Labels:       <none>
Annotations:
Type:         azure/kv

Data
====
clientid:      6 bytes
clientsecret:  215 bytes

Can you set $spn.appId to a variable then run kubectl create?
$spnappid = $spn.appId
kubectl create secret generic $kvCredName --from-literal clientid=$spnappid --from-literal clientsecret=$spnPwdSecret.value --type "azure/kv"

here is the output of secret, client id is correct after decoding.
kubectl get secret kvcreds -o yaml
apiVersion: v1
data:
  clientid: OWEwMTkxNGUtOGJjMS00MjdiLWFkNzYtNTE5N2QzYmIwYTc3
  clientsecret: S2VkcUdSOWtabHA3ODRJRkRkV2pDYWxpOVppWTZHZG5yQ09McFBJMyFAMXdX
kind: Secret
metadata:
  creationTimestamp: 2018-08-27T23:56:35Z
  name: kvcreds
  namespace: default
  resourceVersion: "26465"
  selfLink: /api/v1/namespaces/default/secrets/kvcreds
  uid: d4d0e547-aa54-11e8-ad1b-1ec7bc63a04d
type: azure/kv

here is the output of secret, client id is correct after decoding.
kubectl get secret kvcreds -o yaml
apiVersion: v1
data:
  clientid: OWEwMTkxNGUtOGJjMS00MjdiLWFkNzYtNTE5N2QzYmIwYTc3
  clientsecret: S2VkcUdSOWtabHA3ODRJRkRkV2pDYWxpOVppWTZHZG5yQ09McFBJMyFAMXdX
kind: Secret
metadata:
  creationTimestamp: 2018-08-27T23:56:35Z
  name: kvcreds
  namespace: default
  resourceVersion: "26465"
  selfLink: /api/v1/namespaces/default/secrets/kvcreds
  uid: d4d0e547-aa54-11e8-ad1b-1ec7bc63a04d
type: azure/kv

@smartpcr glad it worked for you! Closing the issue. You should probably delete that SP since the secret has been shared here.


Add CMake

The Makefile was removed

Also added to the aur, but until this is merged it will use my fork because CMake.

I'm not an experienced C programmer- what advantage does cmake have over regular make, especially for a project as small as this?

CMake is a build system generator. It can be used for more than making Makefiles.
https://stackoverflow.com/questions/25789644/difference-between-using-makefile-and-cmake-to-compile-the-code

Would you mind also updating the README to reflect the changed installation process?

ok

I appreciate your taking interest in my project, but I'm still not convinced there's much to gain from using CMake, versus what I perceive to be the added complexity. Considering that the source code consists of 1 file, and that this change will make it harder for me to maintain this in the future, I don't think I'm going to merge this at this time.

can this pull request be re-opened?


🐛 Fix Debug messages being printed to the terminal by default

Summary
Debug messages are no longer printed to the terminal by default.
Motivation
Terminal gets spammed, most of the time you don't want debug messages. Only when you "debug"
Test Plan

[X] debug messages are printed when lowest level is DEBUG
[X] debug messages are not printed when lowest level is higher than DEBUG (e.g WARN)

Download the template for this pull request:

[!NOTE]
This is auto generated from Add Template to Pull Request

via manual download<EMAIL_ADDRESS>via PROS Integrated Terminal:

curl -o<EMAIL_ADDRESS>https://nightly.link/LemLib/LemLib/actions/artifacts/1376043952.zip;
pros c fetch<EMAIL_ADDRESS>pros c apply<EMAIL_ADDRESS>rm<EMAIL_ADDRESS>

Tested, LGTM


sometimes player no  sound

03:22:11.389 ERROR:    849: AudioQueue: request to trim 2112 + 0 = 2112 frames from buffer containing 1024 frames
but drag the progress ,the sound has again

when device is in silent mode then video sound functionality doesn't work

Hey, did you fund the solution yet ?


Document how to transfer a stack

It appears we don't document transferring stacks between accounts and organizations.
For folks wanting to know how to do this, go to your stack's page in app.pulumi.com, navigate to its settings tab, and look for the "transfer stack" button in the danger zone. Here is a screenshot:

In terms of where I'd have expected to find it, I first searched

and then went looking at https://www.pulumi.com/docs/intro/console/project-and-stack-management/, but didn't find anything. Did I miss it somewhere else?

Note https://github.com/pulumi/docs/pull/3691 to build upon (or add link to
new content, etc.)
On Mon, May 24, 2021 at 8:41 AM Joe Duffy @.***> wrote:

It appears we don't document transferring stacks between accounts and
organizations.
For folks wanting to know how to do this, go to your stack's page in
app.pulumi.com, navigate to its settings tab, and look for the "transfer
stack" button in the danger zone. Here is a screenshot:
[image: image]
https://user-images.githubusercontent.com/3953235/119371916-b8083400-bc6b-11eb-9095-7508660a3522.png
In terms of where I'd have expected to find it, I first searched
[image: image]
https://user-images.githubusercontent.com/3953235/119371846-9e66ec80-bc6b-11eb-96cd-dab9a6a5b6ed.png
and then went looking at
https://www.pulumi.com/docs/intro/console/project-and-stack-management/,
but didn't find anything.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pulumi/docs/issues/6031, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB77TQSGMJHBANUQDMMFQDTTPJXTBANCNFSM45NOYCTQ
.


Analytics / GTM

GTM is increasingly the way we're loading in Analytics these days. It used to be mainly with clients managing ad pixels, but now it's also increasing in popularity because it allows GA4 + Universal Analytics to be loaded side by side.
Some thoughts on todos we could add:

[ ] add a gtm.js to complement ga.js
[ ] docs on implementing, env variables
[ ] code/docs for core web vitals

When we do this, should also make use of the new next script code:
https://blog.jarrodwatts.com/track-user-behaviour-on-your-website-with-google-analytics-and-nextjs

Closing out, don't want to be opinionated about analytics in here.


TODO(ian): Log this number somewhere to resume on failure.

File Location: ./scraper\scraper.pyLine Number: 23 This message was auto-generated by Pygemony:Github

Commit b7fa29e018b036233795d3df57dea993b26bcec7 closes this issue.


hello-libs dlopen error

I'm using sharp Z2 mobile phone(with mali gpu). In MainActivity.java, I comment

System.load("/system/vendor/lib/libPVROCL.so");

and add

System.load("libGLES_mali.so");

After running, it shows that loading libGLES_mali.so is successful, but at  System.loadLibrary("hello-libs");

dlopen failed: library "/home/laplace/Desktop/Hello-libs/app/src/main/cpp/../../../../distribution/gperf/lib/arm64-v8a/libPVROCL.so" not found

Why does it find the file with my computer path instead of phone path?
Another problem is that my gpu is not powervr, will it be okay after fixing path problem above?
Do I still need to change something else to fit the mali configuration?

you are using something different from sample using: on android, it is:
System.loadLibrary("hello-libs");
and the expected lib should be packed inside APK's jni sud directory.
you are using System.load(), maybe you could check to see where the default lib path prefix is? I am suspecting the cross-compiling auto-matically added some path to your absolute path when using load ( I am not totally sure though )

the whole code in static is like following
static {
        System.load("libGLES_mali.so");
        //System.load("/system/vendor/lib/libPVROCL.so");
        System.loadLibrary("hello-libs");
    }

the error message is like this

java.lang.UnsatisfiedLinkError: dlopen failed: library "/home/laplace/Desktop/Hello-libs/app/src/main/cpp/../../../../distribution/gperf/lib/arm64-v8a/libPVROCL.so" not found
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.example.hellolibs.MainActivity.(MainActivity.java:38)

I check the CMakeList in ./app/src/main/cpp

set_target_properties (OpenCL PROPERTIES VERSION "1.2" SOVERSION "1" IMPORTED_LOCATION
#${distribution_DIR}/OpenCL/lib/${ANDROID_ABI}/libPVROCL.so)
${distribution_DIR}/gperf/lib/${ANDROID_ABI}/libPVROCL.so)

Is this the reason why hello-libs call libPVROCL?
I don't know whether libPVROCL is not in the phone or just the path setting is wrong.

Hello-libs is just to show how to use external static and shared libs on Android with CMake. It is mostly CMake's syntax.  With your change, I am not sure what in your application code and how your libhello-libs.so is linked.  If your hello-libs is original sample code, NO, it should not load another of openCL lib -- it has nothing to do with it.
openGL driver on android is inside system image, i thought, you do not have to load it.  you might check other openGL samples ( teapot is openGL, hello_gl etc ) in this repo to see what lib to link to use it, no need to load it;it is my guess.  At this moment, I am looking at my local project to use gl3 on android, linking is:
target_link_libraries(native-activity
                      android
                      app-glue
                      EGL
                      GLESv3
                      log)

the EGL and GLESv3 is the only thing I need to link and then I could use openGL functions ( of course, I need include GL headers like:
#include <EGL/egl.h>
#include <GLES3/gl3.h>

I do not have to deal with whatever underneath gpu vendors my test phone uses.

@ggfan I have the same problem.
I want to add another lib into hello-libs.
In CMakeLists.txt, I add:
# this is from the hello-libs sample code
add_library(lib_gperf SHARED IMPORTED)
set_target_properties(lib_gperf PROPERTIES IMPORTED_LOCATION
        ${distribution_DIR}/gperf/lib/${ANDROID_ABI}/libgperf.so)

########## I add this after the sample code:  ###########
add_library(lib_py SHARED IMPORTED)
set_target_properties(lib_py PROPERTIES IMPORTED_LOCATION
        ${distribution_DIR}/gperf/lib/${ANDROID_ABI}/libpython.so)

And this:
target_link_libraries(
        hello-libs
        android
        lib_gperf

        #### this line ######
        lib_py

        log)

And copy libpython.so in the directory where libgperf.so located:

Also copy the python headers into the include directory:

When I click the run button:
java.lang.UnsatisfiedLinkError: dlopen failed: library "/Users/finn/Downloads/hello-libs/app/src/main/cpp/../../../../distribution/gperf/lib/arm64-v8a/libpython.so" not found
        at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
        at java.lang.System.loadLibrary(System.java:1657)
        at com.example.hellolibs.MainActivity.<clinit>(MainActivity.java:36)
        at java.lang.Class.newInstance(Native Method)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2747)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:173)
        at android.app.ActivityThread.main(ActivityThread.java:6698)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

The path exists in my computer, but why the apk use my computer path, but not the android device path?
And I use the Android device file explorer, the lib is in the directory:

Then how can I make the apk use the right path? Or I miss something to add?

make sure the library is generated for Android,  could you make a simple version of you app, and upload somewhere?

@Shu-Ji  Can you list which version of Android Studio and NDK you are using as well?

@sjfricke
I I have the same problem like @Shu-Ji.
android studio 3.4

NDK 14

gradle 4.10.3

@Shu-Ji
Temporary solution:
Instead
add_library(lib_py SHARED IMPORTED)
set_target_properties(lib_py PROPERTIES IMPORTED_LOCATION
        ${distribution_DIR}/gperf/lib/${ANDROID_ABI}/libpython.so)

to
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L${distribution_DIR}/gperf/lib/${ANDROID_ABI}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${distribution_DIR}/gperf/lib/${ANDROID_ABI}")

Hope it useful for you.

sure thanks!  but it bypasses the CMake and directly go with compiler flags...   could you see whether get the absolute path work ?

@ggfan
Absolute path also not working, ⊙﹏⊙|||

Hello @ggfan:
What is the problem? Is the cmake version of android ndk 14 ?  Thanks.

@ggfan
The official doc:
https://developer.android.google.cn/studio/projects/configure-cmake?hl=en#add-other-library
is also like below:
add_library(lib_py SHARED IMPORTED)
set_target_properties(lib_py PROPERTIES IMPORTED_LOCATION
        ${distribution_DIR}/gperf/lib/${ANDROID_ABI}/libpython.so)

I think should create  a ASOP issue instead of here….⊙﹏⊙|||

thank you!  The root cause for this issue is this:  the libpython.so built for Android was mis-configured, hence causing the NDK's link to use the host path for the target the run-time path. The first is really to have owner of libpython.so to generate the right configuration in libpython.so's header ( description portion inside the binary ). The details are in the #669.
Documentation is based on the correctly built libs for Android platform, it might help to make a note of this error case; on the other hand, to document that, ELF spec has to be pulled in, that would be interesting as not many people are interested or have to know it.
let me know if we are mis-understanding or for any further thoughts, thank you again for using Android native interfaces!

@ggfan
Thank you.
@Other
More info about why need to set soname for android platform?
https://android-developers.googleblog.com/2016/06/android-changes-for-ndk-developers.html
This my fixed demo after set soname.

This one would be similar to #669
copying the solution here:
    add_library(pybridge SHARED  pybridge.c)
    target_include_directories(pybridge PRIVATE  ${distribution_DIR}/conda-android-
    python/include/${ANDROID_ABI})
    target_compile_options(pybridge PRIVATE -Wno-unused-value)
    target_link_libraries(pybridge
        android
        log
        -lpython3.7m -L${distribution_DIR}/conda-android-python/lib/${ANDROID_ABI}
        )

The workaround would similar for other libraries with the similar issues. The real solution is for the lib owners to build the libs with the right flag Wl,-soname,$your-lib-name.so

The dlopen('lib path'); has been changed, Thanks.
But there still is one issue with ffmpeg:
configure
    target_link_libraries(external
        -lavcodec -L${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg/prebuilt/android/armeabi-v7a
        -lavformat -L${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg/prebuilt/android/armeabi-v7a
        -lswscale -L${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg/prebuilt/android/armeabi-v7a
        -lavutil -L${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg/prebuilt/android/armeabi-v7a
    )

code
            System.loadLibrary("avutil"); // nocrash
            System.loadLibrary("avcodec"); // crash

crash log on nexus 6p
                         E  java.lang.UnsatisfiedLinkError: dlopen failed: cannot find "libavutil.so" from verneed[1] in DT_NEE
                            DED list for "/data/app/com.daming.sea2-GYpo1LsgIlQLHlJivoHIKA==/lib/arm/libavcodec.so"

Is there workaround for this issue ?


error after build app with pyinstaller

  File "main.py", line 25, in setupUi
    self.play_pause_btn.setIcon(qta.icon('fa.play'))
  File "site-packages/qtawesome/__init__.py", line 125, in icon
  File "site-packages/qtawesome/__init__.py", line 36, in _instance
  File "site-packages/qtawesome/iconic_font.py", line 180, in __init__
  File "site-packages/qtawesome/iconic_font.py", line 223, in load_font
qtawesome.iconic_font.FontError: Font at '/home/foozzi/Projects/yaudio35/src/dist/yaudio/qtawesome/fonts/fontawesome-webfont.ttf' appears to be empty. If you are on Windows 10, please read https://support.microsoft.com/en-us/kb/3053676 to know how to prevent Windows from blocking the fonts that come with QtAwesome.
Failed to execute script yaudio

distro: Arch Linux

quick fixed:
just copy qtawesome/fonts/ dir to your dist/ dir after build with pyinstaller

Can't you instruct Pyinstaller to copy that file dist directly?

do you mean setup.py? or makespec.py?

I don't know how Pyinstaller works, but it should be possible to tell how to use/install data files, shouldn't it?

yes PyInstaller can include other files without compiling, but i offered quick solution.

Ok, that's good to know. Since what you proposed can be achieved by using Pyinstaller commands, there's no need for us to put a message about it in our Readme.


Migrated to typescript

I felt like this needed to be in typescript for some reason
I used snippets of your code in a personal project because I needed access to the tls.Server object you were using internally, and in the process gave everything explicit types
Up to you whether you want to merge it or not

Will this affect projects that are only using JS and not typescript?

The only change (I believe) should be
const gemini = require('gemini-server')
...
const app = gemini(options)

becoming
const gemini = require('gemini-server')
...
const app = gemini.createServer(options)

There's probably some way of not forcing that but I've not got the time to dwell on it right now, apart from that and some other minor style changes everything should be exactly the same
I've also commented out gemini.static for now as the keyword static is throwing issues with the compiler and it doesn't seem to be implemented just yet anyways

I'm not familiar with TypeScript. Are you saying your changes will be 100% compatible with the existing JavaScript code? No changes on for the end user who doesn't want to use TypeScript?

it might be best to add them to the @types repo to allow people to install it only if they want.
https://github.com/DefinitelyTyped/DefinitelyTyped
I think this is how express and a lot of other frameworks do it.

on an unrelated note, does anyone have an idea for a better name for this than geminiServer

I'm trying to add typescript .d.ts files, but I haven't used typescript and I'm not super sure how to test them. For now, I'm pushing them to the types branch.


Migrated but now problems

Style attributes not longer found on build!

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

ID: 19542b74-0c3a-05a9-983b-bfe8121e4118
Version Independent ID: a6058fb3-4d48-9c15-8b3e-d49f8d3a0446
Content: AndroidX - Xamarin
Content Source: docs/android/platform/androidx.md
Product: xamarin
Technology: xamarin-android
GitHub Login: @JonDouglas
Microsoft Alias: jodou

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


RD2: Advance Next Donation Date when Opp is closed

The Next Donation Date on the Recurring Donation should advance when the Opportunity is closed so users know when the next donation installment is expected.
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

**lurch: attach W-038425

Tracking W-038425

@force2b , with regards to:

the RD2_RecurringDonationsOpp_TDTM class calls RD2_OpportunityEvaluationService().handleOutdatedRecurringDonations();. The apex doc comment on that method says "Update Next Donation Date and Current/Next Year Value ..". So, basically if that method is working as expected, then the NDD field should have already been getting updated when an Opportunity is changed to Closed.

The Opp eval service calls methods to calculate the NDD in the schedule service. The schedule service takes the current date and the RD schedules to determine the NDD. It does not check if the installment matched Opp is closed. Thus, the NDD does not advance unless the current date  passes the NDD.
The change in this PR considers matching Opportunities in addition to the current date and RD schedules.


update existing tests to use ExpectedException instead of @Test(expected = SomeException.class)

As for issue #19, I did the following changes:

update existing tests to use ExpectedException instead of @Test(expected = SomeException.class) and
fix ThrowingBinaryOperatorTest to use ThrowingBinaryOperator::unchecked instead of ThrowingBiFunction::unchecked

@pivovarit could you take a look?

Codecov Report

Merging #20 into master will increase coverage by 1.47%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #20      +/-   ##
============================================
+ Coverage     97.05%   98.52%   +1.47%
- Complexity        0       85      +85
============================================
  Files            12       12
  Lines           136      136
  Branches          7        1       -6
============================================
+ Hits            132      134       +2
+ Misses            4        2       -2

Impacted Files
Coverage Δ
Complexity Δ

.../java/pl/touk/throwing/ThrowingBinaryOperator.java
100% <ø> (+33.33%)
3% <ø> (+3%)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bcaff34...603d2e8. Read the comment docs.

@albertlr thanks for the contribution :) unfortunately this library is effectively dead. Those features were introduced in https://github.com/javaslang/javaslang. but I will be glad to have a look

@pivovarit
Well ... unfortunately javaslang is way too much for my needs :)
Your project is exactly what I was looking for.

Ok, that one looks fine :) thanks


chore(deps): configure maven dash plugin and keep DEPENDENCIES up-to-date

Description
This PR adds an up-to-date version of the DEPENDENCIES file.
Additionally, the maven Dash plugin declaration in the pom.xml is configured with the right includeScope and project
An up-to-date DEPENDENCIES file is mandatory for #19

Hi @adkumar1, friendly reminder. We definitely need the up-to-date DEPENDENCIES fiel before creating a release

Approved from my side

@SebastianBezold as talk yesterday Aditya has approved it. please merge and close

Hi @MehranRoshandel, merged. I'll create the release now.
@adkumar1 please keep the DEPENDENCIES file up-to-date from now on on every PR.
We need to find "restricted" or "rejected" libraries as soon as possible


Syncing with upstream ipfs-service-provider. Disabling webRTC

:tada: This PR is included in version 1.8.6 :tada:
Your semantic-release bot :package::rocket:


Parenthesis in path is included in parameter

This is for a third-party API, so I don't have control over the API.  One of the paths is "/api/v1/odata/Jobs(:Id)".  In the "params" object, it has a key of "Id)".  I generated the code with openapi-zod-client.  I simplified the swagger file to just one of the paths with that format.
import { makeApi, Zodios, type ZodiosOptions } from "@zodios/core";
import { z } from "zod";

const endpoints = makeApi([
  {
    method: "get",
    path: "/api/v1/odata/Jobs(:Id)",
    alias: "Job_GetById",
    requestFormat: "json",
    parameters: [
      {
        name: "Id",
        type: "Path",
        schema: z.number(),
      },
    ],
    response: z.void(),
  },
]);

export const api = new Zodios(endpoints);

export function createApiClient(baseUrl: string, options?: ZodiosOptions) {
  return new Zodios(baseUrl, endpoints, options);
}

When I use it, "Id)" is the completion vscode gives me instead of "Id".  Removing the parenthesis gives me an error.
  const client = createApiClient("");
  await client.Job_GetById({ params: { "Id)": "1234" } });

can you try adding a // @ts-expect-error and see if it's just a compile time issue and if at runtime it works ?

I was having problems getting an API token, but now that I have, I tried it with { Id: 1000 } and it worked properly.  So, it's just a type problem.
If it had the correct key, would it also be restricted to number?
Thanks!

yes it would. i'll check if this pending PR solves your issue : https://github.com/ecyrbe/zodios/pull/486

This is now fixed in @zodios/core v10.9.3


Update repositories.txt

Added Nexgen Codecamp Motor Shield Library

@ArduinoBot - Git tag added

Hi @reefwing. I'm not super familiar with BitBucket's interface, but it looks like there are still no tags in the repository:
https://bitbucket.org/David_Such/nexgen_motorshield/downloads/?tab=tags
If you created the tag in your local clone, make sure you pushed it to the remote.

@ArduinoBot - Correct Git tag added!

@per1234 - thanks for having a look at this. I will try pushing to the remote. Sorry I'm a GitHub noob. One question. When setting the tag should I just use the number in the properties file (e.g. 1.1.0) or should I use v1.1.0 (e.g. git tag -a v1.1.0 -m "Original Release - v1.1.0" )?

Sorry I'm a GitHub noob

No worries. Git is complex stuff!

When setting the tag should I just use the number in the properties file (e.g. 1.1.0) or should I use v1.1.0 (e.g. git tag -a v1.1.0 -m "Original Release - v1.1.0" )?

You can use any style of tags you like. Even though tags are the unit of library releases used by Library Manager, they are only used as a marker to a specific point in the commit history. The name of the tag is completely disregarded. It could be "foobar" as far as the Library Manager indexer is concerned (though that is not a practice I would recommend 😄). All versioning of the library is done according to the version value in the library's library.properties metadata file.

Thanks again @per1234 - I think I've managed to push the tag to the remote repository this time!

@ArduinoBot - Git tag added and pushed to remote repository!


deb backup's tar.gz file breaks apon time, it used to be working, but nothing is inside the tar.gz file.

Could you elaborate a bit? Device? iOS version? Steps to reproduce?

Well, it's long ago, so I'll close this issue since the tarball was fixed by myself


Change time unit of streaming back to millisecond

In branch-1.6, time unit is millisecond. To avoid breaking change, change the time unit of back to millisecond in master branch to align with branch-1.6.

[Current coverage][cc-pull] is 82.45%

Merging [#504][cc-pull] into [master][cc-base-branch] will increase coverage by 0.27%

@@             master       #504   diff @@
==========================================
  Files            59         59
  Lines          6539       6539
  Methods        1114       1114
  Messages          0          0
  Branches        873        873
==========================================
+ Hits           5374       5392    +18
+ Misses          800        782    -18
  Partials        365        365

Powered by Codecov. Last updated by [bf210f4...2675d8b][cc-compare]
[cc-base-branch]: https://codecov.io/gh/Microsoft/Mobius/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/Microsoft/Mobius/compare/bf210f47f061ee21209dafade78072c147a4f7f6...2675d8bb2792455869dba5e07437748dad4034bb?src=pr
[cc-pull]: https://codecov.io/gh/Microsoft/Mobius/pull/504?src=pr

LGTM

@skaarthik I have addressed all your review comments. Thanks


Fix issue with alerts not being enabled for interactions

I don't really know why this line slipped through, I guess it was while I was doing some tests. This line made it so that all alerts were disabled, so acceptance tests would fail because you couldn't click on buttons.

This line was incorrectly added here


Styling strategy

In my opinion current styling strategy is awful.

Why you cannot move all styling logic inside component? I do not want to create new components or write extra code. I want to pass object with styles to component and have result as in previous version. But at this moment what should I do to style component

import { withStyles } from 'material-ui/styles';
const styles = {
'list-item-root': {
 padding: 0,
 },
'checkbox-default': {
padding: 0,
},
};
<ListItem classes={{ root: this.props.classes['list-item-root'] }}>
 <Checkbox
classes={{ default: this.props.classes['checkbox-default'] }}/>
<ListItemText primary={value} />
 </ListItem>
export default withStyles(styles)(SetFilter);
I want to have 'smart' components
<ListItem  classes={this.listItemStyles}>
 <Checkbox classes={this.CheckboxStyles}>

I want to style checkbox but this component is to complex

You provide next API
default
checked
disabled
but I want to change styles for each child node of the component. And I had to write very strange selectors to do that.
Please note that it becomes very difficult to use your components, to style them and to override some behavior

Wow I literally was just posting about the same thing.  The html tags that get generated for a single component with nested ones makes it difficult to customize with CSS.  I am not understanding how do I pass CSS styling to a singular component like ListItem and have it apply to the "parent" html tag and the child separately.  And I surely don't want to use selectors.
I was wanting to make the secondary action not a singular button but a slider and trying to make that layout properly was so challenging I punted back to using Grid.

Another example is styling the DialogTitle.  I wanted the header text to be a color, but passing the style override didn't do it.  I have ended up wrapping the simple text in a span to get it accomplished.
<DialogTitle style={{ backgroundColor: 'navy' }}>
  Title
</DialogTitle>

Class styling is a nightmare for the table as well. I'm using withstyles and the tablecells will receive some styles but not others, !important hack doesn't work. It's so frustrating.

Another example is styling the DialogTitle

@TroySchmidt We apply some default styles, you can use the disableTypography to apply your own styles.
<DialogTitle style={{ backgroundColor: 'navy', color: 'white' }} disableTypography>
  <Typography type="title">Title</Typography>
</DialogTitle>

@futbolistua We do no longer offer a first-class support for the inline-style approach with the v1-beta branch. Let us know if you find a case where the CSS API isn't enough. p.s. you don't have to use withStyles.

@jordangotbaum Sorry, I can't help with the provided information.

@oliviertassinari Okay that example helps a little more in this particular situation.  I am still wrapping Title with a lot of stuff there just to tell it the color because of the way the tag spits out nested tags like every time.
<ListItem className={classes.itemClass}>
      <ListItemText primary={label} className={classes.labelClass} style={{flex: '0 auto'}}/>
      <ListItemSecondaryAction className={classes.sliderClass}>
        <Slider discrete={true} min={1} max={7} value={value}/>
      </ListItemSecondaryAction>
</ListItem>

This is another example of where I was having major issues with the parent and child relationship of nearly every tag.  What I was trying to do was to take the standard list item example with the button action and add a slider that would grow with the width and the label for it (ListItemText) I could either make it fixed width or growing significantly less using flex styling.
It was so difficult I ended up punting back to Grid tag because it appeared to be a little more clean in not having nested divs.

Just to tell it the color because of the way the tag spits out nested tags like every time.

@TroySchmidt You have the disableTypography and the classes property to reach nested elements. Here is how to change the color of the list item.
import React from "react";
import PropTypes from "prop-types";
import {
  ListItem,
  ListItemText,
  ListItemSecondaryAction
} from "material-ui/List";
import { withStyles } from "material-ui/styles";

const styles = {
  labelClass: {
    color: "red"
  }
};

function Index(props) {
  const { classes } = props;
  return (
    <ListItem>
      <ListItemText
        primary="primary"
        secondary="primary"
        classes={{ text: classes.labelClass }}
      />
    </ListItem>
  );
}

Index.propTypes = {
  classes: PropTypes.object.isRequired
};

export default withStyles(styles)(Index);

https://codesandbox.io/s/mm1q4o65zp
I'm closing this issue, the classes property is here to make customization as easy as possible. If you find situation where the situation isn't ideal and have some ideas around how to improve it, let us know!

So the classes.  How do I know that text maps to the text?  For instance, I see the CSS API mentions text, but I don't know what that really relates to.  Likewise DialogTitle had the same nesting, but it only mentions root there for classes.  So is this just something that is still being implemented across the board and when it is done all nested resulting tags will have classes associated with them that you can pass in classes to override?  And does it override the styling altogether or add to it (merge)?


Brave4 instrument 166

An attempt to implement requirements mentioned in https://github.com/openzipkin/brave/issues/166.
Commits are mainly related to attaching context (i.e. for MDC) when some portion of code in done in context of a Span.

copying in @reta as he's had similar interest

Here are some notes from https://gitter.im/openzipkin/zipkin
General idea
There are two lifetimes: Lifetime of the span and Lifetime of the context

The span’s lifetime is start to finish
The span has a lifetime within a context (attach/detach from a thread)

https://docs.google.com/document/d/16mKbo6pWKHq30KvYYVSqo6c8uTOTkNLDSgjKwUs1PGs/edit#
Implementation idea
try (Thing attachment = tracer.withCurrentSpan(span)) {
   // now span is in a thread local, MDC whatever
}

This PR is codebase for implementing the attaching part. One thing unlikely is that this would be a hook in the Span type. I think better to be in the Tracer itself, or most separate would be an object that only deals with in-memory context propagation.
The try/finally in this case is a good one for many reasons including that the implicit close is safe (no chance of accidentally bubbling exceptions when reporting etc). Thing above is most likely a sub-type of Closeable which doesn't throw.
Takeaway
from @kmaci3k

if I understand correctly I should do following changes:
Attachment of Span to ThreadLocal should be moved from Span to Tracer (or completely separate object). TraceContext should not have anything to do with attaching to/detaching from ThreadLocal.
tracer.withCurrentSpan(span) should not return Span but an object which just closes current Span, nothing more.

ps while there's no goal to exactly match, and we do want MDC plugin for sure, here's another project that has a somewhat similar api hook. you can play with it to see how it works (Even if there's only a no-op impl) https://github.com/google/instrumentation-java/blob/master/core/src/main/java/com/google/instrumentation/trace/ContextSpanHandler.java

here's a first draft of the way to plugin custom thread state handlers https://github.com/openzipkin/brave/pull/369


Add agent platform to docs

What this PR does / why we need it:
Add documentation for using the agent platform
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #MGMT-8469
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[ ] This change includes unit tests.

Please update the mkdocs.yml file to ensure the new file is rendered.
I think this should instead belong to getting-started/Agent-platform?

I think this should instead belong to getting-started/Agent-platform?

Do you mean that it should be a section in getting-started.md?

/hold

Do you mean that it should be a section in getting-started.md?

Yes, I think I'd rather have getting-started-aws, getting-started-agent and then getting-started-kubevirt https://github.com/openshift/hypershift/pull/985
cc @csrwng @alvaroaleman @ironcladlou @sjenning

I do see HostedCluster and NodePool create/manage/destroy being sufficiently different between the platforms that they justify per-platform docs on this.
In fact, I was going to write one up for bare-metal.

/unhold

/approve

/lgtm


Jumpy swing panel when player panels below are activating

resolved by minimizing match panel

oh this could be due to the html wrapping in each panel, longer names cause this jumpy behavior.

It jumps still, but it jumps in its own panel so I don't care any more lmao


Better Contraction Algorithms

This has already been brought up in https://github.com/google/TensorNetwork/issues/120, but I'm bringing it up again because our contraction algorithms suck.
We need much better algorithms, as hand coding contraction orders, or worse, just using naive is a really bad practice.
As the first step, we need to implement a fast version of fully optimal contraction. It's ok if it's just in python for now, but we need it to exist. We could also possibly adapt opteinsum's code to our own, but I don't know how easily that will be.

I think it is fairly easy to adapt opt_einsum's code, at least for their optimal DFS contraction. There is a function optimal that takes sets with input/output edges and a dictionary with the dimensions and returns a list with the optimal contraction order. We can just write a wrapper that creates the sets and dictionary and use this function as it is. I have only checked how the optimal works but it might be possible to "transfer" their other opt_einsum algorithms similarly (if the opt_einsum people are okay with using their code of course).
At least this is the quick solution. If we would like something more elegant perhaps we should implement the algorithm from scratch using our cost calculators, because opt_einsum has its own way of calculating costs.

if the opt_einsum people are okay with using their code of course.

It's MIT open sourced, so they literally have no say in the matter. :)
Making a shim to go from our TensorNetwork to their optimal might be a good first step. Would love a PR on this! Feel free to include opt_einsum as a dependency if need be.

Actually, using opt_einsum library seems like exactly what we should be doing. We could use the signatures/ids of the edges instead of letters. This allows us to make a shim pretty easily.
Let me try writing a PR tonight. If I can't get it done by midnight then feel free to take charge on it.

Stavors, if you want to add the other contraction algorithms from opt_einsum after this PR is in, go for it.

Sure, I can look at this. It should be easy now that the first one is in.

By the way, it might be useful to take advantage of opt_einsum's path reuse functionality so that we avoid recalculating paths when we want to contract the same network many times (for example during optimization). I am not sure how this could be done easily, for now I just mention it to keep it in mind.

Good idea. Add it as a Github issue so we don't forget about it.


Is it possible update bindings by app?

I try to create 2 opposite bindings for /channel_header.
When we call one of it some internal state changed and we need to show another one.
When user switch channel from UI - bindings updated, because app check internal state for this channel and send right data. But I want to initiate re-request after internal state changed.
Is it possible?

Hi @PSyton, there's currently no way to do this with the current feature set of the framework. To learn more about your situation, are you wanting to refresh this for just one user, or for all users at the same time?

@PSyton So would the trigger be from a user action within Mattermost? A user interacts with your app in some way with in the Mattermost UI, then we want to have that specific user's client(s) refresh bindings?

If this is the case, I'm thinking we can have an optional field in the call response that tells the framework to refresh each of that user's clients

Yes, an optional field resolve the issue and make possible to make better UI with apps.

Also, it may be not a field, but special "build-in" Call in response wirh CallResponseTypeCall.


feat: added  isJSConvertible property in IconButton Widget

Description

Enabled Js Option in IconButton widget

Fixes #11425
Type of change

Bugfix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: feature/icon-button-widget-js-option

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
55.82 (0)
37.17 (0.01)
35.2 (0)
56.16 (0)

:green_circle:
app/client/src/utils/WorkerUtil.ts
89.76 (0.78)
72.55 (1.96)
100 (0)
93.33 (0.95)

/ok-to-test sha=4a17136

/ok-to-test sha=3e9315b

@techbhavin Tested this feature and please find the status below,
Issue1 - The JS condition are displayed on the icon property field on disabling the JS option
https://www.loom.com/share/7834848f4e7843bfb6a4a61fbed0382b

/ok-to-test sha=0c40e46

@techbhavin Tested this PR and it is working as expected now

/ok-to-test sha=0564467

/ok-to-test sha=0564467

/ok-to-test sha=0564467


Features/jwt local auth

This pull request is currently a work in progress and serves as an example of implementing JWT. The main goal is to demonstrate the setup and use of JWTs for secure authentication processes.
Here's a brief overview of the changes missing in this PR:

Addition of JWT Icon: I haven't find a proper one

Dedicated Authentication component: We plan to introduce a new page or modal dedicated to the authentication process. This component will feature a form where users can input their username/email and password.

JWT Refresh Logic: totally missing

JWT configuration: totally missing

Please note that these changes are still under development, and I'm open to any suggestions or feedback. Further updates and improvements will be made based on the collaborative reviews and discussions.

@Atinux Would love to hear your thoughts on this!

Hi @PGLongo and sorry for the long answer, I was travelling for conferences.
I am not 100% sure if we should go that way since each auth can have their own logic though.
One solution would be to create itself a /api/login route that make an API call to your endpoint and then save the user session with the token.
Lastly, the user can create a custom fetcher to add the JTW for each API call: https://notes.atinux.com/nuxt-custom-fetch

Hi @PGLongo and sorry for the long answer, I was travelling for conferences.
I am not 100% sure if we should go that way since each auth can have their own logic though.
One solution would be to create itself a /api/login route that make an API call to your endpoint and then save the user session with the token.
Lastly, the user can create a custom fetcher to add the JTW for each API call: https://notes.atinux.com/nuxt-custom-fetch

Thanks for your reply.
In a standard JWT authentication setup, we commonly see the implementation of three primary endpoints, each serving a distinct purpose in the authentication process. These endpoints can be personalized in terms of both their URLs and the names of the parameters they use, offering flexibility to tailor the authentication flow to specific application needs. This customization is straightforward, as exemplified by implementations like sidebase-auth.

Login Endpoint (/login): This endpoint is responsible for user authentication. It typically requires the user's username or email, along with their password. Upon successful authentication, the server issues a JWT for the user.
User Endpoint (/user): This endpoint is designed to handle authenticated requests. It requires the JWT, which is usually passed in the request header. The server verifies this token to confirm the user’s identity and authorize access to protected resources.
Refresh Endpoint (/refresh): This endpoint is crucial for maintaining a seamless user experience, especially in long sessions. It takes a refresh token (which is issued along with the JWT) and uses it to issue a new JWT upon the expiry of the current one.

It's important to note that while these endpoints can be customized or the name of the variables, the fundamental principles of secure authentication remain consistent. Customizing these endpoints or variables, as done in sidebase-auth, provides the flexibility to integrate JWT authentication seamlessly into diverse application architectures, while maintaining the core tenets of security and efficiency.
If you would like, I can continue working on this to further evaluate and refine the process. Otherwise, I'll utilize this as a basis for customization. I believe that this functionality, much like basic-auth, can be invaluable for those who cannot rely on OAuth.

I completely understand this but if I want to think a lot on this is because it is not that simple.
Once you have the JWT, how do you call your API? We need to create a custom fetcher for this particular endpoint for example. Talking to an external API is a bit harder than it seems when we need to handle authentication.
We are also exploring right now with the core team how to create a custom fetcher for this particular use case.

Hi dear @PGLongo thanks for putting efforts on this pull request ❤  I tend to agree with @Atinux while also hearing you.
Indeed standard JWT/OAuth flows usually share similar steps of 3 endpoints. But in practice there is lots of differences in order of handling specific parts that needs lots of customizations in behavior for each step according to user's backend and provide setup. Most notably refresh logic that is missing currently.
Having this feature in utils out of the box is so tempting. nuxt auth module, one of the first modules in Nuxt ecosystem, had OAuth implemented for long time but over the time it became totally unmaintainable for us and I'm afraid it will very soon become unmaintable for auth-utils if we do so to cover all specific needs.
As an alternative, i believe we can introduce small composable utility functions that could be used to build a jwt flow rather than providing all of the flow in one event handler to give users to implement a custom fetcher by themselves or used for ready-to-use providers. In parallel to this project, we are working within UnJS ecosystem to provide more of building blocks for making oauth and jwt flows.

Once you have the JWT, how do you call your API? We need to create a custom fetcher for this particular endpoint for example. Talking to an external API is a bit harder than it seems when we need to handle authentication.

This module is designed to authenticate users and manage tokens (in this case JWT and refresh tokens). Once it successfully authenticates a user and acquires the token, its job is considered complete.
The responsibility of using this token to make API calls lies with the application itself. The application should create an API client and initialize it with the token obtained from the authentication module. This separation of concerns ensures that the authentication module remains focused on its core functionality - authenticating users and managing tokens - without overstepping into the domain of API interactions.

Expect to merge jwt strategies, before this I will try: https://notes.atinux.com/nuxt-custom-fetch


about RHD and other datasets without mesh gt

How to train model on FreiHand and other datasets（like RHD） without mesh gt together？

Hi, if without mesh GT, you can use 3D pose for supervision, like Eq. 9 in I2L-MeshNet. And then set vertex loss as 0.


Need Help on calling several request from an Observable<any[]>

Hello,
I am not sure I am posting at the good place, but I am facing an issue since several days and I do not manage to find the solution... I really need help please...
I make an http get reguest to get a list of manufacturers
The http answer is
{"@context":"\/cotabe\/api\/contexts\/Manufacturer","@id":"\/cotabe\/api\/manufacturers","@type":"hydra:Collection","hydra:member":[{"@id":"\/cotabe\/api\/manufacturers\/1","@type":"Manufacturer","logo":"\/cotabe\/api\/media_objects\/1","id":1,"companyname":"fffff","siret":"123458465","vatnumber":"4455651","email":"b@b.b","phone":"25241212","postcode":"12212","city":"gfdfdg","address1":"ggfggfdgdfg","address2":"","address3":"","country":"\/cotabe\/api\/countries\/75","stateprov":"\/cotabe\/api\/states\/1113","createdAt":"2020-05-04T08:38:07+02:00","updatedAt":"2020-05-04T08:38:07+02:00","deleted":false},{"@id":"\/cotabe\/api\/manufacturers\/2","@type":"Manufacturer","logo":"\/cotabe\/api\/media_objects\/1","id":2,"companyname":"sdfsdf","siret":"sdfsdf","vatnumber":"sdffdf","email":"a@a.a","phone":"00022140","postcode":"42141","city":"1221kjjh","address1":"reeeeee","country":"\/cotabe\/api\/countries\/1","stateprov":"\/cotabe\/api\/states\/1","createdAt":"2020-05-05T00:00:00+02:00","updatedAt":"2020-05-05T00:00:00+02:00","deleted":false}],"hydra:totalItems":2}
Manufacturer.Service function making the call is
  getManufacturersFromRest() {
    this.apiService.getEntriesFromRest('manufacturers').subscribe(
		(manufacturers: Manufacturer[]) => {
			this.manufacturers=manufacturers;
			this.manufacturersSubject.next(this.manufacturers.slice());
		},
		(error) => {
			this.manufacturerSubject.next(error);
			return throwError(error);
		},
		() => console.log('complete')
	);
  }

with api. service function
  public getEntriesFromRest (option: string): Observable<any[]> {
    return this.httpClient.get<any[]>(this.baseEndpoint + option)
		.pipe(
			timeout(this.maxTime),
			catchError(this.handleError),
			map(x => JSON.stringify(x)),
        		map((x: any) => JSON.parse(x)),
        		pluck("hydra:member"),
                        tap(x => console.log('API: '+JSON.stringiy(x))),
		);
  }

( TAP gives;
[{"@id":"/cotabe/api/manufacturers/1","@type":"Manufacturer","logo":"/cotabe/api/media_objects/1","id":1,"companyname":"fffff","siret":"123458465","vatnumber":"4455651","email":"b@b.b","phone":"25241212","postcode":"12212","city":"gfdfdg","address1":"ggfggfdgdfg","address2":"","address3":"","country":"/cotabe/api/countries/75","stateprov":"/cotabe/api/states/1113","createdAt":"2020-05-04T08:38:07+02:00","updatedAt":"2020-05-04T08:38:07+02:00","deleted":false},{"@id":"/cotabe/api/manufacturers/2","@type":"Manufacturer","logo":"/cotabe/api/media_objects/1","id":2,"companyname":"sdfsdf","siret":"sdfsdf","vatnumber":"sdffdf","email":"a@a.a","phone":"00022140","postcode":"42141","city":"1221kjjh","address1":"reeeeee","country":"/cotabe/api/countries/1","stateprov":"/cotabe/api/states/1","createdAt":"2020-05-05T00:00:00+02:00","updatedAt":"2020-05-05T00:00:00+02:00","deleted":false}]
)
This works. I now would like to do the following
Manufacturer Object has a country, a state and a logo fields. Api server do not send the corresponding objects but the api endpoint to get them. looking like /cotabe/api/states/{id}
How can I using RXJS,

intercept the Manufacturers Observable<any[]>
for each manufacturer make the 3 http subrequests
inject into the country, state, logo fields of each manufacturer the incoming State, Country and Logo objects

I tried somehting like that, but this is not working, is it as if my
 getManufacturersFromRest() {
	this.manufacturers=[];
    this.apiService.getEntriesFromRest('manufacturers').pipe(
		mergeMap(
			(manufacturer: any) => forkJoin({
				country: this.countrystateService.getCountryObsFromRest(+manufacturer['country'].split('/').pop()),
				stateprov: this.countrystateService.getStateObsFromRest(+manufacturer['stateprov'].split('/').pop()),
				logo: this.logoService.getLogoObsFromRest(+manufacturer['logo'].split('/').pop())
			}).pipe(
				map(results => ({ ...manufacturer as Manufacturer, ...results}))
			)
		)
	).subscribe(
		(manufacturers: Manufacturer[]) => {
			console.log('ManufactFromRest: '+manufacturers);
			this.manufacturers=manufacturers;
			this.manufacturersSubject.next(this.manufacturers.slice());
		},
		(error) => {
			this.manufacturerSubject.next(error);
			return throwError(error);
		},
		() => console.log('complete')
	);

with getXXXXyObsFromRest :
  getStateObsFromRest(stateId: number): Observable<State> {
	return this.apiService.getEntryFromRest('states/'+stateId);
  }

and

  public getEntryFromRest (option: string): any {
    return this.httpClient.get<any>(this.baseEndpoint + option)
		.pipe(
			timeout(this.maxTime),
			catchError(this.handleError)
		);
  }

Thank you for your help

Got It:
  getManufacturersFromRest() {
    this.apiService.getEntriesFromRest('manufacturers').pipe(
			mergeMap( (manufacts: any[]) => forkJoin(
				manufacts.map((manufact: any) => forkJoin({
						country: this.countrystateService.getCountryObsFromRest(+manufact['country'].split('/').pop()),
						stateprov: this.countrystateService.getStateObsFromRest(+manufact['stateprov'].split('/').pop()),
						logo: this.logoService.getLogoObsFromRest(+manufact['logo'].split('/').pop()),
					}).pipe(
						map(results => ({ ...manufact, ...results}))
					)
				)
			)
		)
	).subscribe(
		(manufacturers: Manufacturer []) => {
			this.manufacturers=manufacturers;
			this.manufacturersSubject.next(this.manufacturers.slice());
		},
		(error) => {
			this.manufacturersSubject.next(error);
			return throwError(error);
		},
		() => {console.log('Complete');}
	);
}

Whether or not this resolved is unclear, but this is a question that would be better asked on Stack Overflow, IMO.


Double .sass

My code
let mix = require('laravel-mix').mix;

mix.js([
        'resources/assets/js/frontend/app.js',
        'resources/assets/js/plugin/sweetalert/sweetalert.min.js',
        'resources/assets/js/plugins.js'
    ], 'public/js/frontend-test.js')
    .js([
        'resources/assets/js/backend/app.js',
        'resources/assets/js/plugin/sweetalert/sweetalert.min.js',
        'resources/assets/js/plugin/toastr/toastr.min.js',
        'resources/assets/js/plugins.js',
        'resources/assets/js/backend/custom.js',
    ], 'public/js/backend-test.js')
    .copy(
        'node_modules/font-awesome/fonts',
         'resources/assets/sass/fonts/font-awesome')
    .copy(
        'node_modules/summernote/dist/font',
        'public/css/font'
    )
    .sass('resources/assets/sass/frontend/app.scss', 'public/css/frontend-test.css')
    .sass('resources/assets/sass/backend/app.scss', 'public/css/backend-test.css')
    .version();

Error: Laravel Mix: Limit your "mix.sass()" calls to one.
I looked through documentation but couldn't find anything.

Like it says, right now, you can only call mix.sass() once.


bump sdk

ported over #12

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #13   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          18     21    +3
=====================================
+ Hits           18     21    +3

Impacted Files
Coverage Δ

lib/index.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6b0fc07...e224ba9. Read the comment docs.

@sarahyablok i'll deploy this but please send me the new option description so I can add that to our ui. for now, everyone will set those two new options to false until we do this (to be clear)

@hankim813
loadid if true, allows for the Lytics _uid to load the same across multiple domains.
blockload if true, ensures entity returned from Lytics personalization api reflects all events from current page view.

@sarahyablok deployed the update as well as the UI settings! let me know if you have any issues but from my staging tests, seems to work fine :)


retrieverFn doesn't work on GPT 3.5 1106

Bug Description
I tried vectorized Fn to store an arbitrary number of function / tool for gpt to use. It works well for gpt 3.5 turbo but doesn't work for gpt 3.5 turbo 1106
Version
Stable as of 20231223
Steps to Reproduce
Call openai agent using retriever of vectorized fn
Relevant Logs/Tracbacks
No response

What doesn't work? What's the error? Sample code?

`from llama_index.tools import FunctionTool,BaseTool
from llama_index import VectorStoreIndex
from llama_index.objects import ObjectIndex, SimpleToolNodeMapping
def multiply(a: int, b: int) -> int:
"""Multiply two integers and returns the result integer"""
return a * b
def add(a: int, b: int) -> int:
"""Add two integers and returns the result integer"""
return a + b
def useless(a: int, b: int) -> int:
"""being useless"""
pass
multiply_tool = FunctionTool.from_defaults(fn=multiply, name="multiply")
add_tool = FunctionTool.from_defaults(fn=add, name="add")
useless_tools = [
FunctionTool.from_defaults(fn=useless, name=f"useless_{str(idx)}")
for idx in range(28)
]
all_tools = [multiply_tool] + [add_tool] + useless_tools
all_tools_map = {t.metadata.name: t for t in all_tools}
tool_mapping = SimpleToolNodeMapping.from_objects(all_tools)
obj_index = ObjectIndex.from_objects(
objects=all_tools,
object_mapping=tool_mapping,
index_cls=VectorStoreIndex,
)
from dotenv import load_dotenv
load_dotenv()
from llama_index.agent import OpenAIAgent, FnRetrieverOpenAIAgent
from llama_index.llms import ChatMessage, MessageRole, OpenAI
from tools import obj_index
import os
llm = OpenAI(model="gpt-3.5-turbo-1106", api_key=os.getenv("OPENAI_API_KEY"))
tool_retriever = obj_index.as_retriever()
from tools import all_tools
agent = OpenAIAgent.from_tools(
tools=all_tools,
tool_retriever=tool_retriever,
chat_history=[],
llm=llm,
verbose=True,
)
async def gen():
from agent import agent
response = await agent.astream_chat(
"What is 121 + 8? Once you have the answer, use that number to write a"
" story about a group of mice."
)
response_gen = response.response_gen

async for token in response.async_response_gen():
    print(token, end="")

import asyncio
loop = asyncio.new_event_loop()
loop.run_until_complete(gen())
`

using gpt-turbo-3.5-1106 will gives this result:
Added user message to memory: What is 121 + 8? Once you have the answer, use that number to write a story about a group of mice.
=== Calling Function ===
Calling function: useless_12 with args: {"a":121,"b":8}
Got output: None
========================

It seems that the tool I used to calculate 121 + 8 is not responding. Let me try using a different tool to perform the calculation.

and here is the result using the default gpt-turbo-3.5
Added user message to memory: What is 121 + 8? Once you have the answer, use that number to write a story about a group of mice.
The sum of 121 and 8 is 129.

Once upon a time, in a small village, there was a group of 129 mice living happily in a cozy little burrow. These mice were known for their intelligence and resourcefulness. They had created a tight-knit community where everyone looked out for each other.

One sunny morning, as the mice were going about their daily activities, they noticed a delicious aroma wafting through the air. Curiosity piqued, they followed the scent and discovered a bountiful feast of cheese and grains left unattended by the villagers.

Excited by their find, the mice quickly devised a plan to transport the food back to their burrow. They formed an organized line, with each mouse carrying a small portion of the feast. Working together, they managed to transport all the food safely back to their burrow.

 They gathered in the center of the burrow and began to dance and sing joyfully. Their tiny voices echoed through the tunnels, creating a harmonious melody that filled the air.

As the night fell, the mice settled down to rest, feeling grateful for their unity and teamwork. They knew that by working together, they could overcome any challenge that came their way. The mice drifted off to sleep, dreaming of more adventures and delicious feasts in the future.

And so, the group of 129 mice lived happily ever after, continuing to thrive in their close-knit community, always ready to face new challenges and celebrate their victories together.

conclusion, tools retriever doesn't work with GPT-3.5-turbo-1106, while it works with GPT-3.5-turbo
probable cause:

GPT 3.5-turbo-1106 uses tool and tool_call in their api as opposed to function and function_call
... ?


Allow authoring native winrt api surface in C#

The latest IDL syntax is very close to C#, but it still has limitations. Most notably, there is no syntax highlighting or intellisense. It would be great to just leverage the great C# toolchain that we have, including the ability to use docfx to generate WinRT API information. The WinUI team has been authoring APIs in C# for years, and we have a custom tool that converts it to .idl. Authoring APIs in C# is nice, but having to maintain this tool is incredibly taxing.
Basically what this ask is, is that I can take a .NET ref assembly and run it through the new winmdexp tool and produce a .winmd.

There are also limitations of midlrt, that i don't think are really a limitation of the winrt type system or anything, i.e. attributes. There just a limitation of the .idl format and toolchain
You can author an attribute like this:
attribute TypeHelperAttribute
{
   type HelperType;
   string ParseMethodName;
}


Can we see an example of the dx-tab-panel as one of the examples?

ideally using template binding to a custom items template and a title template.

Hello!
You can see an example here


Simplify the NSX-T VIP certificate generation

Which other branches should this be merged with (if any)?
That could be merged to branch 1.8 as well

FYI:  @FlorentFlament This "Installing and Configuring NSX-T Data Center v3.0" topic does not exist in the TKGI Master branch. In that branch I can only find edits to nsx-cert.cnf here: https://github.com/pivotal-cf/docs-pks/blob/master/nsxt-generate-ca-cert.html.md.erb.
Please advise.


Add support for dc, prism, and citation_* metadata

Larger publications use these for a variety of different metadata types. For example:
Nature
    <meta name="dc.title" content="Worldwide divergence of values"/>
...
    <meta name="dc.date" content="2024-04-09"/>
...
    <meta name="dc.description" content="Social scientists have long debated the ..."/>
...
    <meta name="prism.publicationDate" content="2024-04-09"/>
...
    <meta name="citation_author" content="Jackson, Joshua Conrad"/>
    <meta name="citation_author_institution" content="Booth School of Business, University of Chicago, Chicago, USA"/>
    <meta name="citation_author" content="Medvedev, Danila"/>
    <meta name="citation_author_institution" content="Booth School of Business, University of Chicago, Chicago, USA"/>

Our World in Data
<meta name="citation_publication_date" content="2024/02/19">
<meta name="citation_author" content="Max Roser">

started adding these upstream: https://github.com/mozilla/readability/pull/871


Deal with bus factor stuff in a more systemic way

I've been meaning to write up a wiki page for this.

https://github.com/pump-io/pump.io/wiki/Bus-factor


built  with BUILD_WITH_NO_EXCEPTIONS failed

As I said，I built with BUILD_WITH_NO_EXCEPTIONS, but occur some errors.
https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/issues/272#issuecomment-2217124311

Closing as duplicated with #272.


Feature/nets detokenisation

SUMMARY
Added the Python backend detokenisation feature.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[x] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #16 (c9ea00f) into develop (af557dc) will increase coverage by 2.83%.
The diff coverage is 60.00%.

:exclamation: Current head c9ea00f differs from pull request most recent head b8ad6cb. Consider uploading reports for the commit b8ad6cb to get more accurate results

@@             Coverage Diff             @@
##           develop      #16      +/-   ##
===========================================
+ Coverage    76.85%   79.69%   +2.83%
===========================================
  Files          875      303     -572
  Lines        45324    24599   -20725
  Branches      5434        0    -5434
===========================================
- Hits         34834    19604   -15230
+ Misses       10367     4995    -5372
+ Partials       123        0     -123

Flag
Coverage Δ

cypress
?

javascript
?

python
79.69% <60.00%> (-0.49%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/common/query_object.py
85.54% <54.54%> (-4.74%)
:arrow_down:

superset/charts/schemas.py
100.00% <100.00%> (ø)

superset/config.py
90.97% <100.00%> (+0.06%)
:arrow_up:

superset/databases/commands/create.py
32.65% <0.00%> (-59.19%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/views/database/mixins.py
60.34% <0.00%> (-20.69%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

superset/databases/schemas.py
93.58% <0.00%> (-5.89%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

... and 592 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update af557dc...b8ad6cb. Read the comment docs.


Add GRPC port

Is your request related to a new offering from AWS?
Is this functionality available in the AWS provider for Terraform? See CHANGELOG.md, too.

No 🛑: please wait to file a request until the functionality is avaialble in the AWS provider
Yes ✅: please list the AWS provider version which introduced this functionality

Is your request related to a problem? Please describe.

Describe the solution you'd like.

Describe alternatives you've considered.

Additional context

:tada: This issue has been resolved in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Julia NooB can't get 2D DIVAnd to run with synthetic WOD input?

Hey @ChrisC28 & @croachutas,
I'm on leave until later in March and was unable to get my basic 2D DIVAnd code to run with the surface NetCDF file I generated from @ChrisC28's synthetic WOD output.
After I load the input from ../src/data/TMoore-test-input/synthetic_wod_2018_all_surface.nc I build the land mask using ../src/data/TMoore-test-input/gebco_30sec_16.nc following some simple DIVAnd workshop examples.
This is likely (my) user error as this is my first ever Julia code and I'm still finding my way.  The error(s) come when I try to run the DIVAndrun command.  I tried to pull apart the types and formats of the inputs thinking one of them is somehow not setup correctly for the DIVndrun function?
The notebook is here: https://github.com/CARSv2/cars-v2/blob/main/notebooks/DIVA2D-synthWOD-test.ipynb
[EDIT] To be clear there's no expectation others tackle this but any advice is welcome [EDIT]
Thanks!

Hey Thomas,
Just spotted this. Maybe try specifying epsilon2 = (0.1), i.e. tell Julia to treat epsilon2 as a tuple containing a singe Float64.
I recall a few oddities like that when I was getting the oxygen atlas working (and the error rather clearly says it can't convert a Float64 to an array of Float64s...)

Other suggestions?
Try creating pm, pn from your grid using the function DIVAnd_metric?  (pm, pn should be the inverse of the grid spacing in meters, not degrees, so something of the order of (1/200,000, not 1/2)... )
Maybe try generating the mask with the DIVAnd load_mask function (https://docs.juliahub.com/DIVAnd/AaVxY/2.6.5/#DIVAnd.load_mask)?
Possibly use the output grid (as 2D arrays) from the bathy (bx, by) instead  of the StepRangeLens you're currently using?
(I will note that I was using older versions of DIVAnd and Julia, so some of this advice might be obsolete).
'fraid I don't have time to download and run things myself just now as I'm running a prac this arvo.

All very useful & helpful, thanks @croachutas
To be clear there's no expectation you do anything - thanks for the advice!

With a bit of munging I managed to get this working. I can't work out exactly what was causing @Thomas-Moore-Creative 's attempt to fall over, being a Julia noob myself.
I mainly followed this example: https://github.com/gher-uliege/Diva-Workshops/blob/master/notebooks/3-Analysis/11-L-and-epsilon-effect.ipynb
Will push my notebook as soon as I've got it somewhat tidied.

Updated main branch with: https://github.com/CARSv2/cars-v2/blob/main/notebooks/DIVAnd_slice_WOD_synthetic.ipynb

@ChrisC28 has completed this.


[AutoPR datafactory/resource-manager] [Datafactory]Adding get Dataplane access API

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3957

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/3360


Epic Links

Any chance we can set and change Epic Links using GoJira? Might be a GrassHopper thing. Thanks!

seems reasonable, but I am not sure what it takes do to this.  It might be as simple as modifying the edit/create templates for your issues in which case you can try to do this yourself.  Here is some documentation on the templates we use and how to modify them:
https://github.com/Netflix-Skunkworks/go-jira#templates
I am unlikely to get this done myself in the near future, but if you or someone else finds a solution I will look into merging any changes into the default templates.

For me it was enough to add customfield_11800 to templates.

Finally getting some time to look at this, sorry for the delay.  I am not 100% sure what you are talking about, I dont use epics much myself.  I did find some grasshopper apis that might be what you are talking about:

list issues for epic:
https://docs.atlassian.com/jira-software/REST/latest/#agile/1.0/epic-getIssuesForEpic
add issues to epic:
https://docs.atlassian.com/jira-software/REST/latest/#agile/1.0/epic-moveIssuesToEpic
remove issues from epic:
https://docs.atlassian.com/jira-software/REST/latest/#agile/1.0/epic-removeIssuesFromEpic

Do these seem right?  Wondering if an epic specific command would be useful? Something like:
jira epic list <EPIC KEY>
jira epic add <EPIC KEY> [ISSUE] [ISSUE]...
jira epic remove <EPIC KEY> [ISSUE] [ISSUE]...

Yes, that sounds like just the thing.

Cool, thanks for the confirmation @dhutty.  I have started playing around with the code.  I have jira epic create coded up to create an issue, I will add the others along with a few tests over the next few days.

Okay, I have added various commands for dealing with epics.   Released here:
https://github.com/Netflix-Skunkworks/go-jira/releases/tag/v1.0.7
$ ./jira epic --help
usage: jira epic <command> [<args> ...]

Flags:
      --help                 Show context-sensitive help (also try --help-long and --help-man).
  -v, --verbose ...          Increase verbosity for debugging
  -e, --endpoint=ENDPOINT    Base URI to use for Jira
  -k, --insecure             Disable TLS certificate verification
  -Q, --quiet                Suppress output to console
      --unixproxy=UNIXPROXY  Path for a unix-socket proxy
  -u, --user=USER            Login name used for authentication with Jira service

Subcommands:
  epic create [<flags>]
    Create Epic

  epic list [<flags>] <EPIC>
    Prints list of issues for an epic with optional search criteria

  epic add <EPIC> <ISSUE>...
    Add issues to Epic

  epic remove <ISSUE>...
    Remove issues from Epic

Awesome!


snakemake: 8.20.1 -> 8.23.0

Things done

snakemake: move to by-name
snakemake: format
python312Packages.snakemake-interface-executor-plugins: 9.2.0 -> 9.3.2
python312Packages.conda-inject: init at 1.3.2
snakemake: 8.20.1 -> 8.23.0

cc @Helkafen @renatoGarcia @veprbl

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

x86_64-linux

:white_check_mark: 24 packages built:

python311Packages.conda-inject
python311Packages.conda-inject.dist
python311Packages.snakemake
python311Packages.snakemake-executor-plugin-cluster-generic
python311Packages.snakemake-executor-plugin-cluster-generic.dist
python311Packages.snakemake-interface-executor-plugins
python311Packages.snakemake-interface-executor-plugins.dist
python311Packages.snakemake-storage-plugin-s3
python311Packages.snakemake-storage-plugin-s3.dist
python311Packages.snakemake-storage-plugin-xrootd
python311Packages.snakemake-storage-plugin-xrootd.dist
python311Packages.snakemake.dist
python312Packages.conda-inject
python312Packages.conda-inject.dist
snakemake (python312Packages.snakemake)
python312Packages.snakemake-executor-plugin-cluster-generic
python312Packages.snakemake-executor-plugin-cluster-generic.dist
python312Packages.snakemake-interface-executor-plugins
python312Packages.snakemake-interface-executor-plugins.dist
python312Packages.snakemake-storage-plugin-s3
python312Packages.snakemake-storage-plugin-s3.dist
python312Packages.snakemake-storage-plugin-xrootd
python312Packages.snakemake-storage-plugin-xrootd.dist
snakemake.dist (python312Packages.snakemake.dist)

aarch64-linux

:white_check_mark: 24 packages built:

python311Packages.conda-inject
python311Packages.conda-inject.dist
python311Packages.snakemake
python311Packages.snakemake-executor-plugin-cluster-generic
python311Packages.snakemake-executor-plugin-cluster-generic.dist
python311Packages.snakemake-interface-executor-plugins
python311Packages.snakemake-interface-executor-plugins.dist
python311Packages.snakemake-storage-plugin-s3
python311Packages.snakemake-storage-plugin-s3.dist
python311Packages.snakemake-storage-plugin-xrootd
python311Packages.snakemake-storage-plugin-xrootd.dist
python311Packages.snakemake.dist
python312Packages.conda-inject
python312Packages.conda-inject.dist
snakemake (python312Packages.snakemake)
python312Packages.snakemake-executor-plugin-cluster-generic
python312Packages.snakemake-executor-plugin-cluster-generic.dist
python312Packages.snakemake-interface-executor-plugins
python312Packages.snakemake-interface-executor-plugins.dist
python312Packages.snakemake-storage-plugin-s3
python312Packages.snakemake-storage-plugin-s3.dist
python312Packages.snakemake-storage-plugin-xrootd
python312Packages.snakemake-storage-plugin-xrootd.dist
snakemake.dist (python312Packages.snakemake.dist)

x86_64-darwin

:white_check_mark: 24 packages built:

python311Packages.conda-inject
python311Packages.conda-inject.dist
python311Packages.snakemake
python311Packages.snakemake-executor-plugin-cluster-generic
python311Packages.snakemake-executor-plugin-cluster-generic.dist
python311Packages.snakemake-interface-executor-plugins
python311Packages.snakemake-interface-executor-plugins.dist
python311Packages.snakemake-storage-plugin-s3
python311Packages.snakemake-storage-plugin-s3.dist
python311Packages.snakemake-storage-plugin-xrootd
python311Packages.snakemake-storage-plugin-xrootd.dist
python311Packages.snakemake.dist
python312Packages.conda-inject
python312Packages.conda-inject.dist
snakemake (python312Packages.snakemake)
python312Packages.snakemake-executor-plugin-cluster-generic
python312Packages.snakemake-executor-plugin-cluster-generic.dist
python312Packages.snakemake-interface-executor-plugins
python312Packages.snakemake-interface-executor-plugins.dist
python312Packages.snakemake-storage-plugin-s3
python312Packages.snakemake-storage-plugin-s3.dist
python312Packages.snakemake-storage-plugin-xrootd
python312Packages.snakemake-storage-plugin-xrootd.dist
snakemake.dist (python312Packages.snakemake.dist)

aarch64-darwin

:x: 6 packages failed to build:

snakemake (python312Packages.snakemake)
python312Packages.snakemake-storage-plugin-s3
python312Packages.snakemake-storage-plugin-s3.dist
python312Packages.snakemake-storage-plugin-xrootd
python312Packages.snakemake-storage-plugin-xrootd.dist
snakemake.dist (python312Packages.snakemake.dist)

:white_check_mark: 18 packages built:

python311Packages.conda-inject
python311Packages.conda-inject.dist
python311Packages.snakemake
python311Packages.snakemake-executor-plugin-cluster-generic
python311Packages.snakemake-executor-plugin-cluster-generic.dist
python311Packages.snakemake-interface-executor-plugins
python311Packages.snakemake-interface-executor-plugins.dist
python311Packages.snakemake-storage-plugin-s3
python311Packages.snakemake-storage-plugin-s3.dist
python311Packages.snakemake-storage-plugin-xrootd
python311Packages.snakemake-storage-plugin-xrootd.dist
python311Packages.snakemake.dist
python312Packages.conda-inject
python312Packages.conda-inject.dist
python312Packages.snakemake-executor-plugin-cluster-generic
python312Packages.snakemake-executor-plugin-cluster-generic.dist
python312Packages.snakemake-interface-executor-plugins
python312Packages.snakemake-interface-executor-plugins.dist

nixpkgs-review result
Generated using nixpkgs-review.


Setup Portus with environment variables

I just figure out that you can add the following environment variables and a registry will added automatically when creating portus
REGISTRY_SSL_ENABLED=true
REGISTRY_HOSTNAME=registry.my.domain
REGISTRY_PORT=5000
REGISTRY_NAME=Registry

I was just wondering if it is possible to create a team and a namespace as well as using environment variables I couldn't found any documentation about it neither about the previous environment variables.

How exactly are you doing that :sweat_smile: ? I just checked both or Docker image and our config files, and if I'm not mistaken this is not possible.

jeje 😅 my bad! the magic seems to be happening in here -> https://github.com/sshipway/Portus/blob/master/startup.sh
Because I'm using this image https://hub.docker.com/r/sshipway/portus/
Thanks @mssola
btw amazing how fast you give feedback 👍


geogebra: Update version to 6.0.813.0 and fix checkver

The old checkver is not working:
PS> curl "https://download.geogebra.org/installers/6.0/version.txt"
5-2-813-0

[x] I have read the Contributing Guide.

/verify

/verify


bugfix: skip error when failed to set disk quota

Ⅰ. Describe what this PR did
skip error when failed to set disk quota, make all path have been set
disk quota, and make the contaienr to run.
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
no
Ⅳ. Describe how to verify it
ci pass
Ⅴ. Special notes for reviews
Signed-off-by: Rudy Zhang<EMAIL_ADDRESS>

LGTM

LGTM


FORBIDDEN (status code: 403): Missing permission...

When we use any of the commands that respond with a pm we get this error
For example, !pldump
gives this error:
Traceback (most recent call last):
File "C:\Users\andy-\Desktop\Music Bot\Music Bot Official\MusicBot-master\musicbot\bot.py", line 1931, in on_message
response = await handler(**handler_kwargs)
File "C:\Users\andy-\Desktop\Music Bot\Music Bot Official\MusicBot-master\musicbot\bot.py", line 1653, in cmd_pldump
await self.send_file(channel, fcontent, filename='playlist.txt', content="Here's the url dump for <%s>" % song_url)
File "C:\Users\andy-\AppData\Local\Programs\Python\Python35-32\lib\site-packages\discord\client.py", line 956, in send_file
yield from utils._verify_successful_response(response)
File "C:\Users\andy-\AppData\Local\Programs\Python\Python35-32\lib\site-packages\discord\utils.py", line 235, in _verify_successful_response
raise Forbidden(response, message, text)
discord.errors.Forbidden: FORBIDDEN (status code: 403): Missing permission...

The bot is unable to send you a DM with the list.  Most likely you've turned off dms for that server.

The issue is the same if i use !listroles. It just can't seem to be able to do anything with pms. I tested logging into that account and messaging myself to make sure its not a discord issue and i can message myself from that account on that server so its not that.

Could it perhaps be this Privacy Option enabled?

read my last comment

Ah. Actually it's trying to send a file to the channel. Make sure it has permissions to send files to channel you're using the command in.

Ahh, i see now.
I assume its not meant to be sending it to channel since it also sends the mailbox_with_mail icon.
simple fix?

It does send the file to the channel. The mailbox response was probably copy pasted from another function, but it doesn't matter.


[RFC] Pydantic Schema Validation

This RFE has potential to replace the proposal I made on #683
Which is the support for the following snippet
from pydantic import BaseModel, ConfigDict
from dynaconf import Dynaconf, DynaBox

class MySchema(BaseModel):
    model_config = ConfigDict(extra='allow')
	dynaconf_config = DynaBox(lazy_validation=True, settings_files=["settings.yaml"])

    server: str
    port: int

settings = Dynaconf(
    schema=MySchema,  # replaces `validators` and is mutually exclusive
)

settings.set("server", 1234)
# don't raise because lazy_validation=True
# if lazy_validation was false then .set would assume the need for validation

print(settings.server)
# raise validation error because settings is evaluated on the first attr access

Details:

Must keep the current validators working with no regression, the only caveat is that the user must choose only one validation strategy to use to avoid confusions
On Django the schema must be defined(or imported) inside the app/settings.py and passed to DjangoDynaconf, the same for FlaskDynaconf.
If validation is not lazy, then it will be called for every .set or .update, we have to ensure that inside loaders we can load multiple keys in bulk and validate once
Pydantic is not added as a hard dependency, can be added on the extra section, but on the docs it must be described to install pydantic along with Dynaconf
Support for Pydantic v2 only
Before invoking the validation, the keys on settings.as_dict() must be transformed to the proper case, the way it is defined on the schema (not sure if pydantic allows case insensitivity)

There is a downside I overlooked about using composition over inheritance that I've overlooked in our last discussion: we don't get auto-complete out of the box (with composition), which is a very requested feature related to schema-based config.

@pedro-psb we can fix that with composition, python is very permissive.

replaced by #1107


[docs] Fix link issue for "Authentication and authorization in Pulsar"

Fixes #5753
Motivation
The link is dead.


ipad OS

some of the customized css dose not work in ipad os.
for example underlying background.
i turned on card view pad version in style setting too.

I think no change can be done in background except for global background. on ipad os obviously, everything is great on windows.

Indeed, some settings are not yet functional on mobile devices. The current theme is primarily designed for the Windows platform. Due to the significant differences between mobile and Windows platforms, I currently do not have the capacity to adjust these style parameters for mobile compatibility. Sorry


Combining / Extracting Epochs

Hello,
I am working with EEGLAB (".set") data, and I'd like to do some analyses with MNE. I am able to read in the data, using this helpful tutorial (http://martinos.org/mne/dev/manual/migrating.html), and I'd like to aggregate the data to do a time decoding analysis (as discussed here: http://martinos.org/mne/stable/auto_tutorials/plot_sensors_decoding.html).
Unfortunately, each event is epoched with a separate event code, instead of each being either '1' or '2'. Basically, I need to:

Get all the events of interest.
Aggregate/label each event / epoch as the correct condition, e.g. '1' or '2'.

Currently, I see two ways I could do this:
One, I could use "combine_event_ids" on all of the possible epochs.
epochs = mne.Epochs(raw, events)
epochs = mne.epochs.combine_event_ids(epochs, s, 11, copy=True)
epochs = mne.epochs.combine_event_ids(epochs, l, 22, copy=True)

(Where 's' and 'l' the list of event_ids I want to combine into the new id). For this approach, is there a way to get rid of all the previous epochs, e.g. the ones labeled with separate event codes? Additionally, can I label the new ones with something other than integers?
The other way would be on the initialization of the "Epochs", filtering which event ids are labeled.  Ideally, I could do something like this:
event_id2 = dict(cond1=list1, cond2=list2)
epochs = mne.Epochs(raw, events, event_id)

But I've looked into the code, and it seems like this isn't an option. I could do some tinkering with the code, but I'm hesitant to change much.
Which way would be the best approach?
Please let me know if you need more information. Thank you!
-Sean Trott

The first approach looks good to me. You can use dicts as the event id. So basically you can do
epochs = mne.epochs.combine_event_ids(epochs, s, {'First': 11}, copy=True)
epochs = mne.epochs.combine_event_ids(epochs, l, {'Second':22}, copy=True)

Then it is also possible to combine them to a single object using mne.concatenate_epochs. After that you can access them separately by doing for example epochs['First'].
Hope this helps.

Thanks, it looks like this worked!


Updating a package doesn't honour "Show Only Packages with Updates" when list is refreshed

When I select "Show Only Packages with Updates" it displays a list of packages that can be updated. I then select one to update and choco goes off and does it's thing. Once done the installed packages list is refreshed, but the "Show Only Packages with Updates" flag is ignored even though it is still ticked. I need to untick the checkbox, click the "Refresh Packages" button and then retick the checkbox to get the filtered list again. Just unticking and reticking doesn't remove the updated package from the list.

@nickdodd79 Thank you for reporting the issue.  This should now be taken care of.  If you could take a look at the latest version of Chocolatey GUI from the MyGet Feed and let us know, we would really appreciate that.  Thanks.


Error "Expected closure parameter in closure signature" when @Sendable is used for closures.

$ cat /tmp/t.swift
let someClosure: (Int) -> Int = { @Sendable (v: Int) -> Int in
    return 5 + v
}
print(someClosure(1))

$ swift /tmp/t.swift
6

$ swift-format /tmp/t.swift
/tmp/t.swift:1:54: error: expected closure parameter in closure signature

Without @Sendable it works fine.

Which version of swift-format are you using? I'm unable to reproduce this on main.
.build/debug/swift-format <<'EOF'
heredoc> let someClosure: (Int) -> Int = { @Sendable (v: Int) -> Int in
heredoc>     return 5 + v
heredoc> }
heredoc> print(someClosure(1))
heredoc> EOF
let someClosure: (Int) -> Int = { @Sendable (v: Int) -> Int in
  return 5 + v
}
print(someClosure(1))

I suspect you have an older version that used a parser that didn't handle attributes on closure signatures.

I expect to post a new 509 release around the time that Swift 5.9 itself lands.


No trailing -

What about if subaccount is blank and project. is not? Is "--{Project}" valid? [edit] I meant Project, not account.

Then we want the extra dash. Otherwise we may confuse subaccount and project
But.... Project even if supplied is currently being ignored


fix: Better wording for the "About" header

already fix by https://github.com/dragonflylee/switchfin/commit/ba14ef667a5797f0253709ed0430018c0f5ae3b4#diff-5d97bc0f644286bdafa11d0e8bb54041fd0eba170d163bedcf261653a29e6dc6L12