Python package for Tune

Tune AI PyCon India 2024 Contest
Python package for Tune &&  Bonus: Dungeons and Dragons
Tune AI Products Used (Required)

[x] Tune Studio
[x] Tune Chat
[ ] Tune Assisants

Checklist

[x] Includes a README
[x] Includes instructions on how to run the app

What is it?
Tune had a way of interfacing with python, but not a nice package you could pip install.
Now it does.
I have also included a sample Dungeons and Dragons game as a demo for using this package.
This package makes it very easy to consume Tune, you can even change the model and other params on the fly by calling the .update method.

Thanks for this PR, if you wish to contribute to our lib then checkout https://github.com/TuneHQ/tunesdk

@abhishekmishragithub , I would like to contribute, but your SDK is not public.


lost records

http://bibsoup.net/pitman/xg_provenance
shows 231 records in the index listing, but 0 records  when you go to the dataset.
Other datasets still show less records in the dataset than in the index. This has been a problem for a week
or so now. What is the obstacle to fixing it?
Can we revert to previous version where all records were showing?

This should now be resolved. Changed the dynamic mapping template, and looks to be uploading full collections again. I checked with the standard uploads, and the xg collection, please let me know if any more records are being dropped.

markmacgillivray<EMAIL_ADDRESS>wrote:

exports go into a bibjson-style format, e.g. the records are all under the "records" key.
If you save that list as a JSON file itself, then you will have a list of records you can upload as JSON.

OK, I can try that, thanks.
It is definitely good to allow a user to upload something which is just a JSON array, and then compute
some metadata from that (date, counts etc) and  provide the user a form to add other metadata components,
like title and description.

I have started the BibJSON converter, which will take an entire BibJSON collection back into bibsoup,
but have not activated it on the demo site yet.

Excellent. It will be a milestone when we have roundtrip capability.
Good to see the site back working well. I'll try some more testing later today.
--Jim


Undersore from original file missing from generated musescore

https://github.com/hanatanjung/muse-processor/releases/tag/1.0.1


Fix error spans for SQL queries with extracted constants

_localdev:scope[sql]> select name, 100000, asdf from "User";
error: QueryError: cannot find column `asdf`
  ┌─ <query>:1:18
  │
1 │ select name, 100000, asdf from "User";
  │                  ^ error

It looks like we don't include spans at all when the errors come from postgres, either. (Despite supporting it for the pg proto)


Documentation Issue sap_nwas_abap_sapase_sandbox - low priority

In the doc page:  here
It mentions "hdblcm", but this is an ASE deployment, so would not be done using this tool.

Thank you for the find. Fixed by PR #13, will go into the next release


hc5 value inconsistent old to new version

comment from Kathleen McTavish
I looked more closely at manganese and draft FWQGs for aluminium, quinoline, strontium, and lead since they use the current ssdtools web version. We want users to be able to re-create the HC5s, however I found that in several cases it’s not possible with the update.  For example: Aluminum- lgumbel fails to fit in the new version when it was weighted the highest (0.788) using the current website version. Subsequently, the HC5 is much lower in the new version (86.4 ug/L compared to 160 ug/L). Is there a reason for this? This has implications for the Al guideline and the risk assessment it will be used in if users cannot re-create the guideline and if the program is giving much lower results

this is most likely a ssdtools problem

this is being dealt with by Joe in ssdtools


fix(otelx): memory leak in OpenTelemetry tracing middleware

This PR addresses a memory leak issue in the OpenTelemetry tracing middleware.
The existing middleware invokes NewHandler for each incoming request, which results in the allocation of a new oteltracehttp.Handler.
func TraceHandler(h http.Handler, opts ...otelhttp.Option) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		NewHandler(h, r.URL.Path, opts...).ServeHTTP(w, r)
	})
}

In our setup, this led to an increase of over 300MB per day per Hydra instance in allocated memory. Similar observations have been reported in open-telemetry/opentelemetry-go-contrib#2413.
This PR modifies the middleware to utilize a SpanNameFormatter function instead of passing the path to NewHandler. This preserves the existing functionality while eliminating the memory leak.
Related Issue or Design Document

The issue has been reported in projects using the library (e.g., ory/hydra#3495).
Checklist

[X] I have read the contributing guidelines and signed the CLA.
[X] I have referenced an issue containing the design document if my change introduces a new feature.
[X] I have read the security policy.
[X] I confirm that this pull request does not address a security vulnerability.
If this pull request addresses a security vulnerability,
I confirm that I got approval (please contact<EMAIL_ADDRESS>from the maintainers to push the changes.
[X] I have added tests that prove my fix is effective or that my feature works.
[X] I have added the necessary documentation within the code base (if appropriate).

Further comments

The otelhttptrace applies the passed options in sequential order. We prepend the SpanNameFormatter to allow users to override the SpanNameHandler if needed.

How did you identify this?

Hydra serves a large number of requests in our setup. As stated in the PR description, the memory consumption of our pods exceeded 20 GB over the weekend, indicating a clear problem.
I set up a local environment with otel-collector and used a script to send a large number of requests (always for the same client/subject - no need for complex request generation). I dumped the memory profile. Unfortunately, I no longer have the file, but it showed a lot of  allocations related to the global structures the OTEL stacks write to when creating a new handler. My profile excluded the startup phase, so It didn't include the heavy but unrelated/unproblematic allocations from it. Deploying the fix to our environment confirmed that it the large memleak was gone.
After implementing the fix, I found what I've linked in the description. Seems like this mistake occured in other projects as well.

Interesting - did you use the standard Go memory profiling? We tried identifying the memory leak using the same methodologies but due to a secondary context leak caused by this were not able to identify the culprit.
I reran the CI - let’s see if it psses

You my friend are amazing!


FloatingBarButton sizing

Hi @PieroCastillo
I love the round shape of the buttons very well. However when changing the dynamic resource FloatingButtonSize to another size the shape will change because the CornerRadius is hard-coded.
I have a solution for this via IValueConverter. We can take either the Height or Width of the Control and calculate the needed CornerRadius
I'll prepare another PR for this next week I think.
Have a nice weekend

It's a good idea, but I think it's better use Bounds instead ````Width & Height``` properties

but I think it's better use Bounds instead Width & Height properties

Absolutely and also the way I wanted it to do. It came just because I just switched from WPF and there is no such property. It would have helped me in WPF so many times 😆


Move as much functionality as possible into the adapter class

Description
try to bring token verification, error creation, and/or emit argument building into the adapter class. one day this may become shared among multiple web framework outlets.
What type of issue is this? (place an x in one of the [ ])

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

Requirements

[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.

https://github.com/slackapi/node-slack-sdk/issues/815


Fail to sync (deserialization failed)

Hi!
I tried to use iamb with simple config:
[profiles.user]
user_id = "@user:example.com"

But after insert password, I receive this error while sync:
> iamb
* Logging in for @user:example.com...
* Syncing...
deserialization failed: invalid type: null, expected struct RoomSummary at line 1 column 1080810

As I understand it is internal error.
I using latest version:
> iamb --version
iamb 0.0.10 (VERGEN_IDEMPOTENT_OUTPUT)

Yeah, same here.
I removed .local/share/iamb/ and .cache/iamb/ and stated fresh and get the following:
~ λ iamb
* Logging in for @pfr:matrix.sdf.org...
Please select login type: [p]assword / [s]ingle sign on
p
Password:
Failed to login: Matrix client error: error sending request for url (https://matrix.sdf.org/_matrix/client/versions): error trying to connect: invalid peer certificate: NotValidForName
Please select login type: [p]assword / [s]ingle sign on
s
Failed to login: Matrix client error: error sending request for url (https://matrix.sdf.org/_matrix/client/versions): error trying to connect: invalid peer certificate: NotValidForName
Please select login type: [p]assword / [s]ingle sign on
^C


MAISTRA-2425 move spec.security.certificateChain to ConfigMap referen…

…ce; add ability to specify ports for service and discovery
Signed-off-by: rcernich<EMAIL_ADDRESS>Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

Depends on maistra/api#17

/retest

@dgn, @jwendell, this needs some reviews.  @luksa, should this be targeted at maistra-2.1 or maistra-2.1-istio-1.9?

replaced by #392


Support array of enum

For instance, in User model
    protected $casts = [
        'database_roles' => AsEnumCollection::class.':'.DatabaseRole::class,
    ]

Here is the error when running the model:typer tool.
Class "Illuminate\Database\Eloquent\Casts\AsEnumCollection:App\Enums\DatabaseRole" does not exist
It's a simple workaround to remove the AsEnumCollection temporarily, generate the types, and then add [] to the end of the generated type, but thought you may want to support this use case. Thanks, have a good one.

TIL didn't know you could cast Enum as AsEnumArrayObject or AsEnumCollection, that syntax might be a little tricky 😕
'statuses' => AsEnumCollection::class.':'.ServerStatus::class,

When you run php artisan model:show User what does that output for that database_roles look like?

It's Gollum's tricksy tricks.
database_roles fillable..string(255) / Illuminate\Database\Eloquent\Casts\AsEnumCollection:App\Enums\DatabaseRole


tool to validate templates

Figure out a way to update (or at least validate) existing templates when new fields are added - e.g. "Your template is missing an <input> for the field ..."
(Replaces wq/wq-django-template#23)

The template system is going to change significantly starting in 1.3, making this irrelevant.


Accepting contributions?

Hi @davecgh,
Are you still maintaining this package and would you be open to accepting a contribution that adds an xdr3 package, that is a copy of xdr2 but adds optionals, unions, and change how pointers work to support using optionals?
We've been using a modified version of this package here: https://github.com/stellar/go-xdr and if you'd be up for us bringing our changes upstream we'd be up for preparing a PR.
This is approximately what the diff would look like, but we'd also need to merge downstream some of the changes in your master branch before we opened, so there would be some differences to keep xdr3 as a copy of xdr2 at the point in time the PR is opened:
https://github.com/davecgh/go-xdr/compare/master...stellar:master
No worries if you're no longer maintaining go-xdr, and if that is the case we'll move forward with developing our fork of go-xdr at https://github.com/stellar/go-xdr.
Cheers,
Leigh
cc @bartekn @ire-and-curses @marcopeereboom @rasky

If you are doing an xdr3 we should talk about memory allocation sizes for individual decode functions as well. Currently, we can set a global max size but it would be nice if we could pass a reasonably max size to individual decoders.

@marcopeereboom Does stellar/go-xdr@a1a70e705f65011b030182e92687858ada904e08 address the memory allocation?

I really like that.

@marcopeereboom I forgot to post back here on October 24th when I created the stellar/go-xdr#4 issue.
When I opened this issue we were debating whether to accept a contribution stellar/go-xdr#3 that made all the import paths canonical inside stellar/go-xdr so it could standalone and not be used as an alternative source of this repositories import path.
We decided to merge the contribution because @davecgh didn't respond here. We'll continue to develop the xdr3 package over at stellar/go-xdr.
Thanks!


WorldOfTanks bridge no more work

Website has changed .... and bridge obviously no more work

I will fix it soon


Formatting of 02_linear_svm

Hi!
First of all thanks for the great cookbook.
I just looked through a few of you files and noticed a few lines of code that looked kind of messy.
I did a little bit of formatting in flake8 style. If you don't like these changes just close the PR.
In case you like them, I'll probably add a few more PR's soon.
The code still runs. I did a double check.
Best regards
Arne

Thanks! Your formatting on the py files is probably for the best. Sorry it took a bit to get to this. If you're interested in continuing through the py files, any help would be appreciated.


feat: warning notification on no source assetes

This PR uses the f36 Notification component to display an error dialog when there are no images in a given source.
Video
https://user-images.githubusercontent.com/16711614/125969938-aad2e74f-48e6-4f5d-b22a-65124a9da2c2.mov
Future work

Add flavor text that matches design comps
Display a warning when there are no sources on the account

Note: this PR is missing comp flavor text Go to dashboard.... This will be handled in a subsequent PR.

I wonder if we should revert to showing the ImagePlaceholder if no sources are found. Users might still try selecting/paginating from the last source's images then. What do you think?

That mstm 👌🏼 . Will add a commit to this effect ✔

Going to close and re-open this. Easier to handle the placeholder fallback inside the ImagGallery component instead.


disambiguation of bifrost xmpp user with multiple devices

Hi, I'm somewhat guessing as to the cause, but this public conversation shows one xmpp synthetic user (southerntofu) the same as a native matrix user, but another is shown as the ugly full-text ID. Now I'm sure there's also an bug in bifrost involved here, but even then it seems like there's probably an edge-case in the disambiguation rendering on the matrix-static side.
Expected behaviour: poVoq/kris should be rendered the same way as southerntofu in the userlist, or at least as something like "nick (@mxid)" if there is some difference in the room data.

for future reference, not sure why its doing $MXID$NAME

aha, it's because the user has no avatar, so the img alt text is used (the 404 broken icon in your MemberInfo), updating issue description accordingly.
kris

Good spot, looks like an issue with the default avatar generation


Cloning  LB services which have public listener results in listener that is "internal".

Server version - v0.29.0-rc1
Steps to reproduce the problem:
Create a LB service with 2  listeners that are both public.
Clone this LB service.
The cloned LB service has the listeners marked as "internal"

Tested with latest master.
Cloning LB services which have public listener results in listener marked "public".


SoundJS Examples fail

When trying to run examples from my own server, I get these errors:
soundjs-NEXT.combined.js:1513
Uncaught TypeError: Cannot read property 'POST' of undefined(…)
(anonymous function) @ soundjs-NEXT.combined.js:1513
(anonymous function) @ soundjs-NEXT.combined.js:2078

07_WebAudioNodeInsertion.html:74
Uncaught TypeError: Cannot read property 'registerPlugins' of undefined(…)
init @ 07_WebAudioNodeInsertion.html:74
onload @ 07_WebAudioNodeInsertion.html:12

Could possibly be linked with this commit? Updated shared classes to the latest
Edit: The 'PlayOnce' branch works fine.

Yes, it looks like we need to update our internal utility that copies shared classes between repositories. Sorry for the inconvenience -- I will push a fix shortly.

Thanks for the report. This has been rectified, and the latest has been pushed up. I did some quick tests with all the included demos, and it looks good now.
The latest commits also include a few other fixes, so please feel free to report any remaining issues.


 I look forward to seeing what you come up with!

please, very simple, provide description under buttons in the UI


Custom image uri name prop

Optional prop of type string that lets you define the object property name you want to get the image uri from.
Sounds kinda confusing. Here's my use case:
The data I'm using has {image_uri: <path/blah/blah>} so ".image" doesn't work for me. So this lets me do...
<GridImageView data={filteredPhotos} uri_string={"image_uri"}/>
...and it works :)
Thanks for this package btw, proving really useful for my app!

Hi There,
Thanks for your contribution, Have a look to new version https://www.npmjs.com/package/react-native-grid-image-viewer/v/1.2.1. Hope it solves your concern.
Thanks

Hi,
Thanks! I’m still having an issue rendering the images in the FlatList. It’s a simple fix though and I go over it in the new issue I created. https://github.com/ansh-099/react-native-grid-image-viewer/issues/11 https://github.com/ansh-099/react-native-grid-image-viewer/issues/11
Really appreciate your collaboration and this package.
Daniel

On Jun 1, 2021, at 11:47 AM, Anshul Singh @.***> wrote:
Hi There,
Thanks for your contribution, Have a look to new version https://www.npmjs.com/package/react-native-grid-image-viewer/v/1.2.1 https://www.npmjs.com/package/react-native-grid-image-viewer/v/1.2.1. Hope it solves your concern.
Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ansh-099/react-native-grid-image-viewer/pull/10#issuecomment-852279621, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJSSORMZM232JL6NQNYELWDTQUFKBANCNFSM445LRASQ.


Call another taget within a custom target?

Hi,
I have wrote my own custom target by inherit from the TargetWithLayout. My custom target will log to database but in some cases this could fail. I still needs to log in some way so the question is if its possible to call a known target like the EventLogTarget from within the custom target and then log there? Or do I have to create the EvenLog code manually within the CustomTarget?

What about the fallback target? https://github.com/NLog/NLog/wiki/FallbackGroup-target
or writing to both always? (e.g. <logger ... writeto=myTarget,eventLogger`

Thanks!
That looks like a good way to do it but how will it know if one failes? From what I have seen there is really not much happening after a exception is thrown from within a custom target. I do not get a carscading exception to the calling code it just dont log anything. Will nlog note the exception in the customTarget and then try the next target in config?

So if the mail is failing in the above with an exception the Evenlog will and only then be used? I dont wnat to log to 2 targets at the same time, it would generate more data then needed.

Thanks!


Unable to retrieve hostname() after version upgrade from 5.3 t0 5.4

Description
I'm trying to retrieve current hostname object inside Laravel Job. so for that I tried using app(\Hyn\Tenancy\Environment::class)->hostname(); but unfortunately it returns null instead of hostname object. Earlier in the older version, I was using TenantAwareJob. but in the newer version, TenantAwareJob has been removed completely so how can laravel application get to know that on which tenant job should be processed & most important thing is how to retrieve current fqdn?
🗒Another thing is I'm using Redis as a queue driver.

Actual behavior
null
Expected behavior
xyz.domain.com

Information

hyn/multi-tenant version: ^5.4
laravel version: ^5.8
database driver and version: mysql and 5.7.23
webserver software and version:
php version: ^7.1.3

tenancy.php config

webserver.php config

Error log

#781 should've fixed the issues with queue provider. 5.4.4 has been tagged.
Jobs will now automatically identify tenants (website). If you want to get fqdn from hostname you will need to retrieve that manually.

In addition the method to retrieve the tenant changed, this is no longer hostname() but either tenant() (preferred) or website(). The hostname method will only return a value in case an http request found a matching FQDN in the hostnames table.


GDB-5251 Add hint when using GREL expression

Added hint about column name case sensitivity when using GREL

There are failing tests


Update GUID

Adding a link to the tool from RSS Blue

Since there has been no objection, I'm merging this PR.


Stream Reolink to chrome cast

It is not a bug but more of a general question.
Have you ever managed to stream the Reolink camera to a Google chromecast? I have been playing around with this but sofar no luck. The camera.stream component is able to trigger my cast but it fails and nothing happens.

The camera uses the default HA stream option. So it took me 10 seconds at Google and 1 minute to figure out it actually worked like this:
Service: camera.play_stream
and pass the data:
entity_id: camera.frontdoor
media_player: media_player.chromecast

I know how to set it up. My issue is that it never really loads the stream. I have found other forums that state this might be an issue with the h.264 stream from the camera.
That's why I asked if you have ever tried this option and really get it to work


image: add NetworkOnBoot to container installer for bib

With this and https://github.com/osbuild/bootc-image-builder/pull/368 and https://github.com/osbuild/images/pull/614/commits it seems we have a full iso installer for centos9 (user, networking, kargs).
[Build on top of https://github.com/osbuild/images/pull/614]

bah, conflicts from the other PR

bah, conflicts from the other PR

Meh, silly GH - a git rebase worked just fine without conflicts - oh well :) Pushed again.


attempting to short link to zoom.us causes a "Invalid Link must use http:// or https://" error

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Submission validity

[X] This is not a personal support request, that should be posted on discussions community.
[X] I checked current issues and this request isn't a duplicate of an existing issue, opened or closed.

Self troubleshooting

[X] I've read the documentation and made sure to follow it.
[X] I've read the troubleshooting first steps guide.

Version
1.8.2
Description
When trying to link to a zoom meeting (or in fact, any url at the domain https://zoom.us/ or https://zoom.com/ ) it generates a popup error:
Invalid Link. Make sure to include HTTPS:// or HTTP://
This doesn't seem to happen with any other site (though of course it's impossible to test  exhaustively).
Weirdly linking to another site, and then editing in the URL for the shortlink works, but I can't see any real reason zoom in particular should generate errors.
Expectation
Expectation: a shortlink would be created
Reproduction steps
Try to create a link to http://zoom.us or https://us02web.zoom.us
Context
No extra context

I couldn't reproduce this on our main instance (yourls.org, running 1.8.3-dev).

The phrase "Make sure to include" does not appear anywhere in YOURLS' code. This warning is probably coming from a plugin.

Make sure to include

Thanks, that was exactly it. Sadly it was a plugin designed to check that URLs were valid, and the plugin was doing the opposite.


docker-slim throwing no such file or directory error.

Expected Behavior
I am building a docker image(not slimmed) and then build the slim image using the non-slim image.
Command used to build the slim image is
docker-slim build --target slim_image --expose 5000
It generates the slim image but when trying to create a container for the given slim image, it throws
no such file or directory :- usr/local/lib/python3.8/site-packages/pydicom/data/urls.json
For finding the issues, I tried creating a container for the slim image and check in the container if the given path is present or not . But there is no urls.json present inside data folder.
I also tried creating a container for the non-slim image and check in the container if the given path is present or not. And urls.json was present inside the data folder.
So I wen through the flags of build command of docker slim and found --preserve-path-file and i gave the absolute path of the urls.json. But somehow it looks as if the urls.json is looking out for this file in the machine on which this docker image and containers are working and not inside the non-slim docker image.
Command which I even tried with --preserve-path-file is
sudo docker-slim build --target non_slim_image_name --expose 5000 --preserve-path-file usr/local/lib/python3.8/site-packages/pydicom/data/urls.json
sudo docker-slim build --target non_slim_image_name --expose 5000 --include-path-file usr/local/lib/python3.8/site-packages/pydicom/data/urls.json

Actual Behavior

Steps to Reproduce the Problem

Specifications

Version:
Platform:

@Somyarani13 thank you for opening the issue! What kind of app do you have? Server or CLI app? What do your entrypoint and cmd instructions look like?
What happens when you use the --include-path parameter? That should be the right param to use if you want to keep extra files.


download free e-books wrt issue #336

I did the needful to resolve issue #336. @anuragverma108 accept the pull request to incorporate the changes. I am a GSSOC contributor.
https://github.com/anuragverma108/SwapReads/assets/137604220/164ef128-4938-4e94-8ae1-db43043f9f62

@anuragverma108 Kindly add gssoc label too.

@bhumika-1127 Social Media Pages of SwapReads are not created yet!
As it was just a Project idea and not a working website.

Yes, sorry I didn't understand. What am I supposed to do @anuragverma108.


Create Press page and logic for adding press releases

Also, the preview build is failing @sodiqsanusi.
Can you build locally and resolve the issue?

Also, the preview build is failing @sodiqsanusi.
Can you build locally and resolve the issue?

Working on that now, would make implement the changes you highlighted, as well as the issue that's making the build fail


Update account tests to sepolia

Partially resolves #544

Just two general notes:

You need to replace the test data that was gathered from the Goerli network, with new test data from the Sepolia network. This will go for the other PRs as well.

I would suggest running the tests in the account package against a Sepolia network endpoint "go test ./... -env tesnet -v". You will probably need to put a .env.tesnet file in the account package, with a URL of a Seploia fill node. https://data.voyager.online/

Just two general points:

You need to replace the test data that was gathered from the Goerli network, with new test data from the Sepolia network. This will go for the other PRs as well.
I would suggest running the tests in the account package against a Sepolia network endpoint, ie running "go test ./... -env testnet -v" from the accounts pacakge. You will probably need to put a .env.tesnet file in the account package, with a URL of a Seploia full node. https://data.voyager.online/

I used existing transactions which were similar to the goerli ones. So these were real transactions I found on the block-explorer. But some of them don't seem to exist anymore. (I'd picked the most recent ones that matched) For the other tests also, I've used real sepolia data.
But you're right. I need to create new transactions here, with a test wallet. I'll get to this asap!


More sensible TerminalFinderButton

Reuse current tab of current window instead of always opening new window;
You can change PWD by selecting certain folder as well, .app, .Workflow files are also supported;
Determine busy terminal window (vim, wget, etc) to open new window;
Use persist storage to show first-time launching greeting, update notification, and other staff.

Awesome refinements. But I'm not familiar with Apple Script.

@lexrus I wrote some AppleScript before, but never really dug into it. After doing some Google search and write-run-modify loop, the shinny TerminalButton was out!
I've used this button for a few days, it worked as intended, as far as I know.
Also, the script was well documented, in case you want to check it out. :)

@ashfinal I respect what you did. But I prefer writing scripts in JavaScript for some reasons. Please keep your fork, I'll add a link in my README.md.

OK, I would keep the fork.
I just realize that this script may be a little long (and grisly), which could be less short.


Make "meta" optional

Is adding "meta" properties essential to LokiJS?
If not - it will be great to make it optional.

That's a nice idea. I will inspect if there are features that heavily rely on meta, and if a quick work-around can be done to achieve this.

There's quite a few features relying on meta at the moment. We will definitely look into the feasibility of this but for now it will have to be postponed to 1.3.0.

Meta, or any other additions that loki does, should reside under the $loki property. Would be cool for the next version.
{
$loki : { id : 1, meta : {  } },
name : 'Hugo',
meta : 'He is awesome'
}

@KimSchneider  @mprokopowicz sorry for addressing this a bit late but i have been very busy. So here's the thing: as @KimSchneider points out, the whole meta should be under $loki. In fact, the plan for LokiJS v2.0 is to only have the $loki id in the object itself and store meta for the object in a sort of parallel collection, so not to pollute the original object beyond the simple id. However, this would be too much of  a breaking change for LokiJS users, as many users are using the updated property of meta to apply a last-write-wins logic in distributed applications. I suppose it wasn't the best design decision at the time, but I am afraid this will have to wait for v2.0 which is a complete rewrite.


layernorm backward is indepedent of its mean

10% less kernel for test/models/test_train.py::TestTrain::test_transformer, should make llm.c faster

Any blockers on this?

was testing on bert. i think these norms don't have good enough test coverage especially for training, but I can merge this first


Making CustomGroupingTest extend an abstract superclass

This is a follow up to #1813 to break core logic out of CustomGroupingTest into AbstractTupleRoutingTest. This will allow us to add other subclasses to assert things like emit direct.
No logic changes here, just moving code around.

Ping. Any comments?

Good catch @objmagic, fixed.


[PE-D][Tester A] Sort field name not case sensitive

same for class and name

Labels: severity.VeryLow type.FunctionalityBug
original: LuYiting0913/ped#11

Already stated in the UG


Gitsign image doesnt have binaries installed

Productized gitsign image does not have binary installed by default. Instead it has the has tared versions of the binary for all architectures we offer:
$ gitsign version
bash: gitsign: command not found
$ ls /usr/local/bin/
gitsign_cli_darwin_amd64.gz  gitsign_cli_linux_amd64.gz  gitsign_cli_windows_amd64.exe.gz
$ cp /usr/local/bin/gitsign_cli_linux_amd64.gz  /opt/app-root/src && cd  /opt/app-root/src
$ tar xvf gitsign_cli_linux_amd64.gz
bash: tar: command not found

Image:  registry.redhat.io/rhtas-tech-preview/gitsign-rhel9@sha256:2581f2bf3cce4c20f65164083ef103319e06dc355275e8d9acfda371377bb9f5 /bin/bash
If this is intentional (which I dont believe it should be) it needs to be documented on the technical information section of the product page for this image:
.  This further doesn't make sense to me as the image is already a linux/amd64 image, so why are we giving them an option for what architecture to run from? If its meant to be used as a builder image, it should not be listed as a Standalone Image which is defined as  "A ready-to-run container image that provides services or end-user applications that you can execute in your own container environment".
Edit: follow up, these images dont even have tar so no clue how someone would unpack them.
/cc @lance @tommyd450

@Gregory-Pereira  This image was assembled as apart of 3, cosign,gitsign and rekor, these images are combined in sigstore-ocp and served on a web server within the cluster for download and unzipping on local machines.

@Gregory-Pereira we actually did not intend to provide a gitsign binary image in the way that you describe. The intent was to provide it via downloads only. This was primarily because I did not see the use case for gitsign in a pipeline. However, I can see the desire to at least have a functional binary on the produced image. @tommyd450 could we also include the uncompressed binary in /usr/local/bin?


various fixups

Some fixups from josie's feedback.

tx_flood doc tidy will conflict with #429 and prob should be dropped in favour of that

Can take this out of draft?


Proposal: Allow breakpoint to take option::run option type

@coryb raised the point that having a separate option type for breakpoints
inhibits code reuse, since functions providing option::run values can't
be reused for breakpoints. This PR explores an alternative where
breakpoint uses the option::run type instead of defining its own option
type.
There is definitely some language ugliness in making breakpoint a
special case here, but the tradeoff is that it allows for a better user
experience when otherwise functions providing option::run values
wouldn't be usable for a breakpoint. This has come up internally in my
prototyping and required some template abuse to use the same mounts,
cwd, security option, etc. for a breakpoint as we're using for runs.
Opened against https://github.com/openllb/hlb/pull/253
@hinshun - any thoughts?

cc @retrohacker (thanks for the idea!)

If we go this route we probably need to update the breakpoint description in the builtin.hlb to make it clear that it accepts option::run.   My other idea which maybe also be bad was to add option::run breakpoint so something like this:
fs foo() {
  image "alpine"
  run "apk add -U curl" with option {
    dir "/root"
    env "foo" "bar"
    mount scratch "/some/path" with option {
      cache "some/path-mount" "private"
    }
    breakpoint
  }
}

The concern there is that it is not clear we want a shell or that apk add -U curl should not be run in that breakpoint.  Perhaps option::run breakpoint(variadic string command) would work?
fs foo() {
  image "alpine"
  run "apk add -U curl" with option {
    dir "/root"
    env "foo" "bar"
    mount scratch "/some/path" with option {
      cache "some/path-mount" "private"
    }
    breakpoint "/bin/bash" "-l"
  }
}

That feels a bit more intuitive to me in that we want to execute bash via the debugger.   Not sure what the zero-argument breakpoint would be, maybe /bin/sh or just run the args to run with a tty attached?

I didn't know breakpoint now accepted arguments cause previously I saw it as a keyword rather than a builtin func. The option::run breakpoint seems like a better idea, I'm not a fan of breakpoint taking option::run.

Since it's a breakpoint though, does that mean after exiting the from exec you go into the debugger?

breakpoint doesn't do anything unless you're running in the debugger. If you are in the debugger, you'll get a debugger prompt after the exec finishes.

So if you are not in the debugger, does that mean option::run breakpoint doesn't trigger?

So if you are not in the debugger, does that mean option::run breakpoint doesn't trigger?

Yes, that's what I think is the right behavior. I wouldn't expect a breakpoint to do anything outside of a debugger.
(Note that "debugger" doesn't necessarily mean the stock debugger in debug.go - it can be any callback passed into HLB using WithDebugger which handles breakpoints).

The option::run breakpoint seems like a better idea, I'm not a fan of breakpoint taking option::run.

I understand the perspective and ultimately I think I'm fine going this way, but I feel it has some downsides.

If I want a simple breakpoint, I can add the line breakpoint to my HLB code.
...but if I want any mounts, I have to change it to a run ... with option { breakpoint } instead? (and it seems weird that I'd use a run for this in the first place).
In @coryb's example of run "apk add ...", does adding a breakpoint break before or after running apk? Or does it replace the apk command entirely with the interactive shell? None of these options seem particularly intuitive. What if I want a breakpoint with mounts, but I don't want to run anything except the shell. Do I need run "true" with option { breakpoint "/bin/sh" }? That seems less than optimal.

Using run feels like an ugly workaround for options not being reusable between different types of builtins. Maybe it's the best we can do for now, but I feel like I should point out the concerns.

From BuildKit's perspective, mounts only exist on execops aka run. If you're going to treat breakpoint as a run, I think it makes sense that it's a part of run. The way I reason about it is that most breakpoints are between statements, whereas a breakpoint with mounts is during the run operation.

What if I want a breakpoint with mounts, but I don't want to run anything except the shell.

I think it would be run "/bin/sh" with option { mount ...; breakpoint }

What if I want a breakpoint with mounts, but I don't want to run anything except the shell.

I think it would be run "/bin/sh" with option { mount ...; breakpoint }

Okay, so in run "apk add -U curl" with option { mount ...; breakpoint "/bin/sh" }, should the /bin/sh override the apk add? Or should we not even support that syntax, and the author of the file should have to change the run command to a shell if they want a shell?

So with the gateway exec, we can actually control if we should exec before run is executed, or after its executed. Maybe by default it's before, so in essence the /bin/sh overrides, but maybe the breakpoint has an option to exec after apk add -U curl has executed.

So with the gateway exec, we can actually control if we should exec before run is executed, or after its executed. Maybe by default it's before, so in essence the /bin/sh overrides, but maybe the breakpoint has an option to exec after apk add -U curl has executed.

But if you do run "/bin/sh" with option { mount ...; breakpoint }, you are implicitly using the /bin/sh as the command to run in the gateway exec (and not running it in an ExecOp, I assume), so I don't think the before/after distinction even comes up.
This is part of why I find "breakpoint as part of run" confusing. The semantics around what actually gets run outside the interactive session (or not) don't seem very clear. I feel we should either design this so that a breakpoint always replaces ExecOp with an interactive gateway exec, or always runs the gateway exec before/after it (ideally just pick one or the other).

I kind of feel like we should have option::run breakpoint(string command, variadic string args), so we require at least one argument and that argument would be what we execute:
run "apk add -U curl" with option {
  breakpoint "/bin/bash"
}

For the use case of "I want a shell without a run statement" I am not sure that has any practical use. I expect the gateway-exec to be used primarily as a way to debug environments for run statements (ie env, mounts,  etc), that said I think it can still be accomplished with:
run "true" with option {
  breakpoint "/bin/bash"
}

or even:
run "" with option {
  breakpoint "/bin/bash"
}

Both of those are ugly, but I don't expect them to be used in practice.  What would be useful is the breakpoint instruction we already have:
fs default() {
  image "alpine"
  breakpoint
}

That seems useful, in that I run hlb run --debug, type c to continue which will stop at the breakpoint, then type "exec /bin/bash" to get a container, no run statement is necessary there.  The workflow with option::run breakpoint I think would be:
fs default() {
 image "alpine"
 run "whatever" with option {
   mount somefs "/stuff"
   breakpoint "/bin/bash"
  }
}

where we run hlb run --debug,  type c to continue and it will break the breakpoint and automatically exec to /bin/bash.

for the before/after I think the default should be "before", and eventually we can add some option::breakpoint like @hinshun mentioned. Something like breakpoint "/bin/bash" with exec("after") or breakpoint "/bin/bash with exec("onError") to handle the "only get me a shell after the command has run if it returns an error" case?

@coryb: I think your proposal is very reasonable. One minor quibble:

where we run hlb run --debug, type c to continue and it will break the breakpoint and automatically exec to /bin/bash.

If the behavior will be to automatically exec the interactive shell rather than give a debugger prompt, I'm wondering if breakpoint is the right name for the run option. Maybe something like interactiveShell, debugCommand, or preRunShell would be a better name. This would also help distinguish the option from the actual breakpoint statement which doesn't have a mandatory argument and doesn't necessarily kick off a gateway exec.
Or we could say that the run option does break into the debugger, and doesn't do a gateway exec until/unless the user types exec (programs which embed HLB can override this behavior, of course). Then I think the name breakpoint would make sense.

yeah, I am fine with the stock debugger requiring exec to enter the container using the specified options from hlb file.  As long as we can accomplish the "automatically go into exec" via a custom WithDebugger implementation.


Make graphaware/neo4j-php-ogm optional

This will fix #4

Great! Could you please remove graphaware/neo4j-php-ogm from require block in the composer.json file to move it to suggest block plz and squash your commits?

Thank you for the review. I've rebased my PR and made the changes you suggested.

Is this ready for merge?

Could you please squash your commits plz?

You can squash commits just before you merge. https://github.com/blog/2141-squash-your-commits

Thank you for merging


Feature Requests and Syntax Ideas

Abort
I've been toying around with different ways to implement this.
Ideas:
We can abort multiple http requests at once
const controller = new AbortController()
const todos = useFetch('http://example.com/todos', { controller })
todos.abort() // 🚫will error
const messages = useFetch('http://example.com/messages', { controller })
messages.abort() // 🚫will error
controller.abort()  // ✅

Individual Aborts
const todos = useFetch('http://example.com/todos')

todos.abort()

const messages = useFetch('http://example.com/messages')

messages.abort()

Typeahead usage
these are potential options for, if request1 is pending, and request2 is made, cancel request1. Or if they were set to 2, make 2 requests before canceling prior ones. Not sure the best way to handle this.
const todos = useFetch('http://example.com/todos', {
    deferred: 1,
    maxRequests: 1,
    limit: 1,
    typeahead: true,
    abort: 1,
})

function onChange(e) {
  todos.get(`?q=${e.target.value}`)
}

todos.data.map(todo => /* example */)

Syntax
I'm starting to like this syntax better, but what do you all think?
const todos = useFetch('http://example.com/todos')

todos.data
todos.get()
todos.post({
  name: 'cool'
})
todos.abort()
todos.loading

I like the idea passing an abort controller to the library, gives the user the ability to override functionality if they want to notify user of an aborted request use a mock controller in testing, for limiting requests i would go with limit or rateLimit

What do we think about this syntax for useQuery and useMutation?
import { Provider, useQuery, useMutation } from 'use-http'

function QueryComponent() {
  const request = useQuery`
    query Todos($userID string!) {
      todos(userID: $userID) {
        id
        title
      }
    }
  `

  const getTodosForUser = id => request.query({ userID: id })

  return (
    <>
      <button onClick={() => getTodosForUser('theUsersID')}>Get User's Todos</button>
      {request.loading ? 'Loading...' :
{request.data}
}
    </>
  )
}

const App = () => (
  <Provider url='https://example.com'>
    <QueryComponent />
  </Provider>
)

I guess it wouldn't bee too difficult to support both

@dagda1 what do you think of this syntax?

@alex-cory I'm not too up to speed with graphql.  I do remember this syntax from a contract that used styled-components.
I'd like to be taking advantage of typescript for these queries, string queries give me the heebies.
I did a spike with this ages ago but not sure I can give much of an opinion here apart from that.

Interesting. I will check it out :)

@alex-cory the reason I stumbled across your library is that I need something that does retries.  Would you be open to me having a stab at a PR for retries?

Yes! There's actually a TODO at the bottom of the readme for this. I was thinking there could be an option that would look like
const request = useFetch(url, {
  retries: 3
})

and after the 3rd retry it will throw an error or something. I think while it's retrying just keep the loading state to true

@alex-cory I think you would want a delay between each retry so you could have retryDelay with a default.

Has a useReducer implementation been considered?  I ask this partly because I haven't figure out how to use use-http in a scenario where the data was an array that would need to be added to later.  onClick to get more items, for example.
I think the existing functionality could could be replicated with a default reducer and useReducer instead of the three useState's in useFetch.ts.  From the user's perspective, there would no change unless they supplied a reducer, and possibly an initial state.
I have my own naive implementation of this, reusing use-http's FetchContext, some copy/paste from useFetch.ts, and dispatch instead of setData, setError, and setLoading.   It seems to work.  Any thoughts?  Thanks for the lib.

@violinchris I have thought about this.
const Todos = () => {
  const [todos, setTodos] = useState([])
  const [initialTodos, loadingInitialTodos, _, getInitialTodos] = useGet(url)
  const [newTodo, loadingNewTodo, _, postNewTodo] = usePost(url)
  const oldTodo = usePrevious(newTodo)

  useEffect(() => {
    getInitialTodos()
  }, [])

  // set initial todos
  if (todos.length === 0 && !loadingInitialTodos) {
    setTodos(initialTodos)
  }

  const addTodo = () => postNewTodo({ title: 'new todo' })

  if (!loadingNewTodo && newTodo) {
    setTodos([...todos, newTodo])
  }

  return <>
    {todos.map(todo =>
{todo.title}
}
    <button onClick={addTodo}>Add Todo</button>
  </>
}

Could you please post a sample of how you would like the end syntax with the reducer to look like?

@alex-cory
I'm even less certain about this than I was when I posted my reducer comment.  I came across a few things as I tried to get this your example working.
I had to change if (todos.length === 0 && !loadingInitialTodos) {    to    if (todos.length === 0 && initialTodos && !loadingInitialTodos) {.   This made wonder why there is no option for providing initial data to useFetch or useGet, but then I realied that would have been a problem in its own way.
I never got the if (!loadingNewTodo && newTodo) { to work correctly.  Once you have a new newTodo you always have one, so I got the re-renders.  I noticed that before you edited, you had a line with a usePrevious hook.  I was initially excited, but I couldn't get to to function correctly.  The previous value didn't stay one behind the current value.  Very embarrassing for me, but even if it worked right I think the newTodo render happens before the render where loadingNewTodo  becomes false.
Anyway, I mention all of this not to nitpick with your code.  I could still be doing multiple things wrong.  It's that the style of coding necessary seems error prone with the multiple conditions in the if statements, and not being able to easily figure out why a render is happening, yet having to rely on a specific re-render in the if statement.
Specifically regarding the syntax, here is what I was thinking about.
import reducer from 'highlyReusableReducer.js'
const Todos = () => {

  const [todos, loading, error, request, dispatch] = useGet(url, {
    reducer, initialData: { items: [], hasMore: true }
  })

  let handleToggleDone = id => {
    dispatch({ type: 'TOGGLE_TODO', payload: id })
  }
  return <>
    {todos.items.map(todo => {
      return (
 { handleToggleDone(todo.id) }
                    key={todo.id}>
                      {todo.title}

              )
    }
  </>
}

I'm less convinced than earlier that this is worth it, but I don't see a downside.  It would function as it currently does if someone chose to not use the dispatch/reducer.  And its the ultimate opt-out for someone that decides they like this library, but not for everything.
Thanks again.  Its useful to me regardless, and I'll keep watching the repo.

@violinchris did you notice that I changed my example above to include an await? Please try again and let me know if that works for you.  I will definitely be posting an example of this, I'm just kind of swamped trying to ensure everything is working by getting tests out.

I like the concept of initial data, in my half arsed and half baked first attempt at useFetch I had initial data and a transform function that was run to transform the data after it was returned from the apiL
export const useFetchData = <TData, TReturnData = TData>(
  fetchUrl: string,
  defaultValue: TData,
  transformFunc: (o: TData) => TReturnData = identity,
): UseFetchData<TReturnData> => {

@alex-cory i did not notice the await.  thats a nice trick, and it ensures setTodos([...todos, newTodo]) happens only once for each addTodo.   I noticed the stale newTodo.  would this be necessary
const latestNewTodo = useRef(newTodo);
latestNewTodo.current = newTodo

and later after the await, using the updater form of the set function
setTodos(prevTodos => {
  return [...prevTodos, latestNewTodo.current]
})

More importantly, to prevent errors and re-render problems, I did have to alter the if statement.
if (todos.length === 0 && initialTodos && initialTodos.length && !loadingInitialTodos) {
I say more importantly because my whole reason for asking for an options.reducer and to return the dispatch was so that I could interact with the data.  Instead of that, could the setData function from useFetch.ts be returned, like this.
const [todos, loading, error, request, setTodos] = useGet(url, {
  initialData: { items: [], hasMore: true }
})

Doesn't that remove the need for the if.
@dagda1 It's probably not a top priority, but +1 for "transform function".  i had the same idea, but I didn't have the courage to request.

Interesting. I kind of like that idea. I need to think about that a little bit. @violinchris

@violinchris I added a new example to the docs

I think you are right with the initialData. I'm going to most likely add this feature, but still trying to work it out.

🤔What about something like this?
const TestApp = () => {
  const [todos, setTodos] = useState([])
  // const [data, loading, error, request, setData] = useFetch()
  const request = useFetch('http:example.com', {
    // initial data, probably just an empty default as this will get overwritten
    // each time `request.method()` is called
    data: []
  })

  useEffect(() => {
    initializeTodos()
  }, [])

  async function initializeTodos() {
    // const { data, endLoading } = await request.get('/todos')
    const [ initialTodos, stopLoading ] = await request.get('/todos')
    setTodos(initialTodos)
    stopLoading()
  }

  async function addTodo() {
    const [ todo, stopLoading ] = await request.post('/todos', {
      title: 'No way...'
    })
    setTodos(oldTodos => [...oldTodos, newTodo])
    stopLoading()
  }
}

I like this better but it'll require using js Proxy and we would probably have to remove array destructuring syntax/might have to remove destructuring syntax completely (which might not be a bad thing)
const TestApp2 = () => {
  const [todos, setTodos] = useState([])
  // const [data, loading, error, request, setData] = useFetch()
  const request = useFetch('http:example.com', {
    // initial data, probably just an empty default as this will get overwritten
    // each time `request.method()` is called
    data: []
  })

  useEffect(() => {
    initializeTodos()
  }, [])

  async function initializeTodos() {
    const initialTodos = await request.get('/todos')
    setTodos(initialTodos)
    request.loading = false // -> request.setLoading(false)
  }

  async function addTodo() {
    const newTodo = await request.post('/todos', {
      title: 'No way...'
    })
    setTodos(oldTodos => [...oldTodos, newTodo])
    request.loading = false
  }

  return (
    <>
      <button onClick={addTodo}>Add Todo</button>
      {request.error && 'Error!'}
      {request.loading && 'Loading...'}
      {(todos.data || []).length > 0 && todos.data.map(todo => (

{todo.title}

      )}
    </>
  )
}

At some point in the past, I think data wasn't being returned from what is now doFetch in useFetch.ts, but now it is.  That was my assumption anyway, esp. when looking at your first todo example that added the newTodo from the const [newTodo, loadingNewTodo, _, postNewTodo] = usePost(url) line after the await postNewTodo({ title: 'new todo' }).
Anyway, with these examples, this all seems more conventional in terms of how i think about async stuff, but also it seems more likely that a certain boilerplate will be the usual procedure.
const [todos, setTodos] = useState([])

const request = useFetch('http:example.com', { ...

useEffect(() => { initialize() }, []) ...

async function initialize() { ...

async function addTodo() {

This is why I'm still interested in setData being returned, and I'm wondering what the issue with that is.  I definitely understand being hesitant, because I am as well, but I'm not imagining a problem.
Here is a different possible version of the syntax that could allow for less boilerplate.  Notice the onMount, and the new opts argument.  Maybe the opts is clumsy, and another method that only returned the data without setting it would be nicer, but I think it gets the point across.
  const [todos, loading, error, request, setTodos] = useFetch('http:example.com', {
    data: [],
    onMount: true // yes, I saw the comment regarding onMount somewhere, maybe opt-in?
  })

  async function addTodo() {
    let opts = { shouldSetData: false }
    const newTodo = await request.post('/todos', {
      title: 'No way...'
    }, opts)
    setTodos(oldTodos => [...oldTodos, newTodo])
    request.loading = false
  }

With that said, I am understanding your recent todo examples and I am satisfied without the setData being returned.  Even if returning setData is a good idea, there is no rush to implement this as far as I'm concerned.
Btw, I like the proxy syntax, but not enough to give up destructuring syntax.  But, what would ever be the use of request.loading = false.   Isn't that already handled automatically.

So, the problem is that you need to setTodos before loading === false. And the only way for loading to be handled properly is for 1. loading === true 2. setData(data) 3. loading === false. With the current syntax it's like 1. loading === true, 2. almost like a race condition we don't know loading will be set to false before or after setTodos is called. Unless I'm overthinking things (which could very well be the case). I'm wrong sometimes 😛

Well, you are correct, but I'm not going to let that deter me.
Regarding the 1,2,3 (try-catch-finally), you could easily cut that to 1,2 with two useReducer dispatches  instead of 3 useStates sets, even without considering my previous ill-conceived suggestion of returning a dispatch,  and it could appear to the user with the same syntax as now. I think it would cut down on a render, unless I misunderstand how it works.  I think you could also return a setDataOnly method (that takes a function) that works exactly like setData from useState, but it could interact with the reducer.  Or not.  Either way, one less render.
There is still the uncertainty about whether loading gets set to false before or after, but this is how I consider both scenarios with regards to  putting request.loading = false in the todos example.

loading set to false before setTodos is called.

Arguably, an app should not rely on the 1,2,3 order, but if I understand, this is potentially the situation to be avoided, and in fact the situation I would expect, since you are returning data after finally { ... }.  I guess this could be bad if a render occurs before todos are ready, but why set loading = false.  It is already false.  What good would that do?

loading set to false after setTodos is called.

Somehow setTodos gets called while loading is still true.  Perhaps, briefly, a spinner or loading indicator instead of a glorious list of todos.  Todos are still there in the data, and will get rendered because when loading is eventually set to false.
If I am not understanding things correctly, this will at least demonstrate my misunderstanding, and perhaps misunderstandings others may have.
Anyway, I'll back off with this now.  Everything seems to be moving very fast and I'm not solid with typescript.  It's easy enough to read, but I always get some error that slows me down.  No need to respond if I'm wrong.  I'll just keep watching the issues and check out the documentation.  Thanks.

i think returning a dispatch is the wrong thing to do.  it breaks
encapsulation and seems unnecessary.
On Sun, 7 Jul 2019 at 00:10, Chris Ellis<EMAIL_ADDRESS>wrote:

Well, you are correct, but I'm not going to let that deter me.
Regarding the 1,2,3 (try-catch-finally), you could easily cut that to 1,2
with two useReducer dispatches instead of 3 useStates sets, even without
considering my previous ill-conceived suggestion of returning a dispatch,
and it could appear to the user with the same syntax as now. I think it
would cut down on a render, unless I misunderstand how it works. I think
you could also return a setDataOnly method (that takes a function) that
works exactly like setData from useState, but it could interact with the
reducer. Or not. Either way, one less render.
There is still the uncertainty about whether loading gets set to false
before or after, but this is how I consider both scenarios with regards to
putting request.loading = false in the todos example.

loading set to false before setTodos is called.

Arguably, an app should not rely on the 1,2,3 order, but if I understand,
this is potentially the situation to be avoided, and in fact the situation
I would expect, since you are returning data after finally { ... }. I
guess this could be bad if a render occurs before todos are ready, but why
set loading = false. It is already false. What good would that do?

loading set to false after setTodos is called.

Somehow setTodos gets called while loading is still true. Perhaps,
briefly, a spinner or loading indicator instead of a glorious list of
todos. Todos are still there in the data, and will get rendered because
when loading is eventually set to false.
If I am not understanding things correctly, this will at least demonstrate
my misunderstanding, and perhaps misunderstandings others may have.
Anyway, I'll back off with this now. Everything seems to be moving very
fast and I'm not solid with typescript. It's easy enough to read, but I
always get some error that slows me down. No need to respond if I'm wrong.
I'll just keep watching the issues and check out the documentation. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alex-cory/use-http/issues/13?email_source=notifications&email_token=AAA44OE5BRER2ZNUAITEYO3P6EJ6LA5CNFSM4HIY7VCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZLBBUQ#issuecomment-508956882,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA44OHKES7TABXUKSMZHYTP6EJ6LANCNFSM4HIY7VCA
.

--
Cheers
Paul Cowan
Cutting-Edge Solutions (Scotland)
blog:      http://thesoftwaresimpleton.com/
website: https://cutting.scot/

@dagda1 Yep, returning dispatch was "ill-conceived."  Does setDataOnly have the same problems?

in my opinion yes, you might as well create the hook yourself.  i think i like the reducer idea.  i would allow a transform function could be passed with the initial option that could be applied to any dataset once the ali resolves.

Hi @alex-cory - Is there any way to "reset" the request? IE: Clear the 'error' in order to fire it again? I've a situation where I may want to fire a request a number of times (incorrect data on first try, then rectify and try again), and I'd like to be able to clear the "error" object somehow. I can get around it in other javascripty ways but was wondering if it's possible with the library.
Similar to abort(), I guess, but more of a reset() function?

Whenever you fire the request again, it automatically resets the error to undefined.  Could you post a code snippet of exactly what you're doing and how you would like it to look? i.e.
const App = () => {
  // assuming we already have a Provider with the `url` set in it
  const { error, get, reset } = useFetch({ onMount: true, data: [] })

  const doSomething = async () => {
    await get() // <- this resets the error everytime it's called
    reset()       // <- I guess I'm just trying to see the scenario in which we need it! 😊
  }

  return (
    <>
      {error && error.message}
      <button onClick={doSomething}>Do Something</button>
    </>
  )
}

I have a feature request idea, it's something I am using in my own useFetch implementation, but with time my use cases expanded, and I need to switch to something like use-http. But I don't see that this lib has what I had, and that is a skip function/option, that just ignores the GET requests.
The way I work is I have my state defined in the beginning as null or undefined (something falsey) and in the beginning, I don't want to make that requests because my data is not defined, as soon as an user interacts with a field (ex: search box) and starts typing, we start executing those GET requests.
Another one is useMock, which I use for when my endpoint/DB is slow, and I know the result I would get, it is always the same, so I start directly loading my "data", and avoid any requests. So when the backend guys fix that long query or that 500 error response, then we just switch off useMock prop to false and the fetch works normally.
const [searchBox, useSearchBox] = useState('')

const { data, error, loading, refetch } = useState('endpoint', { requestParams }, {executionLogicParams : {
   skipIf: !searchBox,
   useMock: true,
   mockData: mockedResponseVariable -- (some JSON object) --
}})

Are there any similar replacements for these features, does it make sense to have them as part of useFetch at all?

Skip. This is an interesting idea. Can you find any examples of other fetch hooks that use this same methodology? Currently you could do something with managed-state.

const { data, get } = useFetch('endpoint' + searchBox)

useEffect(() => {
  if (searchBox) get()
}, [searchBox])

Mocking

const { data, error, loading } = useFetch('endpoint', {
  data: mockData // set's the default data for this as the mock data
})


Create binary releases

Not everyone has a Haskell compiler or the patience to compile all the dependencies.  At some point, we should also create distribution packages.  As a start, we should have a simple way to create a tarball containing a configure script (that most importantly accepts --prefix) that can be used to install pre-compiled Futhark binaries.
I'm thinking about just doing this with Automake.  It seems the simplest way of getting a configure script, although it is massively overkill for our needs.

I added some tooling in 7ab1300fd2cfa0066b657493acc1f130ca8867ac.  No configure, but the Makefile reads $PREFIX.  Try it: http://sigkill.dk/junk/futhark-Linux-x86_64-2016-05-01.tar.xz
It even installs the manpages!
Now I just need to set up napoleon to automatically build these every day, and then point at them from the website.

I set up an automated script that builds a binary tarball and puts it here every day: http://futhark-lang.org/releases/
However, I'm not comfortable distributing binaries over HTTP, so I guess the next step is to setup HTTPS for the futhark-lang.org server.

On Sun, May 1, 2016 at 2:00 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

I set up an automated script that builds a binary tarball and puts it here
every day: http://futhark-lang.org/releases/
However, I'm not comfortable distributing binaries over HTTP, so I guess
the next step is to setup HTTPS for the futhark-lang.org server.

That is easy in this day and age.
You should also sign the binaries.

Can you explain how to do TLS termination with relayd?  It seems
possible, but annoying.
Signing the nightly build also seems pointless or hard, as it is
automatically generated.  Either I put my private key on napoleon (no
way), or I sign it with some special-purpose key.
--
\  Troels
/\ Henriksen

On Sun, May 1, 2016 at 2:15 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

Can you explain how to do TLS termination with relayd? It seems
possible, but annoying.

No.
Signing the nightly build also seems pointless or hard, as it is

automatically generated. Either I put my private key on napoleon (no
way), or I sign it with some special-purpose key.

Right, for nightly builds I guess it makes less sense, but a
special-purpose key (which you can revoke), is better than no key.

I set up TLS at the webserver level, not with relayd.  Works now: https://futhark-lang.org/releases/
I just need to set up the cronjob for automatic refreshing of the certificate.

It would still be nice to get a Windows or OS X host for building snapshots.

On Sun, May 1, 2016 at 5:39 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

It would still be nice to get a Windows or OS X host for building
snapshots.

Yes. Would be nice for teaching and testing purposes as well.

So... will you be contacting SCIENCE-IT?  :-)
--
\  Troels
/\ Henriksen


Remove version: WikidPad.WikidPad version 2.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/wikidpad/files/wikidpad/2.2/2.2/WikidPad-2.2.exe/download
OK
(Automated message - build 923)

Package still available.

Close with reason: Package still available.;


make dashboard failing after succesful installation (vagrant)

Just after make init, I ran make dashboard and got:
11:28:02.872539 main.go:162: unknown cluster "demo-virtualbox"

The cluster spinned correctly and I could access the dashboard with the token given by make init.

Looks like the Makefile needs an update. @jvatic would you please take care of this?


Some tests failed due to "Error: Error: connect ECONNREFUSED <IP_ADDRESS>:9071"

I just cloned drachtio-fsmrf. I run the npm install in the cloned directory and then I run the npm test. The docker network started properly but some of test failed due to "Error: Error: connect ECONNREFUSED <IP_ADDRESS>:9071". Should I change any system setting in order to run tests properly?

could you try pulling the latest drachtio/drachtio-freeswitch-mrf image and retrying?
docker rmi drachtio/drachtio-freeswitch-mrf:latest
docker pull drachtio/drachtio-freeswitch-mrf:latest
npm test

I have a feeling this might be the issue.  Let me know the results


Add missing command to Automated Update

I think it is better to remove sudo ./whitelist.sh  because the cron will execute the script and user need not have to manually execute the script, what do you think @borzaka @SuperSandro2000 ?

That's true, but for the first time it won't be executed right away. The user has to wait until the last day of the week.
I think on the first install user wants to use the list, and not wait.

@borzaka sudo whitelist/scripts/whitelist.sh is enough to run the script, sudo ./whitelist.sh is not necessary

@anudeepND Not from the "For Automated Update" section, because there is no cd whitelist/scripts instruction there. So you need to change directory, or run the script by include the directory.


closes #1220: fixed document store when having empty string json keys

What this PR does:
Fixes the #1220, the empty key is valid in JSON. However, we were not storing this correctly and we had leaf=null, which would lead to the errors when getting the document. The JsonConverter also needed to be updated as it was not counting for this situation. JsonConverterTest was also wrong, as leaves were not correctly set in two rows.
Note that atm search with wildcard will not match the empty keys. This will be fixed in a separate issue and PR. Problem is that once we have a wildcard we are doing a search with pX > '' which in this case would not match the row with empty string key.
@EricBorczuk Although this looks small, please let me know if there are any other implications as this is heavily affecting the current doc saving structure. Maybe I should have gone for the empty key marker better?
Which issue(s) this PR fixes:
Fixes #1220
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[ ] Create follow-up issue
[x] ~Documentation added/updated~

Setting to blocked until we decide how to handle empty keys and until we re-implement the shredding. Tasks pending:

https://github.com/stargate/stargate/pull/1439

This can be fixed once https://github.com/stargate/stargate/pull/1617 is merged.

Closing for now, as we will not provide a fix at the moment. PR to handle proper error message: https://github.com/stargate/stargate/pull/1663.


not working

▲ ~/lule ./lule --image=/home/jimmy/Pictures/Wallpapers/candyxd.png --palette=convert set                                                                                main 7h ⬢
[pastel error]: Could not parse color '#E2AAD2FF'
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: Could not parse color ''
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: Could not parse color ''
error: The following required arguments were not provided:

USAGE:
pastel mix  --colorspace  --fraction  [color]...
For more information try --help
error: The following required arguments were not provided:

USAGE:
pastel mix  --colorspace  --fraction  [color]...
For more information try --help
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
[pastel error]: A color argument needs to be provided on the command line or via a pipe. Call this command again with '-h' or '--help' to get more information.
error: The following required arguments were not provided:
...
USAGE:
pastel gradient ... --colorspace  --number
For more information try --help
error: The following required arguments were not provided:
...
USAGE:
pastel gradient ... --colorspace  --number
For more information try --help
error: The following required arguments were not provided:
...
USAGE:
pastel gradient ... --colorspace  --number
For more information try --help
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
[pastel error]: The number of color arguments must be larger than one
error: The following required arguments were not provided:
...
USAGE:
pastel gradient ... --colorspace  --number
For more information try --help
[pastel error]: The number of color arguments must be larger than one

From what I can tell, you're somehow supplying an #AARRGGBB hex color, whereas pastel only supports #RRGGBB colors.

Yes, as @fufexan said Pastel does not support RGBA but only RGB colors.
he thing is that your convert command is doing that in your system.
Try to install/use pigmnts or shcemer2 as palette an see if you have same issue?

It fixes it, thanks. You should fix/have that problem in mind for the future.

@Jimmysit0 Thanks for your feedback.
Actually i am porting it all in RUST, and i am actively working those days (you can check the dev branch - still far from working), but everything should be more tightly integrated and everything should work


fast_pattern w base64 data/v10

Ticket
If your pull request is related to a Suricata ticket, please provide
the full URL to the ticket here so this pull request can monitor
changes to the ticket status:
Redmine ticket: https://redmine.openinfosecfoundation.org/issues/5220
Previous PR: https://github.com/OISF/suricata-verify/pull/1732
Changes since v9:

rebased on top of latest master

Merged in #1831, thanks!


when flynn-host bootstrap error: "run-app postgres error: cluster: no servers found"

I install flynn cluster in three ubuntu-14.04 amd64
when I exec "sudo
CLUSTER_DOMAIN=demo.localflynn.com
flynn-host bootstrap --min-hosts=3 /etc/flynn/bootstrap-manifest.json"
There is error.
check online-hosts
require-env require-env
gen-random pg-password
gen-random pg-password xxxx
run-app postgres
run-app postgres error: cluster: no servers found
Why? Thanks!

Please run flynn-host collect-debug-info and post the gist link.

Thanks. Today this problem is not occured, after I restart three vms(created by VMware vSphere).
But another problem happened.
When I exec "wait postgres-wait error: bootstrap: timed out waiting for http://postgres-api.discoverd/ping, last response 'Get http://postgres-api.discoverd/ping: dial tcp: lookup postgres-api.discoverd: no such host' ".
And my local network cannot connect gist.github.com for some reason.
My flynn-host version is v20150328.0.
In my syslog, there are some warnings:
"RecordRoutingInof: Unable to collect IPv4 routing table."
"Failed to get nic info."

@tjudream your cluster is probably in a broken state, you should do a clean install of Flynn on all nodes by running the following:
$ curl -fsSL -o /tmp/install-flynn https://dl.flynn.io/install-flynn
$ sudo bash /tmp/install-flynn --clean

You should then start flynn-host on all nodes and re-run the bootstrap command.
If you are still having issues, you can create a tarball of logs rather than uploading to a gist by running:
sudo flynn-host collect-debug-info --tarball

then post the tarball somewhere for us to download and take a look at.

Thank you very much！
It works！


Update react-native-svg to be a peer dependency

Hey,
I updated the react-native-svg dependency to be a peer dependency due to the fact you could have mismatched svg versions and that seems to cause the "d" issue.
https://github.com/capitalone/react-native-pathjs-charts/issues/70

[x] I have signed the CLA

Switching from "dependency" to "peerDependency" would work to address the problem I think you are trying to solve (which is outlined in #70 I think) if the app you are working with and this react-native-pathjs-charts library had requirements for the same version of react-native-svg.
However, this is not the case as this react-native-pathjs-charts library has chosen (for now) to lock/pin its dependence on react-native-svg to a specific version (4.4.1 ... soon to be 4.5 when #69 is merged in). The reason for targeting a specific version of react-native-svg is outlined in #58.
What makes this PR resolve the "Error while updating property 'd' in shadow node of type RNSVGPath" problem is not the change from "dependency" to "peerDependency", but rather making this react-native-pathjs-charts library use more newer versions of react-native-svg by changing the version defined in package.json from "~4.4.1" to "4.4.x - 5.1.x". However, this basically dismisses the intent behind #58.
This is obviously problematic if your app is using this react-native-pathjs-charts library and wants to take advantage of newer functionality in a newer version of react-native-svg at the same time. You basically have to go to the older version of react-native-svg that react-native-pathjs-charts wants or just not use react-native-pathjs-charts.
I would love to hear how others would like to see this problem dealt with. We could allow this react-native-pathjs-charts library to use newer versions of react-native-svg of say 5.1.4 if we accept the downside of the text rotation problems on the bar chart (and maybe making the rotation angle on that specific chart configurable makes that solution even better) because maybe the app you are working with has no intentions of using the bar chart. The flipside to that is what happens when someone does want to use a newer version of react-native-svg and wants to display a bar chart with text rotated at 45 degrees. An issue would get logged. I'd have to say its because the newer react-native-svg version has a known text-rotation bug and then the obvious response to that would be "Why would you allow your library to use a version of a dependency that you know to cause problems?". Also, the consumer of this charts library would have to use an older version of react-native-svg anyways.
I'm inclined to keep things as-is and close this PR but I would be happy to consider other ideas if you and others think there is a reasonable alternative to address this problem.

Didn't see any feedback on this one. Will close based on my comments above for now but willing to reconsider if there's a benefit here I haven't considered or heard.


[riverpod_lint] Issue with scoped_providers_should_specify_dependencies

While looking through the readme of 'riverpod_lint', it states the following:
scoped_providers_should_specify_dependencies
Providers that do not specify "dependencies" shouldn't be overridden in a ProviderScope/ProviderContainer that is possibly not at the root of the tree.
Good
void main() {
  runApp(
    ProviderScope(
      // This is the main ProviderScope. All providers can be overridden there
      overrides: [
        rootProvider.overrideWith(...),
        scopedProvider.overrideWith(...),
      ],
      child: MyApp(),
    ),
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ProviderScope(
      // This ProviderScope is not the root one, so only providers with "dependencies"
      // can be specified.
      overrides: [
        scopedProvider.overrideWith(...),
      ],
      child: Container(),
    );
  }
}

But I am getting warnings for root ProviderContainer/ProviderScope
Screenshot:

It is considering the ProviderScope as non-root.

Right. You're outside the main.


[N01] Functions default to a particular case

[N01] Functions default to a particular case
High Level Description
This PR add the specific condition on when to:

execute the Call action

Code

[x] Unit test 100% coverage
[x] Does your code follow the naming and code documentation guidelines?

Documentation

[x] Is your code up to date with the spec?
[x] Have you added your tests to the testing doc?

Added only a specific else statement for the  _runActions().

What about the default on month?

I don't think it is needed, also if we add an if statement for month of December, we need a condition to default for if the month is > 12. IMO better to just keep it as it is.

What about the default on month?

I don't think it is needed, also if we add an if statement for month of December, we need a condition to default for if the month is > 12. IMO better to just keep it as it is.

why don't we just require the month is 1-12? Having defaults as a code pattern seems to lead to tricky issues.
Also are there any other places in the code that have defaults?

What about the default on month?

I don't think it is needed, also if we add an if statement for month of December, we need a condition to default for if the month is > 12. IMO better to just keep it as it is.

why don't we just require the month is 1-12? Having defaults as a code pattern seems to lead to tricky issues.
Also are there any other places in the code that have defaults?

There are no other places with default condition.
I don't think we need to restrict the month here, worst case scenario someone will send month == 13 and it will be set to December.

Eg. https://github.com/opynfinance/GammaProtocol/blob/fix/N01/contracts/libs/MarginVault.sol#L54 Do we want to be explicit here as well?

What about the default on month?

I don't think it is needed, also if we add an if statement for month of December, we need a condition to default for if the month is > 12. IMO better to just keep it as it is.

why don't we just require the month is 1-12? Having defaults as a code pattern seems to lead to tricky issues.
Also are there any other places in the code that have defaults?

There are no other places with default condition.
I don't think we need to restrict the month here, worst case scenario someone will send month == 13 and it will be set to December.

For this example it is fine, but as a general coding pattern do we want to try to be explicit as opposed to have defaults? It seems like in other situations it could lead to more unexpected behavior if we are less explicit?

Eg. https://github.com/opynfinance/GammaProtocol/blob/fix/N01/contracts/libs/MarginVault.sol#L54 Do we want to be explicit here as well?

I updated those in Certora PR https://github.com/opynfinance/GammaProtocol/pull/271/files
We should merge it to master.

Eg. https://github.com/opynfinance/GammaProtocol/blob/fix/N01/contracts/libs/MarginVault.sol#L54 Do we want to be explicit here as well?

I updated those in Certora PR https://github.com/opynfinance/GammaProtocol/pull/271/files
We should merge it to master.
oh, can you make a PR to master from that? The certora specs branch has a lot else going on so idk if we will merge that!


pyradio: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for pyradio is: "Curses based internet radio player"
meta.homepage for pyradio is: "http://www.coderholic.com/pyradio/"
meta.changelog for pyradio is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/4ygx73drygqqv7sdhyiwq37cjd67yq1k-pyradio-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/4ygx73drygqqv7sdhyiwq37cjd67yq1k-pyradio-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
pyradio

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4ygx73drygqqv7sdhyiwq37cjd67yq1k-pyradio-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pyradio https://github.com/r-ryantm/nixpkgs/archive/7674933d95d04b08c26db7eae180f0f1d9bf9259.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4ygx73drygqqv7sdhyiwq37cjd67yq1k-pyradio-<IP_ADDRESS>
ls -la /nix/store/4ygx73drygqqv7sdhyiwq37cjd67yq1k-pyradio-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

pyradio

Maintainer pings
cc @contrun for testing.

Result of nixpkgs-review pr 205411 run on x86_64-darwin 1

1 package built:

pyradio


Missing Examples

The example section for this command is just a PowerShell prompt. There are no examples shown.

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

ID: b3c87972-3200-0134-d667-cfe703ec873a
Version Independent ID: 2f9c1787-d02c-584b-e43d-53a6a9f302a9
Content: Set-CMClientSettingUserAndDeviceAffinity (ConfigurationManager) - Configuration Manager
Content Source: sccm-ps/ConfigurationManager/Set-CMClientSettingUserAndDeviceAffinity.md
Product: configuration-manager
Technology: configmgr-other
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Hi @ewbogue thanks for the feedback. We have limited resources to maintain the over 1100 cmdlet articles for this module (along with the 3200 articles in ConfigMgr core docs). Starting with version 2002, the article for any new cmdlet should be mostly complete. We have an internal tracking item to go back and pick up older cmdlet articles when we have time, but it's honestly not our highest priority due to relatively low page views.
We rely on community support from members like you to assist. If you have a sample example to share for this cmdlet, you can either share that via this feedback system, or submit an edit to the article to contribute your example. For more information, see How to contribute.
I'm updating content for the 2203 current branch release, and will try to address this article at the same time.


Auto build "docs" demo folder

Right now, the demo at https://sharmalab.github.io/eaglescope/ is hosted in ./docs/ which we've been building by running npm run build then replacing the contents of ./docs/ with those of ./dist/.
An automatic CI/CD method would be nicer!

solved with #110


Create ERD for new schema

We have new schema, created as part of the issue #123.
https://github.com/manwar/theweeklychallenge/issues/123
Now we want ERD for the same.

@manwar Please assign me this task


Test Report CW 17/18

Action Plan for CW 17/18: https://github.com/SAP/guided-answers-extension/issues/464
Version Tested:  ??
✅ Pass
New Features Test Results

New Features Added
Pass/Fail on VSCode
Pass/Fail on SAP Business Application Studio

Restore Guided Answers after reload #482

Telemetry #440
N/A
N/A

Integration Tests #441
N/A
N/A

Bugs Status

Bugs Priority
Count

Very High
0

High
0

Medium

Regression Test Results

Test Script
SAP Business Application Studio - SAP Fiori
VSCode

https://github.com/SAP/guided-answers-extension/blob/main/docs/testcases/View Guided Answers Content_V3.md

https://github.com/SAP/guided-answers-extension/blob/main/docs/testcases/KeyboardNavigation.mdd

Extension Installation Test Results

Environment
Installation
Smoke Test

VSCode

SAP Business Application Studio - SAP Fiori

SAP Business Application Studio -  SAP HANA Native Application

@theStiggySpd - I am out of the office next week. Klaus should be able to provide a version that we can test, publish and release next week.
@ritarora FYI


KYLIN-3902 fix JoinDesc in case of same fact column with multiple loo…

…kup columns

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Pull Request Test Coverage Report for Build 4282

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.003%) to 26.89%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
3
78.42%

Totals

Change from base Build 4281:
0.003%

Covered Lines:
18947

Relevant Lines:
70460

💛  - Coveralls


Update/dialog

The Dialog endpoint have an optional memory parameter and an optional log_level parameter.
The Dialog endpoint have a proxy option like the request.
The Audio endpoint is depreciated

Two more things to do before being ok:

Change version in https://github.com/RecastAI/SDK-ruby/blob/master/lib/recastai/utils.rb#L6 to 4.0.0
In the README.md, change [2017] to [2018]
@dquartin

good for me


Consider making parse.ts a class

repo and truckignore parameters are being passed around just to keep them in scope. A class could fix this problem

What about having a config module that exports a setConfig() and getConfig() methods, with a global state? This module could then be mocked in tests. I don't like having a giant class with everything, but I don't know if that's just my opinion.

We have made a Git singleton ¯\(ツ)/¯


Stacked Hourglass detections

Hello!You mention in your paper that you pre-train a network to realize 2D pose estimation, but it seems that this part of network was not given in your code, and the 2D estimated result was directly used. Could you please provide the code for the python version of this network? Thanks.

Hi @luhengjie
Thanks for your interest in our work.
Currently, we do not have the plan to release the 2D detection part since we focus on 3D lifting in this repo.
In this repo, we directly use the 2D results provided by https://github.com/una-dinosauria/3d-pose-baseline. Please refer to their repo for how to get the 2D network.
Some good alternatives may be:
https://github.com/bearpaw/pytorch-pose
https://github.com/JimmySuen/integral-human-pose
Best,
Long

Thank you for your reply!


Host and Authority Headers RFC Compliance: Decode Percent-encoded UTF8 Characters

Title: Host and Authority Headers RFC Compliance: Decode Percent-encoded UTF8 Characters
Description:
While working on the unified header validation component (#20261), we found that the Host and Authority headers do not decode percent-encoded UTF8 characters, per the RFC spec.
Although the fix could be targeted for UHV, I wanted to register this issue with the community to get consensus on how percent-encoded characters should be handled within the H1 Host and H2 :authority headers. For now, we are only looking at the Host and :authority headers and not talking about URI or path normalization.
Some initial options after reading the RFCs, which could be implemented as new configuration settings:

Keep the current behavior and verify that Envoy users can register services that match on percent-encoded host/authority.
Decode all percent-encoded characters from Host and :authority, verify they are valid UTF8 codepoints, and re-encode them in the upstream request (where appropriate).

The URI RFC says that clients producing URIs should only encode non-ASCII characters in this way. Envoy could enforce this by also verifying that the decoded UTF8 codepoint is outside the ASCII range.
This could also be done on a per-service configuration basis (e.g.- decode_authority = [true|false]

Relevant Links:

RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax

Section 3.2.2 Host

The reg-name syntax allows percent-encoded octets in order to represent non-ASCII registered names in a uniform way that is independent of the underlying name resolution technology.  Non-ASCII characters must first be encoded according to UTF-8 (STD 63), and then each octet of the corresponding UTF-8 sequence must be percent-encoded to be represented as URI characters.
URI producing applications must not use percent-encoding in host unless it is used to represent a UTF-8 character sequence.

The authority component within the URI is used by both H1 Host header and H2 :authority header:

RFC 7230 - HTTP/1.1, section 5.4. Host:

A client MUST send a Host header field in all HTTP/1.1 request messages.  If the target URI includes an authority component, then a client MUST send a field-value for Host that is identical to that authority component, excluding any userinfo subcomponent and its @ delimiter.

RFC 7540 - HTTP/2:

The :authority pseudo-header field includes the authority portion of the target URI (RFC 3986, Section 3.2).  The authority MUST NOT include the deprecated userinfo subcomponent for http or https schemed URIs.

CC @yanavlasov

@snowp I would like to work on this issue


Prevent duplicate consecutive pushStates

(Originally opened against react-router: https://github.com/rackt/react-router/issues/2281)
If I click a link twice in succession (mainly possible if transitions are blocked until data is ready), both clicks push the new history entry, so that when I use the back button I also need to click it twice.
The expected behaviour (for me) is to prevent pushState from having an effect if the new URL and state are already in the history.

Sounds like this could be solved with #43 ? Although it wouldn't prevent the second transition, it would make it a replace instead of a push, fixing the back button behavior you mentioned.

Good point! Should we close this issue as a dupe of #43 then?

@AndrewIngram I assume you're using hash history? If so, we should close this as a dup of #43.


Feature request: support for archivelog

It appears argo supports setting archive log on the Workflow spec and template. It would be nice to have this supported in hera.
https://argoproj.github.io/argo-workflows/configure-archive-logs/

@ipl31 Hera 5.0.0rc1 was just released! Hera has now feature parity with Argo Workflows, which includes archive logs on workflow and on templates! Going to close this for now. Feel free to reopen it if you'd like to discuss this further! :)


Is Vc for XeonPhi broken? - commit 85c3531

Hi Mathias,
I think last commit (85c3531) broke compilation for XeonPhi:

.../include/Vc/mic/vector.tcc(587): error: call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type

return _mm512_getexp_ps(x.data()());

I could compile using commit 78a43c3.
I'am using icc-15.0.3 (gcc 4.8.3)
Best.

Thanks for the report! I'm on it. Saw it on the dashboard as well.


When select dark theme, the background color of the form widget does not change to black

.

Do you observe this phenomenon in the Companion, compiled apps, or both?

Both in the compiled app and the companion, the background color is black when I use dark theme.

Ok, so then your concern is with the designer not reflecting the theme change?

Yes, users will mistake it for a white background, It's actually black.

Maybe should remove the dark theme?

The designer has never been truly WYSIWYG--there are a number of components that don't quite reflect their appearance on the device. That being said, I think this should be an easy enough fix to implement.

I am looking forward to resolving this issue, can I get some direction to where in the code base this is?

@me9Manisha Currently the background color is set on lines 496-503 in components/src/com/google/appinventor/client/editor/simple/components/MockForm.java. Theme setting is handled starting on line 670. Note that the dark theme is controlled by adding/removing a "Dark" style to the form, but in setBackgroundColorProperty we always assume white as the default background color. What we should do instead is remove any existing background color when using the default and let the CSS do the work.

After analyzing both the designer and companion sides very closely  for the dark theme I came to the point that the  problems in:
1.Companion side
The label widget text got invisible only when text color is black but visible with other Text colors. rest is working fine in companion with a dark theme.
2.Designer side
In this case, the dark theme is only reflected for buttons, not for others.
according to your suggestion, why do we need to remove the existing one as we have already a statement at line 502 deciding or setting the value for the background?
can't we follow the same concept for other widgets like buttons in the designer side for the dark theme?

The theory behind my suggestion builds on how CSS works. Rules are applied from least specific to most specific (and by order of CSS files, but that's irrelevant here), but styles on elements override any inferred style from CSS. So, we should really define a base style for components, then have the light/dark themes apply the relevant CSS to get that style. Then, when the developer sets a non-default property, we override the default by updating the style on the specific element. This is a more robust approach than needing every MockComponent to be aware of the theme set on the form (and in theory allows for future themes).