test-marist-ubuntu1604-s390x-4x docker permission denied

https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1604-s390x-4x/
04:51:11       [echo] Executing external.sh --clean --dir tomcat --tag nightly --version 11 --impl hotspot
04:51:11       [exec] Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Delete http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/adoptopenjdk-tomcat-test:11-jdk-ubuntu-hotspot-full?force=1: dial unix /var/run/docker.sock: connect: permission denied

I added the jenkins user to the docker group and relaunced the agent. Rerunning at https://ci.adoptopenjdk.net/view/Failing Test Jobs/job/Test_openjdk11_j9_sanity.external_s390x_linux_quarkus/40/console

The job was able to run successfully

Although, like https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1885#issuecomment-773944781, only the MachineInfo_0 test ran

@Haroon-Khel Can you make sure you assign yourself to issues you're working on please?

@smlambert Are any of the external tests able to run on s390x? Looks like some (all? Not checked) of them are configured to execute only MachineInfo_0. Has an extra check of some sort been added to run a docker command at the start of the external suite that caused this to show up?

I think this job behaves the same as https://ci.adoptopenjdk.net/view/Failing Test Jobs/job/Test_openjdk8_hs_sanity.external_x86-64_linux_spring/, where if I build it manually the build list defaults to external, but the nightlies will have a build list of external/quarkus (external/spring in the linked job) which may explain the different tests that run when manually built compared to the nightly job

