[AIRFLOW-1442] Remove extra space from ignore_all_deps generated command

My PR addresses the following Airflow JIRA issues and references them in the PR title.
Fix extra whitespace in the ignore_all_deps arg which was causing commands to fail.
@saguziel

lgtm

lol 👍

Codecov Report

Merging #2468 into master will increase coverage by 0.53%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2468      +/-   ##
==========================================
+ Coverage   69.34%   69.87%   +0.53%
==========================================
  Files         146      146
  Lines       11331    11764     +433
==========================================
+ Hits         7857     8220     +363
- Misses       3474     3544      +70

Impacted Files
Coverage Δ

airflow/models.py
87.32% <100%> (+0.04%)
:arrow_up:

airflow/jobs.py
78.48% <0%> (+2.14%)
: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 f1f022c...374e97b. Read the comment docs.


make it run on apple silicon

weird problem with grpc https://github.com/grpc/grpc/issues/25082

I'm failing miserably to build this lib after several days of trying ...
https://github.com/grpc/grpc/issues/25082#issuecomment-876021382
How do I use this patch because vers 1.39.0rc1 does not work for me?

@dgaedcke if you use m1 chip , try export those
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
export CFLAGS="-I/opt/homebrew/opt/openssl/include"
export LDFLAGS="-L/opt/homebrew/opt/openssl/lib"

@twocucao My apologies I'm pretty new at that but, where would you export these?

@twocucao thank you for providing that example. Now, I'm getting the following error:
We expect a missing _needs_stub attribute from older versions of setuptools. Consider upgrading setuptools.
I have it installed but I'm wondering if its because I have Mac OS 12 beta versions.


Update FontAwesome to v5.13.0

Description
Update FontAwesome to v5.13.0
via //cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/js/all.min.js
Type of change

[ ] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
wx.maxwelldps.com

Closing this one and opening a new one, just reforked #365


"Launch must be a POST"

When i open the index.php  this output is recieved
"Launch to launch.php to get started"
So i launch launch.php but it shows
"Launch must be a POST"
I have seen launcher.php file with two buttons Go and Go Deep. And by clicking this will redirect me to launch.php with 2 fatal errors.
can any one help me execute this script.

We will discuss this out-of-band. It's less a library issue and more of a general LTI thing.

ok @jrissler

@jrissler hi james , when i try this code i encountered some issue. can i get some support.

@MartinLenord - do we need more instructions here? I'm assuming you would need a platform in RI or elsewhere to actually do the POST launch to launch.php?

Yes, the master branch is still a little out of date and may not work (as there was a move to the OIDC which is on another branch) that code still needs cleaning up before pushing it to master.
There is the launcher.php that does a launch to launch.php, but with the recent changes, i'm not sure if that will work.

@jrissler   Hi , For the time being do we have any way to integrate our LMS to cengage. Haven't find any way for cengage integration with LTI. please help me.

@claudevervoort may be able to help you there :)


to operator

scala> SafeLong(2) to SafeLong(80)
:36: error: value to is not a member of spire.math.SafeLong
SafeLong(2) to SafeLong(80)

Closing this due to a long period of inactivity. Please consider opening a new issue or reopening this PR to restart discussion. We're very sorry for the possible inconvenience. See #674


More support runtimeargs

This PR adds a lot more support for different runtime argument types, but not the ones that are recursive (list, arrays, tuples).

For now we will only support token transfers only, the branch runtimeargs should be kept alive to see if we can use that code later again.


feat(codegen): validate __TAURI_ISOLATION_HOOK__ is referenced

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[ ] No

Checklist

[ ] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[ ] I have added a convincing reason for adding this feature, if necessary

Other information

maybe we can find a nicer, more precise way to do this in the future for exact error messages.  For now I see how this can be useful


Killing the code from the outside...

Hi,
I was just wondering whether, once you send lua code to be executed... So I have a C++ program which loads lua code, which does things. ... Is it possible to kill lua code in mid execution from C++? Is there any handle to lua? For instance, something like
lua.Abort() .... where lua is the object of sol::state.
Thanks!

Hi again! Thanks for your reply and patience!
Hm, std::terminate() would stop my entire program, and I have a c++ program
which is like a "player" of Lua programs.
Well, let me describe my situation. So, as I pointed out, I use Lua as
Domain Specific Language (DSL), however, some specific functions I have
implemented in C++ and then I expose those objects to Lua. So, I use Lua's
language constructs, but I make it control stuff, through C++ objects. So
my program would be, simplified, like this:
if my_cpp_object.successful() == 1 then
my_cpp_object2.doStuff()
end
However, my code can get stuck in "my_cpp_object" implementation. So, what
do I do? I use the debug function form Lua, and after each line of code
executed, I check whether everything is ok, by evaluating my observers. If
some of them report an error (i.e. in the my_cpp_object I raise an event on
a dispatched thread if stuff goes wrong). So, since the debug function from
Lua only triggered when the line of code is changed, and my C++ object is
stuck, I have everything stuck.
My option is to, either create another controller thread (because I don't
want a full stop of my C++ management program, I just want to restart Lua),
or... I would benefit from lua.Abort() which would terminate Lua execution.
So, I could catch that event and restart...
I might be nitpicking here, but I was mostly wondering what would be the
best approach in the spirit of Sol2... I have alternatives, as you
suggested, or as I pointed out with some monitoring threads, but it seems
to me that Abort function would be a perfect and clean solution. Am I
missing something?
Cheers!
On Wed, Jun 10, 2020 at 10:19 PM The Phantom Derpstorm <
<EMAIL_ADDRESS>wrote:

std::abort(), std::terminate() already have this behavior.
https://en.cppreference.com/w/cpp/utility/program/abort
Are you looking for something special?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ThePhD/sol2/issues/977#issuecomment-642235513, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6W6XBVZPGIDYFVSMY65OLRV7TFVANCNFSM4N2MTLDQ
.

