Can't Highlight Text By Draggin Mouse

Type: Bug
I've disabled all extensions, I've deleted all all content inside the user settings.json i've tried reinstalling VSC. I've ensured drag and drop is enabled and that word wrap is disabled. I can highlight text in my browser and other applications just fine, it's only in VSC I can't highlight text/code. I really dont know what else to do to fix this issue it's infuriating.
VS Code version: Code 1.77.3 (704ed70d4fd1c6bd6342c436f1ede30d1cff4710, 2023-04-12T09:16:02.548Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
12th Gen Intel(R) Core(TM) i7-12700KF (20 x 3610)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
31.86GB (21.03GB free)

Process Argv
--crash-reporter-id b92971e5-cf86-4b9c-a318-7c40c9c64eb7

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

LiveServer
rit
5.7.9

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
nodejswelcome1cf:30587006
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
a9j8j154:30646983
vsccsb:30705552
azdwalk:30721579
pythonms35:30701012
pythonfmttextcf:30716743
pythonclientmvcf:30725893

I've been experiencing the same issue for a while now. The only workaround I've discovered is to reboot my system, which temporarily fixes the issue for me.
Some observations:

When my system is in the repo state, it also repos with online editors (coderpad.io or vscode.dev) in MS Edge, but not Firefox, implying the issue is specific to Chromium.
Dragging to select text is still functional, but only registers mouse movement from a few ms after clicking the mouse. For example, if I click and then move (or while already moving) the mouse very quickly, I can select a few characters at a time.

I've been experiencing the same issue for a while now. The only workaround I've discovered is to reboot my system, which temporarily fixes the issue for me.
Some observations:

When my system is in the repo state, it also repos with online editors (coderpad.io or vscode.dev) in MS Edge, but not Firefox, implying the issue is specific to Chromium.
Dragging to select text is still functional, but only registers mouse movement from a few ms after clicking the mouse. For example, if I click and then move (or while already moving) the mouse very quickly, I can select a few characters at a time.

Crazy you say that I've come to the same solution. The only way it's fixed is by restarting my computer. And in the mornings when I boot up my computer, I just immediately restart because without fail, the first startup will have this issue. It's so weird because i've tracked it down to not just VSC but also youtube and spotify. In spotify i can't select any of my songs, but i can play and pause. In youtube, if i'm in a playlist, it will just constantly reload the first video in the playlist over and over. It's the strangest thing. But thankfully just a restart fixes it. Wish I knew why it was happening

Same issue,
Made sure no keys were being pressed by my keyboard or mouse causing some weird side effect.
Highlighting and everything works everywhere except vscode from my testing.

mee too.    restarting vs code wasnt enough for me either, rebooting my ubuntu seems to fix it.

I have a root cause of this issue. Thank you to the Microsoft engineers that helped on this! (OS bug 48395135)
The Audio Technica AT2020usb+ microphone can somehow enter a state where it spams MediaTrackPrevious every 50ms. In vscode, this causes text to be deselected every 50ms and all kinds of unexpected behavior elsewhere.
A potential workaround is to disable the "USB Input Device" associated with the mic. From initial testing, the mic is still fully functional, and I didn't notice any negative impact. In admin PowerShell window:

List Audio Technica devices with Get-PnpDevice -InstanceId "USB\VID_0909*" | ft -AutoSize"
Disable the "USB Input Device" with Disable-PnpDevice -InstanceId <id>

@alexdima Before closing this bug, please consider if MediaTrackPrevious should be deselecting text in vscode. It appears to be non-standard behavior.


Is there a Docker Image available for these scripts?

Hi There,
Just wondering if there is (or plans to be) a docker image for these cool scripts? Would be good to have this in a docker container (with appropriate environment variables) to better control deployment and management of the scripts?
Thanks!

Did you read the README? ;)

My bad - Must have missed it! Thanks!


Support for origin_access_control_id

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

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

Yes in 4.29.0
Describe the solution you'd like.
I would like see support for https://github.com/hashicorp/terraform-provider-aws/pull/26508
Describe alternatives you've considered.

Additional context

PR: https://github.com/terraform-aws-modules/terraform-aws-cloudfront/pull/79

Fixed in #79


[SPARK-38974][SQL] Filter registered functions with a given database name in list functions

What changes were proposed in this pull request?

This PR fixes a bug in list functions to filter out registered functions that do not belong to the specified database.
Why are the changes needed?

To fix a bug for SHOW FUNCTIONS IN [db]. Listed functions should only include all temporary functions and persistent functions in the specified database, instead of all registered functions in the function registry.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Unit test

cc @cloud-fan

thanks, merging to master/3.3!


warning<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>

warning<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>
I'm using<EMAIL_ADDRESS>what should I do?

Use material-ui-superselectfield 1.5.x for React 15.

Please check v1.7.0, i updated peer deps ranges.

Thanks :ghost:


policy-csp-eventlogservice.md

Can someone fix the event log CSP so we can change the event log control behaviour of all event log types (application, security, system and setup) instead of only the application as its setup on the CSP EventLogService/ControlEventLogBehavior
https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-eventlogservice

@officedocsbot assign @jvsam

Hi @schenardie, we definitely want to help you but we need need more information from you.

Is it about the Policy CSP - EventLogService documentation? Please be informed that this Github site is intended for product documentation. We want users to have the best Windows 10 experience by ensuring the contents of the Microsoft Docs are useful, accurate and up-to-date, hence, if there is anything we need to add or edit in the documentation, please let us know and we'll have it reviewed.

Are you experiencing issues in setting up policy controls?  If so, and the answer is not this documentation, I suggest that you open a service/support ticket in your tenant for immediate assistance.

Is the request something that is not yet supported? Please submit your feedback to the Windows 10 User Voice hub. You feedback goes directly to the engineering team of the selected feature or product.

Thank you and looking forward to getting an update from you.

Hi again @schenardie. We haven't received any response from you, so for now, we will close this issue. If you believe the documentation needs improvement, please re-open and provide recommendations on what needs to be changed or updated. Thank you for engaging with the community!

@officedocsbot close


feat: add trace in hook macro

Summary
Add trace for every hook, you can disable by:
#[plugin_hook(Params for Plugin, tracing=false)]
fn foo()

Now we can see costs for every plugin

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

can we see js plugin cost


Implement invitation by phone number

Show number of available invites on the Profile screen
Invite a user by their phone number without sharing your contact list

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users  (according to them) are banned for this

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users (according to them) are banned for this

I have successfully invited only 2 persons but it was less than hour ago. I've seen your PR #144 but I didn't know that sharing contacts is necessary. Probably, it's needed to be tested more througly before merging.

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users (according to them) are banned for this

I have successfully invited only 2 persons but it was less than hour ago. I've seen your PR #144 but I didn't know that sharing contacts is necessary. Probably, it's needed to be tested more thoroughly before merging.

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users (according to them) are banned for this
I used your version 1.0.9 and for some reason I can't invite anyone. I receive notifications that I have 0 invitations. Why if I didn't invite anyone?

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users (according to them) are banned for this

Have you tried sending invites without sharing contacts?
originally had a similar implementation #144 but some users (according to them) are banned for this

I have successfully invited only 2 persons but it was less than hour ago. I've seen your PR #144 but I didn't know that sharing contacts is necessary. Probably, it's needed to be tested more thoroughly before merging.

I used your version 1.0.9 and for some reason I can't invite anyone. I receive notifications that I have 0 invitations. Why if I didn't invite anyone?

I used your version 1.0.9 and for some reason I can't invite anyone. I receive notifications that I have 0 invitations. Why if I didn't invite anyone?

I don't know for sure what is the rules of granting invitations to the user on the server side. Do I understand right that server returns num_invites = 0 in the /me response for your user?

I used your version 1.0.9 and for some reason I can't invite anyone. I receive notifications that I have 0 invitations. Why if I didn't invite anyone?

I don't know for sure what is the rules of granting invitations to the user on the server side. Do I understand right that server returns num_invites = 0 in the /me response for your user?

Yes

I don't know for sure what is the rules of granting invitations to the user on the server side. Do I understand right that server returns num_invites = 0 in the /me response for your user?

Yes
I've just got 3 new invitations in my profile. It looks like they grant them periodically (daily?).  I only find 1.0.8 apk (latest release)

where i can download 1.0.9 with this feature? I only find 1.0.8 apk (latest release)

You can build it by yourself ifyou have Android Studio installed or you should wait until the PR is reviewed and merged
@grishka could you, please, review the PR? It doesn't conflict with #144 but allows the user to invite others without sending the contact list to the server.

Y


Change batch size from 128 to 1 get "Process finished with exit code 136 (interrupted by signal 8: SIGFPE)"

Before running evaluate.py, I change the input data's batch size from 128 to 1. After running it, I get "Process finished with exit code 136 (interrupted by signal 8: SIGFPE)". I find some information from the internet, somewhere has float point errors, I doubt it happens in the script of model.py. So how can I solve this problem?

I find the cause of this problem, sometimes there are no cars around the vehicle being predicted. So the shape of tensor "nbrs" is [16, 0, 2].


Parsing a time string with a "Z" time zone using a time format that includes time zone seconds fails.
https://go.dev/play/p/FgeEzRinnL8
What did you see happen?
The call to time.Parse returned an error. For example, this code:
tm, err = time.Parse("2006-01-02T15:04:05Z070000", "2024-07-01T12:34:56Z")
fmt.Println(tm)
fmt.Println(err)