All external tests can run in Docker on s390x, and look for the https://ci.adoptopenjdk.net/label/sw.tool.docker/ label appended to the ci.role.test&&sw.os.linux&&hw.arch.s390x.
We run external tests in PARALLEL=Subdir mode.  This lets us break each application out into their own job and to not have to edit any hardcoded list as we add more external targets.  When we run sanity.external or extended.external, it will run each find each test target in the playlist inside a subdir and run those that match the level of the job.  As in, if the test job is sanity.external we run all tests tagged with <level>sanity</level> so as Haroon points out, for some subdirs, it will only exercise the MachineInfo test targets.  (related: https://github.com/AdoptOpenJDK/openjdk-tests/wiki/Graduated-Testing-&-Test-Numbers#external-test-group)

Closing since the initial docker permission error is resolved


hideUserInputOnNoneTextInput input text field focus is broken

Hi,
I use the hideUserInputOnNoneTextInput option (see below). It does what it should do; hides the input fields except when type='text'. Perfect!
new cf.ConversationalForm({
  formEl: form,
  hideUserInputOnNoneTextInput: true,
});

However, when this is enabled, the text input fields are not working anymore how they should work. After typing each single character the cursor focus disappears and the input field needs to be selected again. I tested it in your demo pages as well, same result. Is this normal and do I need to add an extra event or is this a bug?
Thanks!
edit
One extra issue I came across: the button is missing when arriving on a <select multiple question. Answers on a mobile phone can not be submitted.
update
Above button being missed, can be resolved by creating an <input type="checkbox" (not ideal). Only with this option the previous answer cannot be modified correctly. Seem to be related to #239. All by all, one alternative solution gives a new issue. Please, use the below html to see the result for this issue. See also my request to use 'other' in multiple select option at #242 .
<fieldset cf-questions="What do you like to do in the weekend?">
<input type="checkbox" id="creating-forms" name="weekend" value="creating-forms">Creating forms
<input type="checkbox" id="chatting" name="weekend" value="chatting">Chatting on Github
<input type="checkbox" id="sleeping" name="weekend" value="sleeping">Sleeping
<input type="checkbox" id="other" name="weekend" value="other">Other
</fieldset>
<fieldset cf-questions="You selected 'Other'. Please, let me what else you do?">
<input type="text" cf-conditional-weekend="^other$">
</fieldset>

hey @demian1985 what device model & operating system & browser (with version) are you seeing this issue?

On Windows 10 pro version 1703, Chrome browser latest version. And iPhone 6S iOS 11.3. I did some cross checks on friends’ devices. Same issue.

@demian1985 I am fixing the issue where submit button is missing for multiple right now.
"the text input fields are not working anymore how they should work" I can not reproduce this issue.

@jenssogaard Sorry this was too long time ago, I remember that the cursor focus disappeared after each typed character, happened on desktop and mobile devices. This was also the reason for me to stop using the robot chat survey.
I have tried to duplicate this scenario as well, but it's too long time ago for me to remember. Sorry.

@demian1985 alright, I'll close this for now. Fill free to open another issue if needed.


New Design

Question: The last image of the description, it's not clear what is shown? If it's a modal then the backdrop should be uniform.  I don't understand what it is. Can you please clarify?

It's the projects page. The card displays additional info on hover and just the image otherwise.


when trying to build a mailserver after fresh installation we get an internal server error

Describe the bug
i followed the installation guide from https://docs.postalserver.io/getting-started/installation and was abled to connect to postal web interface and login with my just created user.
i could create my first organization. but right after that i wanted to build a mailserver. i added a name and hit "build". Then nothing happens and i could see that in the javascript console it shows an internal server error.
Failed to load resource: the server responded with a status of 500 ()

Screenshots

Environment details

OS: ubuntu 24.04
Browser: safari
Version: 3.3.4

this is the error message from docker logs postal-web-1
2024-07-11 15:16:13 +0000 ERROR  POST /org/xxxx/servers (500) event=request transaction=f375bbd013df0c241620 controller=ServersController action=create format=json method=POST path=/org/xxxx/servers request_id=fd5b836b-320f-4b3e-ae1e-48e88b0bfbf4 ip_address=80.155.xxx.xxx status=500 db_runtime=11.046738999895751 exception_class=NoMethodError exception_message=undefined method `query' for nil:NilClass exception_backtrace=/opt/postal/app/lib/postal/message_db/database.rb:326:in `query_on_connection'\n/opt/postal/app/lib/postal/message_db/database.rb:318:in `block in query'\n/opt/postal/app/lib/postal/message_db/connection_pool.rb:20:in `use'\n/opt/postal/app/lib/postal/message_db/database.rb:345:in `with_mysql'
<IP_ADDRESS> - - [11/Jul/2024:15:16:13 +0000] "GET /500 HTTP/1.1" 500 46 0.0335

When you are too dumb to also set your password for the message_db in config/postal.yaml...
Sorry for bothering. Problem solved.


test-bot shouldn't skip new formulae on ARM CI

This follows from https://github.com/Homebrew/homebrew-core/pull/69708.
Currently, test-bot does not attempt to build or test formulae using (I think) the following logic:
https://github.com/Homebrew/homebrew-test-bot/blob/86c53a3edab345504ebd2eb863ce87419ed837de/lib/tests/formulae.rb#L578-L585
This requires adding the CI-force-arm label so that test-bot will attempt an ARM build for new formulae. We shouldn't need to do this, and it would be good if test-bot recognises that a formula is new and attempt a build even if the CI-force-arm label is not set.
I'm still mulling over the right approach, so suggestions here would be appreciated.

Here's one idea:
diff --git a/lib/tests/formulae.rb b/lib/tests/formulae.rb
index a9ec56b..f4df21a 100644
--- a/lib/tests/formulae.rb
+++ b/lib/tests/formulae.rb
@@ -576,7 +576,7 @@ module Homebrew
         end

         if Hardware::CPU.arm? &&
-           ENV["HOMEBREW_REQUIRE_BOTTLED_ARM"] &&
+           (ENV["HOMEBREW_REQUIRE_BOTTLED_ARM"] || ENV["HOMEBREW_NEW_FORMULA"]) &&
            !formula.bottled? &&
            !formula.bottle_unneeded?
           opoo "#{formula.full_name} has not yet been bottled on ARM!"

But we'd need the HOMEBREW_NEW_FORMULA environment variable to be set for new formulae for this to work. Presumably, this can be done in the same way HOMEBREW_REQUIRE_BOTTLED_ARM is set.
Thoughts, @MikeMcQuaid?

Here's one idea:
diff --git a/lib/tests/formulae.rb b/lib/tests/formulae.rb
index a9ec56b..f4df21a 100644
--- a/lib/tests/formulae.rb
+++ b/lib/tests/formulae.rb
@@ -576,7 +576,7 @@ module Homebrew
         end

         if Hardware::CPU.arm? &&
-           ENV["HOMEBREW_REQUIRE_BOTTLED_ARM"] &&
+           (ENV["HOMEBREW_REQUIRE_BOTTLED_ARM"] || ENV["HOMEBREW_NEW_FORMULA"]) &&
            !formula.bottled? &&
            !formula.bottle_unneeded?
           opoo "#{formula.full_name} has not yet been bottled on ARM!"

But we'd need the HOMEBREW_NEW_FORMULA environment variable to be set for new formulae for this to work. Presumably, this can be done in the same way HOMEBREW_REQUIRE_BOTTLED_ARM is set.
Thoughts, @MikeMcQuaid?

But we'd need the HOMEBREW_NEW_FORMULA environment variable to be set for new formulae for this to work. Presumably, this can be done in the same way HOMEBREW_REQUIRE_BOTTLED_ARM is set.

Can we use new_formula = @added_formulae.include?(formula_name) (from line 598, we'll need to move it up):
https://github.com/Homebrew/homebrew-test-bot/blob/cfed23d743398e3f667918d0a50a0f5f667c327e/lib/tests/formulae.rb#L578-L604

But we'd need the HOMEBREW_NEW_FORMULA environment variable to be set for new formulae for this to work. Presumably, this can be done in the same way HOMEBREW_REQUIRE_BOTTLED_ARM is set.

Can we use new_formula = @added_formulae.include?(formula_name) (from line 598, we'll need to move it up):
https://github.com/Homebrew/homebrew-test-bot/blob/cfed23d743398e3f667918d0a50a0f5f667c327e/lib/tests/formulae.rb#L578-L604

Great suggestion; I was looking for where test-bot figured out whether a formula was new. I'll open a PR for this.

Great suggestion; I was looking for where test-bot figured out whether a formula was new. I'll open a PR for this.


⚗ TypeScript-only package with Node 22.6

An attempt at using TypeScript without a compilation process
📝 Description

Node.js added --experimental-strip-types in v22.6.0, which allows it to run TypeScript files without a compilation process.

Avoiding the build step to run Node.js TypeScript applications could be very useful for all projects running directly with Node, like Express applications. It can drastically simplify the deployment process, particularly with Cloud Functions.
However, published CLI apps might not work if --experimental-strip-types cannot be passed to files listed in bin. Additionally, published libraries will not work on the browser unless a bundler is used, which is already expected from modern front-end development.
I am expecting --experimental-strip-types to be the default behaviour in the release of Node 23.
Overall, it seems like a TypeScript-only package would cause a very minimal amount of friction in the ecosystem due to browsers always being late to the party.

Enable allowImportingTsExtensions and noEmit in tsconfig.json
Change imports for .ts
Export directly from src
Set engines to node >=22.6
Updated GitHub Workflows to node-version: >= 22.6
Uninstall tsx from the devDependencies

📓 References

https://github.com/nodejs/node/pull/53725
Experienced a blocker due to https://github.com/actions/setup-node/issues/761
https://nodejs.org/en/blog/release/v22.6.0
https://nodejs.org/api/typescript.html
https://nodejs.org/api/errors.html#err_unsupported_node_modules_type_stripping
https://github.com/denoland/deno/issues/16790
https://jsr.io

Type stripping in dependencies
To discourage package authors from publishing packages written in TypeScript, Node.js will by default refuse to handle TypeScript files inside folders under a node_modules path.

TypeScript-only packages are explicitly disallowed by NPMJS, but they are encouraged on JSR. It might be time to consider changing default package registry for publishing.
However, this repo's goal is to remain compatible with Node's defaults - for example, I'm using pnpm but one could still downgrade to npm.


WIP: Regtest Mode Fix

Fixes #71 - by adding pre-generated data directory contents. That is to say, there is, included in this PR, the state of a single generated block.
Regtest Mode had some issues, which involved an inability to cope with an initial state without any blocks. Additionally, any blocks added while zcashd is running are not recorded / retained upon subsequent runs. Therefore a direct solution (and because we do not want Regtest Mode to 'remember' state between runs) is simply to add an initial block.
Network parameters are all set to activate at block 1, and so all network upgrades should neccessarily be enacted when using Regtest Mode when using this branch.

A problem with this setup is that as soon as Regtest Mode is run, the state of the (now tracked) datadirectories changes, even when not adding a block. Therefore the git staging becomes immediately untidy.
There may be a clever solution using git related tools or files, but for now, it's a bit messy, but seems to work.

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@6dd62d5). Click here to learn what that means.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##             dev      #77   +/-   ##
======================================
  Coverage       ?   55.21%
======================================
  Files          ?       33
  Lines          ?     6660
  Branches       ?        0
======================================
  Hits           ?     3677
  Misses         ?     2983
  Partials       ?        0

Impacted Files
Coverage Δ

cli/src/regtest.rs
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Access Custom Realm attributes

Hi everyone,
i am trying to port my theme to keycloakify, but i can't figure out, how to access realm attributes. In FTL i could access the corresponding attribute via ${realm.attributes.myAttribute}. I tried to accomplish this by following the documentation here.
Can someone point me in the right direction, IF this is even possible?

Hello @PManaras,
Yes it's possible, can you tell me the names of the properties your want to access on the realm.attributes object?

Hi @garronej,
the realm attributes are, e.g. realm.attributes.imprint and realm.attributes.portalLink besides some other attributes to accomplish a somewhat dynamic theme for different realms.
That's why i am looking for a way to access the realm attributes in keycloakify, without the need to change my custom forms provider code, which will break things when migrating to a keycloakify based theme.
I also had a look at the login.ftl and it seems that the realmAttributes are "redacted" from the json response of the backend.

Hello @PManaras,
I recorded a video just for you 😊
https://www.youtube.com/watch?v=WdSPrpFObhg
Here is the documentation page:
https://docs.keycloakify.dev/taking-ownership-of-the-script-responsible-for-generating-the-kccontext

Thanks a lot! it works!
cheers!

to accomplish a somewhat dynamic theme for different realms.

This is a very valid usecase, maybe I shouldn't exclude the realm attributes by default then.
Or maybe only includes the custom ones...?
What are you thoughs on the matter?

it definitely makes sense to include some realm attributes. Since it's also a valid point not to include all of the properties of the realm, removing certain internal information is also important. So i tried the following:
I have removed the part which skips the realmAttributes as shown in the video and did something like this, to only allow specified attributes to be added:
<#if (key == "realmAttributes")>   <#assign localAttributes = object[key]>   <#assign allowedKeys = ['cibaBackchannelTokenDeliveryMode'] >   <#assign newAttributes = {}>   <#list localAttributes?keys as localAttributeKey>       <#if allowedKeys?seq_contains(localAttributeKey)>           <#assign newAttributes = newAttributes + { localAttributeKey : localAttributes[localAttributeKey]}>       </#if>   </#list>   <#local recOut = toJsDeclarationString(newAttributes, path + [ key ])>   <#local outSeq += ['"' + key + '": ' + recOut + ","]>   <#continue> </#if>
this example allows only attributes specified in allowedKeys. It works fine when starting the embedded keycloak. in reality i think its easier to exclude the information via the LoginFormsProvider. In my setup, i have a custom one myself, anyways.

I'm glad that you have a solution that works for you.
What would be a good default for the project according to you?
Excluding all known realm attributes values and forwarding all the custom ones?

Only allowing custom ones would be the safest. The realm that is created for testing contains these values:
{     "cibaBackchannelTokenDeliveryMode": "poll",     "cibaExpiresIn": "120",     "cibaAuthRequestedUserHint": "login_hint",     "oauth2DeviceCodeLifespan": "600",     "clientOfflineSessionMaxLifespan": "0",     "oauth2DevicePollingInterval": "5",     "clientSessionIdleTimeout": "0",     "parRequestUriLifespan": "60",     "clientSessionMaxLifespan": "0",     "clientOfflineSessionIdleTimeout": "0",     "cibaInterval": "5",     "realmReusableOtpCode": "false"   }
Exposing these is not a threat in my opinion, but you can't be sure, if there won't be potential sensitive information in there in the future.

You're right.
I've updated the documentation:
https://docs.keycloakify.dev/taking-ownership-of-the-kccontext
I was considering adding a specific option for declaring the user attributes that should be forwarded but then I realized that the Keycloak team actually discourage the usage of custom realm attributes and there's no pages in the Keycloak Account Console to edit them so I figured that I'll just leave it at that:
PS: I think you could have a simple modification of the freemarker templat just by doing:
-    ) || (
-        key == "attributes" &&
-        areSamePath(path, ["realm"])
-    ) || (
+    ) || (
+        areSamePath(path, ["realm", "attributes"]) &&
+        !["cibaBackchannelTokenDeliveryMode"]?seq_contains(key)
+    ) || (


Move DWS from HewlettPackard/dws to DataWorkflowServices/dws

Looks like hack/play-with-fuzz-tester.diff still has some references:
➜  dws git:(moveit-1) rg HewlettPackard\/dws
hack/play-with-fuzz-tester.diff
32: 	dwsv1alpha2 "github.com/HewlettPackard/dws/api/v1alpha2"
33: 	utilconversion "github.com/HewlettPackard/dws/github/cluster-api/util/conversion"

Looks like hack/play-with-fuzz-tester.diff still has some references:
➜  dws git:(moveit-1) rg HewlettPackard\/dws
hack/play-with-fuzz-tester.diff
32: 	dwsv1alpha2 "github.com/HewlettPackard/dws/api/v1alpha2"
33: 	utilconversion "github.com/HewlettPackard/dws/github/cluster-api/util/conversion"

Fixed


Added support for Linux on power

Hi,
I had added ppc64le(Linux on Power) support on travis-ci in the branch and looks like its been successfully added. I believe it is ready for the final review and merge. The travis ci build logs can be verified from the link below.
https://travis-ci.com/github/ujjwalsh/errors/builds/191860623
Please have a look.
Regards,
ujjwal

Thanks for the idea!
I don't think we need to test multiple architectures for this library (we'd just be testing the go compiler, which is pretty well tested already!)


instancetype: Improve functional tests for expand-spec subresource

What this PR does / why we need it:
Improved and added new functional tests for the expand-spec subresource
endpoints. Test now cover namespaced and cluster-wide instancetypes and
preferences.
This work is based on https://github.com/kubevirt/kubevirt/pull/8570
/area instancetype
Special notes for your reviewer:
Merge after https://github.com/kubevirt/kubevirt/pull/8720
Release note:

None

/cc @lyarwood
/area instancetype


Olelensmar/test/playwright baseline

This PR adds baseline UI tests for Monokle
Changes

Fixes

How to test it

Screenshots

Checklist

[ ] tested locally
[X] added new dependencies
[ ] updated the docs
[X] added a test

will create new when tests are up to date with new UI


Fix SQL injection

This adapter was vulnerable to a SQL injection.
I have run some tests, but nothing too robust.
Also I have never done golang before...

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

Reopened as #53 because of CLA check.


F-Droid autoupdate for splitted abis doesn't work with the tag name

F-Droid can only calculate the url from the version code and version name. But the tag name has 31020 which is not the version code (e.g. 310202). Could you please remove it from the tag name and use the version name only? Thanks!

Updated tag to 3.1.0

Thanks!


NanMakeWeakPersistent for existing Persistent

I find my most common use case for NanMakeWeakPersistent ends up requiring retention of a (possible) reference to an object, while not inhibiting the garbage collector's ability to dispose of that object if no references remain on the JS side, but this use case is currently impossible via nan, as NanMakeWeakPersistent can not return the Persistent created (without some copyable traits shenanigans), nor allow the developer to make an existing Persistent weak - and I'd rather not mix nan and raw v8 api calls for the same mechanism, if possible.
To me, it would make sense if there were an alternative function, that modified an existing Persistent, so that there is an option to:
NanAssignPersistent(myPersistentReference, someHandle);
NanMakeWeak(myPersistentReference, param, &callback);

(Suggested naming is purely an example, mind you - as the existing function kinda steps on the obvious choice :-P)

It would indeed be nicer that way, but unfortunately it is not possible. Currently I do not remember why, but I initially tried making it that way, since it is the natural way of doing things.
Still, all hope is not lost. NanMakeWeakPersistent does in fact return a _NanWeakCallbackInfo<T, P> *, which in turn contains the Persistent handle in its persistent member.
_NanWeakCallbackInfo<Object, void*>* weak = NanMakeWeakPersistent(...);
weak->persistent.Reset();

Do note that it is possible to shoot yourself in the foot in many ways with this returned object, so its use is discouraged. If at all possible, you are better off changing the surrounding code instead. The _NanWeakCallbackInfo struct is intended as internal, but was exposed (yet undocumented) for this very reason.

Thank you for the quick response, and explanation, and damn - that is going to make things awkward for me.
I'm using a std::map of native C++ instances to Isolate specific Objects (basically a multi-thread safe/capable alternative to node::ObjectWrap, to expose and manage a single C++ instance in multiple contexts).  My simple solution is to implement a base class for wrappable C++ objects, which contains a hidden map<Isolate*, Persistent<Object> >, and then make each entry weak - so that the class can identify when no Isolates still have a reference to the wrapped instance.
This only really applies to node 0.12 at the moment, though I'd still rather use nan to allow more graceful handling of future node/v8 versions.
I can't find any information about whether 'weakness' is transferred via CopyablePersistentTraits, though I very much doubt it, so I'll have to resort to either a) pointers to Persistent instances in my map, pointing to the objects Nan creates (which has a bad smell to me), or b) not use nan for disposal handling in those particular maps (which is a little defeatist!).

