Dynamic message endpoints feature and improved test coverage. Fixes #43

Adds the possibility to change the Slack endpoint for each message and improves test code coverage. Fixes #43

@Gadoma thanks for your work here, much appreciated! I'm mostly happy with this, with just a couple of things I'd want to change:
I think we should let Message look after the endpoint, rather than falling back onto the client if it's missing. When a new message is created from the client, it should call setEndpoint with the (default) endpoint it holds. If the user wants to change this, they can call the endpoint / setEndpoint methods. If I call Slack::to("@regan")->send("hello"), then the Client will instantiate the Message with the default endpoint. If I call Slack::endpoint("http://fake.endpoint")->to("@regan")->send("hello") then it will instantiate the Message with the custom endpoint. I can of course continue to call setEndpoint / endpoint on the message later if I want to keep modifying it.
When it comes time to send the message, the client will always get the endpoint to use from the message, there won't be a fallback onto the client's endpoint. The client's endpoint would solely be used as the default for instantiating messages when no custom endpoint is provided.
That's the only fundamental change I'd want to make. Otherwise, you just need to do a pass over for code style: 2 spaces for indentation, new line at the end of files, ensure the doc-comments follow the existing style.
Appreciate the work on the test suite btw.

Wouldn't it be better to have the endpoints all in config and just use endpoint("company") like the disk() for storage, connection() for db and so in? And keep all neccesary configs in an array for this endpoint - like:
'default' => 'company',
'endpoints' => [
  'company' => [
    // endpoint, channel
  ],
  'private' => [
    // endpoint, channel
  ],
  // And so on
]

Yeah, I do like that style. It would certainly make things fluent. We could probably get away from "endpoinst" and call them "teams". The Message could have a team field which is the key of the team, e.g. "yourcompany". The client can then manage looking up which endpoint needs to be used for that team.

Hi guys!
@maknz I updated the PR to include your suggestions about the endpoint handling and code style fixes.
@Gummibeer @maknz The idea of teams sounds interesting as it would provide an easy way of setting the message endpoint+channel details via a short and user-friendly alias (instead of 2 method calls with the full webhook url and channel name). Not sure about the wording though, maybe something like "targets" ?
Let me know what you think, cheers!

The only reason I defaulted to "teams" is that is the term Slack use for an instance of Slack, so you could have something like:
Slack::to("#channel")->send("Hello"); // the default team
Slack::team("mystartup")->to("#channel")->send("Hello"); // a non-default team
Slack::team("mystartup")->send("Hello"); // send to the default channel of the mystartup team
Slack::send("Hello"); // send to the default channel on the default team

I like the config from @Gummibeer above, the only thing I'd swap out is "endpoints" for "teams".
Totally fine with this being a breaking change, we just bump to 2.0 and provide upgrade instructions. Alternatively we could have a fallback which checks for the presence of the "teams" key -- if it's not there, check for "endpoint" and set it up as a team called "default".

@Gadoma @maknz I've updated my example to include the suggested changes.

@Gadoma let me know if you want to build out the teams feature, or if you want to leave it with me. I'm happy to get started on that, and port over the improved test suite from this PR. Let me know what you think.
I'm planning a 2.0 release which it would be good to include the teams feature in.

@maknz I can carry on with implementing the teams feature 👌 This week I am quite busy so might not have the capacity but next week is a safe bet. As you mentioned the upcoming 2.0 release (i.e. breaking changes) it might be worth considering a few other improvements on that occasion - I have some ideas so I will open separate issues for discussion, ok?

Sweet, have at it :+1:

@Gadoma how are you placed for this? I'm keen to make lots of progress towards a 2.0 release this weekend, which means the necessary API breaks with this PR.
More than happy to take over if you haven't the time or don't want to; I can take your lead with the test suite improvements as above, and implement the features outlined in this discussion.

@maknz Hey there mate! Currently I am fully occupied with my day-to-day bits and pieces and just don't have enough capacity to get on with the discussed features, even though I'd like to... I think the best option for now is for you to take over from here. Cheers!

Sweet as, I'll keep you posted.

Have opened #60. Will keep this PR open so I can easily refer to the code already written, including the improved test suites.


[yoga] Update to 3.0.2

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

I think the Android failures here are NDK 25 vs 26. Not positive though.

Yes and those are features in C++20, which is enabled in the build flags. Also, upstream Yoga has CI jobs for Android (but on NDK 26).

@waywardmonkeys Sorry, currently we have not updated to 26.  We can add this port of arm triplets to ci.baseline.txt,

@FrankXie05 I made that update, so I think this is okay to go?

Thanks!


tabcmd login does not ask for the password if only the user is specified

I try to login to my local Tableau Server without providing a password in the command, but it does not ask for the password. It returns the following error "...missing arguments: run 'tabcmd login -h' for details on required arguments".
Oficial documentation Login
I run this command:
tabcmd login -s https://mytableauServer.my-domain.es -u user_ad
The output returned is (spanish):
Tabcmd 2.0.14 No se puede iniciar sesión debido a que faltan argumentos: Run 'tabcmd login -h' for details on required arguments Exiting...
If I put the password parameter on the commando, works fine.
tabcmd login -s https://mytableauServer.my-domain.es -u user_ad -p mypass
Note:
I'm ussing tabcmd.exe for windows v2.0.14

Looks like this is a problem with the attempt to remember an existing session. Will aim for this to be in the next release.


Update integration tests to Go 1.21 and Kubernetes 1.29

What does this PR do?
Summary of Updates:

Updates Go module, build scripts, and workflow configs to use Go 1.21
Updates documentation to refer to Go 1.21
Updates to Kubernetes 1.29

:warning: WIP updating to OpenShift 4.15, blocked by https://github.com/openshift/release/pull/53140 :warning:
What issues does this PR fix or reference?
fixes devfile/api#1561
Is your PR tested? Consider putting some instruction how to test your changes
Runs make all successfully.

/hold
Might need to wait for https://github.com/openshift/release/pull/53140 to be merged.

/hold
@thepetk Need to refactor some usages of io/ioutil left in.

/hold
@thepetk Need to refactor some usages of io/ioutil left in.

done in https://github.com/devfile/integration-tests/pull/105/commits/39abcb98ca5534a559be75f101ce26c0c2d19ca2

/retest

/test all

/unhold

@thepetk FYI console tests are expected to fail, I think @johnmcollier can override the branch protection to merge once everything else looks good.


Improve SSL capability check

Instead of relying on the modem revision (R13.06 vs. R14.18), we might want to use the AT+CIPSSL=? command, see also [1].
When the modem is not capable of SSL, it will respond with ERROR. Otherwise, it will respond with +CIPSSL: (0-1).
The TinyGSM reference implementation can be found at [2].
[1] https://community.hiveeyes.org/t/unlocking-and-improving-the-pythings-sim800-gprs-module-for-micropython/2978/34
[2] TinyGsmClientSIM800.h#L242-L252

Line 380: ssl_available = self.modem_info >= 'SIM800 R14.00'
here i get false with rev R14.18


bug: Encountering Errors and Warnings During Helm install fluent-operator

Describe the issue

Encountering Errors and Warnings During Helm install fluent-operator

$ helm install fluent-operator -n fluentbit ./fluent-operator/
W0430 21:57:57.912852   19520 warnings.go:70] unknown field "spec.securityContext.capabilities"
W0430 21:57:57.912852   19520 warnings.go:70] unknown field "spec.securityContext.privileged"
W0430 21:57:57.912852   19520 warnings.go:70] unknown field "spec.securityContext.readOnlyRootFilesystem"
Error: INSTALLATION FAILED: failed to refresh resource information: fluentbits.fluentbit.fluent.io "fluent-bit" not found

$ helm list -n fluentbit
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
fluent-operator fluentbit       1               2024-04-30 21:57:43.0906769 -0400 EDT   failed          fluent-operator-2.8.0   2.8.0

The deployment seems ok

$ kubectl get fluentbits.fluentbit.fluent.io -n fluentbit
NAME         AGE
fluent-bit   13h

$ kubectl get all -n fluentbit
NAME                                             READY   STATUS    RESTARTS   AGE
pod/fluent-bit-8sdnh                             1/1     Running   0          9h
pod/fluent-bit-9xgm2                             1/1     Running   0          9h
pod/fluent-bit-dtqw9                             1/1     Running   0          9h
pod/fluent-bit-fdm9f                             1/1     Running   0          9h
pod/fluent-bit-g54tw                             1/1     Running   0          9h
pod/fluent-bit-t7dw9                             1/1     Running   0          9h
pod/fluent-bit-vk27g                             1/1     Running   0          9h
pod/fluent-bit-wlhvz                             1/1     Running   0          9h
pod/fluent-bit-xx5g4                             1/1     Running   0          9h
pod/fluent-operator-5d466549cb-s8cn6             1/1     Running   0          9h

NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/fluent-bit   ClusterIP   x.x.x.x          <none>        2020/TCP   9h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/fluent-bit   9         9         9       9            9           <none>          9h

NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/fluent-operator             1/1     1            1           9h

NAME                                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/fluent-operator-5d466549cb             1         1         1       9h

I made these changes in values.yaml for supporting non root user

  # initContainers test run as non root user
  initContainers:
    - name: chowner-fb-storage
      image: registry.hub.docker.com/library/alpine:3.12.0
      command: ["chown", "3301:3301", "/fluent-bit"]
      securityContext:
        readOnlyRootFilesystem: true
        capabilities:
          drop: ["all"]
          add: ["CHOWN"]
        runAsUser: 0
        runAsNonRoot: false
      volumeMounts:
      - name: positions
        mountPath: /fluent-bit

changes in fluentbit-fluentBit.yaml

  {{- if .Values.fluentbit.initContainers }}
  initContainers:
{{ toYaml .Values.fluentbit.initContainers | indent 4 }}
  {{- end }}

To Reproduce
run "helm install fluent-operator -n fluentbit ./fluent-operator/" with above changes
Expected behavior
no warning and Error with "helm install fluent-operator -n fluentbit ./fluent-operator/"
Your Environment
- Fluent Operator version: v2.8.0
- Container Runtime: containerd://1.7.7-1
- Operating system: Ubuntu 22.04.4 LTS
- Kernel version: 5.15.0-1057-azure

How did you install fluent operator?
helm install fluent-operator -n fluentbit ./fluent-operator/
Additional context
No response