You're missing the part where, if you can't jump out of the code...
how do you expect me to jump out of your code?
"Steal execution from a process and kill it" is the domain of the operating system: "just implement a Lua abort" is not something I can "just" do, and it does not even help here because it's not the Lua machine that's stuck, it's YOUR code. How can you expect me to literally freeze your program's execution at some arbitrary and undetermined time when I am not the operating system responsible for system resources?
 Use a real debugger to figure out why your "code is stuck" (it should not be, you are in control of that, please take the time to figure it out and don't fork that responsibility onto me, a library maintainer). Or, implement the controller thread and do the (very dangerous) act of doing work on a single thread with a handle you can invoke a kill on.

Hi,
I am sorry if I agitated you with my comments. By no means do I insist that
you implement the abort function, I was just wondering why it doesn't
exist. I know that you probably have good reasons, I just wanted to
understand a bit more... With your response, I think I do.
I know that there is an issue from my end, and I've been using your library
for two years now, and it has been a great and reliable tool for me. So
thanks!
The thing is, that from my end, abort would be a simple and, to be fair, a
dirty fix. But, you are right, there is a lot of ways I can prevent
this from happening.
Thanks for your patience, keep up the good work!
Cheers!
On Thu, Jun 11, 2020 at 12:32 PM The Phantom Derpstorm <
<EMAIL_ADDRESS>wrote:

You're missing the part where, if you can't jump out of the code...
how do you expect me to jump out of your code?
"Steal execution from a process and kill it" is the domain of the
operating system: "just implement a Lua abort" is not something I can
"just" do, and it does not even help here because it's not the Lua machine
that's stuck, it's YOUR code. How can you expect me to literally freeze
your program's execution at some arbitrary and undetermined time when I am
not the operating system responsible for system resources?
 Use
a real debugger to figure out why your "code is stuck" (it should not be,
you are in control of that, please take the time to figure it out and don't
fork that responsibility onto me, a library maintainer). Or, implement the
controller thread and do the (very dangerous) act of doing work on a single
thread with a handle you can invoke a kill on.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ThePhD/sol2/issues/977#issuecomment-642559468, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6W6XAQJDLZUDQ2ZRNLCH3RWCXCJANCNFSM4N2MTLDQ
.

Maybe you could consider using Lua's instruction count hook:
lua_sethook(lua, HookFunc, LUA_MASKCOUNT, 1000); // interrupt Lua execution after every 1000th Lua VM instruction

static void Hook(lua_State *L, lua_Debug *)
{
	if(some_external_condition_indicates_that_the_code_should_terminate)
		luaL_error(L, "STOP!");
}

Hi,
thank you for your response. I already use debug hooks, however, as you
pointed out the instruction hook, I think I'll refresh my memory on Sol2
internals and hooks. As ThePhD pointed out, and as I am aware, the problem
is from my side, and I will solve it. From my understanding, it was
intuitive that stopping Lua execution would exist, however, I need to look
into it a bit more to find out why I am wrong! Anyway, you've guys been
cool, and thanks for the support!
Cheers
On Thu, Jun 11, 2020 at 8:13 PM Saga Musix<EMAIL_ADDRESS>wrote:

Maybe you could consider using Lua's instruction count hook:
lua_sethook(lua, HookFunc, LUA_MASKCOUNT, 1000); // interrupt Lua execution after every 1000th Lua VM instruction
static void HookFunc(lua_State *L, lua_Debug *)
{
if(some_external_condition_indicates_that_the_code_should_terminate)
luaL_error(L, "STOP!");
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ThePhD/sol2/issues/977#issuecomment-642848909, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6W6XG7FTNKB6H2KIWPTG3RWENE3ANCNFSM4N2MTLDQ
.

@sagamusix Thank you! This is exactly, what I required.
Unfortunately, it appears as if raising an error within the hook, prevents the hook from being reusable, at least with Sol.
(L->allowhook does not get reset, because the exception handler leaves that function.
But it somehow should be doable, as the normal Lua CLI also does it that way.
There it's being reset in luaD_pcall)
Generally, regarding this topic:
I don't think that this has to be a developer problem.
I intend to provide a scripting API for an application for users at some point.
And unless I want to over engineer everything, running Lua in the same thread as the rest of the code is necessary.
(Otherwise, I'd have to launch a new thread just for Lua, then create message dispatchers that look like the "real" class, then synchronize these to the main thread)
So this conflict, between stability even though user scripting is enabled and code maintainability is perfectly alleviated with just having this timeout.
A very specific example here, a user provided blitting function should not take longer than 100ms. If it does, we're already way past acceptable limits. The whole application would be frozen beyond repair, by just one bad user script. By limiting it to 100ms, I can ensure, that the application at least does not completely freeze and remains usable aside from visual bugs.

Alright, so I got it working this far, by setting up a timer using SIGEV_THREAD_ID on Linux, to trigger only on the Lua thread (quite possibly optional, but I'd prefer to avoid data races), then install a hook to execute on the next instruction.
Then on that instruction I check if the time has actually passed (also quite possibly optional, as the timer has been setup already, but knowing signals, spurious wake-ups might be a think).
When the time has passed, I put an error on stack and remove the hook.
For this to work, it's necessary to use a protected function, as otherwise the exception handler will make it jump out of the hook handling code and prevent us from re-entering, as allowhook is never set back to 1.


docs(travis): Correct the docs to also show how to do it on Xenial

Take two, replacing #3315 with the commit message as specified too.

Thanks for merging. Does this only get onto the website when you cut a new release then? The site still has the old info currently (for both 4.0 and 3.0):
https://karma-runner.github.io/4.0/plus/travis.html

@peternewman Deploying documentation is a manual process currently. But docs in this repo are the source of truth, so it will get to the website at some point.

Great thanks @devoto13 , I assumed it would be GitHub pages autodeploy given the URL, or is it more involved than that? Travis can do some clever stuff now if that would work (aside from the direct deployment via GitHub):
https://docs.travis-ci.com/user/deployment/pages/

Rendered docs live in another repo - https://github.com/karma-runner/karma-runner.github.com, so somebody (maybe you :smile:) will need to go there, run sync-docs.sh and submit a PR. Once merged it will be deployed automatically.


feat(NumberTheory/ArithmeticFunction): add generalisation of moebius inversion

The standard version of Moebius inversion can't be used when the equalities only hold on a subset of the natural numbers (e.g. the squarefree numbers). Add variants of all the Moebius inversion results that generalise to well-behaved subsets of the naturals.
See https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Moebius.20Inversion.20on.20a.20subset.20of.20.E2.84.95

sum_eq_iff_sum_smul_moebius_eq_on_prop is entirely my own work. The last three proofs are minor modifications of the proofs they generalise. Given the length of the proof, perhaps prod_eq_iff_prod_pow_moebius_eq_of_nonzero should be proved using its generalisation. I haven't done this as I wanted to avoid touching ported code.

bors merge


Dmesg logs

See: https://github.com/vinyl-linux/vinit/issues/19 and https://github.com/vinyl-linux/vinit/issues/16
Our current logging method can lead to us losing visibility of some logs when agetty kicks in.
Often this means losing useful context in times of error. Similarly, because these logs are only written to tty1, we're unable to see vinit logs unless we have direct access to tty1 (and the logs haven't been pushed off screen).


Add parallelization

closes #177

Also add a section about the new feature being in preview and not ready for production use in the docs.

Where do you think I should put it ?

Also add a section about the new feature being in preview and not ready for production use in the docs.

Where do you think I should put it ?

good point, I am not entirely sure. There's no dedicated section I can think of, but perhaps add it to the kpops --help? what do you think?

Also add a section about the new feature being in preview and not ready for production use in the docs.

Where do you think I should put it ?

good point, I am not entirely sure. There's no dedicated section I can think of, but perhaps add it to the kpops --help? what do you think?

but isn't already there?

Also add a section about the new feature being in preview and not ready for production use in the docs.

Where do you think I should put it ?

good point, I am not entirely sure. There's no dedicated section I can think of, but perhaps add it to the kpops --help? what do you think?

but isn't already there?

where do you see that?
To me it only shows

--parallel / --no-parallel: Enable or disable parallel execution of pipeline steps. If enabled, multiple steps can be processed concurrently. If disabled, steps will be processed sequentially.  [default: no-parallel]


[DE] localize Cluster

Describe your changes
A new approach to localize the term Cluster
Related issue number or link (ex: resolves #issue-number)
#1407
deprecates #1967
Thanks @bjoernschotte for the contribution, this is a new approach. I opened a new issue in order to update the English term accordingly. #2210
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Thanks @iamNoah1 for the excellent cooperation. Really appreciated that.
I assume that English language is the leading branch, so advancements in localized branches have to be pulled back to the English branch in order to achieve better consistency.
Not sure if you evaluated toolings for this (I saw some slack message about this), maybe there are some toolings for l10ns which could help improving consistency.
Further thinking: If there are n:1 PRs re 1 english term (i.e. multiple suggestions from different branches) there will be some coordination effort, too.

Thanks @iamNoah1 for the excellent cooperation. Really appreciated that.
I assume that English language is the leading branch, so advancements in localized branches have to be pulled back to the English branch in order to achieve better consistency.
Not sure if you evaluated toolings for this (I saw some slack message about this), maybe there are some toolings for l10ns which could help improving consistency.
Further thinking: If there are n:1 PRs re 1 english term (i.e. multiple suggestions from different branches) there will be some coordination effort, too.

see #2210

@DaveVentura hab die suggestions eingebaut. Können wir noch einen review von @bcubk bekommen bitte :)


fix: explicitly include cstdint for gcc13

Description
Explicitly include cstdint for gcc13.
Related links
https://tier4.atlassian.net/browse/RT2-1669
Notes for reviewers
Compiling with gcc13 does not result in an error, but given that changes in gcc13 have changed the header dependencies of the C++ standard library, this behaviour may change in future versions, so cstdint was added explicitly on this occasion.
Pre-review checklist for the PR author

[x] I've confirmed the contribution guidelines.
[x] The PR is ready for review.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR has been properly tested.
[ ] The PR has been reviewed.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 55.05%. Comparing base (75e1c3f) to head (6ce2efb).
Report is 21 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #293       +/-   ##
===========================================
+ Coverage   25.02%   55.05%   +30.03%
===========================================
  Files          58       28       -30
  Lines        3321     2185     -1136
  Branches     1085     1215      +130
===========================================
+ Hits          831     1203      +372
+ Misses       1756      702     -1054
+ Partials      734      280      -454

Flag
Coverage Δ

differential
55.05% <ø> (?)

total
?

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

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


uses-material-design: true is unnecessary

I don't use material design in my app to reduce the size of the build. The package uses material design and I get a warning:
package:just_the_tooltip has `uses-material-design: true` set but the primary pubspec contains `uses-material-design: false`.
If the application needs material icons, then `uses-material-design`  must be set to true.

This is not actually used anywhere in the package. Please remove it (:

any updates? ..


Uninstall

Any easy way to uninstall this?

The easiest way to remove the script from your Mac is by running the following command:
rm /usr/local/bin/mac


tld list from http://data.iana.org/TLD/tlds-alpha-by-domain.txt

fixes #38

.sydney & .melbourne +1

Closed in favour of #51


should it export edge runtime from client component?

Does it make sense to use edge runtime in a client component? I'm genuinely curious as it doesn't seem to make intuitive sense but I cannot find any explicity mention of it in the nextjs docs
// app/page.tsx
'use client'

export const runtime = 'edge'

It's a workaround to address a streaming issue that only occurs on Vercel.
I've commented on the issue, but I'm not sure if this is the correct solution.
https://github.com/vercel/ai/issues/1187#issuecomment-2064115795

Ahh... I think you should remove the use client. I forgot to remove it after creating the Chat component.

Removed. Thank you for pointing that out.


SQL issues utf8mb4

Hello,
I have tried to install it, but I get this, is
$ php artisan migrate
In Connection.php line 664:
SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character s
et: 'utf8mb4' (SQL: select * from information_schema.tables where table_sch
ema = petrk_edpaper and table_name = migrations)
In MySqlConnector.php line 56:
SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character s
et: 'utf8mb4'
Can you help?

It seems that your database doesn't allow the utf8mb4 charset, which is needed for some special characters in pastes.
Can you give me more infos on your OS ? Are you using MySQL ?

I could identify the problem through a blogpost by someone who had the same problem.
My hoster is Uberspace and Im on a CentOS 6 Shared Host where MySQL 5.1.73 is in use.
As alternative I can use MariaDB, but is your EdPaper working with MariaDB or not?

Yes, the demo on paper.edra.ovh is running on MariaDB

Alright, I have set it up, the php artisan migration worked successfully, but Im facing the issue with the public folder.
I have running it on a subdomain edpaper.xxx.de but even by setting in the public folder RewriteBase / to the .htaccess, it doesnt work.
Do you have any idea what the reason is?
Thanks

Glad to know that MariaDB worked with you too :)
What do you mean by "it doesn't work" ? Can you give me the error in apache's log ?

I dont get more information from the error log
[Sun Mar 18 23:30:29 2018] [error] [client xx.xx.xx.xx] Directory index forbidden by Options directive: edpaper.xxx.de
[Sun Mar 18 23:30:29 2018] [error] [client xx.xx.xx.xx] Directory index forbidden by Options directive: edpaper.xxx.de
By opening the subdomain edpaper.xxx.de I get a forbidden.
It work when I got on edpaper.xxx.de/public/ but login function doesnt work, due it want to open edpaper.xxx.de/login but this doesnt work due Im in edpaper.xxx.de/public/
So I dont know what the problem cause.

Is your DocumentRoot pointing on the public directory ?

Im not sure what you mean exactly.
On the server I have the subdomain on /var/www/virtual/petrk/edpaper.xxx.de
the DocumentRoot is in the /var/www/virtual/petrk/html/ folder, I think

Your subdomain needs to be on /var/www/virtual/petrk/edpaper.xxx.de/public/

Hmm, I dont understand this.
I have edpaper.xxx.de as subdomain folder, but I can only get a page when I open edpaper.xxx.de/public/ but there I can not login, because the login tries to open edpaper.xxx.de/login
So it doesnt work.

Go to config/database.php and replace these two lines with these
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',`

source : https://stackoverflow.com/questions/41835923/syntax-error-or-access-violation-1115-unknown-character-set-utf8mb4

Thanks for adding this solution, but I dropped the interest in it and chose another solution. Thanks anyway


feat: update langchaingo to latest and add gemini

What type of PR is this?
/kind feature

What this PR does / why we need it
go.mod update is traced by https://github.com/kubeagi/langchaingo/pull/3

update to tmc/langchaingo latest(current is tmc/langchaingo@22159ce)
add https://github.com/tmc/langchaingo/pull/617
add https://github.com/tmc/langchaingo/pull/639
we are behind 233 commits: https://github.com/kubeagi/langchaingo/compare/dev...tmc:langchaingo:main

There are 2 main upstream feat changes: refactoring the LLM interface in preparation for multi-modal models, and the addition of the Google AI model gemini, which we can use in the github action test.
And many bugfix.
Which issue(s) this PR fixes

Fixes #739
Close #745
Special notes for your reviewer

@Abirdcfly  Next we should consider https://github.com/kubeagi/arcadia/issues/779


added Snail Game 🐌

PR Description 📜

The Snail Game is a simple web-based board game designed for complete beginners to have fun and engage in a friendly competition.
The game involves racing colorful snails to reach the finish line first.
Each snail is represented by a specific color, and players take turns rolling a virtual die to advance their snails on the track.
The first snail to cross the finish line wins the game.

Fixes #2471

Mark the task you have completed ✅

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

Add your screenshots 📸

Working Video 📽
https://github.com/kunjgit/GameZone/assets/100849696/551f77da-b29a-40ba-96fb-c1418eaf6c7d

Thank you soo much for contributing to our repository 💗

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

@gurjeetsinghvirdee Can you review this PR!

@gurjeetsinghvirdee Can you check now!

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


Some MeiliSearch v0.21.0 related changes

https://github.com/meilisearch/integration-guides/issues/117
change:

Ranaming of buildDate into commitDate
New update status value
attributesForFaceting is renamed into filterableAttributes
Rename fieldsDistribution into fieldDistribution
filters is renamed into filter
facetFilters is removed

Since we don't have answer of the contributor, I merge and I will apply the changes myself :)


Let's add model Request and use it into action of Controllers

Now:
public function actionUpdate($id) {
    $request = Yii::$app->request->post();
    $model = new FormRequest();
    if ($model->load($request) && $model->validate()) {
         someProcess($model);
    }
    // ....
}

Propose:
public function actionUpdate(FormRequest $model) {
   /**
    * $model always valid, if not throw BadRequestHttpException or user handler...
    */
   someProcess($model);
}

Your thoughts ?

Could be useful but making it mandatory kills controller simplicity.

public function actionUpdate(FormRequest $model) {

Using GET / POST , how $model could be populated?

magic...
There is get body raw also, put, delete, and post & get together....

This issue about always valid model in action. Need or not?

Form, Request, POST/GET, Model...
«All in one» as my shampoo.
I think there's too much magic here.

Not only, because Yii should hide logic within populating data from action, without developer can see it. At last, thrown an exception when sent data is not valid, I think that it is not an usual case.


Support execute dataframe with compose in both local and distributed mode

What do these changes do?
Fix serialization of  DataFrame's columns and support execute DataFrame with compose=True.
Related issue number
fixes #408
fixes #409

Will this completely solves #175 ?


How can I make the builtin types italic (or different color)?

Description
I am trying to make the builtin types in italic (or different color) to be able to distinguish them better.
Neovim version?
nvim v0.10.0
What should happen?
No response
What happened instead?

:Inspect when the cursor is on 'int'

and this is when the cursor is on 'int32'
#include
#include <stdio.h>
#include <unistd.h>
#include <stdio.h>
#include
#include <assert.h>
#include <errno.h>
typedef unsigned int int32;
typedef unsigned short int int16;
Your configuration
return {
  "scottmckendry/cyberdream.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("cyberdream").setup {
      transparent = true,
      italic_comments = true,
      hide_fillchars = true,
      terminal_colors = true,
      borderless_telescope = { border = false, style = "flat" },
      theme = {
        variant = "auto",
        overrides = function(colours)
          return {
            TelescopePromptPrefix = { fg = colours.blue },
            TelescopeMatching = { fg = colours.cyan },
            TelescopeResultsTitle = { fg = colours.blue },
            TelescopePromptCounter = { fg = colours.cyan },
            TelescopePromptTitle = { fg = colours.bg, bg = colours.blue, bold = true },
          }
        end,
      },
    }

    vim.cmd("colorscheme cyberdream")
    vim.api.nvim_set_keymap("n", "<leader>tt", ":CyberdreamToggleMode<CR>", { noremap = true, silent = true })
    vim.api.nvim_create_autocmd("User", {
      pattern = "CyberdreamToggleMode",
      callback = function(ev)
        print("Switched to " .. ev.data .. " mode!")
      end,
    })
  end,
}

Thanks for raising, @emrebengue!
I've made some small changes to the base theme to provide a bit more distinction base on your feedback. Here is what it looks like on the latest commit:


Call AsyncContinuation in Target.Write method

Thanks for the PR, what does calling the continuation do?

Afaik, it tells the caller that Write has finished its async write. Every other Target in the NLog assembly calls it, so I assume it should be called. I couldn't find an up2date documentation, only an old blog http://nlog-project.org/2010/05/09/asynchronous-logging-in-nlog-2-0.html
https://github.com/NLog/NLog/blob/master/src/NLog/Targets/Target.cs#L499


Proposal change to the copied code

Description
We are currently opening an alert to let you know that the code has been copied. My proposal is to improve the user experience by informing on the button itself that the code is already copied in its transfer area. If this change makes sense, we create this action for the others copy buttons.
BEFORE

AFTER

that looks good, would you like to apply to all so it's consistent? perhaps a custom hook for the job.

Yeah. Make sense create for all. I'll change the PR.

@bluebill1049 I created a component ClipBoard, the function of this component is just render a text and change a label with COPY and COPIED
I change on this pages/components:

[x] Get Started

[x] Dev Tools

[x] Builder page

[x] CodeArea

I searched the whole project and couldn't find any more alerts modal with clipboard.

thanks a lot for making this happend. 👍

Thanks you for this beautiful library!


patched InjectorClient.js for compatibility above nodejs version 6.3.1

Despite the console log "Error: No NativeModule in target scope", which still needs addressing, this patch does enable it to work, with latest (nodejs 6.9.0)
many others to recognize for this @Virtual-Machine @asi-jmasson @dbreese

Okay I thought there must be something else people are using now. That makes sense, thanks.
node --inspect your.js
seems to be integrated now.


Dockerfile: upgrade to CitusDB 4.1

Note that the install path is 4.0.1 to keep it binary path compatible,
but it's officially 4.1.

We need to push this to dockerhub as well: sudo docker push heap/citus-docker:v005 after building.


[[Node: pool_3 = AvgPoolT=DT_FLOAT, data_format="NHWC", ksize=[1, 8, 8, 1], padding="VALID", strides=[1, 1, 1, 1], _device="/job:localhost/replica:0/task:0/cpu:0"]]

iOS App - I have changes All the file name and Size , but still getting below error.
Source Code URL:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios/camera
Changes Code : const int wanted_input_width = 229;
const int wanted_input_height = 229;
const int wanted_input_channels = 3;
const float input_mean = 128.0f;
const float input_std = 128.0f;
const std::string input_layer_name = "Mul";
const std::string output_layer_name = "final_result";
computed output size would be negative
[[Node: pool_3 = AvgPoolT=DT_FLOAT, data_format="NHWC", ksize=[1, 8, 8, 1], padding="VALID", strides=[1, 1, 1, 1], _device="/job:localhost/replica:0/task:0/cpu:0"]]
Please suggest what we are doing wrong .
In build pb and txt are working fine (imagenet_comp_graph_label_strings.txt, tensorflow_inception_graph.pb)
but created new pb and .txt is not working(rounded_graph.pb and retrained_labels.txt).
Note: I also rename the pb and txt file ,

@petewarden, @andrewharp can you comment on this?

My Mistake, Fixed Issue.


Can not run sphinx-build or access any sphinx plugins

recently I have changed my github actions work flow to use conda packages instead of package installed via pip to more closely align with my development environment for my project's github action workflow. For some reason I sphinx is unable to run sphinx-build commands or find sphinx extensions that were installed via conda.
link to my project's github action workflow
link to the environment.yml file which list the dependencies that were installed prior to running the command
One solution possible to this is to run the conda init command or append the file location /opt/conda to the $PYTHONPATH environment variable. I have tried both and neither solution seems to work while using github actions. My understanding is that setup-micromamba should do this for the user anyways.
Can some one please advise me as to how to get sphinx working using conda packages in a github actions/runner environment?

You need to specify your shell in following commands, see https://github.com/mamba-org/setup-micromamba?tab=readme-ov-file#about-login-shells

if you add this to the top of your github workflow, it should work
defaults:
  run:
    shell: bash -el {0}

you can also get rid of actions/setup-python@v4 as micromamba environments come with a separate python version

Thank you

Thank you


Verify DEV environment against Twilio account

As a notification developer, I want to automate the authorization and sending of requests so that I can verify that I can send texts/emails in the dev environment.
Acceptance criteria:
GIVEN Twilio account exists, notification-api is running, and celery workers are running,
WHEN we use postman to send a text message request with notification-api
THEN text message is received.
WHEN Postman post request is sent to notification-api
THEN response shows 200.
Checklist:

[x] Research provisioning admin account
[x] Create shared postman collection to automate auth and sending
[x] Provision organization and test service for this use case (live mode)
[ ] Add API key + Twilio credentials to AWS parameters store
[ ] Receive successful response when text is sent
[ ] Check in postman collection to the repository

to communicate with the server the config values are used to generate token.  To use the create_jwt_token('<config value for key>', '<config value >'). These values should be added to the secrets. To run the code on local computer we had to install ntp as jwt relies on clock syns.
The CDS-SNC product manager confirmed that users are manually promoted by running DB scripts, a flag in the user record.

Created user, organisation and service, along with pre-request script to generate auth token
Added to created Postman collection, which will be shared soon. Contains env vars.

Remaining to do's:

Create a template so that message can be sent.
Create directory with README for Postman collection in repo.

Sent SMS message, received the text and as expected this was logged in api cloudwatch log:
2020-06-03T17:52:21.743-04:00 | <IP_ADDRESS> - - [03/Jun/2020:21:52:21 +0000] "POST /notifications/sms/twilio/3e6cf02b-3c6a-4433-bfce-414c31652ae1 HTTP/1.1" 200 125 "-" "TwilioProxy/1.1"
-- | --

Twilio should call a URL, /notifications/sms/twilio/ each time a message is sent.

Filip to take a look and close


PSM Interop: Switch to the new GKE clusters (except the URL map)

Our test clusters are in the broken/dirty state (except the URL map's "basic" cluster, which isn't affected).
This PR switches to the newly created clusters to:

Get a data point on whether newly created clusters are affected by the same issues.
Allow for descriptive work on the old clusters.
Hopefully, bring our tests back to green.

Bonus: more sensible cluster name.

Tests (WIP):

[ ] grpc/core/v1.52.x/branch/linux/psm-security


I found that you fail to get the HTTP request, the server can not get the data, can only get the server "code" status code, you can not optimize the framework of this piece, I this project is in urgent need of this, thank you!

I found that you fail to get the HTTP request, the server can not get the data, can only get the server "code" status code, you can not optimize the framework of this piece, I this project is in urgent need of this, thank you!

Can you be more specific? What is the problem you’re experiencing?


Added table of contents to readme

Hi @rohitgulam
Merging this, thank you for taking your time to contribute


Incomplete TemplateInclusion enum

https://github.com/smartsheet-platform/smartsheet-csharp-sdk/issues/145

PR

https://github.com/smartsheet-platform/smartsheet-csharp-sdk/pull/146

@oscarms this will be soon merged and published with a new version of the SDK. Just wanted you to know.


Converted requirements using piplock broken

Hello guys.
dephell looks really great tool and solves a lot of things for me.
One thing I found while playing with it and getting it into project's flow was that converting deps from poetry to piplock looks broken.
My pyproject.toml:
[tool.poetry]
name = "flake8"
version = "0.1.0"
authors = ["Eduard Kracmar<EMAIL_ADDRESS>
[tool.poetry.dependencies]
python = "==2.*,>=2.7.0"
flake8-import-order = "==0.18.1"
pep8-naming = "==0.8.2"
flake8 = "==3.7.8"

[tool.dephell.main]
from = {format = "poetry", path = "pyproject.toml"}
to = {format = "piplock", path = "requirements.txt"}

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

Locking to piplock is great, all tools at the end use pip so why bother and generate Poetry or Pipenv lock files, requirements.txt with pined versions and hashes work for deterministic builds.
But when I use dephell deps convert, my requirements.txt file looks like this:
enum34==1.1.6; python_version <= "2.7" \
  --hash sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850 \
  --hash sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a \
  --hash sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79 \
  --hash sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1 \
  # ^ from flake8-import-order
flake8-polyfill==1.0.2 \
  --hash sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9 \
  --hash sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda \
  # ^ from pep8-naming
pycodestyle==2.5.0 \
  --hash sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56 \
  --hash sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c \
  # ^ from flake8-import-order
setuptools==41.4.0 \
  --hash sha256:7eae782ccf36b790c21bde7d86a4f303a441cd77036b25c559a602cf5186ce4d \
  --hash sha256:8d01f7ee4191d9fdcd9cc5796f75199deccb25b154eba82d44d6a042cf873670 \
  # ^ from flake8-import-order
flake8-import-order==0.18.1 \
  --hash sha256:90a80e46886259b9c396b578d75c749801a41ee969a235e163cfe1be7afd2543 \
  --hash sha256:a28dc39545ea4606c1ac3c24e9d05c849c6e5444a50fb7e9cdd430fc94de6e92 \
  # ^ from flake8
pep8-naming==0.8.2 \
  --hash sha256:01cb1dab2f3ce9045133d08449f1b6b93531dceacb9ef04f67087c11c723cea9 \
  --hash sha256:0ec891e59eea766efd3059c3d81f1da304d858220678bdc351aab73c533f2fbb \
  # ^ from flake8

If I compare to pip-compile with requirements.in:
flake8==3.7.8
flake8-import-order==0.18.1
pep8-naming==0.8.2

I'm getting on py27 envionment:
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile
#

configparser==4.0.2       # via entrypoints, flake8
entrypoints==0.3          # via flake8
enum34==1.1.6             # via flake8, flake8-import-order
flake8-import-order==0.18.1
flake8-polyfill==1.0.2    # via pep8-naming
flake8==3.7.8
functools32==3.2.3.post2  # via flake8
mccabe==0.6.1             # via flake8
pep8-naming==0.8.2
pycodestyle==2.5.0        # via flake8, flake8-import-order                                                                                ────────────────────────────────
pyflakes==2.1.1           # via flake8
typing==<IP_ADDRESS>           # via flake8

# The following packages are considered to be unsafe in a requirements file:
# setuptools==41.4.0        # via flake8-import-order

and on PY3 environment:
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile
#

entrypoints==0.3          # via flake8
flake8-import-order==0.18.1
flake8-polyfill==1.0.2    # via pep8-naming
flake8==3.7.8
mccabe==0.6.1             # via flake8
pep8-naming==0.8.2
pycodestyle==2.5.0        # via flake8, flake8-import-order
pyflakes==2.1.1           # via flake8

# The following packages are considered to be unsafe in a requirements file:
# setuptools==41.4.0        # via flake8-import-order

What is broken:

even primary package flake8 is missing
locked package list is not complete compared to pip-compile output

So what is the difference, how exactly dephell produces piplock conversion ?

Hah, that's fun. The flake8 excluded from lockfile because your package named flake8. Change name = "flake8" on something else, and it works. I've checked it. There is no need to lock the project itself, isn't it? ;)
Thank you for your feedback. Have fun!


stop TestNg execution, to close the streams

After I have explicitly run the TestNg from Java code:
TestNG testng = new TestNG();
testng.run();
Files that are generated with TestNg cant be removed, I think that may be related that some streams hasnt been closed.
Currently invoke of Garbage Collector is helping me, but that is a horrible solution.
=(

@bogaty - I can't seem to be able to reproduce this problem. If this is still an issue, please help add a sample and comment so that we can use that sample to reproduce the issue and get it fixed as well.


Scoop install alternative for Windows

Add installation option via Scoop for Windows (added as ScoopInstaller/Main#3094).
Minor formatting updates across the Readme.

Wow @aliesbelik . Thanks for adding this to scoop 💟  🎉 . Merging this now since these are README changes


The retry of job

Organization Name: advantech

Short summary about the issue/question: We submit several job to the openpai, and the job config is of the same, however, some of the job will retry. Some job retried for one time, and some retied for 4 times. The retryCount of job config is 0.
At the Tracking Page, i found the follwing log:
[WARNING] Failed to request info from webhdfs, sleep 20 s ...
Using default tag: latest
latest: Pulling from loretoparisi/darknet
Digest: sha256:b5f4e0860fb21216e7dfea7d0e9d7aefba341a2d54f040b152be6ceabddb8c26
Status: Image is up to date for loretoparisi/darknet:latest
/pai/bootstrap/docker_bootstrap.sh: line 49: hadoop: command not found
Brief what process you are following: Why is the retry occur? What is the max retry count? Where can i find the retry log at Tracking Page？

How to reproduce it:

OpenPAI Environment:

OpenPAI version: 0.8.3
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Hardware (e.g. core number, memory size, storage size, GPU type etc.):
Others:

Anything else we need to know:

https://github.com/Microsoft/pai/blob/master/subprojects/frameworklauncher/yarn/doc/USERMANUAL.md#retrypolicy
PAI enables FancyRetryPolicy, so it will always retry for tranisent failure.
We can refine above into https://github.com/Microsoft/pai/blob/master/docs/job_tutorial.md


Feature: Support for Kerberos authentication using a credentials cache.

Versions
Please specify real version numbers or git SHAs, not just "Latest" since that changes fairly regularly.

Sarama
Kafka
Go

1.38.0
any
any

Problem Description
We would like to use Sarama in on platforms where Kerberos credential caches are exposed, but no password credentials or keytabs are available.
This feature would require a new GSSAPI auth type (e.g. KRB_CCACHE) that would result in NewKerberosClient returning a Kerberos client produced by the NewFromCCache function.

We're still interested in having this feature for use cases where a pure-Go client is needed.

Implemented by https://github.com/IBM/sarama/pull/2457


How to get email signature in gmail.observe.on('compose', function( ) ?

Hi,
i need to add atext in combox body ,i did it by following. but it replaces my email signature. How to add text without replace email signature?
gmail.observe.on('compose', function(obj,type) {
        window.setTimeout( function() {
            obj.body('
Hi
');
        },0);
)};

obj.body() alone will give you the existing body.
Use that and append your data to the returned value, before setting the new value.

obj.body(obj.body()+'
Hi
'); worked. Thanks.

This is the pattern I am using, and works well.
		_gmail.observe.on('compose', function(obj,type) {
			function temp() {
				obj.body('
Hi
' + obj.body());
			}
			setTimeout(temp, 100);
    	});


Fixed plugin not loaded formatting

Short Description:
Fixed the print when not loading a plugin
Changes:

Added [Plugins] prefix
Set color to red
@OpenPoGo/maintainers

👍

:+1:


[2290] Request details Approve & Deny button group

Closes #2290
Code Changes

Request details Approve & Deny button group

ApproveButton component
DenyButton component
Tests for approve & deny buttons

General improvements:

StyledButton for shared button styles
Use "on" for props and "handle" for handler functions
Initial tests for requests table and details pages
getByTestIdPrefix Cypress command

Steps to Confirm

[ ] Details page buttons

Approve a request
Deny a request with reason modal

[ ] Table menu buttons

Should be verified as well because the components were refactored
Approve a request
Deny a request with reason modal

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md

Description Of Changes
With the buttons refactored out, they can be dropped right into the page:

Video of using Deny button & modal:

Still resolving the merge conflicts from https://github.com/ethyca/fides/pull/2443 which adds a confirmation for the approve button.

In my testing I noticed that the approval modal was styled slightly different between the table and details pages. Did you see this?

Looks like applying the size to the ButtonGroup made the style leak through to the modal buttons - I guess because the react context transcends portals 🌌.


v1.5 backports 2019-08-19

#8882 -- Revert "[daemon] - Change MTU source for cilium_host (Use the Route o…ne)" (@aanm)
#8903 -- cilium: route mtu not set unless route.Spec set MTU (@jrfastab)
#8919 -- bpf: try to atomically replace filters when possible (@borkmann)

Once this PR is merged, you can update the PR labels via:
$ for pr in 8882 8903 8919; do contrib/backporting/set-labels.py $pr done 1.5; done

This change is

test-me-please

test-me-please

test-me-please

test-me-please

Issues downloading dependencies: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/14478/
08:50:21      k8s1-1.10: 2019-08-19 15:50:21 (97.9 MB/s) - 'apt-key.gpg' saved [659/659]
08:50:21      k8s1-1.10: running of "wget https://packages.cloud.google.com/apt/doc/apt-key.gpg" successful
08:50:21      k8s1-1.10: Warning: apt-key output should not be parsed (stdout is not a terminal)
08:50:21      k8s1-1.10: OK
08:50:21      k8s1-1.10: Disabling crio CNI bridge
08:50:21      k8s1-1.10: removed '/etc/cni/net.d/100-crio-bridge.conf'
08:50:21      k8s1-1.10: removed '/etc/cni/net.d/200-loopback.conf'
08:50:22      k8s1-1.10: Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
08:50:22      k8s1-1.10: Hit:3 http://ppa.launchpad.net/projectatomic/ppa/ubuntu xenial InRelease
08:50:22      k8s1-1.10: Hit:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
08:50:22      k8s1-1.10: Hit:4 https://download.docker.com/linux/ubuntu bionic InRelease
08:50:23      k8s1-1.10: Hit:5 http://archive.ubuntu.com/ubuntu bionic InRelease
08:50:27      k8s1-1.10: Hit:6 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
08:50:27      k8s1-1.10: Hit:7 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
08:50:28      k8s1-1.10: Reading package lists...
08:50:29      k8s1-1.10: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
08:50:29      k8s1-1.10: E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

test-me-please

Seems like the real error is:
21:17:43      runtime: Aug 19 19:17:41 runtime cilium-agent[23801]: level=warning msg="+ clang -O2 -g -target bpf -emit-llvm -Wno-address-of-packed-member -Wno-unknown-warning-option -I.  Please compare to your version.

@borkmann Thank you and sorry that I missed your comment! I've applied your version.

test-me-please

never-tell-me-the-odds

I'm confused by the [ upstream commit cc01f52 ] in the backported https://github.com/cilium/cilium/pull/8949/commits/a97e9390dcb2c35a3ee6ca0e3351451703727a75. Shouldn't it be b9e6d6c?

No, b9e6d6cfb0ff0f3ad3a8a37624785f73c82b5cdd was a private branch which I gave one of our users for testing, so all good as is.

k8s tests failed on installing packages...

test-upstream-k8s

test-upstream-k8s

@mrostecki upstream k8s tests have issues provisioning for the v1.5 branch (we aren't sure why), so it's okay to let them fail for now.


419 benchmarking spmv spmspv spmspm

performance tests for spmv, spmspv, and spmspm

@aristeidis-mastoras please let me know if current version is ready to merge -- all OK from my side

Concept merge notes:
This MR adds three kernel-level performance tests to ALP/GraphBLAS: sparse matrix--dense vector multiplication, sparse matrix--sparse vector multiplication, and sparse matrix--sparse matrix multiplication. These three tests run on arbitrary input data sets, and employ the usual benchmarking methodology by default: run at least 10 experiments while computing the min, max, avg, and stddev aggregates and while sleeping for one second between experiments.
Individual timings, again when used in default mode, will take at least 100 ms.-- if a single computation is shorter than that, then an "individual" timing in fact corresponds to n such timings, where n is the minimum number of times for which the computation takes 100 ms. or more. Both the resulting "inner" (100 ms.) and "outer" (10) repetitions may of course also be manually set.
The performance test script is updated to run these three new performance tests on a fixed series of datasets. If one of the test sets is not available, then the experiment is skipped. The dataset series can easily be extended in the script should need be.
The MR also includes minor code style fixes, as well as a workaround for CIs that run out of storage capacity due to the -g generating large binary files, while, related, not archiving some additional files that are not required to execute tests after building them.

Review OK. Full test suite with LPF is running. Internal CI is running. Well merge those are OK

Performance tests failed due to enabling tests that should not be (the 1D backend refuses SpMSpM multiplies). Testing fix now...

Performance tests failed due to enabling tests that should not be (the 1D backend refuses SpMSpM multiplies). Testing fix now...

Full performance test suite still running. Simultaneously triggered CI tests.

Performance tests failed due to enabling tests that should not be (the 1D backend refuses SpMSpM multiplies). Testing fix now...

Full performance test suite still running. Simultaneously triggered CI tests. Code changes reviewed, all OK.

Perf tests showed some tweaks to the performance scripts remained necessary, now done. Review OK. Waiting CIs OK.


Build failing - Golang 1.9.4

Following the install.md instructions, the build appears to be failing with:
make BUILDTAGS=""
touch .gopathok
go generate ./cmd/podman/varlink/...
../../../vendor/github.com/varlink/go/cmd/varlink-go-interface-generator/main.go:12:2: cannot find package "github.com/varlink/go/varlink/idl" in any of:
        /usr/lib/go-1.9/src/github.com/varlink/go/varlink/idl (from $GOROOT)
        /root/src/github.com/projectatomic/libpod/_output/src/github.com/varlink/go/varlink/idl (from$GOPATH)
cmd/podman/varlink/generate.go:3: running "go": exit status 1
Makefile:274: recipe for target 'cmd/podman/varlink/ioprojectatomicpodman.go' failed
make: *** [cmd/podman/varlink/ioprojectatomicpodman.go] Error 1

I've tried make install.tools and it pulls certain projects, but not varlink
$ ls /root/src/github.com/projectatomic/libpod/_output/src/github.com/
alecthomas  cpuguy83  projectatomic  sirupsen  vbatts

make valink_generate

Doesn't seem to exist in the makefile

Are you working off of master?

Yes

Sorry, I was looking at the wrong error. Here is the correct error:
$ make varlink_generate
touch .gopathok
go generate ./cmd/podman/varlink/...
../../../vendor/github.com/varlink/go/cmd/varlink-go-interface-generator/main.go:12:2: cannot find package "github.com/varlink/go/varlink/idl" in any of:
        /usr/lib/go-1.9/src/github.com/varlink/go/varlink/idl (from $GOROOT)
        /home/packer/src/github.com/projectatomic/libpod/_output/src/github.com/varlink/go/varlink/idl (from $GOPATH)
cmd/podman/varlink/generate.go:3: running "go": exit status 1
Makefile:274: recipe for target 'cmd/podman/varlink/ioprojectatomicpodman.go' failed
make: *** [cmd/podman/varlink/ioprojectatomicpodman.go] Error 1

I had an incorrect GOPATH configured.
Thanks for the help, sorry for the distraction.

Just happy there was not a bug.


Fine-tuning LLaMA with TencentPretrain and DeepSpeed

We implement LLaMA training on the TencentPretrain framework, the tutorial is as follows:

Clone the TencentPretrain project and install dependencies: PyTorch, DeepSpeed, SentencePiece

git clone https://github.com/Tencent/TencentPretrain.git

Convert LLaMA-7B weights to TencentPretrain format

cd TencentPretrain

python3 scripts/convert_llama_to_tencentpretrain.py --input_model_path $LLaMA_7B_FOLDER/consolidated.00.pth --output_model_path models/llama-7b.bin --layers_num 32

Modify configuration file

Check out the tencentpretrain/utils/constants.py file, and modify L4: special_tokens_map.json to llama_special_tokens_map.json

Data preprocess. We use the example corpus in the project for pre-training, one can also use custom data training in the same format (one sample per line).

python3 preprocess.py --corpus_path corpora/book_review.txt --spm_model_path $LLaMA_7B_FOLDER/tokenizer.model \
                      --dataset_path dataset.pt --processes_num 8 --data_processor lm

Start training.

deepspeed pretrain.py --deepspeed --deepspeed_config models/deepspeed_config.json \
                      --pretrained_model_path models/llama-7b.bin \
                      --dataset_path dataset.pt --spm_model_path $LLaMA_7B_FOLDER/tokenizer.model \
                      --config_path models/llama/7b_config.json \
                      --output_model_path models/output_model.bin \
                      --world_size 8 --learning_rate 1e-4  \
                      --data_processor lm --total_steps 10000 --save_checkpoint_steps 2000 --batch_size 24

For now, TencentPretrain only support LLaMA-7B training. We are working on our framework to support LLaMA model training/fine-tuning at all scales and sharing more experimental results.

Transferring to the llama-recipes repo..

closing the issue as its related to another repo used for fine-tuning.


Multi-root workspaces are not supported

Describe what happened:
I am sharing my multi-root workspace but only the first folder appears.
What was your system configuration?
Product and Version [VS/VSCode]: 1.43
OS Version[macOS/Windows]: macOS
Live Share Extension Version: 1.0.1847
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

Open a multi-root workspace
Share it
Open it in web

=> 🐛 only the first folder appears

@bpasero Thanks for reaching out. I was able to repro your issue on web. Assigned @rodrigovaras to take a look. If you are blocked, please use the desktop client, it should work there.

Why is this still not supported? When multi-root workspaces were introduced into VS Code it didn't work but I've thought, "yeah. it will probably catch up soon". Now I finally wanted to use live share again, just to realize that multi-root workspaces are still not supported.
We were using latest VS Code between to macOS machines.

@levrik The original issue was opened for web clients only. On desktop clients (VSCode extensions), we have been supporting this for a long time now. I tried to repro on my mac and sharing a saved workspace seems to work fine. If you are still experiencing issues, please let us know what version of macOS you are using, what version of the extensions and what version of VSCode (stable, insiders).

Closing issue now that web supports this as well. As stated previously, please re-open or file a new bug if you are experiencing problems.


[Bug] recent txs streaming amount will continue endlessly

Recent txs shows a stream as an increasing amount
It will continue to show the increasing amount endlessly even if the donation was canceled.
Also If the user updated his donation to a new stream value, it will now show both his TXs as continuously growing amounts, while only one is active.
If you go to https://dev-goodcollective.vercel.app/collective/0x010d572cf7297509f4c3555f8bfb53e6e8d6d54a
You will see that there are multiple streams from the same wallet, but in reality there's only one.
Solution:
Show just the stream flow rate. ie 5G$/Month
The /Month is fixed regardless of what the user chose when he created the stream, as the user choice is just a helper for the calculation. All streams are in X/second, in the display we can choose whatever time frame we want.
I've implemented this, which can be merged if approved:

Hi @sirpy . Thank you for this fix, however it will create confusion having all streams appear "per month." What we prefer is a solution that:

Displays actual streaming cadence chosen by the user (per day / per week / per month)
For a cancelled stream ("delete flow"), we need to include a third transaction type to indicate that a stream has been cancelled by the user.

@patpedrosa @decentralauren as I've explained, the per week, month, day we show is for calculation help only. All flows are eventually written as x/second.
I would suggest that in the UI stream calculation it would be limited to one time length. Users are used to per month subscriptions.
Ok I'll look into delete op

@decentralauren @patpedrosa
I've added an example of how a TX description can look when someone stops his stream.
It can show how much in total the stream has donated until it was canceled. and some kind of indication that this is a canceled subscription tx.
Or we can just show that the subcription was canceled without any numbers.
Also similarly you need to decide if you want special indication for stream update. that i've donated at a rate of X/sec but changed it to Y/sec.
So again it can show something like "500G$ donated. subscription updated to 100 G$/Month"
Or just "Updated to 100G$/Month" or "Updated from 50G$/ Month to 100g$/Month"
It's up to you to decide the exact combination. Take into account that the space is limited and need some design update to include longer descriptions.

Thanks @sirpy this is sufficient for now. Appreciate you working on this.
I'd like us to change the icon / appearance of the "stream starting" transaction type in this case, so it's clear that this is not a deposit but an indication of a starting stream. @sanajamm @patpedrosa - can we create a "streaming" icon to be used in these events instead of a deposit icon?

@decentralauren what does the "product review" status means?
so this is waiting for further design and product decisions?

@sirpy Product Review is an optional post-QA step for the product team to make sure something is ready to release. In this case, to determine if this fix is sufficient. Moving this specific ticket back to @vldkhh for QA as things have changed since he last reviewed the functionality.
I'm creating a new ticket for my note above as it needs further product / design work and should go into the backlog (we can eventually set a "in design" stage in the pipeline pre-backlog if useful).

@sirpy was this ever implemented? I don't see it in any of the live collectives.

@decentralauren read the comments. You said this need more product design work

@decentralauren or by "sufficient for now" you ment my solution can be merged?

Hi @sirpy please see this issue which proposes updating transaction types to align with streaming events. Both are assigned to the same epic to improve Superfluid donation usability.

closing in favour of #188


Use nvidia gpu for transcode

with handbrake we can use gpu to accelerate and for me it s realy a big deal i try to do this by myself since with handbrakecli you can use gpu but not working at all. im on windows with ubuntu terminal install from windows store

I don't think HandBrake can "see" the GPU when its running in the Ubuntu terminal on Windows, unfortunately. This is a limitation of WSL
There's a guide on installing these tools on Windows natively, so they're accessed via CMD, here:  https://github.com/JMoVS/installing_video_transcoding_on_windows#pre-windows-10-creators-update-and-earlier
This is how I installed the tools, and I can add --encoder nvenc_h264 to my transcode-video command to use my GPU.

@samhutchins Thanks! I would have had no idea what the problem was there.
@alex37330 Did Sam answer your question sufficiently?

How does one find out which hardware encoders are available? My windows box
has a Radeon GPU and my other is a 2018 MacBook pro
On Sun, 10 Feb 2019 at 17:09, Don Melton<EMAIL_ADDRESS>wrote:

@samhutchins https://github.com/samhutchins Thanks! I would have had no
idea what the problem was there.
@alex37330 https://github.com/alex37330 Did Sam answer your question
sufficiently?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/donmelton/video_transcoding/issues/252#issuecomment-462151939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYJDdkhMowCZyuDaVDj2FkVOoAz-w9Zks5vMFJIgaJpZM4azEv6
.

--
Kind regards,
Dave

@damorrison Good question! You have to get the answer from HandBrake itself by checking the output of HandBrakeCLI --help to find out if your platform has any of these video encoders available.
I'm in the process of rewriting the FAQ to make that clearer based on a great suggestion from @vr8hub. See our discussion in issue  #251.

@damorrison Just to expand on Don's answer a little, the --help output will look something like this:
   -e, --encoder <string>  Select video encoder:
                               x264
                               x264_10bit
                               nvenc_h264
                               x265
                               x265_10bit
                               x265_12bit
                               nvenc_h265
                               mpeg4
                               mpeg2
                               VP8
                               VP9
                               theora

It'll be in the Video Options section of the output

@samhutchins Thanks! I'll try to use that Video Options clarification in the FAQ, too.

So my MacBook doesn’t seem to have one built in? I’m using the brew version which is 1.2
                           x264
                           x264_10bit
                           vt_h264
                           x265
                           x265_10bit
                           x265_12bit
                           vt_h265
                           mpeg4
                           mpeg2
                           VP8
                           VP9
                           theora

David Morrison

On 10 Feb 2019, at 19:29, Sam Hutchins<EMAIL_ADDRESS>wrote:
@damorrison https://github.com/damorrison Just to expand on Don's answer a little, the --help output will look something like this:
-e, --encoder   Select video encoder:
x264
x264_10bit
nvenc_h264
x265
x265_10bit
x265_12bit
nvenc_h265
mpeg4
mpeg2
VP8
VP9
theora
It'll be in the Video Options section of the output
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/donmelton/video_transcoding/issues/252#issuecomment-462163619, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYJDUq_sMvdWHQ4cWruXL9f18C8KkM8ks5vMHMegaJpZM4azEv6.

thank you very much I haven't the time to do it now still thank you

@damorrison No, you have both the Apple VideoToolbox vt_h264 and vt_h265 hardware encoders available, just like my MacBook Pro. You can try the H.264 version this way:
transcode-video --encoder vt_h264 "/path/to/Movie.mkv"

Does that work for you?

@alex37330 You are very welcome! I'll close this once I learn that @damorrison has resolved his issue.

Ah - handily named I see to make it obvious it’s the Apple encode :P
Yes - thanks that works, I’ll have a play. .
David Morrison
<EMAIL_ADDRESS>
On 10 Feb 2019, at 20:19, Don Melton<EMAIL_ADDRESS>wrote:
@damorrison https://github.com/damorrison No, you have both the Apple VideoToolbox vt_h264 and vt_h265 hardware encoders available, just like my MacBook Pro. You can try the H.264 version this way:
transcode-video --encoder vt_h264 "/path/to/Movie.mkv"
Does that work for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/donmelton/video_transcoding/issues/252#issuecomment-462168140, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYJDZiV3tB2xb7gin3zKqg1Zo7echZDks5vMH7SgaJpZM4azEv6.

@damorrison Great! BTW, the Apple VideoToolbox encoders are usually the Intel Quick Sync Video encoders on macOS. But HandBrake and FFmpeg have to use the VideoToolbox API to get to them. Go figure.
Anyway, I'll close this now.


Add Pinia store to Vue.js app

Add Pinia store to Vue.js app in order to have better state management

Corresponding PR #293 is merged


Add CheckedRem and CheckedNeg

Continue from #58
I've alreadyremoved all the formats.

Thanks -- I also added some changes myself.
bors r+


Add a console design.

Like the Windows 95 theme but unlike Galaxy, Hotdog or Unicorn, this theme is meant to look like something old rather than look like an old design. It is green-on-dark though, and that is perhaps too similar to Galaxy?

It would be nice to have this up in some site so we can see how it looks and offer feedback without requiring us to python -m http.server 8080 in this directory and write the html ourselves. :P
That would be nice, but you don't have to make a server anyway - you should just be able to open the local file in your browser.


Is there an angularjs library/directive that uses your awesome library

Do you maybe know, if there is an angularjs library/directive that uses your library and not reactjs? I am asking ,because I don't want to include reactjs framework, there is going to be too much code.

Zorium

Zorium is cool, but how is that an Angular library?

I understood that React was too large (there is going to bee too much code) and Zorium is much smaller.

@mato75 Not that I know of. If you find one, please add it to the Wiki. Also, would you mind closing this issue?


feat: set "Programmed" condition for *Route in gateway APIs

What this PR does / why we need it:

As described in GEP-1364, gateway API has published "Programmed" condition in release 0.6.0. We will add the condition to the following managed objects:

HTTPRoute
TCPRoute
TLSRoute
UDPRoute

Also, setting "Programmed" condition properly is a prerequisite for bumping gateway API to 0.6.0 because conformance tests includes tests for setting the "Programmed" condition.
Which issue this PR fixes:

expected to fix #3343
Special notes for your reviewer:

PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[x] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

Apart from the inline comments, I wonder if we should introduce some tests in this PR. I see that we expect to test this functionality with the conformance tests, but WDYT about introducing a check on the programmed condition even in our integration suite?

Added integration tests for setting Programmed condition.


⚠ Bofrost.at has degraded performance

In 065f8ee, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2270 ms

Resolved: Bofrost.at performance has improved in 62c5b70.


[Feature Request] Make QuickJsContext implement Closeable

Thank you so much for this library 🙏 ! I have an easy suggestion for improvement:
It would be pragmatic to be able to use QuickJSContext with try-with-resources (in Java) or .use (in Kotlin), like this:
try (QuickJSContext context = QuickJSContext.create()) {
    ...
}

QuickJSContext.create().use { context ->
    ...
}

But that requires an object that implements Closeable.  This should be as simple as adding this method to QuickJsContext:
public void close() {
    destroy()
}

ok, I will add it in the next version.


[1.11.2] Says update is available when using the latest version

I'm using the latest version available on the site for 1.11.2, and it still is yelling at me saying an update is available.  Unless they're constantly forgetting to change the version number while making code changes, I highly doubt there's still an update available.

Fixed in 1.12, 1.11 isnt supported anymore.

Thanks.
On Fri, Dec 15, 2017 at 12:25 AM, covers1624<EMAIL_ADDRESS>wrote:

Closed #113 https://github.com/TheCBProject/NotEnoughItems/issues/113.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TheCBProject/NotEnoughItems/issues/113#event-1389008715,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACr5pL1y8nWq_ToQ4n-FRftOysyV_Pnnks5tAgK3gaJpZM4OR1f6
.

--
Golden rule in Minecraft: Never dig straight down.


SPP-9448-remove-BAW-references

Description
The methods summary page and glossary pages both contain references to BAW which are no longer relevant. The set of instructions on the method summary page relating to BAW also contains sensory descriptions e.g. "[...] click the three horizontal lines at the top left corner of the screen." These descriptions are a level A accessibility issues as they may confuse visually impaired users.
BAW is no longer relevant to the methods library catalogue so this PR will remove any references to it.
Code has not been commented and documentation has not been provided as this is not necessary for this pull request.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Technical Enhancements

Checklist:
If any of these are not completed, please explain why in the notes.
Definition of Done
Code and merges

[ ] Code to be commented on where applicable
[ ] Documentation updated where required
[x] Have considered non-functional requirements such as Security, Performance, Scalability, and Fault Tolerance
[x] I have linted the code

Testing

[x] All levels of acceptance test are passing (automated, integration, manual, accessibility, etc.)
[x] I have run the behave command to check the selenium behaviour tests pass locally
[x] Acceptance criteria met

Other Checks

[x] I have performed a self-review of my own code
[x] I have checked for spelling errors
[ ] I have commented on my code, particularly in hard-to-understand areas
[x] My changes don't break anything unexpected
[x] I have checked and updated the security.txt file where required
[x] Up to date with the main branch
[ ] For a change that needs to be deployed in a release I have a commit with the fix:, feat: or BREAKING CHANGE:
tags and will copy this commit message to the squash
[ ] For a change that does not affect the deployed code I have added a commit with ci:, docs: or test:
depending upon which area of the solution was affected

Note when merging, squash commit must begin with one of the following tags:
"BREAKING CHANGE", "feat", "fix", "ci", "docs", "test"
Usage
BREAKING CHANGE: any change that breaks current functionality and may cause compatibility errors to users upgrading
E.G BREAKING CHANGE: refactored method x to take variable y as input (changed from variable z)
feat: A new feature
E.G feat: adding method x to future methods table
fix: A bug fix
E.G fix: amending page for method x to show correct release version
ci: Changes to our CI configuration files and scripts (Concourse)
docs: Documentation only changes
test: Adding missing tests or correcting existing tests

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

DEPLOY_URL=https://d2ns5qat94xkxy.cloudfront.net/
cloudfront_id=E3C1A7TEFCBL1F

Looks good. Remember to update the final commit to include the appropriate tag - fix: Removed BAW references (256)
256 is the PR number


Support JSON for plugin definition

This blocks #5.
If we want to have our jsonnet look clean without embedded YAML, we'll need to support JSON for plugin definitions.

This was closed by #48


runlist no output

Hi,
According to "dl_interface_design.py --help" it should be possible to select specific pdb-files with the "-runlist" flag.
Although, I seem to have problems getting an output from this command.
I run it like this:
dl_interface_design.py -pdbdir indir -runlist indir/my.pdb -outpdbdir outdir
stdout show no errors and finishes after a few seconds, but no output is written to outdir.
Am I using the syntax wrongly or is this a bug?
//Jesper

There is an example of how to run using the runlist option here (both scripts use the same definition of a runlist):
dl_binder_design/examples/example_proteinmpnn_runlist.py


spi: spi_ll_stm32: fix slave frame shifting

In the current form of the code, the slave frame shifting leaves the TX
full and will shift out some unwanted bytes out on the next transaction.
This PR is a subset of #5200 without the test.
This fix is needed for #7687

Codecov Report

Merging #7853 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7853   +/-   ##
=======================================
  Coverage   55.02%   55.02%
=======================================
  Files         483      483
  Lines       53968    53968
  Branches    10501    10501
=======================================
  Hits        29694    29694
  Misses      19986    19986
  Partials     4288     4288

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 e9174c6...fc1c804. Read the comment docs.

I'm currently use this commit and it seems to work fine.


How to add metadata on collection?

Bug Report
iRODS Version, OS and Version
4.3.1, almalinux8
What did you try to do?
I tried to add metadata on a collection.
Expected behavior
I expected to see metadata is attached.
Observed behavior (including steps to reproduce, if applicable)
I tried with different languages but always got errors. I hope I am not making an error somewhere. Could you share with me an example that will show how you use curl to add atomic metadata?
Is this  passing?

All tests pass for 0.1.0.
Here's an example demonstrating how to add metadata to a collection using curl.
curl -H "Authorization: Bearer $token" 'http://localhost:9000/irods-http-api/0.1.0/collections' \
    --data-urlencode 'op=modify_metadata' \
    --data-urlencode 'lpath=/tempZone/home/alice' \
    --data-urlencode 'operations=[{"operation":"add", "attribute":"http-api", "value":"didit"}]'

On success, you can expect the following.
{
  "irods_response": {
    "failed_operation": {},
    "status_code": 0
  }
}

I used the same example that you shared, but still getting a bad request error.
[irods@dev-u0137480 go-http-client]$ curl -H "Authorization: Bearer $token" 'http://localhost:9000/irods-http-api/0.1.0/collections' \
>     --data-urlencode 'op=modify_metadata' \
>     --data-urlencode 'lpath=/u0137480/home/rods' \
>     --data-urlencode 'operations=[{"operation":"add", "attribute":"http-api", "value":"didit"}]'
{"irods_response":{"status_code":-1}}

Yep. That definitely looks like a policy issue.

@mstfdkmn Any updates on this?

I may test this later. But if needed you may please close now.

Let's leave it for you to determine things are working before we close.

Hi, I guess this is not a policy issue, it looks like related to pep_api_atomic_apply_metadata_operations_*.
To reproduce:

add the following in core.py

import json

def pep_api_atomic_apply_metadata_operations_pre(rule_args, callback, rei):
    """
    Triggered by PRC apply_atomic_operations() method
    Blocks rodsusers' remove requests of administrative metadata
    """
    obj_var = bytes(rule_args[2].get_bytes()).decode("utf8")
    callback.writeLine("serverLog", f"{obj_var}")
    json_var = json.loads(obj_var)
    callback.writeLine("serverLog", f"{json_var}")

run the following to add metadata
curl -H "Authorization: Bearer $token" 'http://localhost:9000/irods-http-api/0.1.0/collections'     --data-urlencode 'op=modify_metadata'     --data-urlencode 'lpath=/u0137480/home/rods'     --data-urlencode 'operations=[{"operation":"add", "attribute":"http-api", "value":"didit"}]'

in logs

irods stdout | {"log_category":"legacy","log_level":"info","log_message":"writeLine: inString = {\"admin_mode\":false,\"entity_name\":\"/u0137480/home/rods\",\"entity_type\":\"collection\",\"operations\":[{\"attribute\":\"http-api\",\"operation\":\"add\",\"value\":\"didit\"}]}\n","request_api_name":"","request_api_number":20002,"request_api_version":"d","request_client_user":"rods","request_host":"<IP_ADDRESS>","request_proxy_user":"rods","request_release_version":"rods4.3.1","server_host":"dev-u0137480.irods.t.icts.kuleuven.be","server_pid":3325801,"server_timestamp":"2024-03-15T13:44:23.170Z","server_type":"agent","server_zone":"u0137480"}
irods stdout | {"log_category":"rule_engine","log_level":"error","log_message":"caught python exception","python_exception":"Traceback (most recent call last):\n  File \"/etc/irods/core.py\", line 14, in pep_api_atomic_apply_metadata_operations_pre\n    json_var = json.loads(obj_var)\n  File \"/usr/lib64/python3.6/json/__init__.py\", line 354, in loads\n    return _default_decoder.decode(s)\n  File \"/usr/lib64/python3.6/json/decoder.py\", line 342, in decode\n    raise JSONDecodeError(\"Extra data\", s, end)\njson.decoder.JSONDecodeError: Extra data: line 1 column 158 (char 157)\n","request_api_name":"","request_api_number":20002,"request_api_version":"d","request_client_user":"rods","request_host":"<IP_ADDRESS>","request_proxy_user":"rods","request_release_version":"rods4.3.1","rule_engine_plugin":"python","server_host":"dev-u0137480.irods.t.icts.kuleuven.be","server_pid":3325801,"server_timestamp":"2024-03-15T13:44:23.170Z","server_type":"agent","server_zone":"u0137480"}

The solution provided at https://github.com/irods/irods/issues/6892 works for the PRC.

Sounds like this can be closed.
@mstfdkmn Do you agree?

I guess NO! When that pep like above is declared in core.py, there is no issue with the atomic metadata operations of the PRC. However when there is a call through the http-api, I encounter the issue mentioned. If you think the issue is with the pep_api_atomic_apply_metadata_operations_pre, should not it occur when fired by the PRC too?

We'll try to reproduce what you have above.

We integrated the http-api to our production tier. This means that metadata operations that users will make/execute via the http api would fail in case there is a rule - pep_api_atomic_apply_metadata_operations_*. Would it be possible for you to test this (put a said pep rule in core.py and try modify_metadata operation)? Thanks.

We'll try to reproduce what you've described.

I've reproduced this. We'll get a fix in for the next release.

The call to json.loads appears to be tripped up by the last element within the byte sequence (i.e. a null byte).
Using json.loads(obj_var[:-1]) resolves the issue, but only partially.
The reason the policy works with the PRC most likely has to do with the exclusion of the null byte. The C/C++ code includes it to help the server know where the string ends. See the following:
https://github.com/irods/irods/blob/e4b196d429c65c8d6333f524a0cdc33b4a870274/lib/api/src/rc_atomic_apply_metadata_operations.cpp#L18
The inclusion of the null byte isn't necessary because byte buffers include a member for defining the size of the byte sequence (i.e. .len). I'll open an issue for this.
For now, you can adjust your policy to accommodate C, C++, and Python by doing the following:
import json

def pep_api_atomic_apply_metadata_operations_pre(rule_args, callback, rei):
    """
    Triggered by PRC apply_atomic_operations() method
    Blocks rodsusers' remove requests of administrative metadata
    """
    obj_var = bytes(rule_args[2].get_bytes()).decode("utf8")
    callback.writeLine("serverLog", f"{obj_var}")

    # Change how the JSON string is handled based on whether it ends with
    # a zero byte.
    bbuf = rule_args[2]
    if bbuf.get_byte(bbuf.len - 1) == 0:
        json_var = json.loads(obj_var[:-1])
    else:
        json_var = json.loads(obj_var)
    callback.writeLine("serverLog", f"{json_var}")

Thanks Kory. Now it works.

The reason the policy works with the PRC most likely has to do with the exclusion of the null byte.

Fyi: I sometimes rarely encountered exact the same issue with the PRC. But I was not sure what was going on. And I could not always reproduce easily (could not sort it out in which condition). After I run the script that encountered the same issue second time, it was resolving. That is why I didn't emphasize this much with the PRC after the solution introduced here and its root in the google chat.

I'll open an issue for this.

Btw, for your awareness I have not seen an issue opened yet.

Created irods/irods/issues/7879.

Closing since the real issue must be resolved in the iRODS server.

The call to json.loads appears to be tripped up by the last element within the byte sequence (i.e. a null byte).
Using json.loads(obj_var[:-1]) resolves the issue, but only partially.
The reason the policy works with the PRC most likely has to do with the exclusion of the null byte. The C/C++ code includes it to help the server know where the string ends. See the following: https://github.com/irods/irods/blob/e4b196d429c65c8d6333f524a0cdc33b4a870274/lib/api/src/rc_atomic_apply_metadata_operations.cpp#L18
The inclusion of the null byte isn't necessary because byte buffers include a member for defining the size of the byte sequence (i.e. .len). I'll open an issue for this.
For now, you can adjust your policy to accommodate C, C++, and Python by doing the following:
import json

def pep_api_atomic_apply_metadata_operations_pre(rule_args, callback, rei):
    obj_var = bytes(rule_args[2].get_bytes()).decode("utf8")
    callback.writeLine("serverLog", f"{obj_var}")

    # Change how the JSON string is handled based on whether it ends with
    # a zero byte.
    bbuf = rule_args[2]
    if bbuf.get_byte(bbuf.len - 1) == 0:
        json_var = json.loads(obj_var[:-1])
    else:
        json_var = json.loads(obj_var)
    callback.writeLine("serverLog", f"{json_var}")

Keep in mind the HTTP API needs to be restarted anytime the policy changes. A restart is only necessary if you are using connection pooling. If you run the HTTP API in 4.2 compatibility mode, then the changes to policy will become visible on each HTTP request.

Hello Kory, sorry but I am confused with the result of this python code when it is invoked by the PRC. Could you please try whether you can see the same result that I explained below?
Despite the fact that the relevant pep is fired only once, callback.writeLine("serverLog", f"{json_var}") sends json_var to the irods logs two times.

Sure. Please post the PRC code you are using to test it.
Just so it's clear my head, the rule code in question isn't failing, correct?

Okay, here it is:
with iRODSSession(irods_env_file=env_file, **ssl_settings) as session:
    avus = [('cold', 'true')]
    col = session.collections.get("/u0137480/home/mustafa/test_col")
    col.metadata.apply_atomic_operations(*[AVUOperation(operation='add', avu=iRODSMeta("{}".format(str(meta[0])), "{}".format(str(meta[1])))) for meta in avus])

I was hoping that was the answer.
Consider adding more words to those two callback.writeLine lines to distinguish them from one another.

Surprising! I had already removed the callback.writeLine("serverLog", f"{obj_var}") but I am still getting two messages in the output as seen below.
@pep
def pep_api_atomic_apply_metadata_operations_post(rule_args, callback, rei):
    obj_var = bytes(rule_args[2].get_bytes()).decode("utf8")
    bbuf = rule_args[2]
    if bbuf.get_byte(bbuf.len - 1) == 0:
        json_var = json.loads(obj_var[:-1])
    else:
        json_var = json.loads(obj_var)
    callback.writeLine("serverLog", f"{json_var}")
    callback.writeLine("serverLog", "pep_api_atomic_apply_metadata_operations_post invoked!")

irods logs:
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = {'entity_name': '/u0137480/home/mustafa/test_col', 'entity_type': 'collection', 'operations': [{'operation': 'add', 'attribute': 'cold', 'value': 'true'}]}\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187398, "server_timestamp": "2024-07-12T14:30:38.046Z", "server_type": "agent", "server_zone": "u0137480"}}
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = {'entity_name': '/u0137480/home/mustafa/test_col', 'entity_type': 'collection', 'operations': [{'operation': 'add', 'attribute': 'cold', 'value': 'true'}]}\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187398, "server_timestamp": "2024-07-12T14:30:38.094Z", "server_type": "agent", "server_zone": "u0137480"}}
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = pep_api_atomic_apply_metadata_operations_post invoked!\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187398, "server_timestamp": "2024-07-12T14:30:38.094Z", "server_type": "agent", "server_zone": "u0137480"}}

more info:
def pep_api_atomic_apply_metadata_operations_post(rule_args, callback, rei):
    obj_var = bytes(rule_args[2].get_bytes()).decode("utf8")
    bbuf = rule_args[2]
    if bbuf.get_byte(bbuf.len - 1) == 0:
        json_var = json.loads(obj_var[:-1])
        callback.writeLine("serverLog", f"inside the if statement: {json_var}")
    else:
        json_var = json.loads(obj_var)
        callback.writeLine("serverLog", f"inside the else statement: {json_var}")

    callback.writeLine("serverLog", f"outside the if/else block: {json_var}")
    callback.writeLine("serverLog", "pep_api_atomic_apply_metadata_operations_post invoked!")

logs:
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = {'entity_name': '/u0137480/home/mustafa/test_col', 'entity_type': 'collection', 'operations': [{'operation': 'add', 'attribute': 'cold', 'value': 'true'}]}\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187491, "server_timestamp": "2024-07-12T14:36:26.584Z", "server_type": "agent", "server_zone": "u0137480"}}
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = inside the else statement: {'entity_name': '/u0137480/home/mustafa/test_col', 'entity_type': 'collection', 'operations': [{'operation': 'add', 'attribute': 'cold', 'value': 'true'}]}\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187491, "server_timestamp": "2024-07-12T14:36:26.623Z", "server_type": "agent", "server_zone": "u0137480"}}
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = outside the if/else block: {'entity_name': '/u0137480/home/mustafa/test_col', 'entity_type': 'collection', 'operations': [{'operation': 'add', 'attribute': 'cold', 'value': 'true'}]}\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187491, "server_timestamp": "2024-07-12T14:36:26.624Z", "server_type": "agent", "server_zone": "u0137480"}}
{"processname": "irods", "groupname": "irods", "pid": "125", "channel": "stdout", "irods": {"log_category": "legacy", "log_level": "info", "log_message": "writeLine: inString = pep_api_atomic_apply_metadata_operations_post invoked!\n", "request_api_name": "", "request_api_number": 20002, "request_api_version": "d", "request_client_user": "mustafa", "request_host": "<IP_ADDRESS>", "request_proxy_user": "mustafa", "request_release_version": "rods4.3.2", "server_host": "dev-u0137480.irods.t.icts.kuleuven.be", "server_pid": 187491, "server_timestamp": "2024-07-12T14:36:26.624Z", "server_type": "agent", "server_zone": "u0137480"}}

