KafkaUsers support over Istio MTLS

Problem
I have a kafka cluster running over MTLS using Istio.
Everything is working as expected, except the KafkaUsers.
Requested feature
I would like to see the possibility of using ACLs when using Istio MTLS.

This is available in Supertubes, our commercial Kafka product. It’s a fairly complex feature, which includes a KafkaPrincipalBuilder, the Kafka Envoy filter and some other tweaks to make it seamlessy work out of the box with existing ACLs. You can read about in more details in this post  or check out the Supertubes docs.

@2phost closing this issue as there is support for KafkaUsers over Istio mTLS in Supertubes. You can read more on it here: Kafka ACLs on Kubernetes over Istio mTLS

Hi @2phost
my 3 pod kafka cluster fails when istio mtls is enabled by making namespace STRICT. Can you please refer my below ticket.
Can you please share what steps did you take to make kafka work with istio mtls. thanks
https://github.com/istio/istio/issues/26791

Hi @satishmane your error can be caused by many things. We need more information about your settings. Can you please share your KafkaCluster CR?

thanks @baluchicken
kafka is installed using charts / statefulsets
===
stateful set
apiVersion: apps/v1
kind: StatefulSet
metadata:
generation: 1
labels:
app: kafka
chart: kafka-2.1.0
heritage: Tiller
release: infra-kafka
name: infra-kafka
namespace: infra
spec:
podManagementPolicy: Parallel
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: kafka
chart: kafka-2.1.0
heritage: Tiller
release: infra-kafka
serviceName: infra-kafka-headless
template:
metadata:
annotations:
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
sidecar.istio.io/inject: "true"
sidecar.istio.io/rewriteAppHTTPProbers: "true"
labels:
app: kafka
chart: kafka-2.1.0
heritage: Tiller
release: infra-kafka
name: infra-kafka
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
app: kafka
release: infra-kafka
topologyKey: failure-domain.beta.kubernetes.io/zone
weight: 50
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: kafka
release: infra-kafka
topologyKey: kubernetes.io/hostname
containers:
- env:
- name: MY_POD_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: MY_POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: KAFKA_ZOOKEEPER_CONNECT
value: infra-kafka-zookeeper
- name: KAFKA_PORT_NUMBER
value: "9092"
- name: KAFKA_LISTENERS
value: PLAINTEXT://:$(KAFKA_PORT_NUMBER)
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://$(MY_POD_NAME).infra-kafka-headless.infra:$(KAFKA_PORT_NUMBER)
- name: ALLOW_PLAINTEXT_LISTENER
value: "yes"
- name: KAFKA_BROKER_ID
value: "-1"
- name: KAFKA_DELETE_TOPIC_ENABLE
value: "true"
- name: KAFKA_HEAP_OPTS
value: -Xmx1025m -Xms1025m
- name: KAFKA_LOG_FLUSH_INTERVAL_MESSAGES
value: "10000"
- name: KAFKA_LOG_FLUSH_INTERVAL_MS
value: "1000"
- name: KAFKA_LOG_RETENTION_BYTES
value: "1073741824"
- name: KAFKA_LOG_RETENTION_CHECK_INTERVALS_MS
value: "300000"
- name: KAFKA_LOG_RETENTION_HOURS
value: "1"
- name: KAFKA_MAX_MESSAGE_BYTES
value: "1000012"
- name: KAFKA_SEGMENT_BYTES
value: "1073741824"
- name: KAFKA_LOGS_DIRS
value: /opt/kafka/data
- name: KAFKA_NUM_IO_THREADS
value: "8"
- name: KAFKA_NUM_NETWORK_THREADS
value: "3"
- name: KAFKA_NUM_PARTITIONS
value: "8"
- name: KAFKA_NUM_RECOVERY_THREADS_PER_DATA_DIR
value: "1"
- name: KAFKA_SOCKET_RECEIVE_BUFFER_BYTES
value: "102400"
- name: KAFKA_SOCKET_REQUEST_MAX_BYTES
value: "104857600"
- name: KAFKA_SOCKET_SEND_BUFFER_BYTES
value: "102400"
- name: KAFKA_ZOOKEEPER_CONNECT_TIMEOUT_MS
value: "6001"
image: kafka:2.1.0-1
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 70
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: tcp-kafka
timeoutSeconds: 5
name: infra-kafka
ports:
- containerPort: 9092
name: tcp-kafka
protocol: TCP
readinessProbe:
failureThreshold: 6
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: tcp-kafka
timeoutSeconds: 5
resources:
limits:
cpu: "2"
memory: 8Gi
requests:
cpu: "1"
memory: 4Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /opt/kafka
name: data
- mountPath: /opt/kafka/conf/server.properties
name: kafka-config
subPath: server.properties
- command:
- java
- -XX:+UnlockExperimentalVMOptions
- -XX:+UseCGroupMemoryLimitForHeap
- -XX:MaxRAMFraction=1
- -XshowSettings:vm
- -jar
- jmx_prometheus_httpserver.jar
- "5556"
- /etc/jmx-kafka/jmx-kafka-prometheus.yml
image: kafka-prometheus-jmx-exporter:1.0.1
imagePullPolicy: Always
name: jmx-exporter
ports:
- containerPort: 5556
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/jmx-kafka
name: jmx-config
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext:
fsGroup: 1001
runAsUser: 1001
terminationGracePeriodSeconds: 30
volumes:
- configMap:
defaultMode: 420
name: infra-kafka-jmx-configuration
name: jmx-config
- configMap:
defaultMode: 420
name: infra-kafka-configuration
name: kafka-config
updateStrategy:
rollingUpdate:
partition: 0
type: RollingUpdate
volumeClaimTemplates:

metadata:
creationTimestamp: null
name: data
spec:
accessModes:

ReadWriteOnce
resources:
requests:
storage: 300Gi
volumeMode: Filesystem
status:
phase: Pending

======
headless service
apiVersion: v1
kind: Service
metadata:
labels:
app: kafka
chart: kafka-2.1.0
heritage: Tiller
release: infra-kafka
name: infra-kafka-headless
namespace: infra
spec:
clusterIP: None
ports:

name: tcp-kafka
port: 9092
protocol: TCP
targetPort: tcp-kafka
selector:
app: kafka
release: infra-kafka
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}

====
cluster ip service
apiVersion: v1
kind: Service
metadata:
labels:
app: kafka
chart: kafka-2.1.0
heritage: Tiller
release: infra-kafka
name: infra-kafka
namespace: infra
spec:
clusterIP: <IP_ADDRESS>
ports:

name: tcp-kafka
port: 9092
protocol: TCP
targetPort: tcp-kafka
selector:
app: kafka
release: infra-kafka
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}

Hi @2phost
my 3 pod kafka cluster fails when istio mtls is enabled by making namespace STRICT. Can you please refer my below ticket.
Can you please share what steps did you take to make kafka work with istio mtls. thanks
istio/istio#26791

Hi @satishmane,
I assume that you are using the Operator from Banzai. I have made several modifications in order to get it working as I want (specific listeners for multi clusters and many others), but it should work fine out of the box.
May I ask you to share your Kafka Custom Resource? The error can be caused by many things, and the root cause can be in your cluster configuration.
Both,  stateful set and services are created by the Operator, so we really need to check your CR specification.


bot not showing music commands

Describe your context
The Vulkan contains some configuration parameters set up in the Configs/Config.py file, tell us what values you are using.
everything is default only removed spotify clint id and secret line
The path to the bug
Don't forget to specify how you found the issue, what Discord commands you used and which was the parameters passed.
when i try to give command to the bot i cant play songs screenshot attached
Screenshots
Screenshots of the error thrown or the Bot messages will help us to fix you issue faster.

Most likely the prefix you are using because I have yet to have any issue that. Try changing the prefix to m! and see if you still have the same issue.

It's possible that you are facing an error when loading the Music Commands, if that is the case, then you will see an output with the error, and it's the output that we need to see


langchain_openai[patch]: Fix Azure OpenAI get_num_token

Azure has different model names making get_num_tokens not workable for gpt 3.5, ref #6200

Commented on the issue! I don't think this fix is necessary.

(and happy to reopen if my recommendation of passing model='gpt-3.5-turbo' is unfeasible for any reason!)


[$125 Reproducible Steps] Held requests] Approve modal does not appear when one of the expense is held

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: Needs reproduction
Reproducible in production?: Needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @puneetlath
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1714845351600779
Deliverable
Provide reliable reproduction steps for the bug below. All assignees must be able to reproduce using the steps to be compensated.
Action Performed:

Go to staging.new.expensify.com
As an employee submit two expenses to approver
Login as approver and open the report
Open one of the expense and hold it.
Click back to report
Click approve button at the top of the page

Expected Result:
Modal prompt to decide to approve the held or unheld total
Actual Result:
No modal displayed and both expense got approved.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[X] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/a0db747a-a37f-432c-9b99-13cf5cb1ade1

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @eh2077

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

I'm not able to reproduce this, adding the label to get it on the weekly retest rotation.

I experience it about 50% of the time when I try to approve with held expenses.

Issue not reproducible during KI retests. (First week)

Still trying to repro, I think there is a proposal in the works to create jobs for these so will keep an eye there bc I do think this is worth fixing.

Updated title with prefix [$125 Reproducible Steps]
Updated OP to inc.

Deliverable
Provide reliable reproduction steps for the bug below. All assignees must be able to reproduce using the steps to be compensated.

Using this as a test issue for

https://github.com/Expensify/Expensify/issues/398280

^^ using this issue to test drive the new process for Create jobs for “Needs Reproduction” issues to document reproducible steps.

Issue not reproducible during KI retests. (Second week)