Hey @onap4105,
I followed your instruction and tried to reproduce the issue. For me, everything worked well:
Adding this into values.yaml under fluentbit section:
fluentbit:
  # initContainers test run as non root user
  initContainers:
    - name: chowner-fb-storage
      image: registry.hub.docker.com/library/alpine:3.12.0
      command: ["chown", "3301:3301", "/fluent-bit"]
      securityContext:
        readOnlyRootFilesystem: true
        capabilities:
          drop: ["all"]
          add: ["CHOWN"]
        runAsUser: 0
        runAsNonRoot: false
      volumeMounts:
      - name: positions
        mountPath: /fluent-bit

Adjusting the fluentbit-fluentBit.yaml like this:
{{- if .Values.fluentbit.initContainers }}
initContainers:
{{ toYaml .Values.fluentbit.initContainers | indent 4 }}
{{- end }}

Using the fluent-operator v2.8.0
Results of helm deployment:
NAME: fluent-operator
LAST DEPLOYED: Wed Jul  3 21:04:37 2024
NAMESPACE: fluent
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing  fluent-operator
Your release is named    fluent-operator

To learn more about the release ,try:
   $ helm status  fluent-operator  -n  fluent
   $ helm get  fluent-operator  -n fluent

fluent-bit pod:
> k get pods fluent-bit-8shbv -oyaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-07-03T19:04:48Z"
  generateName: fluent-bit-
  labels:
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: fluent-bit
    controller-revision-hash: 6f794545d
    pod-template-generation: "1"
  name: fluent-bit-8shbv
  namespace: fluent
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: DaemonSet
    name: fluent-bit
    uid: 7bb083fe-45a6-46d1-9a05-51d440d81381
  resourceVersion: "87333"
  uid: 9db10dfa-c2a3-4ed6-9274-b6e0cd8053da
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchFields:
          - key: metadata.name
            operator: In
            values:
            - minikube
  containers:
  - env:
    - name: NODE_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: spec.nodeName
    - name: HOST_IP
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: status.hostIP
    image: kubesphere/fluent-bit:v2.2.2
    imagePullPolicy: IfNotPresent
    name: fluent-bit
    ports:
    - containerPort: 2020
      name: metrics
      protocol: TCP
    resources:
      limits:
        cpu: 500m
        memory: 200Mi
      requests:
        cpu: 10m
        memory: 25Mi
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /fluent-bit/config
      name: config
      readOnly: true
    - mountPath: /var/lib/docker/containers
      mountPropagation: None
      name: varlibcontainers
      readOnly: true
    - mountPath: /var/log/
      mountPropagation: None
      name: varlogs
      readOnly: true
    - mountPath: /var/log/journal
      mountPropagation: None
      name: systemd
      readOnly: true
    - mountPath: /fluent-bit/tail
      name: positions
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-bx98g
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  initContainers:
  - command:
    - chown
    - 3301:3301
    - /fluent-bit
    image: registry.hub.docker.com/library/alpine:3.12.0
    imagePullPolicy: IfNotPresent
    name: chowner-fb-storage
    resources: {}
    securityContext:
      capabilities:
        add:
        - CHOWN
        drop:
        - all
      readOnlyRootFilesystem: true
      runAsNonRoot: false
      runAsUser: 0
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /fluent-bit
      name: positions
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-bx98g
      readOnly: true
  nodeName: minikube
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: fluent-bit
  serviceAccountName: fluent-bit
  terminationGracePeriodSeconds: 30
  tolerations:
  - operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/disk-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/pid-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/unschedulable
    operator: Exists
  volumes:
  - name: config
    secret:
      defaultMode: 420
      secretName: fluent-bit-config
  - hostPath:
      path: /var/lib/docker/containers
      type: ""
    name: varlibcontainers
  - hostPath:
      path: /var/log
      type: ""
    name: varlogs
  - hostPath:
      path: /var/log/journal
      type: ""
    name: systemd
  - hostPath:
      path: /var/lib/fluent-bit/
      type: ""
    name: positions
  - name: kube-api-access-bx98g
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2024-07-03T19:04:49Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2024-07-03T19:04:57Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2024-07-03T19:04:57Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2024-07-03T19:04:48Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://c725a321374ebec5c772a78079da6636859345462a25e229879d3ed596b7fb8a
    image: kubesphere/fluent-bit:v2.2.2
    imageID: docker-pullable://kubesphere/fluent-bit@sha256:2b7080983728ddef78e9f78feb31116bc6ed97affa04f09d42e9540bf6331da3
    lastState: {}
    name: fluent-bit
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2024-07-03T19:04:57Z"
  hostIP: <IP_ADDRESS>
  initContainerStatuses:
  - containerID: docker://2e2fc23b936f2a4f2373654d74103f1443ca1ad19917cdb3abdc7abf7b063d25
    image: registry.hub.docker.com/library/alpine:3.12.0
    imageID: docker-pullable://registry.hub.docker.com/library/alpine@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
    lastState: {}
    name: chowner-fb-storage
    ready: true
    restartCount: 0
    state:
      terminated:
        containerID: docker://2e2fc23b936f2a4f2373654d74103f1443ca1ad19917cdb3abdc7abf7b063d25
        exitCode: 0
        finishedAt: "2024-07-03T19:04:48Z"
        reason: Completed
        startedAt: "2024-07-03T19:04:48Z"
  phase: Running
  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>
  qosClass: Burstable
  startTime: "2024-07-03T19:04:48Z"

If the bug persists, can you give me some more information?


small changelog mistake

v2.3.0

added LogSpam fixes (CalculatePolygonPath)
renamed GhostItems to ItemSync

added patch to fix shotguns disappearing if client has de-synced inventory
added patch to allow clients to pick up items that already belong to them

fix scrap not having value/wrong state after hotload
Yeet dependencies :D

SPLIT POINT

moved non-host related features to Matty's Fixes

this does not link to the thunderstore of that mod but just the page you are currently on as the () is empty

great catch 😂 , will fix in the next update.


update from fd:// to unix://

change fd:// to unix://: as fd:// doesn't work with new version
reference:
https://forums.docker.com/t/failed-to-load-listeners-no-sockets-found-via-socket-activation-make-sure-the-service-was-started-by-systemd/62505
Tested on Ubuntu 16.04 Server
$docker version

Client:
Version:           18.09.0
API version:       1.39
Go version:        go1.10.4
Git commit:        4d60db4
Built:             Wed Nov  7 00:48:57 2018
OS/Arch:           linux/amd64
Experimental:      false
Server: Docker Engine - Community
Engine:
Version:          18.09.0
API version:      1.39 (minimum version 1.12)
Go version:       go1.10.4
Git commit:       4d60db4
Built:            Wed Nov  7 00:16:44 2018
OS/Arch:          linux/amd64
Experimental:     false

before the changes it was producing the following Error and Docker failed to start :
Failed to load listeners: no sockets found via socket activation: make sure the service was started by systemd

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Let me close this one, as fd:// should now be supported again on both rpm and deb installs


Sync framework adapters, drop runtime column

Closes #676.

What about https://github.com/grammyjs/website/pull/739#discussion_r1145978170?


Correct .page width and padding to visually center

[X] This is a question about using the theme.
[ ] This is a feature request.
[X] I have updated all gems with bundle update.
[X] I have tested locally with bundle exec jekyll build.
[X] I believe this to be a bug with the theme --- not Jekyll, GitHub Pages or one of the bundled plugins.

Environment informations

**Minimal Mistakes version: 4.5
**github-pages or jekyll gem version: jekyll 3.5.1
**Operating system: macOS Sierra 10.12.6

Expected behavior
Page width seems to have changed since 4.5 gem is released
Steps to reproduce the behavior
When viewing on a desktop machine you can see the class .page is set for:
width: 83.05085%;
float: right;
margin-right: 0;
padding-left: 4.23729%;
padding-right: 16.94915%;
screenshot: http://cl.rummel.co/3g0P222s1m3m
w/ gem 4.5 running locally, I see things have changed due to Susy
float: right;
width: 83.0508474576%;
padding-left: 1.6949152542%;
padding-right: 1.6949152542%
screenshot: http://cl.rummel.co/2t3L1H0o3j2j
It seems like padding-left needs a multiplier of 2.5 and padding-right needs a multiplier of 10, unless the MM is changing the presentation intentionally.  If so, is there a way to go back to the previous formatting but still using the current version of Susy?

No way to go back. Susy 3 killed a lot of the mixins I used with the theme and just provides simplified functions. I'll have to see if I can match the math in places it changed.
As long as the layout didn't break I'm cool with some differences.