Thank you for the quick response, and explanation, and damn - that is going to make things awkward for me.
I'm using a std::map of native C++ instances to Isolate specific Objects (basically a multi-thread safe/capable alternative to node::ObjectWrap, to expose and manage a single C++ instance in multiple contexts).  My simple solution is to implement a base class for wrappable C++ objects, which contains a hidden map<Isolate*, Persistent<Object> >, and then make each entry weak - so that the class can identify when no Isolates still have a reference to the wrapped instance.
This only really applies to node 0.12 at the moment, though I'd still rather use nan to allow more graceful handling of future node/v8 versions.
I can't find any information about whether 'weakness' is transferred via CopyablePersistentTraits, though I very much doubt it, so I'll have to resort to either a) pointers to Persistent instances in my map, pointing to the objects Nan creates (which has a bad smell to me), or b) not use nan for disposal handling in those particular maps (which is a little defeatist!).

If you want them weak, it seems like you have to make it a map<Isolate*, _NanWeakCallbackInfo<Object,P>*>.
If I remember correctly, the reason why the Persistent has to be in that structure is because it is needed in the callback, so it has to be supplied there somehow. Combined with Persistent being non-assignable you end up with this mess. You can probably not even circumvent it by rolling your own, as you need access to that original Persistent in the callback. What you'll end up with is something similar to _NanWeakCallbackInfo.


[win32 helper] add a bat file to help listing/building/running the examples on windows

Goal :
Help windows users build and run the examples easily using their currently installed ambient runtime
Implementation :
A simple win32 bat file to be executed in the the [./guest/rust/]examples/ folder (this examples folder is also the one that is zipped upon all major releases - tags)
Execution :
run_samples.bat will display (v0.2.0) :

Hi,
Thanks for the work! Actually I have a similar PR before, adding an .sh file for UNIX system. But @philpax pointed out that we have already got https://github.com/AmbientRun/Ambient/tree/main/campfire
which provides an unified solution on different platforms like:
cargo campfire example run [EXAMPLE_NAME]

So, perhaps you can have a look at the folder and update the PR with the feature you want to add in campfire.

Hm, I don't think this fills the same role as campfire - this should theoretically be included alongside the examples.zip to make it easier to run an example.
I'd like to avoid shipping batch files, but this serves a useful need in the meantime. Let's merge it for now 👍


Sometimes the pointer after resize does not default back

There should be a timer or something to default the point back away from a resize operation after a period of time.  The drag/resize should also get cancelled if the mouse is not releases wthin a time frame say.... 5 seconds?

Fixed by: f68e89f
Pending merge to Close.


Add node 16 support

Adds Node 16 to supported versions

Codecov Report

Merging #6656 (7cab9df) into dev (81d34b4) will decrease coverage by 4.27%.
Report is 378 commits behind head on dev.
The diff coverage is n/a.

Flag
Coverage Δ

msal-angular
?

msal-browser
?

msal-common
?

msal-core
?

msal-node
80.72% <ø> (-2.67%)
:arrow_down:

msal-node-extensions
?

msal-react
?

node-token-validation
?

see 235 files with indirect coverage changes


User defined base column types

Due to the diversity of SQL, Koala can't model all possible column types. However, there is no obvious way to work with unsupported column types for users who need them. Additionally, Koala would benefit from allowing some column types to exist in non-core packages.
We need a clear way to extend Koala with additional base column types. Currently this should be possible using the RAW subclass of UnmappedDataType and adding any JDBC mappings required to JdbcTypeMappings. This process should be streamlined and officially supported.

Relates to #27


Check Wayback Machine instead if the file cannot be found

Description of the new feature / enhancement
Links sometimes go down for server issues, or other things, and they can be temporarily or permanent. The wayback machine can be more reliable than the actual site, as they are permanent links, as small or insecure sites can get attacked with malware.
Proposed technical implementation details
If the installer fails to download it will check the Wayback Machine for previous captures of the installer and if none are found the installer fails.

Relying on a different service as a fallback without prior permission tends to not win you any favors...

Wayback machine URLs cannot be construed as an official source of the package. Additionally, using wayback for the URLs would place a ton of load on Wayback's servers.
Adding on to that, publishers remove packages for any number of reasons - Security concerns, deprecation, or even just because they want to - and their wishes should be honored. If a user decides to put the installer on wayback or use the installer from wayback, that should be a personal choice. I would venture a guess that this would not be something Microsoft would endorse.

The policies for the community repository require packages to come from "official" sources. Several other sources have policies specifically prohibiting their use as a content distribution source and we must honor those policies as well as our own.


Add DekuDeals extension

Description
This PR adds DekuDeals extension, allowing users to search for various games (or other items) listed on DekuDeals.
Extension requires rack.session cookie (README includes instructions on how to grab it).
Screencast
https://user-images.githubusercontent.com/23171377/169994594-397ea8b4-6694-4ba1-a529-5218e1eb0a81.mp4
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

heyo!
not to my knowledge - DekuDeals doesn't expose any actual API (as you can see by the scrapping code) :/

hi!
it looks like the session token was made optional in the time between first version and this pr - I've made it optional, as it will come in handy if I decide to add support for adding stuff to favourites!
i've also added the search query disclaimer as you've suggested - take a look!


[BUG] keepKeys populates missing keys with null, and no way to return null values

https://github.com/johndcarmichael/object-reduce-by-map/blob/master/src/reducer.js#L65
Might be worth splitting this to 2 options:
1 - populateUnspecifiedKeys - what keepKeys currently does.
2 - keepKeys - return keys that are null (common in DB responses)
const reducer = require('object-reduce-by-map');

const map = {
  id: Number,
  date: String,
  type: String,
  health: Number,
  wear: Number,
};

const inputs = [
  null,
  {},
  {
    id: 10,
    date: '1970-01-01',
    type: 'test'
  },
  {
    id: 10,
    date: '1970-01-01',
    type: null
  },
  {
    id: 10,
    date: '1970-01-01',
    type: undefined
  }
];

for (const testInput of inputs) {
  console.log('\ninput:', testInput);
  console.log('keepKeys = false:', reducer(testInput, map, { allowNullish: true, keepKeys: false }));
  console.log('keepKeys = true:', reducer(testInput, map, { allowNullish: true, keepKeys: true }));
}

const reducer = require('object-reduce-by-map');

const map = {
  id: Number,
  date: String,
  type: String,
  health: Number,
  wear: Number,
};

const inputs = [
  null,
  {},
  {
    id: 10,
    date: '1970-01-01',
    type: 'test'
  },
  {
    id: 10,
    date: '1970-01-01',
    type: null
  },
  {
    id: 10,
    date: '1970-01-01',
    type: undefined
  }
];

for (const testInput of inputs) {
  console.log('\ninput:', testInput);
  console.log('keepKeys = false:', reducer(testInput, map, { allowNullish: true, keepKeys: false }));
  console.log('keepKeys = true: ', reducer(testInput, map, { allowNullish: true, keepKeys: true }));
}

/*
will output:

input: null
keepKeys = false: null
keepKeys = true:  null

input: {}
keepKeys = false: {}
keepKeys = true:  { id: null, date: null, type: null, health: null, wear: null }

input: { id: 10, date: '1970-01-01', type: 'test' }
keepKeys = false: { id: 10, date: '1970-01-01', type: 'test' }
keepKeys = true:  { id: 10, date: '1970-01-01', type: 'test', health: null, wear: null }

-- this is an issue - null is removed from the output
input: { id: 10, date: '1970-01-01', type: null }
keepKeys = false: { id: 10, date: '1970-01-01' }
keepKeys = true:  { id: 10, date: '1970-01-01', type: null, health: null, wear: null }

-- in this case, it doesn't really matter - one should never write the word "undefined" anyway, however, returning null is not really accurate
input: { id: 10, date: '1970-01-01', type: undefined }
keepKeys = false: { id: 10, date: '1970-01-01' }
keepKeys = true:  { id: 10, date: '1970-01-01', type: null, health: null, wear: null }
*/

could also be solved with a flag called treatNullAsUndefined


Edge: Editor mouse selection not rendered correctly anymore

Steps to Reproduce:

start to select in an editor
move the mouse up and down
selection does not follow

This seems to work fine in Chrome though.

I see other issues in Edge, so closing as upstream.

I see other issues in Edge, so closing as upstream.


i got error when use vue-auth

how can i do with this.
.babelrc
{
  "presets": ["es2015", "stage-2"],
  "plugins": ["transform-runtime"],
  "comments": false
}

package.json
  "dependencies": {
    "babel-runtime": "^6.0.0",
    "vue": "^1.0.21",
    "vue-auth": "^0.4.0",
    "vue-resource": "^1.0.2",
    "vue-router": "^0.7.13",
    "vue-strap": "^1.1.15",
    "vuex": "^1.0.0-rc.2"
  },
  "devDependencies": {
    "babel-core": "^6.0.0",
    "babel-eslint": "^6.1.2",
    "babel-loader": "^6.0.0",
    "babel-plugin-transform-runtime": "^6.0.0",
    "babel-preset-es2015": "^6.0.0",
    "babel-preset-stage-2": "^6.0.0",
    "babel-register": "^6.0.0",
    "chai": "^3.5.0",
    "chromedriver": "^2.24.1",
    "connect-history-api-fallback": "^1.1.0",
    "cross-spawn": "^2.1.5",
    "css-loader": "^0.23.0",
    "eslint": "^2.10.2",
    "eslint-config-airbnb-base": "^3.0.1",
    "eslint-friendly-formatter": "^2.0.5",
    "eslint-loader": "^1.3.0",
    "eslint-plugin-html": "^1.3.0",
    "eslint-plugin-import": "^1.8.1",
    "eventsource-polyfill": "^0.9.6",
    "express": "^4.13.3",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.8.4",
    "function-bind": "^1.0.2",
    "html-webpack-plugin": "^2.8.1",
    "http-proxy-middleware": "^0.12.0",
    "inject-loader": "^2.0.1",
    "isparta-loader": "^2.0.0",
    "json-loader": "^0.5.4",
    "karma": "^0.13.15",
    "karma-coverage": "^0.5.5",
    "karma-mocha": "^0.2.2",
    "karma-phantomjs-launcher": "^1.0.0",
    "karma-sinon-chai": "^1.2.0",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-spec-reporter": "0.0.24",
    "karma-webpack": "^1.7.0",
    "lolex": "^1.4.0",
    "mocha": "^2.4.5",
    "nightwatch": "^0.8.18",
    "ora": "^0.2.0",
    "phantomjs-prebuilt": "^2.1.3",
    "selenium-server": "2.53.0",
    "shelljs": "^0.6.0",
    "sinon": "^1.17.3",
    "sinon-chai": "^2.8.0",
    "url-loader": "^0.5.7",
    "vue-hot-reload-api": "^1.2.0",
    "vue-html-loader": "^1.0.0",
    "vue-loader": "^8.3.0",
    "vue-style-loader": "^1.0.0",
    "webpack": "^1.12.2",
    "webpack-dev-middleware": "^1.4.0",
    "webpack-hot-middleware": "^2.6.0",
    "webpack-merge": "^0.8.3"
  }

Its still very alpha at the minute, but it is functional. It looks like you're environment isn't running es6, which at the minute it needs to be as I've not been compiling a dist version just yet.
Your .babelrc looks fine to me, so I'm not sure as to why you're getting this error, other than your environment isn't es6.
I'll get a dist version setup next time I get to work on this.

thanks

I've put a dist version online if you're able to install from git for the time being.
Hopefully I'll have time to test it working tonight and tag a version

I tried it however I got error cannot find protperty beforeEach.  i'm out.Later I'll put screenshot of the error
------------------ 原始邮件 ------------------
发件人: "Wade<EMAIL_ADDRESS>发送时间: 2016年9月19日(星期一) 下午3:49
收件人<EMAIL_ADDRESS>抄送: "hainuo"admin<EMAIL_ADDRESS>主题: Re: [iWader/vue-auth] i got error when use vue-auth (#1)
I've put a dist version online if you're able to install from git for the time being.
Hopefully I'll have time to test it working tonight and tag a version
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

ERROR in ./~/vue-auth/dist/vue-auth.js
Module parse failed: /Users/fengliu/wease/node_modules/vue-auth/dist/vue-auth.js Assigning to rvalue (9:5)
You may need an appropriate loader to handle this file type.
SyntaxError: Assigning to rvalue (9:5)

i reinstall use npm install git+https://github.com/iWader/vue-auth.git .

https://github.com/iWader/vue-auth/blob/master/dist/vue-auth.js#L9
I change global.vue-auth to global.VueAuth.  fixed the bug

Hi @hainuo. I've just tagged v4.0.1 which addresses the issue. Theres now a fully working dist version which is linked as the main script in the package.json
Thanks for debugging this 👍

tanks


[BUG] Plan not found for some services

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest docker image for BTPSA?

[X] I'm using the latest docker image for BTPSA.

Which area is mainly impacted
CLI in general
Current Behavior
Some service plans always give back a "plan not found" error message, when they are created.
This is e.g. the case for the plan "abap_compute_unit" in the "abap" service.
Expected Behavior
The service plan should be made available to the user.
Steps To Reproduce
Try to create a service instance for the plan "abap_compute_unit" in the "abap" service.
Logs and configuration files available?
No response
Anything else?
No response

Addressed in PR


examples mobilenet V3 result error

Describe the bug
A clear and concise description of what the bug is.
识别的dog 但是结果错误
To Reproduce
Steps to reproduce the behavior.
根据文档完成编译运行+
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: Win11 pro workstation
Version 23H2

Additional context
Add any other context about the problem here.

It looks like the classification results are correct. Where do you think the issue might be?

cat is classify as Samoyed

Could you please provide the picture you are using? We didn't provide a cat picture in our example.

图片是例子里面的https://github.com/buddy-compiler/buddy-mlir/blob/main/examples/BuddyMobileNetV3/images/dog.png。我也提交了一个resnet18的pr链接是这个， 里面结果好像也都不太对，可能需要确认一下是不是我这里测试环境的问题，是不是这两个都不对


Add files via upload

Description
All previous genesis validators should name their PRs "Update {validator_alias}.toml for tesntet-15" and provide links to previous PRs merged.
If this is an UPDATE for a previous genesis validator
Checks are made against your net_address. If this has changed since the previous testnet, make sure you provide links of previous prs merged from your previous git username.
Thanks in advance!
Checklist before merging

[x] Only one toml is added in this PR
[x] The file being added is indeed a .toml file
[x] The toml being added is to the correct folder, and only to the correct folder
[x] The eth_hot_key and eth_cold_key are present
[x] The email, discord, elements telegram, and twitter fields are present and valid

Missing keys: {'elements'}
TOML file is not valid

Just leave it as "elements": ""

Just leave it as "elements": ""

Made the change. Sent PR


Error when using app in another workspace

I created a 2nd workspace to test deploying my app.  I enabled public distribution, but didn't go through the entire submit process.   When I run the oAuth flow to install the app I can pick my 2nd workspace and the app seems to install with a warning that it hasn't been reviewed.  When I try to interact with the app I get a 'invalid user_id error
Is the problem that the app hasn't been submitted for review? Or do I need to do something different when installing the app to another workspace?

Sorry if this is the wrong place to ask this question.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

We really need more info to help you here.

I get a 'invalid user_id error

For what API calls?
I'm not sure where you're now but generally speaking, a Slack app that is available for multiple workspaces should have its own database to store bot/user tokens per workspace. Picking up the right token for an incoming request by implementing authorize function is necessary in the case. Also, as you may be already aware, it'll be much easier with upcoming OAuth support in Bolt for JS.

@seratch everything is currently in memory and since I'm running the app locally there is no state for either of my workspaces.  In the app_home_opened event I'm calling
app.client.views.publish({token, user_id: slackUserId, view: new WelcomeView().getView() });
which seems to be the source of the error.  I'm not calling authorize for the original workspace where I created the app and everything is working within that workspace.

Your app needs to have authorize. If you're already using @slack/oauth, the InstallProvider provides the function. Simply using it should work for you. Checking https://github.com/slackapi/bolt-js/pull/479 is helpful to know how to do it.

@seratch  I implemented the authorize  function using the InstallProvider.  I see it calling authorize, but the end result is the same error of invalid user_id.  This is immediately after installing the app to a different workspace, so I would assume the user should be in the in memory installation store.
This is the InstallQuery passed to authorize

The result from authorize

Debug output

Found my problem, I was still passing my original botToken from my .env file and not the new botToken from the workspace where the app was installed.   I didn't understand that each workspace gets a different botToken for the same app

Good to know you've figured out the cause!

Found my problem, I was still passing my original botToken from my .env file and not the new botToken from the workspace where the app was installed. I didn't understand that each workspace gets a different botToken for the same app

Hi, can you please tell me how to get the new botToken from workspace where the app was installed.


[ADD ME TO THE ORGANIZATION]

Name: Nikhil Mishra
Location: Kolkata, India
Interest: Web Development, Open Source
Discord username(optional):- GodNik#1720
Why do you want to join?

I want to join because I want to connect with like-minded people and want t build a network where we can learn and grow together in open source.

You can also join our Discord community here
Feel free to check out other cool repositories of the DevsInTech Community here.

@mnik7044 Thanks for your interest. Invitations have been sent to you. Kindly accept it and make your membership public.


make/clean: clean the OBJ directly if declare in subdirectory

Summary
make/clean: clean the OBJ directly if declare in subdirectory
Change-Id: Iabfb3c5ed4d37a5534e3bab63a6b3cffb4816230
Signed-off-by: chao.an<EMAIL_ADDRESS>

This feel a bit hackish. Shouldn't CLEAN take care of this?
I think I know why this is needed: if you declare SRCS inside subdirectories from a Makefile.defs in another location, since CLEAN only considers objects in current directory, this indeed would clean them. But I think that we should fix CLEAN then instead, shouldn't we?
Also, note that I think this is thought to be used to that every subdirectory with sources has a Makefile.defs, but if you want to build some third-party app which you can't modify (by adding the Make.defs everywhere), this isn't feasible.
So, I think it is better to modify CLEAN IMHO.

Yes, I think too.

It is possible that once you do this change, some leftover .o will remain after a clean (since right now the CLEAN target
simply removes all .o files instead of looking for $(OBJS) (see below). If you do find leftover .o's somewhere we need to check if something else needs fixing.
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define CLEAN
        $(Q) if exist *$(OBJEXT) (del /f /q *$(OBJEXT))
        $(Q) if exist *$(LIBEXT) (del /f /q *$(LIBEXT))
        $(Q) if exist *~ (del /f /q *~)
        $(Q) if exist (del /f /q  .*.swp)
endef
else
define CLEAN
        $(Q) rm -f *$(OBJEXT) *$(LIBEXT) *~ .*.swp
endef
endif

Hi @v01d,
Yes, thanks for review, totally agree with you!
Let me first introduce the cause of this issue first,
In some open source projects, we often encounter files with the same source file name but in different directories,
for example:
chao@archer:~/code/apps/examples/hello$ tree
.
├── hello_main.c
├── Kconfig
├── Make.defs
├── Makefile
├── test
│   └── test.c
└── test2
    └── test.c

If we use VPATH to build this project, we will find that only one file is compiled because VPATH mistakenly believes that another file is already dependent:
Makefile:
include $(APPDIR)/Make.defs
...
VPATH := test test2
CSRCS += test.c test.c
....
include $(APPDIR)/Application.mk

Compile object:
chao@archer:~/code/apps/examples/hello$ tree
.
├── hello_main.c
├── hello_main.home.chao.code.apps.examples.hello.o
├── Kconfig
├── Make.defs
├── Make.dep
├── Makefile
├── test
│   └── test.c
├── test2
│   └── test.c
└── test.home.chao.code.apps.examples.hello.o

So VPATH is not a good choice in this case, we must use relative paths to ensure that the files are compiled:
Makefile:
include $(APPDIR)/Make.defs
...
CSRCS += test/test.c test2/test.c
...
include $(APPDIR)/Application.mk

compile object:
chao@archer:~/code/apps/examples/hello$ tree
.
├── hello_main.c
├── hello_main.home.chao.code.apps.examples.hello.o
├── Kconfig
├── Make.defs
├── Make.dep
├── Makefile
├── test
│   ├── test.c
│   └── test.home.chao.code.apps.examples.hello.o
└── test2
    ├── test.c
    └── test.home.chao.code.apps.examples.hello.o

As you can see, the source code was compiled correctly, then we encountered a new problem, "How to clear it?"
I have traversed a lot of source code in nuttx , the build system of nuttx is basically built with VPATH, so there is no case where the source code file names are the same.
Therefore, this clean process will be a special and partially effective process. In order to reduce the damage, I only take effect when building external applications, I think this is a comprehensive consideration for a lot of 3rd open source project.

I understand completely and your analysis is correct. I agree that VPATH is problematic and that whole "use the path to build object name" only complicates it. We should eventually improve that, but that is a whole problem in itself.
On the other hand, I see no problem in modifying CLEAN to work as I suggested. We only need to ensure it works OK for all cases. I think that extending CLEAN macro this way is a good step towards a direction without depending on VPATH (in that scenario I would guess that each source file has a full path, so doing rm on $(OBJS) should be the best way).
Can you try the suggested approach and test it? This would of course be a change in nuttx repo.

Emm.... Seriously, I don't really want to put this hack on the main line. This kind of processing will make the NUTTX repo seems weird.... I think if nuttx mainline keeps VPATH style, there will be no such problem.. Of course, I will try your suggestions further

What I'm suggesting is not a hack, it is actually the safest approach (remove $(OBJS), not just any .o in current directory). Please try it.

Hi @v01d ,
I uploaded a pull request on https://github.com/apache/incubator-nuttx/pull/1843
please review again

Let's close this PR, since the better approach exist.


I want to be able to edit any text fields rather than having to backspace all the OTP code.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi @Anish-novelty, individual pin editing isn't supported at the moment


Macro Carts

Check to see how to do for edit macro carts.
Not possible to do by api.

Macro carts updates directly to the database. Not possible to save anything with the API for macro carts.

Needs to add functions like copy and move up and down.


UX: Game copy implies DC'ed players can reconnect, when they can't

When one device is disconnected from the game, an error message appears on all the others, giving a ten-second countdown for the other player to reconnect before the session is automatically closed. However, in each case that this has happened for me, refreshing the DC'd device doesn't reconnect it, only returns it to the name-entry screen, and the ten seconds provided is not enough time to re-enter a name and room code.

I just changed this to the 60 seconds required in the cms on QA. Wondering if the refresh happened after the ten seconds were up, which would do exactly as you described above. Or if there is a bug in how the refresh is being handled.
This is linked to #46 #41 #47 #30

I am moving this to done/fixed, since it suggests the player's can't rejoin when moving between windows/tabs etc. I verified that you can indeed rejoin now if one player (who is not the decider) changes tabs/navigates away but returns within 60 seconds.
Of course, if a player closes their tab, this breaks the socket connection. There is never anything to be done about this, and must be conveyed and explained to the user.


Hello world examples segmentation fault cpp

I'm trying to run the example of hello_world in the cpp with:
➔ ./greeter_server
I0502 11:27:57.038671787   18984 server_builder.cc:258]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
Server listening on <IP_ADDRESS>:50051

./greeter_client
[1]    19315 segmentation fault (core dumped)  ./greeter_client

But I got this error in the greeter_client. Any idea why?

Also, in route_guide I have the same problem:
➔ ./route_guide_server
DB parsed, loaded 100 features.
I0502 11:51:11.967902571     336 server_builder.cc:258]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
Server listening on <IP_ADDRESS>:50051

➔ ./route_guide_client
DB parsed, loaded 100 features.
-------------- GetFeature --------------
[1]    339 segmentation fault (core dumped)  ./route_guide_client

What is your configuration (OS, compiler, gRPC version, protobuf version)? Also, a stack trace would be really helpful.

OS = Ubuntu 16.04
(how can I see the version of the rest?)
gdb trace:
(gdb) run
Starting program: /home/patriciarvsousa/grpc/examples/cpp/route_guide/route_guide_client
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
DB parsed, loaded 100 features.
-------------- GetFeature --------------
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ba1880 in grpc_completion_queue_factory_lookup ()
from /usr/local/lib/libgrpc++.so.1
(gdb) backtrace
#0  0x00007ffff7ba1880 in grpc_completion_queue_factory_lookup ()
from /usr/local/lib/libgrpc++.so.1
#1  0x0000000000413494 in grpc::CompletionQueue::CompletionQueue() ()
#2  0x0000000000414fde in grpc::Status grpc::BlockingUnaryCall<routeguide::Point, routeguide::Feature>(grpc::ChannelInterface*, grpc::RpcMethod const&, grpc::ClientContext*, routeguide::Point const&, routeguide::Feature*) ()
#3  0x000000000041055c in routeguide::RouteGuide::Stub::GetFeature(grpc::ClientContext*, routeguide::Point const&, routeguide::Feature*) ()
#4  0x0000000000427ff5 in RouteGuideClient::GetOneFeature(routeguide::Point const&, routeguide::Feature*) ()
#5  0x0000000000426d5e in RouteGuideClient::GetFeature() ()
#6  0x00000000004266bf in main ()

Hi, thanks for bringing this up! I cannot reproduce this on my machine. One thing I would suggest is to try to do a clean install of protobuf then gRPC. The issue might come from the fact that gRPC version 1.3.x uses protobuf 3.2.0, and you have 3.3.x installed.
I just put some directions to do a complete reinstall in another thread. Will paste it here.

Here are the steps I just took (caveat, they might not be the safest):

I nuked my /usr/local/lib/ and cleared out all proto and grpc libs

rm -f /usr/local/lib/libproto* /usr/local/lib/libgrpc*

Cleaned everything

git submodule foreach git clean -xfd
git clean -xfd

Ensured that I was at head (or you could pick any previous version)

git pull upstream master
git submodule update init

Reinstalled everything

cd third_party/protobuf
./autogen.sh
./configure
make
sudo make install
cd ../../ [back to the gRPC root]
make
sudo make install

After all that, the examples built. Hope this helps!

If these steps don't work, would you turn on maximum debugging by setting environment variables GRPC_VERBOSITY=DEBUG, and GRPC_TRACE=all. Then re run your situation and paste the output here?

It was solved by changing to the master. I'm on the version 1.3.0 .
Thanks!

I have a similar problem. The examples crash upon startup.
Mac OS X 10.12.4
protoc --version = 3.2.0
grpc = v.1.3.1
Segmentation fault 11.

when building grpc I get this warning:
ld: warning: directory not found for option '-L/Users/hadilsabbagh/grpc/libs/opt/c-ares'

@hadils I have the same problem in Macos, I brew installed c-ares, but that did not help. Do you have any progress on this issue?


DFM-2994: Migrate to pandas 2

Jelle made another PR for this https://github.com/visualfabriq/parqueryd/pull/44/files


Refactor AnimatedImageView

After working with gif stickers a few days, I found that AnimatedImageView has serious performance problems:
It should't use high-level UIKit API to resize animated frame, it is better to use low-level API such as Core Graphics to improve resizing performance. (see also Image Resizing Techniques
In my case, when use UIKit API to resize animated frame, the FPS is sometimes dropped to 30 FPS. And now above 55 FPS.
And I think the AnimatedImageView should be refactoring to adopt new version Swift style and make it clean too.

Hi,
Thanks for opening this pull request.
Could you add some description on what the purpose of this pull request? Like what is to be solved, what is the improvements and how? Is your work on it already done?
After you prepared detail, I can start to have a review.

LGTM! Thanks!


The CodeGenMemberSerializationHooks attribute cannot work on properties inherited from base types

Describe the issue or request
Currently to assign CodeGenMemberSerializationHooks attribute, we have to move the definition of the property into customize code, therefore it is impossible to change properties inherited because it is not defined on this model.
We need another attribute to allow that.

Proposal:
New attribute (or modify on existing attribute) on class
Note the CodeGenMemberSerialization and CodeGenMemberSerializationHooks can only be added on properties. The new attribute is on classes, or we could change the existing two to allow them to be added on classes.
Usage:
[CodeGenMemberSerializationHooks(nameof(PropertyToChange), SerializationValueHook = nameof(SerializationValueHook), DeserializationValueHook = nameof(DeserializationValueHook))]
public partial Model
{
	private void SerializationValueHook(Utf8JsonWriter writer) {}
	private void DeserializationValueHook(JsonProperty property, ref Optional<string> propertyToChange) {}
}


Projects: Increase project item limit

Summary
Currently, projects can only support 1200 active items and 10,000 archived items but we've heard from many larger teams that these limits are too low for the work they need to track such as long-running backlogs. While we can't completely remove the limit for projects, we will raise the limit to approximately 50k active items to better support this scenario.
Intended Outcome
For long running projects or all-encompassing backlogs for companies, the current limit for project items is too constricting. In order to better serve our large team and enterprise customers, we need to increase this limit so that their projects can grow as they do.
How will it work?
Projects will work as they do now, just with a higher upper limit on active items.

🚢 This has shipped to beta: https://github.blog/changelog/2024-02-12-github-issues-projects-projects-without-limits-private-beta/


Update zstd-jni to 1.5.6-4

About this PR
📦 Updates com.github.luben:zstd-jni from 1.5.6-3 to 1.5.6-4
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.luben", artifactId = "zstd-jni" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.github.luben", artifactId = "zstd-jni" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, version-scheme:strict, commit-count:1

Superseded by #253.


Look into ByteArrayRanges.mergeIntersections()

When using many partitions, this can be a bottleneck (O(n^2) growth with number of partitions) - also it seems DataStoreUtils.constraintsToByteArrayRanges() set maxRanges to 0, and mergeIntersections doesn't use max ranges.

it seems this was introduced with #543


RuntimeError: NetCDF: HDF error

Hi,
I am having some trouble running simulations for one year of the the 10-year oceanographic model that I have (daily outputs). The simulation appears to run for a little while
INFO: Compiled random ==> /scratch/pbs.1186449[136].kman.restech.unsw.edu.au/parcels-15278054/parcels_random_e6ee00a3-2127-41b4-9bb0-4c81c7aa0c4e.so
INFO: Compiled SampleParticleSampleInitialAdvectionRK4_3D_alternativeSampleAgeSampleDistanceDiffusionUniformKhSampleTempSampleBathyResetDepthSampleParticleDepthlarvalBuoyancySampleVelocitiesUnbeaching ==> /scratch/pbs.1186449[136].kman.restech.unsw.edu.au/parcels-15278054/b88a7ab377d8d6399793821c889b487f_0.so
WARNING: dt or runtime are zero, or endtime is equal to Particle.time. The kernels will be executed once, without incrementing time
  0% |                                                                        |
  1% |                                                                        |
  2% |#                                                                       |
WARNING: Deleting particle because of bug in #749 and #737
  3% |##                                                                      |
  4% |###                                                                     |
  6% |####                                                                    |
  7% |#####                                                                   |
  8% |######                                                                  |
  9% |#######                                                                 |
 10% |#######                                                                 |
 12% |########                                                                |
 13% |#########                                                               |
 14% |##########                                                              |
 15% |###########                                                             |
 17% |############                                                            |
 18% |#############                                                           |
 19% |##############                                                          |
 20% |##############                                                          |
 21% |###############                                                         |
 23% |################                                                        |
 24% |#################                                                       |
 25% |##################                                                      |
 26% |###################                                                     |
 28% |####################                                                    |
 29% |#####################                                                   |
 30% |#####################                                                   |
 31% |######################                                                  |

Then I get the following:
HDF5-DIAG: Error detected in HDF5 (1.10.5) thread<PHONE_NUMBER>5216:
  #000: H5Dio.c line 199 in H5Dread(): can't read data
    major: Dataset
    minor: Read failed
  #001: H5Dio.c line 601 in H5D__read(): can't read data
    major: Dataset
    minor: Read failed
  #002: H5Dchunk.c line 2259 in H5D__chunk_read(): unable to read raw data chunk
    major: Low-level I/O
    minor: Read failed
  #003: H5Dchunk.c line 3624 in H5D__chunk_lock(): data pipeline read failed
    major: Dataset
    minor: Filter operation failed
  #004: H5Z.c line 1326 in H5Z_pipeline(): filter returned failure during read
    major: Data filters
    minor: Read failed
  #005: H5Zdeflate.c line 123 in H5Z_filter_deflate(): inflate() failed
    major: Data filters
    minor: Unable to initialize object

followed by a more familiar Python error:
Traceback (most recent call last):
  File "portunid_particle_tracking.py", line 350, in <module>
    recovery={ErrorCode.ErrorOutOfBounds: DeleteParticle})
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/parcels/particleset.py", line 642, in execute
    execute_once=execute_once)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/parcels/kernel.py", line 431, in execute
    self.execute_jit(pset, endtime, dt)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/parcels/kernel.py", line 245, in execute_jit
    f.chunk_data()
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/parcels/field.py", line 1089, in chunk_data
    self.data_chunks[block_id] = np.array(self.data.blocks[(slice(self.grid.tdim),) + block])
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/array/core.py", line 1365, in __array__
    x = self.compute()
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/base.py", line 167, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/base.py", line 452, in compute
    results = schedule(dsk, keys, **kwargs)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/threaded.py", line 84, in get
    **kwargs
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/local.py", line 486, in get_async
    raise_exception(exc, tb)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/local.py", line 316, in reraise
    raise exc
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/local.py", line 222, in execute_task
    result = _execute_task(task, data)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/core.py", line 121, in _execute_task
    return func(*(_execute_task(a, cache) for a in args))
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/dask/array/core.py", line 102, in getter
    c = np.asarray(c)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/numpy/core/_asarray.py", line 83, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/core/indexing.py", line 495, in __array__
    return np.asarray(self.array, dtype=dtype)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/numpy/core/_asarray.py", line 83, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/core/indexing.py", line 655, in __array__
    return np.asarray(self.array, dtype=dtype)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/numpy/core/_asarray.py", line 83, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/core/indexing.py", line 560, in __array__
    return np.asarray(array[self.key], dtype=None)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/backends/netCDF4_.py", line 73, in __getitem__
    key, self.shape, indexing.IndexingSupport.OUTER, self._getitem
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/core/indexing.py", line 845, in explicit_indexing_adapter
    result = raw_indexing_method(raw_key.tuple)
  File "/home/z5278054/python_parcels/lib/python3.6/site-packages/xarray/backends/netCDF4_.py", line 85, in _getitem
    array = getitem(original_array, key)
  File "netCDF4/_netCDF4.pyx", line 4452, in netCDF4._netCDF4.Variable.__getitem__
  File "netCDF4/_netCDF4.pyx", line 5394, in netCDF4._netCDF4.Variable._get
  File "netCDF4/_netCDF4.pyx", line 1928, in netCDF4._netCDF4._ensure_nc_success
RuntimeError: NetCDF: HDF error

I suspect the initial error (the HDF5-DIAG error) is causing the second error, as my simulations for other years work as expected. I have done a few searches but the returned errors are beyond my knowledge.
Any help would be so great!
Thanks

Hi @erikvansebille - looks like it was a corrupt file. Thanks!

Hi @erikvansebille, I am returning to this issue as I have encountered it again. However, now it is for a different file (day). Curiously, I am now only getting the error for backwards simulations (forwards simulations over the same date range run without issue).
I have pinpointed when the simulation crashes, and as a troubleshooting measure attempted to open the suspect file(s) with a variety of functions (e.g., xarray.open_dataset() and ncdf4::nc_open() in R) which all work to check if it was an issue with corruption (as above). Is there another explanation for this? I don't think it is an issue with the rest of the code, as simulations for other years run and output is as expected.

well, the HDF errors are pretty on-spot: seems your NetCDF files are compressed (see the inflate() error which refers to the inlfate function og the zip-algorithm). In fact, coupling dask chunking with compressed data isn't advisable, because data compression (which needs global data and statistics for compression) interferes with local reads.
a) is it possible / true that your data are compressed ?
b) if so: can you store your data in an uncompressed format ?
c) if (a) is true and (b) results in 'no', then you need to define field = FieldSet.from_netcdf(..., chunksize=None) when creating the fieldset. This obviously results in the fact that your computing machine needs to be able to hold all the data for 2 timesteps in memory, but that's the tradeoff required then here.

Thanks @CKehl - I haven't forgotten to reply to this. Will just be a little while before I get back to this.

Hi @CKehl,
It's taken me a little while to get back to this. To answer your questions:
a) they were shared in compressed (zipped) folders and unzipped (by me) once uploaded to the HPC. I haven't been able to find any straight forward way to check if they're compressed or not, but the fact that the same files work for forwards simulations leads me to expect this isn't the issue.
b) if it turns out they are compressed I certainly can, and will
c) noted, and this should be possible
As an alternative, is it possible to remove the troublesome file and run the simulation with FIeldSet.from_nemo(allow_time_extrapolation = True) and skip over that day? It is a 10-year simulation (~ 200 particles release days per year) interested in broad patterns of larval dispersal and I don't think that skipping one day is going to particularly detrimental to the patterns. I just wanted to confirm that this would have the effect I suspect, that is, it'd use the velocity fields of the day previous where the file is missing, and then on the next day where there is a file it'd advect using those correct fields.
Thanks for your help.

Hi @DEHewitt, I'm just quickly going to chime in here because I think you misunderstand what allow_time_extrapolation = True does. This is to extrapolate the hydrodynamic data (i.e. allow particles to move beyond the time available in your dataset, by simply setting the flow field constant).
If you remove one file from within the series of snapshots, then you don't need to change anything to your code. Parcels does not assume or require a constant interval between hydrodynamic snapshots, instead it will simply interpolate linearly between two consecutive snapshots. So if one at time tn is 'missing', it will simply interpolate between the snapshots at time tn-1 and tn+1

Thanks @erikvansebille, I might've made it unclear by saying "skip over that day", but what you describe is conceptually what I meant (although I didn't realize parcels would linearly interpolate, rather I thought it'd use the most recent snapshot, i.e., tn-1).


Fix compilation with pattern feature

Looks like the unicode-perl feature is needed to run the searcher tests.
GitHub Actions CI is FUBAR, so it doesn't run until I click a button. Please run the tests locally and make sure it works there before pushing.

This PR is on crates.io in regex 1.5.4.


Is there any documentation or tutorials about this library?

Except for the very simple example, I didn't find any documentation or tutorials about this library. Can you edit one just like laspy, which allows beginners to get started quickly and make your project get more attention. You can start with simple modules, like I/O,kd-tree,octree,visualization,etc. Thank you very much!

Yes, it's definitely needed. My focus was on getting it to work first. I'll write a first draft when I get a chance.

I hope that the first draft can be completed as soon as possible, I can't wait for it!
You have contributed a lot to python and pcl!

@davidcaron Is there any documentation available?  please share

I ended up writing by own pybind11 bindings to the PCL C++ API and am using that now.

I really don't understand why these develops both to "provide" binding if they have no intention of making the libraries usable.
I wish I had the skills to write my own bindings, but I'm trying to use this library because I only know Python. I don't have the time to learn C++


Is it possible to define route patterns just line in the default router?

I understand that dingo/api is completely different than the original Laravel router.
However I want to ask if specifying a route pattern is possible:
$api->pattern('id', '[0-9]+'); Laravel docs
instead of having to define it on every single route:
$api->get('users/{id}', 'UsersController@get')->where('id', '[0-9]+');
Thanks

I'm also this doubt. This package of support routes patterns?

Not integrated currently. Going to move discussion to #741 (even though this one is older, I just read newest first though).

I want this feature!


Segmentation fault while generating.

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[X] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[X] I carefully followed the README.md.
[X] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[X] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
Continue the generation and gracefully exit.
Current Behavior
Segmentation fault while generating tokens. It usually happens after generating ~121 tokens (I did 4 different prompts which crashed at token 122, 121, 118 and 124), and it doesn't seem to happen in the llama.cpp ./main example.
Environment and Context
I am utilizing context size of 512, prediction 256 and batch 1024. The rest of the settings are default. I am also utilizing CLBlast which on llama.cpp gives me 2.5x boost in performence. I am also using libllama.so built from the latest llama.cpp source, so I can debug it with gdb.

AMD Ryzen 5 3600 6-Core Processor + RX 580 4 GB

Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 5 3600 6-Core Processor
    CPU family:          23
    Model:               113
    Thread(s) per core:  2
    Core(s) per socket:  6
    Socket(s):           1
    Stepping:            0
    Frequency boost:     enabled
    CPU(s) scaling MHz:  94%
    CPU max MHz:         4208,2031
    CPU min MHz:         2200,0000
    BogoMIPS:            7186,94
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc
                         a cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall n
                         x mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_go
                         od nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl p
                         ni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe
                          popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy sv
                         m extapic cr8_legacy abm sse4a misalignsse 3dnowprefetc
                         h osvw ibs skinit wdt tce topoext perfctr_core perfctr_
                         nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate
                          ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bm
                         i2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsa
                         veopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_tota
                         l cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd
                          arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean
                         flushbyasid decodeassists pausefilter pfthreshold avic
                         v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_re
                         cov succor smca sev sev_es

Number of devices                                 1
  Device Name                                     gfx803
  Device Vendor                                   Advanced Micro Devices, Inc.
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.2
  Driver Version                                  3513.0 (HSA1.1,LC)
  Device OpenCL C Version                         OpenCL C 2.0
  Device Type                                     GPU
  Device Board Name (AMD)                         AMD Radeon RX 580 Series

Linux:

Linux bober-desktop 6.3.1-x64v1-xanmod1-2 #1 SMP PREEMPT_DYNAMIC Sun, 07 May 2023 10:32:57 +0000 x86_64 GNU/Linux

Versions:

Python 3.11.3

GNU Make 4.4.1
Built for x86_64-pc-linux-gnu

g++ (GCC) 13.1.1 20230429

Failure Information (for bugs)
Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007ffff6c35769 in ggml_element_size (tensor=0x7ffea0fff130) at ggml.c:3666
3666        return GGML_TYPE_SIZE[tensor->type];

Steps to Reproduce
Please provide detailed steps for reproducing the issue. We are not sitting in front of your screen, so the more detail the better.

Add my class to the source code https://gist.github.com/Firstbober/d7f97e7f743a973c14425424e360eeda
Create an instance with WizardLM-7b
Use llamaChat.load_context with some lengthy prompt (mine has 1300 characters)
llamaChat.generate try to generate something, I used this piece of code:

tokens = ""
i = 0
for token in llamaChat.generate('[[YOU]]: Write me a long essay about cookies, as long as you can.\n'):
    print(token, i)
    tokens += token
    i += 1

print(tokens)

Watch as the python crumbles at around token 121.

I suspect you're hitting some internal memory buffer limit in ggml.c or maybe CLBlast. Can you watch the memory utilisation on your GPU when it is running? For CUDA I would use nvidia-smi.
Given that you only have 4GB of VRAM, are you setting n_gpu_layers? If so, try reducing to a smaller number and seeing if that changes when the problem occurs, perhaps? For reference Vicuna 13B w/40 CuBLAS layers on my NVidia GPU uses 11GB of VRAM.
If you have a single stand-alone python script that generates the error, I can try and reproduce with my NVidia GPU. If I can't repro it points to CLBlast as part of the issue.

I suspect you're hitting some internal memory buffer limit in ggml.c or maybe CLBlast. Can you watch the memory utilisation on your GPU when it is running? For CUDA I would use nvidia-smi.

Using radeontop I registered nothing out of ordinary. Through the entire run time of the script, the VRAM utilization stayed at the comfortable range of ~1830M.

Given that you only have 4GB of VRAM, are you setting n_gpu_layers? If so, try reducing to a smaller number and seeing if that changes when the problem occurs, perhaps? For reference Vicuna 13B w/40 CuBLAS layers on my NVidia GPU uses 11GB of VRAM.

I specified 32 n_gpu_layers in my ./main and in my python script I just use the defaults. AFAIK the 7B models has 31 layers, which easily fit into my VRAM, as while chatting for a while using ./main example I sit at around 2100M with more than 500 tokens generated already.

If you have a single stand-alone python script that generates the error, I can try and reproduce with my NVidia GPU. If I can't repro it points to CLBlast as part of the issue.

https://gist.github.com/Firstbober/a08de9cf01ea90b6be8389be9a249857
I changed the prompt a few times, and in some cases the error doesn't appear. Maybe there is something in it that makes the library uncomfortable? The prompt I attached in the script is the one that seg faults, the DAN one from the llama.cpp repo seems to be working fine.

Yes

I modified your script to take the model from sys.argv[1] and I also notice it isn't offloading any layers to the GPU or loading the GPU. Not really representative of your problem. I saw this behaviour when my prompts were less than 32 in length

$ LLAMA_CUBLAS=1 pip install --force-reinstall --ignore-installed --no-cache-dir llama-cpp-python --verbose

$ export N_GPU_LAYERS=1000

$ python ./test.py /data/llama/7B/ggml-model-q4_1.bin
[LLaMAChat] Init
[LLaMAChat] Loading model from file
llama.cpp: loading model from /data/llama/7B/ggml-model-q4_1.bin
llama_model_load_internal: format     = ggjt v2 (latest)
llama_model_load_internal: n_vocab    = 32000
llama_model_load_internal: n_ctx      = 512
llama_model_load_internal: n_embd     = 4096
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 32
llama_model_load_internal: n_layer    = 32
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 3 (mostly Q4_1)
llama_model_load_internal: n_ff       = 11008
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 7B
llama_model_load_internal: ggml ctx size =  72.75 KB
llama_model_load_internal: mem required  = 6612.59 MB (+ 2052.00 MB per state)
llama_model_load_internal: [cublas] offloading 0 layers to GPU
llama_model_load_internal: [cublas] total VRAM used: 0 MB
llama_init_from_file: kv self size  =  512.00 MB
[LLaMAChat] Tokenizing context prompt
[LLaMAChat] Making first evaluation of input tokens
[LLaMAChat] Generating completion based on '[[YOU]]: Write me a long essay about cookies, as long as you can.
'
[[ 0
Y 1
OU 2
]] 3
: 4
 I 5
' 6
m 7

etc.

OU 186
]] 187
: 188
 I 189
^CTraceback (most recent call last):
  File "/home/mulderg/Work/./test.py", line 165, in <module>
    for token in llamaChat.generate('[[YOU]]: Write me a long essay about cookies, as long as you can.\n'):
  File "/home/mulderg/Work/./test.py", line 102, in generate
    llama_cpp.llama_eval(
  File "/home/mulderg/anaconda3/envs/lcp/lib/python3.10/site-packages/llama_cpp/llama_cpp.py", line 336, in llama_eval
    return _lib.llama_eval(ctx, tokens, n_tokens, n_past, n_threads)
KeyboardInterrupt

I suspect the CLBast support is very new and somewhat unstable, given that most devs (including @ggerganov) are using NVidia GPUs, sorry.

Well, I compiled libllama.so without the support for CLBlast and segmentation fault still persists.

I pinned the problem down to the n_past argument in the llama_eval, so the next few hours will be figuring out how to stop llama from repeating itself after reaching max context… Yay. I saw something about context switching in the ./main example, so probably it will be useful.

Just spent a few hours debugging on a related issue.
The n_past argument got removed from a recent version of llama.cpp, so if you are compiling from source on a newer commit, you will hit this issue.
This llama.cpp commit removes the n_past parameter: https://github.com/ggerganov/llama.cpp/commit/dc271c52ed65e7c8dfcbaaf84dabb1f788e4f3d0
So this code in llama-cpp-python is now invalid when paired with llama.cpp mainline: https://github.com/abetlen/llama-cpp-python/blob/01a010be521c076f851789ad56bec82284fdf96e/llama_cpp/llama_cpp.py#L116
Deleting this line fixes the issue.
For me, it manifested as GGML_ASSERT: ggml.c:5702: ggml_is_contiguous(a) but I think it could manifest in a lot of ways since it is basically just memory corruption due to the literal byte cast interpretation of this params struct.

As a side note, I don't think token generation is actually accelerated in CLBlast yet? Its behind a PR in the llama.cpp repo, and my observation is that the GPU has no load no matter what I set n_gpu_layers to... but maybe something was wrong with my quick CLBlast test.
Point being that maybe this has nothing to do with the GPU.

https://github.com/ggerganov/llama.cpp/pull/1459 adds fairly good OpenCL support, was merged 5 days ago. Also in the readme it now says "The CLBlast build supports --gpu-layers|-ngl like the CUDA version does."
I've tested the win clblast builds, and they works pretty well on my 3080, with 250ms per token with some offloading, and 450ms without offloading. With that said, I can't get it to work with llama-cpp-python. It seems to ignore gpu layers with clblast.

I confirmed that the latest llama-cpp-python should have picked up the CLBlast support:
/vendor/llama.cpp$ git log | head -3
commit 66874d4fbcc7866377246efbcee938e8cc9c7d76
Author: Kerfuffle<EMAIL_ADDRESS>Date:   Thu May 25 20:18:01 2023 -0600

Closing. Please update to the latest llama-cpp-python which should include better CLBlast support.


Not working when using netrw or dirvish

When the current buffer is a directory (:Sexplore or :Dirvish) the title in the tabline is empty.

I'm afraid I can't reproduce. On directory views I see NetrwTreeListing

:

Weird, for me the name of the netrw buffer would be~/Developre/projects/advent/2021 (maybe because I have dirvish installed?).
This would then be passed to vim.fn.pathshorten(vim.fn.fnamemodify(file, ':p:~:t')) which results in ''.

I don't see anything in dirvish buffers either. To reproduce, :tabedit .


Error with page on HTTPS and failed to capture image

#### Issue checklist:

YES I have validated my config file against YAML Validator to make sure it is valid YAML.

YES I have run the command in verbose mode (by adding verbose: true to my config) and pasted the output below:

DEBUG: #################################################
DEBUG:   Command run:        capture hesite-tp
DEBUG:   Wraith version:     3.2.1
DEBUG:   Ruby version:       ruby 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32]

DEBUG:   ImageMagick:        Version: ImageMagick 7.0.3-4 Q16 x64 2016-10-10 http://www.imagemagick.org

DEBUG:   PhantomJS version:  1.9.2

DEBUG:   CasperJS version:   CasperJS not installed
DEBUG: #################################################
DEBUG:
Config validated. No serious issues found.
Creating Folders
SAVING IMAGES
DEBUG: phantomjs --ignore-ssl-errors=true 'C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wraith-3.2.1/lib/wraith/javascript/phantom.js' 'https://www.kaplanpathways.com/' '1280X5000' 'shots-he/homepage/1280X5000_phantomjs_prod.png' 'body' 'false' 'false'

Loading https://www.kaplanpathways.com/ at dimensions: 1280x5000

Loading https://test-hkiheww.kapintdc.com/ at dimensions: 1280x5000

Loading https://www.kaplanpathways.com/privacy at dimensions: 1280x5000

Loading https://test-hkiheww.kapintdc.com/privacy at dimensions: 1280x5000

Error with page https://www.kaplanpathways.com/

WARN: Failed to capture image shots-he/homepage/1280X5000_phantomjs_prod.png on attempt number 1 of 5
Loading https://www.kaplanpathways.com/modern-slavery-statement at dimensions: 1280x5000

Error with page https://test-hkiheww.kapintdc.com/

WARN: Failed to capture image shots-he/homepage/1280X5000_phantomjs_test.png on attempt number 1 of 5
Error with page https://test-hkiheww.kapintdc.com/privacy

# (required) The engine to run Wraith with. Examples: 'phantomjs', 'casperjs', 'slimerjs'
browser: "phantomjs"

# Phantomjs to ignore https
phantomjs_options: "--ignore-ssl-errors=true"

#If you want to have multiple snapping files, set the file name here

# To capture the full height of a page
#before_capture: javascript/wait--phantom.js

# (required) The domains to take screenshots of.
domains:
  prod: "https://www.kaplanpathways.com"
  test: "https://test-hkiheww.kapintdc.com"

# (required) The paths to capture. All paths should exist for both of the domains specified above.
paths:
  homepage: "/"
  privacy: "/privacy"

# (required) Screen widths (and optional height) to resize the browser to before taking the screenshot.
screen_widths:
  # - 320
  # - 600x768
  # - 768
  # - 1024
  - 1280X5000

# (optional) JavaScript file to execute before taking screenshot of every path. Default: nil
#before_capture: 'javascript/disable_javascript--phantom.js'

# (required) The directory that your screenshots will be stored in
directory: 'shots-he'

# (optional) Choose to run Wraith in verbose mode, for easier debugging. Default: false
verbose: true

# (required) Amount of fuzz ImageMagick will use when comparing images. A higher fuzz makes the comparison less strict.
fuzz: '20%'

# (optional) The maximum acceptable level of difference (in %) between two images before Wraith reports a failure. Default: 0
threshold: 5

# (optional) Specify the template (and generated thumbnail sizes) for the gallery output.
gallery:
  template: 'basic_template' # Examples: 'basic_template' (default), 'slideshow_template'
  thumb_width:  200
  thumb_height: 200

# (optional) Choose which results are displayed in the gallery, and in what order. Default: alphanumeric
# Options:
#   alphanumeric - all paths (with or without a difference) are shown, sorted by path
#   diffs_first - all paths (with or without a difference) are shown, sorted by difference size (largest first)
#   diffs_only - only paths with a difference are shown, sorted by difference size (largest first)
# Note: different screen widths are always grouped together.
mode: diffs_first

HTTPS is a known issue. Please see #308 for details. Sorry we are not able to provide a fix at the moment.


more database support please

Information

Version of Medoo:
Version of PHP:
Type of Database (MySQL, MSSQL, SQLite...):
System (Liunx|Windows|Mac):

Describe the Problem
A clear and concise description of what the problem is.
Detail Code
The detail code you are using causes the problem.
// Write your PHP code here

Expected output
A clear and concise description of what output you expected.
redis + mondo??

It's a completely different type of database, so it's impossible.
And what's mondo?


Satellite dataset access

Hello,
I filled out the form for access to the collected satellite reference image dataset. I assume it's supposed to be automated but I never received a response or access link.

I also filled out the request form for the dataset.

Sorry for the late response. I was on travel during the past three weeks.
It is not automated, so I need to send out the link myself.
I have sent out the links according to the Google forms. If you haven't received it, please let me know.

I was still not sent the dataset. My email (and the one I submitted via the form) is brumbzan at cs dot washington dot edu.

Hi ZanderBrumbaugh,
I'm also interested in using the pre-trained model. Have you managed to download it yet? If so, could you share how you did it or provide a link?
Thanks for your help!


feat(consensus): rename proposal channels in preparation for adding voting

This change is

#2393
#2392  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 2, 7:02 AM EST: A user started a stack merge that includes this pull request via Graphite.


Add Operations to Automat

Add:

connect k nodes
Annotation

I think that these smartapi registrations are not correct.  We have:
"x-trapi": {
  "operation": [
     "lookup",
      "overlay_connect_knodes",
      "annotate_nodes"
    ],
  "version": "1.2.0"
}

But instead of "operation" it should be "operations" with an s.

typo here is fixed.

closing this as completed


Puppeteer

Hello!
I was thinking about using this for an app I work on but I had a few incompatibilities.

the app I work on uses rootURL in its config, and this didn't seem to be supported
I wasn't super keen on having to export the app globally to get this working

After poking around a bit I figured out how to get rootURL working with the express server, and it seemed like moving to puppeteer directly might help with the other problem. Sadly there doesn't seem to be a way to make critical work with the HTML + CSS that's output when using a rootURL, so I added a skipCritical option that just re-writes the HTML file without going through critical.
So TLDR; this is working for me and seems to simplify the code generally - I thought I'd see if there was interest in having this upstreamed. If not, that's ok too!
Let me know what you think, and thanks for making this 👍.

Gonna close for now this doesn't seem quite ready - waitForSelector doesn't seem to behave properly... I'll open a new one once I figure that out.


[STORM-3007] storm-mqtt-examples: fixed all checkstyle warnings

Requested changes incorporated. Thanks for the review.


Add persistent storage to chip-device-ctrl

Problem
The most often used tool chip-device-ctrl has no support for persistent storage. It only has an in memory storage where everything is stored as std::string regardless of data type, e.g. a uint16_t 0x0100 is stored as "\x00\x01".
Proposed Solution
Add persistent storage to ChipDeviceController-StorageDelegate.cpp. An even better solution could be to use a shared storage class across related CHIP tools, e.g. make PersistentStorage.cpp shared with chip-tool and chip-device-ctrl.

Would like some opinions first whether the lack of persistent storage is intended, if not then whether the storage should be shared or not and where it should be, see also issue #6811

Closing due to lack of activity.


Stored procedure's error callback

Hi, my team has written python function to call and run stored procedure for document bulk update.
We're facing 2 challenges at the moment.
1. Failure retry: There are a few HTTP response status code recommended to retry if fail according this this(https://docs.microsoft.com/en-us/rest/api/cosmos-db/http-status-codes-for-cosmosdb) page such as 429, 449. However, I've started to doubt if the callback function in the stored procedure script can return the accurate error code back. I've intentionally inflicted 409(Conflict) from the script but the stored procedure returned 400 code. Is stored procedure capable of returning status code other than 200(Success) and 400(Fail)? I don't want to retry all failed run, just the ones worth retrying like throttling(429).
Although, I've also ran performance testing and inflicted a few 429 errors and it seems that stored procedure is automatically handling the retry for this scenario as I didn't see a single failure nor fail returned from "isAccepted"...
2. "isAccepted" return: On this stored procedure wiki page, all the example script is relying on simple bool type "isAccepted" result returned from "container.createDocument()" or "container.replaceDocument()". I couldn't find SDK page for these methods as they seem to be different than Javascript methods... What are the scenarios these methods return "false"?
In this document(https://docs.microsoft.com/en-us/azure/cosmos-db/sql/how-to-write-javascript-query-api), the sample script has RETRY_WITH error code specified but it's not being used in the script. I implemented this script and threw error within the stored procedure the same way but it always returned 400 code.
Attaching my stored procedure script
function bulkImport(docs) {

  // --------------------------- MAIN LOGIC --------------------------- //
  var toFilter = ["_self", "_rid", "_etag", "_attachments", "_ts"];
  var count = 0;
  var resultList = [];
  var ErrorCode = {
    RETRY_WITH: 449,
  }

  // Validate input.
  if (!docs) throw new Error("The array is undefined or null.");
  var docsLength = docs.length;
  if (docsLength == 0) {
    getContext().getResponse().setBody(0);
    return;
  }

  // Call the upsert API to upsert an item.
  tryUpsert(docs[count], callback);
  // --------------------------- MAIN LOGIC --------------------------- //

  // Check if two documents are identical
  function compareObjects(o1, o2) {
    for (var p in o1) {
      if (o1.hasOwnProperty(p)) {
        if (o1[p] !== o2[p]) {
          return false;
        }
      }
    }
    for (var p in o2) {
      if (o2.hasOwnProperty(p)) {
        if (o1[p] !== o2[p]) {
          return false;
        }
      }
    }
    return true;
  }

  // Upsert documents
  function tryUpsert(doc, callback) {
    var queryAccepted = __.queryDocuments(
      __.getSelfLink(),
      "SELECT * FROM c WHERE c.id='" + doc.id + "'",
      function (err, docs) {
        // Execute when the request is accepted
        var isAccepted = false;
        if (err) {
          return callback(err);
        } else if (docs.length === 0) {
          // New document insert!
          // console.log("CREATING NEW DOC with " + doc.id + " ||| ")
          isAccepted = __.createDocument(__.getSelfLink(), doc, callback);
        } else {
          // console.log("ALREADY EXISTS... REPLACING THE " + doc.id + " ||| ")
          var existing = docs[0];
          var filtered = {};
          for (var [key, value] of Object.entries(existing)) {
            if (!toFilter.includes(key)) {
              filtered[key] = value;
            }
          }
          if (!compareObjects(doc, filtered)) {
            isAccepted = __.replaceDocument(
              existing._self,
              doc,
              callback
            );
          } else {
            callback();
          }
        }
        if (!isAccepted) {
          // console.log("Update not accepted... " + docs[0].id + " ||| ")
          resultList.push(docs[0].id)
          getContext().getResponse().setBody(resultList);
        }
      }
    );

    // If the request is NOT accepted, report back the count
    if (!queryAccepted) {
      // console.log("Query not accepted... " + doc.id + " ||| ")
      resultList.push(doc.id)
      getContext().getResponse().setBody(count);
    }
  }

  // This is called when collection. replaceDocument is done in order to process the result.
  function callback(err, doc, options) {
    if (err) throw err;
    count++;
    if (doc !== undefined) {
      resultList.push(true)
    }
    if (count >= docsLength) {
      getContext().getResponse().setBody(resultList);
    } else {
      tryUpsert(docs[count], callback);
    }
  }
}

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

ID: 14913a18-671a-c55f-d082-e750bec7baab
Version Independent ID: 9cc08ba2-a79f-3ee2-9beb-8919f77d10d3
Content: Write stored procedures, triggers, and UDFs in Azure Cosmos DB
Content Source: articles/cosmos-db/sql/how-to-write-stored-procedures-triggers-udfs.md
Service: cosmos-db
Sub-service: cosmosdb-sql
GitHub Login: @timsander1
Microsoft Alias: tisande

#1 of my inquiry is answered with more performance testing. Stored procedure indeed returned 429 code for throttling so I could handle the retry on my python application side. I'd still like to know the answer to #2.

@samko635 Thanks for your query. We are reviewing this issue and will get back shortly.

#assign:seesharprun

Thanks @samko635 for taking the time to report this issue.
Unfortunately, this is the GitHub repo for documentation. If you have a product question or bug, you should give your feedback using the Microsoft Q&A site for Azure Cosmos DB.
Since there's no action item here in docs, I will go ahead and close the issue here.
#please-close


Just added a bower package for animate.css

A Bower package already exists, and your registered package seems not to appear in Bower’s directory.


the test suite needs some love

We need to have a test suite that can be run by travis-ci easily.

Looks like nose has been replaced with nose2: http://nose2.readthedocs.io/en/latest/

Is this ready to be closed out?


Authentication with RabbitMQ failed

Discussed in https://github.com/postalserver/postal/discussions/2417

Originally posted by vulnfind April 20, 2023
both the worker and requeuer process is not starting because the authentication with rabbit mq is failing and all my emails are in pending status

duplicate