add msg to constructor

Hi,
Nice script !
Not an issue here, but rather a feature request.
I added a little feature, to be able to pass the tooltip message to the constructor (so the HTML files aren't too cluttered, and all my tooltip messages are defined in some .js or even .json file).
I think you should add this feature to your main script :

constructor(settings) {
    const {
        cssZIndex = '9999',
        (...)
        msg = ""
    } = settings || {};
    (...)
    this.msg             = msg;
    (...)
}
createMouseTip(event) {
    (...)
    const message  = this.element.getAttribute(this.selector + '-msg') || this.msg;
    (...)
}
(...)

Now my mousetip can be defined like this :

var myMouseTipText = 'Some text';
myMouseTipText += '<br/>';
myMouseTipText += 'And so on...';

let myMouseTip = new MouseTip({
    cssPadding      : '15px',
    msg             : myMouseTipText,
    cssBorderRadius : '4px',
    cssBackground   : 'lightgreen',
    cssColor        : 'blue',
    selector        : 'mousetip="myMouseTip"'
});
myMouseTip.start();

Hey, @benintech !
This is pretty interesting! There's definitely a lot of use cases for this, so I'll be looking into adding this in an upcoming release. Thanks for the suggestion!

Hey, @benintech !
I've added your suggestion to the 2.1.4 release! I should be pushing this update out later today, so keep an eye out. Thanks again for your suggestion!

Hey, @benintech !
One last update: It's live! You should be able to pull down version 2.1.4 from NPM very soon!
Once again, thanks for the suggestion!

Great, thanks for your quick response !!!

Hey, @benintech !
No problem.


Modals without ion-nav, lifecycle events

Short description of the problem:
Modals open an alert when they are presented:
  ionViewDidEnter() {
    console.log('ModalFirstPage ionViewDidEnter fired');
    let alert = this.alertCtrl.create({
      title: 'Test',
      buttons: [
          {
              text: 'Something',
              role: 'cancel'
          }
      ]
    });
    alert.present();
  }

First modal has a child ion-nav and it works great, the alert is presented and dismissed. Instead, the second modal does not have a child ion-nav, when the alert is dismissed, the modal's ionViewDidEnter() lifecycle event is called again, presenting a new alert (entering in an infinite loop).

What behavior are you expecting?
Presenting or dismissing and alert should not trigger any modal's lifecycle event.
Ionic RC0

Another issues related with modal not having a ion-nav:
https://github.com/driftyco/ionic/issues/8631
https://github.com/driftyco/ionic/issues/8616
https://github.com/driftyco/ionic/issues/8597
https://github.com/driftyco/ionic/issues/8437
https://github.com/driftyco/ionic/issues/7580
https://github.com/driftyco/ionic/issues/8151


Error in C++ Version Installation

I follow the instruction from the installation link:   https://github.com/grpc/grpc/blob/master/BUILDING.md
Encounter the following errors, some help! Many thanks in advance!
root@parallels-Parallels-Virtual-Platform:/usr/local/grpc# bazel build :all
ERROR: /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/io_bazel_rules_python/python/pip.bzl:39:25: Traceback (most recent call last):
File "/root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/io_bazel_rules_python/python/pip.bzl", line 37
repository_rule(attrs = {"requirements": attr.la...")}, ...)
File "/root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/io_bazel_rules_python/python/pip.bzl", line 39, in repository_rule
attr.label(allow_files = True, mandatory = Tr..., ...)
'single_file' is no longer supported. use allow_single_file instead. You can use --incompatible_disable_deprecated_attr_params=false to temporarily disable this check.
ERROR: error loading package '': Extension file 'python/pip.bzl' has errors
ERROR: error loading package '': Extension file 'python/pip.bzl' has errors
INFO: Elapsed time: 0.283s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
root@parallels-Parallels-Virtual-Platform:/usr/local/grpc# bazel build :all --incompatible_disable_deprecated_attr_params=false
Killed non-responsive server process (pid=29096)
Starting local Bazel server and connecting to it...
DEBUG: Rule 'org_pubref_rules_protobuf' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "1623a5a083f2a702bd62692d059353b4e06f3a5e", shallow_since = "1532967846 +0000" and dropping ["tag"]
DEBUG: Call stack for the definition of repository 'org_pubref_rules_protobuf' which is a git_repository (rule definition at /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/bazel_tools/tools/build_defs/repo/git.bzl:181:18):

/usr/local/qiuxin/grpc/WORKSPACE:54:1
ERROR: /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/org_pubref_rules_protobuf/protobuf/internal/proto_compile.bzl:771:21: name 'FileType' is not defined
ERROR: error loading package '': in /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/org_pubref_rules_protobuf/python/rules.bzl: in /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/org_pubref_rules_protobuf/protobuf/rules.bzl: Extension 'protobuf/internal/proto_compile.bzl' has errors
ERROR: error loading package '': in /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/org_pubref_rules_protobuf/python/rules.bzl: in /root/.cache/bazel/_bazel_root/416e294999b2f0ca85243bb61458d7d2/external/org_pubref_rules_protobuf/protobuf/rules.bzl: Extension 'protobuf/internal/proto_compile.bzl' has errors
INFO: Elapsed time: 35.712s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

Me too！

PLEASE DO NOT POST A QUESTION HERE.
This form is for bug reports and feature requests ONLY!
For general questions and troubleshooting, please ask/look for answers at StackOverflow, with "grpc" tag: https://stackoverflow.com/questions/tagged/grpc
For questions that specifically need to be answered by gRPC team members, please ask/look for answers at grpc.io mailing list: https://groups.google.com/forum/#!forum/grpc-io


test: refactor jest test negative test cases - phase 1

Refactor all the remaining negative test case exception assertions for all tests in cacti/packages so that they do not use try-catch blocks but instead declare the requirements through Jest's (and jest-extended's) own API.
The parent issue with a much more detailed explanation of what's needed and code examples on how to do it:
Parent Issue: https://github.com/hyperledger/cacti/issues/3455
Acceptance Criteria
Test passes the same as before
Negative test case assertions have been migrated the way it is explained in the parent issue.

This issue is now dependent on this issue
3493


🗄 Theme: Transition to being the Gateway Technologies Team

Description: This thread of work focuses on the tasks necessary for the team to begin transitioning from a team that “runs the gateways” to a team that works with various gateway technologies. And furthermore, has identified other streams of work that add value to PL and the wider ecosystem, beyond just running infrastructure.

[ ] Pin Kubo to a stable release version
[ ] Move Badbits to a standalone service
[ ] IPFS Gateway K8s operator usefulness spike

ETA: 2023Q1
Note: This roadmap is subject to change as priorities and circumstances evolve.
Starmap Link: https://starmap.site/roadmap/github.com/protocol/netops/issues/52

I think we should also add something about rewriting the ingest pipeline of badbits, as it's currently causing PRs that can't be merged automatically and require manually resolving conflicts :scream: https://github.com/protocol/badbits.dwebops.pub/pulls

As part of "Make the badbits pipeline more robust" we should also include https://github.com/protocol/bifrost-infra/issues/2420 (implemented by https://github.com/protocol/badbits.dwebops.pub/pull/9833)


Fix FindInPage

Hi,
I fixed #605
User can convert while typing in Japanese.
But, the text was forced into the textfield and could not be converted.
Thanks.

Thanks @daisuke-t-jp ! Looks good so have merged.


No straightforward way to redirect to https

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
I have deployed a k8s ingress (the native resource, not the CRD, see below for exact manifests) and configured the ingress controller with annotations to serve a resource with https.
With the help of Middleware and some annotations I expected this setup to work on both ports 80 and 443 and get the usual result of an http request being redirected to https and then having the webpage served.
I have considered workarounds, such as using a second Ingress resource, but this is problematic: while many helm charts support annotations to an Ingress resource, none provide an option of a second ingress.
What did you see instead?
Instead, this resource is not served on the "web" entrypoint under this configuration:
$ curl http://thanos-querier.csip.x5.ru/ -vL
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to thanos-querier.csip.x5.ru (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: thanos-querier.csip.x5.ru
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Tue, 14 Sep 2021 12:53:45 GMT
< Content-Length: 19
<
404 page not found
* Connection #0 to host thanos-querier.csip.x5.ru left intact

Conversely, if I remove the router.tls annotation, then I get the redirect, but it leads to nowhere:
n$ curl http://thanos-querier.csip.x5.ru/ -vL
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to thanos-querier.csip.x5.ru (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: thanos-querier.csip.x5.ru
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 302 Found
< Location: https://thanos-querier.csip.x5.ru/
< Date: Tue, 14 Sep 2021 12:55:15 GMT
< Content-Length: 5
< Content-Type: text/plain; charset=utf-8
<
* Ignoring the response-body
* Connection #0 to host thanos-querier.csip.x5.ru left intact
* Issue another request to this URL: 'https://thanos-querier.csip.x5.ru/'
*   Trying <IP_ADDRESS>...
SNIPPED
< HTTP/2 404
< content-type: text/plain; charset=utf-8
< x-content-type-options: nosniff
< content-length: 19
< date: Tue, 14 Sep 2021 12:55:15 GMT
<
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
404 page not found
* Connection #1 to host thanos-querier.csip.x5.ru left intact

What version of Traefik are you using?

I have deployed traefik with the helm chart (10.3.2) into a 1.20 k8s cluster
#$ helm get values -n traefik traefik
#USER-SUPPLIED VALUES:
deployment:
  kind: DaemonSet
hostNetwork: true
image:
  name: dockerhub-proxy.do.x5.ru/library/traefik
nodeSelector:
  node-role.kubernetes.io/ingress: ""
ports:
  metrics:
    port: 9899
  traefik:
    port: 9999
  web:
    port: 80
  websecure:
    port: 443
securityContext:
  allowPrivilegeEscalation: true
  capabilities:
    add:
    - NET_BIND_SERVICE
  runAsGroup: 0
  runAsNonRoot: false
  runAsUser: 0
service:
  spec:
    clusterIP: None
  type: ClusterIP

I have then deployed the manifests
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: thanos-query-frontend
  labels:
    app.kubernetes.io/name: thanos
    helm.sh/chart: thanos-3.14.0
    app.kubernetes.io/instance: thanos
    app.kubernetes.io/managed-by: Helm
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
    traefik.ingress.kubernetes.io/router.middlewares: csip-monitoring-tls-redirect@kubernetescrd
    traefik.ingress.kubernetes.io/router.tls: "true"
spec:
  rules:
    - host: thanos-querier.csip.x5.ru
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: thanos-query-frontend
                port:
                  name: http
  tls:
    - hosts:
      - thanos-querier.csip.x5.ru
      secretName: csip-x5-ru
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: tls-redirect
spec:
  redirectScheme:
    scheme: https

If applicable, please paste the log output in DEBUG level
No response

hello @lllamnyp
Thanks a lot for using Traefik and asking the question here.
Basically speaking if you would like to create a redirection from HTTP to HTTPS you just need to create two routers that match the same rule. The first router should be running on HTTP (web) and the second router should be running on HTTPS (web secure).
Then you create the middleware RedirectScheme. The middleware should be assigned to the first routers, to that one with HTTP.
The HTTP router:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: whoami-http
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: web
    traefik.ingress.kubernetes.io/router.middlewares: default-redirectscheme@kubernetescrd
spec:
  rules:
    - host: whoami.<FIXME>.demo.traefiklabs.tech
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: whoami-svc
                port:
                  number: 80

the HTTPS router
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: whoami-https
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
    traefik.ingress.kubernetes.io/router.tls: "true"
    traefik.ingress.kubernetes.io/router.tls.certresolver: le
spec:
  rules:
    - host: whoami.<FIXME>.demo.traefiklabs.tech
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: whoami-svc
                port:
                  number: 80

the redirectscheme middleware
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: redirectscheme
spec:
  redirectScheme:
    scheme: https
    permanent: true

More details you can find by watching the Getting Started with Traefik Workshop .
You can also create a global redirection on the entry point level as it is described in the docs:
entryPoints:
  web:
    address: :80
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https

  websecure:
    address: :443

I hope that helps. Let us know :)

@jakubhajek thanks for the reply, I was afraid that would be the case. As I mentioned,

I have considered workarounds, such as using a second Ingress resource, but this is problematic: while many helm charts support annotations to an Ingress resource, none provide an option of a second ingress.

This worsens the compatibility of traefik with many existing applications, stuff that just works with the community nginx ingress controller will fail under traefik and nothing short of creating an extra resource will suffice.
Would it be too much of a stretch to turn this into a feature request? E.g. an annotation in the Ingress responsible for the https router would prompt the creation of an http router as well? Maybe this has been discussed in some other issue that I haven't found?

Hey @lllamnyp
Thanks a lot for your answer.
Could you please try to implement a global redirection on the entry point level? The idea I suggested with having two HTTP and HTTPS routers works fine, but you have to manually create two routers. Having global redirection should solve that challenge.
Let me know your thoughts.
Sure, we will discuss your proposal during today's issue triage.

Hey @jakubhajek,
This is an option on one hand, after all, https everywhere is a noble goal, but it might not be viable in many situations, such as non-production clusters where not all resources have TLS setup, or situations where the performance hit from encryption is unacceptable.

Hello @lllamnyp
Thanks for your comment.
This is how Traefik has been designed, so if you would like to have redirection from HTTP to HTTPS you need to create two separate routers and on the HTTP router just add the redirection. You can also have a global redirection on an entrypoint level as I suggested.
For production and non-production environment, I would recommend creating separate Traefik instances and keep the configuration separate for each of the environments.
Thank you,

Thanks @jakubhajek
Just one more time, to fully clarify. Routers are Traefik's entities, if two are required to achieve what I'm looking for, that\s fine. Ingresses, however, are k8s' entities and the mapping between the two is, presumably, not part of the core codebase. Is it worth trying to put out a PR that would permit, given the appropriate annotations, one ingress -> two routers? Or is there an architectural decision made that one ingress always corresponds to one router?

@lllamnyp

Is it worth trying to put out a PR that would permit, given the appropriate annotations, one ingress -> two routers? Or is there an architectural decision made that one ingress always corresponds to one router?

I would say no, in this case, we probably don't want to create two routers from one Ingress resource automatically.
The reason is not that an Ingress should indeed correspond to one router in Traefik.
For instance, you can define multiple paths on one Ingress which leads to create multiple routers from this Ingress.
The reason why is that we are not convinced that creating two routers automatically is really needed to redirect to HTTPS.
To clarify, as explained by @jakubhajek in a previous comment, there are two ways to configure HTTPS redirect:

Create two Ingresses, one attached to the web EntryPoint and with a redirect middleware, and a TLS one attached on the websecure EntryPoint.
Create a global redirect on the web EntryPoint and create one Ingress attached to both EntryPoints.

Thus, there is one more alternative, you can leverage the TLS configuration on EntryPoints:
entryPoints:
  web:
    address: :80

  websecure:
    address: :443
    tls:
        options: foobar
        certResolver: leresolver
        domains:
          - main: example.com
            sans:
              - foo.example.com
              - bar.example.com
          - main: test.com
            sans:
              - foo.test.com
              - bar.test.com

By doing this you can declare only one ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: whoami-https
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: web, websecure
    traefik.ingress.kubernetes.io/router.middlewares: default-redirectscheme@kubernetescrd
spec:
  rules:
    - host: whoami.<FIXME>.demo.traefiklabs.tech
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: whoami-svc
                port:
                  number: 80

This will create two routers, one TLS and one without, and while both will have the redirect middleware attached, it would be transparent on the TLS one.
Unfortunately, I'll close this issue, as there are multiple ways to achieve what you want to do.


Roll Flutter Engine from 342fb003b11f to 8194c2383a56 (3 revisions)

https://github.com/flutter/engine/compare/342fb003b11f...8194c2383a56
2023-11-22<EMAIL_ADDRESS>Expose a few more glyph apis from ui.Paragraph (flutter/engine#47698)
2023-11-22<EMAIL_ADDRESS>Roll Skia from efdec1f459ce to 9086788fc341 (2 revisions) (flutter/engine#48317)
2023-11-22<EMAIL_ADDRESS>Manual roll Dart SDK from f1fd14505782 to df958dc1ca7b (6 revisions) (flutter/engine#48316)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Support full parameter set for Ollama integrations

Is your feature request related to a problem? Please describe.
Ollama integrations do not support the full capabilities of the generation methods. Namely OllamaGenerator.generate and OllamaChatGenerator.chat methods. I was trying to add the keep_alive option to the generation using the OllamaGenerator. But when I inspected the code, I've seen that the method only passed down the model, prompt, stream and options parameters, even though the Ollama client is capable of utilizing more:
@overload
  def generate(
    self,
    model: str = '',
    prompt: str = '',
    suffix: str = '',
    system: str = '',
    template: str = '',
    context: Optional[Sequence[int]] = None,
    stream: Literal[True] = True,
    raw: bool = False,
    format: Literal['', 'json'] = '',
    images: Optional[Sequence[AnyStr]] = None,
    options: Optional[Options] = None,
    keep_alive: Optional[Union[float, str]] = None,
  ) -> Iterator[Mapping[str, Any]]: ...

Describe the solution you'd like
Adding all the top level parameters that ollama client is able to use to the OllamaGenerator and OllamaChatGenerator constructors respectively.
Describe alternatives you've considered
Using kwargs to pass down the parameters manually:
class OllamaGenerator:
    def __init__(
        ...
        run_kwargs: Optional[Dict[str, Any]] = None # added line
    )
    ...
    def run(
        ...
        response = self._client.generate(model=self.model,
                                         prompt=prompt,
                                         stream=stream,
                                         options=generation_kwargs,
                                         **self.run_kwargs) # added line
        ...

# usage
generator = OllamaGenerator(
    run_kwargs={"keep_alive": "5m"},
)

Additional context

Some of the available parameters are already supported.
For now, I would only add support for keep_alive, which seems important.
Feel free to create a PR if you want, otherwise we will take care of it in the future.

Support for keep_alive was added in #1131.
Support for images will be added when we focus more on enabling multimodal use cases throughout the framework.


Slice array element

Title of programme
Write a GO programme to generate new array with sliced elements of old array.
Additional information
Array : ['abcd', 'efgh', 'ijklmn', 'opq', 'rstuvw', 'xyz']
Start : 2
End   : 3

Sliced Array : ['bc', 'fg', 'jk', 'pq', 'st', 'yz']

Code of Conduct

[X] I have read and agree to the Codinasion project's Code of Conduct

I can work on this.


k3s versions >v1.27.3 ignore Tailscale IPv6 addresses on IPv4-only hosts, causing new fatal errors

Environmental Info:
K3s Version:
k3s version v1.27.6+k3s1 (bd04941a)\
go version go1.20.8

Node(s) CPU architecture, OS, and Version:

Linux cloudlane-one-s0 5.15.0-84-generic #93-Ubuntu SMP Tue Sep 5 17:16:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Node only supports IPv4

Cluster Configuration:
3 servers with embedded etcd, 2 agents, affected node is an agent
vpn-auth: "name=tailscale,joinKey=OMITTED"
node-external-ip: OMITTED
cluster-cidr: "<IP_ADDRESS>/16,2001:cafe:42:0::/56"
service-cidr: "<IP_ADDRESS>/16,2001:cafe:42:1::/112"
disable:
  - traefik
  - local-storage
etcd-expose-metrics: true
secrets-encryption: true
kube-apiserver-arg:
  - "oidc-issuer-url=OMITTED"
  - "oidc-client-id=OMITTED"
  - "oidc-groups-claim=groups"
kube-controller-manager-arg:
  - "bind-address=<IP_ADDRESS>"
  - "horizontal-pod-autoscaler-tolerance=0.3"
kube-proxy-arg:
  - "metrics-bind-address=<IP_ADDRESS>"
kube-scheduler-arg:
  - "bind-address=<IP_ADDRESS>"
tls-san: "k8s.cloudlane.one"
kubelet-arg:
  - "node-ip=<IP_ADDRESS>"
  - "eviction-hard=memory.available<100Mi,nodefs.available<5%"
  - "eviction-soft=memory.available<300Mi,nodefs.available<10%"
  - "eviction-soft-grace-period=memory.available=1m0s,nodefs.available=10m0s"
  - "eviction-max-pod-grace-period=120"
  - "system-reserved=cpu=200m,memory=400Mi,ephemeral-storage=8Gi"
  - "kube-reserved=cpu=0.3,memory=1.1Gi,ephemeral-storage=4Gi"

Describe the bug:
Dual stack IP did work on earlier versions of k3s v1.27.x via Tailscale VPN, even if the host system did not support IPv6. With newer versions it seems that k3s does not extract the IPv6 supplied by tailscale status --json, but only IPv4. I have several nodes, which don't support IPv6 but my cluster CIDR is dual stack, so updating these nodes renders them unusable.

Steps To Reproduce:

Installed K3s v1.27.3+k3s1 on arbitrary server node + one or more agent-nodes without IPv4 support; with tailscale vpn and a dual stack cluster CIDR; installed via official installer script
Verified that cluster is working as expected
Upgraded to v1.27.6+k3s1

Expected behavior:
k3s-agent is able to start.

Actual behavior:
k3s-agent fails with a fatal error saying that the node IP, which is IPv4 only, is incompatible with dual stack cluster CIDR..

Additional context / logs:
Relevant error messages:
Sep 26 21:59:36 cloudlane-one-s0 k3s[149080]: time="2023-09-26T21:59:36Z" level=debug msg="Output from tailscale status --json: {\n  \"Version\": \"1.50.0-ta920f0231-geb5b0beea\",\n  \"TUN\": true,\n  \"BackendState\": \"Running\",\n  \"AuthURL\": \"\",\n  \"TailscaleIPs\": [\n    \"<IP_ADDRESS>\",\n    \"fd7a:115c:a1e0:ab12:4843:cd96:6268:ff22\"\n  ],\n ... REST OF LINE OMITTED
Sep 26 21:59:36 cloudlane-one-s0 k3s[149080]: time="2023-09-26T21:59:36Z" level=info msg="Node-ip changed to [<IP_ADDRESS>] due to VPN"
Sep 26 21:59:36 cloudlane-one-s0 k3s[149080]: time="2023-09-26T21:59:36Z" level=warning msg="VPN provider overrides node-external-ip parameter"
Sep 26 21:59:37 cloudlane-one-s0 k3s[149080]: time="2023-09-26T21:59:37Z" level=fatal msg="cluster-cidr: [<IP_ADDRESS>/16 2001:cafe:42::/56] and node-ip: [<IP_ADDRESS>], must share the same IP version (IPv4, IPv6 or dual-stack)"

As you can see the output of tailscale contains both IP versions, but k3s only picks the IPv4.
I have a suspicion that this commit could be responsible: https://github.com/k3s-io/k3s/commit/f21a01474d2c9c79cfc5e99d9eea4116458dccca
But I am far from fluent in Go, so this should be taken as a mere guess.
The error seems to not happen on host systems supporting IPv6.

@manuelbuil would you mind taking a look?

Because this node only has an ipv4 address, the ipv6 VPN IP is ignored. This was changed in https://github.com/k3s-io/k3s/pull/8077.

Before this PR, as tailscale interface was always dualStack, we were always setting a dualstack node-ip. However, that created problems in ipv6-only env. This PR honors the original node-ip ip mode when setting tailscale's node-ip.

This was intended to fix ipv6-only nodes, but it sounds like we regressed ipv4-only nodes?

TLDR - able to reproduce original behavior but the fix isn't perfect yet. The config.yaml has changed to try and see where the behavior in the cluster is coming from between these two variations.

##Environment Details
VERSION=v1.28.2+k3s1
COMMIT=
Infrastructure

[X] Cloud

Node(s) CPU architecture, OS, and version:
Linux 5.14.21-150500.53-default x86_64 GNU/Linux
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP5"

Cluster Configuration:
Config.yaml:
write-kubeconfig-mode: 644
debug: true
token: YOUR_TOKEN_HERE
selinux: true
node-external-ip: tailscale_IPV4,tailscale_IPV6 addr
protect-kernel-defaults: true
cluster-init: true
cluster-cidr: <IP_ADDRESS>/16,2001:cafe:42:0::/56
service-cidr: <IP_ADDRESS>/16,2001:cafe:42:1::/112
vpn-auth: "name=tailscale,joinKey=tskey-auth-KEYCONTCNTRL-sudosudosudo"

<summmary>Single Server Reproduction

$ curl https://get.k3s.io/ --output install-"k3s".sh
$ sudo chmod +x install-"k3s".sh
$ sudo groupadd --system etcd && sudo useradd -s /sbin/nologin --system -g etcd etcd
$ sudo modprobe ip_vs_rr
$ sudo modprobe ip_vs_wrr
$ sudo modprobe ip_vs_sh
$ sudo printf "on_oovm.panic_on_oom=0 \nvm.overcommit_memory=1 \nkernel.panic=10 \nkernel.panic_ps=1 \nkernel.panic_on_oops=1 \n" > ~/90-kubelet.conf
$ sudo cp 90-kubelet.conf /etc/sysctl.d/
$ sudo systemctl restart systemd-sysctl
$ curl -fsSL https://tailscale.com/install.sh | sh
$ sudo INSTALL_K3S_VERSION=v1.28.2+k3s1 INSTALL_K3S_EXEC=server ./install-k3s.sh  //observe fatal failure prevents cluster from starting
$ sudo journalctl -u k3s --no-pager

**Results:**

$ sudo journalctl -u k3s --no-pager

time="2023-10-10T23:57:46Z" level=fatal msg="cluster-cidr: [<IP_ADDRESS>/16 2001:cafe:42::/56] and node-ip: [<IP_ADDRESS>], must share the same IP version (IPv4, IPv6 or dual-stack)"

<summmary>
Current behavior

The nodes join when passing the kubelet-arg for all interfaces otherwise I end up needing to change the k3s.yaml config to target the tailscale IP to access the kubelet api with kubectl

*Config.yaml:*

write-kubeconfig-mode: 644
debug: true
token: YOUR_TOKEN_HERE
node-external-ip: <IP_ADDRESS>
protect-kernel-defaults: true
cluster-init: true
cluster-cidr: <IP_ADDRESS>/16,2001:cafe:42:0::/56
service-cidr: <IP_ADDRESS>/16,2001:cafe:42:1::/112
vpn-auth: "name=tailscale,joinKey=tskey-auth-keykeykey"
node-ip: <IP_ADDRESS>
kubelet-arg:

"node-ip=<IP_ADDRESS>"

Typical installation process as used above but targeting

$ sudo INSTALL_K3S_COMMIT=ced25af5b1d591927860f1003abf41361ee15d34 INSTALL_K3S_EXEC=server ./install-k3s.sh

**Results:**

$ sudo journalctl -u k3s-agent --no-pager | grep -i fatal

Oct 11 18:24:42 ip-1-1-2-70 k3s[10206]: time="2023-10-11T18:24:42Z" level=fatal msg="unable to initialize Network Policy Controller: IPv6 was enabled but no IPv6 address was found on node"

$ kgn

NAME              STATUS   ROLES                       AGE     VERSION
ip-1-1-2-25       Ready    control-plane,etcd,master   4m24s   v1.28.2+k3s-ced25af5
ip-1-1-2-70       Ready                          80s     v1.28.2+k3s-ced25af5

$ kgp -A

NAMESPACE     NAME                                      READY   STATUS             RESTARTS      AGE
kube-system   coredns-6799fbcd5-8mjh8                   0/1     Running            2 (71s ago)   4m14s
kube-system   helm-install-traefik-5nrqh                1/1     Running            1 (51s ago)   4m14s
kube-system   helm-install-traefik-crd-nk6xg            1/1     Running            1 (51s ago)   4m14s
kube-system   local-path-provisioner-84db5d44d9-q2dzk   0/1     Error              4 (86s ago)   4m14s
kube-system   metrics-server-67c658944b-dghpf           0/1     CrashLoopBackOff   4 (7s ago)    4m14s

**Additional context / logs:**

I've got a lot of logs on the server node @rbrtbnfgl the only error on the agent is pasted above

So follow up from yesterday with Roberto's help I've double checked the tailscale settings and I can confirm that the server node is exposing the subnet routes used by the cluster-cidr on both ipv4/6 but not the service-cidr. The k3s-agent is not exposing the subnet routes from the server and is not able to take in those config.yaml values for the node itself.
@manuelbuil Can you potentially comment on this?

the server node is exposing the subnet routes used by the cluster-cidr on both ipv4/6 but not the service-cidr

This is fine. Service-cidr does not need to be exposed because the kube-proxy load-balancing happens before going through the tailscale stack, so tailscale only see cluster-cidr IPs.

The k3s-agent is not exposing the subnet routes from the server

That is bad. This was working before. @rbrtbnfgl @VestigeJ did you verify if this PR is creating this regression?

is not able to take in those config.yaml values for the node itself

What do you mean by this?

It was working like this before the PR for me. I had to add the cluster CIDR on the tailscale web interface.

@VestigeJ I have just built master and tried ipv4-only and dual-stack. Ping works in both IP Families and I can see tailscale routes correctly:
 azureuser@mbuil-vm1:~$ ip route show table 52
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
azureuser@mbuil-vm1:~$ ip -6 route show table 52
2001:cafe:42::/64 dev tailscale0 metric 1024 pref medium
fd7a:115c:a1e0::/48 dev tailscale0 metric 1024 pref medium

azureuser@mbuil-vm0:~$ ip route show table 52
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
azureuser@mbuil-vm0:~$ ip -6 route show table 52
2001:cafe:42:2::/64 dev tailscale0 metric 1024 pref medium
fd7a:115c:a1e0::/48 dev tailscale0 metric 1024 pref medium

The k3s-agent is not exposing the subnet routes from the server

That is bad. This was working before. @rbrtbnfgl @VestigeJ did you verify if this PR is creating this regression?
I can re-run this with a previous release to vet the pre-existing behavior but yes I think historically it was working because that would've come up in the past on our tailscale validation.

is not able to take in those config.yaml values for the node itself

What do you mean by this?

When I say this I mean that the k3s-agent installation doesn't run at all if you try to pass these routes on the agent nodes configuration. So it wasn't a case of missing information on the agents side to permit those routes on tailscale.

It was working like this before the PR for me. I had to add the cluster CIDR on the tailscale web interface.

Interesting - I did not need to do additional configuration by using the joinKey token on the node but I would've expected the same behavior on both the agent and the server nodes.

@VestigeJ I have just built master and tried ipv4-only and dual-stack. Ping works in both IP Families and I can see tailscale routes correctly:
 azureuser@mbuil-vm1:~$ ip route show table 52
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
azureuser@mbuil-vm1:~$ ip -6 route show table 52
2001:cafe:42::/64 dev tailscale0 metric 1024 pref medium
fd7a:115c:a1e0::/48 dev tailscale0 metric 1024 pref medium

azureuser@mbuil-vm0:~$ ip route show table 52
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
azureuser@mbuil-vm0:~$ ip -6 route show table 52
2001:cafe:42:2::/64 dev tailscale0 metric 1024 pref medium
fd7a:115c:a1e0::/48 dev tailscale0 metric 1024 pref medium

I'll have to rebuild and try the latest commits - I think new ipv4/6 commits were added but I can't attest if those changes involved the code under test previously for tailscale. Manuel are your nodes Ubuntu nodes? My default is on SLES 15 SP5 so this might be something specific to that OS

👍🏽 @rbrtbnfgl @manuelbuil
Very different behavior on this latest COMMIT_ID cluster came up without issues

##Environment Details
COMMIT=3abc8b82ed0779ebaa5d0ca00165408ad085cc8f
Infrastructure

[X] Cloud

Node(s) CPU architecture, OS, and version:
Linux 5.14.21-150500.53-default x86_64 GNU/Linux
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP5"

Cluster Configuration:
NAME               STATUS   ROLES                       AGE   VERSION
ip-1-1-1-132       Ready    control-plane,etcd,master   24m   v1.28.2+k3s-3abc8b82
ip-1-1-2-164       Ready    control-plane,etcd,master   16m   v1.28.2+k3s-3abc8b82
ip-1-1-2-3         Ready    control-plane,etcd,master   16m   v1.28.2+k3s-3abc8b82
ip-1-1-3-49        Ready    <none>                      23m   v1.28.2+k3s-3abc8b82

Config.yaml:
write-kubeconfig-mode: 644
debug: true
token: YOUR_TOKEN_HERE
selinux: true
node-external-ip: <IP_ADDRESS>,fd7a:iced:abe1:abe1:4843:cafe:6274:4b88
node-ip: <IP_ADDRESS>,fd7a:iced:abe1:abe1:4843:cafe:6274:4b88
protect-kernel-defaults: true
cluster-init: true
cluster-cidr: <IP_ADDRESS>/16,2001:cafe:42:0::/56
service-cidr: <IP_ADDRESS>/16,2001:cafe:42:1::/112
vpn-auth: "name=tailscale,joinKey=tskey-auth-kqwerty-blookem"

 YOUR_REPRODUCED_RESULTS_HERE

$ curl https://get.k3s.io --output install-"k3s".sh
$ sudo chmod +x install-"k3s".sh
$ sudo groupadd --system etcd && sudo useradd -s /sbin/nologin --system -g etcd etcd
$ sudo modprobe ip_vs_rr
$ sudo modprobe ip_vs_wrr
$ sudo modprobe ip_vs_sh
$ sudo printf "on_oovm.panic_on_oom=0 \nvm.overcommit_memory=1 \nkernel.panic=10 \nkernel.panic_ps=1 \nkernel.panic_on_oops=1 \n" > ~/60-rke2-cis.conf or ~/90-kubelet.conf
$ sudo cp 60-rke2-cis.conf /etc/sysctl.d/ or 90-kubelet.conf
$ sudo systemctl restart systemd-sysctl
$ get_tailscale //curl installation of tailscale with systemd service
$ sudo tailscale up --accept-routes //start the systemd service with accepting new sub-routes
$ ip a //get tailscale address for configuration of node-ip and node-external-ip
$ conf //sudo vim /etc/rancher/k3s/config.yaml
$ sudo INSTALL_K3S_COMMIT=3abc8b82ed0779ebaa5d0ca00165408ad085cc8f INSTALL_K3S_EXEC=server ./install-k3s.sh
$ set_kubefig //export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
$ kgn //kubectl get nodes
$ watch -n 3 kubectl get no,po,svc -A //observe primary server node as additional agents/servers join
$ ip route show table 52 //verify routing table is populated from tailscale
$ get_report //generate this template

Results:
table 52 on all nodes
$ ip route show table 52
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS>/24 dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS>  dev tailscale0
<IP_ADDRESS>  dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS>   dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0
<IP_ADDRESS> dev tailscale0


Foodcritic FC070 rule fails

Hi,
I spotted that Foodcritic FC070 rule fails because metadata.rb contains rhel in list of supported platforms. I see that the rule is quite new, added on April 10th, 2017. Please change the metadata file so that Foodcritic rules are passing.

@tortila Thank you for pointing this out! I've updated the file and bumped the cookbook version to 0.3.1.


Enforce mi_stat wrapper for performance and consistency

Statistics wrapper macros, mi_stat_{increase,counter_increase} are
defined as no-op when MI_STAT equals to 0 (no runtime statistics).
However, even MI_STAT is set to 0, internal functions such as
_mi_stat_increase are invoked unexpectedly. This patch enforces the use
of mi_stat wrapper macros and MI_STAT.

Ah sorry, those _mi_stat_increase calls are on purpose!  Mimalloc tries to maintain statistics for anything not on the fast path as that can be very useful. The other MI_STAT setting was really intended for debug builds with very precise statistics but real overhead.
I see your point though -- it would be better to always only do statistics if MI_STAT > 0, and use MI_STAT==1 for release builds, and higher settings for debug builds.  I need to think a bit about this but will get back to it.

Hi @daanx, I appreciate the kind and informative conversations. My motivation was to eliminate runtime cost for statistics, which is critical while developing real-time and embedded systems. Is statistics-free build fitting the goal of mimalloc?

I will look into it further; but just to clarify, the existing stats that are kept have no measurable overhead so it will not influence runtime performance in any measurable way. I agree though that it would be nice to have a "stat free" build too so I will keep that in mind.

Leave as is. Thanks again :-)


Is there an alternative SQLite option where I don't need ORM C# class mapping?

Hi, I need to query the database, join tables, return records where I don't have C# classes that map to the fields in the result set because the SQL queries are generated dynamically.
Basically, I want to bypass the ORM.
I'm building a Xamarin Forms, .NET standard application.
Are there any other options to this library?

Well, not sure this is the right place to ask...
However, if your project is Xamarin Forms, I suppose your want to have cross-platform support. Do consider that Apple platforms does not allow dynamics.
Off the top of my head, you could implement your own data layer using the per platform data layer (Android doc) and process each query to return a dictionary<Field, Value> of strings. Then use the service locator pattern to use this in the core library.
Hope this helps

I'm not sure what "Apple does not allow dynamics".   What I meant by sql queries generated dynamically was that I need to be able to execute SELECT statements where I don't know what columns I need to retrieve until runtime.  I'm talking about ADO.NET datareader like functionality. Someone added a pull request with a method that returns data in a dictionary which is basically what I was looking for but I'm trying to avoid rolling my own.
It appears that Microsoft.data.Sqlite  project provides this and works with Xamarin Forms.
Thanks for your help

This is too bad really. Can I request to reopen this? A query that simply returns object[] seems like such an obvious thing to have in the API.
The "manual SQL" example isn't actually "without ORM" since it won't work without creating a class "Stock" with properties for each column (or at least those you're interested in).
Looking at ExecuteDeferredQuery I don't see why it couldn't simply make a list of the ReadCol return value val:
var val = ReadCol(stmt, i, colType, cols[i].ColumnType);
cols[i].SetValue(obj, val);

Instead:
var val = ReadCol(stmt, i, colType, cols[i].ColumnType);
if (makeList)
  objects.Add(val);
else
  cols[i].SetValue(obj, val);

Perhaps if the Query were given a type of object[] then it could be implied that the query should return an array of objects, like so:
var stocks = db.Query<object[]> ("select * from Stock");

Bam, easy-peasy and wouldn't hurt anyone. :)
Unfortunately I don't see a DRY way to implement this with an extension method without copying a lot of the existing code but I'll try just patching this in my version.

``Okay I hacked it in. :)
I'll post code for reference in case someone else needs this ...
I can now run this "generic" query on a custom type ResultSet:
queryResult = connection.Query<ResultSet>($"SELECT * FROM {table.Name}");
This is what I get back:

To make this work, add ResultSet to the SQLite namespace:
	public class ResultSet
	{
		public ResultSet(){}
		public readonly List<object> Values = new List<object>();

		public override string ToString()
		{
			if (Values == null)
				return "ResultSet with no values";

			return $"ResultSet with {Values.Count} values";
		}
	}

In ExecuteDeferredQuery (around line 2,000) update the while loop (yeah, it's a hack but it works ...):
var returnRawValues = typeof(T) == typeof(ResultSet);
List<object> rawValues = null;

while (SQLite3.Step(stmt) == SQLite3.Result.Row)
{
	object obj = null;
	if (returnRawValues == false)
		obj = Activator.CreateInstance(map.MappedType);
	else
		obj = new ResultSet();

	for (var i = 0; i < cols.Length; i++)
	{
		if (cols[i] == null && returnRawValues == false)
			continue;
		var colType = SQLite3.ColumnType(stmt, i);
		var val = ReadCol(stmt, i, colType, returnRawValues ? typeof(object) : cols[i].ColumnType);
		if (returnRawValues)
			(obj as ResultSet).Values.Add(val);
		else
			cols[i].SetValue(obj, val);
	}

	if (returnRawValues)
	{
		yield return (T)obj;
	}
	else
	{
		OnInstanceCreated(obj);
		yield return (T)obj;
	}
}

Finally, update ReadCol method, adding the typeof(object) check that returns SQLite3.ColumnType(..) which essentially just returns whatever type is in that column:
private object ReadCol(Sqlite3Statement stmt, int index, SQLite3.ColType type, Type clrType)
{
	if (type == SQLite3.ColType.Null) return null;
	if (clrType == typeof(object)) return SQLite3.ColumnType(stmt, index);
	...


kenya/module9

Module: https://github.com/school-of-data/GIS-curriculum/blob/41c4469d0917d597bc52ff02b992e1c8eb35c472/kenya/module9/module9.md
Missing media

fig915_a.png**

missing (add new image)

example: https://github.com/school-of-data/GIS-curriculum/blob/79298ab08156ea84b038a6270dc58102afd8e02a/ethiopia/module9/media/fig915_a.png

Update

https://github.com/school-of-data/GIS-curriculum/blob/d1ac16938563e34709617cbf6b831ab6de12b8ec/kenya/module9/module9.md#L24-L28

see: https://github.com/school-of-data/GIS-curriculum/blob/d1ac16938563e34709617cbf6b831ab6de12b8ec/kenya/module9/module9.md?plain=1#L24-L28
replace links with link to GDrive

Commit links:

https://github.com/school-of-data/GIS-curriculum/commit/7d6e07321a07e0689b364921b285f9d60dc56c1e
https://github.com/school-of-data/GIS-curriculum/commit/d48b6f78751cd855ad228f9a099e98108d317f3c


Unable to deposit into ThorChain saver vaults

Overview
When trying to deposit into savers, the slippage and time to break even do not populate. For evm savers you can select continue but it loops back, for utxos, continue does not come up as an option to select.
References and additional details

https://jam.dev/c/33cda4b5-f9a5-49f6-a9c2-58bec3263f27
https://jam.dev/c/37c42083-f091-4988-b3a8-165e1422968b
Acceptance Criteria
Should be able to deposit into savers
Need By Date
No response
Screenshots/Mockups
No response
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

Estimated effort
No response
Sponsor / Stakeholder
No response
Bounty Hunters

Join our discord
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info
Please do not start work on this issue until you are approved in Gitcoin.

Confirmed savers quotes appear to be broken. This is not just us, ninerealms and thorswap nodes are showing the same behavior. It would seem there is a bug in the thorchain daemon logic. Raised in discord and will update here as I know more.

https://discord.com/channels/838986635756044328/839002619481554955/1290719412672004146

Thornode update just went out and savers are back in action:


lxc image refresh disappearing on no-op

Required information

Distribution: Ubuntu (via snap)
Distribution version: 17.04
The output of "lxc info" or if that fails:

http://paste.ubuntu.com/25112483/

Issue description
I tried to refresh the Ubuntu 16.04 image, and it got deleted.

⟫ lxc image list
+-------+--------------+--------+-----------------------------------------------+--------+----------+-----------------------------+
| ALIAS | FINGERPRINT  | PUBLIC |                  DESCRIPTION                  |  ARCH  |   SIZE   |         UPLOAD DATE         |
+-------+--------------+--------+-----------------------------------------------+--------+----------+-----------------------------+
|       | 7a7ff654cbd8 | no     | ubuntu 16.04 LTS amd64 (release) (20170619.1) | x86_64 | 153.83MB | Jul 2, 2017 at 3:05pm (UTC) |
+-------+--------------+--------+-----------------------------------------------+--------+----------+-----------------------------+
|       | 9e0493502f9d | no     | ubuntu 14.04 LTS amd64 (release) (20170424)   | x86_64 | 120.02MB | May 2, 2017 at 2:58pm (UTC) |
+-------+--------------+--------+-----------------------------------------------+--------+----------+-----------------------------+
⟫ lxc image refresh 7a7ff654cbd8
Image already up to date.
⟫ lxc image list
+-------+--------------+--------+---------------------------------------------+--------+----------+-----------------------------+
| ALIAS | FINGERPRINT  | PUBLIC |                 DESCRIPTION                 |  ARCH  |   SIZE   |         UPLOAD DATE         |
+-------+--------------+--------+---------------------------------------------+--------+----------+-----------------------------+
|       | 9e0493502f9d | no     | ubuntu 14.04 LTS amd64 (release) (20170424) | x86_64 | 120.02MB | May 2, 2017 at 2:58pm (UTC) |
+-------+--------------+--------+---------------------------------------------+--------+----------+-----------------------------+

Steps to reproduce

Have an up to date image
lxc refresh $IMAGE
lxc image list

@sparkiegeek what LXD version (lxd --version) are you using?

That was the 2.15 snap, I also reproduce the exact same on my laptop running current git master.

I can't reproduce this issue with master, but I see a different behavior: the refresh fails with "not found".
It seems the image source is not recorded, so there's no source to copy the image from.
my steps are:
lxc copy ubuntu:x local: --copy-aliases
lxc refresh x
error: not found

the image is still there after the failed refresh

From IRC:
22:02 < ackk> stgraber, fwiw I can't reproduce in master, I have a different behavior
22:03 < ackk> stgraber, the image stays but the refersh fails because the image_source entry is not stored
22:03 < ackk> stgraber, there's a conditional on alias != fp which seems to have been there for a long time
22:03 < ackk> stgraber, it seems 2.14+ has similar issues
22:15 < stgraber> yeah, I don't think we have much users of "lxc image refresh", it sure was the first time I saw someone use it :)
22:15 < stgraber> and it was the first time I used it myself
22:16 < stgraber> in my case, I ran it against an image which got cached automatically as part of "lxc launch"
22:16 < stgraber> so it should have had the image_source bits since it got cached from an image alias
22:16 < stgraber> but it was also already up to date so "lxc image refresh" shouldn't actually have done anything for me

Not sure if that helps track it down. If not, I'll figure out a way to reproduce it tomorrow and provide more information on DB state and what LXD is doing.


Replace Fest with AssertJ

https://issues.redhat.com/browse/DBZ-5779
db2: https://github.com/debezium/debezium-connector-vitess/pull/104
vitess: https://github.com/debezium/debezium-connector-db2/pull/80

@jcechace Applied, good job!


22 subscribe

I think you have to rebase your PR because it contains some commits already presented in main, I suggest a classic git pull —rebase origin main plus a git push -f


feat(quill-editor): allow catching messages using the passed webview props

Added the possibility to use webview.onMessage in case you're injecting custom scripts.
In my case; I expect to use this to check the height of the Quill Editor when the content changes. 🤓

@FabianMeul, First thanks for the contribution . I think it's better to filter editors own messages before calling user's onMessage callback. Otherwise we are sending lots of useless information to the user.
The editor's own messages have an { key, type } data type with predefined keys.
What do you think?

release 0.7.12


Add a new PyList::try_new method

PyList::new requires a infallible iterator which is sometimes awkward to use.
Is this new API desirable?

While I agree that our collection interfaces can definitely be made more user-friendly, I think we should take a bit of time to design something new before adding too many new functions.
I think this loosely combines well with the changes proposed in #1667 as something we can experiment with for 0.15, if you're ok with waiting for it for a bit?

While I agree that our collection interfaces can definitely be made more user-friendly, I think we should take a bit of time to design something new before adding too many new functions.
I think this loosely combines well with the changes proposed in #1667 as something we can experiment with for 0.15, if you're ok with waiting for it for a bit?

No problem, it’s not blocking anything.


[Bug]: Edit and Launch buttons fail to appear if mouse pointer is hovering over the Application box while loading webpage

Is there an existing issue for this?

[X] I have searched the existing issues

Description
While loading the page https://app.appsmith.com/applications, if the mouse pointer is hovering over an area where an application box is supposed to load, the Edit and Launch buttons fail to appear. The mouse pointer needs to be removed away from the application box, for these two buttons to appear normally when the mouse pointer is again returned to the same place.
Steps To Reproduce

Go to https://app.appsmith.com/applications or the same location on your self-hosted setup.
Refresh the page. While the site is loading, keep your mouse pointer on one of the application boxes.
When all the components of the page have loaded, the Edit and Launch buttons do not appear, even if the mouse pointer is moved or clicked all over the application box.
When the mouse pointer is moved outside the application box and returned, both the buttons appear normally.

https://github.com/user-attachments/assets/794805bd-d28c-470c-a9f7-24ac6e196bbd
Public Sample App
No response
Environment
Production
Severity
Low (Cosmetic UI issues)
Issue video log
No response
Version
Cloud : v1.45.0-SNAPSHOT / Self-hosted : v1.44.0-SNAPSHOT

hey @Nikhil-Nandagopal I would like to take up this issue to work on

hey @Nikhil-Nandagopal @pranavkanade , I have my solution ready if you could assign me this issue then I can raise the pr as well, thanks!!

Hello @Nikhil-Nandagopal , I'm interested in picking up this issue.

hey @Nikhil-Nandagopal @pranavkanade , I have my solution ready if you could assign me this issue then I can raise the pr as well, thanks!!

hey @Nikhil-Nandagopal , a gentle reminder

@ALOK9442 I have assigned this to you. Please go ahead and raise the PR.

hey @riteshkew @Nikhil-Nandagopal , I am getting this issue in mobile screen like there is nothing like hovering and showing a overlay of edit and launch in smaller screen
i think I didn't explain properly , so I will upload a video and you can check it , I just want to know is it desired flow or like is it an issue,
issue:- the overlay is not coming on hover and after clicking on it is taking me to page which says this page seems to be blank please add widgets
https://github.com/user-attachments/assets/dfb2ca9f-23b7-4574-a4bd-38cf2d85aa83

hey @riteshkew @Nikhil-Nandagopal , I am getting this issue in mobile screen like there is nothing like hovering and showing a overlay of edit and launch in smaller screen and after clicking on it, it takes me to page which says This page is blank please add widgets
i think I didn't explain properly , so I will upload a video and you can check it , I just want to know is it desired flow or like is it an issue,
https://github.com/user-attachments/assets/7ec871fa-e64a-4ff8-9c51-4544f044e219

@ALOK9442 this is for desktop not for mobile. there's no hover on mobile

hey @Nikhil-Nandagopal , could you help me with this error
I ran the command to commit the changes

hey @Nikhil-Nandagopal @riteshkew , I have raised the pr could you please review it and tell changes if any required,  thanks!!


Downloading writes a lot of visible php warnings

Looks like download https://brandcolors.net/download/?f=css  (all formats) visible writes tons of php warnings. And they block \header() function, co content cannot be downloaded.
There was some PHP version update ?

This is the wrong brandcolors. :)


Python and inaccurate interactive mode

When I run vdebug with python via pydbgp and am using either xlwings or the requests library I get the following error back:
Debugger engine says it is in interactive mode,which is not supported: closing connection
I'm not running in interactive mode and I'm going to guess that neither of these libraries are silently going into interactive mode.  Any thoughts as to what is happening?

@aburda, could you attach the debug logging of vdebug here?

Hi I have had the same issue.
My pointer got to line 11 and then stopped/hangs. If I let it wait it just waits and waits until I cancel the debugger. Otherwise I hit F2, and wait and hit F2 again, again, then I get this error Debugger engine says it is in interactive mode,which is not supported: closing connection you can see this error in the debug log (attached)
debug.txt

@thursdaybw @aburda @BlackIkeEagle Hi, I also got this error.  Can you fix it now? Please tell me if any progress is made.

Also, the vdebug section of this blog post (not mine) describes my issue too: http://www.raditha.com/blog/archives/vim-and-python-debug/ Including the need to remove the -S flag from the python command (which may be causing the issue?!)

actually, in my case, removing the -S flag make it works


Add version: t1m0thyj.WinDynamicDesktop version 4.4

Removing old versions to reduce clutter
Microsoft Reviewers: Open in CodeFlow

/azp run


Crash on app restart after force-killing it

Step 0: Are you in the right place?
[REQUIRED] Step 1: Describe your environment

Xcode version: 12.5
Firebase SDK version: 7.10
Installation method: CocoaPods
Firebase Component: Performance

[REQUIRED] Step 2: Describe the problem
Steps to reproduce:
In an app using Firebase Performance 7.10 :

start app, let it display its first screen
force-kill it
restart app

crash

Last Exception Backtrace (0)#0	(null) in __exceptionPreprocess ()
#1	(null) in objc_exception_throw ()
#2	(null) in 0x19d5e3000 ()
#3	0x1040ea1d0 in __InstrumentDataTaskWithRequestCompletionHandler_block_invoke at /Users/glaurent/Development/Work/Symphony/SIOS-Client-App/Pods/FirebasePerformance/FirebasePerformance/Sources/Instrumentation/Network/FPRNSURLSessionInstrument.m:305
#4	0x1040ea1d0 in __InstrumentDataTaskWithRequestCompletionHandler_block_invoke at /Users/glaurent/Development/Work/Symphony/SIOS-Client-App/Pods/FirebasePerformance/FirebasePerformance/Sources/Instrumentation/Network/FPRNSURLSessionInstrument.m:305
#5	0x104183d08 in __60-[NSURLSession(GULPromises) gul_dataTaskPromiseWithRequest:]_block_invoke at /Users/glaurent/Development/Work/Symphony/SIOS-Client-App/Pods/GoogleUtilities/GoogleUtilities/Environment/URLSessionPromiseWrapper/NSURLSession+GULPromises.m:32
#6	0x1041c3100 in __44+[FBLPromise(AsyncAdditions) onQueue:async:]_block_invoke at /Users/glaurent/Development/Work/Symphony/SIOS-Client-App/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Async.m:33
#7	(null) in _dispatch_call_block_and_release ()

@glaurent Sorry for the trouble. I was not able to reproduce the issue based on the provided information. Could you please provide more information for us to be able to make progress on the issue:

stack traces of other thread from the crash report
a sample project where the issue is reproducible

@glaurent Sorry for the trouble. I was not able to reproduce the issue based on the provided information.

It turned out to be caused by a configuration issue in our app, which we've fixed.


add devcontainer

Current dependencies on/for this PR:

main

PR #111   👈

This stack of pull requests is managed by Graphite.


Add companion metrics for all nsTiming metrics without semaphore

This PR closes #11330 by automatically add a companion metrics for all timing metrics.

Like shown in above snapshot, after this PR we'll see a companion metrics for each nsTiming metrics.
This feature is by default OFF unless spark.rapids.sql.metrics.level is set to DEBUG

@binmahone I also forgot that not all timing metrics are set using the changed API. I really feel like we want to be more targeted with the timing metrics that we enable this for. I'm not sure that DEBUG metrics is the right way we want to deal with this. I would rather have us opt into this for individual metrics when we create them. That way we can verify that the metrics are being updated properly (we don't have a good way to test these automatically). That excluding semaphore wait time is something that even makes sense to do. We can even look at setting DEBUG/etc levels for some of them if needed.
Also we need to update the docs https://docs.nvidia.com/spark-rapids/user-guide/latest/tuning-guide.html#metrics

@revans2 , "I would rather have us opt into this for individual metrics when we create them" I'm not into this because the reason why I wanted to add "companion metrics" in the first place is that: we want to find out which metrics contains a lot of time acquiring  the semaphore, and we don't know for which metrics to opt into. What do you think?

build

build


Electron Cash is enforcing arbitrarily high fees

To reproduce this bug easily, send six inputs to a wallet and attempt to spend them all at the same time (craft a transaction of size >1kb), and manually set the fee to 0.00001 BCH. Electron Cash rejects this transaction, saying that the fee is too low to propagate the transaction; it isn't.
See also original report to Reddit https://redd.it/7f1vyn

agree on the transaction size.  mine was 1075 bytes and it had this error.

try 3.0 we fixed fees


Made zenoh router runnable in launch file

With this PR, we will be able to run zenoh router in launch file. This PR provides us to work on automatizing to benchmark all middleware stuffs until zenoh router can be starter implicitly inside rmw layer. I used SIGTERM to close zenoh router process, but rmw_zenoh doesn't handle SIGTERM whereas handles SIGINT. I have sent a PR for it. If it's merged, this PR will work well. Maybe it can be used SIGINT however i'm besider of SIGTERM.

I'm sure we discussed this previously, but what is the main reason to directly call the router instead of using ExecuteProcess? https://github.com/ros2/launch/blob/rolling/launch/launch/actions/execute_process.py

Because zenoh router needs to use /dev/tty as stdin. We cannot set stdin in ExecutProcess. the functionality of launch tool doesn't allow to set stdin, Even if we use shell=True parameter and set stdin using ros2 run rmw_zenoh_cpp rmw_zenoh < /dev/tty, launch closes process unsoundly, it somehow trigger neither the SIGTERM nor SIGINT. I could solve this using separate subprocess mechanism, which allows us to modify stdin of process directly. See my comment in this issue. ( https://github.com/ros2/rmw_zenoh/issues/206#issuecomment-2257292941 )
But i'm okay with use ros2 run rmw_zenoh_cpp rmw_zenohd in this PR. This time perror gives rise to ugly ending, but all of the process finishes gracefully. See my comment ( https://github.com/ros2/rmw_zenoh/pull/252#issuecomment-2259973649 )

Because zenoh router needs to use /dev/tty as stdin. We cannot set stdin in ExecuteProcess. the functionality of launch tool doesn't allow to set stdin, Even if we use shell=True parameter and set stdin using ros2 run rmw_zenoh_cpp rmw_zenoh < /dev/tty, launch closes process unsoundly, it somehow trigger neither the SIGTERM nor SIGINT. I could solve this using separate subprocess mechanism, which allows us to modify stdin of process directly. See my comment in this issue. ( ros2/rmw_zenoh#206 (comment) )
But i'm okay with use ros2 run rmw_zenoh_cpp rmw_zenohd in this PR. This time perror gives rise to ugly ending, but all of the process finishes gracefully. See my comment ( ros2/rmw_zenoh#252 (comment) )

Thank you! IMO, this explanation should be documented in the launch file. Otherwise :+1: from me

Let's merger after #26 and #30 are merged.

I'm closing this PR because some PRs about zenoh_router is solved so that tty is removed and SIGTERM handling is added. I have decided to add zenoh_router to other PRs which is addition of other scenarios.


mypy in pre-commit fixed

Why are these changes needed?
It fixes the problem of importing optional targets to check typing with mypy in pre-commit.

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 35.32%. Comparing base (a6a7409) to head (9ec78ee).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2117      +/-   ##
==========================================
- Coverage   36.90%   35.32%   -1.59%
==========================================
  Files          68       68
  Lines        7061     7061
  Branches     1541     1541
==========================================
- Hits         2606     2494     -112
- Misses       4225     4346     +121
+ Partials      230      221       -9

Flag
Coverage Δ

unittests
35.32% <ø> (-1.59%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add missing - from fluctuation loop

In the shallow water fwave solver the final loop over the waves is missing a negative sign.  As is the if statement was never reaching the case where the speed $s_k = 0$ and splitting the wave $\mathcal{Z_k}$ into both $\mathcal{A}^\pm \Delta Q$.

I've never used this particular solver, I guess it's similar to the standard GeoClaw solver rpn2_geoclaw.f but without handling dry states?  I notice the geoclaw version just uses < 0 and > 0 rather than comparing to +/- 1e-14.  I'm not sure if there's any particular advantage to one or the other...

This is used in a sill example in PyClaw.  Dry states are looked for but nothing robust by any means.  As to the zero issue, I am not aware of anything where doing 1e-14 instead of 0 would be advantageous.  If we do keep the non-zero option we of course will need the sign kept.

Git blame says I committed that code 10 years ago, when the Geoclaw solver didn't work with PyClaw.  I think it might have originally been written by Matteo Parsani even earlier.  I have no idea now why I used that 1e-14 threshold, and the omission of the minus sign definitely seems like an error.
Regarding the threshold, I think that the only really problematic situation is the near-dry-state causing a divide-by-almost-zero in the calculation of beta, but the dry_tolerance parameter already protects against that, so I would favor changing the threshold for s to zero.

Yeah, I would not push the dry-state thing but it is relatively good about handling it for easy cases.

I'll go ahead and merge this since it is a clear improvement.  The threshold issue can be decided later.


Swiping modal window on iOS

Swiping a modal window on iOS that has an overflow scrolls the background page instead of the contents of the modal.
I looked into binding touchstart to the .modal-dialog element using ng-touch, but I'm not having much luck.
Has anyone been down this road before?

There is a suggested workaround in #3891.
Closing this as a duplicate of that issue, as there is more information on research into the problem in that issue.


Feature Request: A few suggestions to enhance speechgpt user experience

Is your feature request related to a problem?
My feature request is related to several problems I am experiencing while using the current version of the speechgpt. I am frustrated when:

The keyboard remains visible even after completing my input, which takes up unnecessary screen space and makes it harder to read the chat.
The keyboard still shows up while I interact with the assistant using speech recognition, which is unnecessary in that scenario and can be distracting.
Many average users need clarification on setting the speech recognition/synthesis language and language ID. So, I prefer an easier way to do this through environment variables and let the average users use it more easily with default configurations.
When the assistant generates a lengthy response, I have to wait for the honest answer to be developed before I can listen or read it. Streaming output for both text and TTS would make this process smoother and more enjoyable.
I often want to replay the assistant's response or my input via TTS but cannot curate more so, which can be inconvenient when I need to review previous interactions.

Describe the solution you'd like

Hide the keyboard after the user completes input and show back again after ChatGPT completes the response. This repo: ddiu8081/chatgpt-demo achieved this well. You can look around it if you like.
Do not show the keyboard when the user interacts with the assistant via speech recognition
Ability to set default speech recognition/synthesis language & language ID via environment variables. (As many average users find setting these at first a few confusing)
Assistant response streaming output, if it is possible, + streaming TTS output (This is very helpful when the assistant generates a long response)
Ability to replay the assistant response or the other input via the TTS engine

Additional context
No response

This is a great suggestion.
My plan is to add an option that allows users to choose whether to display the keyboard during speech recognition, as speech recognition may produce errors, and displaying the keyboard would allow users to quickly correct mistakes.
Different services have different supported languages and voices, so using environment variables for configuration might be complicated.
Currently, I have not found any TTS API that supports streaming. A possible solution is to split the assistant's responses into multiple sentences and send multiple requests.
This feature will be supported in future updates.

Thank you very much for your suggestions.

Perhaps these two bots can bring some inspiration.
Samantha: https://t.me/samantha_x64_bot
Sherlock: https://t.me/sherlock_myshell_ai_bot

Suggestions 1, 2, and 5 have been resolved


fix offline search use

resolve #737

reuse cached pkgs.json if api does not return anything
remove unused code

any chance someone installs a gui in offline, do we want to include a default backup of pkgs.json?


Support for slerp merging models

Add a mlx_lm.merge command with initial support for spherical linear interpolation (slerp) model merging.
python -m mlx_lm.merge --config mlx_lm/examples/merge_config.yaml

Produces a new model which works pretty well.
Also closes #400

This is big!!! YOU ROCK!

🚀


Has IE8 support been officially dropped since 0.11.1 release?

Drag and drop doesn't work anymore since 0.11.1.
I found out that the target property is used on event objects, where in IE8 it should be replaced by srcElement.
I'm not sure it's enough though to make it work again in IE8.
Has IE8 support been officially dropped?

Not officially.  Overall I think the code should support IE8.  If you can submit a PR with a fix, that would be great.

Also it uses Array.indexOf() which unfortunately IE8 lacks.
To make it work again in IE8, use for example this indexOf polyfill:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf


Fixed flaky test in DiscoveryFactoryTest.java

Fixed flaky tests with error msg related to org.mockito.exceptions.verification.TooManyActualInvocations that caused by
verify(runtimeContext).isDisablePeerDiscovery(); in class com.quorum.tessera.discovery.DiscoveryFactoryTest.

Error msg:
org.mockito.exceptions.verification.TooManyActualInvocations:
runtimeContext.isDisablePeerDiscovery();
Wanted 1 time:
-> at com.quorum.tessera.discovery.DiscoveryFactoryTest.defaultConstructor(DiscoveryFactoryTest.java:80)
But was 2 times:
-> at com.quorum.tessera.discovery.DiscoveryFactory.provider(DiscoveryFactory.java:31)
-> at com.quorum.tessera.discovery.DiscoveryFactory.provider(DiscoveryFactory.java:31)

Root cause:
It because this class doesn't reset the mocked objects at the very beginning, though we did reset MockContextHolder after each test. If we called this class right after other classes that have mocked objects unrested, there will be flaky tests.

The org.mockito.exceptions.verification.TooManyActualInvocations is found by running iDFlakies. After fixing the issue, there's no flaky tests in DiscoveryFactoryTest.java

Codecov Report

Merging #1194 (c0b63bf) into master (218d301) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1194   +/-   ##
=========================================
  Coverage     99.50%   99.50%
  Complexity     3081     3081
=========================================
  Files           470      470
  Lines          9054     9054
  Branches        480      480
=========================================
  Hits           9009     9009
  Misses            5        5
  Partials         40       40

Flag
Coverage Δ
Complexity Δ

unittests
99.50% <ø> (ø)
0.00 <ø> (ø)

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

Continue to review full report at Codecov.

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


cli-plugin-unit-jest indirectly depends on an old version of core-js

Version
4.1.2
Environment info
System:
    OS: macOS Mojave 10.14.6
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Binaries:
    Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
    Yarn: Not Found
    npm: 6.13.4 - ~/.nvm/versions/node/v10.16.3/bin/npm
  Browsers:
    Chrome: 79.0.3945.130
    Firefox: 72.0.2
    Safari: 13.0.5
  npmPackages:
    @vue/cli-plugin-unit-jest: 4.1.2 => 4.1.2
    ... a lot ...

Steps to reproduce
Start a new Vue CLI project
Include Jest tests
Install packages
Observe the dependency tree
What is expected?
core-js@2 should not get installed
What is actually happening?
core-js@2 is getting installed via the following dependency chain:
$ npm ls core-js@2
<EMAIL_ADDRESS>~/Git/vue-cli-project
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>

The rest of the project uses core-js@3 properly, this is the only package which brings in the older version.

Hm. It's possible that this is an orphaned dependency that we forgot to remove.
We already have @babel/transform-modules-commonjs which I think is the babel7-comparible successor to the outdated package in question.
This would also explain why it doesn't crate any problems so far: it is simply never used, and corejs2 isn't either.
@sodatea did I miss some weird compatibility reason that this dependency might still be in there for, or can we remove it?

It's for https://github.com/vuejs/vue-jest

We use the stable v3.0.4 of vue-jest https://github.com/vuejs/vue-jest/tree/v3.0.4
I'm not sure if its inline config works with babel 7 plugins.

I thought I'd bring it up because I'm getting a deprecation notice when I install now. Is this the right project or should it be moved to vue-jest?
$ npm i
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

I'm still getting this. Any plans to sort it?


Fixed node address determination

Coverage remained the same at 46.513% when pulling 452ebb5f1776c4e771e32308bcac499f0e3f69c6 on incorrect-node-address into 631862c5d8120ef7b102921e0dcb0ab169ea2fed on master.


Investigate poor performance of image loading in viewer

What
From Digirati channel in Slack, discussion of poor loading performance of images in viewer.

This isn't related either perhaps but may be something to do with the kinds of requests being issued - looking at the link Natalie sent:
https://wellcomecollection.org/works/xqdmhupu/items?canvas=12&langCode=eng&sierraId=b20086210&source=viewer%2Fpaginator
...If you have the Network tab open in Chrome, then even a minor scroll movement triggers dozens of requests for the text (not the images)
It took a while for it to settle down and return the /880,/ page image to replace the thumbnail

Where
wellcomecollection.org viewer

@gestchild this is pretty serious - I looked at 1 page with text on, and had 50+ requests of +16kb, leading to almost 1mb of data being dropped down the pipes, mostly duplicate.

@gestchild this is pretty serious - I looked at 1 page with text on, and had 50+ requests of +16kb, leading to almost 1mb of data being dropped down the pipes, mostly duplicate.

@jamesgorrie can this be closed now?

@jamesgorrie can this be closed now?

This is done in #5984

This is done in #5984


Cannot resolve class com.smarteist.autoimageslider.SliderView

I try to use this library, but I cannot.
Steps to reproduce the behavior:

I add the dependency: implementation 'com.github.smarteist:autoimageslider:1.4.0' into build.gradle(:app).

I add jcenter(), maven { url 'https://jitpack.io' } into build:gradle(Project).

. I put the example inside the <androidx.coordinatorlayout.widget.CoordinatorLayout> label.

I received the error:  "Cannot resolve class com.smarteist.autoimageslider.SliderView".

I am using compileSdk 32, minSdk 21
Can you help me?
Thanks in advance.

These error of solution is 👎
Solution 👎

Follow this link and solve the error 👎
https://github.com/smarteist/Android-Image-Slider/issues/248#issuecomment-1403067934


⚠ Bofrost.fr has degraded performance

In 6dfca28, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 916 ms

Resolved: Bofrost.fr performance has improved in e902f2c after 6 minutes.


Single container deploy

This pull request is useful for anyone who wants to deploy a single container to Cloud Run and serve the frontend assets from the backend's public directory for static assets. The single-deploy version of Dockerfile is at the root of the repo. Supporting this requires adding static middleware to server/main.ts; however no changes to the client are necessary (the nginx configuration is ignored).
This enhancement also helps to support a
separate project that wants to deploy a single container instance to Cloud Run, at least initially, with a Terraform script.
The Cloud Run instance needs to have the ATLAS_URI environment configured with a valid connection string to the MongoDB Atlas instance.

I've pushed a public image to Docker Hub:
subfuzion/mean-stack-example.
We can use this for testing the MVP until we're able to add support to build and deploy images as part of a pipeline. In the interim, it's expected that a user will have to specify the image they want to use as part of their configuration.

Updated to tell the client to use location.origin. Note this will need to be parameterized to continue to support dual container deployments, so merge this yet. Changing to wip.


[#156753589] Add tasks to the billable events

What
Currently, the tasks are being ignored when it comes to converting data
into our defined standard. Tasks too cost money, therefore we'd like to
make sure those are standardised and counted towards any billing
calculations.
How to review

Run tests
Run application against your environment
Create and kill a task
Request and see data (tested myself)

I've addressed the comments.
Regarding the additional tests, I too felt it would be unnecessary to duplicate the tests. I realise there could be edge cases.
I also didn't think a task would run for longer enough to start before and stop after the requested time period.
Not sure what the solution is. I'm happy to duplicate the other tests.

I also didn't think a task would run for longer enough to start before and stop after the requested time period.

Yeah, good point, because we're reporting on months. Starting before or ending after would be quite common though.
Maybe we should talk to @chrisfarms since he recently refactored all of the tests and one possible solution to this would be to have more magic/meta tests that check the same behaviours of both apps and tasks?

I spoke to Chris. Something that I hadn't quite grokked before is that we're normalising the task states to STARTED and STOPPED which are meanings that are interpreted later in the processing when you might be missing one of those states. So it's probably fine to only test this scenario for tasks 👍
Thanks for the fixes, merging 👍
Do we need to release in paas-cf?


Images

Currently using Google Vision for most image processing.
Using Dalle-e standalone page for generation
OpenAI GPT-4-Vision is avail now

Tie it all together or focus on a winner

dalle now included in model options

https://platform.openai.com/docs/guides/vision/uploading-base-64-encoded-images

Google Vision API Image processing in place modles < gpt-4o. Native image processing for Gemini and gpt-4o in place.


Pydicer tool class

Hi @dalmouiee, so here is a contribution providing a wrapper class to manage your entire pydicer project. The idea is that a user will create and run the input classes as required. Then once all DICOM is in the PyDicer class will help them orchestrate the rest.
For now, this just provides the basics. But I think we can add a lot more in here. For example functionality to:

prepare data for nnUNet
map structures names for consistency
adding a new data object (such as an auto segmentation). I've got a placeholder for that function in already since I will work on that next.
loading of images/structures etc...
and probably lots more....

Curious to hear what you think. PipelineExample.ipynb or the pipeline automated test is probably the best place to see how the pipeline is called using the new PyDicer class :)

@fahimirfanalam here's the pull request I was just talking about in case you'd like to take a look :)

This is awesome thanks a lot @pchlap! Makes things much easier to handle for sure. Happy for a merge, I just added some comments regarding style but nothing essential :)

Thanks for the review @dalmouiee, some really useful tips. I've implemented most of them but have left out a few for now to be addressed later. I'll merge this through once everything is passing :)


What is the expected release date ?

Thank you for the great work. Is there any expected release date for this project ? I'm considering to use this in my application that won't go into production for at least 6 months from now but don't want to do lot of re-work if the plugin changes.

First of all, I can't make any promises. It's a project I do in my spare time, so the time spend on it varies a lot and dependents on the weather and things like that.
I am currently working on the beta.6 release, which will have some important changes (behind the scenes, no or very little breaking changes). Additionally I am setting up examples for which I want to write end-to-end tests, to make things more robust. If those are in place and released in beta.6 (that will still take some time, 2 months or so?) I want to go for the first release candidate RC1. I don't expect many bugs so 1 or 2 release candidates should be sufficient (and their cycles will be short) before going to the first stable release.


routing issue after version 0.8.0

Ive been using 0.7.8 a while and when I upgrade to 0.8.0 and above, my links do not work nor does my programmatic routing.
This fails now, and it loads with 0.7.8:
<f7-link class="button button-fill" href="/search/">Get Started</f7-link>
It basically does nothing with no errors.
Also this no longer works in my code:
self.$router.load({ url: 'nearby/', reload: true });
It basically does nothing with no errors.
But I am able to get this to work:
self.$f7.views[0].router.load({ url: 'nearby/', reload: true });
Im sure there is something I am missing as no one else seems to be having the issue. Im hoping someone can pinpoint me in the right direction. Thanks!

<f7-link class="button button-fill" href="/search/">Get Started</f7-link>

There are plenty of examples of this syntax in the kitchen sink that work perfectly fine. We would need to see more details about how your routes are configured, or anything other than the standard configuration (like the kitchen sink) that you're doing.
self.$router.load({ url: 'nearby/', reload: true });

The F7 router requires the view as the first parameter and the options as the second parameter, and the view isn't optional, so I'm not exactly sure why that would have ever worked for you. It makes sense that invoking it directly from a view would work, though.

Thanks for your response. Here is my code to initialize:
`vueapp=new Vue({
el: '#app',
        render: h => h(Home),
        //render: function(h){
        //    return Home;
        //},
        // Framework7 Parameters
        framework7: {
            root: '#app', //Should be same as app el
            animateNavBackIcon: true,
            routes: Routes,
            modalTitle: 'TipJar',
            swipeBackPage: true,
            material:true,
            materialPageLoadDelay: 50,
            swipePanelOnlyClose: true,
            modalActionsTemplate:'
{{#each this}}
{{#each this}}{{#if label}}{{text}}' +
                '{{else}}
{{text}}
{{/if}}' +
                '{{/each}}
{{/each}}
'
        },
        data: rootData

});
Im wondering if its using the default "Render" to load the home page the issue of why my links no longer work with 0.8.0? The routes are in a separate JS file that I took from the initial kitchen sink example. partial example:import SearchPage from 'pages/search.vue';
export default [
{
path: '/search/',
component: SearchPage
}
];
`

So are you using 0.8.0? You might consider trying 0.8.5 if you haven't already.
I wouldn't expect that your inline render would be problematic, presuming that "Home" doesn't just contain a Page component and instead contains your main view with a pages component, etc. For example, in the Webpack starter template, it has a template for rendering the App component, which would end up compiling to be a render method similar to yours.

Yes, check the 0.8.5 There was an issue with $router pointing to different router in 0.8.0

Hi..Yea Ive been using the latest 0.8.5. My Home.vue has the following below and after it is rendered my links do not work. This is only for the first home page..Once I use the @click function to force a reload to another page, then all my links are working for f7. It seems the navigation doesnt work for first render using this method. My goal was to have only a

 in my index page and nothing else.
Home.vue:
`

<f7-link class="button button-fill" href="/search/" @click="search">Get Started

`

But obviously I have a workaround so Im ok now. Thanks for your help.

@mdorson98221 - not sure I follow what workaround you are referencing. Did you mean that you initially had just

 in your home.vue and it didn't work, so then you added the additional content with the view and pages components in your post above and that got it working?

Sorry for the confusion. The code I posted is my original code without any changes. My workaround at the moment is using the @click event on my home vue to change the page from Home to another page. The link wont work.


error in rds_interface   describe_db_snapshots

describe_db_snapshots method fails
corrected as follows:
def describe_db_snapshots(params={}, &block)
item, params = AwsUtils::split_items_and_params(params)
params['DBSnapshotIdentifier'] = item if item
params['DBInstanceIdentifier'] = params.delete(:instance_aws_id) unless params[:instance_aws_id].right_blank?
goes to:
def describe_db_snapshots(*params, &block)
  item, params = AwsUtils::split_items_and_params(params)
  params['DBSnapshotIdentifier'] = item.first unless item.first.right_blank?
  params['DBInstanceIdentifier'] = params[:instance_aws_id] unless params[:instance_aws_id].right_blank?
  params.delete(:instance_aws_id)

should be fixed: plz try out "development" branch


Retry ABORTED Datastore commit only when NON_TRANSACTIONAL

Fixes #1230

Coverage decreased (-0.004%) to 85.451% when pulling 2a1b018355cdd187530a1989a2e4f098629f63fe on mziccard:datastore-aborted into b8a33ae9528af0367ce5b58cf94aed68b1609577 on GoogleCloudPlatform:master.

/cc @aozarov @ajkannan

LGTM

Coverage increased (+0.002%) to 85.457% when pulling 401509466efe747b6c697130b103b0a06ebdbe82 on mziccard:datastore-aborted into b8a33ae9528af0367ce5b58cf94aed68b1609577 on GoogleCloudPlatform:master.

LGTM


Possible bug in kernel binary writer/reader or VM bug

From flutter's CI, see here:
...
sdk\dev\automated_tests\test_smoke_test\missing_import_test.broken_dart
09:25 +0: loading C:\Windows\Temp\flutter sdk\dev\automated_tests\test_smoke_test\missing_import_test.broken_dart
09:25 +0 -1: loading C:\Windows\Temp\flutter sdk\dev\automated_tests\test_smoke_test\missing_import_test.broken_dart [E]
  Failed to load "C:\Windows\Temp\flutter sdk\dev\automated_tests\test_smoke_test\missing_import_test.broken_dart":
  Compilation failed
  Test: C:\Windows\Temp\flutter sdk\dev\automated_tests\test_smoke_test\missing_import_test.broken_dart
  Shell: C:\Windows\Temp\flutter sdk\bin\cache\artifacts\engine\windows-x64\flutter_tester.exe
09:25 +0 -1: Some tests failed.
Exhausted heap space, trying to allocate<PHONE_NUMBER>4 bytes.
Compiler message:
Warning: Tried to initialize from a previous compilation (file:///C:/Windows/Temp/flutter%20sdk/dev/automated_tests/build/testfile.dill), but couldn't.
Error message was 'Out of Memory'.

This might be a bug.
The Dart team would greatly appreciate it if you would take a moment to report this problem at http://dartbug.com/new.
If you are comfortable with it, it would improve the chances of fixing any bug if you included the file file:///C:/Users/ContainerAdministrator/AppData/Local/Temp/initialize_from.dill72253760-7b52-11e9-a94c-f6594dc1d850/initialize_from.dill.gz in your error report, but be aware that this file includes your source code.
Either way, you should probably delete the file so it doesn't use unnecessary disk space.
test_smoke_test/missing_import_test.broken_dart:9:3: Error: Method not found: 'fail'.
  fail(); // inspired by https://github.com/flutter/flutter/issues/2698
  ^^^^
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ERROR: Last command exited with 0 (expected: non-zero).
Command: ..\..\bin\flutter.bat test test_smoke_test\missing_import_test.broken_dart
Relative working directory: dev\automated_tests
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
C:\Windows\Temp\flutter sdk>if 1 NEQ 0 exit /b 1

Notice it's try to allocate 32 GB of memory.
/cc @jensjoha

Changing priority as it has been hit again, this time in a flutter test.

I think this is what's happening:

The test launch several flutter instances at once:
https://github.com/flutter/flutter/blob/2ad5376a06ee138e63266bd55dc3d33fc7b1c3eb/dev/bots/test.dart#L106-L149

One test instance starts writing or overwriting the testfile.dill

Another test instance reads it before the first one finishes and thus reads incomplete data.

Basically the first thing the dill reader does is to look at the end of the file and read that as an index of the file - but because the file wasn't finished writing when it was read, it reads "arbitrary data" --- which here instructs it that it has to create a list with size x billion (or whatever).

While we could theoretically have some checksum or whatever to discover this, it's really a flutter issue (it asks us to read an incomplete file) (and one that I probably created, but still).

(okay, I may have closed it too soon --- I'm reopening until I have either filed a bug in flutter or created a pull request in flutter).

While it's not in yet, I have a PR in flutter at https://github.com/flutter/flutter/pull/35871. Closing this issue.


Add vue-chaos to list of chaos tools

Adding one more tool to the emerging FE chaos-testing era :)

Thanks @aviadhahami! 👍


Remove the @connection directive before the query is sent to the server

Using persisted queries throws and error when using the @connection directive. See https://github.com/apollographql/apollo-client/pull/1801#issuecomment-317625843

This makes sense. Should be a pretty easy fix if anyone wants to contribute. Likely have to add some preprocessing code here.

@Poincare  I added a transform which removes @connection directives in https://github.com/apollographql/persistgraphql/pull/61/files .
Could you take a look?


Add task loop to report OpenAI API costs

AI is fun but expensive so I thought this would be amusing to report.
The API endpoint used is undocumented, but works for now.
Another random API is used for USD -> GBP conversion.
The channel list is pulled from config.ai_chat_channels, and all of those channels get their descriptions reset every half an hour.

Lgtm, can't test functionality tonight, but I trust you've tested it well enough. Merge if you're happy.


Connection refused to MariaDB

MySQL container is running, but Laravel migrations fail because the connection is refused.

same problem

I found the issue. If you are running the MariaDB container for the first time it will need a while to set everything up. During that time it won't accept connections, thus the migrations will fail.
Also make sure you are using a persistent volume for this container, as containers get removed on docker-compose down. Mounting a folder with:
volumes:
  - ./mysql:/var/lib/mysql

makes sure that the files are saved over restarts. Every time you start the stack now it will go as expected.

i tried with that docker compose exec php php artisan migrate


ICU message formatting

Since Fortune.js exposes it's own message function and includes built-in errors which are localized, it would make sense to fully support the ICU message format.
This looks like a good library to use: https://github.com/format-message/format-message source code looks complicated and requires a build step (!)
This library looks fine: https://github.com/messageformat/messageformat.js
Looks like it might be a part of the language: http://wiki.ecmascript.org/doku.php?id=globalization:messageformatting

None of the options are good for including as a dependency, and since it might be standard in the language, might not even be necessary. Closing.


[Payment Due 10-24] [Wave Control] [QBD] [Export] Export out-of-pocket expenses page

Will be worked on by an external contributor (see https://expensify.slack.com/archives/C03SLTAEULW/p1726876645021139).
Design doc link: https://docs.google.com/document/d/1LQNlTBlHjFqRdru_4UkqVr0QRseNNDq2IhFFpXcgfwY/edit#bookmark=id.ccrfrhwk7g97

Payouts due:

[ ] Contributor: $250 @hoangzinh (Upwork offer - https://www.upwork.com/nx/wm/offer/104657361)
[ ] Reviewer: $250 @ZhenjaHorbach (Upwork offer - https://www.upwork.com/nx/wm/offer/104657367

Do we need a regression test for this?

Do we need a regression test for this?

No need to, I've already done it the manual test steps document.

Awesome! Paid this out - closing as complete.


Add F28 base and repo

Add to import base image
Add to repo

The base image is not importing. Unrelated to this ticket as F27 kernels also have the same issue.


SEO Improved, but how?

Your readme file says for SEO:

lazysizes does not hide images/assets from google. No matter what markup pattern you use.

But, I couldn't understand how we does not hide images from google with a markup like that:
<img data-src="image.jpg" class="lazyload" />

That img tag has not a src attribute. How google can read the url of image? Is there any undocumented trick?

The problem with google bot is not that google doesn't execture JS. In fact google bot exectues JS. The problem with the google bot and normal lazyloaders is, that google doesn't scroll/interact with your website.
lazysizes detects, whether the user agent is capable to scroll and if not, reveals all images instantly.

OK then. I created a pull request to add that explanation to Readme document.

OK but you mention only Google which does read javascript, what about all the bots and social engines which dont?
Why is it not possible (like http://ivopetkov.com/b/lazy-load-responsive-images/ for example) to leave src intact for these?

If you read the documentation you will see that this is also an option: https://github.com/aFarkas/lazysizes#modern-transparent-srcset-pattern

Ah brilliant thanks. Really great product thanks for sharing.


Assessment:  Fix an issue during subsequent saving of text exercise assessments

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I implemented the changes with a good performance and prevented too many database calls.

Motivation and Context
This PR fixes the bug while the assessment of text exercises are subsequently saved, closes #4962.
Description
There is a foreign key on the TextBlock that references a Feedback entity. When the feedback is removed, due to the constraint in the DB, the foreign key is set to null. If we do not refetch TextBlocks introduced in this PR, the save all method tries to delete non existing records. Also the code quality of DB call is improved (reduced number of calls).
Steps for Testing

Prerequisites:

1 Tutor
1 Student
1 Text Exercise

Log in to Artemis as student
Participate in a text exercise
As tutor, assess the student's submission by clicking save subsequent times.
Verify that the issue introduced in #4962 does not exist.

Review Progress

Code Review

[x] Review 1
[ ] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage
Not changed.
Screenshots

Yeah, it does not like it that the URL endpoint contains “analytics”.

The function is working as expected


[Fix #4910] add examples for Layout/EmptyLines

Adds examples for the Layout/EmptyLines cop.

Enabled by default
Supports autocorrection

Enabled
Yes

This cops checks for two or more consecutive blank lines.
Example
# bad
def method_name
  puts 'hello world'

end

if a > b

  a
end

# good
def method_name
  puts 'hello world'
end

if a > b
  a
end

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Used the same coding conventions as the rest of the project.
[x] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] All tests(rake spec) are passing.
[x] The new code doesn't generate RuboCop offenses that are checked by rake internal_investigation.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

Hmm... maybe YARD or RuboCop's code omits consecutive empty lines while the task generates the documentation.

@fidelscodes Can you please rebase your PR on top of the current master?

Examples for this cop have already been added in https://github.com/bbatsov/rubocop/pull/5002 . So I think we can close this pull-request.

@pocke Roger that!
@fidelscodes Thanks anyways and sorry we can't merge your PR! Looking forward to more contributions from you!