outputs:
0001-01-01 00:00:00 +0000 UTC
parsing time "2024-07-01T12:34:56Z" as "2006-01-02T15:04:05Z070000": cannot parse "Z" as "Z070000"

What did you expect to see?
The call to time.Parse to succeed and return a time with the UTC time zone location. For example, this code:
tm, err = time.Parse("2006-01-02T15:04:05Z070000", "2024-07-01T12:34:56Z")
fmt.Println(tm)
fmt.Println(err)

SHOULD output:
2024-07-01 12:34:56 +0000 UTC
<nil>

Related Issues

time.Parse doesn't seem to parse the abbreviated timezone as expected #56528 (closed)
time: time ParseInLocation error #66987 (closed)
time: ParseInLocation error  #49284 (closed)
time: Parse behaves inconsistently when parsing numerical timezones with an "MST" format string #30780
time: Parse not setting Location to Local when TZ=UTC #45960
time: bugs in parsing time string with GMT as time zone. #40472
time: Parse inappropriately sets Location() to Local in some circumstances #19750 (closed)
time: error at parsing a time with time zone #29924 (closed)
time: pre-defined layout cannot be parsed #45081 (closed)
time: parseTimeZone() doesn't work for for many Zones formatted by Time.Format() #24071 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

HI @darinkrauss , have you looked at https://github.com/golang/go/issues/56528#issuecomment-1301168906 ? Seems related to me. Thanks.

Hi @thanm! I had not seen that comment. After reviewing, though, I'm not sure I see how it is related. This issue is related to parsing the ISO-8601 "Z" abbreviation for UTC when using the "Z070000" and "Z07:00:00" time formats. Parsing currently works for the other "Z"-related time formats (without seconds) such as "Z0700" and "Z07:00". What am I missing?


Update guac-visualizer.md

Correcting the git clone command

Let me check what needs to be done for this. I see the commit has 'verified' badge though.

@pgbhagat you need to do a -s when doing the commit. For example:  git commit -m "initial commit" -s. That will fix the issue.

Signed the commit, done

@pgbhagat you will have to sign both commits (all commits).

This change was obviated by 458a3ec. Closing the PR. Thanks for your work @pgbhagat


Network index is off by 1 on HP Cloud

Testing on HP Cloud showed that the network index used was off by 1.
Bump it so that the plugin works correctly with HP Cloud.

Looking more closely and it seems the network matching needs improvement generally.  Will look at making a more complete change for this.


Office League - Rating stored as Double on second deployment

Due to node lib bug: https://github.com/enonic/xp/issues/5069


Limitador CR shows Ready State while Deployment is still rolling out changes

When the Limitador Custom Resource (CR) is updated, the associated deployment begins rolling out the changes. However, the Limitador CR incorrectly shows a ready state even while the deployment is still in progress. This can lead to confusion and potential issues as the system may appear to be fully updated when it is not. The status of the Limitador CR should accurately reflect the deployment status to ensure proper synchronization and monitoring.

Fixed in #142


Missing Visual C++ Redistributable as Prerequisites

Failed to launch Bot Framework Composer without Visual C++ Redistributable, getting below error.
Found the same issue at https://github.com/microsoft/BotFramework-Composer/issues/7964.
After vc_redist.x64.exe package installed, the issue solved.
Suggest adding vc_redist.x64.exe as a prerequisite in this article.

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

ID: 668b24a1-8df0-579c-a656-cb1b8e63f5ea
Version Independent ID: 14fd497a-8916-153d-5bc0-cfe65fab7c98
Content: Install Bot Framework Composer
Content Source: composer-docs/install-composer.md
Service: bot-composer
GitHub Login: @emgrol
Microsoft Alias: v-eolshefski

Hey @hannadeng, thanks for reaching out.
According to Redistributing Visual C++ Files documentation, the redistributable packages are installed by Visual Studio.
Perhaps if it fails to launch Bot Framework Composer without Visual C++ Redistributable, we can add a note in the prerequisite to install the vc_redist.x64.exe package?

Proposing the following changes:

In some environments, Bot Framework Composer may not work correctly if Redistributing Visual C++ files have not been installed. Specifically, Bot Composer may not start or get stuck on the "Starting Server" message.

In this case, please install additional Visual C++ redistributable files to ensure that Composer starts successfully.

Hey @hannadeng, thanks for reaching out.
According to Redistributing Visual C++ Files documentation, the redistributable packages are installed by Visual Studio.
Perhaps if it fails to launch Bot Framework Composer without Visual C++ Redistributable, we can add a note in the prerequisite to install the vc_redist.x64.exe package?
Proposing the following changes:

In some environments, Bot Framework Composer may not work correctly if Redistributing Visual C++ files have not been installed. Specifically, Bot Composer may not start or get stuck on the "Starting Server" message.

In this case, please install additional Visual C++ redistributable files to ensure that Composer starts successfully.

@ramfattah  Agree. It would be good adding the changes.

I'll update the docs. Thanks @ramfattah and @hannadeng .

Update should be live by tomorrow.


treasury smart contract + tests + mocks

Description
This pull request adds the treasury smart contract as well as 2 mocks for testing: erc20 (for usdc and erc3643) and the vault -> erc20 to mock erc3643 in testing should be sufficient because it extends erc20 functionality.
tests can only be run with Hardhat, don't forget to change in defaultNetwork.

LGTM

Please look at the merge conflicts in yarn.lock

I aligned it with main now


Build out Architecture for blog API

This is the initial stages needed for building our blogging functionality. The basic framework should be done soon. All API files should be put into /api/
The API is built in Go, with a MongoDB DB

Issue has been completed


the means of ctr in ssd_head.py?

Hello, I don't know the specific meaning of ctr in ssd_head.py, could you please explain it

It indicates the center of base anchors.


refactor: cleanup 0.4.x deprecations

What this PR changes/adds
Delete 0.4.x deprecations
Why it does that
cleanup
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes # <-- insert Issue number if one exists
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 40.00000% with 54 lines in your changes missing coverage. Please review.

Project coverage is 66.90%. Comparing base (7f20ba5) to head (5e559b3).
Report is 352 commits behind head on main.

Files
Patch %
Lines

...onObjectToContractAgreementMessageTransformer.java
0.00%
12 Missing :warning:

...tractNegotiationTerminationMessageTransformer.java
0.00%
12 Missing :warning:

...tToContractNegotiationEventMessageTransformer.java
50.00%
6 Missing :warning:

...JsonObjectToContractRequestMessageTransformer.java
0.00%
6 Missing :warning:

...nObjectToTransferCompletionMessageTransformer.java
50.00%
6 Missing :warning:

...o/JsonObjectToTransferStartMessageTransformer.java
50.00%
6 Missing :warning:

...ObjectToTransferTerminationMessageTransformer.java
50.00%
6 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4354      +/-   ##
==========================================
- Coverage   71.74%   66.90%   -4.84%
==========================================
  Files         919     1053     +134
  Lines       18457    21090    +2633
  Branches     1037     1157     +120
==========================================
+ Hits        13242    14111     +869
- Misses       4756     6490    +1734
- Partials      459      489      +30

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


integration 'ina219_ups_hat' accesses hass.helpers.discovery. This is deprecated and will stop working in Home Assistant 2024.11

