text:
vm and vmirs are redundant

Hi,
I've been using kubevirt and I found that having VM and VMIRS is a bit confusing and the distinction hasn't real benefit but complexify things.
Unless I miss a important piece of knowledge:

VM are like VMIRS with replicas set to 1
VMIRS are like VM with state=running

I suggest to drop VMIRS and add the replicas field in the VM specs
As an alternative, I would do VMRS that manages multiple VM that manages on VMI
VMRS -> VM -> VMI -> Pod
/kind enhancement

VM are like VMIRS with replicas set to 1

VM is more like a not yet existing VirtualMachineStatefulSet with replicas set to 1. Identity is cruicial. In case something is not right it potentially will not do anything until admins/users resolve issues.
One example: A single activated windows guest which relies on a consistent identity of the machine. If something is not  right with the machine manual intervention may be necessary.

VMIRS are like VM with state=running

VMIRS are a pool of stateless VMIs. Guest identity does not play any role. Availability is the main purpose. It creates random-named VMIs. In order to guarantee availability it roughly provides the specified number of wanted replicas. Can also be more.
One example: cluster-autoscaling. If you run your (nested) k8s cluster in those vms and want to scale them based on demand. The machines get their information via cloud-init and autonomously register and de-register as nodes for the cluster. You don't care about hardware identity, just about provided resources and that you can cover spikes.

VMRS -> VM -> VMI -> Pod

Would indeed be a possiblity. However, since VMIRS simply don't care about identity and are only interested in running VMs (so VMIs),  the don't need that extra complexity. I think that this blurs the focus of what the entities are made for and introduces unnecessary complexity and challenges for both, KubeVirt controllers and the user.

I've been using kubevirt and I found that having VM and VMIRS is a bit confusing and the distinction hasn't real benefit but complexify things.

Maybe we can explain that better in the user-guide? It would be great to get some feedback on these passages: When to use a VirtualMachine and When to use a VirtualMachineInstanceReplicaSet.

That those two 'feature' are not exclusive.

Indeed. Still the VMIRS goes more into the direction of a Deployment, whereas the VM goes more into the direction of a StatefulSet with replica 1.

Let me explain that a little bit more: Since the VM is about identity, we have to ensure that we hand out predictable names, bios UUIDs, ... to the VMIs. If e.g. the third replica replica3 in this case would be stuck and we have specified that we want three replicas, we can't simply create another VM with name replica4. It would have a never-before seen identity then. In this case an admin/user will have to first resolve the issue with replica3, so that the pool can re-create replica3.
A VMIRS can simply say, oh two of my replicas have trouble and are stuck, I don't care let's just create two more VMIs with random identity.

Thank you, that's clear !

repo: kubevirt/kubevirt


text:
[release 1.3] VMRestore: fix possible miss update of dvname on vmrestore restores - fixes quarantine tests

manual cherry pick of: https://github.com/kubevirt/kubevirt/pull/12861
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

bugfix: fix possible miss update of datavolumename on vmrestore restores

/cherrypick release-1.2

/cherrypick release-1.1

/retest

/test pull-kubevirt-unit-test-1.3

/test pull-kubevirt-unit-test-1.3

/lgtm
/approve

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
Fix deletion of ServiceMonitor CR

We could never detect a failed deletion because the condition was
prefixed with a false boolean.
Signed-off-by: Daniel Belenky dbelenky@redhat.com

What this PR does / why we need it:
In order to properly handle the deletion of service monitors
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Thanks for catching this @danielBelenky

/approve

/lgtm

/release-note-none

/retest

authors: danielBelenky rmohr stu-gott


text:
Extend VMI count metric to include osinfo

Adding os, workload and flavor to the kubevirt_vmi_phase_count
metric to provide some more information about the types of guest
machines that are running on the cluster.  The data is taken from the
vm.kubevirt.io/{os,workload,flavor} annotation on each VMI, if it
exists.
Signed-off-by: Yuval Turgeman yturgema@redhat.com

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Added os, workflow and flavor labels to the kubevirt_vmi_phase_count metric

/retest

/retest

Hello hello,
Seeing that you're working on the vmi_phase_count metric, let me add some thoughts that came to my mind at some point in time...
I've always wondered why KubeVirt is the one that does the aggregation of VMIs per phase. PromQL is a really strong feature of Prometheus, it can do aggregations pretty easily and with different labels.
Why not treat vmi_phase just like any other VMI metric, with name, namespace, node, and phase labels and also with the already merged functionality of adding more labels through the K8s metadata labels. This way we can use PromQL to have counters of VMI per any label we want.

Another concern I have with this metric is that I think it is not being exposed by the right component. Virt-handler is a component that is strongly coupled with the node that it's running on. However, some of the VMI phases indicate that the VMI still doesn't have a "relation" with any node yet, like scheduling for example. VMIs that are stuck in scheduling will never be exposed by any virt-handler because, well, those weren't scheduled in any node yet.
What about moving this metric to virt-controller? I think it has a better perspective of the whole KubeVirt environment and will be able to catch any VMI, independently of its phase or node.

Hi Arthur,
Thanks for the review, I see your point and I tend to agree, but this PR is about extending the existing metric.  It's probably worth to open 2 new issues to have this tracked and start a discussion:

Deprecating kubevirt_vmi_phase_count in favor of a vmi metric that holds the template data (and any other data as well..)
Expose metrics in virt-controller instead of virt-handler

I think I've started some work on it some time ago but stopped once I've noticed that I could only expose running VMIs.
Let me find that branch and open a draft PR for you to see :slightly_smiling_face:
Since we already have a strategy for adding metric labels through k8s metadata labels, I'd be against adding yet another strategy, e.g., through annotations. I would be totally fine to change our current strategy if we agree that it's for the better!

I've created #4580 just as a draft, let me know what you think :)
A VMI with osinfo could be created with the following yaml:
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstance
metadata:
  labels:
    os:       "centos8",
    workload: "server",
    flavor:   "tiny",
  name: vmi-ephemeral
spec:
  domain:
    devices:
      disks:
      - disk:
          bus: virtio
        name: containerdisk
    machine:
      type: ""
    resources:
      requests:
        memory: 64M
  terminationGracePeriodSeconds: 0
  volumes:
  - containerDisk:
      image: registry:5000/kubevirt/cirros-container-disk-demo:devel
    name: containerdisk

Those informations would be exposed not only at the vmi_phase metric, but on every other vmi metric as well