Thanks @gijoe0295, @eh2077 can you review these proposal/repro steps when you get a sec?

@gijoe0295 I have trouble to reproduce it. Can detail reproduce steps and share a recording please?

@gijoe0295 Thank you so much for sharing the video! Yeah I can reproduce it and I also agree with you that it is caused by the unreliable API.
Cc @stephanieelliott @mallenexpensify

@gijoe0295 Thank you so much for sharing the video! Yeah I can reproduce it and I also agree with you that it is caused by the unreliable API.
Reproducible steps: https://github.com/Expensify/App/issues/41655#issuecomment-2123694055
Video: https://github.com/Expensify/App/issues/41655#issuecomment-2133275564
Cc @stephanieelliott @mallenexpensify
🎀👀🎀 C+ reviewed

oh.. sweet!  Thanks @gijoe0295 , we've been needing examples of Reproducible Steps issues.
Once @AndrewGable chimes in about your proposals, I'll propose next steps for payment

Hello I've taken a look, but I am a bit confused. Do I have to approve the reproducible steps then we can do a technical proposal?

Hello I've taken a look, but I am a bit confused. Do I have to approve the reproducible steps then we can do a technical proposal?

cc @mallenexpensify

Not overdue, waiting for @mallenexpensify to drive clarity on this new flow, see https://github.com/Expensify/App/issues/41655#issuecomment-2142529255

Sorry @AndrewGable , I def could have been more clear.  And... after thinking about it more, I think the steps for confirming 'needs reproduction' issues and reproducible steps should be

Contributor submits steps
C+ confirms they're able to reproduce
BZ confirms then pays out, updated steps in OP, removes 'needs reproduction', removes job price, and ask the contributor who provided the steps if they want to submit a proposal to fix the issue before Help Wanted is added.
If the contributor wants to submit a proposal they have ~48 hours to do so, then C+ reviews
If not, BZ adds Help Wanted and sets the job price for fixing it.

Thanks for the patience here, this is a work-in-progress as we build out the process for Needs Reproduction issues (which should be wrapped up by the end of next week)

BZ confirms then pays out

Confirmed, I extended an offer to you @gijoe0295 here: https://www.upwork.com/nx/wm/offer/102582748

updated steps in OP, removes 'needs reproduction', removes job price

done

and ask the contributor who provided the steps if they want to submit a proposal to fix the issue before Help Wanted is added.

@gijoe0295 see the above -- you have first dibs here, would you like to submit a proposal to fix this?

Thanks for helping work this out @mallenexpensify! I have some ideas for how we can incorporate the repro job into our process a little more seamlessly, will bring that to the thread in Slack!

@AndrewGable can you confirm this is BE ? If so, can you update the labels to Internal? Thx

Yes, it seems backend related, but I am asking @puneetlath to see if he can still reproduce as we closed a related issue: https://github.com/Expensify/App/issues/40829

I'm still able to reproduce it sometimes, though not consistently.

Taking over on this one and checking it out

Saw it in action on production in Puneet's account yesterday. Seems to be a race condition bug where approval is allowed if the hold state has not taken "hold" yet.
Since the approve command defaults to full approval, the whole report is approved even if it was successfully held in the backend. Working on reproducing locally to diagnose further.

Had to unblock other Held items last week, diving into this this week.

Thanks for the help  Bobby, this one's been a pain to figure out.

Yep, good catch- it definitely seems like it 👍

Testing in local dev, aiming for PR by EOW

Evaluating if this can be addressed from the frontend 👀

Oop, thanks for the bump @gijoe0295! Paid in Upwork for the repro job and ended the contract.

Contributor: @gijoe0295 paid $125 via Upwork for reproducible steps.
@stephanieelliott , added the above for consistency with documenting all payments.

diving into this first thing this week

Was sick last week, getting back into this.

Writing up a new approach, hang tight

Just getting to this now, update shortly

So, the reason we were holding off is that it's tangentially related to the optimistic changes from: https://github.com/Expensify/App/pull/42573
We encountered this during testing there and needed to get those changes out to better isolate the issue.

Getting to this one before EOW, was focused on clearing out the other held issues raised this week.

Started looking into this on the backend over the weekend, was unable to pinpoint the source as the flows don't reveal anything obvious that would cause this discrepancy. Investigation continues!

Reproduced again here: https://expensify.slack.com/archives/C05LX9D6E07/p1723143340548779

Potentially it would be a frontend fix- it seems like we're not optimistically updating that report/expense (preview?) such that we prevent immediate approval after the hold action
Though, I wonder if we wait long enough at the last step- eventually that preview becomes held? If so, that means the backend is okay and we can just focus on the frontend.

Confirming if it's backend or frontend or both

Slack Discussion here. We have a backend fix being deployed for this!

The fix just went out! Let's re-test this

I confirmed it seems to be fixed for me. Let's make sure we get a new regression test for this scenario with scanning receipts @stephanieelliott

Awesome, any other remaining steps here before we can close this one out?

@isagoico created the QA test for us ❤ https://github.com/Expensify/Expensify/issues/421472
Seems we're all set to close now!


Request: The get started guides seem incomplete to me, could they be expanded?

I tried following the Get Started -> Hello Mobile Navigation guide and I failed on adding the second screen.
I did manage to get the first screen up and running, but, upon trying to add the second screen, the guide is apparently skipping steps and/or wrong.  It looks to me like we're moving a const from the HomeScreen to the ChatScreen, and neither of the example sources include all the imports after the first screen is finished.
It would be helpful to have complete, working versions of the steps in the guide somewhere, like, after following the Hello Mobile Navigation guide, this is what you should end up with.
On a lot of my attempts to fix it myself, I end up with an error saying that it expects a route to define a screen, but, as far as I can tell, I've met the requirements for doing just that.

Thanks for trying out the library and going through the examples! The main problem that I see with them is that they are made by the library authors - as far as we try to be as descriptive as possible, it is possible we skip some things that are not so obvious for newcomers.
If you could try to fix it by submitting some PRs, that would be great! Please ask any questions - I'll try to help you get moving as quickly as possible.

Closing this since it's quite old, and the intro guide has been updated many times.


Questions about the words on model improvement in readme

1、"We recommend generating optical flow labels on 2X size images for better labels. ”
question: Shouldn't the output size of optical flow network be the same as the input image？and if I get optical flow labels on 2X size images ,how to use it？
2、“You can also generate labels during training, or finetune the optical flow network on the training set. "
question: "finetune"  ---do you mean training the RIFE and  the pretrained   optical flow network together?
3、the model v1.5 in https://github.com/hzwer/arXiv2020-RIFE/issues/41 is trained by rife_hd?

Many optical flow network provider smaller output than input, if you generate smaller or bigger label, use bilinear resize and rescale value. (such as 2X bilinear resize and *2 all flow value)

In my experiments, using census loss or reconstrction loss to finetune optical flow network on Vimeo90K for 5 epoch will slightly improve the final PSNR.

Yes, and we add several augmentations to the data provider. If you want to reproduce our paper, just use dataset.py and rife.py.

Many optical flow network provider smaller output than input, if you generate smaller or bigger label, use bilinear resize and rescale value. (such as 2X bilinear resize and *2 all flow value)
In my experiments, using census loss or reconstrction loss to finetune optical flow network on Vimeo90K for 5 epoch will slightly improve the final PSNR.
Yes, and we add several augmentations to the data provider. If you want to reproduce our paper, just use dataset.py and rife.py.
hi,  the "finetune optical flow network" you mentioned in the second point, do you mean freeze the parameter of the fusionnet  and contextnet?

Many optical flow network provider smaller output than input, if you generate smaller or bigger label, use bilinear resize and rescale value. (such as 2X bilinear resize and *2 all flow value)
In my experiments, using census loss or reconstrction loss to finetune optical flow network on Vimeo90K for 5 epoch will slightly improve the final PSNR.
Yes, and we add several augmentations to the data provider. If you want to reproduce our paper, just use dataset.py and rife.py.
hi,  the "finetune optical flow network" you mentioned in the second point, do you mean freeze the parameter of the fusionnet  and contextnet?

hi, the "finetune optical flow network" you mentioned in the second point, do you mean freeze the parameter of the fusionnet and contextnet?

Many optical flow network provider smaller output than input, if you generate smaller or bigger label, use bilinear resize and rescale value. (such as 2X bilinear resize and *2 all flow value)
In my experiments, using census loss or reconstrction loss to finetune optical flow network on Vimeo90K for 5 epoch will slightly improve the final PSNR.
Yes, and we add several augmentations to the data provider. If you want to reproduce our paper, just use dataset.py and rife.py.

hi, the "finetune optical flow network" you mentioned in the second point, do you mean freeze the parameter of the fusionnet and contextnet?

Many optical flow network provider smaller output than input, if you generate smaller or bigger label, use bilinear resize and rescale value. (such as 2X bilinear resize and *2 all flow value)
In my experiments, using census loss or reconstrction loss to finetune optical flow network on Vimeo90K for 5 epoch will slightly improve the final PSNR.
Yes, and we add several augmentations to the data provider. If you want to reproduce our paper, just use dataset.py and rife.py.

https://github.com/hzwer/arXiv2020-RIFE/issues/99#issuecomment-798231465


Add the currently-functional freezing-nq and beanstalkd containers

Migrated from TODO, this is done, just want to make sure issues get tracked in GitHub not text files.

This is already done, and was in there from a very early stage.


⚠ T:Riza Docs has degraded performance