And restarting the server results in the same behavior?

We never restarted in the past the irods server in order for the PRC connection to see policy changes in the server. I guess the PRC should immediately see

So your last output section appears to be behaving as expected?

I guess yes, these callback.writeLine("serverLog", f"outside the if/else block: {json_var}"), callback.writeLine("serverLog", "pep_api_atomic_apply_metadata_operations_post invoked!") looks okay. The second line in the output looks okay too.
But I am still confused with the first line in the output. How that is possible?

Seems like something is being cached, which is why I was asking if the behavior changes following a restart.
And yes, you shouldn't need to restart the server for changing policy, but it's unclear how that's happening at the moment.

That last output does appear to be working now, somehow.

Seems like something is being cached, which is why I was asking if the behavior changes following a restart.

I restarted the irods server and I am still seeing the same result.

Is there any chance that you have multiple PEPs in use for the atomic metadata API (i.e. _pre and _post)?

I noticed references to _pre and _post for the atomic PEPs in this thread, which is why I asked about multiple PEPs.

Is there any chance that you have multiple PEPs in use for the atomic metadata API (i.e. _pre and _post)?

No, there was only one.
But okay the issue looks like indeed related to something is being cached...Because when I try this in a fresh irods container (so a new irods with a new container), I see everything again works normal.

Yeah, very weird. If you run into anymore issues like this, please open a new issue.


Split FasterValue to create a new FasterRmw trait

What:

split FasterValue to create a new FasterRmw trait
add automatic implementation of FasterValue for all (de)serialisable types
require implementation of FasterRmw trait to be able to perform RMW operations
move callbacks out of traits

Why:

as I explained in #24 there is an issue with RMW for a type that "grows". Therefore having this extra trait increases chance users will read the warning about safely implementing RMW
having Upsert/Read available for free is great reduction in developer overhead for users not wanting RMW functionality
the callbacks could previously have been redefined by a malicious implementer

@Max-Meldrum the other change I've made since you reviewed was to pull the callback methods out of the traits. It never really made sense to have them in there, given we don't want someone overriding the implementation.

@matthewbrookes Yeah, I saw. Looks good. Feel free to merge.


Blob size is always 44 and Lex not recognising voice input

After downsampling and encoded to wav the blob size is showing 44 always when tried with different utterences and the voice input not recognised by lex

Hi @thejesh-kampalli-tm I am also facing the same issue. did you find any solution for this?