I've added a right margin to page class:
.page {

  @include breakpoint($large) {
    float: right;
    width: span(8 of 12);
    margin-right: span(2 of 12);
    padding-left: gutter(0.5 of 12);
    padding-right: gutter(2 of 12);
  }

Maybe it helps.

@dev4223 That's close, but the math is still off.
@justinrummel The original intention with was to have the main content appear centered on the page, with equal amounts of white space on the left and right. In the old version with Susy 2, the math wasn't exactly there, but it looked close visually.
I'm going to take another stab at it to try and balance things out since Susy 3 simplified some things. Might be easier to get the math exact.

Pushed some improvements to get the page and archive layouts where I've always wanted them.

Center main content block
Fix "table of contents" sidebar overlap and improvement alignment so it fits in the white-space to the right of the main content. Similar to how the author side bar fits to the left.

I haven't merged it into master yet but if you want to give it a spin it's in the layout-adjustments branch and can be used by adding this line to your Gemfile
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :branch => "layout-adjustments"

Awesome!  I'll try it out this morning

Wanted to make sure I'm reading this correctly, you want the Table of Contents to be on the right hand side vs. being embedded with the text.
I have an updated screenshot of my current site showing the difference:

TOC Embedded with text: http://cl.rummel.co/0B2r2D290p42
TOC on the right: http://cl.rummel.co/2F0G1r3t2k0f

If this is the case, it would be nice if TOC could be identified towards the bottom of the markdown, but aligned at the top right.  Else, if you but the TOC on the first line you will see the title of the TOC on the main page when post.excerpt is used. ( example: http://cl.rummel.co/0W040k3s0b31 )

That's right. I wanted to push the TOC out of the main content block since it doesn't always flow well. For instance with code blocks it cuts part of them off. Moving it to the dead space on the right avoids all that.

I pushed a fix that if you place the {% include toc %} further down the page, it will be positioned at the top and align with the main content.

I tend to drop the TOC include in after the first paragraph to avoid being pulled into the auto-generated post.excerpt. Placing it at the end of your Markdown file isn't ideal when the page is viewed on mobile when the content collapses down to a single column.
The TOC will be after the content, which defeats the purpose of it.

Let me know your thoughts and if this works out with your existing content.

Thanks for the fast turnaround!

Desktop view looks GREAT!
Mobile view will still inline the TOC where you have the liquid code snippet.  Not a big deal from a reading perspective.  I wouldn't drop the TOC to the bottom of the page just yet.
iPad and iPad Pro views on Google Chrome suggest that the TOC is now on top of the text/images of the post making it unreadable.

Should be fixed now. I forgot to include a negative margin for the smaller screen sizes, so the TOC wasn't getting pushed to the right.

flawless!  Going to push it to my main site and let it bake in production.

Nice. Thanks for testing!


Build fails with deprecation warnings on iOS

Version of react-native-iap
Latest (0.3.23)
Platforms you faced the error (IOS or Android or both?)
Only iOS - Android is working fine.
Expected behavior
Building and linking should succeed
Actual behavior
Build fails with deprecation
Tested environment (Emulator? Real Device?)
Either.
Steps to reproduce the behavior
Build against iOS 11 SDK
It fails at this point:
/Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.m:175:69: warning: implicit conversion loses integer precision: 'long _Nullable' to 'int' [-Wshorten-64-to-32]
        [self rejectPromisesForKey:key code:[self standardErrorCode:transaction.error.code] message:[self englishErrorCodeDescription:(int)transaction.error.code] error:transaction.error];
                                            ~                       ^~~~~~~~~~~~~~~~~~~~~~
/Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.m:197:77: warning: implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int' [-Wshorten-64-to-32]
  [self rejectPromisesForKey:@"availableItems" code:[self standardErrorCode:error.code] message:[self englishErrorCodeDescription:(int)error.code] error:error];
                                                    ~                       ^~~~~~~~~~
/Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.m:208:10: warning: unused variable 'receiptUrl' [-Wunused-variable]
  NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL];
         ^
/Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.m:261:24: error: property 'subscriptionPeriod' not found on object of type 'SKProduct *'
    itemType = product.subscriptionPeriod ? @"sub" : @"iap";
                       ^
/Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.m:285:32: warning: 'transactionReceipt' is deprecated: first deprecated in iOS 7.0 - Use -[NSBundle appStoreReceiptURL] [-Wdeprecated-declarations]
    receiptData = [transaction transactionReceipt];
                               ^
In module 'StoreKit' imported from /Users/amnesthesia/Code/Playtecher/BitAlert/node_modules/react-native-iap/ios/RNIapIos.h:7:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h:47:50: note: property 'transactionReceipt' is declared deprecated here
@property(nonatomic, readonly, nullable) NSData *transactionReceipt NS_DEPRECATED_IOS(3_0, 7_0, "Use -[NSBundle appStoreReceiptURL]");
                                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h:47:50: note: 'transactionReceipt' has been explicitly marked deprecated here
4 warnings and 1 error generated.

** BUILD FAILED **

The following build commands failed:
	CompileC /Users/amnesthesia/Code/Playtecher/BitAlert/ios/build/Build/Intermediates.noindex/RNIap.build/Debug-iphonesimulator/RNIap.build/Objects-normal/x86_64/RNIapIos.o RNIapIos.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

I just tested in simulator with current master, which is fine.
I don't get the error message, because it's type error which can be caught in compile time.
if (@available(iOS 11.2, *)) {     NSLog(@"  check  : 11.2 available  %@", product.subscriptionPeriod);  // << break point here..     itemType = product.subscriptionPeriod ? @"sub" : @"iap";   }
I suggest you to set a break point as above, and check the 'product' object.
I can find _subscriptionPeriod even in 'consumable products'.

Which is bug at this time.  All itemType of all kinds of products is 'sub'.

But, it doesn't crash.  I hope you check the process.

@Amnesthesia I've just release `1.0.1 to npm. Please try this and comeback to us.

Thank you @dooboolab :-) Everything is working great!
And thank you so much for the time and effort you've put into this library! I've tried out many different ones, but this is the one :-)


Implement CSV export functionality

tbd

@stwerm We were wondering, how you want to select the data for exporting. We once talked about selecting by a month range, but in our opinion this doesn't make much sense, because it will cut periods apart. How about implement a selection by:

Study
Birth year


Ensure Uniform constructed on bounded interval

In looking at lints (#216, has some of the discussion there) adjacently found that Uniform would allow infinite support. I don't know enough to say if this is well defined mathematically, but a few implications I thought of:

sample will fail while using rand's UniformSampler
cdf and sf have odd end behaviors for the unbounded end, is F(x = INF) = 1 if X ~ Uni(a, INF)? Equals INF isn't good math, but is valid value for floats

There may be others, but this PR would disallow construction of such a distribution, sf was implemented to have behavior for infinite support, but cdf was not. If someone can declare how it should work, then we can reallow it and implement all the behavior for it.

I removed tests that didn't require that a, b < ∞ AND a<b  but I noticed there were tests that specifically tested such behavior, most notably things like

$f_U(x;a=b) \equiv f_δ(x-a)$ δ being the dirac delta
testing cdf at x=∞ for uniform without upper bound.

The blame shows @boxtown writing some of those tests 8 years ago. Don't suppose you recall why you chose that before, do you? I'd like to know more about what I'm considering removing.

More discussion is needed on what's expected behavior for such degenerate cases, #102 will host future discussion, for now I'll exclude this degenerate case.


Use large runners

What
Part of https://github.com/rerun-io/rerun/issues/2635
We weren't actually using the larger runners for certain very expensive jobs, specifically the wheels build was using the basic 2-core runners.
Note: Review without the first commit, it's just formatting
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested demo.rerun.io (if applicable)

PR Build Summary
Docs preview
Examples preview

I will do that at some point! https://github.com/rerun-io/rerun/issues/2741


feat(*): allow AMD and CommonJS integration

Allow the file to be loaded as a module, using AMD or CommonJS.

Hi @boyanin!
thanks for PR!
What do you think about #163 ?

Hi @boyanin,
Thanks for your PR, we are currently testing #163 and I think that the module implementation will be already included during webpack's build process.
Would you like to help us testing that PR, verifying the modularity of the build?
Thanks for your help, this PR is in testing and will be merged in a few days. :)

Hi @dennybiasiolli and @simobasso . It looks great with #163 I came along your lib today and decided to extend with this modularity. I'd be happy to hel you testing it according to es6. Let me know how I can contribute :)

Thanks @boyanin , you can find es6 PR in this repo and checkout es6 branch.
This branch has a lot of improvements, so we are testing in depth before merging into master.
Thanks a lot for your help :)

closed in favor of #184 (thx @boyanin anyway)


Source List page: we should order sources by Title instead of by Siglum

Related to #1223 - on the Source List page, Debra and Jennifer have requested that we order sources by their title rather than by their siglum - currently, all the sources located in Austria (i.e. whose sigla begin with A-) are placed front-and-centre, whereas ordering by title would allow sources in other countries to show up on the first page.

it would also mean the sources on the browse page show up in a different order from how they are presented basically everywhere else on the site (or on Cantus Index for that matter, or the practice on DIAMM ...). Good news for anyone looking for Aachen Domarchiv G 20 I suppose, but sounds kind of confusing for anyone else...

(which is to say I would actually hold off on this and work on making the individual columns sortable as a higher priority...)

Closing this. Given changes to source identification, the completion of #1569, and the continuing need for #1217, I think this is no longer relevant.


Affilate links

Is there going to be any option for those that need to have physical products, downloads and affiliate links? At present the button on the product page for affiliate links just doesn't work.

Offcanvas cart doesn't support affiliate products yet https://bootscore.me/documentation/woocommerce/#AJAX_Cart.
But we're refactoring the ajax cart in a further update https://github.com/bootscore/bootscore/issues/215. By this update, cart will work with affiliate products too. It's far from stable, but if you want you can test a preview:

Download branch https://github.com/bootscore/bootscore/archive/refs/heads/Refactor-offcanvas-cart.zip
Unzip file, rename folder to bootscore-main and zip again
Upload zip file via theme-uploader
Clear cache

Demo: https://dev.bootscore.me/shop/, last item is an affiliate product


FAQ Spacing

I'd like to work on this issue and reduce the spacing between the faq heading and the drop-down questions.
Please assign me this issue under LGM-SOC '21.

@ri-tae-ka no need to do that. I've added this to make this section full screen


childCloudinaryAsset undefined

I'm having some issues with the default examples shown. I have no issues getting my files uploaded, and querying them using what's in GraphiQL, but when I try to use the example I see this:

Have there been some changes since you published this?

That's really strange that it suggested childrenCloudinaryAsset instead of childCloudinaryAsset. childrenCloudinaryAsset isn't mentioned anywhere in the source of gatsby-transformer-cloudinary. I'm assuming you're using gatsby-source-filesystem to pick out your images and upload them to Cloudinary?
Which version of gatsby-transformer-cloudinary are you running?
This doesn't solve your problem, but I'm 90% sure that fragments don't work in GraphiQL. (They work fine in your Gatsby app, but GraphiQL doesn't load them. It's an open issue, I think.)
I was able to get a similar query to work fine on a dummy app with version 1.0.1:

Thanks for the quick reply @kurttomlinson. Sorry, it's taken a bit for me to get back to you.
The current version is "gatsby-transformer-cloudinary": "1.0.1", and yes I use gatsby-source-filesystem without any issues on the upload to Cloudinary. I'll test again without children and let you know if it changes at all.

Chiming in, I had the same issue today. I was previously using version 0.3.5. I just updated the plugin to version 1.0.1 and gave it a spin. Otherwise the graphql page queries in the page files remained the same. When I tried to start up the dev server I got similar errors, but my images uploaded just fine.
ERROR #85923  GRAPHQL
There was an error in your GraphQL query:
Cannot query field "childCloudinaryAsset" on type "File".

And
ERROR #98123  WEBPACK
Generating development JavaScript bundle failed
.../src/pages/page.js
242:11  error  Cannot query field "childCloudinaryAsset" on type "File". Did you mean "childrenCloudinaryAsset"?  graphql/template-strings
✖ 1 problem (1 error, 0 warnings)

I updated the page queries to have childrenCloudinaryAsset and the errors were resolved. But...
childrenCloudinaryAsset seems to be returning an array with the first item being the fluid object, compared to childImageSharp which returns an object directly.
GraphiQL Query:
query MyQuery {
  allFile {
    nodes {
      childrenCloudinaryAsset {
        fluid {
          src
        }
      }
      childImageSharp {
        fluid {
          src
        }
      }
    }
  }
}