Just a heads up that Home assistant is depreciating accesses hass.helpers.discovery.. the HA Logs show the following warning:-
Detected that custom integration 'ina219_ups_hat' accesses hass.helpers.discovery. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from discovery directly at custom_components/ina219_ups_hat/sensor.py, line 70: hass.helpers.discovery.load_platform('binary_sensor', DOMAIN, {, please create a bug report at https://github.com/odya/hass-ina219-ups-hat/issues
Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 645: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues

it will work up to Nov 2024 as that is when 2024.11 will be due to be released. This should be fixable by the repo/code owner and be a seamless update once they get round to it, or even someone else may clone the repo and fix it as there seems to be a few users that use this.

Hmm it seems someone has forked this and added some fixes,but unfortunately not for this problem!

if Andrew fixes the bugs and his code works it might be better to use his fork until this repo pulls the updates.
HA complains about a couple of other things,  the battery reporting unit and summit else I can not think of right now. unfortunately this level of code is well above my station so I have to wait on others doing the hard work fixing things,  we have to hope others can help or we might be stuck until someone than uses the ups come up with a fix..
I here Argon40 are working on an ups device for there cases so maybe it might be similar and we can use their code if push comes to shove, or use some of their code to fix this.

You have been most helpful with this,but i am still sitting on the fence about purchasing the waveshare ups.
Is there a method other than this for implementing the ups for safe shutdown,in case no fixes are forthcoming?
I am using hassio on a raspberry pi 3 and have had sd cards corrupted in the past through power cuts.
And i am not sure if it is possible to use the waveshare default scripts in hassio,at least that would be a backup just without the integration and dashboard stuff.
Any advice would be greatly appreciated.

I just installed this and used it as is. I think there is similar version of this but with less bells and whistles but I can not remember if its was in the hacs store or it was a link to add it to the hacs store. If I find the link I will let you know.
 Then I moved up a pi 4 and got the Argon40 case with built in ngff ssd . Now about 6 months later it looks like I am going to have to retire the rpi4 and build a small pc to run the whole thing as I am out growing the power of the rpi4. 90% of my house is now controlled by HA, from boiling the kettle, lowering the lounge blinds when its dark , telling me there is a person outside the door right thru to monitoring the temperature of each room. A guy in one video I watched said using HA is akin to being addicted to crack, the more you use it the more you want to use it and it takes over our life..

Yes there is another in the hacs store
https://github.com/uvjim/rpi_waveshare_ups
Don't know if there are any install problems though.
If it works it may be a backup if there is no fix.
Thank you.

Unfortunately, I can't find any of these errors in the logs. Could you provide me with more information?

Fixed with #17

thanks @odya.

@CBDesignS In latest versions config format was changed https://github.com/odya/hass-ina219-ups-hat/blob/master/README.md
Seems like you have ina219 on channel 1 0x41. This is default channel and addr. Maybe changes in latest versions fixed your problem?

I got it sorted just forgot to close the issue here. It worked great but I had to upgrade my system from the Rpi 4 to an i5 Nuc with 16gb ram to keep up with the addons and HA in general as I was pushing the pi 90% cpu usage under daily use. thx


Slack 3.2.1 fails with "error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory"

Issue description
I upgraded to NixOS 18.09 and have slack defined as a package. It's upgraded to 3.2.1, but fails with the error:
/nix/store/vk69f66qzl6m3vjd9x977rr4267zymk1-slack-3.2.1/lib/slack/slack: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Steps to reproduce

Install slack via configuration.nix.
Run slack

Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
nix-shell -p nix-info --run "nix-info -m"
these paths will be fetched (0.00 MiB download, 0.00 MiB unpacked):
  /nix/store/qw3x8gfjpllamb3g39z8739ljjvzqgbx-nix-info
copying path '/nix/store/qw3x8gfjpllamb3g39z8739ljjvzqgbx-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 4.18.12, NixOS, 18.09.797.617607e0437 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.1.1`
 - channels(root): `"nixos-18.09"`
 - channels(jsimpson): `"nixos-19.03pre153673.a70d3bab72d"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/jsimpson/channels/nixos/nixpkgs`

Sorry, I had an override I had forgotten about causing the issue!


HAWQ-1697. fix bug of window func unsafe push down

window function was pushed down to scan node, causing the plantree messed up.
fix it to choose safe expression push down.

LGTM +1

+1


Server build task stuck forever

code-server version: 1.691-vsc1.33.0

OS Version: CentOS Linux release 7.6.1810

node version: 8.10.0

gcc version: 8.2.0

yarn version: 1.15.2

This behavior also remains on the latest release 1.604-vsc1.32.0
Description
Running the server build task gets stuck. This is the log for a while now.
yarn run v1.15.2
$ ts-node -r tsconfig-paths/register build/tasks.ts build:server:binary
INFO  BUILD:SERVER:BINARY Starting...
INFO  VSCODE:INSTALL Starting...
INFO  VSCODE:INSTALL Completed! time=242716ms {"time":{"expected":9007199254740991,"ms":1554574909554}}
INFO  BUILD:BOOTSTRAP-FORK Starting...
INFO  BUILD:WEB Starting...
INFO  BUILD:SERVER:BUNDLE Starting...
INFO  BUILD:SERVER:BUNDLE Executing 'npm ["run","build"]' {"options":{"cwd":"/home/code-server/packages/server"}}
INFO  BUILD:APP:BROWSER Starting...
INFO  VSCODE:PATCH Starting...
INFO  BUILD:APP:BROWSER Executing 'npm ["run","build"]' {"options":{"cwd":"/home/code-server/packages/app/browser"}}
INFO  VSCODE:PATCH Executing 'git ["apply","--unidiff-zero","/home/code-server/scripts/vscode.patch"]' {"options":{"cwd":"/home/code-server/lib/vscode"}}
INFO  VSCODE:PATCH Completed! time=1993ms {"time":{"expected":9007199254740991,"ms":1554575152394}}
INFO  BUILD:BOOTSTRAP-FORK Executing 'npm ["run","build:bootstrap-fork"]' {"options":{"cwd":"/home/code-server/packages/vscode"}}
INFO  BUILD:WEB Executing 'npm ["run","build"]' {"options":{"cwd":"/home/code-server/packages/web"}}
INFO  BUILD:APP:BROWSER Completed! time=41679ms {"time":{"expected":9007199254740991,"ms":1554575152394}}
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...
INFO  BUILD:SERVER:BINARY Still running...
INFO  BUILD:BOOTSTRAP-FORK Still running...
INFO  BUILD:WEB Still running...
INFO  BUILD:SERVER:BUNDLE Still running...

Steps to Reproduce

Run yarn
Run yarn task build:server:binary

Very interesting. What happens if you go into the packages/web directory and run npm run build?

Here's the error log.
> @coder/web@ build /home/code-server/packages/web
> ../../node_modules/.bin/cross-env UV_THREADPOOL_SIZE=100 node --max-old-space-size=32384 ../../node_modules/webpack/bin/webpack.js --config ./webpack.config.js

Happy[ts]: Version: 5.0.1. Threads: 63
Happy[ts]: All set; signaling webpack to proceed.
HappyThread[ts:32]: unable to send to worker! Error [ERR_IPC_CHANNEL_CLOSED]: channel closed
    at ChildProcess.target.send (internal/child_process.js:588:16)
    at processSend (/home/code-server/node_modules/happypack/lib/processSend.js:8:15)
    at Object.UnbufferedFd.send (/home/code-server/node_modules/happypack/lib/UnbufferedFd.js:9:3)
    at send (/home/code-server/node_modules/happypack/lib/HappyThread.js:38:20)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThread.js:146:7)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThreadPool.js:82:14)
    at HappyPlugin.compile (/home/code-server/node_modules/happypack/lib/HappyPlugin.js:194:14)
    at Object.HappyLoader (/home/code-server/node_modules/happypack/lib/HappyLoader.js:31:15)
    at LOADER_EXECUTION (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
    at runSyncOrAsync (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
    at iterateNormalLoaders (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:229:2)
    at Array.<anonymous> (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:202:4)
    at Storage.finished (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:43:16)
    at provider (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:79:9)
    at /home/code-server/node_modules/graceful-fs/graceful-fs.js:90:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)
HappyThread[ts:34]: unable to send to worker! Error [ERR_IPC_CHANNEL_CLOSED]: channel closed
    at ChildProcess.target.send (internal/child_process.js:588:16)
    at processSend (/home/code-server/node_modules/happypack/lib/processSend.js:8:15)
    at Object.UnbufferedFd.send (/home/code-server/node_modules/happypack/lib/UnbufferedFd.js:9:3)
    at send (/home/code-server/node_modules/happypack/lib/HappyThread.js:38:20)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThread.js:146:7)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThreadPool.js:82:14)
    at HappyPlugin.compile (/home/code-server/node_modules/happypack/lib/HappyPlugin.js:194:14)
    at Object.HappyLoader (/home/code-server/node_modules/happypack/lib/HappyLoader.js:31:15)
    at LOADER_EXECUTION (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
    at runSyncOrAsync (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
    at iterateNormalLoaders (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:229:2)
    at Array.<anonymous> (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:202:4)
    at Storage.finished (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:43:16)
    at provider (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:79:9)
    at /home/code-server/node_modules/graceful-fs/graceful-fs.js:90:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)
HappyThread[ts:35]: unable to send to worker! Error [ERR_IPC_CHANNEL_CLOSED]: channel closed
    at ChildProcess.target.send (internal/child_process.js:588:16)
    at processSend (/home/code-server/node_modules/happypack/lib/processSend.js:8:15)
    at Object.UnbufferedFd.send (/home/code-server/node_modules/happypack/lib/UnbufferedFd.js:9:3)
    at send (/home/code-server/node_modules/happypack/lib/HappyThread.js:38:20)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThread.js:146:7)
    at Object.compile (/home/code-server/node_modules/happypack/lib/HappyThreadPool.js:82:14)
    at HappyPlugin.compile (/home/code-server/node_modules/happypack/lib/HappyPlugin.js:194:14)
    at Object.HappyLoader (/home/code-server/node_modules/happypack/lib/HappyLoader.js:31:15)
    at LOADER_EXECUTION (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
    at runSyncOrAsync (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
    at iterateNormalLoaders (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:229:2)
    at Array.<anonymous> (/home/code-server/node_modules/loader-runner/lib/LoaderRunner.js:202:4)
    at Storage.finished (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:43:16)
    at provider (/home/code-server/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:79:9)
    at /home/code-server/node_modules/graceful-fs/graceful-fs.js:90:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)
HappyThread[ts:36]: unable to send to worker! Error [ERR_IPC_CHANNEL_CLOSED]: channel closed

@kylecarbs Ping!

What happens if you remove  --max-old-space-size=32384 from the package.json in packages/web?

@nol166 The same error remains.

the same situation occurs on my mac when building image from the Dockfile
OS Version: macOS 10.13.2
Docker version: 17.09.1-ce-mac42
have been waiting for a long time, but it seems never end

AFAIK this happens when you don't have enough RAM available. I had set docker to use 2GB and it didn't work. After setting the RAM to 8GB it did. I did some more testing and the max seems to be between 2 and 3 GB of RAM.

Yeah, you are right. After setting the RAM to 8GB, it doesn't stuck anymore

It's very interesting that the process never seems to die if its out of mem...

I have like >32G of free memory on my remote workstation.


frontend: check liquidity on target chain

closes #2141
Disables transfer button if not enough liquidity on target chain. Checks against the liquidity provider with the highest amount of tokens. Agent addresses are hardcoded.
I started to refactor our provider classes a little in the way it was discussed earlier. It was much easier to implement this functionality when having an option to create providers from an rpc url. This allows now to get rid of many of the JsonRpcProvider objects. Ideally we would have a central place (a store) with one provider per chain which use our internal rpc urls.

In order to provide a comprehensive solution for displaying the "time to expire" text i used the date-fns library.
It doesn't add much overhead (13.82kb gzipped) as it is tree-shaked on build-time. Here is the result of the build analyze:

@DBecane @andfletcher Here is an overview of the displayed text:

Please let me know if this is fine by giving a thumbs up or otherwise leave your suggestions.


When URL contains code and state as a parameter - oauth2-oidc library tries to create token (PKCE Flow)

Prerequisites - we have PKCE flow enabled
When we try a URL which contains code and state as a parameters.
Example: https://localhost:4200?code=xxxx&state=333xx
As soon as this is called - oauth2-oidc lib initiates token request flow.
by looking at the library we observe that if URL contains code and state it proceeds with token call
https://github.com/manfredsteyer/angular-oauth2-oidc/blob/f30098df4213671871cf9cd5667ca9751ff29ddd/projects/lib/src/oauth-service.ts#L1724
https://github.com/manfredsteyer/angular-oauth2-oidc/blob/f30098df4213671871cf9cd5667ca9751ff29ddd/projects/lib/src/oauth-service.ts#L1778
Appreciate if anyone can help us on finding way to stop the token call
NOTE: we need code and state as parameter for a specific reason - so we cant change the names of those params

I'm a tad confused by:

As soon as this is called - oauth2-oidc lib initiates token request flow.

This will only happen if the tryLogin... code is called by your code. So you control when it is run, and you can intercept anything beforehand if you need to?
I'm also a tad confused by:

finding way to stop the token call

Why would you want to stop it? The whole purpose of this library is to handle the OAuth2/OIDC compliant flows, if you don't let the library get the token, then what's the point? (But again, you can just not call tryLogin...)

@jeroenheijmans  - Thanks
We have already signed into the application and the token created successfully.
Now if I try to go to a deep linking URL (example localhost:4200?code=xxx&state=xxx) - why oidc is trying to create a  token?
I mean we already have signed in and we have a valid token. Then why OIDC is trying to get a new token when it sees a code parameter in the URL (which is nothing to do with OAuth, it is just a parameter used for different reasons)
We don't want to create token every time a deep linking happens with code and state parameter - this is the reason why we are trying to stop the token flow
Based on your advise we tried checking hasValidToken() before TryLogin - it seems to be working now.

That makes sense, thanks for letting us know how you solved it!


Systemd patch

Partial fix of #162. The rest is up to @AUTplayed to fix PKGBUILD in AUR

Is this still relevant for you? // cc @AUTplayed

@maik93 took over the aur package

Thanks for the information, I updated the contributor-docs according :)

Hi, thanks for making this update!
@AUTplayed had already fixed this issue before me more than one year ago.
I am working on pushing a new PKGBUILD on the AUR, but I am currently running in some problem related to #210.
I prefer to not push anything on AUR until that issue will be closed.


add some information

yuan1.0,BART,RoBERTa

Hi, thanks so much for your contribution! But i am not so sure if RoBERTa and BART should be listed as LLM since they are relatively small and whether Yuan1.0 should be listed as a mile stone paper. I would leave this PR open for further discussion.

Hi, thanks so much for your contribution! But i am not so sure if RoBERTa and BART should be listed as LLM since they are relatively small
Thanks for your reply! Firstly, I think it depends, about to define the word "small", since GPT is only 117M while BERT is 340M the largest. Secondly, BART is quite a high cite model, and its structure is Encoder-Decoder, which is Very different to GPT model, the pure genarative model. In the Encoder stage, it combines the two directions of information, while in the Decoding stage, it utils the Genarative process. I think at least BART may be considered.

Since the decoder-only family dominates the LLM, i only list representative models in the encoder-only(BERT) and encoder-decoder(T5,T0 and GLM). Considering there is no paper exploiting the zero-shot ability of BART as its counterpart T5 does, I believe it is more justifiable to list T5 rather than BART here. Also, if BART is listed, what about Pegasus?


Ignore relation if the type is hidden

If you hide a type from a relation, the generation will fail with Could not find type for relation field

Thanks for your contribution!


Display progress indicator for delegated Stacking

It seems for direct Stacking we show a "Stacking progress" unit with circular indicator:

But we don't do the same when STX are locked via delegation / pooling:

It'd be helpful to display this indicator in the latter case for users to judge how long it'll be until their STX unlock.

related to #297

With the new feature to extend stacking, the percentage can be confusing when it jumps from 50% to 25% or 0% or so.

Thanks @friedger I'll rename the issue to improve the UX to support extended stacking

I am closing this since we are working on a stacking page and a redesign


List input enhancement

Make it github behavior like.

[ ] re-calculate the rest numbered list No.

close in #49


[FR] New function: #blank-slide

I am currently facing an issue where I want to insert a tall image. In powerpoint I would simply have it overlap with other elements, using the height. However, it appears as if all available slides (with the metropolis theme) clip the image, much above/below the bottom/top:

I think that this issue could be solved, and possibly many others, by creating a function #blank-slide for all themes. It would impose as little as possible (nothing?), and possibly have keyword-argument that allow e.g. incrementing the logical slide number.

I found what I was looking for: #polylux-slide. It however looks mainly intended for building templates. Should the documentation and name be adjusted to make it seem less hacky to use it for something like I am doing, and also to add discoverability?

I agree that simply using polylux-slide is the way to go here. That's not hacky at all and the intended use. Themes (in the future, they will be known as templates because that's what they really are) just give you some more pre-existing scaffold for your slides. But if you don't want/need that and prefer a blank slide instead, then polylux-slide it is.

That makes a lot of sense. Perhaps it would suffice to just make a note about it in the docs? Me for example, was quite uncertain if this was hacky or more prone to breakage than other methods.

I was hoping this first section of the docs where I deliberately don't use themes makes it clear that that's what you can do.

Yes, fair point. Perhaps I am just spoiled, expecting things to be very spelled out in terms of intended usage in possibilities. I had the idea that #polylux-slide was used for building themes, and that users should not expect to use it in a presentation with a theme.
Would you mind aliasing blank-slide to polylux-slide? I feel like it is more discoverable, and more clear in what it might be used for. I know I am being very nitpicky here, but I feel like it would be a marginal improvement without drawback.


Error while doing filtered subscription with replay event

Hi,
I am trying to subscribe for a push topic having filter like https://{instance}.salesforce.com/cometd/42.0/topic/TestContact1?LastName='Smith' with replayId as -1.
Once i subscribe to it , salesforce gives back error saying "The replayId for channel {/topic/TestContact1} wasn't found using the provided replay ID map {{/topic/TestContact1?LastName='Smith'=-1}}. Ensure that the channel name you provided in the replay map is valid and matches the channel name used for subscribing."
Does salesforce provides filtered subscription along with replay id.
Thanks,
Pratibha

Hit the same problem. Does anyone know if this is possible?


Added palindrome solution and folder structure

This Pull Request resolves Issue #574
Description:
Added my palindrome solution and created the folder structure for others.

ANy updates here?

@captainswain please make the suggested changes soon. Rest looks good. :+1:

Close solution in 24 hours if there are no updates!

PR closed due to inactivity!


[BUG] Windows 3004 move config not working for EXE

Description
When running the exe installer from the command line with the /move-config switch, Salt is upgraded, the new registry keys are created but they point to the existing C:\salt locations, root_dir and config_dir are not updated.
The GUI, however, works and will move config if instructed.
Setup
I used the provided state from the salt-winrepo-ng repo and added the /move-config switch

[ ] on-prem machine
[x] VM (Virtualbox, KVM, etc. please specify)
[ ] VM running on a cloud service, please be explicit and add details
[ ] container (Kubernetes, Docker, containerd, etc. please specify)
[ ] or a combination, please be explicit
[ ] jails if it is FreeBSD

Steps to Reproduce the behavior
A Windows Server 2019 (2012R2 and 2016 also tested) VM running 3003.3 was used to test the above state against which results in Salt being upgrade but the binaries and config are not moved. Moving to running the installer locally without Salt and with the /minion-name and /master switches, alongside /move-config, the same was observed. In both situations, C:\ProgramData\Salt Project\Salt is created, no files are migrated.
When running locally without Salt involved
If I remove all switches C:\ProgramData\Salt Project\Salt is created but the config is not migrated, the registry keys are created and point to C:\salt. If I only specify /move-config then C:\ProgramData\Salt Project\Salt is not created
When attempting to force configuration to remain in C:\salt by using /master /minion-name and /install-dir, the configuration is moved from C:\salt\conf to C:\ProgramData\Salt Project\Salt\conf - including the pki files - but creates new defaults in C:\salt which then causes the minion key to be denied as coming from the same minion_id
Expected behavior
The binaries are expected to be moved to C:\Program Files and config to C:\ProgramData with C:\salt removed
Versions Report
salt --versions-report
Master
Salt Version:
          Salt: 3003.3

Dependency Versions:
          cffi: Not Installed
      cherrypy: Not Installed
      dateutil: 2.6.1
     docker-py: Not Installed
         gitdb: 2.0.3
     gitpython: 2.1.8
        Jinja2: 2.10
       libgit2: 0.26.0
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 0.5.6
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: Not Installed
      pycrypto: 2.6.1
  pycryptodome: 3.4.7
        pygit2: 0.26.2
        Python: 3.6.9 (default, Dec  8 2021, 21:08:43)
  python-gnupg: 0.4.1
        PyYAML: 3.12
         PyZMQ: 17.1.2
         smmap: 2.0.3
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.2.5

System Versions:
          dist: ubuntu 18.04 Bionic Beaver
        locale: UTF-8
       machine: x86_64
       release: 4.15.0-159-generic
        system: Linux
       version: Ubuntu 18.04 Bionic Beaver

Minion
Salt Version:
              Salt: 3003.3

    Dependency Versions:
              cffi: 1.14.5
          cherrypy: 18.6.0
          dateutil: 2.8.1
         docker-py: Not Installed
             gitdb: 4.0.5
         gitpython: Not Installed
            Jinja2: 2.11.3
           libgit2: Not Installed
          M2Crypto: Not Installed
              Mako: 1.1.4
           msgpack: 1.0.2
      msgpack-pure: Not Installed
      mysql-python: Not Installed
         pycparser: 2.20
          pycrypto: Not Installed
      pycryptodome: 3.9.8
            pygit2: Not Installed
            Python: 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
      python-gnupg: 0.4.6
            PyYAML: 5.4.1
             PyZMQ: 18.0.1
             smmap: 3.0.4
           timelib: 0.2.4
           Tornado: 4.5.3
               ZMQ: 4.3.1

    System Versions:
              dist:
            locale: cp1252
           machine: AMD64
           release: 2012ServerR2
            system: Windows
           version: 2012ServerR2 6.3.9600 SP0

Additional context
This may just be the nature of the MSI installer but I am unable to use this inplace of the EXE in the state provided as it uninstalls Salt and seems to kill the installer in the process so you are left in an uninstalled state.
However, performing an upgrade with the MSI installer, outside of any salt state and provided the installer is not inside C:\salt, works and will move the config using MOVE_CONF.

I think it has something to do with the existing running salt process if salt is calling the update itself?
We've been rolling the upgrade out with 3004-3 installer using our older, soon to be retired Ansible pipeline and it works great but trying to use the salt-minion-py3 pkg installer still results in the files never being moved.

I'll try to look at this today

@twangboy From my testing that's more than likely what's going on, it works flawlessly if I use an outside method to do the install but running it from within the salt formula/winpkg is when it fails.


Optimize apparent cross joins

Includes a handful of small fixes, and then the main event:
Rewrite InnerJoin/Filter sequences, putting conditions before, in, or after the join.
The idea is to identify all filtering associated with an inner join in the source plan, breaking down all components into four categories:

conditions referring to only the left or only the right source, which can be moved ahead of the join (SD-910)
conditions referring to both sources using =, which can be rewritten into the join (SD-1063)
all others, which have to be done after the join

This is implemented in a new rewriteCrossJoins fold, which uses boundParaM (which is new). Because the new fold introduces new temp names which made it difficult for tests to compare plans, names are now rewritten to a compact sequence starting with __tmp0 after rewriting cross joins. Nested lets are re-ordered to a consistent sequence. Also, the plan has to be simplified prior to the new fold, so all these steps are now wrapped up in Optimizer.optimize, which makes sure to run things in the proper sequence. This replaces the fold with simplifyƒ that was being called from several places before.
Added test for two queries which "worked" before but are now massively more efficient. Added an explicit time limit to the regression tests so these will fail definitively if the optimization stops working at some point. These tests (and all the rest) run in a few seconds locally, but the limit is quite high for now (45s) because some take as long as 25s in Travis.

Current coverage is 81.68%

Merging #1028 into master will decrease coverage by -0.40% as of 169b2bb

@@            master   #1028   diff @@
======================================
  Files          128     128
  Stmts         8546    8605    +59
  Branches       290     288     -2
  Methods          0       0
======================================
+ Hit           7015    7029    +14
  Partial          0       0
- Missed        1531    1576    +45

Review entire Coverage Diff as of 169b2bb

Powered by Codecov. Updated on successful CI builds.

John's law of testing indeterminism: any timeout, no matter how generous, will eventually produce a false negative that causes developers who did not write the timeout to curse the one who did. :smiling_imp:

I'm open to suggestions of other ways to verify that the optimization is effective. If we don't explicitly time out those tests, the failure mode is hanging, filling the DB with garbage, and then eventually returning the correct result. This was just meant to give a more decipherable error.

I think the regression tests should verify correctness, not necessarily performance (though performance metrics could be useful so long as they are not a criteria to fail the build), while unit tests should verify the correct (e.g. "performant") plans are being generated.
I like completely deterministic builds. Either they always succeed, or they always fail.

Aye, I think performance testing is definitely useful, but it would seem like doing this out-of-band via benchmarking or similar with results reported in a way that we can then alert on trends might be a better way to measure than as part of the test suite. Especially given that we can't really hold the testing environment constant on travis.

Given the emerging consensus, I'll back out the timeout.

Yeah, I wouldn’t even really call this an optimization, so much as normalization. It happens in the LP, which has no performance characteristics. We’re basically picking one out of a set of semantically-equivalent LPs.1
I am sympathetic to getting more useful feedback than “the tests took an hour, but everything succeeded in the end.” Using benchmarks helps, but getting that info before we merge into master would help more. So, we should probably add an issue for getting a dedicated benchmark machine set up (Travis is way too inconsistent), and it should also be simple to ask the machine to benchmark a particular fork/branch so we can debug performance regressions. But, obviously, not a part of this PR.
1: Once we have BlackShield, I could see LP having only CrossJoin (and outer joins), with this pass split into two pieces – one that pushes some conditions before the Cross (applied during LP normalization), and another that converts Crosses to Inners by moving some conditions into the join clause (applied to BlackShield). The elimination of Inners from LP makes it more orthogonal, and then we add in the “hints” to the backend when we convert to BlackShield.

Updated and rebased.

Looks pretty good. A couple suggestions re: comments/explanations and recursion, but nothing serious.

Probably will squash some of those commits before merging, but this should be ready to review again.

By the way, I just noticed I didn't address your comment about boundAttribute. The answer is it's not trivially equivalent to boundCata(attribute(f)). The fixed-ness of the types doesn't line up. I could give it a closer look tomorrow if it's important to you. It's used in exactly one place, and it might be easy to use boundPara instead (or, maybe better, to implement boundAttribute that way).

I don’t think changing boundAttribute is too important. I tried the trivial conversion myself and realized it didn’t line up, so I didn’t push it.

Alright, I'll do a little squashing and merge. Thanks!


Testing objects for properties

Challenge Testing Objects for Properties has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
var myObj = {
  gift: "pony",
  pet: "kitten",
  bed: "sleigh"
};

function checkObj(checkProp) {
  // Your Code Here
  if (myObj.hasOwnProperty(checkProp) === true) {
    return myObj[checkProp];
  }else
  return "Not found";
}

// Test your code by modifying these values
checkObj("house");

submitting "house" results in "Not found" but it wont pass me :/

@CoderBug The devil is in the details.
Please check your code against the require return values.
You are almost there, but our tests are really choosy about what should be capitalised and what shouldn't.
I am closing this issue as it is for code help, and not an issue with freeCodeCamp itself
Happy coding and thanks for contributing :tada:

The problem is the  letter F  in "Not Found". Change it to UpperCase F and it would pass

add double quotes on checkProp like this =>  "checkProp" in your if statment

Note: checkProp should not be enclosed in quotes because the if statement evaluates the variable which contains the string to be evaluated vs. the string literal "checkProp."


Update ag-grid after rowData append

Hi,
My question is how to update ag-grid after append a json object in rowData.
Function grid API maybe help me for this case?
But, how I manage async function without event in my grid?

Hi,
Here is a simple example of how to add a row to a grid. If this is not what you were looking for, please let me know.
import justpy as jp

grid_options = {
    'defaultColDef': {'filter': True, 'sortable': True, 'resizable': True, 'cellStyle': {'textAlign': 'center'},
                      'headerClass': 'font-bold'},
    'columnDefs': [{'headerName': 'Make', 'field': 'make', 'editable': True},
                   {'headerName': 'Model', 'field': 'model', 'editable': True},
                   {'headerName': 'Price', 'field': 'price', 'editable': True}
                   ],
    'rowData': [{'make': 'Toyota', 'model': 'Celica', 'price': 35000},
                {'make': 'Ford', 'model': 'Mondeo', 'price': 32000},
                {'make': 'Porsche', 'model': 'Boxter', 'price': 72000}]}

def add_row(self, msg):
    self.grid.options.rowData.append({'make': 'Tesla', 'model': 'Roadster', 'price': 95000})

def grid_test():
    wp = jp.WebPage()
    add_row_btn = jp.Button(text='Add Row', classes='m-2 ' + jp.Styles.button_simple, a=wp, click=add_row)
    grid = jp.AgGrid(a=wp, options=grid_options, auto_size=False)
    add_row_btn.grid = grid
    return wp

jp.justpy(grid_test)

No, it isn’t what i EasyPay looking for.
I need to refresh only the grid in page and not all the page with a new “return wp”
Thank you for Your fast response

The row is added by the event handler add_row. It only changes the grid so that is the only thing that will change on the page.
The return wp is required only for the initial page load.
Perhaps you can clarify your issue.

I need to update grid only in an event catched outside the page. I have a listener in a separate thread that will add row in grid  when it will receive a message.

Here is one way to do what you need:
import justpy as jp
import asyncio

grid_options = {
    'defaultColDef': {'filter': True, 'sortable': True, 'resizable': True, 'cellStyle': {'textAlign': 'center'},
                      'headerClass': 'font-bold'},
    'columnDefs': [{'headerName': 'Make', 'field': 'make', 'editable': True},
                   {'headerName': 'Model', 'field': 'model', 'editable': True},
                   {'headerName': 'Price', 'field': 'price', 'editable': True}
                   ],
    'rowData': [{'make': 'Toyota', 'model': 'Celica', 'price': 35000},
                {'make': 'Ford', 'model': 'Mondeo', 'price': 32000},
                {'make': 'Porsche', 'model': 'Boxter', 'price': 72000}]}

def grid_test():
    wp = jp.WebPage()
    wp.add_row_btn = jp.Button(text='Add Row', classes='m-2 ' + jp.Styles.button_simple, a=wp, click=add_row)
    wp.grid = jp.AgGrid(a=wp, options=grid_options, auto_size=False)
    jp.run_task(update_grid(wp))
    return wp

async def update_grid(wp):
    message_has_arrived = False
    while True:
        # ------------------
        # Code to check if message has arrived goes here
        # ------------------
        if message_has_arrived:
            # Substitute below to adding data from message
            wp.grid.options.rowData.append({'make': 'Tesla', 'model': 'Roadster', 'price': 95000})
            await wp.update()
        await asyncio.sleep(1)  # Wait one second in a non blocking manner
        print('Checked for message update')

jp.justpy(grid_test)

It seems to be working in this test like I want, but in my code there is a bug related to "RuntimeWarning: Enable tracemalloc to get the object allocation traceback", maybe the problem is that the async function is called in a separate thread that I need to start for the listener. I'm going to fix the bug in another time following your last code. Thank you so much for the fast response.


Make better example for usage text

We need a variety of types and literals for the example. right now its pretty much just u32.

closed by b3a615bd18000272ad3acaec82cc4ec8640e5f68


CreateStackWalk failed error messages in syslog

See #1222 for background. In addition to those "informational" messages, I also see many messages like this:
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=E_INVALIDARG
Nov 13 10:24:33 glomgold ThreadDumper: ThreadDumper Information: 0 :
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=8000ffff
Nov 13 10:24:33 glomgold ThreadDumper: ThreadDumper Information: 0 :
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=8000ffff
Nov 13 10:24:33 glomgold ThreadDumper: ThreadDumper Information: 0 :
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=8000ffff
Nov 13 10:24:33 glomgold ThreadDumper: ThreadDumper Information: 0 :
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=8000ffff
Nov 13 10:24:33 glomgold ThreadDumper: ThreadDumper Information: 0 :
Nov 13 10:24:33 glomgold ThreadDumper: CreateStackWalk failed: flags=f, hr=8000ffff

8000ffff is by far the most common HRESULT, but E_INVALIDARG happens, too, sometimes even E_FAIL.
The program doesn't throw an exception when this happens (as far as I can see) and we still get stack traces. Of course, I don't know if they're wrong in some way. What does this mean and what do we do about it?

I've previously seen a similar error with SOS: https://github.com/dotnet/runtime/issues/9790

Thanks for reaching out!
(0x8000ffff is "catastrophic failure".  Is this being loaded into WinDbg?  It's the only API I know of that generates catastrophic failure HRESULTs, but it might be coming from somewhere I don't know about.)
These errors in the log are there to find problems (I mean the failed ones, not the extra spam we removed in 3.1 you mentioned in the other thread).  That message does indicate that we could not walk the stack for a particular thread.  So, if that thread is alive and has interesting/relevant stack frames or roots, then that message indicates there may be a problem somewhere.
The causes of these failures are unfortunately varied:

A bug in ClrMD (definitely possible but unlikely in this case, this code has been working well for years).
A bug in your program.  (Are you calling ClrThread.IsAlive before walking roots or the stack, like we do here?  I should update documentation to call that out...)
A bug in the CLR debugging layer (mscordaccore.dll).
"Normal" places where we cannot walk the stack due to pausing the runtime at a non-walkable stack location.  (The CLR stack walker actually is designed to only work at certain "safe points".  It's possible, but rare, that an application crashed while a thread was in an unwalkable state, pausing the process where our debugging layer/stackwalker can't walk that stack.  This is normal and unfixable, but we still log an error to Trace because we don't have a way to detect that scenario.)

Unfortunately, it's not possible for me to know what's wrong without debugging it.  I can only take a look at what's going on if you have a crash dump or coredump where I can reproduce the problem.  I'm always happy to take a look if you do have a shareable dump where you see those messages, otherwise I'll (eventually) have to close this bug as unactionable...I am about to clean up old bugs and actually work on the ones that are fixable. :)

Is this being loaded into WinDbg?

No, this is entirely on Ubuntu Linux, no WinDbg involved, but as we saw in https://github.com/dotnet/runtime/issues/9790 SOS seems to generate that, too.

Are you calling ClrThread.IsAlive before walking roots or the stack?

No, I wasn't doing that. Adding a check for IsAlive seems to have fixed it (at least in my basic test) - thanks! I'll monitor it in prod.
That's quite a "gotcha", though. First, if EnumerateStackTrace() cannot get the stack trace I'd expect it to throw an exception, not return an empty enumerable and log something indecipherable to syslog. Second, if it knows that it cannot work on dead threads I'd expect it to throw a good exception that plainly says so.

That's quite a "gotcha", though.

It's actually not meant to be a gotcha at all.  It's perfectly fine to call those APIs and get nothing out of them.  It's not illegal from a diagnostics standpoint to try to get the stack trace or gc roots, there just aren't any.  (Though the error in the log is confusing, I agree on that.)
One thing to keep in mind about CLR debugging is that much of mscordaccore.dll is pretty sensitive to the state of the .Net Runtime.  When you debug in a managed debugger using ICorDebug (e.g. Visual Studio), the runtime is always in a "good" state as far as the debugger is concerned.  If you are debugging with LLDB or even just have a crash that paused the process at a random time (not at a debugger safepoint), then you can end up with "inconsistent state" as far as the runtime/debugging API is concerned.
One simple example of an inconsistent state might be your code ran new object[1204].  Imagine the GC is halfway through allocating that object when another thread crashes and pauses the process.  The result might look like heap corruption, a section of the heap isn't walkable when you run !dumpheap, and !verifyheap might report errors...but the issues is actually that we got unlucky and paused the process and a time where our debugging layer can't make sense of the process.
This is why we don't throw exceptions when !ClrThread.IsAlive and you try to enumerate roots or a stack trace.  Maybe the thread was just marked dead, but the native thread is still briefly alive...we could technically still walk the stack.  ClrMD is meant to just give you the answers it can give you in that case.

log something indecipherable to syslog

To be honest, I never considered where these messages go on Linux.  They show up in Visual Studio's trace events when you are debugging something, and it was useful to have them show up there.  I typically use Trace statements for "this is really weird, I need to capture this state so that folks can diagnose what's going on later".
I will change them to not end up in the syslog if !clrThread.IsAlive.  If the thread is alive, and you do see that in syslog though, it does indicate a possible failure that the clr team might need to investigate...or it could just be "inconsistent state" in one particular dump file.  In any case, chasing that down is what the logging is for.

I see, thanks for the detailed explanation!

Maybe the thread was just marked dead, but the native thread is still briefly alive...we could technically still walk the stack. ClrMD is meant to just give you the answers it can give you in that case.

Fair enough, I guess I see the trade-off.

If the thread is alive, and you do see that in syslog though, it does indicate a possible failure that the clr team might need to investigate...or it could just be "inconsistent state" in one particular dump file. In any case, chasing that down is what the logging is for.

It would be really difficult to chase down with the current amount of information in that log message, even if we do happen to see it. It doesn't include the thread ID or even the process ID. To me it would still make sense to throw an exception for such an error at least when !IsAlive, and include the thread ID in the exception.


Nuspec definition / assembly conflicts

The nuspec definitions for the net46 assembly do not seem to be in line with the net standard version.
For example it declares the following dependency:

The net standard has far fewer dependencies listed and refers to 2.9.0.
The result is that I get assembly conflicts and use of the 1.3.2 version instead of the 2.9.0 version.
Could you update the nuspec definition and publish to nuget?

Absolutely - will try to do by the end of the week.


refactor!: Refactoring storage connectors to support multi-user DB storage for recall memory + metadata

Please describe the purpose of this pull request.
Recall memory and other MemGPT metadata is all stored locally - to support a hosted version of MemGPT, we need to integrate the DB connectors to support this other data.
Todos

[x] Edit storage connectors to assume that a single table is used across all users/agents (for recall/archival memory)
[x] Support recall memory storage via storage connectors
[x] Add comprehensive tests for storage connectors
[x] Update chroma
[x] Add sqllite integration
[x] Modify MemGPT configure to have options: local, postgres, lancedb

[x] local == chroma (archival) + sqlite (recall)
[ ] `postgres == postgres for everything

[x] Add deletion support for sources
[x] Create metadata tables:

[x] Sources - Store data source metadata

Supported Query Types
The following queries will be supported for each DB integration:

Vector Search
Date Search
Text Search

Postgres
✅
✅
✅

Chroma
✅
❌
❌

LanceDB
✅
❌
❌

SQLLite
❌
✅
✅

Based on the types of queries supported, each storage connector can be used/not used for the following tables:

Postgres
SQLLite
Chroma
LanceDB

Passage
✅
❌
✅
✅

Message
✅
✅
❌
❌

Document
✅
❌
✅
✅

Agent
✅
✅
❌
❌

User
✅
✅
❌
❌

Data Source
✅
✅
❌
❌

For local setups, we will use SQLLite + Chroma, and for the hosted setup, we will use Postgres.
How to test

Storage tests: poetry run pytest -s tests/test_storage.py
Archival memory tests: poetry run pytest -s tests/test_load_archival.py
Testing data loading: memgpt load ...
Testing dataset attaching: memgpt attach ...
Testing listing sources: memgpt list sources
Testing source deletion: memgpt delete source ....
memgpt run

Related issues or PRs
TODO
Is your PR over 500 lines of code?
Yes
Pushed to another PR:
Future PR:

Adding user/agent information into the database (this will be tricky to implement since we need to ensure backwards compatibility which agents created locally)
Adding a document store

Detailed todos:

[ ] Add memgpt migrate CLI function (function also called with new memgpt run)

[ ] Migrate MemGPT config info
[ ] Migrate agent config
[ ] Migrate agent recall memory
[ ] Migrate agent archival memory
[ ] Migrate loaded data sources

[ ] Add deletion support for agents
[ ] Create metadata tables:

[ ] Agents - Store created agents and attached data sources
[ ] Users - Store user configs

[ ] Migrate to pydantic models https://github.com/tiangolo/sqlmodel

[ ] MemGPTConfig
[ ] AgentConfig
[ ] Passage
[ ] Message

[ ] Migrate LanceDB integration to re-add support for LanceDB archival memory

@cpacker given the available combinations of storage backends, so you think the current configure flow makes sense? It feels a bit overly complex, but maybe its fine since we have memgpt quickstart?
We can also maybe push this to another PR and take more time to think about configuration design.

Tests ran:
From OP:

[x] Storage tests: poetry run pytest -s tests/test_storage.py

Note: run with local docker container

[x] Archival memory tests: poetry run pytest -s tests/test_load_archival.py

Note: OpenAI embeddings was freezing, added code in test to point at our hosted endpoint

[x] Testing data loading: memgpt load ...

Note: using example from docs (memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdf)
Added commit to prevent scary error message based on bad configs + some extra input sanitization on memgpt configure

[x] ⚠ Testing dataset attaching: memgpt attach ...

Works, but lots of debug output that needs to be cleaned

[x] Testing listing sources: memgpt list sources
[x] ⚠ Testing source deletion: memgpt delete source ....
[x] ⚠ memgpt run

I get a warning that either needs to be patched or silenced
Progress bars on messages also need to be silenced

Extra tests:

[ ] memgpt configure -> memgpt run w/ defaults (chroma+sqllite)
[ ] memgpt run with an old agent
[ ] on a fresh install (rm -rf ~/.memgpt, poetry install, no extras): memgpt run (should do quickstart + chroma/sqlite backend setup?)
[ ] ???

Testing memgpt load
With bad config:
[defaults]
preset = memgpt_chat
persona = sam_pov
human = basic

[model]
model = ehartford/dolphin-2.5-mixtral-8x7b
model_endpoint = http://localhost:8000
model_endpoint_type = vllm
model_wrapper = chatml
context_window = 8192

[embedding]
embedding_endpoint_type = hugging-face
embedding_model = BAAI/bge-large-en-v1.5
embedding_dim = 1024
embedding_chunk_size = 300

[archival_storage]
type = postgres
path = /Users/loaner/.memgpt/chroma
uri = postgresql+pg8000://memgpt:memgpt@localhost:8888/memgpt

[recall_storage]
type = sqlite
path = /Users/loaner/.memgpt

[metadata_storage]
type = sqlite
path = /Users/loaner/.memgpt

[version]
memgpt_version = 0.2.10

[client]
anon_clientid = ...

Results in bad error:
 % memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdf

/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
Parsing nodes: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 15/15 [00:00<00:00, 289.88it/s]
Generating embeddings:   0%|                                                                                | 0/127 [00:00<?, ?it/s]Traceback (most recent call last):

httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.

After fixing config with memgpt quickstart, works fine:
...
[embedding]
embedding_endpoint_type = hugging-face
embedding_endpoint = https://embeddings.memgpt.ai
embedding_model = BAAI/bge-large-en-v1.5
embedding_dim = 1024
embedding_chunk_size = 300
...

% memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdf

/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
Data source memgpt_research_paper already exists in metadata, skipping.
Parsing nodes: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 15/15 [00:00<00:00, 301.19it/s]
Generating embeddings: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 127/127 [00:20<00:00,  6.27it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 127/127 [00:00<00:00, 259588.99it/s]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 127/127 [00:00<00:00, 59265.31it/s]

With new commits
bad6abc and d9ed2df
Bad config = clean error:
% memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdf

/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
Data source memgpt_research_paper already exists in metadata, skipping.
Failed to load directory from provided information.
Embeddings endpoint was provided an invalid URL (set to: 'None'). Make sure embedding_endpoint is set correctly in your MemGPT config.

Also, memgpt configure doesn't allow bad URLs:
% memgpt configure
? Select LLM inference provider: local
? Select LLM backend (select 'openai' if you have an OpenAI compatible proxy): vllm
? Enter default endpoint: http://localhost:8000
Failed to get model list from http://localhost:8000, using defaults
? Enter HuggingFace model tag (e.g. ehartford/dolphin-2.2.1-mistral-7b): ehartford/dolphin-2.5-mixtral-8x7b
? Select default model wrapper (recommended: chatml): chatml
? Select your model's context window (for Mistral 7B models, this is probably 8k / 8192): 8192
? Select embedding provider: hugging-face
? Enter default endpoint:
Endpoint must be a valid address
? Enter default endpoint:
Endpoint must be a valid address
? Enter default endpoint:
Endpoint must be a valid address
? Enter default endpoint:
Endpoint must be a valid address
? Enter default endpoint:
Endpoint must be a valid address
? Enter default endpoint: https://localhost:8000
? Enter HuggingFace model tag (e.g. BAAI/bge-large-en-v1.5): BAAI/bge-large-en-v1.5
...

Testing memgpt run

 % memgpt run

? Would you like to select an existing agent? No

🧬 Creating new agent...
->  🤖 Using persona profile 'sam_pov'
->  🧑 Using human profile 'basic'
/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:154: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_recall_memory_agentModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (MessageModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
🎉 Created new agent 'agent_9'

Hit enter to begin (will request first MemGPT message)

💭 Recognizing a new user. Time to establish a connection.
🤖 Hello, I'm Sam. It's a pleasure to meet you. How can I assist you today?
  0%|                                                                                | 0/2 [00:00<?, ?it/s]
100%|###########################################################################################################################################################| 2/2 [00:00<00:00, 855.81it/s]

> Enter your message: What do you know about me?
💭 Processing user query. Will have to dig into the Recall Memory to search for previous conversations.
🤖 As of now, my core memory holds the information that your name is Chad. Alright? To know more, would you like to look up additional information in your human memory or provide any specific
details?
  0%|                                                                                | 0/3 [00:00<?, ?it/s]
100%|##########################################################################################################################################################| 3/3 [00:00<00:00, 2334.93it/s]

> Enter your message:

Testing /attach
% memgpt run

? Would you like to select an existing agent? No

🧬 Creating new agent...
->  🤖 Using persona profile 'sam_pov'
->  🧑 Using human profile 'basic'
/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:154: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_recall_memory_agentModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (MessageModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
🎉 Created new agent 'agent_10'

Hit enter to begin (will request first MemGPT message)

/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
💭 This is a human user signing in for the first time. Is this correct, Sam?
🤖 Hey there, Chad! As you can see, I'm Sam, chemical element number 15, and a lot more. Nice to meet you!
  0%|                                                                                | 0/2 [00:00<?, ?it/s]
100%|##########################################################################################################################################################| 2/2 [00:00<00:00, 1028.90it/s]

> Enter your message: /attach
?  Agent now has 127 embeddings in archival memory.

Testing memgpt list sources
% memgpt list sources
/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
+-----------------------+----------------------------+--------------------+--------+
|          Name         |         Created At         | Number of Passages | Agents |
+-----------------------+----------------------------+--------------------+--------+
| memgpt_research_paper | 2024-01-02 12:55:17.872492 |         0          |        |
|        refactor       | 2024-01-02 13:29:31.354933 |        127         |        |
+-----------------------+----------------------------+--------------------+--------+

Testing memgpt delete source
% memgpt delete source memgpt_research_paper
/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})

% memgpt list sources
/Users/loaner/dev/MemGPT-2/memgpt/connectors/db.py:178: SAWarning: This declarative base already contains a class with the same class name and module name as memgpt.connectors.db.Memgpt_sourcesModel, and will be replaced in the string-lookup table.
  Model = type(class_name, (SourceModel,), {"__tablename__": table_name, "__table_args__": {"extend_existing": True}})
+----------+----------------------------+--------------------+--------+
|   Name   |         Created At         | Number of Passages | Agents |
+----------+----------------------------+--------------------+--------+
| refactor | 2024-01-02 13:29:31.354933 |        127         |        |
+----------+----------------------------+--------------------+--------+

After extra commit that cleans up success / error messages: 69849ba

Extra tests:

[ ] memgpt configure -> memgpt run w/ defaults (chroma+sqllite)
[x] memgpt run with an old agent

⚠ Fails on conversation search

[x] on a fresh install (rm -rf ~/.memgpt, poetry install, no extras): memgpt run (should do quickstart + chroma/sqlite backend setup?)

⚠ Still have extra output

[ ] ???

fresh install

memgpt run on an old agent

Need to patch bug with storage queries:
⚡🧠 [function] searching memory with conversation_search
'page'
{'query': 'banana'}
Error calling function conversation_search: SQLStorageConnector.query_text() takes 2 positional arguments but 4 were given
Traceback (most recent call last):
  File "/home/cpacker/dev/MemGPT/memgpt/agent.py", line 459, in handle_ai_response
    function_response = function_to_call(**function_args)
  File "/home/cpacker/dev/MemGPT/memgpt/functions/function_sets/base.py", line 105, in conversation_search
    results, total = self.persistence_manager.recall_memory.text_search(query, count=count, start=page * count)
  File "/home/cpacker/dev/MemGPT/memgpt/memory.py", line 313, in text_search
    self.storage.query_text(query_string, count, start)
TypeError: SQLStorageConnector.query_text() takes 2 positional arguments but 4 were given

[ ] Update to use tools instead of functions and create tool_call_id
[ ] Fix bug to have limit/count for queries


Develop to main v1.5

@volodymyr-chekyrta 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Update Arch Linux links in README

The [community] repository no longer exists and has been subsumed into [extra], hence updating links accordingly.

This had to do with the recent migration from svn to git in the main repos, I'm guessing it was easier to make this change at the same time and simplify packaging overall.


Add error message for missing compiler extension. Closes #2320

Adds a check to see if ':' for a compiler is missing, and if it is, throw an error explaining there was an invalid compiler, and show the proper syntax for compilers.

@apkiernan Thanks!  Can you please rebase onto master and address lint failures (which should occur after the rebase)?

Will put this back in v3.1.0 if it's ready by the time everything else is.

@boneskull Looks like this did get updated after the request? I'd like to see this error message or one like it go in (unless/until we replace --compilers with documentation surrounding --require, globbing and --watch-extensions), just to forestall issues arising from incorrect --compilers usage (while we still have it).


Relationship fails when attribute name != column name

My model has a Survey class with owner_id attribute, which is using a different column name (user_id) for historic reasons
class User(Base):
    __tablename__ = "user"
    user_id: Mapped[int] = mapped_column("id", primary_key=True)
    username: Mapped[str]

class Survey(Base):
    __tablename__ = "survey"
    survey_id: Mapped[int] = mapped_column("id", primary_key=True)
    name: Mapped[str]
    owner_id: Mapped[int] = mapped_column("user_id", ForeignKey("user.id"))
    owner: Mapped[User] = relationship("User", backref="surveys", lazy=True)

import models

@strawberry_sqlalchemy_mapper.type(models.User)
class User:
    pass

@strawberry_sqlalchemy_mapper.type(models.Survey)
class Survey:
    pass

@strawberry.type
class Query:
    @strawberry.field
    def survey(self, info: Info, survey_id: int) -> typing.Optional[Survey]:
        db = info.context["db"]
        return db.execute(select(models.Survey).where(models.Survey.survey_id == survey_id)).scalars().first()

In relationship_resolver_for, the code tries to access getattr(self, sql_column_name) instead of getattr(self, python_attr_name)
query MyQuery {
  survey(surveyId: 1) {
    name
    owner {
      username
    }
  }
}

  File ".../strawberry_sqlalchemy_mapper/mapper.py", line 409, in <listcomp>
    getattr(self, local.key)
AttributeError: 'Survey' object has no attribute 'user_id'

@TimDumol , we ran into this issue ourselves and see issues in two places where the relationship value is resolved on the respective row using the sql_column_name
StrawberrySQLAlchemyLoader#loader_for
 def group_by_remote_key(row: Any) -> Tuple:
                    return tuple(
                        [
                            getattr(row, remote.key) <- uses sql_column_name
                            for _, remote in relationship.local_remote_pairs
                        ]
                    )

StrawberrySQLAlchemyMapper#relationship_resolver_for
 relationship_key = tuple(
                    [
                        getattr(self, local.key) <- uses sql_column_name
                        for local, _ in relationship.local_remote_pairs
                    ]
                )

We have a temporary work around by overriding the respective methods and building a column name to attribute name map from the respective relationship mapper but keen to contribute this back.
I'm happy to contribute a fix back if we can agree an approach.

Hi @cpsnowden - sorry totally forgot I assigned myself to this. Your proposed fix looks good to me. Feel free to PR it!

Thanks @TimDumol - see that @gravy-jones-locker is addressing this in https://github.com/strawberry-graphql/strawberry-sqlalchemy/pull/25


Add one of the two largest "free" servers

Added play.pika-network.net and play.jartexnetwork.com.

Also, next time only open a PR for a single server.

Also, next time only open a PR for a single server.

Aight good to know

You didn't revert that file completely


Remove: pnpm.pnpm.7 version 7.1.1

Replaced by pnpm.pnpm

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.2 schema?

@wingetbot run


support for bitx (aka Luno)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Add full support for bitx exchange.

What is the current behavior? (You can also link to an open issue here)
Bitx only support getTrades.

What is the new behavior (if this is a feature change)?
Full support for bitx.

Other information:

Awesome stuff! Thanks :)


Implement string.concat() and bytes.concat()

This is what solc implements. Solang has implement a + b for string concatenation, which this PR removes.
Fixes: https://github.com/hyperledger/solang/issues/1558

This is what solc implements. Solang has implement a + b for string concatenation, which this PR removes.
Fixes: #1558

Removing a+b is a breaking change and render existing contracts incompatible. Shouldn't we first warn that a+b is deprecated and then remove it in a later release?

Removing a+b is a breaking change and renders existing contracts incompatible. Shouldn't we first warn that a+b is deprecated and then remove it in a later release?

a+b for strings was always a non-standard extension. It is not used much; for example, in the solana program examples it is not used (I've also just tested that).
As such I don't think there is need for deprecation and eventual removal. I've added an entry to CHANGELOG.md.

LGTM, I just see some potential to optimize the concatenation into a no-op when one operand is an empty constant:
function f(string a) public returns (string) {
    return string.concat(a, "");
}

block0: # entry
        ty:string %a = (arg #0)
        return (builtin Concat ((arg #0), (alloc string uint32 0 "")))

Nice, good catch. I've fixed this and added a test case.

Removing a+b is a breaking change and renders existing contracts incompatible. Shouldn't we first warn that a+b is deprecated and then remove it in a later release?

It is not used much;

We don't know if it is not used much. There is no way to prove it. The solana examples is a small set of what people use Solang for. Polkadot also support this feature.
Instead of deprecating then, what do you think of suggesting people to use string.concat when erroring for string + string?

Instead of deprecating then, what do you think of suggesting people to use string.concat when erroring for string + string?

I've added a diagnostic for this. I think it's useful in general for folks when they may try to concatenate two strings.


dividing by integers wierd in 0.14.1

In [1]: import pandas as pd; pd.Series ([-49.2, 0.0], index=[0,1]) / pd.Series([49,0], index=[0,1])
Out[1]:
0   -inf
1    inf
dtype: float64
This appears to be resolved in 0.15, and 0.16 - so not sure that this is worth reporting

thanks for the report Hugo
yes has been resolved to work in later versions by #7785 and a follow on fix iirc


Theme PR should be rejected (theme name already taken)

The new https://github.com/anuraghazra/github-readme-stats/pull/2065 should review this PR as a rejected as the theme name is already taken.

Automated Theme Preview
Hi, thanks for the theme contribution. Please read our theme contribution guidelines.
We are currently only accepting color combinations from any VSCode theme or themes with good colour combinations to minimize bloating the themes collection.

Also, note that if this theme is exclusively for your personal use, then instead of adding it to our theme collection, you can use card customization options.

:x: Theme PR does not adhere to our guidelines.
Test results

:x: rose_pine

Result: :x: Some themes are invalid.
Unfortunately, your theme PR does not adhere to our theme guidelines. Please fix the issues below, and we will review your
PR again. This pull request will automatically close in 15 days if no changes are made. After this time, you must re-open the PR for it to be reviewed.
Details
Rose_pine theme preview

:warning: Theme name already taken.

title_color: #9ccfd8 | icon_color: #ebbcba | text_color: #e0def4 | bg_color: #191724
Preview Link


[DSIP-32][Master] Add command fetcher strategy for master fetch command

Purpose of the pull request
close #https://github.com/apache/dolphinscheduler/issues/15897
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

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

Project coverage is 39.56%.  Consider uploading reports for the commit 92459d8 to get more accurate results

Files
Patch %
Lines

...rver/master/command/IdSlotBasedCommandFetcher.java
0.00%
21 Missing :warning:

...er/master/command/CommandFetcherConfiguration.java
0.00%
9 Missing :warning:

...ler/server/master/config/CommandFetchStrategy.java
55.55%
2 Missing and 2 partials :warning:

...server/master/runner/MasterSchedulerBootstrap.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##                dev   #15900      +/-   ##
============================================
- Coverage     39.63%   39.56%   -0.07%
+ Complexity     5019     5001      -18
============================================
  Files          1349     1353       +4
  Lines         45583    45567      -16
  Branches       4890     4866      -24
============================================
- Hits          18065    18027      -38
- Misses        25596    25619      +23
+ Partials       1922     1921       -1

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

Purpose of the pull request
close ##15897
Brief change log
Verify this pull request
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Please improve the pr description.