In 907030c, T:Riza Docs (https://docs.triza.dev) experienced degraded performance:

HTTP code: 500
Response time: 16259 ms

Resolved: T:Riza Docs performance has improved in 29b9a76.


Fixed deprecated Navigator usage in Android Icon Explorer example.

Android explorer examples are throwing an error :
Navigator is deprecated and has been removed from this package. It can now be installed and imported from react-native-deprecated-custom-components instead of react-native. Learn about alternative navigation solutions at http://facebook.github.io/react-native/docs/navigation.html

The Navigator is no longer part of react-native package and it's recommended now to use one of the community navigations, but at this point it would require more changes in the project so the simple fix is to use the 'react-native-deprecated-custom-components'.
Sources:
https://www.npmjs.com/package/react-native-deprecated-custom-components
https://github.com/facebookarchive/react-native-custom-components
Tested locally and works without any problems. Let me know if I should provide more details @oblador

Thanks!


[bug]: issue with abstract-unix-socket shorthand flag

Hiya, The abstract-unix-socket shorthand flag (aus) is causing a panic.

Shorthand flags typically refer to flags with a single letter. Shorthand flags are meant to provide a concise and quick way for users to specify certain options. Conventionally, they are limited to a single letter to keep the command-line interface readable and consistent.

Thanks for your comment @noornee, there is a bit portion yet to be done for the --abstract-unix-socket portion. Will open a PR with a fix shortly.

okayy, cheers!

@noornee Noticed some other issues, fixing it here :)

By the way the command you ran at the start of the issue should work now (attached). Though, I must say, I still need to do a bunch of refactoring and testing to ascertain that every component works as expected. Keeping this in mind, you can continue using `scour` in the meantime with a simple `make build` 👍

That's awesome, Thanks!

Thank you so much. Still stumbling through this xD, that will be very helpful!

No worries at all, we all learn by stumbling through things at times :D


Warning incorrect

The warning on this page is incorrect:
https://docs.microsoft.com/en-us/azure/expressroute/expressroute-howto-routing-portal-resource-manager#deleteprivate
virtual networks do not get associated with express route circuits, connections get associated with express route circuits
It states:
You must ensure that all virtual networks and ExpressRoute Global Reach connections are removed before running this operation.
The correct information is:
You must ensure that all connections and ExpressRoute Global Reach connections are removed before running this operation.
[Enter feedback here]

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

ID: 39ff12ef-1abb-2760-2783-522f5e792d25
Version Independent ID: e8ca6554-be74-1af1-28c3-0ba8932dff3d
Content: Tutorial: Configure peering for ExpressRoute circuit - Azure portal
Content Source: articles/expressroute/expressroute-howto-routing-portal-resource-manager.md
Service: expressroute
GitHub Login: @duongau
Microsoft Alias: duau

Thank you for your feedback! We will review and update as appropriate.

Hello @ssmiller60, Thank you for your feedback, I have updated the document and it will go live soon.


⚠ Bofrost.de has degraded performance

In 6a1f36f, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1250 ms

Resolved: Bofrost.de performance has improved in a25a2db after 9 minutes.


enh/92-variance-graph-labels-pi

Right now its really hacky to create the labels for temporal variance curves,
and to get the pi fraction for the phase from the decimal value (I just use an
if-else block). There should be a nice way to do this....

OBE. I don't know what this was referring to, because it is not in the code anymore.


Lab 4 - echoserver is incompatible with Apple Silicon

See https://github.com/HOGENT-MLOps/mlops-2324-DeSmetElias/blob/main/report/reports/report-labo4.md, maybe fabricate something with nginx or something like that?

I don't have an M1 processor, so I can't reproduce

Sorry, this was already fixed! I used the image referenced in this issue.
For example:
https://github.com/HOGENT-MLOps/mlops-labs/blob/acd5aa7177679ff68b39640ca16d28303da2f21e/kubernetes/4.2/echo-all.yml#L18


Inventory get cleared on teleporation

My inventory get cleared when i teleport to a home

uhh that is very much not supposed to happen at all
have you relogged since? it could be a desync between the server and client
if the issue is repeatable, i'd like to get the list of mods

Yes i had to relogin back to the server and after that it got visible and also it caused a lag on the server too for like 50s

it would be useful if you could provide the list of mods running on the server

[!WARNING]
due to inactivity i'm scheduling this issue for closure on 2024-06-20, unless anyone else has encountered this and can report, or the original author can provide a mod list (providing this issue can still be reproduced)


Fix type definition of placeholderTiles options of BingMaps source

Describe the bug
A placeholderTiles options has been recently introduced in #14832
Its type definition is boolean, i.e. it is typed as a required parameter to set among the options.  However, it seems showcased as an "optional option", i.e. the code and example assume that it can be left undefined, which is the same as setting it to false.  That's all fine.
When used in a TypeScript project, since the property is not optional, we are force to set it.
To Reproduce
It is a minor technical issue, and it is not really reproducible.
Expected behavior
I suggest that we change the type definition of the option to make it optional and default to false if not set.

I'll provide a PR for that.

left undefined, which is the same as setting it to false

for Roads and Aerial with Labels it is, but for Aerial and Ordnance Survey it is the same as setting it to true.

I've adjusted the PR and the description of this issue to reflect this.  Thanks for pointing it out.


http sink receiving invalid sequence unparsable by rfc5424

I have a fairly simple http sink receiver side implementation below. Very frequently it's failing to parse the incoming sequence using rfc5424.Message.ReadFrom  method.
The error from ReadFrom method reads:
strconv.Atoi: parsing "\n807": invalid syntax

All of the source code:
package main

import (
	"fmt"
	"io"
	"log"
	"net/http"

	"github.com/crewjam/rfc5424"
)

func handler(w http.ResponseWriter, r *http.Request) {
	log.Printf("Method: %s", r.Method)
	if r.Body != nil {
		defer r.Body.Close()
	}
	m := new(rfc5424.Message)
	for {
		n, err := m.ReadFrom(r.Body)
		if err == io.EOF {
			break
		} else if err != nil {
			log.Fatalf("READERROR: %+v", err)
		}
		log.Printf("n=%d, host=%s, app=%s msg=%q", n, m.Hostname, m.AppName, string(m.Message))
	}
}

func main() {
	log.Println("starting server!")
	http.HandleFunc("/", handler)
	log.Fatal(http.ListenAndServe(":8080", nil))
}

It's fairly easy to replicate. I simply use this project's manifests to redeploy:  kubectl delete -f ./yaml; kubectl apply -f ./yaml and it almost immediately triggers the error on the first message:
2017/10/25 03:22:31 starting server!
2017/10/25 03:22:45 Method: POST
2017/10/25 03:22:45 n=789, host=, app=default-scheduler msg="{\"verb\":\"ADDED\",\"event\":{\"metadata\":{\"name\":\"httpsink-395313959-234dm.14f0b1777bf8e722\",\"namespace\":\"default\",\"selfLink\":\"/api/v1/namespaces/default/events/httpsink-395313959-234dm.14f0b1777bf8e722\",\"uid\":\"fdb530dc-b931-11e7-96cb-2e6a5c70d9f0\",\"resourceVersion\":\"14958\",\"creationTimestamp\":\"2017-10-25T03:10:01Z\"},\"involvedObject\":{\"kind\":\"Pod\",\"namespace\":\"default\",\"name\":\"httpsink-395313959-234dm\",\"uid\":\"fdac2d9e-b931-11e7-96cb-2e6a5c70d9f0\",\"apiVersion\":\"v1\",\"resourceVersion\":\"14952\"},\"reason\":\"Scheduled\",\"message\":\"Successfully assigned httpsink-395313959-234dm to minikube\",\"source\":{\"component\":\"default-scheduler\"},\"firstTimestamp\":\"2017-10-25T03:10:01Z\",\"lastTimestamp\":\"2017-10-25T03:10:01Z\",\"count\":1,\"type\":\"Normal\"}}"
2017/10/25 03:22:45 READERROR: strconv.Atoi: parsing "\n807": invalid syntax

Any ideas why this might be happening?

It sometimes gets another sequence too:
strconv.Atoi: parsing "\n788": invalid syntax

I attached a simple implementation that reproes at #35. Once you run the container, expose it as Service and configure the httpSinkUrl, you can run kubectl run nginx --image=nginx and see it crash.

It just occurred to me that (not sure why it took so long, I guess I thought \n is a form of \x... notation) this is because the parser is not expecting \n but the messages int the POST request is line-separated. (i.e. \n788 is new line, and the next message is length 788).


ARROW-2545: [Python] Link against required system libraries

Python can require system libraries such as "libutil".  When linking dynamically against libpythonXX.so, this is not a problem since those libraries are automatically depended on.  When linking statically
against libpythonXX.a (this is the case when Python itself is statically linked and therefore does not provide a .so), you need to specify those libraries explicitly.

After a small change CI is failing because of connectivity issues, I will restart.


Remote code execution with WSL/SSH/Containers

Any plans to support this VSCode remote execution feature? They're VSCode extensions so if you have full extension support perhaps this comes for free, but perhaps not since it might be more complex to hook into the WSL interface for example.
https://code.visualstudio.com/docs/remote/remote-overview
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

I think for that plugin specifically, we will need to see.
It mainly comes down to this I think: https://code.visualstudio.com/docs/remote/faq#_why-arent-the-remote-development-extensions-or-their-components-open-source
I don't know how much we can support it / if at all due to that, nor if the license would be okay for us to do anything with it.


java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(byte[])

java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(byte[])'
Continually receiving this error when making a call to the api client code utilizing okhttp3. I have imported the maven dependency: <dependency>             <groupId>com.github.2captcha</groupId>             <artifactId>2captcha-java</artifactId>             <version>1.0.1</version>  </dependency>
I cannot figure out if it is because this api is deprecated or if it is the way I'm using it.
Here is my code for actually implementing this client:
Normal captcha = new Normal(pathName);         try {             TwoCaptcha solver = new TwoCaptcha(utils.getAPIKey());             solver.solve(captcha);             String code =captcha.getCode();             System.out.println("Captcha solved: " + code);             return code;         } catch (Exception e){             System.out.println("Error occurred: " + e.getMessage());             return null;         }

Nevermind, if you run into this issue please convert image to Base64 yourself. Fixed!


fixed deprecation warnings in swift 5

this fixes https://github.com/daltoniam/Starscream/issues/640

@fassko any idea when this will get merged in?

@fassko looks like the changes you've requested have been done

Thanks for you PR! The codebase has actually under gone a major refactor and should be updated for Swift 5. Feel free to check it out here #653. Feedback welcomed!


Queue class prototype

https://github.com/bcit-ci/CodeIgniter4/issues/117
I try to make a queue prototype.
If this fits what you want, I will make the datails.

usage:
<?php namespace App\Controllers;

class QueueTest extends \CodeIgniter\Controller
{
    public function enqueue()
    {
        $queue = service('queue');
        $queue->send('hoge');
    }

    public function fetch()
    {
        $queue = service('queue');
        $queue->fetch(
            function($data)
            {
                var_dump($data);
            }
        );
    }

    public function recieve()
    {
        $queue = service('queue');
        $queue->recieve(
            function($data)
            {
                var_dump($data);
            }
        );
    }
}

Thank you very much.
I will try write docs. But I'm not good at English (it's harder than coding for me), so please give me some time.

It doesn't have to be great docs. I can help with that later. Just trying to picture how you intend it to be used.
Sent from my iPhone

On Jan 2, 2017, at 8:22 AM, noldor (takekoshi<EMAIL_ADDRESS>wrote:
Thank you very much.
I will try write docs. But I'm not good at English (it's harder than coding for me), so please give me some time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I wrote functions I think the queue interface should have. Could you check it?

Queue
overview
This queue interface will be aware of RabbitMQ. There are 4 components.

Provider
Exchanger
Queue
Consumer

There are multiple Consumers listening to same Queue, however, each message is processed by just one Consumer. It will not process twice.
If error raise, message will get back to same queue and will be retried. Retry count is limited. If retry count is over, the message will be deleted.
retry delay
Sometimes, Consumer job fails repeatedly (e.g. when the mail server is temporary unavailable, etc...).
So we should retry with delay.
Delay time can be modified in the config file.
retry count limit
When a job that always fails retry forever, the queue is full of such jobs.
So a job should be restricted the number of retrying.
Retry limit can be modified in the config file.
Retry count is passed to the callback function.
rejecting a job by Consumer
When a error arises, job will be retried automatically. Also we can retry a job manually.
If a specific exception is thrown, then this queue system will retry as failure.
endless loop on Consumer's job
When a job fall into a endless loop, it seems that the job is processing forever from the point of view of the Queue. The job will be neither success nor failure.
This queue system doesn't take care of it. A programmer should set max_execution_time or set_time_limit() properly.
On the Database Handler nobody can decide whether a job is processing or not, so the handler regards a job taking more than 300 sec as failure and retry it.
return without waiting after fetching a message
Normally, a request via a browser should response ASAP. So fetch() returns right away whether there are messages or not.
fetch() work with a single message.
waiting when there are no messages
If a job works as background job, the job should wait for a messages when there are no messages.
Because starting PHP process require CPU power.
receive() is the same as fetch(), except it will wait if there are no messages.
receive() work with a single messages and we should not call it repeatly with endless loop like while(1).  We should use supervisor, daemontools, systemd or the like. At worst, crond (on cheap hosting services).

Thank you for taking time.

Some functions are not implemented. I will make it from now on.

@noldor Those features look like great additions.

Coverage decreased (-1.04%) to 61.233% when pulling 509f0da891cea840393ad98af0d1b1b98289b23d on noldor:new/queue into 220cc1a84899a90442c74a2d479aad27f714f6af on bcit-ci:develop.

Coverage decreased (-1.04%) to 61.233% when pulling 509f0da891cea840393ad98af0d1b1b98289b23d on noldor:new/queue into 220cc1a84899a90442c74a2d479aad27f714f6af on bcit-ci:develop.

Coverage decreased (-0.7%) to 61.571% when pulling 78d13487b41f45c9bae0e2d15cd78b5bbb5c4639 on noldor:new/queue into 220cc1a84899a90442c74a2d479aad27f714f6af on bcit-ci:develop.

@noldor are you still working on this? Looks like there were a couple of tests on the PostgreSQL front that didn't pass the last round of changes.

@lonnieezell
I'm sorry for not contacting you for a long time.
I was busy in March, and bit busy in April too. I will just remove the error this weekend.
The first week of May is a large holiday in Japan, so I'd like to work with File Handler at that time. I'm sorry my work is late.

@noldor No worries. Just checking to see if you were still interested in working on this, and it sounds like you are. Good to hear! And I completely understand being busy. I've had a bit of that myself a month ago where I didn't get to touch it.
Thanks for responding, and looking forward to getting to play with this a bit !

@noldor Any luck on this?

not to be too picky, but we expect commits to be GPG-signed :)

Replaced by #1797


Updated Dutch translation for Parity and Mnemonics

Thank you for all your hard work on this. Please email us your tshirt size + mailing address so we can send you a IRL thank you. 😄


bandcamp-dl command doesnt work anymore

Describe the bug
Bandcamp dl worked correctly for me since i downloaded it like 2 month ago. stopped working for some reason, but the package is definetly installed. I dont know how to run it differently than with the command.
To Reproduce
Command to reproduce the behavior:
bandcamp-dl [options] [URL]
URL or List of URLs HERE

Expected behavior
should show a menu saying i did the command wrong.
Logs
Most if not always you will get some kind of output explaining the issue, post it:
bandcamp-dl : The term 'bandcamp-dl' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ bandcamp-dl
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (bandcamp-dl:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

``
If possible after running the command with the --debug option.

**Desktop (please complete the following information):**
 - OS: Windows
 - Version Windows 10
 - Python Version 3.8

**Additional context**
Nope.

turns out i had updated python and hadn't update its path. sorry!


matrix-synapse: 1.82.0 -> 1.83.0

Description of changes

https://github.com/matrix-org/synapse/releases/tag/v1.83.0
Signed-off-by: Sumner Evans<EMAIL_ADDRESS>Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 230981 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

8 packages built:

matrix-synapse
matrix-synapse-plugins.matrix-synapse-ldap3
matrix-synapse-plugins.matrix-synapse-ldap3.dist
matrix-synapse-plugins.matrix-synapse-mjolnir-antispam
matrix-synapse-plugins.matrix-synapse-mjolnir-antispam.dist
matrix-synapse-plugins.matrix-synapse-shared-secret-auth
matrix-synapse-plugins.matrix-synapse-shared-secret-auth.dist
matrix-synapse.dist

Result of nixpkgs-review pr 230981 run on x86_64-linux 1

1 test built:

nixosTests.matrix-synapse

Thank you!


add triggerfs to production apps in examples

I have built an application. the API uses postgrest.

Just a note about the docs system, when you merge to master the change will appear on http://postgrest.org/en/latest/ and you'll need to cherry-pick the commit to v4.4 to have it appear on https://postgrest.org/en/v4.4/ as well

ok good to know. thanks for doing that already.


Use reified generics in LanguageDetector plus minor cleanup

This should make LanguageDetector a bit more idiomatic and readable

Codecov Report

Merging #10 into master will increase coverage by 0.01%.
The diff coverage is 72.22%.

@@             Coverage Diff              @@
##             master      #10      +/-   ##
============================================
+ Coverage     56.44%   56.46%   +0.01%
  Complexity      126      126
============================================
  Files            14       14
  Lines           799      797       -2
  Branches        203      203
============================================
- Hits            451      450       -1
+ Misses          275      274       -1
  Partials         73       73

Impacted Files
Coverage Δ
Complexity Δ

...b/pemistahl/lingua/internal/model/LanguageModel.kt
84.94% <ø> (ø)
11 <0> (ø)
:arrow_down:

...om/github/pemistahl/lingua/api/LanguageDetector.kt
67.17% <72.22%> (+0.17%)
52 <6> (ø)
:arrow_down:

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 8fa7c83...9932483. Read the comment docs.

@pemistahl, just a reminder in case you forgot about this pull request

As stated in #17, I close this pull request now because I will refactor the code and remove generics completely from the Ngram class. Sorry again for the delay. And thank you for your effort nevertheless. Please do not be disappointed.


Issues 801,694 and tests overhaul

Coverage increased (+0.1%) to 91.685% when pulling 2fc5acaff738c63726234c81665f6521ae6630e1 on issues-801,694 into 8e942c2b31bdf7a17f80f98cb70787efadcfbb42 on master.

Coverage increased (+0.1%) to 91.685% when pulling 2fc5acaff738c63726234c81665f6521ae6630e1 on issues-801,694 into 8e942c2b31bdf7a17f80f98cb70787efadcfbb42 on master.

@homu r+

:pushpin: Commit 2fc5aca has been approved by kbknapp

:hourglass: Testing commit 2fc5aca with merge ce08391...

:sunny: Test successful - status


listingchangecompleted will now receive listing data when pending for…

… deletion and undeleting
@skhtet @blynch11p

:+1:

:+1:


customizing the word frequency service

Awesome project.
RE /app/components/pipes/word-frequency.service.ts
  public addString(filename: string): void {
    // Strip out: {}()[] as well as 'for', 'her', 'the', 'and', & ','

Um... this seems sexist.
On my system, "him" would be more appropriate ;)
Plus I would add more words to ignore.
There's no separate "cloud database", right? These terms are all based on file names. That's a good compromise. But I would want to take it further.
a) A custom regexp (and/or or list of words) could be loaded from some runtime config. I have not looked into how settings are stored yet, and whether thats a good place for word / tag config. Maybe a json file that is used if it exists and otherwise ignored.
b) ...? hmm. Still thinking. How to add tags to file names? I'm considering adding tags to the file name in brackets, eg:  "my file name[tag1,tag2].ext". I want to keep the original file name and not affect sorting.
Not going to jump in yet. Putting this out for feedback.

Hey! :)
Re: a) It could be done - I believe that regex is just to strip out most common words that wouldn't make good tags (a, the, and, etc...). I agree either it should be her and him, or neither! 👍 You can also "ignore" tags in the app itself, under the tag panel! Would that do?
b) You can add tags in the app now, (not the release version yet, git only) - and they're saved in the library .vha file! Exporting from this file could be an option in the future - is there a reason you'd need them in the file name?
Thanks for your interest! 😄

Also, in the latest master, tags can be based of any combination of:

File names
Folder and subfolder names
Manually added tags

Thank you @HankBrown 🤝
I've added "him" to the master regex with #259
I'm closing the issue since it might become irrelevant with release of version 2 🤞 -- while the features you were recommending aren't going to be there, the tag system might be good-enough for what you were originally looking for 🤷♂
Please feel free to create a new issue once version 2 comes out 🙌


The Snail Shouldn't Float (or sink)

On most websites, the snail is sitting exactly on the bottom of the webpage.  On some websites, however, such as the Chrome Developer Site, the snail is floating several pixels above the bottom of the screen, as shown below:

Notice how far the snail is from the bottom of the screenshot.
On other websites, there is an even worse problem: the snail is sinking into the ground!  This is especially bad if the snail is set to be small.  Here is what happens on an online QR code scanner:

And here is an example from the settings page in this extension itself:

Notice that not even half of the snail is visible.
Clearly, this bug must be solved.

Resolved by #12.


Include app test to gbs build

Including app test to gbs build can prevent app crashing issues although it does not guarantee that app is running correctly.

:octocat: cibot: Thank you for posting issue #540. The person in charge will reply soon.

yes. we need to check. But we need to modify the applications to make small enough to run for test.

@kparichay Could you check if #609 resolves this issue?

Yes, #609 does important applications. Testing for others can be added later as those applications get more mature.


[Bug]: Can not run openapi server with cpu backend

Your current environment
Collecting environment information...
PyTorch version: 2.2.1+cpu
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A

OS: Fedora Linux 40 (Workstation Edition) (x86_64)
GCC version: (GCC) 14.0.1 20240411 (Red Hat 14.0.1-0)
Clang version: Could not collect
CMake version: version 3.29.2
Libc version: glibc-2.39

Python version: 3.11.8 (main, Feb 28 2024, 00:00:00) [GCC 14.0.1 20240217 (Red Hat 14.0.1-0)] (64-bit runtime)
Python platform: Linux-6.8.7-300.fc40.x86_64-x86_64-with-glibc2.39
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        39 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               16
On-line CPU(s) list:                  0-15
Vendor ID:                            GenuineIntel
Model name:                           11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
CPU family:                           6
Model:                                141
Thread(s) per core:                   2
Core(s) per socket:                   8
Socket(s):                            1
Stepping:                             1
CPU(s) scaling MHz:                   29%
CPU max MHz:                          4800.0000
CPU min MHz:                          800.0000
BogoMIPS:                             4992.00
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear ibt flush_l1d arch_capabilities
Virtualization:                       VT-x
L1d cache:                            384 KiB (8 instances)
L1i cache:                            256 KiB (8 instances)
L2 cache:                             10 MiB (8 instances)
L3 cache:                             24 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-15
Vulnerability Gather data sampling:   Mitigation; Microcode
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI SW loop, KVM SW loop
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] mypy==1.9.0
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.26.4
[pip3] torch==2.2.1+cpu
[pip3] triton==2.3.0
[conda] Could not collectROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.4.1
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
Could not collect

🐛 Describe the bug
I am having trouble running the openapi server on CPU. I can't confirm that this works for GPU.
I follow instructions for building the code and then run the openapiserver:
python3 -m vllm.entrypoints.openai.api_server --model microsoft/phi-2

output:
python3 -m vllm.entrypoints.openai.api_server --model microsoft/phi-2
INFO 04-26 16:59:01 api_server.py:151] vLLM API server version 0.4.1
INFO 04-26 16:59:01 api_server.py:152] args: Namespace(host=None, port=8000, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, served_model_name=None, lora_modules=None, chat_template=None, response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], model='microsoft/phi-2', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=False, download_dir=None, load_format='auto', dtype='auto', kv_cache_dtype='auto', quantization_param_path=None, max_model_len=None, guided_decoding_backend='outlines', worker_use_ray=False, pipeline_parallel_size=1, tensor_parallel_size=1, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=16, enable_prefix_caching=False, use_v2_block_manager=False, num_lookahead_slots=0, seed=0, swap_space=4, gpu_memory_utilization=0.9, num_gpu_blocks_override=None, max_num_batched_tokens=None, max_num_seqs=256, max_logprobs=5, disable_log_stats=False, quantization=None, enforce_eager=False, max_context_len_to_capture=8192, disable_custom_all_reduce=False, tokenizer_pool_size=0, tokenizer_pool_type='ray', tokenizer_pool_extra_config=None, enable_lora=False, max_loras=1, max_lora_rank=16, lora_extra_vocab_size=256, lora_dtype='auto', max_cpu_loras=None, device='auto', image_input_type=None, image_token_id=None, image_input_shape=None, image_feature_size=None, scheduler_delay_factor=0.0, enable_chunked_prefill=False, speculative_model=None, num_speculative_tokens=None, speculative_max_model_len=None, model_loader_extra_config=None, engine_use_ray=False, disable_log_requests=False, max_log_len=None)
INFO 04-26 16:59:02 llm_engine.py:98] Initializing an LLM engine (v0.4.1) with config: model='microsoft/phi-2', speculative_config=None, tokenizer='microsoft/phi-2', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.float16, max_seq_len=2048, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=1, disable_custom_all_reduce=Falsequantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cpu, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), seed=0)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
WARNING 04-26 16:59:02 cpu_executor.py:128] float16 is not supported on CPU, casting to bfloat16.
WARNING 04-26 16:59:02 cpu_executor.py:131] CUDA graph is not supported on CPU, fallback to the eager mode.
WARNING 04-26 16:59:02 cpu_executor.py:159] Environment variable VLLM_CPU_KVCACHE_SPACE (GB) for CPU backend is not set, using 4 by default.
INFO 04-26 16:59:02 selector.py:43] Using Torch SDPA backend.
[W ProcessGroupGloo.cpp:721] Warning: Unable to resolve hostname to a (local) address. Using the loopback address as fallback. Manually set the network interface to bind to with GLOO_SOCKET_IFNAME. (function operator())
INFO 04-26 16:59:03 weight_utils.py:193] Using model weights format ['*.safetensors']
INFO 04-26 16:59:03 cpu_executor.py:72] # CPU blocks: 819
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
WARNING 04-26 16:59:04 serving_chat.py:346] No chat template provided. Chat API will not work.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO:     Started server process [518250]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib64/python3.11/logging/__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/logging/__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/logger.py", line 24, in format
    msg = logging.Formatter.format(self, record)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/logging/__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/logging/__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
ValueError: unsupported format character ',' (0x2c) at index 159
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/entrypoints/openai/api_server.py", line 169, in <module>
    uvicorn.run(app,
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/uvicorn/main.py", line 575, in run
    server.run()
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/uvicorn/server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/lib64/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
  File "/usr/lib64/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/entrypoints/openai/api_server.py", line 41, in _force_log
    await engine.do_log_stats()
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/engine/async_llm_engine.py", line 704, in do_log_stats
    self.engine.do_log_stats()
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/engine/llm_engine.py", line 601, in do_log_stats
    self.stat_logger.log(self._get_stats(scheduler_outputs=None))
  File "/home/kehannon/Work/LLMs/vllm/vll311/lib64/python3.11/site-packages/vllm-0.4.1+cpu-py3.11-linux-x86_64.egg/vllm/engine/metrics.py", line 229, in log
    logger.info(
Message: 'Avg prompt throughput: %.1f tokens/s, Avg generation throughput: %.1f tokens/s, Running: %d reqs, Swapped: %d reqs, Pending: %d reqs, GPU KV cache usage: %.1f%, CPU KV cache usage: %.1f%'
Arguments: (0.0, 0.0, 0, 0, 0, 0.0, 0.0)

https://github.com/vllm-project/vllm/pull/4396 I think this PR is fixing it

this issue remains active for me, when building from Dockerfile.cpu on latest commit b31a1fb63c98fa1c64666aaae15579439af60d95
python3 -m vllm.entrypoints.openai.api_server --model microsoft/Phi-3-mini-128k-instruct --trust-remote-code --max-model-len 8000

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 411, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 93, in __call__
    await self.simple_response(scope, receive, send, request_headers=headers)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 148, in simple_response
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 72, in app
    response = await func(request)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "/workspace/vllm/vllm/entrypoints/openai/api_server.py", line 90, in create_chat_completion
    generator = await openai_serving_chat.create_chat_completion(
  File "/workspace/vllm/vllm/entrypoints/openai/serving_chat.py", line 128, in create_chat_completion
    return await self.chat_completion_full_generator(
  File "/workspace/vllm/vllm/entrypoints/openai/serving_chat.py", line 290, in chat_completion_full_generator
    async for res in result_generator:
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 663, in generate
    raise e
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 657, in generate
    async for request_output in stream:
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 77, in __anext__
    raise result
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 38, in _raise_exception_on_finish
    task.result()
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 498, in run_engine_loop
    has_requests_in_progress = await asyncio.wait_for(
  File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 472, in engine_step
    request_outputs = await self.engine.step_async()
  File "/workspace/vllm/vllm/engine/async_llm_engine.py", line 213, in step_async
    output = await self.model_executor.execute_model_async(
  File "/workspace/vllm/vllm/executor/cpu_executor.py", line 114, in execute_model_async
    output = await make_async(self.driver_worker.execute_model)(
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
TypeError: CPUWorker.execute_model() got an unexpected keyword argument 'num_lookahead_slots'

My mistake; it's a similar setup but different error

My mistake; it's a similar setup but different error

@andysalerno I am still facing it. Did you resolve this issue? I also built it from Dockerfile.cpu


Clang Tidy Setup

Hi,
I ran into a problem when setting up clang-tidy as described in the coding-style page.
When performing only the steps in the "alternative" way
$ cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++
-DCMAKE_C_COMPILER=/usr/bin/clang
-DENABLE_CLANG_TIDY=ON ..
$ make

I get the error
-- Install configuration: "Release"
-- Installing: /usr/local/lib/pkgconfig/volk_gnsssdr.pc
CMake Error at cmake_install.cmake:41 (file):
  file INSTALL cannot copy file
  "/__/__/gnss-sdr/build/volk_gnsssdr_module/build/volk_gnsssdr.pc" to
  "/usr/local/lib/pkgconfig/volk_gnsssdr.pc": Permission denied.

I had to run the command make volk_gnsssdr_module core_monitor pvt_libs from the first method here too.
Also from the description it was not obvious to me if I need to run the make volk_gnsssdr_module core_monitor pvt_libs command on each build/clang check or not (you don't)..
If I did not do something wrong I'd insert the command in the 2nd method as well. Any concerns/something I overlooked?
Cheers!

Also I think that when first switching to clang as compiler you need to do a make clean. Otherwise clang-tidy won't be applied.


Update with mypy typing

Codecov Report
Attention: Patch coverage is 95.74468% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 93.54%. Comparing base (9b97a53) to head (811eca1).

Files
Patch %
Lines

pyrainbird/timeline.py
60.00%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #427      +/-   ##
==========================================
- Coverage   93.75%   93.54%   -0.21%
==========================================
  Files           9        9
  Lines         912      914       +2
  Branches      176      177       +1
==========================================
  Hits          855      855
- Misses         34       35       +1
- Partials       23       24       +1

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


so_reuseaddr

Hello,
I am using your library to create an ad-hoc WebSocketServer in Android, and it works very well.
However, in some cases I need to restart the WebSocketServer. Unfortunately, this is impossible because the flag of SO_REUSEADDR is not set, thus causing a BindException. Currently, this is fixed by simply restarting the application, but this is not desirable.
Could you allow the created socket in WebSocketServer.java in run() to be public, thus allowing users to set the socket.setReuseAddress(true) flag?
Thanks in advance

Hello @robutil,
I will add such a feature to the next release. Default will still be false!
Greetings
marci4

I added this feature just now.
Thx again for your input!
Greetings
marci4


Touchscreen: long pressing breaks touch interface

On a device with touchscreen capabilities and with MOZ_USE_XINPUT2=1 (possibly also without) I can normally use touch gestures to navigate / scroll a PDF file with pdf.js.
Long pressing triggers the right-click menu.
Once the right click menu is shown one, touch input does not work anymore in any pdfjs tab. Touch input continues to work correctly in other tabs.
Triggering the right-click menu via an actual right click does not break touchscreen.
Please let me know how to provide further information that may be relevant to identify what causes the bug.
This happens on Firefox 55.0 (64-bit) compiled from sources with the included version of pdfjs.

I think PDF.js only supports touch gestures for presentation mode, but AFAIK we don't support it for the default viewing mode. If it helps, the presentation mode touch gestures code is here: https://github.com/mozilla/pdf.js/blob/05b1ef2d2380d699c9d66dcdd9b1af4dab699b91/web/pdf_presentation_mode.js#L348. I'm not aware of any special handling of the right-click menu.

I'm not sure how touch events are processed by firefox and pdfjs. What I referred to as gestures before is simple scrolling using a touch screen. I.e. dragging your finger along on the touch screen to scroll the website. As you're likely familiar from Android/iOS, the page continues to scroll after the finger is lifted.
I was reporting this issue here (and not the firefox bugtracker), as the "normal" firefox behaviour when long pressing via touch is to select text (again as on Android/iOS), whereas in pdfjs it opens the right click menu (and subsequently breaks all touch interaction in tabs using pdfjs).
Please let me know if I should raise this issue at the firefox bugtracker instead.

Thank you for the clarification. Long pressing should allow for text selection to happen, but perhaps it only works if the long press happens on the text layer, i.e., it could be that a long press on the canvas element itself has a different effect. The text layer does not overlap the entire page right now, only the relevant text portions. You could try enabling the (somewhat experimental) enhanceTextSelection preference (https://github.com/mozilla/pdf.js/blob/master/web/default_preferences.json#L16) as that should make the text layer fill the entire page, and see if the problem can still be reproduced.

Thanks @timvandermeij . I need to build pdf.js from source to enable the preference, is that correct?
In the meantime I realized that the breakage of the touch interface is likely just https://bugzilla.mozilla.org/show_bug.cgi?id=1321069 , though it is not clear why pdfjs is opening the right click menu in the first place.
Let me further clarify the behaviour in Firefox and Chromium.
Firefox:

Long press area in pdf with text
Right click menu appears and word below is actually selected (sorry, I forgot to mention that the selection actually works. While in my memory the selection didn't work at all and only the right click menu appeared, it seems that was wrong..)
Touch navigation completely stops working in pdfjs tabs, while the behaviour described in https://bugzilla.mozilla.org/show_bug.cgi?id=1321069 happens in other tabs

Chromium:

Long press area in pdf with text
Only text selection. No right click menu is shown

Sometimes I managed to get a right click menu by doing a long press after a fresh start of Chromium, but touch navigation continued to work afterwards. I could not reproduce getting the right click menu every time.
In Firefox the right click menu is shown every time. However there is no advantage in showing the right click menu. It shouldn't be shown.
Shall I change the title accordingly or open a new bug?

You can also try it as follows:

Open https://mozilla.github.io/pdf.js/web/viewer.html
Open the console (Ctrl + Shift + K) and enter the following command: PDFViewerApplication.preferences.set('enhanceTextSelection', true);
Refresh the page and try the steps to reproduce again.

Alternatively, you could build it from source, yes. It does sound like the Bugzilla issue you mentioned. I'm labeling this as upstream for now, so no need to change the title.

Closing since this issue is fixed upstream.


Fixes issue #92

Hello @danielquinn,
If you want I'll will maintain this project into a forked repo here : https://github.com/stafyniaksacha/socketIO-client
Can you make a pull request here ?

Thanks, Daniel!


Create the sign up page

Hi @tbm5k ,
i do like to work on this issue

Hi @Godwindaniel10 , I have assigned the issue to you, go ahead and work on it

@Godwindaniel10 have you seen the prototype on figma?

@tbm5k ok on it...
yeah I have seen the prototype


Suggestions for 'git rebase'

Hi,
First off, I've just started using GitSavvy, and I do love it - it's great to be able to do everything from inside Sublime rather than jumping out to a terminal.
I generally do bits and pieces of rebasing, to keep commit trees tidy before putting in a Pull Request for a project. There are a handful of things that have come up with how GitSavvy handles rebases.

Shifting a commit up or down by multiple commits takes time. Each move takes a second or so, and the cursor needs to be moved. I've got a couple of suggestions on this:

When a commit is moved up or down, automatically move the cursor so that it stays with the commit, rather than the line
Allow for a mode where the rebase isn't done every time a commit is moved, and can be triggered all at once at the user's discretion. Similar to how using git rebase -i would work.
Allow for selecting of multiple commits at once to move a block, rather than one at a time.

When you squash commit with next, it seems to work in the opposite direction to git rebase -i, which squashes a commit with previous. It also uses the most recent commit for the commit metadata, rather than git rebase which (I think - I may be wrong about this) uses the oldest commit's metadata. I personally generally use fixup.

I'm definitely loving everything I can do with GitSavvy, but this is just the one area that I'm finding slows me down relative to how I worked before.

Hey there @HughMacdonald!  Thanks for the feedback.  I've been intending to revisit the rebase dashboard for some time now to add some polish.  But since the existing functionality addresses most of my daily pain-points, it hasn't happened yet.
A few thoughts:

When making any change (not just moving), all commits shown will be re-applied to the tree.  This is often unnecessary, as really just the last commit or two may need to change, and it adds a significant performance hit.  Fixing this may alleviate much of the slow performance that you've experienced. Documented in #208.
Moving the cursor to stay with the moved commit is a fantastic idea.  Opened #296.
Queuing up actions is something I've considered, but could get very complex.  I have yet to come up with a clean way to do this that moves the heavy lifting over to Git.  Opened #297.
Moving multiple commits is an interesting idea also,  In practice, I rarely perform actions on multiple things at a time (in the status dashboard, for example).  Is this something that you find yourself doing often?  This should be significantly easier to implement that the action-queue, so I've put it into that ticket as an alternative.
With regard to the squash commit with next, would you mind opening a ticket with a fully fleshed-out example with repro steps.  Pretty sure I follow, but would like the problem to be clearly documented before attempting to address.

I'm unsure how much use the rebase dashboard truly gets across the userbase.  It is definitely something I use consistently, but issues aren't often reported, which is why many of these things haven't come up before.  Thanks again for the feedback!

And actually, since much of this was split out into other tickets, I'm going to go ahead and close this one.  Glad to continue discussion here, for anything not addressed in those smaller tickets, and please feel free to re-open if you think I've missed something.

Hi @divmain, thanks for all of that. I'll respond with my thoughts in the new issues, and open up a new one on the last point.


NFT Metadata propsoal for Flip Fest Issue #16

Closes: flip-fest #16
Description
Team Non Fungibles here submitting our proposal to the NFT Meta Data spec for the flip-fest.
Authors include:

@bjartek
@bluesign
@briandilley

For contributor use:

[x] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

Nice work!

In this FLIP the method name availableViews is used but in my examples and reference impl i use the name getViews. What should we prefer?

I am not sure how to progress with merging changes here. But the latest work done here is here:
Resource that contains shared types

https://github.com/findonflow/find/blob/main/contracts/TypedMetadata.cdc

Proposed new NFT interface

https://github.com/findonflow/find/blob/main/contracts/standard/NonFungibleToken.cdc

Implementation for Versus

https://github.com/findonflow/find/blob/main/contracts/Art.cdc

Oh shoot! I just noticed that the return type on resolveView doesn't have the ? to make it optional. I think this is preferred!

I vaguely remember we talked about this and that this would be preferred to panicing the resolveView when you called it with a unknown view. I will fix it.

I'm now merging this PR and will update the status to "accepted". Thanks again, everybody!
The contents of this FLIP will be soon added to the onflow/flow-nft repository alongside the base NFT interface.


Image file preview sometimes doesn't work

Description
Image file preview sometimes doesn't work and only shows gray square.
Steps To Reproduce
No response
Expected behavior
Show image preview.
Files Version
<IP_ADDRESS>
Windows Version
10.0.22000.346
Relevant Assets
Files:

Windows File Explorer:

Any difference if you refresh the folder or switch to griview layout mode?

When I refresh the folder it stays the same. In other layouts it shows file icon not the preview. By the way new images that I've downloaded show in preview but with black background.

@gave92 should we add this to the backlog?

It is a gamebreak not having this feature.  The application is almost perfect, but i have not had thumbnails work in any try of the software.  I recon there might be challenges with HEIC and other file types.  If the Image previews work then i will gladly be able to try the software again.

This issue should be resolved with #7881 @Pietro228


How to add animations for Sortable?

Hi, you guys has done some awesome work!
I'm wondering if draggable has internal support for Sortable animation, for example:
http://rubaxa.github.io/Sortable/

@f15gdsy you can definitely use CSS animations to achieve that exact example.
When we first release the beta, it was VERY easy - as we are reordering the DOM as you move around, and the only appended item was the mirror, which got added to the end of the container.
Things are a tiny bit trickier now, as in order to solve bugs for touch devices, we need to have 1 additional element added to the mix.
Basically, all the above is still true, except:

on drag:start a clone of the source is made
the originalSource gets set to display:none and remains in its original position in the DOM until drag:end
while dragging, this new cloned source is what gets moved around
on drag:end, the originalSource is moved into its new position, and the cloned source is removed

Whats tricky about this is, even when an element is set to display:none, it gets counted using CSS's nth-child. To get around this, I had to do this for the Sortable example:
draggable.on('drag:start', (evt) => {
  evt.originalSource.classList.add('Cube--isCloned');
});

draggable.on('drag:stop', (evt) => {
  evt.originalSource.classList.remove('Cube--isCloned');
});

.Sortable {
  .Cube:nth-child(1),
  .Cube--isCloned ~ .Cube:nth-child(2) {
    @include cube-layout(3, -5);
  }

  .Cube:nth-child(2),
  .Cube--isCloned ~ .Cube:nth-child(3) {
    @include cube-layout(2, -6);
  }

  .Cube:nth-child(3),
  .Cube--isCloned ~ .Cube:nth-child(4) {
    @include cube-layout(1, -7);
  }

  .Cube:nth-child(4),
  .Cube--isCloned ~ .Cube:nth-child(5) {
    @include cube-layout(0, -8);
  }

  .Cube:nth-child(5),
  .Cube--isCloned ~ .Cube:nth-child(6) {
    @include cube-layout(3, -3);
  }

  .Cube:nth-child(6),
  .Cube--isCloned ~ .Cube:nth-child(7) {
    @include cube-layout(3, -1);
  }

  .Cube:nth-child(7),
  .Cube--isCloned ~ .Cube:nth-child(8) {
    @include cube-layout(3, 1);
  }

  .Cube:nth-child(8),
  .Cube--isCloned ~ .Cube:nth-child(9) {
    @include cube-layout(2);
  }

  .Cube:nth-child(9),
  .Cube--isCloned ~ .Cube:nth-child(10) {
    @include cube-layout(1, -1);
  }

  .Cube:nth-child(10),
  .Cube--isCloned ~ .Cube:nth-child(11) {
    @include cube-layout(0, -6);
  }

  .Cube:nth-child(11),
  .Cube--isCloned ~ .Cube:nth-child(12) {
    @include cube-layout(0, -4);
  }

  .Cube:nth-child(12),
  .Cube--isCloned ~ .Cube:nth-child(13) {
    @include cube-layout(0, -2);
  }
}

Since this is likely to be a common scenario, we will probably add a default draggable-source--original class via the Sortable module. Either way, the above code works perfectly fine 😄
Please let me know if you have any more questions!

Hmm, we should provide an optional plugin (like Snappable, Collidable), that does a swap animation when included. But as @beefchimi mentioned, this can also be done with a CSS only solution.

Sure - I can see this being useful for something like a stacked list that isn't absolutely positioned.
By swapping items, there would be no CSS transition you can apply, as the layout is natural and not positioned.
Way back when we first started draggable, I believe we already had something that grabbed the position of both elements and applied inline transform styles, allowing them to animate. Do you still have this kicking around @tsov ?

@beefchimi yes, exactly that one. It would work something like this (not tested) with sortable:
sortable.on('sortable:sorted', (sortableEvent) => {
  const {source, over} = sortableEvent.dragEvent;

  // Can be done in a separate frame
  requestAnimationFrame(() => {
    animate(source, over);
  });
});

function animate(source, over) {
  for (element of [source, over]) {
    element.style.pointerEvents = 'none';
  }

  source.style.transform = `translate3d(0, ${over.offsetHeight}px, 0)`;
  over.style.transform = `translate3d(0, -${source.offsetHeight}px, 0)`;

  for (element of [source, over]) {
    element.offsetHeight; // force repaint
    element.style.transition = 'all 100ms ease-in-out';
    element.style.transform = '';
  }
}

The plugin would be a more sophisticated than the example code above ^

Amazing 😄  Did you want to take this on or see if someone from the community wants to give it a stab 😉

I will add it to the v1.0.0-beta.3 milestone later today. If someone gets to it before me then 👌

👋 @f15gdsy we are now going to include an opt-in plugin SwapAnimation (name may still change), that does a swap animation out of the box, for the next beta release.
It currently works only with Sortable, but will be extended to support Droppable and Swappable too
Have a look at the commit to see the source code that powers it, as well as a small README that explains how to use it: https://github.com/Shopify/draggable/commit/de48ccd4666d8737f917e29f64ff187659ab3c44

Closed via: https://github.com/Shopify/draggable/releases/tag/v1.0.0-beta.3
@f15gdsy You can now use the SwapAnimation plugin for basic sorting/swapping animations.


upcoming: [M3-7756] - Placement Groups limits updates

Description 📝
This PR implements recent changes to the Placement Groups API that need to be rolled into the APP to prevent building on the wrong specs (and incur more refactoring as we go)
Changes  🔄
Type changes

new Capability for account: "Placement Group"
new Capability for region: "Placement Group"
compliant changed to is_compliant
Region Interface:

maximum_pgs_per_customer: number
maximum_vms_per_pg: number
as a result of 3.1 and 3.2 we need to deprecate the "capacity" field from the PG Interface, update related code and mock data/factories

An update in the API for the migrate flow has brought up the need for a strict value when:

doing a POST to create a PG
POST assigning a Linode to a PG

Preview 📷
There is no change to the UI, everything should be looking and behaving exactly the same except for the PG landing page which lost the sentence about max PG amount reached
How to test 🧪
Prerequisites

Turn both the "Placement Group" flag and MSW

Verification steps

Very the Placement Group feature as a whole

As an Author I have considered 🤔
Check all that apply

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

@hkhalil-akamai regions.json is generated at build time to act as a cold cache for the api/v4/regions query
Now, while it's super useful in the case of one click apps since that query takes a few seconds, it does seem trivial to cold cache the regions endpoint. I'll ask at the cafe 👍

The updates looks good, once this is merged I'll update my changes in my PR.


Add scroll to top option

I would like to add this to the website please assign it to me and please add label to the issue

@Khushi14404 assigned to you.

@Khushi14404  please complete this issue in the next 2 days.

I would like to kindly ask if you could add the Hacktoberfest-accepted label to this.
This would help me earn the Hacktoberfest badge and promote my engagement with the community.

@Khushi14404 added the label

Thank you so much sir

@Khushi14404 I have removed the label because this project doesn't come under hacktoberfest.


doesn't support linux/arm(32bit)

Description
This PR doesn't support linux/arm(32bit) because linux/arm(32bit) is for smart devices(mobile phone etc ..), I thought it could be removed for maintenance costs.
Continued support for linux/amd64 and linux/arm64.
This PR contains the following changes

remove arm(32bit) test in .github/workflow/build.yml

I've checked other codes and documents that reference arm (32-bit).
The only written mention of ARM support was in CHANGELOG, which wouldn't need to be corrected (need to mention for 32-bit ARM in the next release).
About build, the following one may need to be changed at least (or the binary build will fail at release time).

https://github.com/da1suk8/ostracon/blob/fix/remove_arm32/.goreleaser.yml#L20

The following are items that don't interfere with the development process, such as builds and releases, but that I feel should be removed to avoid confusion.

https://github.com/da1suk8/ostracon/blob/fix/remove_arm32/crypto/vrf/internal/vrf/vrf.go#L15-L16
https://github.com/da1suk8/ostracon/blob/fix/remove_arm32/scripts/dist.sh#L21-L23

Could you give us your opinion too, @tnasu -san?

https://github.com/line/ostracon/pull/431#pullrequestreview-1002592042

Yes, @da1suk8 should address them in this PR. Thanks.

I feel this title contains ambiguity. Because guessing that this omitted subject, one can be read as "(current Ostracon) doesn't support ARM 32-bit", which can be interpreted as if this PR fixes to support ARM 32-bit.
Could you please change the title? Such as "Stop ... support", or "Stop support for ...".


Update the zoom regularly

When user is using zoom spotlight and he switches window using Alt+TAB, the zoom from the last screen is shown even if the screen has changed.

True, but as it was already discussed in #28 - There is no way around this with Qt features - or at least not that I know of. Since we have to take a screenshot before the spot is shown.
While the spot is shown there is no way to get the current screen without including the spot itself.
You will see the same effect if you have a video running for example.
Marking this as wontfix - but keeping it open, so other can find this information more easily.

I am working on solution and have got some success. Probably, will be able to submit a pull request soon.

I guess as a Gnome tool it probably has access to the window manager and compositor. Which is of course a possibility - but what about KDE, and all the other Linux desktops?
I think for a small presentation tool the current implementation is sufficient.

BTW I have downloaded 6.35 to test the zoom on OpenSUSE 15.1 KDE and it works a treat (zoom keeps pace with LibreOffice slides ;0) Thanks so much!

BTW I have downloaded 6.35 to test the zoom on OpenSUSE 15.1 KDE and it works a treat (zoom keeps pace with LibreOffice slides ;0) Thanks so much!

Thanks for the feedback, great to hear :wink: :tada:


Fix collecting index names when indices not provided

Currently when trying to run bin/console meili:clear it returns:
Cannot clear index. Not found.
Done!

Hm, ok, then it's not working properly with indices as it returns all


TaskScheduler seems not compatible with multiple object source files (aka tabs in IDE)

My project will be rather big and I need to have it splitted between many .cpp files. The source code for your library is included in one big header file, declarations together with definitions. What should I do, to stop linker from complaining about
/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: multiple definition of `StatusRequest::signal(int)'
./.ino.cpp.o:/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: first defined here
./file2.cpp.o: In function `StatusRequest::signal(int)':
/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: multiple definition of `StatusRequest::signalComplete(int)'
./.ino.cpp.o:/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: first defined here
./file2.cpp.o: In function `StatusRequest::signal(int)':
/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: multiple definition of `Task::reset()'
./.ino.cpp.o:/home/Adama-docs/Adam/MyDocs/Programowanie/Arduino/libraries/TaskScheduler/src/TaskScheduler.h:387: first defined here
./file2.cpp.o: In function `StatusRequest::signal(int)':

To reproduce:

Open new sketch, and put there

#include "header.hpp"

void setup()
{
    Serial.begin(9600);
    Serial.println(myfunc());
    Serial.println(globalx);
}

void loop() {}

Add a new tab header.hpp with

#pragma once

#include <stdint.h>
#include <TaskScheduler.h>
extern uint8_t globalx;

uint8_t myfunc();

Add a new tab file2.cpp with

#include "header.hpp"

uint8_t globalx = 42;

uint8_t myfunc()
{
    return 23;
}

Try to compile and get the errors.

If you remove the line #include <TaskScheduler.h> from the header.hpp, everything compiles, but without your library.
I guess you'd need to split the library into proper decraration header and the definition (.cpp) file. Do you have plans for that?

The library initially had 2 files, the header and the definition. Unfortunately, in the Arduino IDE world it means I cannot use the compile parameters (#defines) in the sketch. The compiler just ignores them for some reason. I had to move to a single file due to that limitation, and at this point do not have any plans to split them up.
http://stackoverflow.com/questions/21409042/correct-way-to-include-cpp-and-h-files-in-an-arduino-sketch
From the multiple file perspective, I believe the IDE just concatenates the sketches, going left to right, so if you include TaskScheduler in the first sketch, it should work for the rest.
http://www.avrfreaks.net/forum/arduino-multiple-files-how-does-it-compile-real
and
https://www.arduino.cc/en/Hacking/BuildProcess

No, it doesn't work as you described either. See the test case under "How to reproduce" in my last response. Did you ever do a project with more then one .cpp/.ino file (excluding headers) where at least two .cpp files were importing the <TaskScheduler.h> header?

From the multiple file perspective, I believe the IDE just concatenates the sketches, going left to right, so if you include TaskScheduler in the first sketch, it should work for the rest.

Wrong. It does so only for tabs without extension. Tabs ending in .c and .cpp are compiled separately and linked against each other just like in any other C/C++ toolchain. See https://www.arduino.cc/en/Hacking/BuildProcess

Unfortunately, in the Arduino IDE world it means I cannot use the compile parameters (#defines) in the sketch. The compiler just ignores them for some reason. I had to move to a single file due to that limitation, and at this point do not have any plans to split them up.

You didn't have to. Arduino ignores #define parameters only because it parses the main .ino file, searches for any #include and moves them into beginning of the resulting, concatenated .cpp file (which goes by the name .ino.cpp). So from the avr-gcc perspective, it first sees the #includes, and only then it parses the #defines.
The solution A:
Stay away from the main sketch (.ino) file. Just leave it empty (literally. Not a single character). Do all work in separate .cpp files, where you define void loop() and void setup() - just remember to include #include<Arduino.h>, otherwise you wouldn't have access to Arduino's custom functions like digitalWrite or the Serial object. Then you can program just like any other C++ project, together with the proper use of #define and other preprocessor stuff.
The solution B:
Do customizations with preprocessor directives in a separate header file, included in the main file (e.g. #include<TaskSchedulerCustomization.hpp>). Every #definewill be parsed *before* the#include<TaslScheduler.h>`, and should work as expected.

Correction to the above: all the methods will result in properly #defined macro variables when compiling your object file. It will not work for conditional compilation of TaskScheduler.cpp, so disregard my previous post.
I've asked the question on SE: http://arduino.stackexchange.com/questions/21520/arduino-configure-script-for-conditional-compilation-of-libraries
I hope someone would find the answer.
Personally I don't use built-in IDE, but work in Eclipse. It has far better UI, and easily allows editing of included libraries. So what I do, is that I put the configuration directives directly in the library's header. But that is not a solution with public library like yours.

How do you like my own solution to the http://arduino.stackexchange.com/questions/21520/arduino-configure-script-for-conditional-compilation-of-libraries ? It is hackish, but still very simple and easy to maintain.
You'd still need to separate the definitions from the declarations in your library. I'll do it for you and post a pull request.

Let me have a look.

I had the same problem adding TaskScheduler in another library that I am creating. The PullRequest the @adamryczkowski solved my problem

I just created #17 with an alternative approach to this problem, which should not affect the way this library is configured (as long as the needed configuration #defines are added in every place that #includes TaskScheduler.h, of course).

Sorry guys. Time is at a premium. Could not find a moment to test this.

Fixed in v2.2.0 via making all methods inline

Thanks!
On Nov 18, 2016 5:59 AM, "Anatoli Arkhipenko"<EMAIL_ADDRESS>wrote:

Closed #15 https://github.com/arkhipenko/TaskScheduler/issues/15.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/arkhipenko/TaskScheduler/issues/15#event-863848306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AApNrvnfDLHGISJxe7DI-ZvkRjyoDUzDks5q_SKDgaJpZM4HqagT
.

Fixed in testing branch. Would you please test/confirm?

Implemented in v2.5.0

Im on 2.6.0 and think I am perhaps running into the same issue.
In my main .ino I've declared the following as a global variable (outside setup), to fire every 60 seconds
Task  pulse (60000, TASK_FOREVER, &callback, &scheduler, false);
In a different .cpp file for one of my classes, I define the following:
#include <TaskScheduler.h>
extern Task pulse;
The purpose is to be able to interrogate the pulse object and enable / disable inside this other class
with commands like pulse.enable() / pulse.disable(), ..
I'm not able to get it to compile ,get a long list of
multiple definition of Task::isEnabled()' multiple definition of Task::getInterval()'
multiple definition of `Task::getIterations()'
..
..
..
This go away if I remove the #include <TaskScheduler.h>, but then it doesn't know what Task is.
I also tried passing a pointer reference to the pulse Task object, to one of the methods in the .cpp that I need to manipulate pulse in, but had the same issue.
Not an expert in C/C++, could really use some help here.
Thank you much!

Could you please send me your source files via email<EMAIL_ADDRESS>Are you using Arduino IDE? Which version?

Source files just sent the files. Using Arduino IDE version 1.8.5

Switching the include in other tabs from #include <TaskScheduler.h> to #include <TaskSchedulerDeclarations.h> as suggested by Anatoli worked!
I must have missed this somewhere in the documentation. Suggest adding a bold (highly obvious) comment so others can avoid my error.
Never needed to do this before, always something new to learn :)
Thank you so much.