And results:
...
        {
          "childrenCloudinaryAsset": [ # An array
            {
              "fluid": {
                "src": "https://res.cloudinary.com/myaccount/image/upload/f_auto,q_auto/v1600846437/myfolder/image"
              }
            }
          ],
          "childImageSharp": { # An object
            "fluid": {
              "src": "/static/3995697a21882d875219185954ab3416/630fb/image.png"
            }
          }
        },

This caused some errors and images did not load until it was dealt with.

Thanks for the new information. I've been able to reproduce this. I think this is a problem caused by two images having the same file name.
As a workaround, try making sure that each image on your site has a unique file name.
I'm looking into a way to fix this.

I believe this should be fixed by https://github.com/cloudinary-devs/gatsby-transformer-cloudinary/pull/50.

Awesome, thanks. I did have 2 files with the same name in separate subfolders.

Released with #50, thanks @thatjimmy @kurttomlinson & @davidpanzarella 👍

I had this same issue (after #50) caused by two images with same name but different extension in same folder :D
It could be useful to add also the extension to the assets id here?
https://github.com/cloudinary-devs/gatsby-transformer-cloudinary/blob/c2f2a8c2ed778c4b382be6523e6f8ecccc7d5170/packages/gatsby-transformer-cloudinary/upload.js#L96-L100

@ludusrusso That might work, but I'm not sure it's a great idea. I think Cloudinary builds public IDs from filenames without the extension. I think you might end up with one file clobbering the other on Cloudinary if you do that. I'm not sure, but that's my first thought.
The reason I think Cloudinary doesn't include extensions in the public ID is because you can upload a png, and then download that same image from Cloudinary with a .jpg extension and Cloudinary will automatically convert the image format for you.

@kurttomlinson thanks for the reply. I'm not sure too this is a good idea (this is why I asked before submit a pull request). 👍


The experimental results of the paper cannot be reproduced

I installed the official configuration and tested all sizes of sam2 models on datasets such as DAVIS2017, but the J&F values obtained were all smaller than the paper results, why?

This is very common.

Hi @mr-mating, the released checkpoints are those trained without using open-source datasets (like MOSE) to be compliant with the Apache 2.0 release license. Their performance is listed in Table 17 as the highlighted rows below and also listed in the Model Description of this repo at https://github.com/facebookresearch/sam2?tab=readme-ov-file#model-description.

@mr-mating Also, we have just provided training and fine-tuning code for SAM 2 in https://github.com/facebookresearch/sam2/tree/main/training. In case you're interested in training on your own datasets, you can use the provided toolkit to train SAM 2


Feature request: add the possibility to set the sysroot path

Pl
atform:
ALL
Operating System:
ALL
Problem description:
This is a feature request: add the possibility to set the sysroot path
For some targets we need to set the sysroot --sysroot flag

Can't you do it through extra_cxx_flags and extra_link_flags ? https://github.com/ARM-software/ComputeLibrary/blob/master/SConstruct#L58

You are right, sorry


Reproducible output support to fix response inaccuracy and inconsistency in data retrieval

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Issue a query to retrieve specific data from a source (e.g., fund details or any other data set).
Receive a "data not available" message.
Repeat the same query after a short period.
Successfully retrieve the data after not available" message when the query fails to retrieve the expected data.
Retry the same query after a short period and occasionally observe a successful multiple attempts without changing the query.

AND

Request information about specific funds, including figures or personnel involved.
Receive data that does not match the official data retrieval, indicating an inconsistency in data access.
Request information about a specific fund, noting the details documentation of the fund.
At other times, issue a similar query and receive accurate information that aligns with the fund's official details.

Expected/desired behavior

Consistent and reliable retrieval of data upon query submission, without the need for multiple attempts to get misrepresenting the fund's details.

Accuracy issues with samples screnshots  .docx
Mention any other details that might be useful
find this solution on Microsoft website using seed will help to reproduce same response every time but not sure will this fix these issues of not.
https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/reproducible-output?tabs=pyton

Thanks! We'll be in touch soon.

Can you clarify the "data not available" situation? Is that coming from Azure AI search results? You generally shouldn't see much variation from Azure AI search- the same query should yield the same results each time. However, you can check to see what the generated keyword query is in the "thought process" tab, to see if that changed.
Regardless, we agree that adding seed is a good idea to help with reproducibility, and hope to do that.

Hi Pamela, I have tried the Seed implementation With GPT-3.5 v1106, This help with reproducibility.
To provide a clearer picture of the issue at hand, let me elaborate. We have uploaded 30 PDFs into the system. When querying the system with questions pertaining to individual PDFs, it accurately provides the correct answers about 95% of the time. However, the challenge arises when we pose questions that require aggregating data from multiple PDFs. In such scenarios, we occasionally encounter instances where the system reports that data for one or two points is unavailable.
For instance, assume we have three PDFs containing information on the performance of X, Y, and Z funds. When we inquire about the total assets of these funds individually, the system accurately furnishes the required information. But, when we pose a question that necessitates a comparative analysis or aggregation of data from these PDFs—such as asking for the total assets of X, Y, and Z funds collectively—the response might look something like this:
X Fund: 2.5 Million
Y Fund: 4.7 Million
Z Fund: Data not available
This discrepancy occurs specifically during requests for combined data from multiple sources, leading to partial or incomplete information retrieval.
Here is the Sample Question Asked and Though Process
### Q-    Compare fund performance of Vanguard U.S Growth Fund, Franklin Growth Fund and BlackRock Income Fund?
A-    The fund performance for the mentioned funds is as follows:
- Vanguard U.S. Growth Fund: 5.38% 1
- Franklin Growth Fund: 4.94% 2
- BlackRock Income Fund: Not available in the provided sources.
Citations:
1. F0023.pdf
2. NAG_QuarterlyFactSheet.pdf
### Thought Process
            "Original user query

Compare fund performance of Vanguard U.S Growth Fund, Franklin Growth Fund and BlackRock Income Fund?
Generated search query
Vanguard U.S Growth Fund, Franklin Growth Fund, BlackRock Income Fund performance
use_semantic_captions: false
has_vector: true
Results
[
{
"id": "file-bmsix_blackrock_pdf-626D7369785F626C61636B726F636B2E706466-page-13",
"content": "\nYou should consider the investment objectives, risks, charges and expenses of the fund carefully before investing. The prospectus and, if available, the summary prospectus contain this and other information about the fund and are available, along with information on other BlackRock funds, by calling<PHONE_NUMBER> or from your financial professional. The prospectus should be read carefully before investing. Investing involves risks including possible loss of principal.\nThe Morningstar Medalist RatingTM is the summary expression of Morningstar's forward-looking analysis of investment strategies using a rating scale of Gold, Silver, Bronze, Neutral, and Negative. The ratings indicate which investments Morningstar believes are likely to outperform a relevant index or peer group average on a risk-adjusted basis over time. Analysts assign three pillar ratings (People, Parent and Process) based on their qualitative assessment, subject to the oversight of the Analyst Rating Committee, and monitor and reevaluate them at least every 14 months.",
"embedding": "[-0.0024579312, -0.020275382 ...+1534 more]",
"imageEmbedding": null,
"category": null,
"sourcepage": "bmsix_blackrock.pdf#page=2",
"sourcefile": "bmsix_blackrock.pdf",
"oids": [],
"groups": [],
"captions": []
},
{
"id": "file-946-FF_pdf-3934362D46462E706466-page-4",
"content": "\nGross expenses are the fund's total annual operating expenses as of the fund's annual report available at the time of publication. Actual expenses may be higher and may impact portfolio returns. Net expenses reflect voluntary fee waivers, expense caps and/or reimbursements. Voluntary waivers may be modified or discontinued at any time without notice. NAV is total assets less total liabilities divided by the number of shares outstanding. Distribution Rate is calculated by annualizing the most recent distribution amount paid, divided by the closing market price or NAV as of the date indicated. Distribution Rate includes income, capital gains and return of capital and includes a prorated special distribution in the month it is paid, if any. The Distribution Rate is not guaranteed, subject to change, and is not a quotation of fund performance.\nGrowth of $10,000\nInception through September 30, 2023\nMarket Price Returns, assuming dividends reinvested\n120K\n$86,340\n100K\n80K\n60K\n40K\n20K\n0K\nMar-88\nMay-95\nJul-02\nSep-09\nNov-16\nSep-23\nThe Growth of $10,000 chart reflects a hypothetical $10,000 investment on Market Price and ",
"embedding": "[-0.014829741, -0.017761355 ...+1534 more]",
"imageEmbedding": null,
"category": null,
"sourcepage": "946-FF.pdf#page=1",
"sourcefile": "946-FF.pdf",
"oids": [],
"groups": [],
"captions": []
},
{
"id": "file-F0023_pdf-46303032332E706466-page-3",
"content": "\nFigures for periods of less than one year are cumulative returns. All other figures represent average annual returns. Performance figures include the reinvestment of all dividends and any capital gains distributions. All returns are net of expenses.\nRussell 1000 Growth Index: Measures the performance of those Russell 1000 companies with higher price/book ratios, higher predicted and historical growth rates.\nF0023 092023 :unselected:Fact sheet | September 30, 2023\nVanguard U.S. Growth Fund\nDomestic stock fund | Investor Shares\nTen largest holdings*\n1Microsoft Corp.2Amazon.com Inc.3Apple Inc.4NVIDIA Corp.5Alphabet Inc.6Meta Platforms Inc.7Mastercard Inc.8Tesla Inc.9Trade Desk Inc.10Eli Lilly & Co.",
"embedding": "[-0.017124938, -0.016854828 ...+1534 more]",
"imageEmbedding": null,
"category": null,
"sourcepage": "F0023.pdf#page=1",
"sourcefile": "F0023.pdf",
"oids": [],
"groups": [],
"captions": []
},
{
"id": "file-NAG_QuarterlyFactSheet_pdf-4E41475F517561727465726C794661637453686565742E706466-page-1",
"content": "\nINVESTMENT OBJECTIVE AND STRATEGY\nThe fund seeks to provide long-term capital growth by investing primarily in the common stocks of growth companies.\nInvest primarily in common stocks of U.S. companies in sectors of the economy that, in T. Rowe Price's view, are the fastest growing or have the greatest growth potential. Stock selection based on companies with the following:\n- Earnings growth rates which generally exceed that of the average company in the Russell 3000 Index\n- Favorable company fundamentals\n- Effective management\n- Reasonable stock valuations\nBENEFITS AND RISKS\nPotential for significant, long-term growth of capital by seeki"

Also problem is when OpenAI's services attempt to send request to AI  Search it fails sometimes. In order to mitigate the impact of this issue, Can we implement a retry logic in your code (may be for 3 times)??
I hope this can help to fix data not available issue.

In the thought process, do you see any search results for Z Fund? If you don't see any search results for Z Fund, then you might try increasing the number of search results to see if that improves retrieval.
If you haven't already, I put together a doc here about improving answer quality:
https://github.com/Azure-Samples/azure-search-openai-demo/blob/main/docs/customization.md#improving-answer-quality
That can help us identify where the actual is, whether its at search stage or chatcompletion stage.
The OpenAI SDK already has built-in logic. I haven't seen a situation where the AI search calls require a retry, can you describe exactly what error you're seeing? Please share the traceback.


feat: [M3-7643] – Support VPC IPv4 Ranges in Linode Create flow

Description 📝
Add support for VPC IPv4 Ranges in the Linode Create flow.

"Add additional IPv4 ranges" section added in VPC panel
Logic to include ip_ranges in creation payload

The inclusion of a "VPC IPv4 Ranges" column in the VPC Detail > Subnets inner table as per the mockups slipped through the cracks during ticket creation, but I noticed it and included it in this PR (to try to keep things more consolidated).
Changes  🔄
Preview 📷

Before
After

How to test 🧪
Verification steps
With the vpc-extra-beta tag on your account, enter the Linode Create flow and confirm:

The "Add additional IPv4 ranges" section appears in the VPC panel after a subnet is selected
You can add and remove IP input fields using the "Add IPv4 Range" and the "X" buttons, respectively
When you click "Create Linode," the POST request contains the IP ranges you specified in the form in the ip_ranges property
Once the linode is created, go to the detail page of the VPC you assigned the linode to. Expand the inner subnet table and observe the "VPC IPv4 Ranges" column is populated with what you provided (or "None" if you didn't provide any).

As an Author I have considered 🤔

[ ] 👀 Doing a self review
[ ] ❔ Our contribution guidelines
[ ] 🤏 Splitting feature into small PRs
[ ] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

One other relatively small thing here is making sure the ranges get picked up in the CLI arguments

We'll need to test this:

One other relatively small thing here is making sure the ranges get picked up in the CLI arguments

✅  confirmed.

Looks like the error handling could use some work.
Noted, I'll create a follow ticket. Looks like it could use some work in the other drawers too.

@bnussman-akamai @jaalah Created M3-7709 to look into the error handling


Custom ShopItem Sell Price

ShopItem has a sellPrice property but it's not actually used.

Fixed in https://github.com/Tomm0017/rsmod/commit/b63fca420da83eeeea1fb95bacde9527ef7e5e41


Do not suggest technical categories during categorization

Steps to reproduce:

Upload a picture
During categorization, enter "moved" (let's say you the picture is about "The House That Moved")

Problem: Many technical categories show up, for instance the "Requested moves" categories in the screenshot below. Selecting such a category in the app would always be a mistake, so better not show them.
Preferably we should find a category search method that does not return such categories.

Different but a bit related: #1703

I think you were observing this when our app was also showing hidden categories. If I understand correctly, we don't show hidden categories anymore. So, this should not be an issue anymore and hence closing this.
Feel free to re-open if I misunderstood this issue.


Is every frame's sprite on top of every frame's sprite?

Hello! I'm making a mod which play videos as the background in PlayState, I did some good code editing but the problem is that the UI and characters at gone, tried everything but cannot bring them up on top of the video, so is every frame's sprite on top of every frame's sprite? If so... then how to fix this annoying issue? Searching on google on how to bring sprites up doesn't help me with much results.

depending on what your background is, you could instead make a new stage (by copying the spooky background, editing it makes it so you can only have about 19 frames before it ends, but you can change the framerate to slow it down)

depending on what your background is, you could instead make a new stage (by copying the spooky background, editing it makes it so you can only have about 19 frames before it ends, but you can change the framerate to slow it down)

it would be a 2 minute video though, throught the chart

Hello! I'm making a mod which play videos as the background in PlayState, I did some good code editing but the problem is that the UI and characters at gone, tried everything but cannot bring them up on top of the video, so is every frame's sprite on top of every frame's sprite? If so... then how to fix this annoying issue? Searching on google on how to bring sprites up doesn't help me with much results.

uhh
so basically this uses an OPENFL sprite
not a haxeflixel one
so sorry

Hello! I'm making a mod which play videos as the background in PlayState, I did some good code editing but the problem is that the UI and characters at gone, tried everything but cannot bring them up on top of the video, so is every frame's sprite on top of every frame's sprite? If so... then how to fix this annoying issue? Searching on google on how to bring sprites up doesn't help me with much results.

also it doesnt do that
it just changes the pixels
of the OPENFL sprite
each frame


Missing licensing guidance or summary info.  Can there be at least a quick sentence on this?

So although it was implied that dataverse through teams means no extra licensing issues, it is not clear and very vague and I am still getting resistance because nothing outright says that the license is the same unless of course they are correct and there is a surprise in that the people "external" to the team must now pay where in the past they simply had no access.    Can we be clear on this?  I promise to include it in the licensing guidance for power platform I am working on as well thanks!

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

ID: 55bd804a-9963-a92d-90f2-e0b4bc17b85a
Version Independent ID: cd9a2dbb-e2a7-32ae-2cd4-ab81381f2366
Content: Publish and share your app using Power Apps app in Teams - Power Apps
Content Source: powerapps-docs/teams/publish-and-share-apps.md
Service: powerapps
GitHub Login: @matthewbolanos
Microsoft Alias: mabolan

Thank you for reaching out. Licensing information about Microsoft Dataverse for Teams is available at Licensing requirements that links to the more detailed licensing restrictions.

Thank you for reaching out. Licensing information about Microsoft Dataverse for Teams is available at Licensing requirements that links to the more detailed licensing restrictions.


add --algparams=ultra

Sir, thank you for such a great API.
I was wondering how to add --algparams=ultra to the code, I was able to add to the command line only.
Thank you.

Did mean to close it...

avir :: CImageResizer<> ImageResizer( 8, 0, avir :: CImageResizerParamsUltra() );

Thank you sir!!!


enable aarch64 support for lz4-java

This patch enables the lz4-java support for aarch64 architecture it would

enables the 64bit access for lz4 native lib embedded in lz4-java
adds the JNI native objects which has been build

Signed-off-by: Rocky Zhang<EMAIL_ADDRESS>

Is this patch ok to be merged for support for AArch64?
Could you please review it?  thanks a lot!

Hi @jpountz ,
Could you please give some comments for this?
BRs
Yuqi

@Cyan4973  Is there any obstacle to merge this PR?  I've verified it on AArch64

I don't have any reason to think there is any problem, but I shouldn't be the one to judge it.
I'm in the process of selecting the new maintainer of lz4-java.
He will have the charge to review this PR.

@Cyan4973,  Really thanks for your quick response. I'm looking forward to getting any feedback for this patch from the new lz4-java maintainer.

Thanks much for your contribution!


Changes to toolChain implementation are ignored

When the java.toolchain specification is changed by adding/removing/changing the implementation, this change is ignored and the previously configured toolchain will be used.
This problem is presumably because the download file name does not encode this information.
Note that a similar issue occurs with Gradle 7.4 nightly, when changing the vendor from ADOPTIUM to IBM_SEMERU.
Expected Behavior
The specified toolchain should be downloaded, provisioned and used.
Current Behavior
The change to toolchain spec is ignored.
Steps to Reproduce

Checkout the main branch of https://github.com/bigdaz/gradle-toolchain-issues
Run ./gradlew -g HOME build : the build should fail as described in #19382
Change the build.gradle file to comment out the implementation set on the Java toolchain spec.
Run ./gradlew -g HOME build again : the same error will occur.
rm -rf HOME to start with a clean Gradle User Home
Run ./gradlew -g HOME build again : this time the toolchain is successfully extracted.

This happens as it does because the implementation name is not included in the filename of the JDK/JRE archive downloaded by our auto-provisioning mechanism. For J9 you get a corrupted archive, which is downloaded successfully but fails to be unarchived. When you remove the J9 implementation criteria from the toolchain spec you would expect a fresh archive to be downloaded, but it doesn't. The old, corrupted one is there and is still matched as what you want.

@jbartok I think there's a further issue with differentiating toolchains: when we extract the JDK into the ~/.gradle/jdks directory, we use the root directory from the archive as the target directory name. I haven't confirmed, but I'm pretty sure that this can also result in us using the incorrect JDK.
To clarify, I downloaded 2 different JDK 17 implementations (openJ9 and hotspot) and they both have a root directory named jdk-17.0.1+12. This means that even if we give the downloaded archives different names, the first one extracted will always win. You should be able to confirm this by changing the implementation type and looking for this log message

Ok, thank you, unfortunately, that's most likely true... Will investigate, maybe pull it out into a separate PR.

Closed by #19439


How to wait until an UI elements appears before continuing automation?

TagUI for Python already has auto-wait for UI elements to appear. The default timeout of 10 seconds can be changed with timeout(). Thus usually it is not required to have special flow control, since automation will keep waiting until timeout for the next UI element to act on to appear.
If user explicitly wants to wait, a quick solution is use exist(). First, use timeout() to change to a timeout value in seconds that you want to wait before program results in error element not found. Second, use exist() to check for existence of the element. Doing this will wait for the desired timeout for the element to appear. Also works with visual automation if an image is provided.
First set desired timeout using timeout()
t.timeout(300)

Then use exist() in your preferred way
t.exist(identifier)
do whatever ...

if t.exist(identifier):
    do this ...
else:
    do that ...

do whatever ...

if not t.exist(identifier):
    do that ...
else:
    do this ...

do whatever ...

Note 1 -  hover() can be used in place of exist(). The difference will be mouse cursor will hover at the UI element before program flow continues, while exist() does not include any UI interaction.
Note 2 - it is also possible to use a while loop and keep checking using present() to see if the element is present at the moment. And possibly throw in some wait() to not take up too much CPU time with rapid looping. But this approach is not recommended, above implementations are much easier.


Support 1.18.2

as title?

Have you tested the base 1.18 mod in the future 1.18 versions? If that does not work please let me know and I will update it.

Just checked, seems to work fine on 1.18.2.


about openGemini

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
I want to connect to a database called openGemini. How should I write it in the code? This is a Huawei database. I tried importing the package, but the Dolphinscheduler API got an error message,can you give me a idea to called this, I need a example
Documentation Links
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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


fix: tests failing since Twig 3.8.0

Twig recently changed the way exceptions are thrown during template rendering. Depending on the version, different types of execption can be thrown.
See: https://github.com/twigphp/Twig/commit/85bf01b4abd4b4ee6f6d1aca19af74189c939d69

Just banged my head for more than one hour on that bug 🤯
I don't really understand why we are testing this. Checking if those cases (calling {{ object.method_expecting_argument }}) throw exceptions is in Twig scope, not ours.
I feel there (already noticed before) we are sometimes testing Twig twice. With the extra burden of supporting a wider range.

Just banged my head for more than one hour on that bug 🤯
I don't really understand why we are testing this. Checking if those cases (calling {{ object.method_expecting_argument }}) throw exceptions is in Twig scope, not ours.
I feel there (already noticed before) we are sometimes testing Twig twice. With the extra burden of supporting a wider range.

By lowering the amount of WP and PHP versions we test, hopefully the amount of these kind of tests deprecation will decrease as well.

By lowering the amount of WP and PHP versions we test, hopefully the amount of these kind of tests deprecation will decrease as well.

On some other cases, probably.
On that particular one, unless bumping Twig to 3.8 (which we might not want), the problem is that we test things that shouldn't require tests from our side (+ all the other similar tests).
People using Twig should be aware of how Twig handles variables.

And it's all green again. Merging this to make all other PR pass (or not but not polluted with our own failing tests).

On that particular one, unless bumping Twig to 3.8 (which we might not want), the problem is that we test things that shouldn't require tests from our side (+ all the other similar tests).

I agree. I guess the idea behind these tests were to check that our custom magic methods work as intended all the way through. I agree with you that we shouldn’t test for argument count errors, though.

People using Twig should be aware of how Twig handles variables.

In my experience, this is something that Timber developers sometimes are not aware of.

In my experience, this is something that Timber developers sometimes are not aware of.

Maybe, but is it in our scope? Timber users are in fact also using Twig 🙂
Further more, adding those tests won't bring that behavior knowledge to our end users.

Maybe, but is it in our scope? Timber users are in fact also using Twig 🙂

It isn’t a problem big enough that we should act.

Further more, adding those tests won't bring that behavior knowledge to our end users.

No, I didn’t think these are connected at all. If we should handle the problem in any way, it should be with more extensive documentation, but not with tests.


[gts] Move to official upstream sources

The existing port pulled from an unofficial mirror on GitHub
The patches we were applying to that unofficial mirror's CMake buildsystem replacement were substantially longer than the buildsystem itself
I pregenerated predicates_init.h; it only served to make the buildsystem more complicated. Theoretically if you have a strange architecture you'll need to overlay the port and generate your own, but the method used requires running the generator on the target machine.
I've documented how to consume its .pc file in a way that won't introduce find_dependency requirements.

@ras0219-msft Could you please add double quotations for all of the paths in portfile.cmake file?


"Could not find a valid mapping" Error on Update

When updating a person in my Person model on a clean rails app, I'm getting the following error:
Could not find a valid mapping for #<Person created_at:...

The changes get saved, but the error comes up. Here's part of the trace:
devise (3.4.1) lib/devise/mapping.rb:43:in `find_scope!'
devise (3.4.1) lib/devise/controllers/helpers.rb:166:in `signed_in_root_path'
devise (3.4.1) app/controllers/devise/registrations_controller.rb:132:in `after_update_path_for'
devise (3.4.1) app/controllers/devise/registrations_controller.rb:62:in `update'
actionpack (4.2.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.2.1) lib/abstract_controller/base.rb:198:in `process_action'
actionpack (4.2.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.2.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.2.1) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.1) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.1) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'

Update: only getting this error when attempting to update via Devise::RegistrationsController#update

I am also running into this issue. I've implemented a custom token auth which calls the devise sign_in helper:
def authenticate_user_from_token!
    authenticate_with_http_token do |token, options|
      user = User.find_by(email: options[:email])
      if user && Devise.secure_compare(user.authentication_token, token)
        sign_in user, store: false
      end
    end
  end

It's failing with the same message because the sign_in helper is also calling find_scope!. In my case, I've traced it down to this line:
Devise.mappings.each_value { |m| return m.name if obj.is_a?(m.to) }

The comparison of obj.is_a?(m.to) is failing because obj is a User, but m.to is returning:
User(authentication_token: Object, confirmation_sent_at: DateTime, confirmation_token: Object, confirmed_at: DateTime, created_at: DateTime, current_sign_in_at: DateTime, current_sign_in_ip: Object, email: Object, encrypted_password: Object, facebook_token: Object, first_name: Object, last_name: Object, last_sign_in_at: DateTime, last_sign_in_ip: Object, remember_created_at: DateTime, reset_password_sent_at: DateTime, reset_password_token: Object, sign_in_count: Object, tos: Object, unconfirmed_email: Object, updated_at: DateTime)

I traced this down to find why m.to was returning this. m is an instance of a Devise::Mapping. The #to method simply calls @klass.get. When the mapping is initialized, @klass is set to:
@class_name = User # in my case
@klass = Devise.ref(@class_name)

When Devise.ref is executed, it calls this code, which I think is the core issue:
  def self.ref(arg)
    if defined?(ActiveSupport::Dependencies::ClassCache)
      ActiveSupport::Dependencies::reference(arg)
      Getter.new(arg)
    else
      ActiveSupport::Dependencies.ref(arg)
    end
  end

...which then calls Devise::Getter.new(User) which results in:
#<Devise::Getter:0x007f98d95c0ef8 @name=User(authentication_token: Object, confirmation_sent_at: DateTime, confirmation_token: Object, confirmed_at: DateTime, created_at: DateTime, current_sign_in_at: DateTime, current_sign_in_ip: Object, email: Object, encrypted_password: Object, facebook_token: Object, first_name: Object, last_name: Object, last_sign_in_at: DateTime, last_sign_in_ip: Object, remember_created_at: DateTime, reset_password_sent_at: DateTime, reset_password_token: Object, sign_in_count: Object, tos: Object, unconfirmed_email: Object, updated_at: DateTime)>

I don't know the solution to this yet. I'm wondering if it has anything to do with class caching. I just upgraded to v5 of the neo4j gem. I don't think I remember seeing this before.

We solved https://github.com/neo4jrb/neo4j/issues/717 the other day, which had very similar symptoms: an object was given to a method that checked its type but it claimed the type did not match, even when it should have.
In that case, it was the result of class caching. I worked around it by getting rid of the is_a? call and using other qualities of the models, but I didn't spend a lot of time trying to get to the root cause. I wonder if https://github.com/neo4jrb/neo4j/blob/master/lib/neo4j/active_node/labels.rb#L8 is contributing to it. It might be hanging onto old versions of classes after the Rails reloader has instantiated new ones.

If one of you guys have a chance, can you see if https://github.com/neo4jrb/neo4j/pull/855 fixes it? Just gem 'neo4j', github: 'neo4jrb/neo4j', branch: 'constantize_problem'

@subvertallchris This might have worked. I waited until I started seeing the errors again, updated my Gemfile to your branch, bundled, then restarted the app and the errors went away. However, restarting the app might have fixed this as well. I'll keep running your branch over the next few days and see if the error comes back.

If it's the same root cause, the restart will always clear up the
temporarily. Hopefully, this does it permantnetly, but even if it doesn't,
I think we'll have an easier time figuring out what's going on. Thanks for
keeping me posted! I'll keep my fingers crossed.
On Friday, July 3, 2015, Andrew Havens<EMAIL_ADDRESS>wrote:

@subvertallchris https://github.com/subvertallchris This might have
worked. I waited until I started seeing the errors again, updated my
Gemfile to your branch, bundled, then restarted the app and the errors went
away. However, restarting the app might have fixed this as well. I'll keep
running your branch over the next few days and see if the error comes back.
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/devise-neo4j/issues/16#issuecomment-118250639
.

I merged the PR into Neo4j and will delete the branch soon, so you can use neo4j's master or lock at ref 05abc109c73740e3ed10216aecd54405b5047383.

Same issue, crops up after some time, restart clears up.

Does updating to the current branch of neo4j resolve it?
On Tuesday, July 7, 2015, djvs<EMAIL_ADDRESS>wrote:

Same issue, crops up after some time, restart clears up.
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/devise-neo4j/issues/16#issuecomment-119377474
.

You mean the master branch?

Seems so yes

Seems to fix it? And yeah, master branch will do it but it's really the
commit in the PR linked in this issue. It was merged in the other night.
On Tuesday, July 7, 2015, djvs<EMAIL_ADDRESS>wrote:

Seems so yes
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/devise-neo4j/issues/16#issuecomment-119380663
.

Did not fix it for me. I am running neo4j 5.0.5 and devise 3.5.1 and I still got this error.
I am using a to_prepare clause in neo4j/railtie.rb and that appears to have solved the issue for me:
https://github.com/thermistor/neo4j/commit/a2a31f1826c47a4a28d6c918bf3c7adbe09c394a
Happy to make a pull request if someone could weigh in on whether this is the right approach.

This will be run before every request in development, I'm not sure that's
ideal, but I'm also not a Rails expert so maybe this is how things are
done. It sounds like there's another reload event occurring that isn't
triggering the callback I added to the gem?
On Tuesday, July 21, 2015, Weston Triemstra<EMAIL_ADDRESS>wrote:

Did not fix it for me. I am running neo4j 5.0.5 and devise 3.5.1 and I
still got this error.
I am using a to_prepare clause in neo4j/railtie.rb and that appears to
have solved the issue for me:
thermistor/neo4j@a2a31f1
https://github.com/thermistor/neo4j/commit/a2a31f1826c47a4a28d6c918bf3c7adbe09c394a
Happy to make a pull request if someone could weigh in on whether this is
the right approach.
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/devise-neo4j/issues/16#issuecomment-123460628
.

I'll see if I can create a little project that duplicates the issue later this week. I was able to cause the problem pretty easily by simple changing code in my devise model, User.rb, and then doing any action that would call Devise::Mapping.find_scope!

@thermistor 5.0.5 doesn't actually include the fix for this, you'll need to stick with master or the PR I referenced for now.

@subvertallchris Ah ok thanks, bad assumption on my part.

This fix was worked into neo4j 5.0.15, so I'm going to close the issue.


Regarding the Breaking changes introduced on v0.24.2

Also regarding  https://github.com/gemworks/gem-farm/issues/81 we are using our own frontend and the last changes broke compatibility. Just pulling the latest version won't work for us, because we have some merged transactions to simplify the flow (unstake, cooldown and withdraw gem within 1 step):
const unstakeTx = await this.farmProgram.rpc.unstake(
        farmAuthBump,
        farmTreasuryBump,
        farmerBump,
        skipRewards,
        {
          accounts: {
            farm,
            farmer,
            farmTreasury,
            identity: identityPk,
            bank: farmAcc.bank,
            vault,
            farmAuthority: farmAuth,
            gemBank: this.bankProgram.programId,
            systemProgram: SystemProgram.programId,
            feeAcc: feeAccount,
          },
          signers,
        }
      );

const cooldownTx = await this.farmProgram.rpc.unstake(
        farmAuthBump,
        farmTreasuryBump,
        farmerBump,
        skipRewards,
        {
          accounts: {
            farm,
            farmer,
            farmTreasury,
            identity: identityPk,
            bank: farmAcc.bank,
            vault,
            farmAuthority: farmAuth,
            gemBank: this.bankProgram.programId,
            systemProgram: SystemProgram.programId,
            feeAcc: feeAccount,
          },
          signers,
        }
      );

const withdrawGemTx = await gb.withdrawGemWallet(
        bank.value,
        vault.value,
        new BN(1),
        mint
      );

I have updated the transactions adding feeAcc same way as I saw on the updated gem-farm-client.ts file, but unstaking throws the following error:
Transaction simulation failed: Error processing Instruction 0: custom program error: 0xbbd
    Program farmL4xeBFVXJqtfxCzU9b28QACM7E2W2ctT6epAjvE invoke [1]
    Program log: Instruction: Unstake
    Program log: AnchorError caused by account: system_program. Error Code: AccountNotEnoughKeys. Error Number: 3005. Error Message: Not enough account keys given to the instruction.
    Program farmL4xeBFVXJqtfxCzU9b28QACM7E2W2ctT6epAjvE consumed 21271 of 1400000 compute units
    Program farmL4xeBFVXJqtfxCzU9b28QACM7E2W2ctT6epAjvE failed: custom program error: 0xbbd

Could you give us any hint to know who to solve this error? as I said just pulling the latest master is not an option for us, as our code as diverged significantly.

I do the following in my custom implementation. Had to change it up completely since the new update.
const endStakingIx = await this.farmProgram.methods
      .unstake(farmAuthBump, farmTreasuryBump, farmerBump, skipRewards)
      .accounts({
        farm,
        farmer,
        farmTreasury,
        identity: identityPk,
        bank: farmAcc.bank,
        vault,
        farmAuthority: farmAuth,
        gemBank: this.bankProgram.programId,
        systemProgram: SystemProgram.programId,
        feeAcc: feeAccount,
      })
      .signers(signers)
      .instruction();

    const endCooldownIx = await this.farmProgram.methods
      .unstake(farmAuthBump, farmTreasuryBump, farmerBump, skipRewards)
      .accounts({
        farm,
        farmer,
        farmTreasury,
        identity: identityPk,
        bank: farmAcc.bank,
        vault,
        farmAuthority: farmAuth,
        gemBank: this.bankProgram.programId,
        systemProgram: SystemProgram.programId,
        feeAcc: feeAccount,
      })
      .signers(signers)
      .instruction();

    const withdrawGemIx = await this.bankProgram.methods
      .withdrawGem(vaultAuthBump, gemBoxBump, GDRBump, gemRarityBump, gemAmount)
      .accounts({
        bank,
        vault,
        owner: isKp(farmerIdentity)
          ? (<Keypair>farmerIdentity).publicKey
          : farmerIdentity,
        authority: vaultAuth,
        gemBox,
        gemDepositReceipt: GDR,
        gemDestination,
        gemMint,
        gemRarity,
        receiver,
        tokenProgram: TOKEN_PROGRAM_ID,
        associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
        systemProgram: SystemProgram.programId,
        rent: SYSVAR_RENT_PUBKEY,
      })
      .signers(signers)
      .instruction();

    let tx = new Transaction({
      feePayer: this.wallet.publicKey,
      recentBlockhash: (await this.conn.getLatestBlockhash()).blockhash,
    });
    tx.add(endStakingIx);
    tx.add(endCooldownIx);
    tx.add(withdrawGemIx);

Then, I send the transaction as a bundle.

remember to update the IDL json files for both gem_bank and gem_farm

@dylie-eth, @llomosol  thanks, thanks and thanks to both. Knowing those two things were key to make it work again.

@dylie-eth could you share the updated code as well, we're at a loss figuring how to combine the tx in the latest commit.

@AnderUstarroz could you share the latest implementation, if you have it figured?


Support for Loss Matrix (Cost Sensitive Classification)

Have you thought on the following case, Cost Sensitive Classification:
$$
\boldsymbol{L} = \begin{bmatrix} l \left( y = 1, \hat{y} = 1  \right) & l \left( y = 1, \hat{y} = 2  \right) & \dots & l \left( y = 1, \hat{y} = K  \right) \\ l \left( y = 2, \hat{y} = 1  \right) & l \left( y = 2, \hat{y} = 2  \right) & \dots & l \left( y = 2, \hat{y} = K  \right) \\ \vdots & \vdots & \vdots & \vdots \\ l \left( y = K, \hat{y} = 1  \right) & l \left( y = K, \hat{y} = 2  \right) & \dots & l \left( y = K, \hat{y} = K  \right) \end{bmatrix}
$$
Is there a way to implement is where the Gradient and Hessian are easy to calculate for LightGBM?

Hello, sorry for not getting back to you, I don't receive notifications for issues and I need to fix that. Will take a look over the weekend to see if something like this could be implemented.


Quantisize LSTM Model

How can i Quantisize a LSTM Model to use the cmsis_nn Kernel?
with Tensorflow Lite the converter only supports int8 Quantization. The LSTM micro kernel need 16bit weights and cell states.
Is there a easy way to do this

Are you referring to TFL or TFLM?
TFLM/CMSIS-NN accepts 8bit weights: https://github.com/tensorflow/tflite-micro/blob/c01ca97f52ca451bfba714d7eb8ae0349d85f537/tensorflow/lite/micro/kernels/cmsis_nn/unidirectional_sequence_lstm.cc#L431
Here is an example: https://github.com/tensorflow/tflite-micro/tree/main/tensorflow/lite/micro/examples/mnist_lstm

Thanks for Reply.
I am referring to TFLM
yes it accepts 8 bit weights. But it needs 16bit cell state, so it can't be quantisize via tensorflow lite converter.
https://github.com/tensorflow/tflite-micro/blob/c01ca97f52ca451bfba714d7eb8ae0349d85f537/tensorflow/lite/micro/kernels/cmsis_nn/unidirectional_sequence_lstm.cc#L373
and if i want to use the function UnidirectionalSequenceLstmEvalInt8 it needs also 16bit weights. I think this eval funktion would be the fastest version.
Do you have any idea how i can convert it? Maybe to manipulate the flatbuffer?

Did you check out the example? I think that should run with TFLM/CMSIS-NN.
If not you can check out the CMSIS-NN unit tests where LSTM layers are generated with Keras and quantized with the converter and all the CMSIS-NN  supported LSTM functions are called based on this.
https://github.com/ARM-software/CMSIS-NN/blob/9d924bdaee51ca8e0c4e86779bbb6d0c9644e555/Tests/UnitTest/RefactoredTestGen/Lib/op_lstm.py#L56

Hello Thank you.
I have checked the example and have it analyzed with the Flattbuffers tool. It Quantisize the cell state to 16 bit and so it works. I have to check the difference to my setup.
Also i have a alternative to adjuste the flattbuffers.
Thanks guy


Replace flatbuffers dependency by Planus

This PR will stay here for some time. It replaces the flatbuffers crate by planus, a recently released replacement to flatbuffers. See #725 for details.
This switches one for the other. All tests and integration tests pass, showing that it does indeed work as advertised 💯

Added MIRI check to a round-trip over IPC. All still green.

I though that this would take longer, but it is essentially done: tests pass, MIRI checks pass, simpler to use and a safer design.
One step missing is benchmarks of read and write, to check if there is no major regression.
@sundy-li , @ritchie46 , @houqp, @yjshen  , any thoughts on this?
My opinion is that flatbuffers is unmaintained and has soundness issues, which is a concern because IO is an obvious attack vector - it does not mean that planus won't become unmaintained (maybe @TethysSvensson or @kristoff3r could chip in here wrt to their plans?).

@jorgecarleitao While I am not going to give any guarantees (this is open source after all), my current plan is to maintain and improve upon the library for at least the next year, since we are planning to use the library in product at skybox.gg.
What happens after that is too far into the future for me to predict and also depends on whether there is any community adoption.


Rephrase JMX target doc

See https://trello.com/c/vNz5ejDW/20-jmx-target-docs-arent-quite-correct

No objections to the wording, but it may be as easy to just allow setting the properties as it is to explain how to modify the XML: https://github.com/openmicroscopy/openmicroscopy/blob/develop/etc/templates/grid/templates.xml#L176

Does that mean you want me to rewrite the next sentence too? Happy to do so if you have a suggestion

Only when/if there's a merged code change. Leaving to you if you want to do that here or elsewhere.

Ahhh, I get you now. Seems unlikely there'll be a code change there for 5.4.4 unless that's something you want to get in @jburel ?

From this morning discussion I don't think @manics or @kennethgillen will work on it for 5.4.4.
I will confirm tomorrow

I've no idea what the code change is

The code change would be to make jmxhost and jmxport configurable (likely via omero.jmx.host and omero.jmx.port). One catch is that if we want to enable for PixelData and Indexer (or in the future for microservices) then we need more than 1 port.

In case it's relevant the IDR uses a javaagent:

https://github.com/IDR/deployment/blob/IDR-0.4.4/ansible/management-prometheus.yml#L32
https://github.com/IDR/deployment/blob/IDR-0.4.4/ansible/management-prometheus.yml#L95

Happy with this change. Getting this in, and we can examine wider JMX changes later.


Vendor prefix not working on client-side rendering (v6)

I'm upgrading SC from v5.3.5 to v6.1.1 on a Next.js app. As indicated in the migration doc, vendor prefixes are omitted by default starting from v6. Hence I had to manually enable it for now due to project needs and to make the migration a bit smoother.
The issue I ran into is that vendor prefixes seem to be applied on SSR only. If you go to this example CSR page which renders a paragraph with user-select: none and an icon that uses mask-image, you'll see that the prefixes are not being added. But if you go to the this example SSR page which renders essentially the same mark up but on server-side, it works.

Environment

npx envinfo --system --binaries --npmPackages styled-components,babel-plugin-styled-components --markdown
System:

OS: macOS 13.1
CPU: (10) arm64 Apple M1 Max
Memory: 63.95 MB / 32.00 GB
Shell: 5.8.1 - /bin/zsh

Binaries:

Node: 18.18.2 - ~/.asdf/installs/nodejs/18.18.2/bin/node
Yarn: 1.22.19 - ~/.asdf/installs/nodejs/18.18.2/bin/yarn
npm: 10.2.3 - ~/.asdf/plugins/nodejs/shims/npm
pnpm: 8.10.5 - ~/.asdf/installs/nodejs/18.18.2/bin/pnpm

npmPackages:

styled-components: ^6.1.0 => 6.1.1

Reproduction
Repo for reproducing this issue https://github.com/caaatisgood/nextjs-styled-components-vendor-prefix-bug
Live demo: https://nextjs-styled-components-vendor-prefix-bug.vercel.app/
Steps to reproduce

Visit /csr
Inspect the paragraph and the icon. You'll see the vendor prefixes are missing.

Additional experiments
If you visit /csr directly first. And then go to /ssr or / which includes both CSR and SSR examples via client-side routing. All the vendor prefixes are missing.
But if you visit / or /ssr first. The vendor prefixes works on all pages. Hence, I guess there're some issues with vendor prefixing client-side rendered UIs.
I also tested the same thing with v5, branch feature/sc-v5 is here, live demo is here. All seems to work fine.
Expected Behavior
The vendor prefixes should be included in client-side rendering
Actual Behavior
The vendor prefixes are missing and broke the styles

Add another StyleSheetManager with enableVendorPrefixes in _app above ThemeProvider, the one in _document.tsx is only for SSR so you need a matching client-side provider.

ah mb, thanks for the hint @quantizor!


How do we create a message stream?

I see the message stream API reference (https://postmarkapp.com/developer/api/message-streams-api#create-a-message-stream), but I'm struggling to figure out how to create it using the SDK. Is this something that has not yet been released?

Hi @jineshshah36
you are right, this is not released yet. I will see to release the update it this week

@jineshshah36 message stream endpoints are released in newest 2.6.0 version couple of minutes ago
https://github.com/wildbit/postmark.js/wiki/Message-Streams


New/changed Advocates

And fix-up of data for new validation requirements in the YAML schema

Docs Build status updates of commit abd897e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/anthony-bartolo.yml
:white_check_mark:Succeeded
View

advocates/ari-bornstein.yml
:white_check_mark:Succeeded
View

advocates/brandon-minnick.yml
:white_check_mark:Succeeded
View

advocates/bridget-kromhout.yml
:white_check_mark:Succeeded

advocates/bryan-hughes.yml
:white_check_mark:Succeeded
View

advocates/cynthia-zanoni.yml
:white_check_mark:Succeeded
View

advocates/dave-glover.yml
:white_check_mark:Succeeded
View

advocates/dean-bryen.yml
:white_check_mark:Succeeded
View

advocates/frank-boucher.yml
:white_check_mark:Succeeded
View

advocates/glaucia-lemos.yml
:white_check_mark:Succeeded
View

advocates/index.html.yml
:white_check_mark:Succeeded
View

advocates/jan-schenk.yml
:white_check_mark:Succeeded
View

advocates/john-papa.yml
:white_check_mark:Succeeded
View

advocates/madoka-chiyoda.yml
:white_check_mark:Succeeded
View

advocates/map.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/bridget-kromhout.png
:white_check_mark:Succeeded

advocates/media/profiles/todd-anglin.png
:white_check_mark:Succeeded
View

advocates/media/profiles/yohan-lasorsa.png
:white_check_mark:Succeeded
View

advocates/paul-decarlo.yml
:white_check_mark:Succeeded
View

advocates/scott-coulton.yml
:white_check_mark:Succeeded
View

advocates/susan-hinton.yml
:white_check_mark:Succeeded
View

advocates/tierney-cyren.yml
:white_check_mark:Succeeded
View

advocates/toc.yml
:white_check_mark:Succeeded
View

advocates/todd-anglin.yml
:white_check_mark:Succeeded
View

advocates/yohan-lasorsa.yml
:white_check_mark:Succeeded
View

advocates/yoshio-terada.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix: Trailing space for default tables

any tests? :)

Thats actually the next PR.  I wanted separate commits and thought squash was the only option enabled in the repo (didn't realize rebase+merge was enabled).

To expand: the next PR will have TableLike::fmt call decor.clear(), relying on the formatting at encode-time, single sourcing it.  When doing that, I found this bug.


Use trap to catch exit of subshell and run cleanup

As explained here https://github.com/futuresimple/helm-secrets/issues/29 the cleanup handler is not being executed, I'm not a bash expert so this might not be the best approach but seems to be working so far.
$ helm-wrapper upgrade my-releasev1 myrepo/mychart --install --namespace myns --values helm_vars/secrets.yaml
>>>>>> Decrypt
Decrypting helm_vars/secrets.yaml
[GCPKMS]	 WARN[0001] Decryption succeeded                          resourceID=projects/myproject/locations/global/keyRings/mykeyring/cryptoKeys/mykey
[SOPS]	 INFO[0001] Data key recovered successfully

Error: UPGRADE FAILED: render error in "mychart/templates/secrets.yaml": template: mychart/templates/secrets.yaml:12:64: executing "mychart/templates/secrets.yaml" at <b64enc>: wrong type for value; expected string; got float64
>>>>>> Cleanup
removed './helm_vars/secrets.yaml.dec'

Regards

Good catch, I've lost it between first and second commit :bowtie: and since I was confident I didn't test it after second commit, sorry for that
Thanks!

Yep, Thx.


chore: Disable MSI and grant SP Contributor access to subscription in azure-cluster-up.sh.

What type of PR is this?

What this PR does / why we need it:
Disables the use of MSI and adds the service principal as a Contributor to the subscription rather than Owner of the resource group. The former is convenient for testing as MSI is not necessary when all access is within the same tenant. The latter is needed to properly run the snapshot tests in our subscription.
Which issue(s) this PR fixes:

Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build 772252223

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

Totals

Change from base Build 771999970:
0.0%

Covered Lines:
2202

Relevant Lines:
3747

💛  - Coveralls


added footer code

@yogeyyy PTAL

@tyler-007 pls. address the failing deployment by inspecting the logs


Add Freeze/Thaw events and tests

This PR adds a Freeze and Thaw event. The respective event is emitted whenever some balance is frozen or thawed. This is a continuation of https://github.com/paritytech/substrate/pull/12287. I decided to split PRs to maintain transparency and to not invalidate the previous audit, see https://github.com/paritytech/substrate/pull/12287#issuecomment-1483054087 for more information.
The logic remained the same as in https://github.com/paritytech/substrate/pull/12287, however two new events Freeze and Thaw were added that cover the case that update_freezes is invoked instead of the deprecated update_locks. The tests are also equal, except that the calls were adjusted to the freeze case. Those are the test scenarios:
Freezes = []        --> [10]      // emits Frozen(..., amount=10)
Freezes = [10]      --> [15]      // emits Frozen(..., amount=5)
Freezes = [15]      --> [15, 20]  // emits Frozen(..., amount=5)
Freezes = [15, 20]  --> [17, 20]  // emits nothing
Freezes = [17, 20]  --> [17, 15]  // emits Thawed(..., amount=3)
Freezes = [17, 15]  --> [15]      // emits Thawed(..., amount=2)
Freezes = [15]      --> []        // emits Thawed(..., amount=15)

I decided to follow the approach of adding new events for functionality added in the Fungible implementation. Now a Lock and Unlock event exists for calls into the deprecated update_locks, whereas Freeze and Thaw also exist to cover calls into the new update_freezey function. Should we move forward with that approach?

Could you pls sync your branch with master?

bot rebase

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/april-updates-for-substrate-and-polkadot-devs/2764/1


Don't always gzip-decode HTTP requests

Currently, there's no way to use dart:io's HttpClient to make a request without gzip-decoding the response if the server sends "Content-Encoding: gzip". This makes it impossible to use HttpClient to write a transparent proxy, since gzip-encoded messages will always be transformed.

The link is dead now. How can I disable this behaviour?


Easy to fall into trap: Using a Property in a custom gradle type

Current Behavior
I tried to do the following:
interface MyWorkParams : WorkParameters {
   val byteArray: Property<ByteArray>
}

and got the following error:
Caused by: java.lang.ClassCastException: class [B cannot be cast to class [Ljava.lang.Object; ([B and [Ljava.lang.Object; are in module java.base of loader 'bootstrap')

Expected Behavior
In Kotlin, the concept of primitives doesn't exist on the surface. And in the gradle docs for custom types, searching for "array" or "primitive" or "bytearray" comes up with nothing. And the error message itself is very unfriendly to less experienced developers who have no idea what [B is. The following could all be helpful for this issue:

A better exception message. Catch the class cast exception, and throw a new exception with a more helpful message for Gradle users.
Clearer documentation. What should developers do when they want to use a type such as ByteArray in a custom gradle type?
Support ByteArray and similar types (arrays, primitives) directly. It seems like Gradle sees an Array and expects [Ljava.lang.Object. Is it possible it could be a bit more smart, and be prepared to see a [B?
If neccesarry, provide an ArrayProperty or ByteArrayProperty or PrimitveArrayProperty or PrimitiveProperty or whatever is neccesarry to support this. Though it would be ideal if it just worked inside of Property.

Context (optional)
No response
Steps to Reproduce
The code above should be sufficient.
Gradle version
8.3
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for providing a valid report.
The issue is in the backlog of the relevant team, but this area of Gradle is currently not a focus one, so it might take a while before a fix is made.


Repo sync for protected CLA branch

The pull request is created from main637931609401751535 to main to fix git push error for protected CLA branch

Docs Build status updates of commit 3ce5b90:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/cpp/overloading-unary-operators.md
:white_check_mark:Succeeded

docs/standard-library/algorithm-functions.md
:white_check_mark:Succeeded

docs/standard-library/vector.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit 3ce5b90:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch main637931609401751535 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel