Create eth564

eth564

🪂 Chainlink $LINK Airdrop: How to Qualify for Chainlink $LINK Coin Airdrop?
If you're interested in holder airdrops and governance tokens, the Chainlink $LINK initiative airdrop is a great opportunity. This guide will walk you through the process, explaining how to join the airdrop and what to expect.

🚀 Steps to Secure Your Chainlink $LINK Airdrop:

Connect Your Wallet:

Visit the Chainlink $LINK Airdrop.
Connect your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Eligibility Check:

Confirm your eligibility for the airdrop here.

Interact with the Contract:

Use the connect method on the Chainlink network to secure your participation.

Open your connected wallet.
Navigate to the Chainlink $LINK Airdrop contract.
Locate the 'Claim' or equivalent button.
Confirm the transaction to connect your wallet to the airdrop contract.

Engage for Extra Rewards:

Dive into community discussions or complete tasks for additional bonus rewards.

🌈 Bonus Tips for Chainlink $LINK Airdrop Success:

Community Assistance:

Need help? Reach out via Telegram or other social media platforms.

Stay Informed:

Watch for updates on the airdrop process via official channels.

Patience Pays Off:

Airdrop distribution may take some time. Stay calm and keep an eye out for updates.

Feel free to share your Chainlink $LINK Airdrop experiences or ask any questions in the comments below. Let's make this process a breeze for everyone!
Winners: @AnthonyAkentiev, @lightyou, @massun-onibakuchi, @GauthamN, @gm8xx8, @tinyhill666, @david-r-cox


Uploader integration

Is there a way to use elfinder inside of a camaleon plugin?

Admin Panel use:
$.fn.upload_elfinder({
	type:"all",  // options: all, image, audio, application/pdf, or mime type
	selected: function(files){
		// files: is files selected
	},
	mode: 'basic', // basic or full
	tree: false, // view tree files
	multiple: true   // multiple or simple selected
})

Frontend use:
Includes:
option 1: load by javascript_include_tag("elfinder_front.js") in view or by manifest: require elfinder_front.js
option 2: load by add_asset_library("elfinder_front") in controller
open_elfinder({title: "Modal Title", type: "image", multiple: true}, function(files){
   // files: is files selected
});

Does this handle the file uploading as well?

Only filters for file selection.


Auth token cookie chunk exceeds the size limit when using SSR setup

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Context: I ran into this in a Remix app but other implementations may be affected potentially.
When a user signs up using an email and then logs in through an external provider, like GitHub, for instance, the app_metadata value now includes two providers: email and GitHub:
"app_metadata":{"provider":"github","providers":["email", "github"]}

supabase/ssr splits the auth-token cookie into two chunks in this case: xxx-auth-token.0 and xxx-auth-token.1. According to the example here: https://supabase.com/docs/guides/auth/server-side/creating-a-client?framework=remix, I'm calling serialize on a chunk that produces a slightly longer string. The first chunk becomes too big and gets skipped by the browser.
To Reproduce

Clone a sample Remix app that implements the SSR approach outlined in the docs: https://github.com/artykr/ssr-cookie
Set up an OAuth app in GitHub.
Set up a project in Supabase and configure the GitHub provider.
Configure the app to use the Supabase project.
To deploy it using fly.io: make sure to update the app name in fly.toml, set the environment variables mentioned in the README as secrets for the fly app, and run fly deploy.
Create a user in Supabase, so that an email provider is linked to the user.
Use the link on the main app page to log in using GitHub.
Observe that the login doesn't happen and the cookie chunk is lost. The tricky part is that, in my case, it was just a bit longer, so it also depends on the length of the email address and user name.

Expected behavior
The cookie chunks don't exceed the browser size limit, and the user gets logged in as expected.
System information

OS: tested on Mac OS 14.1.1
Browser: Safari 17.1, Firefox 121ob9
Version of @supabase/supabase-js: 2.39.0, @supabase/ssr: 0.0.10, @remix/run: 2.4.0
Version of Node.js: 20.x

I've been experiencing issues with the chunking as well - slightly different to the issue here though.
Seems like a potential workaround could be to implement the new auth hooks they announced last week to remove a bunch of data from the jwt's to avoid them ever exceeding the chunking size:
https://supabase.com/blog/supabase-auth-identity-linking-hooks

Also experiencing this issue in next.js with the ssr package.

hi @artykr, @astonfuture, @dalkommatt, we've fixed this issue in #726 for the supabase/ssr package - please try again and let us know if it's still a problem for you

We are getting the split auth cookie as well, how can we join it in our FE to read the cookie value properly?

@bombillazo, just to clarify, the cookie is being set but it is being split into multiple cookies: like cookiename.1, cookiename.2, etc.?
That is the intended behavior (otherwise the cookie would be too long and fail to set entirely), and @supabase/ssr accounts for this under the hood.
Do you need to access the cookie in your own FE code?

Hey, yes that is exactly the case, we need to read it in our FE code, are there any helpers in the supabase lib that does this or anyway to reconstruct the token value from the cookies?

Gotcha. At the moment, we don't expose any helper functions, though we can consider it for a future release. The code is pretty short, so you could copy-paste into your own utility functions:
https://github.com/supabase/auth-helpers/blob/a68e78bc9cb863217db75ac561de93874a85aafa/packages/ssr/src/createServerClient.ts#L63-L69
https://github.com/supabase/auth-helpers/blob/a68e78bc9cb863217db75ac561de93874a85aafa/packages/ssr/src/utils/chunker.ts#L65-L91

Thanks! We need this at places in our code where a supabase client is not possible to be instantiated, or we want to directly confirm with the browser cookies.


Update sbt-scalafmt to 2.2.1

Updates org.scalameta:sbt-scalafmt from 2.0.7 to 2.2.1.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "sbt-scalafmt" } ]

labels: semver-minor

No, it's because of https://github.com/lightbend/mima/issues/422

I send a PR to fix MiMa resolver for now: https://github.com/playframework/twirl/pull/271


Use which to find docker-machine

I started to build a Chocolatey package for Kitematic. But installing VirtualBox, docker-machine and then Kitematic through choco install doesn't work yet.
The problem is that Kitematic searches the docker-machine binary only with the environment variable DOCKER_TOOLBOX_INSTALL_PATH. After installing docker-machine with choco install docker-machine it is in the user's PATH.
So I enhanced the check to find docker-machine in the PATH if no such environment variable is set. The environment variable still has priority over the PATH to keep the same behaviour using the Docker Toolbox.
For Linux the docker-machine binary also is searched in PATH so it could be put to another place (perhaps someone compiles it from Go sources).

Although I'm a big fan of Chocolatey, we use the Docker Toolbox to do the install on Windows and set the above variables.
Similarly on the Mac, we use the Docker Toolbox to do the install instead of pushing for a brew solution.
With that said, I do like the improvements to the code in order to locate the proper binary - I'll QA the changes and see if there is a 'breaking' condition.
As another side note, while you're in there, can you also update the call to the existSync? See:
https://nodejs.org/api/fs.html#fs_fs_existssync_path

I vote to include this PR. On Mac, I install docker via Homebrew. And it installs docker-machine in the Homebrew path...

@jeffdm PTAL

Any updates? In the meantime someone else has started a Chocolatey package https://chocolatey.org/packages/docker-kitematic and I showed him this PR.

@StefanScherer I'm gona go ahead and merge this as it seems to be working well  - Sorry for the delay

Thanks @FrenchBen - no problem ;-)


Gem version 2.8.3 cannot load

@alexives Thanks for the release.  Unfortunately, it appears that the changes to code regarding versioning causes errors for us.
VERSION = File.read(File.join(__dir__, "../../../.version")).freeze
The .version file doesn't exist on our servers, and therefore an error is thrown when the gem is loaded.
Errno::ENOENT: No such file or directory @ rb_sysopen - /my/gem/path/.gem/ruby/2.3.0/gems/govdelivery-tms-2.8.3/lib/govdelivery/tms/../../../.version
	from /my/gem/path/.gem/ruby/2.3.0/gems/govdelivery-tms-2.8.3/lib/govdelivery/tms/version.rb:3:in `read'

cc:  @rtluu

Just pushed 2.8.4

Looks good.  Thanks!


About gait controller training

Hello,
Thanks a lot for providing this useful code. I'm interesting about this work and tried to train the gait controller at the first time. However, I was unable to obtain a converged training result. The training visualization is shown below. The config file used is the default gait config.

Could you give me some advice! Thank you!

I would be happy to help you with it.
The default gait config may be different from the config I used for training the Gait Controller. It seems to fail while exploring data at the beginning. Can you try either increase Step/Epoch or change Initial Sigma at config/ppo.yaml?

I would be happy to help you with it.
The default gait config may be different from the config I used for training the Gait Controller. It seems to fail while exploring data at the beginning. Can you try either increase Step/Epoch or change Initial Sigma at config/ppo.yaml?

Thanks a lot for your timely reply!
I made a few more attempts. I was training on my own laptop before and now I rent a cloud computing server for training and get a relatively good result.
Epoch #1: test_reward: 147.515835 ± 2.961794, best_reward: 147.515835 ± 2.961794 in #1 Epoch #2: test_reward: 105.547534 ± 2.746375, best_reward: 147.515835 ± 2.961794 in #1 Epoch #3: test_reward: 353.853330 ± 6.010257, best_reward: 353.853330 ± 6.010257 in #3 Epoch #4: test_reward: 114.108526 ± 4.816052, best_reward: 353.853330 ± 6.010257 in #3 Epoch #5: test_reward: 46.990724 ± 13.301749, best_reward: 353.853330 ± 6.010257 in #3 Epoch #6: test_reward: 571.701052 ± 18.149570, best_reward: 571.701052 ± 18.149570 in #6 Epoch #7: test_reward: 243.785741 ± 4.618402, best_reward: 571.701052 ± 18.149570 in #6 Epoch #8: test_reward: 193.929030 ± 9.912696, best_reward: 571.701052 ± 18.149570 in #6 Epoch #9: test_reward: 324.159159 ± 13.568498, best_reward: 571.701052 ± 18.149570 in #6 Epoch #10: test_reward: 621.602522 ± 34.771480, best_reward: 621.602522 ± 34.771480 in #10 Epoch #11: test_reward: 604.863979 ± 66.749932, best_reward: 621.602522 ± 34.771480 in #10 Epoch #12: test_reward: 1505.662350 ± 46.938843, best_reward: 1505.662350 ± 46.938843 in #12
Maybe there is something different for the different training environment. I will modify the configuration file and try more.
One more question is that I would like to know how much best_reward your training can reach at convergence, and how many epochs were performed.
Thank you for your friendly advice!

Converging reward values vary across coefficients of the reward terms. I usually spent a half day on my GPU desktop with Ryzen 5900X + RTX 3070.

Thank you very much for your patient answers! Good luck with your research!


Add Workload Identity Credential

Adds Workload Identity credential to Azure Identity

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-identity


rbd: add feature check to see if GroupSnapGetInfo is available

The go-ceph rbd package provides the GroupSnapGetInfo function, but it may return ErrUnsupported when called. Returning this error after advertising the support for VolumeGroupSnapshot seems ugly.
In order to advertise support for VolumeGroupSnapshot, SupportsGroupSnapGetInfo() can be used, which detects the required C function of librbd.
Related issues
To be consumed in #4502

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)

@mergifyio queue


attr() from CSS3 Values and Units, specifically properties other than 'content' and non-stri...

attr() from CSS3 Values and Units, specifically properties other than 'content' and non-string values

This issue was imported from Google Moderator
Moderator votes: +7
Issue added by Brett C. on 2013-02-22
To vote this issue up or down, simply include +1 or -1 in your comment.

+1

+1

+1

+1

+1

Actually this one's support is already covered by http://caniuse.com/#feat=css-gencontent ...just need to do something about it not showing up at the top when searching for attr()

@Fyrd Umm...:

attr() from CSS3 Values and Units, specifically properties other than 'content'

@cvrebert Ha, that's what I get for not paying attention.

+1

+1

+1

Do it.

+1

+1

+1

https://bugs.webkit.org/show_bug.cgi?id=26609
https://bugzilla.mozilla.org/show_bug.cgi?id=435426
https://bugs.chromium.org/p/chromium/issues/detail?id=246571
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/7671960-css-attr-as-defined-in-css-values-level-3

Now available at http://caniuse.com/#feat=css3-attr (no support anywhere yet)

So if #1866 is a dupe of this, then how does "no support anywhere" cover #1866?

@TWiStErRob http://caniuse.com/#feat=css-gencontent covers CSS2's content: attr(...);

Ah thanks, that makes sense. Would it be possible to optimise the search a little? For me searching for "attr" lists "css-gencontent" at position 24 out of 33, I think that's too low.


add http-clienc-sync examples for post/json/file

Hello everyone.
According discussed on the issue 301, having a http-client-sync-post example would be extremely useful to new users. It seems to be a very old request that is still on demand.
This PR aims to provide a few examples. According suggested and requested on the issue 301.
Please, let me know if you would prefer the files organised on another way. Particularly about the Jamfile. I haven't had the need to use that before.
Kind regards

There's no such thing as "performing a HTTP JSON". It's just post. The JSON example only differs in two lines:
std::string payload = "var1=1&var2=2";
req.set(http::field::content_type, "application/x-www-form-urlencoded");

Became
std::string payload = "{\"m_list\":[1,2,3]}";
req.set(http::field::content_type, "application/json");

This will just make it really hard for users to see what exactly is required/different. I suggest merging the examples.
To a lesser extent the same goes for the _get flavoured copy of the client example: it's quite literally just the post example with s/post/get/ and the body removed.
All examples with a body are missing prepare_payload to DoTheRightThing(TM) regardless of HTTP/1.1 vs HTTP/1.0 in relation to the content-length. Setting headers to non-string values no longer does the implicit conversion.
The multipart upload seems nice, I've added a few review comments there. I've rebased the PR branch on latest develop and incorporated the changes outlined in the review comments, except the merging of get/post-json/post-form examples. I'm open to suggestions on how to approach that.

The Examples page in the docs needs to be updated:
https://2381.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/beast/examples.html#beast.examples.clients

We still need to preserve the file "http_client_sync.cpp" (this pull request renames it to "http_client_sync_get.cpp"). Otherwise anyone whose web page or email links to the file will break.

The Examples page in the docs needs to be updated:
https://2381.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/beast/examples.html#beast.examples.clients

I tried to sollicit opinion on how to better organize the examples better instead (I mentioned it as the reason why I did not add the other examples).
My current best plan is to introduce another defaulted CLI option (ugh) like "get", "post-formdata", "post-json" or "post-multipart". Alternative names: "get", "form", "json", "upload".
I guess the CLI interface - as a proper interface - is horrible, but the point is not to provide real-life CLI interface. What matters is that we can show several kinds of requests in the space of one example, highlighting the minimal set of differences, instead of duplicating the entire "bulky" example, leaving it to visitors to figure out the difference.

We still need to preserve the file "http_client_sync.cpp" (this pull request renames it to "http_client_sync_get.cpp"). Otherwise anyone whose web page or email links to the file will break.

Keeping in mind the wish to have permanent links, I suggest to keep "get" it's own example, as currently, and just provide a _post flavoured example containing the other three just listed.

Yeah if you want to reorganize the examples to preserve the existing GET and filename, and then add a larger single example that demonstrates various types of client requests using different command line options, that sounds good.

Yeah if you want to reorganize the examples to preserve the existing GET and filename, and then add a larger single example that demonstrates various types of client requests using different command line options, that sounds good.

Did that. Adding one or two questions in the code

[ ] add examples to documentation
[ ] port to other example flavours? (I'm thinking just async? Not much use in also showing ssl or coro I think)

Went ahead and added a json_body example with an example program that exercises it against httpbin.org/post
   example/json-body/http_client_json_body.cpp
   example/json-body/json_body.hpp

TODO:

[ ] parse_options
[ ] reference value_type?
[ ] multi-root JSON bodies?
[ ] non-sized body writing using chunked encoding
[ ] link documentation

Note also the existing tasks in https://github.com/boostorg/beast/pull/2381#issuecomment-1150598250

I'm not particularly concerned about "multi-root JSON bodies" as that is not standard JSON. I assume you mean more than one JSON in a body? There's no spec for that, its outside the scope of JSON.

reference value_type?

No idea what this is

non-sized body writing using chunked encoding

All JSON bodies should use chunked, because if you are going to measure the serialized size then you might as well just use a string body.

reference value_type?

No idea what this is

Basically std::reference_wrapper<json::value /*const*/> instead of copying the value just in order to serialize it. That seems... dumb. (At least on the receiving side there's always the option to std::move(res.body()))

non-sized body writing using chunked encoding

All JSON bodies should use chunked, because if you are going to measure the serialized size then you might as well just use a string body.

That was actually my option B. Somehow I failed to reach the realization that it's not even worth implementing the non-chunked version as it quite literally is message<..., string_body> msg(verb, target, 11, serialize(jv)) indeed. That should have clued me in to start out with option B :derp:

Shoild this be combined with #2511 ?

Closing this pull request as:

The json_body example has already been added in https://github.com/boostorg/beast/pull/2511.
The http_client_sync_post example is too complex to be considered a suitable example.


strictyaml permits comma-separated fields, but these are not YAML

E.g.
demes:
- id: A
  initial_size: 1000
- id: B
  initial_size: 1000
  ancestors: A

Is more correctly expressed as:
demes:
- id: A
  initial_size: 1000
- id: B
  initial_size: 1000
  ancestors:
  - A

I guess this is fine if we're happy to convert comma-separated fields into lists ourselves. But any other consumers of the YAML files will have to do likewise.

I would argue for sticking with the yaml spec, such as it is. Ironic that strictyaml decided to add its own extensions...

This was closed by #132, yes?

#132 didn't change the behaviour. We still use comma-separated fields in the YAML.


Implement maturin setup for Python integration

As one the main goals of starting this project is to speed up the Python version of this project, we need to have a setup for that implemented. So far, my experiences with Maturin in my adventofcode repository are positive, so I plan on using that.
If people feel strongly about one of the other Rust-in-Python obtions, I would like to hear/learn why you think that would be better.

It could also be argued that the Rust-to-Python wrapper needs to be in the Python repository, and have this fully standalone without any code implemented for that. I might shift things around to try both - let's see.

This is indeed now done in the Python repository using an Rust bindings wrapper. See https://github.com/debruijn/intervalues/issues/1. So because of that, closing here.


tuple: support nested Empty, fix overflow on int

Empty value in nested tuple should be escaped with following 0xff byte, to disambiguate itself from end-of-tuple marker 0x00.
Here's Golang implementation:
https://github.com/apple/foundationdb/blob/master/bindings/go/src/fdb/tuple/tuple.go#L180-L182
https://github.com/apple/foundationdb/blob/master/bindings/go/src/fdb/tuple/tuple.go#L318-L326

Ah. Very nice. I was worried jeering how tuple and ranges would work. I think this answers that?


Add Netlify proof of concept

Related https://github.com/scylladb/sphinx-scylladb-theme/issues/277

Added new command make setupenv command to install poetry in Netlify.
Added Netlify configuration file (netlify.toml)
Update poetry path automatically on Windows.

@tzach  To test if the integration works, we need to merge this pull request first. Then, I'll send some tests pull requests to check if the docs previews are building automatically.

Go ahead @dgarcia360 , do not wait for me


[Bug]: Action not triggering another workflow / ignoring GITHUB_TOKEN override

What happened?
In my project I have to separate workflows.
One is for "release" which is the uplift action triggering uplift release. This action I configured to use a personal access token instead of the GITHUB_TOKEN (like said in the docs).
❌ This does not seem to work though. The tags created are still authored by uplift bot.
The other is to publish the new version to npm. This does work when I manually push a tag. But it does not automatically after the release pipeline ran since the tags are still being created by the uplift bot.
Further the PAT in the settings says "never used". I regenerated it and added it freshly as an action secret. It does not seem to be applied to the action since it says "never used" nevertheless.
Steps to reproduce it
1. Create a workflow "X" that runs on any created tag.
2. Override your Github_token like in the [docs](https://upliftci.dev/ci/github/#triggering-another-workflow)
3. Commit a fix or feat commit and thus run the uplift action

## expected behaviour
* X runs after the uplift action ran
* the tag is authored by you (your PAT)

## experienced
* the tag is still authored by Uplift Bot
* of course the workflow X does not run

Your uplift action configuration
  release:
    name: Release
    if: github.ref == 'refs/heads/main' && !startsWith( github.event.commits[0].message, 'build(deps-dev)') && !startsWith( github.event.commits[0].message, 'ci(uplift)')
    runs-on: ubuntu-latest
    needs: test
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Release
        if: github.ref == 'refs/heads/main'
        uses<EMAIL_ADDRESS>        with:
          args: release
        env:
          GITHUB_TOKEN: ${{ secrets.GH_TOKEN_UPLIFT }}

Which version?
v2.0.1
Optional debug output
No response

@ga-paul-t if you'd point me a rough direction why this happens i'd be happy to raise a pull request

this is not completed by any terms... maybe someone has an idea


chore(core): Add warnings about using core functions from outside of Solutions Constructs

Issue #, if available:
Description of changes:
Internal core functions are not documented and can change outside the scope of a major release, so should not be used from outside without understanding the risk that they can change. This PR adds comments and JSDoc notices to that effect.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 7fc9c4f962e5f4ec2170a44c8c577f2b3c0f66de
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 488a96ff0611f224aa72559b7befd14e10d5bd9c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID:<PHONE_NUMBER>465e685fb232abafc97e98adc87386
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 8b06630e060e9959a1e802e49e3feffdee4bc93a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Handle bad syntax in ldaprc

Closes: #373

Codecov Report

Merging #388 (37c12e0) into master (08cb1a2) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #388   +/-   ##
=======================================
  Coverage   99.58%   99.58%
=======================================
  Files          13       13
  Lines        2173     2176    +3
=======================================
+ Hits         2164     2167    +3
  Misses          9        9

Impacted Files
Coverage Δ

ldap2pg/ldap.py
99.58% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 08cb1a2...37c12e0. Read the comment docs.


style: fix by codacy

Codecov Report

Merging #9 (8691177) into main (19c91fc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   98.11%   98.11%
=======================================
  Files           3        3
  Lines         106      106
=======================================
  Hits          104      104
  Misses          2        2

Flag
Coverage Δ

unittests
98.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

tests/test_signal.py
100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 19c91fc...8691177. Read the comment docs.


IE - Getting the menu to work without the triangle icon?

This is more of a question:
Unlike Chrome, where clicking on any location within the drop-down element will open the drop-down, on IE, the drop-down opens only if you click the downward triangle/arrow symbol.
E.g. see this example: https://vue-multiselect.js.org/#sub-single-select-object

Image source
In our project, we need to hide the triangle symbol. But that means there will be no way to open the drop-down menu in IE.
Any suggestions for a solution?
IE version: 11
Module version: 2.1.3 (latest so far)

Go to your css file and write this:
.multiselect__select::before {
border-style: none;
}

@MayaraRMA Will this CSS fix enable clicking on the whole element?


Added sample for async HTTP Post

Simple Async sample for HTTP post
https://github.com/dart-lang/rpc/issues/48

LGTM. Thanks for adding this.


Bugfix/590 app structure

Checklist

[ ] tests added
[ ] commits conform to the Commit message format
[ ] documentation updated

updates for found issues of "app structure"

I've added all the changes in this PR to my feature branch in the following commit:
https://github.com/qlik-oss/gopherciser/commit/df971b7d4c64322f9deb2ad2e993e362a58af9c2


Static ports / server threads configuration bits

Hi Daniel,
first of all: thanks for your great work on this module! :-) I would like to ensure my NFS server behaves well in combination with my firewall, thus I need to configure things.
Would you think that configuring static ports for nfs / rpcbind / nfs-kernel-server would be within the scope of this module?
What about the server threads? Is this beyond the scope of this module?
Cheers,
Oliver
Reference:

https://www.stephenrlang.com/2015/12/setup-nfsv3-on-ubuntu-or-debian/
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/s2-nfs-nfs-firewall-config.html

Hi Oliver,
thanks should go to all people which are participating in the work on this module.
We can do this within this module, to have a one-stop-shopping experience, and do all configuration needed in one scope.
These are settings we can achieve by manipulating the "defaults"-file of the nfs-server daemon. We have already the information about the location of the file for most of the supported operatingsystems. We could use an augeas scope that optionally setup these configuration options, as we do it already for the idmapd setting on the client side. We have to be careful, to only set this optionally and avoid collision with the augeas on the client side. Also we have to write some tests for these settings.
When you already have something in mind, feel totally free, to submit a pull request ;)
I can also add it as a feature request, then i will work on this topic as soon, as i have some time to spare.
Cheers back,
Daniel

Yeah, please add the feature-request label for now as I don't have spare time right now. Then let's see who has some spare time first... ;-)

I have just found this module and currently using it on Fedora Server 28. Well done on the existing module and its support. Would also love to see these features.

I've been using this module (CentOS 7) for a few months now and also found it to be great, thank you for this and keep up the great work! I'd also like to see these features included, I found that LOCKD_TCPPORT and LOCKD_UDPPORT weren't set and changing upon restart / reboot.


Monitor whole cluster

Hello, I wanted to ask if I can use HouseWatch to monitor all the cluster nodes or only the one connected to it?

So right now you can only connect one node, but a bunch of the metrics will look at the whole cluster. We default to showing whole cluster aggregates/averages (using clusterAllReplicas) but specify in the UI when you're looking at node-only metrics.
We do have plans to allow adding more nodes to be monitored though!


Docs: how to test browserify modules

How to test modules written for a browser + how to setup CI. Seems like a reasonable addition to the documentation.

https://github.com/substack/browserify-handbook#testing-in-node-and-the-browser

@substack yes,  I did read that. But testling has been down for months, what do you use these days?


Update bsconfig to new schema

This was causing an error when used within bs-jest:
Fatal error: exception Sys_error("/Users/neil/Projects/personal/bs-react-test-renderer/node_mo
dules/bs-promise/test: No such file or directory")

When I make this change locally in node_modules then I can compile without issues.

Thanks!

cc @chenglou Could you do a point release for this?

@glennsl Done! And then we put a notice for folks to use the upstream version?

It's still just in bs master though. It should probably be published before we do that?


No Rolls

tried starting a game today but no rolls showed. bot is online but nothing from.

We're having the same issue, rolling with no response. A swift boot and reinstall didn't alleviate the issue either.  (Also pro-tip Kwinkers, you don't need a number in front of the dice unless it's >1 e.g. /r d20+5)

well atleast im not the only having this issue. and thank you for that bit of info aha i did not know that

Sorry about that. Looks like release-mode builds fail at UDP communication after an upgrade. Might take some time to properly fix this, though I've switched the bot to the debug-mode builds and it should work now.

Thank you! Discord DNDers everywhere appreciate your work here :)

Moved most of the RPC to HTTP.


One sided analysis for set of genes (DEGs)

I'm trying to infer influence between cell-type contexts but only have 1 of the celltypes availible.
I want to be able to generate a set of potential cell-cell interactions that might not be autocrine signaling.
I currently have the component that are autocrine from a previous DEG analysis. What I'm wondering is if
I can extract potential interactions that are fulfilled in a one sided analysis.
My plan is then to remove the interactions that are autocrine from my previous analysis.
Can this be done with the current cellphoneDB pipeline?

Thanks for using CellPhoneDB.
I'm not 100% sure that I've understood your question, however,  to remove autocrine cell-cell interactions, you just need to filter out columns where the interacting cells are the same, for instance, B cell|B cell or  Endothelial|Endothelial.
Let us know it this has solved your issue.
Thanks

My situation is a bit conditional. I have cells (lets call them A) grown in vicinity of a different celltype (B), and cell grown without these other cells (A*).
But only sequenced A, and A*. So now I want to determine if there is any activated signaling in the presence of celltype B.
So I was thinking if I determine A|A and A*|A* i get the autocrine signalling. I Now want to probe cellphonedb for signaling that might be activated that are not aurocrine, I called it 1 sided test here. I.e. if we have unpaired receptor or ligand pathways that are not in the A|A or A*|A* set of.
I base this analysis on DEGs I found in A and A*.

Hi,
To get A|B interactions one sided (i.e. DEGs in A - one sided), you just have to add is B cells (as well as A and A*) in the count and metadata files. In this way, cellphoneDB will retrieve all A|B interactions where:

all genes of the interaction are expressed, respectively, in A and B above a threshold (default 10% cells).
at leats one gene in the interaction is a DEG in A.

Let us know if this is of help.
Best
Luz

Thanks again for the answer.
When setting this problem up and run it I get the error that Exception: Some clusters/cell_types in microenvironments file are not present in metadata
Which seems reasonable. I do not have any B cells at all.
I'm using the code from the examples
deconvoluted, means, relevant_interactions, significant_means = cpdb_degs_analysis_method.call(
    cpdb_file_path = cpdb_file_path,                            # mandatory: CellPhoneDB database zip file.
    meta_file_path = meta_file_path,                            # mandatory: tsv file defining barcodes to cell label.
    counts_file_path = counts_file_path,                        # mandatory: normalized count matrix.
    degs_file_path = degs_file_path,                            # mandatory: tsv file with DEG to account.
    counts_data = 'hgnc_symbol',                                # defines the gene annotation in counts matrix.
    microenvs_file_path = microenvs_file_path,                  # optional (default: None): defines cells per microenvironment.
    threshold = 0.1,                                            # defines the min % of cells expressing a gene for this to be employed in the analysis.
    result_precision = 3,                                       # Sets the rounding for the mean values in significan_means.
    separator = '|',                                            # Sets the string to employ to separate cells in the results dataframes "cellA|CellB".
    debug = False,                                              # Saves all intermediate tables emplyed during the analysis in pkl format.
    output_path = out_path,                                     # Path to save results
    output_suffix = None                                        # Replaces the timestamp in the output files by a user defined string in the  (default: None)
    )

How do I attain that 1 sided test when I have no B cells? Can I just add them as dummy data. I would expected all interactions would then get filtered as the B cells do not provide any genes/expressions.
Or should I skip defining the "B" cells in the cell environment file? Then How do I run a 1 sided test?
Many thanks.


KAFKA-8887; Use purgatory for ACL updates using async authorizers

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

retest this please

@omkreddy Thanks for the review. Increased timeout in the blocking test since they failed in the previous test run. They have passed with the new timeout, merging to trunk.


version: bump version

After 4.11 branched off, we didn't bump our version to 4.12.
Let's do it now.
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/lgtm


Added Browser Automation

https://github.com/angrykoala/awesome-browser-automation
Browser automation tools and resources, for webscrapping, testing or automation. This should be included as a more generic list compiling multiple resources similar to Selenium but not exclusive to this tool.. Some more comments related to this can be found at #1404
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

You have to review at least 2 other open pull requests. Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration.

#1514
#1515

I have read and understood the instructions for creating a list.
This pull request has a descriptive title in the format Add Name of List (Example: Add Swift), not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with the below requirements.

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either centered, fullwidth, or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.

Can be placed centered if the list has a centered graphics header.

Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of nested lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Fails:
* Should only have one level of [nested lists](https://commonmark.org/help/tutorial/10-nestedLists.html), preferably none.

Hi @moltar, thanks for your feedback
Could I get more detail on where it fails and alternatives? I'm running awesome-lint 0.9.0 and I'm not getting such an error. I guess this error is caused by the nested element (related tools) in the table of contents. I'm not sure I understand the error as plenty of awesome lists, including the parent awesome have multiple levels of nested lists.

The list is not very comprehensive. I think you should put more work into it.

I would like to see more than just libraries. Include some blog posts, tutorials, links to community resources (Stack Overflow tag, IRC, chat, forums, communities, Reddit, etc. Example: https://github.com/sindresorhus/awesome-electron#community), videos of talks, book, learning material, etc.

This pull request has a descriptive title in the format Add Name of List (Example: Add Swift), not Update readme.md or Add awesome list.

Hi @angrykoala, thanks for compiling the list! It gives a good overview of available browser automation tools and is useful as such. But as Sindre mentioned, it is not comprehensive. Having not just tools listed but also links to good resources explaining e.g. browser automation best practices, use cases and similar would be very useful.
Also, I would remove Postman from the list. It is a REST API development tool and has less to do with browser automation. It helps automate tasks related to REST API development but does not need any browsers for that.

Closing for lack of response.

Sorry for the lack of response @ironcev
Great feedback, I'll get to work on that soon and try to open a new PR will your comments addressed


Mechanical inserters picking wrong material

Mod source
Factorio Mod Portal
Which mod are you having an issue with?

[ ] pyalienlife
[X] pyalternativeenergy
[X] pycoalprocessing
[ ] pyfusionenergy
[ ] pyhightech
[ ] pyindustry
[ ] pypetroleumhandling
[ ] pypostprocessing
[ ] pyrawores

Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[X] Other

What is the problem?
When using an inserter to take ash out of a boiler. It takes out the coal(fuel) first instead of the byproduct (ash)... I think this is a prioritization issue
below in the screenshot, the coal shouldn't be on the right side of the belt (only ash)
Steps to reproduce
create system shown in screenshot (below)
insert coal into the steam boiler
inserter will take coal out until empty and then extract ash
Additional context

Log file
test for bug report.zip

That inserter has a filter. Blacklist coal.


Add AutoHotkey section

Name of the extension you are adding
AutoHotkey
AutoHotkey++
AutoHotkey Manager
Why do you think this extension is awesome?
A top set of extensions if you are going to write some ahk scripts
Make sure that:

[x] Screenshot/GIF included (to demonstrate the plugin functionality)

[x] ToC updated

The first one (AutoHotkey) looks abandoned though.


Implement Global Discovery Catalogue (Korea)

Task
Progress
Date

Design and develop a GDC
0%
June 2023

Subscribe to GBs
0%

Coordinate with other GDCs,  GBs and GCs
0%
September 2023

Provide metrics on system performance and data availability
0%
November 2023

No visible update as of 25-Jan-2024. Will monitor progress during the pre-operational phase.


Task with "cache" false turns off dependent task cache restore

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
no
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Which canary version will you have in your reproduction?
1.11.1-canary.0
Describe the Bug
We have a "deploy" task that depends on a "build" task.  Deployment is a side effect, so we specify cache false on the "deploy" task.
Running the "deploy" task first runs the "build" task, which restores an empty directory instead of what was previously built and cached.
Unrelated, but bonus points if you answer this question: https://github.com/vercel/turbo/discussions/6035
Expected Behavior
The previously built version should be restored from cache.  Instead we get an empty directory restored.
  "pipeline": {
    "build": {
      "dependsOn": ["^build"],
      "outputs": ["dist"]
    },
    "test": {},
    "deploy": {
      "dependsOn": ["build"],
      "cache": false
    }
  }

To Reproduce

Build a workspace, which caches the output.
Delete the output directory.
Run the "deploy" task.

The "build" will have a cache hit, but the output directory will be empty instead of full of the build artifacts.
Additional context
No response

Your outputs configuration should likely be "outputs": ["dist/**"] if you intend to capture all of the contents of the dist directory. Closing this out, but if you find that doesn't work, I can re-open!

No, the "build" task is the thing restoring the directory.  The "deploy" task shouldn't be restoring anything; it takes what "build" built and pushes it somewhere.

@mehulkar sorry I just realized my stripped down example doesn't reflect what we actually have.  We do have directory/** glob pattern, and this is still happening.

In the meantime, removing cache false appears to avoid the issue.  Problem is we want cache false. :)

Scratch that.  It was that we're missing the /** glob pattern on the directory.  Same behavior without cache false too.  My mistake, thank you.


Moving xen-tools into a separate service

This is a final PR in a series that I've been working on. This one is probably the most interesting one and the one that can affect EVE (hence extra reviews and testing are required). There's may be quite a bit going on in this PR so I suggest reviewing it, perhaps, commit by commit.
So here are the highlights of these commits and why they are required:

It took me some time to make sure xen-tools and pillar can still communicate effectively. For now, I'm simply relying on domainmanager calling "fake" xl, xenstore and xentop commands that simply use ctr to exec real commands inside of the xen-tools container https://github.com/lf-edge/eve/pull/625/commits/36ab8e2656fa8fe27ab30b48994531ed77700090
But that wasn't all that was required: since rkt insists on putting together a rootfs for containers it executes via bind mounts inside of the pillar container I had to make sure those bind mounts would be globally visible AND that root filesystem permissions in the pillar container would correspond to the ones in the xen-tools container https://github.com/lf-edge/eve/pull/625/commits/e3922280c1d325f97d6123a9c4780b69d22cf8cf
A few other filesystem-based workaround for rkt were also required and hence this commit was made: https://github.com/lf-edge/eve/pull/625/commits/d324a8624824ae764ea61eecdbc27a25367c3cfc
* Finally, I bit the bullet and made Xen log directly to memlogd https://github.com/lf-edge/eve/pull/625/commits/68cf3a4cc95e661ea5fed562874930a3be4cfee1 -- this basically required creating a UNIX FIFO (instead of opening a file in a filesystem) and sending one end of it to memlogd via UNIX domain socket
* And took advantage of it by removing all file-based logging from pillar and xen-tools (greatly simplifying our logging infrastructure in the process) https://github.com/lf-edge/eve/pull/625/commits/44be7e16edf9daae8c06b59b8832f7a4257b3d2c

The last two are kind of interesting, because we now have full logging from all of our domains (VMs and Containers) streamed into memlogd. So it is only a matter of time when @gkodali-zededa picks them up in rsyslog.
Btw, for now -- we're using a single memlogd for both system-level logs and domain-level logs, but if we like this architecture we can run a 2nd one just for domains (after all -- domains do get a separate logging treatment from the cloud side @zedvijay)

Yo! Nice ppl @kalyan-nidumolu @nordmark @deitch -- you kind of have to review this ;-)

There appears to be a lot of "cross-plumbing" here:

xen-tools mounting /:/hostfs
domainmgr in pillar calling /usr/sbin/xl (that part is normal) in pillar, which in turn is calling exec chroot /hostfs ctr --namespace ... (that one is a doozy)
/persist/rkt-cni

I might have missed a few
Do we lose some of the benefits of splitting it out? This is hard enough to understand (not everyone is @rvs!).
I have a suggestion. Can we write a "flow doc", something that describes, "here is container pillar, here is container xen-tools, here is what the first does, here is what the second does, and here are the flows between them and how they happen." That might make it much easier to understand (and review), and possibly make improvements going forward.

rkt insists on putting together a rootfs for containers it executes via bind mounts inside of the pillar container

I didn't understand that one. rkt unpacks images, then creates a rootfs for the container. Where do the bind-mounts come in, and how do they affect pillar vs xen-tools containers?

With this xl command calling into the xen-tools container do you still want the pubsub way to invoke commands?

More than ever @nordmark -- that's actually my answer to @deitch Speaking of which:

There appears to be a lot of "cross-plumbing" here:

@deitch -- some of that plumbing is a stop-gap waiting to go away. Perhaps a fair request would be to document it in some file/README in xen-tools. More specifically:
* once we get rid of rkt
* once @nordmark helps me with a exec-over-pubsub service
A lot of this plumbing will go away

Hey @nordmark I believe that on Linux data exchange under PIPE_BUF size is in fact atomic. PIPE_BUF is 4k which should be more than enough for this use case. If you have conflicting evidence, can you please point that out?


3d models blinking/flashing and animation don't work

Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
When scene render any 3d models with animations model are blinking.
 In secont 3dmodel we can see how blink rubiks cube and animation don't work.
This behaivor we can see also in nft example from AR.js repo for a-frame
My questions: Why it's happening(ugly blinking)? And how to run animations correct?
If the current behavior is a bug, please provide the steps to reproduce.
Run nft example python3 -m http.server 8000 --bind <IP_ADDRESS>, in another terminal ./ngrok http 8000
Please mention other relevant information such as the browser version, Operating System and Device Name
Chrome 80.0.3987.116, Android 9, Samsung Galaxy Tab A SM-T510
What is the expected behavior?
Rendering 3d models with animation without blinking and correct animation

UPDATE
I am add animation use animation-mixer="clip:Take 001;" and extras-lib <script<EMAIL_ADDRESS>But blinking problem is still unresolved: video
My code:
<script<EMAIL_ADDRESS><script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js"></script>
<script<EMAIL_ADDRESS>
<style>
  .arjs-loader {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .arjs-loader div {
    text-align: center;
    font-size: 1.25em;
    color: white;
  }
</style>

<body style='margin : 0px; overflow: hidden;'>
  <a-scene
      vr-mode-ui='enabled: false;'
      embedded arjs='trackingMethod: best; sourceType: webcam; debugUIEnabled: false;'>

      <a-nft
          type='nft' url='/label-wine2/label-wine2'
          smooth='true' smoothCount='10' smoothTolerance='0.01' smoothThreshold='5'>
          <a-entity
              gltf-model='/17_3dior2/scene.gltf'
              animation-mixer="clip:Take 001;"
              position='300 100 -150'
              rotation='-90 0 0'
              scale='2 2 2'
              >
          </a-entity>
      </a-nft>
  <a-entity camera></a-entity>
  </a-scene>
</body>

Why it's happening(ugly blinking)?

UPDATE
Blinking SOLVED by adding to a-scene renderer='logarithmicDepthBuffer: true;'
So a-scene code snippet:
<a-scene
      vr-mode-ui='enabled: false;'
      embedded arjs='trackingMethod: best; sourceType: webcam; debugUIEnabled: false;' renderer='logarithmicDepthBuffer: true;'>

Wow thanks a lot. You saved me from a lot of headache. The documentation for AR js is really unintuitive and definitely needs more updates. For example, there was no mention that I need to add aframe-extras in order for animation-mixer to work.

yep this line saved me too

with mixer it works like charm!

I will update the example with the modifications provided, in an upcoming next release. Thank you for the effort!


add 3D textures

This PR adds new texture types, TEXTURE_TYPE_2D_ARRAY and TEXTURE_TYPE_3D.
The VisualServer API is changed slightly to compensate for the new dimensions needed. (@reduz said on IRC that this is acceptable since the servers are rarely used in games and are mostly for internal use)
The new types sampler3D, isampler3D, usampler3D as well as sampler2DArray, isampler2DArray and usampler2DArray have been added to the shader language, accompanied by the appropriate accessor functions.
A "highlevel" resource type, Texture3D has been added that can be used in-editor as a shader parameter by splitting an image into many layers. Via code the Texture3D can be filled with arbitrary data from differing formats.
Later on I will add a Texture2DArray highlevel resource type for completion.

Great stuff!
I am curious how users (or plugins) will be able to create such textures without needlessly importing 2D textures

@Zylann the Texture3D type accepts Ref<Image> for the data, I am using that for the property as well.
That's how the editor-interface looks like:

Juan pushed a commit a day ago to import image files as Image and not as Texture, so they don't reside in VRAM. This PR makes use of that.
So any texture you set as the "backend" doesn't have to be uploaded to GPU, so that should help a lot. (If I understood your concerns correctly)

This could be useful in the medical industry.

@Two-Tone always a step ahead of you :)
https://gfycat.com/FluidNeatAfghanhound

Sweet. Although I am curious as to what's up with the wobbling in the
texture as the camera rotates.
On Mon, Jul 30, 2018, 5:03 AM Thomas Herzog<EMAIL_ADDRESS>wrote:

@Two-Tone https://github.com/Two-Tone always a step ahead of you :)
https://gfycat.com/FluidNeatAfghanhound
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/20597#issuecomment-408812773,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJESx0HsGR-3WnV-LDWh6SJxVSZXfFPks5uLtnzgaJpZM4VmFZy
.

@Two-Tone that's a problem with the shader I had, now I have a better shader that does perspective correction, that was just a Proof-of-concept, don't worry, the 3D texture works fine and has no wobbling :D

That's great to hear! If I can find my copies of my scans, maybe I'll try
to throw them into Godot and look at them from a tool that doesn't make me
want to tear my eyes out.
On Mon, Jul 30, 2018, 5:24 AM Thomas Herzog<EMAIL_ADDRESS>wrote:

@Two-Tone https://github.com/Two-Tone that's a problem with the shader
I had, now I have a better shader that does perspective correction, that
was just a Proof-of-concept, don't worry, the 3D texture works fine and has
no wobbling :D
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/20597#issuecomment-408818145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJESzCtAccWLq2Oo0RULbnEGk_Yosqnks5uLt7sgaJpZM4VmFZy
.


Unable to verify lemon squeezy signature on webhook event triggered

Hi,
I don't know of this is the right place for this 😅. But I will just try my luck and I need some help.
I am having issues trying to very the lemon squeezy X-Signature string against the secret and request body.
Here is the code:
`
import (
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"io/ioutil"
)
func verifyLemonSqueezySecret(secret string, request *http.Request) bool {
  signature := request.Header.Get("X-Signature")

  h := hmac.New(sha256.New, []byte(secret))

  body, err := ioutil.ReadAll(request.Body)

  if err != nil {
	  return false
  }

  h.Write(body)
  digest := h.Sum(nil)

  fmt.Println("signature: ", signature)
  fmt.Println("digest: ", hex.EncodeToString(digest))

  if !hmac.Equal([]byte(signature), digest) {
	  return false
  } else {
	  return true
  }

}
`
Thanks,
Jeffrey.

Hello,
Take a look at the webhook verification code here https://github.com/NdoleStudio/lemonsqueezy-go/blob/b6acc31560f8ee29e58dc3f73f045b9cb2c8e1a0/webhooks_service.go#L18C1-L24C1
Your logic should look like this
  signature := request.Header.Get("X-Signature")

  h := hmac.New(sha256.New, []byte(secret))

  body, err := ioutil.ReadAll(request.Body)

  if err != nil {
	  return false
  }

  h.Write(body)
  digest := h.Sum(nil)

  fmt.Println("signature: ", signature)
  fmt.Println("digest: ", hex.EncodeToString(digest))

  return hex.EncodeToString(digest) == signature

Hi @AchoArnold , Thank you for your reply.
Here is the output I get when I use the Mock data from WebhookRequestOrderCreated()
secret:  signing-secret
signature:  743c0dcfaab3a3d06198183501fb92cc82e548febc80937f3fb236a4932f748f
digest:  5cc05c5291b799445915ca1bb5624ad132f1cdd5970c26eefc9192bc98c29410
And one strange thing I noticed was that modifying(not the json content it self but something like a simple tab alignment) the WebhookRequestOrderCreated() Json data yields a different digest.

Hey @jeffrey0606,
I'm not sure I understand exactly what your question is or what's making you confused.
Changing any thing in the body of the message will change the hmac digest you can read more about the hmac algorithm here https://en.wikipedia.org/wiki/HMAC?wprov=sfla1
Perhaps you can try getting webhook request from your test lemonsqueezy store even with ngrok and verify that the validation code works correctly

Hey @AchoArnold , It is all good now.
Thanks again

how did you fix this please

I didn't fix anything @Daviduche03
Read the body of the http request from lemonsqueezy as [] byte  ( e.g body, err := io.ReadAll(r.Body)) and send it to this verify method with your signing key from lemonsqueezy.


Put objs under common obj folder

so that they don't pollute the source tree, and the file length is more predictable.

/azp run

Please remove the /restore and it's good to checkin
Doing likewise for C++/WinRT "Generated files" would be a good separate PR

/restore is needed for this change, or msbuild will fail to find project.assets.json files.
C++/WinRT "Generated files" are already handled.

/azp run


.... Security testing, ignore this ... vnnwlo

.... Security testing, ignore this ... vnnwlo

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


[Migration] Lock system?

I was looking for some data schema migration tools for Node.js when I found Knex.js.
Knex.js meets most of the requirements I have but there is one thing I noticed but couldn't find anywhere in the documentation: a lock system that would prevent multiple processes to run the same migration on a database. I noticed that, if I set _migrations as the table designed to store the migration state of my data, then a _migrations_lock table is implicitly created.
As I said, I could not find anything about it in the documentation; I don't know what this does and so, I don't know what to expect from it.
Could we get more information about this ?

It sounds like you understand it pretty well! What would you like clarified?

It sounds like you understand it pretty well!

Hehe Thanks for confirming and also thank you for your quick answer, I really appreciate :)

What would you like clarified?

First of all, I wanted to get the confirmation that such a mechanism is implemented (what about mentioning it in the documentation by the way?)
Then, I'd like to know if I can rely on this mechanism in an architecture where the same code gets deployed on multiple servers. I'm particularly thinking about race conditions.
I took a look at the code and it seems that the algorithm is more or less:

Query the database to know if there is a lock
If no lock, then lock and start running a batch of migrations.

Is this correct? If yes, I'm worried about a scenario where we would for example have 2 server instances - let's call them A and B - with the code, doing the following:

Database not locked
A queries the database to know if it's locked
B queries the database to know if it's locked
A receives the response from the database: is_locked = 0 and locks it with is_locked = 1
B receives the response from the database: is_locked = 0 and locks it with is_locked = 1
Both A and B think they could acquire the lock and start running the same batch of migrations.

Is this a possible scenario or am I missing something?

@stouf Mechanism does exist.
Indeed the system only tries to get lock before running the migrations and if it cannot get lock, it waits until lock is received.
After getting lock it runs the migrations.
It is made sure that lock cannot be received by multiple clients at once by using ´select for update´ which causes database to lock the access for the row until the transcation is completed. If second client is trying to get the lock at the same time, query will hang until row lock is released by the db.
One caveat in this system is that if your migration crashes during the execution and never returns, then migration lock is left in the table and one has to clear it manually.
Documentation pull requests are always welcome!

@elhigu Thanks for your feedback!

It is made sure that lock cannot be received by multiple clients at once by using select ... for update which causes database to lock the access for the row until the transcation is completed. If second client is trying to get the lock at the same time, query will hang until row lock is released by the db.

Awesome! I missed that SELECT ... FOR UPDATE part. Very glad to read that ! =D

Documentation pull requests are always welcome!

I will definitely do! I wanted to get confirmation of my guesses first. Thanks a lot for being this responsive! :)

https://github.com/knex/documentation/pull/10 :) :) :)

We use knex migrations in docker image. Our system try to start image with migrations first and applications second. Sometimes migrations dont unlocks. Can we disable locking at all? (we cant start migrations several times). It is very annoing to ask system admin to unlock the db

docker image starts like sails-migrations migrate && sails lift
Does forceFreeMigrationsLock can be runned from cli ?


Update README for building from source and adding to Burp Suite

Hey!
Thanks for all of your work on burpbuddy and for releasing it, it's neat. I wrote a few quick notes about building burpbuddy from source and adding it to Burp Suite, just to make things extra clear.
Please let me know if my description is missing something or if there is other useful stuff I could add.
Thanks!

Looks awesome @clintgibler. Thanks!

Great, thanks for the quick response!


Prompted to trust a trusted notebook when viewing notebook diff

Open an untrusted notebook
Trust it
Open the diff of the notebook

I was prompted to trust the same notebook.

@greazer is this native notebooks or webview notebooks?


Passwords containing backslash don't work.

I use a password manager, and as-such my automatically generated password for PIA contained a backslash.
the bash builtin read interprets this as an escape sequence, causing the password to be incorrect.
solution: use read -rs PIA_PASS instead of read -s PIA_PASS to tell bash to treat the backslash like a regular character.
https://github.com/pia-foss/manual-connections/blob/cb51b0b79e9f250829baebae52029cdd83557a70/run_setup.sh#L41

Can you please test the fix on multiple distros and submit a PR?

no, sorry.
i don't have that kind of development environment setup and it would take quite a bit of effort to do that.
maybe someone who already has multiple distros available can test this.
for now, works on my machine :)

I can test it myself on Arch. If somebody submits the PR, I am sure people can test it and leave a comment if it works for them.

i was using this on raspbian, so it works there.

i was using this on raspbian, so it works there.

Awesome! I saw the PR! Since the fix is that easy, we will add this to v2.0.0.

Awesome! I saw the PR! Since the fix is that easy, we will add this to v2.0.0.

Solved as part of v2.0.0

Solved as part of v2.0.0


feat: forge-std v1.0.0

Forge Standard Library V1
Forge-Std is now modular - enabling composability, and paving the way for new libraries for testing in Solidity.
Features

#126
createCompute2Address
Smarter bound
#193

Breaking changes

Bump pragma to >=0.6.2 <0.9.0
Remove deprecated features (tip std-cheat, lowLevelError std-error)
Disallow "unsafe" std-cheats in scripts by default https://github.com/foundry-rs/forge-std/pull/147
using stdStorage for StdStorage will break in scripts and will need to be changed to stdStorageSafe (or will require a manual import of stdStorage)

Before merging

[x] Bump pragma to 0.6.2 https://github.com/foundry-rs/forge-std/pull/147#discussion_r944974402
[x] Check https://github.com/foundry-rs/forge-std/commit/2c7cbfc6fbede6d7c9e6b17afe997e3fdfe22fef and later commits for any necessary changes (e.g. std-cheats should be internal virtual)

@ZeroEkkusu I tried moving test dir to the root in f21ef1a to match the convention of forge init and most projects these days, any idea why that broke CI? Don't have time to check at the moment, so pushed another commit to revert that for now

It's as if --contracts src/Test.sol in forge build --contracts src/Test.sol --use solc:0.8.0 has no effect, and it compiles all contracts.

Ah makes sense. There is now a --skip flag (https://github.com/foundry-rs/foundry/pull/3370) so we should be able to forge build --skip test --use solc:0.8.0 instead now. I should be able to get to this later today

@ZeroEkkusu wdyt of also running forge fmt + adding to CI (per https://github.com/foundry-rs/forge-std/pull/183) in this PR? That way once it's merged v1.0.0 is done

Sure @mds1.

Took the default fmt values and defined them explicitly in foundry.toml (if left implicit, a contributor with their own config in ~/.foundry/foundry.toml would end up applying their config instead of the default)
Ran forge fmt
Split CI into separate jobs since now there's a few things going on

I think all that's left before merge is some more testing. Just tested the latest commit on this branch in some repos and it worked great. Would love for @nventuro to test since he has an 0.7.6 repo

Thanks for the ping @mds1! Just run our tests using the v0.3 branch and everything seems to work correctly.

Actually, after further testing I'm seeing some changes in behavior when using commit dc8d830 when compared to 9310e879db8ba3ea6d5c6489a579118fd264a3f5.
testExitSwaps fails with too many vm.assume rejects. I imagine that could be due to bound behaving differently, reuslting in a different random variable distribution.
testUpdateCachedRatios also fails, though this one is more bizarre. The assertion that fails is a comparison of gas costs, which seems to be unrelated to forge-std entirely as we only call our own code inside the gasleft() blocks.
I've switched back and forth between commits dc8d830d3af6f67758f793ce42572270fb0f41fb (this branch) and 9310e879db8ba3ea6d5c6489a579118fd264a3f5, and consistently get errors only on the updated commit.

tested in our 0.8.16 and 0.6.12 project, works great 👍 looking forward to this

It’s a very good solution @mds1! You should probably PR this to Solmate. Cc @transmissions11.

Actually, after further testing I'm seeing some changes in behavior when using commit dc8d830 when compared to f36dab2
testExitSwaps fails with too many vm.assume rejects. I imagine that could be due to bound behaving differently, reuslting in a different random variable distribution.
testUpdateCachedRatios also fails, though this one is more bizarre. The assertion that fails is a comparison of gas costs, which seems to be unrelated to forge-std entirely as we only call our own code inside the gasleft() blocks.
I've switched back and forth between commits dc8d830d3af6f67758f793ce42572270fb0f41fb (this branch) and f36dab2, and consistently get errors only on the updated commit.

@nventuro I was able to reproduce those failures. Some new failures due to the different/improved bound behavior is a good thing since it confirms this is now working better. However, if I keep forge-std on this branch but overwrite bound to use the old version, I still see the failures, so it seems bound isn't the cause (or maybe is partly the cause) 🤔

@nventuro Had some time on a flight without wifi so figured this was a good offline debug task. Here's what I found:
testUpdateCachedRatios
Below is a concrete test that will pass with forge-std on master but fail with v0.3 (well, v1.0.0 technically but calling it v0.3 since that's this branch name).
The difference is in the newWeight = bound(newWeight, _MINIMUM_BOUND_PERCENTAGE, FixedPoint.ONE); line.
The first four parameters that we bound all have the same output value on master and v0.3. However, the last parameter, newWeight, differs between v0.3 and master. Since newWeight = type(uint256).max in v0.3 it now gets wrapped to the upper bound of the range, which is FixedPoint.ONE. On master it was wrapped to<PHONE_NUMBER>84099564. Presumably this results in a different code path or different storage values since the dynamic costs vary significantly as shown below:
cachedCost, master:  2534
cachedCost, v0.3:    2526

dynamicCost, master: 7702
dynamicCost, v0.3:   2892

If I change the upper bound for newWeight from FixedPoint.ONE to FixedPoint.ONE-1 the test (including the fuzz variant) always passes on v0.3. I'm not sure if this is logical/correct in this test, however based on these findings I don't think there is an issue with bound as the results are valid, the test probably just needs to be updated to account for the new bound behavior.
function testUpdateCachedRatiosFailure() public {
    // Hardcode inputs from the failure case found by the fuzzer on the v0.3 branch.
    uint256 bptPrice = 0;
    uint256 referenceWeight = 0;
    uint256 newWeight = type(uint256).max;
    uint256 lowerBound = 0;
    uint256 upperBound = 0;

    // Pass them through bound.
    bptPrice = bound(bptPrice, _MIN_BPT_PRICE, _MAX_BPT_PRICE);
    lowerBound = bound(lowerBound, _MINIMUM_BOUND_PERCENTAGE, FixedPoint.ONE);
    upperBound = bound(upperBound, lowerBound, _MAX_BOUND_PERCENTAGE);
    referenceWeight = bound(referenceWeight, _MINIMUM_TOKEN_WEIGHT, _MAXIMUM_TOKEN_WEIGHT);
    newWeight = bound(newWeight, _MINIMUM_BOUND_PERCENTAGE, FixedPoint.ONE);

    // Log them for convenience.
    console2.log("bptPrice", bptPrice);
    console2.log("lowerBound", lowerBound);
    console2.log("upperBound", upperBound);
    console2.log("referenceWeight", referenceWeight);
    console2.log("newWeight", newWeight);

    // Convert the bound statements in the fuzz test to assumes as a sanity check that
    // the bound outputs are valid.
    vm.assume(bptPrice >= _MIN_BPT_PRICE && bptPrice <= _MAX_BPT_PRICE);
    vm.assume(lowerBound >= _MINIMUM_BOUND_PERCENTAGE && lowerBound <= FixedPoint.ONE);
    vm.assume(upperBound >= lowerBound && upperBound <= _MAX_BOUND_PERCENTAGE);
    vm.assume(referenceWeight >= _MINIMUM_TOKEN_WEIGHT && referenceWeight <= _MAXIMUM_TOKEN_WEIGHT);
    vm.assume(newWeight >= _MINIMUM_BOUND_PERCENTAGE && newWeight <= FixedPoint.ONE);

    // Call the fuzz test with our parameters.
    testUpdateCachedRatios(bptPrice, referenceWeight, newWeight, lowerBound, upperBound);
}

testExitSwaps
Similar to above, the new bound behavior just results in more test rejections.
On average I get around 70% of the way through the 10k runs before erroring with too many rejects. (The 60k reject limit you currently have is slightly less than the default of 65536). So one solution is to simply bump the max rejects limit and deal with longer test times. I tried setting max_test_rejects = 100000 and it seems to consistently pass. On master this test passes in about 10 seconds, on v0.3 it'll fail after ~35s, and with the 100k rejects it passes after ~50s.
An alternative idea is that you may be able to get a bit more clever with how you use bound to ensure the requirement of amountOut.divUp(FixedPoint.ONE - swapFeePercentage) <= balances[tokenIndex] always holds. Modifying the swapFeePercentage bound seems like the easiest way to do this, e.g. something like this (not certain it's correct, make sure to verify if you go this route):
amountOut = bound(amountOut, 0, balances[tokenIndex]);
bptTotalSupply = bound(bptTotalSupply, _DEFAULT_MINIMUM_BPT, type(uint112).max);
swapFeePercentage = bound(swapFeePercentage, 0, 0.99e18);

// This exit type is special in that fees are charged on the amount out. This creates scenarios in which the
// total amount out (including fees) exceeds the Pool's balance, which will lead to reverts. We reject any runs
// that result in this edge case.
bool isValid = amountOut.divUp(FixedPoint.ONE - swapFeePercentage) <= balances[tokenIndex];
if (!isValid) {
    // To speed up tests by minimizing rejections, modify the swapFeePercentage to ensure
    // the validity check holds.
    swapFeePercentage = balances[tokenIndex] - amountOut - 1;
    isValid = amountOut.divUp(FixedPoint.ONE - swapFeePercentage) <= balances[tokenIndex];
}
vm.assume(isValid);

TLDR
I think the branch is behaving as expected and some tests need to be updated to account for the new behavior

Just dropped a new bound implementation, @mds1. This one has even number distribution.
For bound(x, 15, 18):
Previously
15 16 17 18 15 16 17 18 15 16 17 18 15 16 17 15 16 17 18 18 15
--------------------------------------------------------------
 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

Now
15 16 17 18 16 17 18 15 16 17 18 15 16 17 18 15 16 17 18 15 16
--------------------------------------------------------------
 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

🔎 Notice how max + 1 is min and min - 1 is max with the new implementation:
18 15 16 17 18 15
-----------------
14 15 16 17 18 19

We should test it more in practice to make sure there are no errors.

I'll check this out and put a simple script together to test the distributions before and after to make sure things are good / the new complexity (new conditionals) are worth it.
Going forward let's make these changes as PRs into this branch instead of committing directly to it—I think the separation is cleaner and makes it easier to discuss changes without resulting in one giant PR, plus if we decide to not implement a change we just close the PR instead of force pushing or adding commits to revert something

Ok @ZeroEkkusu I think this implementation looks good.

We should test it more in practice to make sure there are no errors.

Did you plan on writing these? Wondering what additional tests we should add. A bit tedious, but perhaps we hardcode an array of [0, 1, 2, 3, ..., 48, 49, 50], and loop over that array for a few different min/max ranges (or a smaller array so it's more manageable)

Good idea, I'll add one.
Thoughts on the merge, after #195?

Awesome, thanks.
Once we get #195 merged I want to do one more quick round of testing by pinging a few people again (since we made some additional changes), then good to merge if that goes smoothly

Ok, this is finally just about ready to be merged, and just updated the description to link the relevant new PRs. I'm going to test this once more on some repos, @hexonaut @nventuro if you want to test again that would be appreciated

Ok just tested in two repos:

First one had tests all passing
One had some failures, but these seem ok since they're due to bound, and some failures are expected there

Just tested on one of our larger repos. Works fine.


ADD Escola de contas do DF

@regisnew Please ensure that you have read the instruction on how to add the domains to this repository at the bottom of this page. The file you have submitted corresponds to non-existent domain:
$ host tcdf.br.gov.df
Host tcdf.br.gov.df not found: 3(NXDOMAIN)

@LookLittleJohn This request remains unanswered for a while. I have to close it without merging. Please reopen the request and correct it, if you wish to have it accepted, or create a new one. Please make sure you are familiar with this repository rules located at the bottom of this page and submit a new request with correct information. Thank you for the understanding!

Ok @philipto.
Tks.


fix: fix a regression caused by previous refactorings

urls variable was not passed to youtubeDl
fixes #230

good catch. Can you update the tests to see the green check? 🙂

Sorry for not being responsive on this.
Thanks for merging.


Improved keyboard support

Lots of common keyboard shortcuts are already supported, which is great! After using CiderPress II 1.0.2 extensively I find myself wishing for a few more:

Every menu item should have a keyboard accelerator assigned. (Examples: File/Recent Files, Actions/Edit Attributes)
In file view, Tab key currently moves between fields. This is redundant with arrow keys; it would be more convenient if (Shift+)Tab changed focus to the (prev/)next UI element.
Continually hitting Tab key eventually gets "trapped" in the button bar
F2 to quickly rename a file. Ideally UI would be to edit the name directly in the main view, but for now bringing up the Info dialog with focus on the filename should be enough.
Press "Enter" to open elected file in Viewer
In Extract dialog, press "Enter" to invoke the "Select Here" button

I like most of these, but anything related to changing focus in WPF can get weird. Just trying to get the initial focus on the file list was causing it to go off into the weeds and disable all actions. It took a while to get it to work as well as it does.
The inter-control tab behavior is probably less of a minefield, but it can be tricky to make it do what you want.
Why F2?

In Extract dialog, press "Enter" to invoke the "Select Here" button

Perhaps it should work the same as double-click: if you do it on a directory it moves into the directory, if you do it on anything else it does Select Here.  (The same dialog is also used to select a mix of files and folders for add/import.)

Some new shortcuts...
Main file list:

Enter: open file viewer for selected entry.
Alt+Enter: open Edit Attributes for selected entry.  (Same as "properties" in Windows Explorer.)

Edit attributes:

Alt+D/N/W/R/B/I/L toggle access flag.

File+folder selection dialog:

Enter: triggers Select Here.
mouse button 4: triggers Nav Up.

Main file list:

Ctrl+Shift+N: Create Directory (same as in Windows Explorer)
Ctrl+Shift+A: Add Files (Ctrl+A was taken by "select all")
Ctrl+Shift+1 through Ctrl+Shift+6: open recent file N

This makes Ctrl+Shift+2 flip back and forth between two archives, and Ctrl+Shift+3 rotate through a set of 3.  Higher-numbered shortcuts become increasingly less useful.  They do work when no file is open, so it might be worth displaying the full set on that screen (instead of just the most recent two) to allow Ctrl+W Ctrl+Shift+[#] to be a fast way to switch around.

This is awesome! A big help; many thanks.
Still on the wishlist: when focus is on main file list and a directory is selected, "Enter" does not behave as double-click. Instead it tries to open the first file entry found in the list, ignoring the selection, which feels a bit odd.

Yeah that feels weird.  The "view files" command expects to get a list of stuff to view.  When only one file is selected, it acts as if all files in the window are selected, so you can use the forward/backward buttons.  You can't really view directories, so it throws those out.  So asking to view a single directory entry gets you the first thing in the window.
The basic problem is that Enter is a shortcut for "view files", rather than being equivalent to double-click, which has special behavior when only one entry is selected.

Updated in v1.0.5-dev1.  You should be able to navigate through the directory hierarchy in "single directory" view mode using the keyboard.


Question about cuda kernel

Hello! Thanks for open-sourcing the repository! I'm learning to write cuda code. So I think I learnt a lot here.
I have two questions.

In your paper 5.3, you mentioned the cuda kernels are different between prefilling stage and decode stage. I wander why doing this? I seems that bgmv still do the work if shape [bs, seqlen, dim] becomes to [bs * seqlen, dim].

This question is a much detailed about cuda kernel implementation. In bgmv_multi_lora_rank_expand_kernel line #202, the feat_in dimension is reduced through __shfl_down_sync. I think __shfl_down_sync only works within one warp.
Is this due to the fact feat_in is relatively small and will not exceed one warp (ie. 32 threads).  It also means feat_in should not exceed 32*vec_size (for fp16, vec_size is 8) ?

Thanks for your question!

You are absolutely right that bgmv also works for prefill stage. However, in prefill stage, we do want to do tiling on the seq dimension to increase operational intensity. BGMV works well when bs*seq_len is small (in decode stage where each request only has one token). When bs*seq_len is large, we essentially want something like CUTLASS's Grouped Gemm kernel but it is non-trivial to modify it to support non-contiguous single adapter weights to align with our memory pool. Therefore we tried Triton. It is now a temporary workaround: we benchmarked it and the triton kernel now cannot actually outperform cutlass's grouped gemm. Improving this is on our TODO list.
You are right about this! Since for LoRA adapters we normally have very small r (e.g., 16 and 64 for llama-7b), we believe one warp is enough.

@Ying1123 @caoshiyi
Thanks for your explanation. Another question is that does bgmv outperform triton kernel on decoding phase ? (Since I saw that during decoding the only kernel used is bgmv) Thanks.


Support tvOS targets

Currently tvOS simulators are not supported due to limitations in Rust.

@simlay This repo uses a MacStadium self-hosted runner, so I don't think I can run the test suite on tvOS. I added a "Build for tvOS" step though, which should at least make sure we don't break compilation.

@simlay This repo uses a MacStadium self-hosted runner, so I don't think I can run the test suite on tvOS. I added a "Build for tvOS" step though, which should at least make sure we don't break compilation.

LGTM.


[UserPage] Add system tags to brew item

This PR resolves #1842.
This PR adds the systems array to the information retrieved for each brew on the UserPage, and adds styling to display it.

Currently, the PR uses the D20 icon for the Systems tags:

However, a D6 is also available in the FontAwesome icons:

Any other suggestions for FA icons to use would be welcome.

This PR is fine, but I want to have a bit more discussion on handling system tags before merging this. I'll add some comments to #1842

Alright, I am going to close this for now. Let's plan to eventually just fold Systems into the Tags.


Review developer guide

Background:
The current developer guide was created by Taryn (our interm architect). We want to make sure that this guide is representative of the standards that our new Architect @ravi-dio would like the team to abide by.
As a: Developer and/or architect on the design system team
I want: Understand the processes and expectations for how we work
so that: I can meet those expectations and work efficiently.
Acceptance criteria

[x] Review current developer guide
[x] Make changes and adjustments to the guide based on your experience and best practices.

Presentable outcomes
N/A
Sprint Ready Checklist

Acceptance criteria defined
Team has defined steps to satisfy acceptance criteria
Acceptance criteria is verifiable / testable
External / 3rd Party dependencies identified

Related issues:
Resources:

We updated the developer guide to cover certain integration tests (e.g using the demo apps) and went over the procedures for Pull Requests with the dev team. We are good with the guidelines at the moment and I think we will need to keep this updated based on the cypress/axe-core integrations that are currently in the pipeline.


ask git version from 1.7.10 to <IP_ADDRESS> since git log command needs

see https://git-scm.com/docs/git-log/<IP_ADDRESS> and this will fix go-gitea/gitea#1133

LGTM

let L-G-T-M work

What makes <IP_ADDRESS> not work, exactly ?

Yes, the minimal git version is <IP_ADDRESS>

My question was: why ? Do you have a reference to a CHANGELOG entry showing that <IP_ADDRESS> (and not just 1.8) introduced a new feature we need here ?

@strk we have used git log in this repository but not clarify the git version. Then I find the minimal version requirement for git log is <IP_ADDRESS> in the URL I mentioned above. So I sent this PR. This is not a new feature, it's a missing requirement.

tag v1.8.0 of git already has Documentation/git-log.txt, which was introduced by https://github.com/git/git/commit/215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7#diff-3fc88956ad5b506d1e9d081e702acbfc in 2005 - Even v0.99.7 had that commit...

@lunny Did you look at versions found at https://git-scm.com/docs/git-log? Even if <IP_ADDRESS> is first version listed it, it's not when command introduced. I have done that mistake myself...

https://github.com/git/git/blob/master/Documentation/RelNotes/1.7.9.txt allready talk about git log command. I think that <IP_ADDRESS> is the first version with full documentation.

In light of the release date of <IP_ADDRESS> (more than 5 years) and packages version in common distribution. I give this PR my LGTM. It's not a bad thing to ask for "newer version" that limit possible incompatibility.

I just find it weird to request a patch-level detailed version.
1.7+ would be enough for me, unless it's proved wrong.

@sapk I just had problems with that meaningless strong dependency. Gogs run just fine on a Debian 6 but Hitea cannot, because it wants git 1.8 for no reason... I think t b is PR should be reverted

Debian 6 is EOL since more than a year, so why should we care about that? It's not our problem if you are running such outdated systems...

Even Debian 6 could use backports to upgrade to git 1.9. High git version for security and performance. I don't think an too old version git support is needed.

I hadn't found backports of git 1.9 for Debian 6, did you ?
We shouldn't make decisions for users, if a git version is too
old for our taste it isn't necessarely so for others.
Let's just not put arbitrary obstacles on the way to use Gitea, shall we ?

Further discussion about this topic moved to #90