The labels we have on a VMI are added by the UI for identification purposes, while we need the data for metric information.
While it is possible to use those labels, they are in the form of os.template.kubevirt.io/rhel7.9=true and this would translate to something like "kubernetes_vmi_label_os_template_kubevirt_io_rhel7_9: true" so running a query like
sum(kubevirt_vmi_phase_count{kubernetes_vmi_label_os_template_kubevirt_io_rhel7_9=true})
feels a little less intuitive than
sum(kubevirt_vmi_phase_count{os="rhel7.9"})
This is the reason for adding a new way to grab metric data from annotations that are added by templates (https://github.com/kubevirt/common-templates/pull/288)
Regarding the aggregation, I agree that it's not a must, but this metric already exists and it already aggregates, so I'm not sure we can simply change its behavior.

The labels we have on a VMI are added by the UI for identification purposes, while we need the data for metric information.

Hmm, I didn't know that, I'm still not familiar with red hat CNV :(

While it is possible to use those labels, they are in the form of os.template.kubevirt.io/rhel7.9=true and this would translate to something like "kubernetes_vmi_label_os_template_kubevirt_io_rhel7_9: true" so running a query like
sum(kubevirt_vmi_phase_count{kubernetes_vmi_label_os_template_kubevirt_io_rhel7_9=true})
feels a little less intuitive than
sum(kubevirt_vmi_phase_count{os="rhel7.9"})

Totally agree with you here, at the time I implemented this I didn't receive much feedback, and now I don't like the way those labels are named as well. 100% not intuitive.

This is the reason for adding a new way to grab metric data from annotations that are added by templates (kubevirt/common-templates#288)

I definitely don't want to be a blocker if this is needed somewhere, just wanted to say that it doesn't feel right to have multiple alternatives for adding metric labels. I'm worried that it can get out of control at some point in the future, but maybe it's just me being overly cautious :sweat_smile:.

Regarding the aggregation, I agree that it's not a must, but this metric already exists and it already aggregates, so I'm not sure we can simply change its behavior.

Yeah, there's some discussion going on about how we handle metrics change, but unfortunately, I think we still haven't come to an agreement. I'd love to have a proper discussion about this someday with anyone else interested btw, I feel like I'm almost alone when it comes to kubevirt's observability :disappointed:

/retest

/lgtm

/lgtm

/retest

/retest

/reteset

/lgtm

How can we move this PR forward?

How can we move this PR forward?

/approve

/approve

/retest

/retest

authors: ArthurSens ashleyschuett fabiand sradco yuvalturg


text:
Loading times

Discussed in https://github.com/kubilus1/autoortho/discussions/160

Originally posted by srykho22 May 23, 2023
I'm having issues with AO taking over an hour and a half to start up, with my flights also hanging for over thirty minutes at a time every time it gets new textures. I've gone as far down as minimum ZL 14 and things haven't really changed. Max wait time at 0.25 shows the majority of tiles as just pure green (didn't download), whereas a wait time of 1.50 doesn't load in, even overnight.
I don't clear the cache, and I have experimented with having the cache on both an external SSD and external HDD. Speedtest says my internet is around 180Mbps download, with task manager saying my ethernet is using 17Mbps with Auto Ortho running. I've also seen the usage go up with other apps when I tested if my ISP was throttling, and I've also tried the new version and reverting to older versions, with barely any difference.
Auto Ortho gives a lot of "empty chunk data, skip" errors, but VPN doesn't really help there.

Using the default ZL of 12 does reduce the initial startup to 30 minutes, but the majority of the tiles are pixelated and I see multiple tiles being pure green (default). The sim also still hangs instead of stuttering when gathering new tiles. Tried this with both the default wait time of 0.5 and a wait time of 1.5

Interesting.  Definitely something is throttling your connection.  Maybe it's a DNS issue?  Do you just use your ISPs default?  Maybe try a standard DNS server.

I should be on Google's DNS servers; I'll try others

Is "Map type override" blank? Blank sometimes helps.

Map override is currently blank, though I also tried it with ARC and BI. No difference

Hi.
I have the same issue. Textures don't load or load very late. Tested on BING and ARC with ZL12 and 1.5 time
https://cdn.discordapp.com/attachments/758215560105689099/1120003296321613844/X-Plane_Screenshot_2023.06.18_-_16.52.48.44.png
https://cdn.discordapp.com/attachments/758215560105689099/1119998299211059302/image.png

source: gharchive/issue


text:
fix: support locally installed reporter and mode

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

support locally installed reporter and mode

What is the current behavior? (You can also link to an open issue here)

currently, reporter and mode have to be globally installed to be used.

What is the new behavior (if this is a feature change)?

we can install reporter and mode locally, thus can benefit from lock file.

Other information:

I'm curious about why detect-installed is used. IMO useReporter can be written like
export function useReporter(name: string) {
  const reporterName = `jscpd-${name}-reporter`;
  try {
    return require(reporterName).default;
  } catch (e) {
    throw new Error(`Reporter "${reporterName}" does not found, please check that you have installed reporter package`);
  }
}

This change is

Thank you for PR
Fixed in jscpd@1.0.2

authors: kucherenko whtsky

repo: kucherenko/jscpd

license: mit

license_source: bigquery


text:
Use a 'scripts' directory to follow a common Go project layout

What this PR does / why we need it:
Common practice in Go projects is to have build, install, analysis scripts in a /scripts directory. This diff moves most scripts into the new /scripts directory. It keeps update_codegen.sh in /hacks, as this is common for this script.
Also refactors the e2e test script to have less code duplication.

Closing, as the convention for most Kubernetes project is to use /hack instead of /scripts.

repo: kudobuilder/kudo


text:
Update sensor.py

To avoid WARNING in HASS:
WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.aladin_online.sensor.SensorEntity'>) is implicitly using device name by not setting its name. Instead, the name should be set to None, please report it to the custom integration author.

What version of integration and HA do you use?

Latest release of Aladin - 2.4.0
And same the latest HA - 2023.9.2 (same behavior in 2023.9.1, no older logs available)
In general there seems to be bigger change in weather component:
https://www.home-assistant.io/blog/2023/09/06/release-20239/#weather-forecast-service

It’s just strange because I use both latest versions too and don’t have nothing in logs.

Weird then.
I modified the sensor.py at HASS and after restart the error disappeared from logs.
I googled the same issue in several other integrations and this was the fix there as well.

Can you try remove the integration and install it again?

Well.
Removed the service, removed intergration in HACS. Restart HA, jsut of sure. Add Aladin in HACS, create service again.
Immediately after adding the serveice the WARNING appeared in the log.
HA restart and WARNING in log again during startup.

I'm still not able to reproduce it. And I also this the fix does not make sense: https://developers.home-assistant.io/docs/core/entity/#entity-naming

I am more and more confused.
For me it is perefectly reproducible :(
Restart of HASS, tailing the log and grepping for aladin:
2023-09-20 22:02:00.776 INFO (MainThread) [homeassistant.setup] Setting up aladin_online
2023-09-20 22:02:00.776 INFO (MainThread) [homeassistant.setup] Setup of domain aladin_online took 0.0 seconds
2023-09-20 22:02:13.564 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.aladin_online
2023-09-20 22:02:13.565 INFO (MainThread) [homeassistant.components.weather] Setting up weather.aladin_online
2023-09-20 22:02:13.571 WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.aladin_online.sensor.SensorEntity'>) is implicitly using device name by not setting its name. Instead, the name should be set to None, please report it to the custom integration author.
2023-09-20 22:02:13.578 WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.aladin_online.sensor.SensorEntity'>) is implicitly using device name by not setting its name. Instead, the name should be set to None, please report it to the custom integration author.

Then modify sensor.py and clean up all files in homeassistant/custom_components/aladin_online/__pycache__.
Restart of HASS, tailing the log and grepping for aladin and only this:
2023-09-20 22:07:29.749 INFO (MainThread) [homeassistant.setup] Setting up aladin_online
2023-09-20 22:07:29.749 INFO (MainThread) [homeassistant.setup] Setup of domain aladin_online took 0.0 seconds
2023-09-20 22:07:40.844 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.aladin_online
2023-09-20 22:07:40.865 INFO (MainThread) [homeassistant.components.weather] Setting up weather.aladin_online

authors: kukulich tristone-cz

repo: kukulich/home-assistant-aladin-online

license: MIT


text:
Multiple webhooks

Asked this on MediaWiki itself, but was asked to move it here for convenience.
Hello there. I'm trying to see if I can get Discord Notifications to send to two servers, but my attempts are not working. LocalSettings prioritizes the first webhook over the second, or ends up doing nothing at all when I tried "array". Wondering if this is possible to do in the first place, and if so, how? Thanks in advance :)

Thanks! Did you use the $wgDiscordAdditionalIncomingWebhookUrls configuration option like this:
$wgDiscordAdditionalIncomingWebhookUrls = ["https://yourUrlOne.com", "https://yourUrlTwo..."];

Thank you, that worked! ^_^

Glad to hear that! Closing the issue :)

authors: PowerMasterAlex kulttuuri

repo: kulttuuri/DiscordNotifications


text:
Production build config in kuma.config

Right now, the production environment is detected via process.env.NODE_ENV === "production". It would be great to add a switch to kuma.config
We have a staging environment where NODE_ENV === "staging". However, we want to build kuma in release mode.

@seagullua
Thank you for your suggestion. Currently, the only distinction between the dev and prod environments in the Kuma codebase is the prefixing of CSS class names for emojis with kuma- in the production environment.
Considering the limited scope of this change, introducing a switch in the kuma.config might not offer significant benefits. However, if you believe this modification would better facilitate your staging process or benefit your use case in another way, we’d be more than happy to consider a pull request from your end. 👍

authors: poteboy seagullua

repo: kuma-ui/kuma-ui


text:
feat(dataplanes): show info per inbound or gateway

Changes
Cleans up the TagList component. Removes its access to router/route-specific services. Adds a link for mesh annotations. Wraps the TagList in KTruncate.
Changes the dataplane detail and summary views to show tags and address per inbound (for standard DPPs) or for the gateway (for gateway DPPs).
Updates mocks to make DPP certificates random per item instead of per list. Also fixes an issue with the mocks adding an extra mTLS property.
Signed-off-by: Philipp Rudloff philipp.rudloff@konghq.com
Resolves #1724.

I just wondered if the Service: was helpful to people? Would most people assume that this was the name of the service anyway? Removing it would also free up even more space and not use a colon for two things, wdyt?

I opened a thread for this so we can isolate the conversation around this here: https://github.com/kumahq/kuma-gui/pull/1745/files#r1394115653

repo: kumahq/kuma-gui


text:
New Game added

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #239

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @pavitrachavda97 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @pavitrachavda97 !! we already have this game request prior to you in #29 !!

Thank you  @pavitrachavda97 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀

repo: kunjgit/GameZone


text:
Init repo directories and Move hbase repo

1.Create new directories foe new repo
2. move hbase old repo to new

lgtm

lgtm

authors: Jutao-liu chunie tushengxia

repo: kunpengcompute/boostkit-bigdata


text:
[要望] MA Parameterの自動リネーム機能への対応

Describe the bug / バグの説明
MA Parameterの自動リネームのチェックを付けた場合に，そのリネーム後のパラメータが見つからないとの旨のエラーが表示されます(アップロード自体はできます)．
自動リネームのチェックを外すと正常に動作することを確認しています．
Quest単騎の人に確認していただいたところ，このパラメータを使っているアニメーションが正常に動作されておらず，パラメータの同期もできていないようです．
ModularAvatar・VRCFury側の問題なのか，VQT側の問題なのかは私にはわかりませんが報告だけしておきます．
エラー画面にはVRCFuryの記載がありますのでVRCFuryのissueとして出すべきなのでしょうか．．．？
VRCFuryはFix WriteDefaultsコンポーネンツを使用しています．
To Reproduce / 再現手順

MA Parameterで何かしらのIntパラメータを作ってそれの自動リネームを有効化する
PCにアップロード
Questにアップロード
~~ ビルド時にエラー　しかしアップロードはできる

Expected behavior / 期待する動作
自動リネームへの対応
Screenshots / スクリーンショット

MA Parameterの自動リネームについて，
右を有効化すると以下のようなエラーが表示される．

Used assets / 使用したアセット

衣装 : https://booth.pm/ja/items/6307927

VRCQuestTools version / VRCQuestToolsのバージョン
2.6.0
Unity version / Unityのバージョン
2022.3.22.f1
Additional context / その他の情報

VRChat SDK - Base 3.7.4
VRChat SDK - Avatars 3.7.4
VRCFury 1.1100.0
Modular Avatar 1.11.1
NDMF 1.6.2
を使用しています．

一般的な事項として、PC-Quest間でパラメータ定義が違っているとパラメータが正しく同期されません。
Quest側だけ何らかのギミック(に付随するMA Parameters)を削除しているなど、パラメータの数と順序がずれてしまうことになっていないか確認してみてください。
PC用とQuest用のそれぞれをNDMFでマニュアルベイクしてExpression Parametersの内容が一致するかを確認するのがよいと思います。
なおVRCQuestToolsはExpression Parametersには関与しないので、PC-Quest間でヒエラルキーの構成が一致していて結果が異なる場合はMAへ確認いただくことになりそうです。

なおVRCQuestToolsはExpression Parametersには関与しないので、PC-Quest間でヒエラルキーの構成が一致していて結果が異なる場合はMAへ確認いただくことになりそうです。

承知しました．返信ありがとうございます．

repo: kurotu/VRCQuestTools


text:
Non-ephemeral host ports

Background & motivation
Currently all exposed port numbers on the host are ephemeral. This makes it challenging to debug with many services.
Desired behaviour
I propose to allow adding a host port to PortSpec to use non-ephemeral port numbers.
https://docs.kurtosis.com/api-reference/starlark-reference/port-spec/
How important is this to you?
Painful; the lack of this feature makes using Kurtosis frictionful.
What area of the product does this pertain to?
SDK: the Software Development Kit libraries - Typescript, Go, etc.

Hey @igor-ritual! This is a great feature request. Other folks have asked for this too in https://github.com/kurtosis-tech/kurtosis/issues/1475.
From the issue above, we currently have a workaround available called the public_port. Here's an example of its use in a real package by the NEAR Foundation: https://github.com/kurtosis-tech/near-package/blob/5923d58c79633134823875c8dd95d355a3b82a05/src/services/indexer.star#L70
We have plans in January 2024 to revamp how this API works to make it more first-class and easy to use.
I'd recommend you use the workaround suggested above for now, and then when we release the new way to define static port, we will help you migrate :)

Let's keep this open until Jan 2024 when we release the first-class implementation of static ports :)

authors: igor-ritual leeederek

repo: kurtosis-tech/kurtosis


text:
Infer timezone from .start and .end

Firstly, thanks a ton for your work here, the library is a pleasure to work with!

Currently, the .start and .end attributes support datetimes, which can include timezone information. I tried to use that to set timezone, but when creating an event, that information is ignored, instead using the string from the .timezone attribute.
I suggest dropping the .timezone attribute, instead enforcing that the timezone of .start and .end is the same, and adding a .timezone property, which returns a string based on the tzinfo of .start.

Hey @MartinBernstorff,
Thanks for the submission and sorry for the late reply.
Yeah, I'd consider that a bug. GCSA follows the official API that supports both timezone in datetime (formatted according to RFC3339) and explicit timezone field. So I'd keep the timezone argument (so user can pass naive datetime with explicit timezone).
But I'll need to fix that.
Thanks again for finding this.

No worries at all, I'm super happy about GCSA and the tremendous amount of effort you've put into a nice open source library!
Out of interest, what would happen if the timezone field and the timezone information in the start or end fields do not match? It seems like an invalid state, so perhaps raise an error on construction/mutation?

authors: MartinBernstorff kuzmoyev

repo: kuzmoyev/google-calendar-simple-api


text:
Update ethAbi.json

NVC Fund Added

Already added

repo: kvhnuke/etherwallet


text:
Optimization: selective merkleization

In GitLab by @fahree on Mar 11, 2020, 14:57
Automate decision of which parts of the contract state to merkleize vs to store directly. Merkleization wins where there are few fields that are always loaded with object. But parts subject to race conditions might be kept direct.

In GitLab by @fahree on Nov 7, 2020, 03:42
assigned to @fahree

repo: kwannoel/urban-octo-carnival


text:
Implement PCID

This helps the case of multiple address spaces.

Done.

repo: kwast-os/kwast


text:
addTrade "invalid Sign"

Always having "Invalid Sign" error
with this code
privateClient.addTrade(function(err,data){
console.log(data)
return true}, {symbol : 'ltc_btc', type : 'buy', amount : 0.0001, price : 0.1}

Hi @Byykiss,
I'm only using this for data collection at the moment (using the public API/Read methods, and the getBalance method).  The addTrades is effectively untested at the moment, I can add it in if you like, or you could fork and add a pull request and I'll commit it?

authors: Byykiss kwiksand

repo: kwiksand/yobit


text:
[BUG] ModuleNotFoundError: No module named 'swarms.memory.vector_stores'

Traceback (most recent call last):
File "/home/v/swarms/tests/memory/oceandb.py", line 3, in
from swarms.memory.ocean import OceanDB
File "/home/v/.local/lib/python3.10/site-packages/swarms/memory/init.py", line 1, in
from swarms.memory.pinecone import PineconeVector
File "/home/v/.local/lib/python3.10/site-packages/swarms/memory/pinecone.py", line 2, in
from swarms.memory.vector_stores.base import BaseVector
ModuleNotFoundError: No module named 'swarms.memory.vector_stores'

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

@vyomakesh09 this has been fixed

repo: kyegomez/swarms


text:
[vie] [ˀ] not transcribed in tones

The Vietnamese tone represented by <˜> is transcribed on Wiktionary as [˦ˀ˥] for the Hanoi dialect. However, after checking a number of words, it seems that Wikipron did not record the glottalization diacritic (either that, or maybe the Wiktionary transcriptions for all the words I checked have changed since the last time we scraped Vietnamese, but that seems less likely).
As an example, data/tsv/vie_hanoi_phonetic.tsv has bản ngã	ʔ ɓ aː n ˧˩ ŋ aː ˦˥, but Wiktionary has [ʔɓaːn˧˩ ŋaː˦ˀ˥] as the transcription for that word.

Can you run ./scrape.py --restriction=vie and then look to see whether
this persists? The last time I saw an inconsistency like this, it was the
case that the data upstream had changed since last scrape.
On Wed, Dec 2, 2020 at 12:09 AM ajmalanoski notifications@github.com
wrote:

The Vietnamese tone represented by <˜> is transcribed on Wiktionary as
[˦ˀ˥] for the Hanoi dialect. However, after checking a number of words, it
seems that Wikipron did not record the glottalization diacritic (either
that, or maybe the Wiktionary transcriptions for all the words I checked
have changed since the last time we scraped Vietnamese, but that seems less
likely).
As an example, data/tsv/vie_hanoi_phonetic.tsv has bản ngã ʔ ɓ aː n ˧˩ ŋ
aː ˦˥, but Wiktionary has [ʔɓaːn˧˩ ŋaː˦ˀ˥] as the transcription for that
word https://en.wiktionary.org/wiki/bản_ngã.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/280, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OOGAJKULYHOSFZDMQDSSXDXXANCNFSM4UJ7BFQQ
.

(I'm running this now too)

Looks like this is a segments problem:
import segments
tokenizer = segments.Tokenizer()

print(tokenizer("ʔɓaːn˧˩ ŋaː˦ˀ˥", ipa=True))
# Prints: ʔ ɓ aː n ˧˩ # ŋ aː ˦˥

(# is from the space in the transcription, ˀ is dropped for some reason.)

Good sleuthing.
Segments is a constant problem. I wonder if we should just fork it and do
our own thing.
On Wed, Dec 2, 2020 at 11:46 AM Lucas Ashby notifications@github.com
wrote:

Looks like this is a segments problem:
import segments
tokenizer = segments.Tokenizer()
print(tokenizer("ʔɓaːn˧˩ ŋaː˦ˀ˥", ipa=True))
Prints: ʔ ɓ aː n ˧˩ # ŋ aː ˦˥
(# is from the space in the transcription, ˀ is dropped for some reason.)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/280#issuecomment-737354037,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OIDGFCPGFQIALOKUZ3SSZVNDANCNFSM4UJ7BFQQ
.

I submitted a PR to the segments guys regarding this. We'll see what they say. If they do accept it should I ask them to do a pypi release?

I submitted a PR to the segments guys regarding this. We'll see what they say. If they do accept it should I ask them to do a pypi release?

Yes, that’d be the next step.
On Wed, Jan 6, 2021 at 8:45 PM Lucas Ashby notifications@github.com wrote:

I submitted a PR to the segments guys regarding this. We'll see what they
say. If they do accept it should I ask them to do a pypi release?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/280#issuecomment-755830055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OLF52QNMXDZRLZNPI3SYUG27ANCNFSM4UJ7BFQQ
.

Yes, that’d be the next step.
On Wed, Jan 6, 2021 at 8:45 PM Lucas Ashby notifications@github.com wrote:

I submitted a PR to the segments guys regarding this. We'll see what they
say. If they do accept it should I ask them to do a pypi release?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/280#issuecomment-755830055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OLF52QNMXDZRLZNPI3SYUG27ANCNFSM4UJ7BFQQ
.

authors: ajmalanoski kylebgorman lfashby

repo: kylebgorman/wikipron


text:
create type if not exists fails

Version
1.14.0
What happened?
Wanted to create a new enum only IF NOT EXISTS.
This might not be supported in postgres (dunno), but is supported in cockroachdb https://www.cockroachlabs.com/docs/v22.1/create-type and its a very nice feature for having an easy migration.
Relevant log output
schema.sql:1:1: syntax error at or near "NOT"

Database schema
CREATE TYPE IF NOT EXISTS community_role AS ENUM ('creator', 'admin');

SQL queries
No response
Configuration
version: "2"
sql:
  - schema: "schema.sql"
    queries: "queries.sql"
    engine: "postgresql"
    gen:
      go:
        package: "nakama"
        out: "."
        output_models_file_name: "models_gen.go"
        output_db_file_name: "db_gen.go"
        output_files_suffix: "_gen.go"

Playground URL
No response
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

When I look at the postgresql docs CREATE TYPE does not support the "IF NOT EXISTS" syntax, so I believe the syntax error is expected.
What I wonder is why you would add this to the sqlc schema.sql
This file is interpreted while generating the code. It is not sent to any real database, therefore the type cannot exist (unless you already defined it earlier in your schema.sql, in which case you could just remove one of the definitions).

It is supported in CockroachDB.
I'm using the schema.sql file as the migration file. So in that sense, all statements have IF NOT EXISTS so the migration can be run multiple times without issue.

I understand that you want to migrate from CockroachDB to PostgreSQL. I suggest you try running the schema.sql against a real PostgreSQL database and tweak it until it creates the tables and types you want it to create. Try this without sqlc. Once you got the schema working, try it again with sqlc.
The advantage of that approach is that any syntax errors in your code will be caught by the database and you will find out quickly whether the database does not support it or whether it's sqlc.

No no. I'm talking about the application schema one "migrates" to create the tables on the database.
So, the same schema.sql file is being used by sqlc to generate queries, and to create the tables when the application starts.
And all statements have IF NOT EXISTS so it doesn't fail on a second run.

I understand that you don't want them to fail on the second run. But before I want them to succeed on the second run, I want them to succeed on the first run (which right now won't work because of syntax errors).
Does your schema.sql run successfully when the application starts (because that has nothing to do with sqlc)?

Ah, I think I misunderstood you before. Let me try again:
You are using CockroachDB.
You want to generate code for your CockroachDB using sqlc.
Sqlc does not support CockroachDB.
You want to use the fact that CockroachDB understands Postgresql commands, which is why you are using the "postgresql" engine.
The DDL command you are using is supported in CockroachDB, but not in Postgresql, which is why you get the error.
In order for this to work I can see the following alternatives:

the postgresql engine needs to support CockroachDB commands (which sounds a little like #151)
sqlc needs to support a "cockroachdb" engine (see #1389)
use two schema.sql files, one for the application, one for sqlc (it would solve the problem of the syntax error, it would not solve the problem of using one file for both purposes)
write a little script that parses the CockroachDB-schema.sql and turns it into a Postgresql-schema.sql before running sqlc generate (this could be done as part of your "generate my SQL code with sqlc"-build step)

The last two solutions are something you could easily do yourself, for the others I'm afraid my knowledge of sqlc and cockroachDB are not good enough yet, so I cannot help you there (I am just a user of sqlc myself).

Thanks.
I don't think supporting cockroachdb as a full engine is a good idea for sqlc.
Cockroach is very similar to postgres. It uses the same protocol. And for the most part, they have the same features.
Maybe cockroach support less.
But in this specific case, cockroach supports CREATE TYPE IF NOT EXISTS while postgres doesn't. And sqlc only caring about supporting postgres...

I am using a workaround to the IF NOT EXISTS syntax for creating types and this results in the generated type to be interface{} rather than CfTypes. If I remove the workaround, sqlc generates the correct code but at the cost of the migration not working.
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT
            1
        FROM
            pg_type
        WHERE
            typname = 'cf_types') THEN
    CREATE TYPE cf_types AS ENUM (
        'typology',
        'sub_typology',
        'item'
);
END IF;
END
$$;

Actually Postgres supports CREATE TABLE IF NOT EXISTS since version 9.1
https://www.postgresql.org/docs/9.1/sql-createtable.html

TABLE is different from TYPE.

TABLE is different from TYPE.

My bad, I have overlooked it. It doesn't work with create table either. That's how I found this issue.

I'm pretty sure it does 🤔

authors: akutschera nicolasparada prochac ram02z

repo: kyleconroy/sqlc


text:
Loudly alert user when cell tower data is received

Cell tower coverage is poor in forests, and valleys. There should be an option, to loudly alert the user when cell tower data is received. This can be used to place an emergency call.
I don't know if it can be done without root.

While this is a cool idea, Trail Sense would need to request mobile data / Internet permission - which a lot of people using it may not like. I know many Android phones do support sending a text message when reconnected to data, so that could be a natively supported option.
Also, you would need some root permissions (or at least elevated permissions) to adjust the user's sound setting to play a loud sound to alert them.


text:
Drag and drop issues in V3b3

In the latest beta I don't seem to be able to drag and drop items to move them. I can drag and drop to equip (including between characters), but not to move. I also note that the nice little animated highlights no longer appear when I start dragging an item.
No errors are displayed by the UI or by the console.

Look at that...  Thanks, I fixed it.  Messed that up trying to fix the highlighting.

Awesome :) You're on a hell of a development spree at the moment!

Are you comfortable running 'bower' and pulling the code directly from the repo?

Yep. Want me to test it? I'll give it a shot now.

Let me push, one moment.

Pushed.  Go ahead and pull.

Meet me over here, https://gitter.im/kyleshay/DIM

repo: kyleshay/DIM


text:
Fix double backend requests bug

Fix double backend requests bug
This PR fixes the issue where Compass UI always sends two backend requests when navigating through the UI.
This also fixes the problem where going from the Overview page to the Runtimes page caused two backend requests to be send to fetch the runtimes - one with the Tenant header and one without it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant NickyMateev

repo: kyma-incubator/compass-console


text:
Remove Istio

Istio module is rolled out to Prod, so we can remove the deprecated Istio reconciler.

https://github.com/kyma-incubator/reconciler/issues/1409

/retest

How about this file: https://github.com/kyma-incubator/reconciler/blob/1bfc067e5d88e866b763ddfa089825f117b6bee1/configs/reconciler.yaml#L45

/retest

repo: kyma-incubator/reconciler


text:
Add cleanup for local development

Description
Changes proposed in this pull request:

Add cleanup for local development

/test all

/test all

/test pre-main-keda-manager-verify

/test all

/test tide

/test pre-main-keda-manager-verify

/test all

/hold

/override tide

/test all

authors: Ressetkk m00g3n pPrecel

repo: kyma-project/keda-manager


text:
Disconnected camera

The module works well.
In case the camera is disconnected (unplug the cable) and then connect, the module does not detect that and the process needs a restart to see the media again in browser.
Kind regards,
Nasser

Same issue here.
I tried passing some http options to ffmpeg but it has no effect :
  ffmpegOptions: {
    "-reconnect": 1,
    "-reconnect_at_eof": 1,
    "-reconnect_streamed": 1,
    "-reconnect_delay_max": 2,
  },

The process need to restart to see the video too.

Thanks for clarification

The solution is to modify the file mpegmuxer.js, in the line 44 when an error occurs, this is only handling errors with code = 1, if the camera gets disconnected the error code = 0, so I fixed it adding the code === 0 to the If

authors: AndresGamboaBaldi NasserAlmanji OmanCoding llindor

repo: kyriesent/node-rtsp-stream


text:
🛑 senoshaidodelasmanos.love is down

In 2deca38, senoshaidodelasmanos.love (https://senoshaidodelasmanos.love) was down:

HTTP code: 0
Response time: 0 ms

Resolved: senoshaidodelasmanos.love is back up in 2270c9a after 22 minutes.

repo: kyryl-bogach/upptime


text:
🛑 clinicafabregat.com is down

In d2c1f9d, clinicafabregat.com (https://clinicafabregat.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: clinicafabregat.com is back up in d02af0d after 20 hours, 13 minutes.


text:
Issue with migration file to MySQL database

Anyone help to solve this issue?
This my migration file
import { Kysely, sql } from 'kysely';

const userTableName = 'user';

export async function up(database: Kysely<unknown>): Promise<void> {
  await database.schema
    .createTable(userTableName)
    .addColumn('id', 'uuid', (col) => col.primaryKey())
    .addColumn('email', 'varchar', (col) => col.notNull().unique())
    .addColumn('password', 'varchar', (col) => col.notNull())
    .addColumn('created_at', 'timestamp', (col) =>
      col.defaultTo(sql`now()`).notNull(),
    )
    .addColumn('updated_at', 'timestamp', (col) =>
      col.defaultTo(sql`now()`).notNull(),
    )
    .addColumn('deleted_at', 'timestamp')
    .execute();
}

export async function down(database: Kysely<unknown>): Promise<void> {
  await database.schema.dropTable(userTableName).execute();
}

I got error
yarn migrate:latest
failed to execute migration "20240324124249_add_users_table"
Failed to migrate
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'uuid primary key, `email` varchar not null unique, `password` varchar not null, ' at line 1
    at Packet.asError (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/packets/packet.js:728:17)
    at Query.execute (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/commands/command.js:29:26)
    at PoolConnection.handlePacket (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/connection.js:481:34)
    at PacketParser.onPacket (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/connection.js:97:12)
    at PacketParser.executeStart (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/packet_parser.js:75:16)
    at Socket.<anonymous> (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/mysql2/lib/connection.js:104:25)
    at Socket.emit (node:events:514:28)
    at Socket.emit (node:domain:489:12)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at MysqlConnection.executeQuery (/Users/japan/Workspace/nodejs/nestjs-kysely-mysql-graphql/node_modules/kysely/dist/cjs/dialect/mysql/mysql-driver.js:119:69)

uuid is not a valid MySQL data type.

uuid is not a valid MySQL data type.

thanks, but how can I use id as a primary key and auto increment ? and set created_at, updated_at to current date?

Hey 👋
CREATE TABLE example_table (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

import { sql } from "kysely";

await db.schema
  .createTable("example_table")
  .addColumn("id", "integer", (cb) =>
    cb.unsigned().notNull().autoIncrement().primaryKey(),
  )
  .addColumn("created_at", "timestamp", (cb) =>
    cb.defaultTo(sql`CURRENT_TIMESTAMP`),
  )
  .addColumn("updated_at", "timestamp", (cb) =>
    cb
      .defaultTo(sql`CURRENT_TIMESTAMP`)
      .modifyEnd(sql`ON UPDATE CURRENT_TIMESTAMP`),
  )
  .execute();

https://kyse.link/Visis

authors: SOMONSOUM igalklebanov koskimas

repo: kysely-org/kysely


text:
Modifies check for prayer during XP drop and readme

Mirrors the change in https://github.com/runelite/runelite/commit/8972a6de25345082ce5748e4a31528ba8079381b where it checks for the server varbit to confirm whether the prayer was flicked.

Oops i messed up the git command but i'll keep the commits on master. Thanks


text:
separate initial pinning from default pinning by a provider

Default provider currently is web3.storage
User runs IPFS daemon to pin locally at first -> then pins with a pinning provider

We decided not to have user run their own IPFS daemon because it adds mroe work on their local machine end

repo: labdao/ganglia


text:
fix: #241

add remove eventListener to fix multi event bind

#241

repo: labring/laf


text:
Initial listing of all parameters

Closes #90

@ArtemSokolov I have changed the style for visualization, adapted Clarence input and I have added parameters for Ilastik and quantification

authors: ArtemSokolov DenisSch

repo: labsyspharm/mcmicro-nf


text:
test generation with numpy.ndarray

Using master at checkout a3829e0ef4f9809e3be500348d0b00430248e4e7
Generating tests for a subclass of numpy.ndarray doesn't seem to work properly.
This might not be possible due to the way numpy.core.multiarray works.

python --version
Python 3.6.3 :: Anaconda, Inc.
python -c "import numpy as np;print(np.version.version)"
1.15.4

sample.tar.gz
If I put a from numpy import array in the enh_ndarray.py, it picks up the array.  I attempted to figure out where in generators/default.py to fix this but could not find it.

Hi Eric. I just took a look at your sample. Am I correct in assuming that you are referring to the generated test case for array_finalize?
I believe the issue here is that Auger currently assumes that a class can be instantiated without an argument. Since you have overwritten new with a required argument (shape), I believe this is the underlying issue. From your sample, it's not obviously clear to me at this point on how we could resolve this.

repo: laffra/auger


text:
Revert "Prover refactor"

Reverts lambdaclass/lambdaworks#231

Codecov Report

Merging #256 (57f83ee) into main (4918d4c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #256   +/-   ##
=======================================
  Coverage   96.19%   96.19%
=======================================
  Files          83       83
  Lines        9444     9444
=======================================
  Hits         9085     9085
  Misses        359      359

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

authors: codecov-commenter pablodeymo

repo: lambdaclass/lambdaworks


text:
Show data from DB

Changes:

Make the following pages use DB data:

Block Index.
Block Detail.
Transaction Detail.
Transaction Index
Index

Add "seeds" for development.

How to test:

Run the db dump with make seed and check the details and index pages.

Update the README instructing to run make seed for local development

Closing this in favor of #104


text:
Add setAttributes to ClassGenerator

Feature Request

Q
A

New Feature
yes

RFC
no

BC Break
no

Summary
Please add support for attributes generation like it has place for DocBlockGenerator
It should support one attributes or a group of them
#[Attribute1(arg: true)]
#[Attribute2]
class SampleClass implements
{
}

Probably requires a dedicated AttributeGenerator: consider sending a patch/proposal.

Should I leave compatibility with 7.4?

Your pick: PHP 7.4 is almost dead, so you can drop it, if it helps development.

See also #143

https://github.com/laminas/laminas-code/pull/145

authors: Ocramius jakublabno

repo: laminas/laminas-code


text:
Issue with extending \ArrayObject

Bug Report

Q
A

Version(s)
4.10.0

PHP version
8.1

Summary
Create a simple class whe extend \ArrayObjec e.g.
class Param extends \ArrayObject {}
and after create a class who inject thi class in his l'une de ces method.
class Bug  {     public function test(Param $param)     {     } }
If we try to fdo a reflection with this class/method we git this error

Current behavior
We got the error:
Call to undefined method ReflectionUnionType::isBuiltin()#0
How to reproduce
Create a simple class that extends the \ArrayObject class, eg:
class Param extends \ArrayObject {}
and then you have to create a class that injects this class in one of its methods, eg:
class Bug {     public function test(Param $param)     {     } }
And then you have to try to do a reflection with this class/method using Laminas Reflection
see here https://github.com/magento/magento2/issues/35448

Hello,
if you are interested he can offer a fix and send a PR

Do please feel free to send a patch against 4.11.x (testa though!)

@mimou78, you don't share fix ?


text:
radio: Reduce power level options to match V1 DAL.

As discussed in:

https://github.com/lancaster-university/codal-microbit-v2/issues/260

This change more closely matches the input values for MicroBitRadio::setTransmitPower() that micro:bit V1 DAL has, so code trying to achieve the max possible value (uBit.radio.setTransmitPower(7)) works correctly in both V1 & V2.
I'll leave the PR in draft state until the discussion in https://github.com/lancaster-university/codal-microbit-v2/issues/260 is completed.

Discussed in the call that we should match the value ranges for V1, so this PR is ready for review @JohnVidler


text:
Add a "package.json" file

Allows installation via "NPM"

Oops, I accidentally pushed to this repo when I meant to push to a forked repo.
You may want to consider updating your repository as well now that Bower has been deprecated.


text:
🛑 Flyingtroll is down

In aa40241, Flyingtroll (https://www.flyingtroll.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Flyingtroll is back up in dfa4bb5.


text:
🛑 vipgifts.net is down

In f9e1825, vipgifts.net (https://vipgifts.net) was down:

HTTP code: 567
Response time: 1000 ms

Resolved: vipgifts.net is back up in 9b048c0.

repo: lanen/bs-site


text:
🛑 rexingsports.cn is down

In 60deca7, rexingsports.cn (https://www.rexingsports.cn) was down:

HTTP code: 567
Response time: 693 ms

Resolved: rexingsports.cn is back up in 29a35b5 after 1 hour, 19 minutes.


text:
🛑 vipgifts.net is down

In 0660af1, vipgifts.net (https://vipgifts.net) was down:

HTTP code: 567
Response time: 647 ms

Resolved: vipgifts.net is back up in 0a1c3b3 after 1 hour, 5 minutes.


text:
🛑 vipgifts.net is down

In 235afdb, vipgifts.net (https://vipgifts.net) was down:

HTTP code: 567
Response time: 607 ms

Resolved: vipgifts.net is back up in 878da08 after 17 minutes.


text:
🛑 rexingsports.cn is down

In 5366146, rexingsports.cn (https://www.rexingsports.cn) was down:

HTTP code: 567
Response time: 929 ms

Resolved: rexingsports.cn is back up in a6fd2e8 after 27 minutes.


text:
🛑 rexingsports.cn is down

In c709e60, rexingsports.cn (https://www.rexingsports.cn) was down:

HTTP code: 567
Response time: 690 ms

Resolved: rexingsports.cn is back up in cbde816 after 20 minutes.


text:
Add Google Cloud Document AI integration

Feature request
Add integration for Document AI from Google Cloud for intelligent document processing.
Motivation
This product offers Optical Character Recognition, specialized processors from specific document types, and built in Generative AI processing for Document Summarization and entity extraction.
Your contribution
I can implement this myself, I mostly want to understand where and how this could fit into the library.
Should it be a document transformer? An LLM? An output parser? A Retriever? Document AI does all of these in some capacity.
Document AI is designed as a platform that non-ML engineers can use to extract information from documents, and I could see several features being useful to Langchain (Like Document OCR to extract text and fields before sending it to an LLM) or using the Document AI Processors with Generative AI directly for the summarization/q&a output.

Related - Looks like there's an existing DocAI integration, but it's not well documented.
I'll see what I can do to improve this integration https://python.langchain.com/docs/integrations/document_transformers/docai

repo: langchain-ai/langchain


text:
DOC: LangChain Cookbook RAG typo

Issue with current documentation:
Link
Hi, I've been exploring the Cookbook RAG (link provided above) and noticed that expanded_memory is not defined anywhere in the code snippet(With Memory and returning source documents). I was wondering if a portion of the code is missing or if it's just a typo. Thank you in advance for looking over my issue!
Idea or request for content:
No response

Dear @dosu-bot,
thank you for your explanation and prompt feedback!


text:
[Maybe Bug] StructuredChatAgent raises ValueError with a StructuredTool which has an argument which defaults to a  dict default value

System Info
OS == Windows 11
Python == 3.10.11
Langchain == 0.0.348
Who can help?
No response
Information

[ ] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[X] Agents / Agent Executors
[X] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from dotenv import load_dotenv
>>> load_dotenv()
True
>>> from langchain.agents import AgentType, initialize_agent
>>> from langchain.tools import StructuredTool
>>> from langchain.chat_models import ChatOpenAI
>>> llm = ChatOpenAI(model='gpt-3.5-turbo')
>>> def func0(a: int, b: int) -> int:
...         return a+b
...
>>> def func1(a: int, b: int, d: dict[str, int]={}) -> int:
...         print(d)
...         return a+b
...
>>> def func2(a: int, b: int, d: dict[str, int]={'c': 0}) -> int:
...         print(d)
...         return a+b
...
>>> tool0 = StructuredTool.from_function(func0, name=func0.__name__, description='a+b')
>>> tool1 = StructuredTool.from_function(func1, name=func1.__name__, description='a+b')
>>> tool2 = StructuredTool.from_function(func2, name=func2.__name__, description='a+b')
>>> agent0 = initialize_agent(agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, tools=[tool0], llm=llm)
>>> agent1 = initialize_agent(agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, tools=[tool1], llm=llm)
>>> agent2 = initialize_agent(agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, tools=[tool2], llm=llm)
>>> agent0.run('hello')
'Hi there! How can I assist you today?'
>>> agent0.invoke(dict(input='hello'))
{'input': 'hello', 'output': 'Hi there! How can I assist you today?'}
>>> agent1.run('hello')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 507, in run
    return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 288, in __call__
    inputs = self.prep_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 435, in prep_inputs
    raise ValueError(
ValueError: A single string input was passed in, but this chain expects multiple inputs ({'', 'input'}). When a chain expects multiple inputs, please call it by passing in a dictionary, eg `chain({'foo': 1, 'bar': 2})`
>>> agent1.invoke(dict(input='hello'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 89, in invoke
    return self(
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 288, in __call__
    inputs = self.prep_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 445, in prep_inputs
    self._validate_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 197, in _validate_inputs
    raise ValueError(f"Missing some input keys: {missing_keys}")
ValueError: Missing some input keys: {''}
>>> agent2.run('hello')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 507, in run
    return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 288, in __call__
    inputs = self.prep_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 435, in prep_inputs
    raise ValueError(
ValueError: A single string input was passed in, but this chain expects multiple inputs ({"'c'", 'input'}). When a chain expects multiple inputs, please call it by passing in a dictionary, eg `chain({'foo': 1, 'bar': 2})`
>>> agent2.invoke(dict(input='hello'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 89, in invoke
    return self(
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 288, in __call__
    inputs = self.prep_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 445, in prep_inputs
    self._validate_inputs(inputs)
  File "D:\workspace\agi-baby\venv\lib\site-packages\langchain\chains\base.py", line 197, in _validate_inputs
    raise ValueError(f"Missing some input keys: {missing_keys}")
ValueError: Missing some input keys: {"'c'"}

Expected behavior
Given a StructuredTool which has an argument which defaults to a dict value, StructuredChatAgent with the tool should work.
In the above reproduction codes, agent1 and agent2 should works as agent0 works.

Thanks for your response!I've come to similar conclusions.
But how about modifying StructuredChatOutputParser.create_prompt as follows:
AsIs
for tool in tools:
    args_schema = re.sub("}", "}}", re.sub("{", "{{", str(tool.args)))
    tool_strings.append(f"{tool.name}: {tool.description}, args: {args_schema}")

ToBe
for tool in tools:
    tool_name = re.sub("}", "}}", re.sub("{", "{{", str(tool.name)))
    tool_description  = re.sub("}", "}}", re.sub("{", "{{", str(tool.description)))
    args_schema = re.sub("}", "}}", re.sub("{", "{{", str(tool.args)))
    tool_strings.append(f"{tool_name}: {tool_description}, args: {args_schema}")


text:
Assistants.create() got an unexpected keyword argument 'file_ids'

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from langchain.agents.openai_assistant import OpenAIAssistantRunnable

assistant = OpenAIAssistantRunnable.create_assistant(
    name="langchain assistant",
    instructions="You are a personal math tutor. Write and run code to answer math questions.",
    tools=[{"type": "code_interpreter"}],
    model="gpt-4-1106-preview",
    )
result = assistant.invoke({"content": "What's 10 - 4 raised to the 2.7"})

### Error Message and Stack Trace (if applicable)

Traceback (most recent call last):
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 411, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/starlette/routing.py", line 72, in app
    response = await func(request)
               ^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Repo/ai/main.py", line 16, in read_root
    return await interact(message.text)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Repo/ai/bot/bot.py", line 16, in interact
    assistant = OpenAIAssistantRunnable.create_assistant(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/home/Library/Caches/pypoetry/virtualenvs/A5OhnBxC-py3.12/lib/python3.12/site-packages/langchain/agents/openai_assistant/base.py", line 247, in create_assistant
    assistant = client.beta.assistants.create(

### Description

I am trying to create the Open AI Assistant and I se the error: "TypeError: Assistants.create() got an unexpected keyword argument 'file_ids'"

### System Info

macos

> Python Version:  3.12.3 (main, Apr  9 2024, 08:09:14) [Clang 15.0.0 (clang-1500.3.9.4)]
> langchain_core: 0.1.45
> langchain: 0.1.16
> langchain_community: 0.0.34
> langsmith: 0.1.50
> langchain_openai: 0.1.3
> langchain_text_splitters: 0.0.1
> langchainhub: 0.1.15

fastapi: 0.110.2
uvicorn: 0.29.0

@pletinsky how did you solve the problem?

@wodka, I don't remember, unfortunately. We avoided using the open ai assistant. It seems that there was a need to upgrade to the beta version. But I could be wrong.

Hi!
I encountered the same error. Looking at the openai github, file_ids should be provided as part of tool_resources, see this comment.
I am using:
langchain                                     0.2.9
langchain-openai                        0.1.17
openai                                         1.35.13

Under which conditions is this confirmed to be working?

authors: janhenrikbern pletinsky wodka


text:
sparse vectors name unknown

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
#Step 1
import os
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_qdrant import Qdrant, FastEmbedSparse, RetrievalMode

embeddings = HuggingFaceEmbeddings(model_name='OrdalieTech/Solon-embeddings-large-0.1', model_kwargs={"device": "cuda"})

sparse_embeddings = FastEmbedSparse(model_name="Qdrant/bm25")

vectordb = Qdrant.from_texts(
    texts=texts,
    embedding=embeddings,
    sparse_embedding=sparse_embeddings,
    sparse_vector_name="sparse-vector"
    path=os.path.join(os.getcwd(), 'manuscrits_biblissima_vectordb'),
    collection_name="manuscrits_biblissima",
    retrieval_mode=RetrievalMode.HYBRID,
)

#Step 2
model_kwargs = {"device": "cuda"}
embeddings = HuggingFaceEmbeddings(
    model_name='OrdalieTech/Solon-embeddings-large-0.1',
    model_kwargs=model_kwargs
    )
sparse_embeddings = FastEmbedSparse(
    model_name="Qdrant/bm25",
    model_kwargs=model_kwargs,
    )

qdrant = QdrantVectorStore.from_existing_collection(
    collection_name="manuscrits_biblissima",
    path=os.path.join(os.getcwd(), 'manuscrits_biblissima_vectordb'),
    retrieval_mode=RetrievalMode.HYBRID,
    embedding=embeddings,
    sparse_embedding=sparse_embeddings,
    sparse_vector_name="sparse-vector"
    )

Error Message and Stack Trace (if applicable)
Traceback (most recent call last):
  File "/local/eferra01/data/get_ref_llama3_70B_gguf.py", line 101, in <module>
    qdrant = QdrantVectorStore.from_existing_collection(
  File "/local/eferra01/miniconda3/envs/llama-cpp-env/lib/python3.9/site-packages/langchain_qdrant/qdrant.py", line 286, in from_existing_collection
    return cls(
  File "/local/eferra01/miniconda3/envs/llama-cpp-env/lib/python3.9/site-packages/langchain_qdrant/qdrant.py", line 87, in __init__
    self._validate_collection_config(
  File "/local/eferra01/miniconda3/envs/llama-cpp-env/lib/python3.9/site-packages/langchain_qdrant/qdrant.py", line 937, in _validate_collection_config
    cls._validate_collection_for_sparse(
  File "/local/eferra01/miniconda3/envs/llama-cpp-env/lib/python3.9/site-packages/langchain_qdrant/qdrant.py", line 1022, in _validate_collection_for_sparse
    raise QdrantVectorStoreError(
langchain_qdrant.qdrant.QdrantVectorStoreError: Existing Qdrant collection manuscrits_biblissima does not contain sparse vectors named None. If you want to recreate the collection, set force_recreate parameter to True.

Description
I first create a qdrant database (#Step 1).
Then, in another script, to do RAG, I try to load the database (#Step 2).
However, I have the error above.
I named the sparse vectors when creating the database (Step 1) and took care to mention this name when loading the database for the RAG, (Step 2) but it doesn't seem to have been taken into account...
System Info
langchain-qdrant==0.1.3
OS : Linux
OS Version : Linux dgx 6.1.0-18-amd64 https://github.com/langchain-ai/langchain/pull/1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux
Python Version : 3.9.19 | packaged by conda-forge | (main, Mar 20 2024, 12:50:21) \n[GCC 12.3.0]

I am able to reproduce your issue. However changing "Qdrant.from_texts(" in your step 1 To "QdrantVectorStore.from_texts" fix the issue for me
`import os
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_qdrant import FastEmbedSparse, RetrievalMode, QdrantVectorStore
embeddings = HuggingFaceEmbeddings(model_name='OrdalieTech/Solon-embeddings-large-0.1')
sparse_embeddings = FastEmbedSparse(model_name="Qdrant/bm25")
texts = ["the capital of france is paris", "the capital of germany is berlin", "the capital of italy is rome"]
vectordb = QdrantVectorStore.from_texts(
# vectordb = Qdrant.from_texts(
texts=texts,
embedding=embeddings,
sparse_embedding=sparse_embeddings,
sparse_vector_name="sparse-vector",
path=os.path.join(os.getcwd(), 'manuscrits_biblissima_vectordb'),
collection_name="manuscrits_biblissima",
retrieval_mode=RetrievalMode.HYBRID,
)
print(vectordb)
qdrant = QdrantVectorStore.from_existing_collection(
collection_name="manuscrits_biblissima",
path=os.path.join(os.getcwd(), 'manuscrits_biblissima_vectordb'),
retrieval_mode=RetrievalMode.HYBRID,
embedding=embeddings,
sparse_embedding=sparse_embeddings,
sparse_vector_name="sparse-vector"
)
res = qdrant.search("where is the capital of france",search_type="similarity", k=1)
print(res)`

yes, it works for me also when I change  Qdrant.from_texts  by QdrantVectorStore.from_texts.
Thanks !


text:
Strips leading/trailing whitespace before parsing xml

Description: When llms output leading or trailing whitespace for xml (when using XMLOutputParser) the parser would raise a ValueError: Could not parse output: .... However, leading or trailing whitespace are "ignorable" in the sense of XML standard.
Issue: I did not find an issue related.
Dependencies: None
Tag maintainer:
Twitter handle: donatoaz
Please make sure your PR is passing linting and testing before submitting. Run make format, make lint and make test to check this locally.
Done, updated unit test and ran make docker_test.

thanks @donatoaz!

authors: baskaryan donatoaz


text:
refactor tools

The langchain still holds several artifacts that belongs to core. If they moved then langchain.tools would be split between core and community (no langchain artifacts), which is nice. It effectively removes the langchain.tools namespace.

moved a class and functions to core

@hwchase17 Any new comments?

Think these make more sense where they are already

authors: efriis leo-gan


text:
Add SQL Docstore

Description:
The storage package propose

Redis
AstraDB

I propose to add an SQLStore.
@baskaryan

Similar PR: https://github.com/langchain-ai/langchain/pull/15909
I think it would be good to have only one consistent implementation.

Another PR is merged

@efriis
I reopen this PR, because the PR15909 presents some problems.

authors: cbornet pprados


text:
core, partners: add token usage attribute to AIMessage

class UsageMetadata(TypedDict):
    """Usage metadata for a message, such as token counts.

    Attributes:
        input_tokens: (int) count of input (or prompt) tokens
        output_tokens: (int) count of output (or completion) tokens
        total_tokens: (int) total token count
    """

    input_tokens: int
    output_tokens: int
    total_tokens: int

class AIMessage(BaseMessage):
    ...
    usage_metadata: Optional[UsageMetadata] = None
    """If provided, token usage information associated with the message."""
    ...

Sample trace: https://smith.langchain.com/public/df479e96-412e-446a-a9fd-418a84a2d726/r

👀

authors: ccurme liugddx


text:
Synchronize metadata types between pgvector.add_texts() and pgvector.similarity_search_with_score_by_vector()

…similarity_search_with_score_by_vector()
pgvector.add_texts() stored metadata to postgresql is from dict to string, but pgvector.similarity_search_with_score_by_vector() get metadata just string from database, when struct Document object, report error:
pydantic.error_wrappers.ValidationError: 1 validation error for Document
metadata
  value is not a valid dict (type=type_error.dict)

thanks fro pr @yungang!
where do you see pgvector.add_texts() converting dicts to strings? or does that happen on postgres side?

@yungang Hi , could you, please, resolve the merging issues and address the last comments (if needed)? After that, ping me and I push this PR for the review. Thanks!

Closing because the PR wouldn't line up with the current directory structure of the library (would need to be in /libs/langchain/langchain instead of /langchain). Feel free to reopen against the current head if it's still relevant!

authors: baskaryan efriis leo-gan yungang


text:
community[patch],weaviate[patch]: types: the args of the WeaviateFilter is optional

Fixes # (issue)
it's not necessary pass distance and where condition at the same time

Thank you!

Seems it's failing build - can you have a look?

Seems it's failing build - can you have a look?

ok

Seems it's failing build - can you have a look?

Hi, I don't have a better way to revise it, please check if it works, thanks!

Getting:
Error: @langchain/weaviate:build: src/vectorstores.ts(243,20): error TS2345: Argument of type '{ operands?: ...[] | undefined; operator?: "And" | "Or" | "Equal" | "Like" | "NotEqual" | "GreaterThan" | "GreaterThanEqual" | "LessThan" | "LessThanEqual" | "WithinGeoRange" | "IsNull" | "ContainsAny" | "ContainsAll" | undefined; ... 13 more ...; valueGeoRange?: { ...; } | undefined; } | undefined' is not assignable to parameter of type '{ operands?: ...[] | undefined; operator?: "And" | "Or" | "Equal" | "Like" | "NotEqual" | "GreaterThan" | "GreaterThanEqual" | "LessThan" | "LessThanEqual" | "WithinGeoRange" | "IsNull" | "ContainsAny" | "ContainsAll" | undefined; ... 13 more ...; valueGeoRange?: { ...; } | undefined; }'.

On CI build

Closing due to CI issues. Please open a new PR with the CI issues fixed if you'd still like to get this merged. Thank you!

authors: bracesproul hehuangz jacoblee93

repo: langchain-ai/langchainjs


text:
Subgraph with private state doesn't have a proper state at the last node

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangGraph/LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangGraph/LangChain rather than my code.
[X] I am sure this is better as an issue rather than a GitHub discussion, since this is a LangGraph bug and not a design question.

Example Code
class CodeFeedbackAgentPrivateState(BaseModel):
    interview_question: str = Field(default="")
    interview_solution: str = Field(default="")
    code_editor_state: str = Field(default="")

    debugging_result: str = Field(default="")
    assessment_result: str = Field(default="")

class DebuggingAgentPrivateState(BaseModel):
    interview_question: str = Field(default="")
    interview_solution: str = Field(default="")
    code_editor_state: str = Field(default="")

    debugging_record: list[str] = Field(default=[])

def initiate_private_state(state):
    print("initiate_private_state: \n", state.__annotations__)
    print("type: ", type(state))
    return {
        "interview_question": state.interview_question,
        "interview_solution": state.interview_solution,
        "code_editor_state": state.code_editor_state,
    }

def placeholder_node(state: DebuggingAgentPrivateState):
    return {
        "debugging_record": ["debugging_record testing"],
    }

def placeholder_node2(state: DebuggingAgentPrivateState):
    return {
        "debugging_result": "debugging_result testing",
    }

def last_node(state: CodeFeedbackAgentPrivateState):

    print("last_node CodeFeedbackAgentPrivateState debugging_result: \n", state.debugging_result)
    return {
        "debugging_result": state.debugging_result, #? BUG: this return is applied to OverallState instead of CodeFeedbackAgentPrivateState
    }

g = StateGraph(CodeFeedbackAgentPrivateState)
g.add_edge(START, n(initiate_private_state))

g.add_node(initiate_private_state)
g.add_edge(n(initiate_private_state), n(placeholder_node))

g.add_node(placeholder_node)
g.add_edge(n(placeholder_node), n(placeholder_node2))

g.add_node(placeholder_node2)
g.add_edge(n(placeholder_node2), n(last_node))

g.add_node(last_node)
g.add_edge(n(last_node), END)

debugging_agent_graph = g.compile()

Error Message and Stack Trace (if applicable)
No response
Description
I have double nested subgraphs.
Level 0: main_graph

uses OverAllState as StateGraph schema
no private states
includes a node of code_feedback_agent_graph

Level 1: code_feedback_agent_graph

uses OverAllState as StateGraph schema
uses CodeFeedbackAgentPrivateState as a private state
includes a node debugging_agent_graph
the private state is used when the debugging_agent_graph is triggered

level 2: debugging_agent_graph

uses CodeFeedbackAgentPrivateState as StateGraph schema
uses DebuggingAgentPrivateState as private state

At the last node of level 2 graph, I'm returning a dictionary that includes state variable of level 1 graph's private state because that is the state that is used when level 2 graph is triggered.
However, I'm getting an error saying the return should include OverAllState variable. Since level 2 graph is using CodeFeedbackAgentPrivateState as its StateGraph schema, the last node's return dict should update that instead of OverAllState. Shouldn't it be?
System Info
Version: 0.2.28

@minki-j the update from last_node is in fact applied to the state of the Level 1 graph, but since Level 1 graph is invoked inside the Level 0 graph, Level 1 graph as a whole still needs to respect the state of the parent (Level 0) graph. if you want to keep the state schemas independent, i.e. have no overlapping keys, you can just add input/output transformations before/after you invoke level 1 graph
see more here: https://langchain-ai.github.io/langgraph/concepts/low_level/#as-a-function
hope this helps!

@vbarda Thank you so much for your answer!! It makes sense. I'll follow your recommendation.
Again, I really really appreciate you guys work on LangGraph! Thank you so much!

Glad it helped! Will close this issue for now, but let me know if you run into any problems w/ subgraphs/state management

authors: minki-j vbarda

repo: langchain-ai/langgraph


text:
OpenAI response_format in chat completion body breaks observeOpenAI()

Adding response_format to a child OpenAI observation within a trace will cause the observability to fail. Uncomment the specified line to test.
Example adapted from the Get Started docs page
  const langfuse = new Langfuse();
  const openai = new OpenAI();

  const trace = langfuse.trace({ name: "country-poem-generator" });
  const span = trace.span({ name: "poem-span" });

  const poem = (
    await observeOpenAI(openai, {
      parent: span,
      generationName: "generate-poem",
    }).chat.completions.create({
      model: "gpt-3.5-turbo",
      messages: [
        {
          role: "system",
          content: "You are a poet. Create a haiku about this city.",
        },
        { role: "user", content: "France" },
      ],
      // Uncommenting the line below will break the Langfuse observability
      // OpenAI API will respond as desired
      // response_format: { type: "text" },
    })
  ).choices[0].message.content;

  console.log(poem)
  span.end();

Pfew, what a head scratcher; can confirm; latency / usage magically appeared after removing response_format

thanks for the +1 on this, we'll try to prioritize this soon

authors: devonkcopeland marcklingen rwojsznis

repo: langfuse/langfuse-js


text:
🐛 : Clear error message of store in profile, community, messages page

Describe the bug
The error message in the profile page is not clear.
To Reproduce
Steps to reproduce the behavior:

Go to the profile page.
Turn of internet
Encounter an error message.
go another page and come back profile

Expected behavior
The error message should clearly indicate the issue and provide guidance on how to resolve it.
Screenshots
https://github.com/langx/langx/assets/3280475/c7836510-3b8e-4ac1-9fea-dc46678ed448
Additional context
The unclear error message may confuse users and hinder their ability to troubleshoot the issue effectively. Clarifying the message will improve user experience.
If you want speed up process of this issue, please send 🚀 as a reaction.

https://github.com/langx/langx/assets/3280475/885cd475-bd7b-4690-a9e6-f322fa2e578c

repo: langx/langx


text:
window is still able to be resized when maximized

Lapce Version
0.2.1
System information
arch kde
Describe the bug
window is still able to be resized when maximized
making it harder to grab side panels

Should be fixed

well there isn't the right panel anymore so it isn't a problem here but the windows can still be resized while maximized, which is not the best option and done nowhere else

authors: panekj pwouik

repo: lapce/lapce


text:
Allow working with multi-workspace monorepos

If Lapce is opened on a monorepo with a complex folder structure containing multiple cargo workspaces, it does not detect the cargo workspaces properly, and/or syntax highlighting and analysis break. The end result is that the Rust code is not highlighted or analyzed.
Folder structure something like this does not work if opening "Monorepo Root":
Monorepo Root /
                            folder1 /
                                        cargo workspace1 /
                                                                           crate 1
                                                                           crate 2
                                        cargo workspace 2 /
                                                                           crate 1
                                                                           crate 2
                          folder 2 /
                                       cargo workspace 3 /
                                                                          crate 1
                          [etc]

I would expect it to detect those Cargo Workspaces / crates deeper in the folder structure and properly analyze / highlight. As it is, there don't seem to be any errors in the error pane, but the editors are shown as plain text.
If I open the workspaces or crate folders directly, it works just fine, but then I can't see my whole repo. This means I need a window open for all of my workspaces.
Not sure if this would be considered a bug or a feature request.

Watching the status bar more closely, it does seem to load at least some of the cargo.toml files - I don't know how much - but then it just stops and nothing is annotated with types, syntax highlighting, etc.
I also tried opening lapce from a terminal to see if anything was displayed there (versus launched from the GUI menu), but there was nothing.

The issue probably is that RA gets confused at some point and not recognise everything

It looks like a similar thing happens in Visual Studio Code's rust-analyzer plugin. It'll run RA, even find some issues, but it seems to not analyze all of the workspaces in the tree, and the VSCode inline type hints don't populate. It does seem like RA only really works with a single workspace at a time.
Assuming this is a limitation of RA, what about having lapce find workspaces/independent crates and run an RA instance for each one? Interdependencies between workspaces/crates would be worked out by Cargo anyway. The main thing would be refreshing one workspace when something it depends on in another workspace changes.

Assuming this is a limitation of RA, what about having lapce find workspaces/independent crates and run an RA instance for each one?

IMO, that's a way too complicated RA-specific workaround that can be simply avoided by opening new tab for each workspace.

authors: dspadea panekj


text:
translation: database-testing

翻訳漏れです。

ありがとうございます。そしてごめんなさい。
Otwellさんがほとんどのドキュメントファイルのほとんどの行を書き換えたため、ドキュメントのほぼ全翻訳し直しになります。その作業中のため、未翻訳部分が存在していても翻訳し直しの作業中に流れで翻訳することになります。変換プログラムに手を入れる作業もあるため、現状反映が難しいです。

そうなんですね、りょうかいです！

authors: HiroKws ishikawam


text:
Problem with mix.copy()  and setPublicPath?

Laravel Mix Version: 6.0.11
OS: Windows

Description:
mix.copy() seems to have problems if combined with setPublicPath.
Steps To Reproduce:
mix.setPublicPath('output')
    .clean()
    .version()
    .ts('resources/mydir/index.ts', 'js')
    .copy('resources/mydir/index.html', 'html')

Expected: Creates output/js/index.js and output/html/index.html
Actual:
Creates output/js/index.js and html/index.html, then fails:-
> UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'C:\Rascular\output\html\index.html'
>     at Object.openSync (fs.js:466:3)
>     at Object.readFileSync (fs.js:369:35)
>     at File.read (C:\Rascular\node_modules\laravel-mix\src\File.js:218:19)
>     at File.version (C:\Rascular\node_modules\laravel-mix\src\File.js:225:25)
>     at Manifest.hash (C:\Rascular\node_modules\laravel-mix\src\Manifest.js:51:65)
>     at C:\Rascular\node_modules\laravel-mix\src\webpackPlugins\CustomTasksPlugin.js:110:71
>     at Collection.each (C:\Rascular\node_modules\collect.js\dist\methods\each.js:21:14)
>     at CustomTasksPlugin.applyVersioning (C:\Rascular\node_modules\laravel-mix\src\webpackPlugins\CustomTasksPlugin.js:110:37)
>     at C:\Rascular\node_modules\laravel-mix\src\webpackPlugins\CustomTasksPlugin.js:14:26
>     at processTicksAndRejections (internal/process/task_queues.js:93:5)

To fix, I must use
.copy('resources/mydir/index.html', 'output/html')
I

Same is true with mix.combine()
By default its fine, as we expect output files to show up in public path, but in some situations, when we want to copy / combine into different output path, it throws error.

I'm running into the same issue with using setPublicPath and copyDirectory. Has there been any movement on this issue?

Same problem here with copy and copyDirectory

Same with version 6.0.39 on macOS. It seems with copy and copyDirectory, you have to prepend your publicPath
mix
  .setPublicPath("public")
  .js("src/js/app.js", "js") // copy to public/js
  .sass("src/css/app.scss", "css") // copy to public/css
  .copy("src/images/*", "public/images") // copy to public/images

authors: cakleimeier jwoertink pdsuk roddypratt saas786

repo: laravel-mix/laravel-mix


text:
Fixes issue with Pusher

Corrects channels into array of strings rather than objects

Provided there are no concerns with this can we get a patch release with this update. Thanks.

Hey can you tell me what was causing this issue?
Because the original master branch doesn't have this fix applied: https://github.com/laravel/framework/blob/7d116dc5a008e69c97f864af79ac46ab6a8d5895/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php#L57

Not sure why, but the response I was getting back from Pusher was that the channel name was not a string.
Example $channels on PusherBroadcaster without change:
array:1 [▼
  0 => PrivateChannel {#579 ▼
    +name: "private-ISOlocity.Repositories.User.User.263"
  }
]

with change:
array:1 [▼
  0 => "private-ISOlocity.Repositories.User.User.263"
]

Result without change:
array:2 [▼   "body" => "Expected channel name to be a string\n"   "status" => 400 ]
Result with change:
array:2 [▼   "body" => "{}"   "status" => 200 ]

Looks like in the 5.3 there are a bunch of updates to the PusherBroadcaster such as a new formatChannels method which gets the string value from the channels

@mlantz In version 5.1 and 5.2, there are no class "Illuminate\Broadcasting\PrivateChannel". See #10 and PrivateChannel.

Yeah it seems like the 'backport' of the notifications is rather limited. I updated my app to Laravel 5.3 rather than try to figure this out. Only took like 4 hours, and it was a pretty big and complicated app.

authors: enniel mlantz mpociot

repo: laravel-notification-channels/backport


text:
Blueprint morphs() does not accept nullable()

Hi, when I want to make morphs that can be nullable, I try:
$table->morphs('parent')->nullable();

But this doesn't work. So I have to use:
$table->string('parent_type')->nullable();
$table->integer('parent_id')->unsigned()->nullable();

$table->index(['parent_type', 'parent_id']);

In some situations, we need nullable polymorphic relationships. For example, an image can belong to a post, an album, a comment, but it may also not belong to any parent objects. When users deleted the parent post, they might still want to keep its images. Instead of deleting image records, only set parent to null.

As a temporary solution you can make a model (Empty or Default ...) that will be assigned when you don't want your image model to belong to a parent.

Required to me for case when record could be attached to guests, users or user groups. For users and user groups it uses related id and type, for guests it has null values.

I found two previous issues/PRs where the nullable option had been proposed and and rejected by @taylorotwell, https://github.com/laravel/framework/pull/3123 and https://github.com/laravel/framework/issues/2815, so I'd say that it's not really something he's interested in for morphs().
That said, I'm happy to do a PR, if he does change his mind. :smile:

I agree. I think it should be possible to make a morph relation nullable thru morphs().

Since that was discussed in PRs and rejected several times I think it's better to use this in your application.
$table->string('parent_type')->nullable();
$table->integer('parent_id')->unsigned()->nullable();

Closing since it's not actually a bug report, but please feel free to continue discussions in the internals repo https://github.com/laravel/internals repo.

Here is my way:
        Blueprint::macro('nullableMorphs', function ($name, $indexName = null) {
            $this->string("{$name}_type")->nullable();
            $this->unsignedBigInteger("{$name}_id")->nullable();
            $this->index(["{$name}_type", "{$name}_id"], $indexName);
        });

@turtlegood this functionality added to the core, so there is no need to add it:
https://github.com/laravel/framework/blob/3bf6296d8d4dd82308a9272edc5c4aeebf4507f6/src/Illuminate/Database/Schema/Blueprint.php#L1155-L1169

@antonkomarev wow thanks!

you can use $table->nullableMorphs() for that.

@emadha It's already mentioned above. And at the time of this issue being created, it was not a part of Laravel.

authors: a-komarev antonkomarev emadha guoyunhe kasperhartwich shadoWalker89 themsaid turtlegood valorin

repo: laravel/framework


text:
[5.3] Ability to override email field to username on login

Can the email field used at login to authenticate to the users table in Laravel 5.3 be overwritten to use the username field like we did in prior version calling this protected method in App/Http/Controllers/Auth/LoginController.php
/**
     * username or email field.
     *
     * @var string
     */
    protected $username = 'username';

Method needing to be changed is in file vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
/**
     * Get the login username to be used by the controller.
     *
     * @return string
     */
    public function username()
    {
        return 'email';
    }

This used to be the method in Laravel 5.2 that would allow the override
public function loginUsername()
    {
        return property_exists($this, 'username') ? $this->username : 'email';
    }

Any Ideas?

I don't find similar code in 5.3, but yes, it was in 5.2.
Finally, I override AuthenticatesUsers trait to my own.

Simply override the AuthenticatesUsers trait in your auth controller.

Was able to override the email field to username the by putting the following in Auth/LoginController.php
/**
     * Get the login username to be used by the controller.
     *
     * @return string
     */
    public function username()
    {
        return 'username';
    }


text:
Session shutdown handler

Normally with a session_set_save_handler you would also register a shutdown handler with session_register_shutdown.
Although Laravel implements the SessionHandlerInterface I see no mention of something that looks like a shutdown handler for when something goes wrong in the controller. This would mean that if you ultimately don't reach the middleware again to call a save on the session you are screwed.
Is there a legitimate reason for this? I would love to know since I am building something alike and I feel like Laravel might be missing out here by not implementing something like this.
Then again I don't know if it even would be possible at this point so I am hoping somebody might provide me with some knowledge on why this is not done.

Please ask on the forums.

authors: GrahamCampbell stephan-v


text:
Eloquent aggregation with soft delete.

Laravel Version: 5.6.23
PHP Version: 7.1.12
Database Driver & Version: MySQL 5.7.21

Description:
I want to get max position field value from related model. Both models, parent and related used soft delete trait.
class Group extends Model
{
    use SoftDeletes;

    public function pages()
    {
        return $this->hasMany(Page::class)->orderBy('position');
    }
}

class Page extends Model
{
    use SoftDeletes;

    public function group()
    {
        return $this->belongsTo(Group::class);
    }
}

Steps To Reproduce:
$position = Group::find(1)->pages()->max('position');

SQL query result:
select max(`position`) as aggregate from `pages` where `pages`.`group_id` = '2' and `pages`.`group_id` is not null

Expected:
select max(`position`) as aggregate from `pages` where `pages`.`group_id` = '2' and `pages`.`group_id` is not null and `pages`.`deleted_at` is null

It works for me, I get the expected SQL. Can you reproduce the issue on a fresh Laravel installation?

Closing this issue because it's already solved, old or not relevant anymore. Feel free to reply if you're still experiencing this issue.

authors: driesvints staudenmeir vipaction