support http proxy from an echo forwarder

Setting HTTP_PROXY or HTTPS_PROXY will allow the test runner to use the proxy on requests via ingress. gRPC lib should handle these already, so ForwardEcho calls should work.

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
01d88544715bbcb272a51c6e96c95bafda064cbf
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
01d88544715bbcb272a51c6e96c95bafda064cbf
link
/test release-notes_istio

unit-tests_istio
01d88544715bbcb272a51c6e96c95bafda064cbf
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
01d88544715bbcb272a51c6e96c95bafda064cbf
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Download platform-specific PTVS binaries on first run

Included in https://github.com/Microsoft/vscode-python/pull/1231


Use proper currency symbol pattern matching.

It is needed for another feature I’m thinking about. The current solution works well, but is a bit too hack-y. The new implementation should still search directionally, as far as needed, and be skipped when not needed.

Solved by 31f55884f5ac7b652f337779c344ceda6314a43a.


Bump default base Triton version

Also avoid CMake 3.25.0 due to Cuda Toolkit finding bug

Test failure was an issue with the CI runner. Rerunning...


more involved lexing?

I can see some need to get a little deeper with the lexing than just whole lines, for it to be a good, complete lexer. These are what is on my mind:
TAP version 13\n
version_identifier, version, linebreak

1..6 # Skipped: WWW::Mechanize not installed
test_point_first, plan_divider, test_point_last, plan_explanation

ok 4 should be equal
test_ok, test_point, test_description

not ok 13 # TODO bend space and tim
test_not_ok, test_point, directive_todo, directive_description

ok 23 # skip Insufficient flogiston pressure.
test_ok, test_point, directive_skip, directive_description

I omitted the trailing linebreaks for brevity, but those would be present and lexed for each line. I suppose spaces also need to be a token, like between version_identifier and version.

On the other hand, I've read an argument against lexing saying that it can make parsing more difficult, which is probably the case here.

Something has to parse lines so that an abstraction can be created like tap-parser that includes all of the data from lines. https://github.com/tapjs/tap-parser#ponassert-function-assert-

A lexer shouldn't consider context. That's something for a parser to do later.


SceneGraph::m_skybox needs to be manually set.

SceneGraph::m_skybox is being manually set in the scene headers. This shouldn't be necessary. Might be solved with the #241 fix.

Duplicate issue with #241. Closing


Fix forgotten handler for interceptorAccessReadyAndListening

This causes interceptor to throw when approving access request that pops initially

Can we do anything with type checking to ensure we don't forget items in the future? Do we have a union of all required keys somewhere (or can we create one)?

yeah. I was planning to do this refactor at some point, but I guess this was a good time to do it as I already run into a bug that was caused by this :). I refactored popup message handling to be similar with rpc method handling


Remove _DEP requirement

The OSPM can add IRQ dependencies by looking at GSI map. So, the requirement of adding _DEP under each device which needs GSIs (wired interrupts) is no longer required. Remove the requirement.

Hooray :-), I'm glad  common sense prevailed...


Update scala-collection-compat to 2.11.0

Updates org.scala-lang.modules:scala-collection-compat from 2.10.0 to 2.11.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, commit-count:1

@Mergifyio rebase


Example code doesn't work for me?

what am i Missing here?  I can't get this or the code example in the zip to function.
my script editor shows an error at the line :  tour.addStep 'example',

herer

Can you provide the entire code and/or a jsFiddle?

I seem to be having the same problem on OS X Yosemite. I've installed tether-shephered via npm, so it's currently residing in my node_modules.
The dependencies are loaded into the html as such:
<link href="tether-shepherd/dist/css/shepherd-theme-arrows.css" rel="stylesheet"/>
<script src="tether-shepherd/dist/js/shepherd.js"></script>
<script src="tether-shepherd/node_modules/tether/dist/js/tether.js"></script>

I tried using both the minimised version and the regular ones, but neither one works.
The example code is added straight into my document.ready function like so:
$(document).ready(function() {
  var tour;

  tour = new Shepherd.Tour({
    defaults: {
      classes: 'shepherd-theme-arrows',
      scrollTo: true
    }
  });
});

However, that freezes the entire js file and nothing loads after that. Do you have any insight into what I may be doing wrong?
Kind regards,
Dragos

Could you also provide a jsFiddle and/or the rest of the JS/HTML code?
If I had to guess though from what you provided, you need to require tether before shepherd, add steps for the tour, and make sure the appropriate targets exist on the page.
 That fixed it, thank you :)

No worries. Happens to the best of us :sweat_smile:


KAFKA-3474: add metrics to track replica fetcher timeouts

LGTM.

Cc @gwenshap

@junrao This doesn't merge cleanly anymore after https://github.com/apache/kafka/commit/b94a7812beeb840926871df84838f35ca7b76ffe

@junrao, do we want to revive this PR?

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/6548/
Test FAILed (JDK 8 and Scala 2.12).

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/6563/
Test FAILed (JDK 7 and Scala 2.11).


Strategy Interface (type)

What would you like sesh to do?
As a developer, I want all my packages that implement different strategies (ex: tmux, zoxide, config, etc...) to share an interface, so when I add or remove a strategy it is easy to follow the build errors to ensure all areas of the application are covered.

I believe some of this work is already done, but it would be good to document and clarify in future work.


Cop idea: minimize number of negations in a condition

Currently, Style/NegatedIf (and Style/NegatedUnless) recommend if x over unless !x, which is good because negations are less natural for the reader.
What might be useful is a cop that goes a step further and recommends if x || y over unless !x && !y. That is, a cop that reduces the number of negations in a boolean expression as much as possible by leveraging DeMorgan's Rule.
In its basic form, it could look for conjunctions (or disjunctions) where all terms are negated:
# bad (all terms negated)
unless !x && !y && !z

# good (all terms positive)
if x || y || z

A more complex version could look for conjunctions (or disjunctions) where there are more negations than positives:
# bad (3 negations, 1 positive)
unless !x || !y || !z || w

# good (3 positives, 1 negation)
if x && y && z && !w

Does this sound reasonable? 🤔

I had a similar suggestion a while ago - https://github.com/rubocop/rubocop/issues/8879. Just need to implement 😄


Got a pink background color status bar

Pink is not my color. I want change a different color. The question is how to change it?
Thanks.

Open your user settings, and insert this:
{
    "workbench.colorCustomizations": {
        "statusBar.noFolderBackground": "#0078CD"
    }
}

You can change the color code at any given time.

Sorry, but this is not the right place for questions. Please post questions over at StackOverflow: http://stackoverflow.com/questions/tagged/vscode
Thanks for understanding.


ModuleNotFoundError: No module named 'feature_extractor'

Hi, thanks for your share.
I ran your project but got the error "ModuleNotFoundError: No module named 'feature_extractor'". Would you please tell me how to get this module?

Hi, thanks for your interest and question, this is due to the wrong sub-dir name, I have corrected it.

@Xt117
I have updated the requirements as well as related codes, can you re-try it and let me know?
Thanks!


1.1.04

Fix break value in template
In version 1.1.03 we introduced a value change (true:false) in the behavior of the template saved in localstorage, which had the effect of breaking the value potentially saved previously.
This fix allows to automatically change the value 'yes:no' to 'true:false' in order to match the value expected by version 1.1.03.

no review need @mwolff44


Add nullable slot_leader.pool_hash_id

To enable a model of Block.forgedBy -> StakePool and StakePool.blocksForged -> [Block]
See https://github.com/input-output-hk/cardano-ledger-specs/pull/1637

Doesn't this duplicate the slot_leader table?

Yea, you can get to pool id through the slot_leaders table.  It would, however, be very convenient if we could have the pool id in the  slot leader table rather than part of the vkey.  I currently convert the vkey to a pool id as follows and store it in a new column in the slot leader table:
vkey = "5820"+p['hash'][2:]
h = hashlib.blake2b(digest_size=28)
h.update(binascii.unhexlify(p['hash'][2:]))
poolid = h.hexdigest()

This allows me to do a join and build out blocks per pool fairly easily.

@disassembler Yes, it would. I've updated the title to extend the leaders table with a key for joining easily
@papacarp thanks for adding your workaround. Hopefully you can refactor away from this, as modifying schema of the tables managed by cardano-db-sync is advised against by @erikd

Other columns needing the same relationship:

https://github.com/input-output-hk/cardano-db-sync/blob/master/cardano-db/src/Cardano/Db/Schema.hs#L207
https://github.com/input-output-hk/cardano-db-sync/blob/master/cardano-db/src/Cardano/Db/Schema.hs#L214


All the whitespace fixes

Because Codacy,

Will be approved after:

commented changes are fixed
#146 is merged

Approved

Approved (2.0)

Approved


Allow RuntimeVersion with wildcard in patch to roll forward

Summary

Resolves #135
Use Cases

Now, if a user specifies runtime version 1.2.* and the earliest available version is 1.3.0, the buildpack will choose that version instead of failing the build with an unmet version constraint error.
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

I just tried this out, and it works as expected! Thanks @fg-j


Automated cherry pick of #6795: fix: policy-explain not working properly

Cherry pick of #6795 on release/2.13.
#6795: fix: policy-explain not working properly

Codecov Report

Merging #6796 into release/2.13 will increase coverage by 0.00%.
The diff coverage is 4.16%.

@@             Coverage Diff              @@
##           release/2.13   #6796   +/-   ##
============================================
  Coverage          6.86%   6.86%
============================================
  Files               536     536
  Lines             90621   90614    -7
============================================
+ Hits               6222    6224    +2
+ Misses            83889   83880    -9
  Partials            510     510

Flag
Coverage Δ

#aFlag
6.86% <4.16%> (+<0.01%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/cloudcommon/policy/policy.go
1.58% <ø> (+<0.01%)
:arrow_up:

pkg/cloudcommon/policy/resources.go
0.00% <ø> (ø)

pkg/compute/models/guestdisks.go
0.57% <ø> (+<0.01%)
:arrow_up:

pkg/compute/models/secgroups.go
1.88% <0.00%> (-0.01%)
:arrow_down:

pkg/compute/models/snapshots.go
1.58% <0.00%> (+<0.01%)
:arrow_up:

pkg/util/rbacutils/policyset.go
75.00% <0.00%> (+9.78%)
:arrow_up:

pkg/util/rbacutils/rbac.go
54.74% <14.28%> (-1.00%)
:arrow_down:

pkg/cloudcommon/db/lockman/inmemory.go
67.07% <0.00%> (+2.43%)
:arrow_up:

pkg/appsrv/response.go
69.11% <0.00%> (+2.94%)
: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 d425614...9e4cddb. Read the comment docs.


Off by one in BuyingPowerModel.GetMaximumOrderQuantityForTargetBuyingPower

Expected Behavior

Calling security.BuyingPowerModel.GetInitialMarginRequiredForOrder using the results of security.GetMaximumOrderQuantityForTargetBuyingPower should not exceed the provided target buying power.
Actual Behavior

The initial margin required for order can exceed the target buying power in cases of constant fees, leading to an off by one error. The error in computed quantity increases according to the ratio of the stock's share price and the constant fee, so if the fee is 100x the stock's share price, then we'll end up off by 100 shares.
Potential Solution

Update the GetMaximumOrderQuantityForTargetBuyingPower implementation to properly account for fees. This will be done by effectively rewriting the implementation according to the new SecurityPositionGroupBuyingPowerModel's implementation which was reformulated from the ground up based on the initial implementation going back many years, with two specific modification, to remove the fees from the total margin per share as well as defining minimum and maximum targets. The current implementation aims to produce a high estimate and walk it down until it's within range. This approach requires at least two full loops, whereas the new implementation can solve the problem with no looping when fees are strictly proportional with order value, such as in crypto trading where fees are a percentage of total order value.
Reproducing the Problem

I'll add some new unit tests to address this issue directly, but if you run any of the following tests and use the results of GetMaximumOrderQuantityForTargetBuyingPower to compute GetInitialMarginRequiredForOrder, you'll observe that the initial margin required exceeds the requested target buying power.
These tests, aimed at generating margin call orders, are the easiest ones to view the errant behavior:
PatternDayTradingMarginBuyingPowerModelTests:
  VerifyMarginCallOrderLongClosedMarket
  VerifyMarginCallOrderLongOpenMarket
  VerifyMarginCallOrderShortClosedMarket
  VerifyMarginCallOrderShortOpenMarket

System Information

Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

Hi @mchandschuh I also have noticed this bug couple years ago, I think GetMaximumOrderQuantityForTargetBuyingPower in CashBuyingPowerModel  keeps count correctly though.  I had a closer look on these two methods when implemented custom portfolio construction model for a basket of stocks. And helper methods as:

GetMinQuantityToReleaseTargetMarginValue - determines minimum number of shares to buy/sell to release required margin
GetMaxQuantityForTargetMarginValue - determines max number of shares can buy for available margin , including fees..

Hi @mchandschuh I also have noticed this bug couple years ago, I think GetMaximumOrderQuantityForTargetBuyingPower in CashBuyingPowerModel  keeps count correctly though.  I had a closer look on these two methods when implemented custom portfolio construction model for a basket of stocks. And helper methods as:

GetMinQuantityToReleaseTargetMarginValue - determines minimum number of shares to buy/sell to release required margin
GetMaxQuantityForTargetMarginValue - determines max number of shares can buy for available margin , including fees..

Closing for now since we doubled checked this isn't a bug. Some notes by @mchandschuh:

The get max quantity algorithm searches for an order quantity that when executed, yields the requested percentage of holdings in the particular security (or group). This means that the reference point for the percentage is after the order executes. The implication of this is needing to deduct order fees from TPV before applying any scale factors (such as RequiredFreeBuyingPower and parameters.TargetBuyingPower). If fees were scaled along with order margin, then the resulting holdings would be the requested target percent of what TPV used to be, i.e, currently is at the time get max quantity runs.

CashBuyingPowerModel doesn't handle fees the same way as BuyingPowerModel


Studying "Best of the 'Friends' Cast on 'The Ellen Show' | Ellen"

From https://www.youtube.com/watch?v=nLYfnbHcEaY

Part 1
are you guys kidding me? rachael was my life.
you know, what makes me so happy is that I would watch it on channel 33 at 10:30 every night on Thursday with my mom.
and I cried when the fall season was over but what made me so happy was that people my age everyone else is so obsessed and it just made me so happy four ~??~ the show because it's iconic.
ellen is really nice. she's really funny. you're gonna do grea.
i know, i know. i just wanna know is it scripted, is it improvised?
yes.
yes to what? come on. you gotta give me something to go on.
oh. don't say go on.
i am sorry.
you're going to be great. you're really smart, beautiful, sexy.
what's happening ~down~ around here?
court? lisa? you sleeping with her too? of course not. you still dating the writer guy, right?
oh my god. you're disgusting. i will never sleeping with you again.
but we're still on for tomorrow night, right? yeah.

we are still on

meaning) you will ask someone if you are “still on” to either clarify an already made arrangement or double-check that the arrangement is still going ahead (for meeting or date)
ex) "Are we still on for the trip to the zoo on Saturday?"
ex) "Are we still on for tomorrow’s date?"
Note: this expression is informal. (친한사이일때만 사용함) For formal expession, use, e.g.,  "Does our appointment still suit your schedule?", "How does it suit you?"
https://grammarhow.com/are-we-still-on/

How long has this been going on?
You really should call...
I know something was happening because I text ...
You ~???~ really should've ~call~ called ~??~ first, Jen., good luck with the show.
i understand. I should've called.

part 2
from https://youtu.be/nLYfnbHcEaY?t=157

Part 3
https://youtu.be/nLYfnbHcEaY?t=227

This is it! right? Yes it is. They didn't replicate it. This is the set.
Can I tell you something? I was supposed to get that. This neon cup. Let's take it down.
You're supposed to give this to me. Where's Grey?
Rarely, ~really~ This is when we switch it up. We can't do another scene on a coutch. So let's go ~sit up put~ set up that weird couch by the window
This looks so much smaller. Yes, it's different now, right? I know it does feel small, when I came in here ~that was~ I thought it was small.
That's ~bizzar~ bizarre. This is the exact sofa.
Now seriously I would've thought ~you~ y'all brought this stuff home.
Why wouldn't you looking at this, doesn't it feel good? it's good feelings? It's amazong feelings. Feels like second to go.
Now, wouldn't you wanna do a reuion feeling this right now?
Everybody, start rolling.

발음

neon 니언

different 발음 difrn

I thought it was small 을 ~that was~ small 라고 들었다.

y'all [yȯl] (YouGlish 에 사례가 엄청 많음)

"Thank y'all", "Can y'all hear me okay?", "What I want to warn y'all about is this happens."

외울 표현

let's take it down. 내려놓자.
start rolling = start the ball rolling

"I will start the ball rolling by introducing the first speaker."

bizarre

Very strange or unusual, especially in a striking or shocking way

feeling 느낌. 감정. 복수: feelings

He doesn’t mean to hurt your feelings.

Part 4
https://youtu.be/nLYfnbHcEaY?t=329

https://youtu.be/nLYfnbHcEaY?t=462

Part 6 Dictation

https://youtu.be/nLYfnbHcEaY?t=577

Did you take any memorabilia from the set?
I actually took mat perry.
good choice.
That's strange ~actually~ reaction.
He's in my library. I can't get rid of hime. three cheese burgets a day.
he's ... that was a good choice to take him.
I got the really cool chunk of street outside of Central Perk.
When they struck the whole set, we actually have an asphalt of street
outside of Central Perk
they tore it all up and I got a chunk of it. it's a nice chunk of the street.
how do you proove that's from the set, when you want something, that's like the sign of Central Perk or something?
I'm just saying.
Bunch of people are right now chopping up pieces of asphale and selling them.
Authentic part of central perk.

memorabilia

a record of things worth remembering
"posters, publicity photographs, and other movie memorabilia."

Questions

Did you like "Frneds"? If so, any reason you like "Friends"?
Who is your favorite character?
Do you have a place like Central Perk where you hang out with your friends?


Feature Request: Mixin Support

If a component uses mixins then this is not represented in the generated documentation.
Components
If a component uses a mixin then either
a. they should be listed in a separate table
b. the mixin should be merged into the component and the resultant properties and methods documented (this would be preferable).
For example
<script>
export default {
    name: 'FeatureShowcase',
    props: {
         'aprop': { type: Boolean }
    },
    mixins: ['LocationMixIn', 'GeoMixIn']
}
</script>

Should Generate
FeatureShowcase
Props

Name
Description
Type
Required
Default

aProp
Boolean
false
-

Mixins

MixIns

LocationMixIn

GeoMixIn

Mixins
When documenting mixins it's helpful to also document some of the internals, eg computed properties and data
Being able to explicitly document computed properties using // @vuese would help greatly
Being able to document data properties in the same way as props would also help mixin clarity.
For example
    export default {
        name: 'FeatureDemo',
        data: () => {
            return {
                // are you ready
                isReady: false
            }
        },
        methods: {
            // @vuese
            confirmedAtLocation() {
                // Do something ...
            },
            // @vuese
            cancelledAtLocation() {
                // Do something ...
            },
        },
        computed: {
            // @vuese
            distanceToLocation() {
                // Do something ...
            }
        }
    }

Should generate
FeatureDemo
Methods

Method
Description
Parameters

confirmedAtLocation

-

cancelledAtLocation

-

distanceToLocation

-

¢ Internal Fields
Data

Name
Description
Type
Default

isReady
Are you ready?
Boolean
False

Computed

Method
Description

distanceToLocation

Thank you

Thanks, I realized the value of it.

Added a pull request which implements the "Mix Ins" table listing part of this.

Thanks to https://github.com/vuese/vuese/pull/51


[FEAT] Add Multi Lingual Support to the application

To enhance the user experience and make the e-commerce website accessible to a broader audience, we propose adding multi-lingual support. This will allow users to view the website content in their preferred language, improving usability for non-English speakers and expanding the potential customer base.
Objectives:

Implement a multi-lingual system that supports multiple languages (e.g., English, Spanish, French, Hindi, etc.).
Provide users with the option to switch between languages seamlessly.

Proposed Solution:

Language Selection:

Add a language dropdown in the header where users can select their preferred language.
Use flags or language names to make selection intuitive for users.

Current State:

@IkkiOcean assigned!


What is the correct way to test paginate outside of the FastApi route?

I want to separately test my piece of code that makes queries to the DB, including queries with pagination. The problem is that without explicitly specifying params, I get a "Use params or add_pagination" error.
I've settled on explicitly throwing params from the test, but would like to know which way you think is correct?

Hi @vadim-feskov,
Best way will be to use set_page + explicit params passing:
from fastapi_pagination import set_page, Page, Params
from fastapi_pagination.paginator import paginate

with set_page(Page[int]):
    page = paginate(
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        params=Params(
            page=2,
            size=5,
        ),
    )

@uriyyo this is not very useful for testing.
Let's say I have a method
list_books() -> Page[Book]

It gets it's pagination parameter from FastAPI request's context. But when I am testing I don't have such context, and I can't modify list_books() method to take additional Params.
It would be nice if I can do something like:
# Imaginary
page = list_books()
books_list: list[Book] = page.get_items(page=1, size=10)

Hey @uriyyo, sorry for disappearing.
I added params attribute to my function with default = None, so i could pass parameters in the test, and at runtime they don't overwrite the real parameters added via add_pagination
async def get_paginated_foo(
    self,
    params: AbstractParams | None = None,
) -> Page[Foo]:
    ...
    return await paginate(self.session, query, params)

But i agree with @mahesh-hegde, it would be really useful if it would be possible to add/override params for test specially

@vadim-feskov @mahesh-hegde
I just released 0.12.16  version that has set_params function that will allow you to set params value that will be used inside paginate call:
from fastapi_pagination import Page, Params, paginate, set_page, set_params

set_page(Page[int])
set_params(Params(size=10, page=2))

page = paginate([*range(100)])

print(page.items)

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

@uriyyo Nice. One question. Does the return value implement a context manager? can I do
with set_params(Params(size=10, page=2)):
  page = paginate(query)
  print(page)

And will params reset outside of this block? That would be great if possible.
Thanks

@mahesh-hegde Yup, both set_params and set_page can be used as context managers:
from fastapi_pagination import Page, Params, paginate, set_page, set_params

with (
    set_page(Page[int]),
    set_params(Params(size=10, page=2)),
):
    page = paginate([*range(100)])

print(page.items)

And will params reset outside of this block?
Yup, that's how it works

Great. Thank you.
On Tue, 20 Feb, 2024, 10:28 pm Yurii Karabas, @.***>
wrote:

@mahesh-hegde https://github.com/mahesh-hegde Yup, both set_params and
set_page can be used as context managers:
from fastapi_pagination import Page, Params, paginate, set_page, set_params
with (
set_page(Page[int]),
set_params(Params(size=10, page=2)),
):
page = paginate([*range(100)])
print(page.items)
And will params reset outside of this block?
Yup, that's how it works
—
Reply to this email directly, view it on GitHub
https://github.com/uriyyo/fastapi-pagination/issues/1003#issuecomment-1954647571,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALAKLFT2MIZOVLFUB5GSQL3YUTI5DAVCNFSM6AAAAABCMKUWZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJUGY2DONJXGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@vadim-feskov Can I close this issue?

Hi @vadim-feskov,
I am closing this issue, please reopen it in case you still have any issues.


Is there a way to have pg_dumpbinary exclude columns that have been dropped?

One of the tables included in my pg_dumpbinary run apparently included a column which was previously dropped. This is preventing me from restoring with the -a (data only) option, as the prepared structure (that I am restoring into) does not have the dropped column.
The error which pg_restorebinary raised was
ERROR:  column "........pg.dropped.14........" of relation "config" does not exist
The file meta-[schema].config.txt (produced by pg_dumpbinary) includes this:
[actual columns]
"........pg.dropped.14........"
[more actual columns]
pg_catalog.pg_attrdef shows this table "config" has a column "........pg.dropped.14........ " where attisdropped is true.
Is there a way to prevent pg_dumpbinary from including these dropped columns?

Hi Mike,
Thanks for the report, commit f14dbcd should fix this issue. As a workaround for your current dump, I think that if you remove the column in the meta-[schema].config.txt file the import should be successful. Let me know.

Thank you for the incredibly-prompt response. This fix has solved our issue.

Release v2.13 has been published with this fix, see https://github.com/lzlabs/pg_dumpbinary/releases/tag/v2.13


Fixes spelling of "Ensures" in gremlin-support.md

Simple spelling mistake "Ensurest" -> "Ensures"

@jsedlak : Thanks for your contribution to the Azure documentation! The author, @dennyglee, has been notified to review your proposed change.

#sign-off


How do I create a custom rerun check in Pipeline

Describe your use-case which is not covered by existing documentation.
Hello Team,
I am currently using the githubNotify plugin which helps create a status check in Github for my PR's

I wan to add a re-run to the above check. The github-checks-plugin seem to offer a re-run functionality as stated here.
https://plugins.jenkins.io/github-checks/#plugin-content-rerun-failed-build
Can you please advice on how to achieve this. The piece of code which enables the check during my pipeline run is as below.
githubNotify context: 'Master job status',
description: 'No jobs running',
status: 'SUCCESS',
gitApiUrl: 'https://github.com/api/v3'
Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.
No response

We don't support custom rerun, we only support the rerun action automatically added by GitHub after failure. I wonder if you just want a rerun, why want it as a custom action?


Consolidate duplicate configuration

Configuration applied both to Debug and Release, so I merge this settings.
Obviously unrelated to bug, but cannot resist and not cleanup

Hello, no problem, would you like to work together?

I already figure out the issue with drag drop. FYI: Also on RC1 you have to implement bunch of methods and properties and Pi property can be a problem for example

Please, whats the problem with Pi? And witch (group of) functions are missing?

public static BigRational Pi(int digits)

This interface https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Numerics/IFloatingPoint.cs
now derives from this one
https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Numerics/IFloatingPointConstants.cs
as you will see, it has Pi property. You cannot have property Pi and method Pi() in the same class.

Thanks, I see so far I don't support IFoatingPoint. It wouldn't be a problem to implement something, but does it make sense for such a number type? There is no constant for this, not even a cache (but it is planned). Within calculations, even low-level, cpu.sin, cpu.tan, when pi is requested, it is calculated in real-time in the currently desired precision.
But these are the design issues I really need help with.
It would be easy and quick to change everything.

You cannot not implement it, or you have to implement, but make it throw NotImplementedException, that interface is part of INumber<T> so with latest preview or nightly RC1 you will hit compilation error

I use this as reference:
https://source.dot.net/#System.Private.CoreLib/INumber.cs,0f558758e750a740
and
https://source.dot.net/#System.Private.CoreLib/IFloatingPointConstants.cs,9ff158e2a0a8fb1f
There in INumber and INumberBase IFloatingPointConstants is not included.
Is there a better link for pre-versions or something?

I'm not sure from which version of .NET source.dot.net gets source code, but I give you source code for latest bits from main branch. That's where dev works. And that's for sure would be either in Preview 7, or in RC1. If you install RC1 from here https://github.com/dotnet/installer you will see the issue yourself. Just be prepared before release to update things.

Please take a look at approximate changes which would be required https://github.com/c-ohle/RationalNumerics/pull/7

Many thanks for the hints - I need time to check.
And sorry for the CreatePixelShader bug - but would be interesting to know what graphics hardware it is, usually there is a fallback to the  reference renderer.

I have it, they put IFloatingPointConstants in IRootFunctions, ITrigonometricFunctions.
What nonsense. Anyway, will update that it works and check in.
Will think later how to create a halfway logically interface on this - this time probably with a glass of vodka.
Thanks for hardware...
Maybe the mentioned further drag-drop bugs fixed - will check and let you know.

My idea was rename Pi to AproximatePi, that way methods still make sense. Just an idea

This works too:
static BigRational IFloatingPointConstants<BigRational>.E => Pi(1000) // :-)

Thanks again, that was all very helpful. Latest NET7 version checked in, no more conflicts.
Maybe the DX11 problem is solved too.
From this morning, have you seen the last notes?
These problems are definitely still in. Probably relating to issue 6976 but must somewhere else in the source and this since longer.
Before I start a new issue, it will probably go faster if you continue this.
Please not wondering if BigInteger sometimes crashes.
I found some old bugs are fixed. Also BigInteger bugs I reported. But there is a new issue with BigInteger and maybe mutch deeper in the system. In the tests and  benchmarks, after massive calculations BigInteger calculates wrong numbers, sometimes exceptions, but it's not determined, does not depend on the numbers.
Maybe they forgot a span.Clear() but two times I got exception from ArrayPool.Shared.Rent (was in threads and difficult to debug).
Did not report this before I can reproduce.


Fix notification popup redirects

Issue

Closes #1953
Closes #1952

The change in d34d32ac caused the search parameter to be blank (everything went into pathname).
Change

Parse the notification target and define pathname and search to feed into NavLink::to
It seems like the push in NavLink::onClick is redundant (onClick and to is union'd?), so removed that.

@saltrafael double check this later to make sure nothing was missed.


Federated prometheus server doesn't update metric drop

What did you do?
I configured different prometheus servers and one federated Prometheus which scapes from others (host1, host2, host3) with attached configuration prometheus.txt
The federated reports, in the graph, the following federated metrics:

There are 3 metrics/lines. They were scraped from a prometheus server (1st level prometheus server) which is in charge of collecting all the metrics for customer "test". Each metric was reported by a separated agent and is constantly monitored in order to trigger an alert in case a metric drops (in other words, in case of service failure).
So, I did some tests in order to simulate a service failure by stopping the reporting agent.
What did you expect to see?
I expect to see the metric drop on both prometheus servers (the federated one and the 1st level prometheus server) after trying to stop the agent.
What did you see instead? Under which circumstances?
I was able to see a metric drop down only on the "1st level prometheus server" (the one which collects metrics from the agents) as reported by the red line in this graph:

The problem was with the federated server. Interruption wasn't immediate:

I waited for about 8 minutes and 4 seconds before collecting an interruption in the graph line. In those minutes, the graph line was stuck on 40 without fluctuations.
I wasn't able to perform any tuning in order to fix this behaviour. So, this looks like a bug (IMHO).
Environment

System information:
Linux 3.10.0-327.36.3.el7.x86_64 x86_64 (where the agent and the prometheus servers run)

Prometheus version:
prometheus, version 2.0.0 (branch: HEAD, revision: 0a74f98628a0463dddc90528220c94de5032d1a0)
build user:       root@615b82cb36b6
build date:       20171108-07:11:59
go version:       go1.9.2

Prometheus configuration file:

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      datacenter: 'global'

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first.rules"
  # - "second.rules"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: datacenter_federation
    honor_labels: true
    metrics_path: /federate
    params:
      'match[]':
        - '{__name__=~"fed.*"}'
    static_configs:
      - targets:
        - host1:9090
        - host2:9090
        - host3:9090

Thanks in advance for your replies and your help! :-)
Luca

This is the expected staleness behaviour for data with timestamps such as from federation. This is not how federation is meant to be used for this and other reasons, see https://www.robustperception.io/federation-what-is-it-good-for/

Thank you @brian-brazil . I see your point. As general behaviour of federated prometheus node, I would prefer that a federated nodes wouldn't report any data when no data is pull from the scraping node instead of keeping the data value stuck on 40 for about 8 minutes:

Luca


[SQL] [TEST] [MINOR] Follow-up of PR #6493, use Guava API to ensure Java 6 friendliness

This is a follow-up of PR #6493, which has been reverted in branch-1.4 because it uses Java 7 specific APIs and breaks Java 6 build. This PR replaces those APIs with equivalent Guava ones to ensure Java 6 friendliness.
cc @andrewor14 @pwendell, this should also be back ported to branch-1.4.

Merged build triggered.

Merged build started.

Test build #33876 has started for   PR 6547 at commit 72da795.

lgtm merging once tests pass

Test build #33876 has finished for   PR 6547 at commit 72da795.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Addressed @zsxwing's comment, will merge this to master and branch-1.4 once Jenkins passes.

Merged build triggered.

Merged build started.

Test build #33972 has started for   PR 6547 at commit c900cfd.

Test build #33972 has finished for   PR 6547 at commit c900cfd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

master 1.4 thanks cheng


support for openai token：sk-

is there plan to support open ai token like sk-ahBdjQ5.... as auth method ?

focus on


CMake Windows and OSX actually working

@h-vetinari this should be largely working, see my comment here for more details

Merging this sight unseen, we can discuss details in the other PR, but first off: a huge thanks! :)


storage: support atomic operator in rawkv

Signed-off-by: Little-Wallace<EMAIL_ADDRESS>
What is changed and how it works?
This PR is to support atomic operation in RawKV. User can use these method to finish single row transaction.
I supply three method to support these operation: raw_compare_and_set_atomic,  raw_batch_put_atomic, raw_batch_delete_atomic, you can use them just like atomic method in cpp std::atomic::compare_and_exchange_weak and std::atomic::store.
Related changes

https://github.com/pingcap/kvproto/pull/732/files
based on https://github.com/tikv/tikv/pull/9797

Check List
Tests

Unit test
Integration test

Side effects

Performance regression

Consumes more CPU

Breaking backward compatibility

Release note

Add method raw_compare_and_set_atomic, raw_batch_delete_atomic and raw_batch_put_atomic to support atomic operation.

Please rebase on the current master

/test

/merge

/merge cancel

/merge

/test


Allow changing working directory for monorepo

To deploy Pages Functions, Wrangler must be run in the directory where the functions/ directory lives, but the jobs.<job_id>.steps[*].working-directory key cannot be used with the jobs.<job_id>.steps[*].uses key.

Will have to add the working-directory when we call wrangler here https://github.com/unlike-ltd/github-actions-cloudflare-pages/blob/2e411d90281a8076b19eec26cb972368f3cac97e/src/cloudflare/deployment/create.ts#L49-L54 .
We try to use the jobs.<job_id>.steps[*].working-directory over defining another jobs.<job_id>.steps[*].with input.
Perhaps need to validate the working-directory & directory exist. The jobs.<job_id>.steps[*].working-directory might do this for us?

@chalkygames123 Can you not use Advanced Mode for Pages Functions

Advanced mode allows you to develop your Pages Functions with a _worker.js file rather than the /functions directory.

@chalkygames123 try v1.3.2

Thank you, your fix does the trick: https://github.com/chalkygames123/sandbox-actions/actions/runs/8410156418

Can you not use Advanced Mode for Pages Functions

Technically, I can use Advanced mode but prefer directory mode when building an API for one specific app.


Add support to set X-Trino-Extra-Credential header

The Trino Go client does not provide a mechanism to set extraCredentials, which may be needed by some connectors. The Trino HTTP server expects to find a header named X-Trino-Extra-Credential per https://github.com/trinodb/trino/blob/8943325421e81990804a64c9f4f4fd1aaf3e2fc9/client/trino-client/src/main/java/io/trino/client/ProtocolHeaders.java#L131-L134
Possible Solution

Extend the URL to accept a query parameter named extraCredentials that takes the form key=value[,key=value,...] per the requirements of the Trino source

Set the X-Trino-Extra-Credential header similar to here https://github.com/trinodb/trino-go-client/blob/67b9a8c818cc5327fb207e1c3cc5ee0acb84cc1e/trino/trino.go#L304

Closed with https://github.com/trinodb/trino-go-client/pull/23


Update datatest to work on 1.40

Add new required field to TestDesc.

Yeah, I have another PR open for it #19. I'm kind of holding it off since not sure if I want to merge it before tests pass on stable. But stable is not yet released, so maybe it's okay.

This will require latest version to support  <=1.38 and a new version for newer versions. I can put this behind a feature flag if you want.
CC https://github.com/commure/datatest/issues/18

This won't be needed until 1.40 (1.39 is fine), but I feel that the feature flag approach should be a reasonable imposition. What do you think? We could even peek the compiler version to enable the right feature so that it is seamless.

2 notes:

datatest is broken again on nightly as rustc_test::parse_opts has moved to rustc_test::test::parse_opts
You probably want to replicate https://github.com/commure/datatest/pull/19/commits/e8db02024972c34efdf62c72177cca933c82d339 from #19

Uh-oh. I'll take a look.
Yeah, I copied your changes from #19 to #21, but haven't merged them / finished (I tried used your branch initially, but messed up the merge).

continue over at #19


Consider option for output path

Hi, so it seems that the plugin outputs the generated index.html to the publicPath along with all other files. Is there a way to specify the output path?
If there is, I'm sorry for the noise, and please ignore everything below this.
EDIT: I've just come across this: https://github.com/ampedandwired/html-webpack-plugin/issues/234
I still stick by my argument below, because ultimately I want to supply the compiled files & generated index.html to a backend server, and when that happens, index.html is not an "asset" in the same scope as css, js, or image files.
Here is the webpack config:
module.exports = {
  . . .
  output: {
    filename: "[name].js",
    path: "build",
    publicPath: ""
  },
  . . .
  plugins: [
    new HtmlWebpackPlugin({
      template: "index.html"
    })
    . . .
  ],
  . . .
}

The consequential build package looks like so:
|-- build/
\
  |-- index.html
  |-- main.js

However, I would like to separate the javascript files into its own folder, so that the structure looks like so:
|-- build/
\
  |-- index.html
  |-- js/
  \
    |-- main.js

There are a number of ways to achieve this currently, and none of them are difficult, but none are ideal or 'correct' in my opinion. I think the ideal solution allows all "assets" (.js, .css, .jpg, etc...) to be placed in the publicPath directory, and the index.html should still remain in the root build/ directory (specified by the output.path option in the webpack config).
I could manually write the index.html file and place it at the root-level of build/, but this would stop me from taking advantage of auto-generating the index.html file with hashes (or at least, make it very annoying).
I can specify the output path in the name for all files except for the index.html file, but it feels like an anti-pattern to have to adjust every other file via the name field except for index.html, instead of the other way around. If I use the commonsChunkPlugin, I have to do it for each of those bundles. If I have multiple commons chunks, I will need to specify the path for each one. If I extract the css-sheets, I have to specify the path there. I don't know how to specify the path for images yet. This is what it would look like:
module.exports = {
  . . .
  output: {
    filename: "assets/[name]-[hash].js",
    path: "build",
    publicPath: ""
  },
  . . .
  plugins: [
    new HtmlWebpackPlugin({
      template: "index.html"
    }),
    new webpack.optimize.CommonsChunkPlugin({
      name: "commons",
      filename: "assets/[name]-[hash].js"
    }),
    new ExtractTextPlugin(
      "assets/[name]-[hash].css"
    ),
    . . .
  ],
  . . .
}

Instead, I think the ideal config might look like this:
module.exports = {
  . . .
  output: {
    filename: "[name]-[hash].js",
    path: "build",
    publicPath: "assets"
  },
  . . .
  plugins: [
    new HtmlWebpackPlugin({
      template: "index.html",
      path: "build"
    }),
    new webpack.optimize.CommonsChunkPlugin({
      name: "commons",
      filename: "[name]-[hash].js"
    }),
    new ExtractTextPlugin(
      "[name]-[hash].css"
    ),
    . . .
  ],
  . . .
}

Let me know what you think!

Agree, I want all my assets in assets and the index.html in the root. Currently, I can't find a way to do that.

Please see: https://github.com/ampedandwired/html-webpack-plugin/issues/234


TensorflowLite benchmark

Dear author,
Did you use quantization when benchmarking your model on Tensorflow framework?
If yes, could you tell me did you use dynamic or full integer quantization?
Thank you.

I think it was dynamic quantization,  but I'm not sure. Sorry for the unclear memorization

Thank you for your answer


Weird issue with buttons

This morning i created buttons for my modules command, it worked perfectly fine until just now, it says this:
 Discord.Net.HttpException: The server responded with error 50035: Invalid Form Body    at Discord.Net.Queue.RequestBucket.SendAsync(RestRequest request)    at Discord.Net.Queue.RequestQueue.SendAsync(RestRequest request)    at Discord.API.DiscordRestApiClient.SendInternalAsync(String method, String endpoint, RestRequest request)    at Discord.API.DiscordRestApiClient.SendJsonAsync[TResponse](String method, String endpoint, Object payload, BucketId bucketId, ClientBucketType clientBucket, RequestOptions options)    at Discord.API.DiscordRestApiClient.CreateMessageAsync(UInt64 channelId, CreateMessageParams args, RequestOptions options)    at Discord.Rest.ChannelHelper.SendMessageAsync(IMessageChannel channel, BaseDiscordClient client, String text, Boolean isTTS, Embed embed, AllowedMentions allowedMentions, MessageReference messageReference, MessageComponent component, RequestOptions options)    at Discord.WebSocket.SocketTextChannel.Discord.IMessageChannel.SendMessageAsync(String text, Boolean isTTS, Embed embed, RequestOptions options, AllowedMentions allowedMentions, MessageReference messageReference, MessageComponent component)    at Mewdeko.Modules.Help.Help.Commands(String module) in D:\Docs\Mewdeko\Mewdeko.Core\Modules\Help\Help.cs:line 307    at Discord.Commands.ModuleClassBuilder.<>c__DisplayClass6_0.<<BuildCommand>g__ExecuteCallback|0>d.MoveNext() --- End of stack trace from previous location ---    at Discord.Commands.CommandInfo.ExecuteInternalAsync(ICommandContext context, Object[] args, IServiceProvider services)    at Discord.Commands.CommandInfo.ExecuteInternalAsync(ICommandContext context, Object[] args, IServiceProvider services)    at Discord.Commands.CommandInfo.ExecuteInternalAsync(ICommandContext context, Object[] args, IServiceProvider services)    at Discord.Commands.CommandInfo.ExecuteAsync(ICommandContext context, IEnumerable`1 argList, IEnumerable`1 paramList, IServiceProvider services)
I havent changed my code at all whenthis happenned
Button Code:
var builder = new ComponentBuilder()                 .WithButton("Custom Reactions", customId: "customreactions", ButtonStyle.Primary, row: 0)                 .WithButton("Administration", customId: "administration", ButtonStyle.Primary, row: 0);

I think problem in your other arguments, i tried to send message with your buttons and its work fine.

Can you provide more code?


Research: "The Art of Dimensionality Reduction"

This is an experiment in doing radically open research. I plan to post all my work on this openly as I do it, tracking it in this issue. I'd love for people to comment, or better yet collaborate!
Please be respectful of the fact that this is unpublished research and that people involved in this are putting themselves in an unusually vulnerable position. Please treat it as you would unpublished work described in a seminar or by a colleague.
Description
People tend to treat dimensionality reduction as this kind of black box transformation. Take a representation, plug it in, outcomes the dimensionality reduction, use that for vis. They may fiddle a little bit with the choice of algorithm or hyperparamereters, but that tends to be it.
It seems to me that this is missing a huge fraction of the potential and richness of dimensionality reduction. It's a lot like when people take data vis to just be line plots.
Examples:

Alignment - Often we want to apply dimensionality reduction to multiple "analogous" datasets and produce dimensionality reductions that are aligned, with similar data occurring in the same place to the greatest extent possible. This is important for making them easy to visually compare. (For example: word embeddings trained on different corpuses,  representations of a dataset in different models, etc.)

Approaches: Alignment objectives, shared parametrization

Shaping -  Often times, we'd ideally like the output of dimensionality reduction to have a certain two dimensional shape. For example, a rectangle. In other cases, we might not care about the exact shape, but we might want a certain aspect ratio (eg. to better display on a screen, or to facilitate small multiples). While it is possible to do this by deforming the output of the dimensionality reduction after the fact, doing so damages the information conveyed in the visualization. The right thing to do is to incorporate it into the actually dimensionality reduction process, so that you get the optimal visualization given your constraints.

Approaches: Objectives pushing towards desired shape, constrained parameterizations limiting points to shape.

Axis Specialization -  It can sometimes be powerful to use different dimensionality reduction techniques on different axes. For example, you may wish to display a word embedding projected onto man-woman on one axis, but do t-SNE on the orthogonal axis. Ideally, t-SNE should be "aware" of the previous axis, by actually doing the optimization in 2D with one dimension constrained.

Data Organization - Sometimes, dimesnionality reduction can be subtly used in data visualization, such as ordering an unordered set to make things more legible. One example of this is in Four Experiments in Handwriting with a Neural Network when the LSTM units are arranged by t-SNE.

Better optimization - Dimensionality reduction is generally an optimization problem, and for more complicated techniques like t-SNE it is probably the case -- even with lots of compute -- that we aren't getting to the optima. Better parameterization of our optimization problem is low-hanging fruit to try and improve this.

Reading

Differentiable Image Parameterizations is highly relevant.

Next Steps

Create a simple dimensionality reduction library using the objective / parametrization split from lucid/optvis.

This may already be what you meant by "shaping into rectangle" but it might be useful for the dimensionality reduction algorithm to have an idea of the shape of each point as well as the shape of the full container for doing grid-style plots rather than doing it in post-processing.

@ncammarata - Great point. I'd only been thinking about the container. I'll need to ponder that a bit.


skel.fromClient() accepts a skeleton when contexts or action kwargs is provided

This is a play between several conceptual problems:

The vi injects a __mode__-parameter identifying the mode like add or edit
The project injects a @fluidpage parameter which acts as a context
The edit-action fails, because kwargs is filled with these parameters, no skey is given (which is normal) and skel.fromClient() assumes that the skeleton is complete because data is supplied but no bone (due the amending feature) is provided, which then is accepted.

The only way to bypass this issue currently is to override edit and remove the special keys from the kwargs, like so
class FluidpageContent(List):
    adminInfo = {
        "name"   : "Inhalt",
        "icon"   : "icon-list",
        "handler": "list.fluidpage.content",
        "display": "hidden"
    }

    def addSkel(self):
        skel = super().addSkel().clone()
        skel.fluidpage.readOnly = False
        skel.fluidpage.required = True

        if fluidpage := utils.currentRequest.get().kwargs.get("@fluidpage"):
            skel.setBoneValue("fluidpage", fluidpage)

        return skel

    def listFilter(self, query):
        if not query.queries.orders:
            query.order(("sortindex", db.SortOrder.Ascending))

        if fluidpage := utils.currentRequest.get().kwargs.get("@fluidpage"):
            query.mergeExternalFilter({"fluidpage.dest.key": fluidpage})

        return query

    @exposed
    def edit(self, *args, **kwargs):
        # this is a conceptional problem with VIUR and special kwargs like contexts or actions...
        # it irritates skel.fromClient() so it will accept something which is not acceptable.
        kwargs = {k: v for k, v in kwargs.items() if not k.startswith("@") and not k.startswith("_")}
        return super().edit(*args, **kwargs)

This bug is meanwhile fixed by #837 and #842.


Add LICENSE

We must attach a LICENSE before releasing the source code to the Hackathon organizers

Fix via https://github.com/SOLARMA/hackafake-android-app/commit/1fd88ece7f4eee461afcd5690eb95a1e7ce2ec07
Closing issue, see my related question at https://github.com/SOLARMA/hackafake-android-app/issues/6


feat(bridge-ui-v2): Sort Transactions by Latest First in Bridge UI

Overview
This PR introduces a change to the transaction sorting behavior in the Bridge UI. The transactions are now displayed in descending order, ensuring that the most recent transactions appear first. This change is implemented in the fetchTransactions.ts file.
The relayer GET /events/ returns the messages in the wrong order, so they had simply be reverted for this.
Changes

Modified the fetchTransactions function to show the transactions in descending order.
The transactions array, relayerTxs, is now sorted with .reverse() to display the latest transactions at the top, since the array returned by the relayer was in ascending order.

@joaolago1113 Please fix the linting errors


sample code refactoring

Signed-off-by: Smark<EMAIL_ADDRESS>What type of PR is this?
code refactoring
What this PR does / why we need it:
cleanup  code

ending() 不只是http的shutdown，还有logger.Close() redi.CloseRedis() ，这个可不能删掉，仿照ams job rdb来重构哈


Menu: Add fixed, color and left props

Allow fixed to be passed a position (<Menu fixed="left")
Add color prop (<Menu color="blue">)
Add left prop  (<Menu left>)

PS: don’t know why this is changing so many lines, I have the same settings as the .editorconfig file:

Also can you add new props into index.d.ts interface MenuProps ?
Not sure why it's ruining spaces in your editor

Done! Didn’t know about the index.d.ts file, is something than can be used in Sublime Text?
By the way, I think the spaces are being ruined by the following settings in ST:
	"trim_automatic_white_space": true,
	"trim_trailing_white_space_on_save": true,

Will make sure to avoid this from now on

Thanks!
You can use https://github.com/Microsoft/TypeScript-Sublime-Plugin for ts files.
I'd recommend using it, especially if you're depending on semantic-react - it will provide for you props validation, in case of changing/moving/renaming


Feature request: Validation strategies

It would be very usefull to have validation strategies similar like populate/serialize strategies. That would greatly help so that you do not need to duplicate models for different inputs.

At the moment I am adding strategies to the resolver custom methods.
Is someone working on this?

@dani69654 I think you are good to go.


Can libui be used with a window/app created with SDL, GLFW, or similar toolkits?

If the question has a positive answer, it could probably fix https://github.com/libui-ng/libui-ng/issues/79
The idea would be that you use SDL2, GLFW, or a similar toolkit, for creating graphics windows, while libui would be used just for the menu and for dialogs (ie, no controls created on the graphics window, just on dialogs and on the menu bar).
Would it be necessary to patch SDL2/GLFW/etc for getting the (platform-dependent) graphics window pointer, or the app pointer? Or it wouldn't be necessary?
IMHO, this would be a great way of having graphics windows together with a libui gui. Graphics toolkits are complex enough, support many backends (Metal, Vulkan, OpenGL, etc), and I believe it makes sense to use them rather than to implement support for graphics windows in libui-ng.

For SDL2, this is trivially resolved, I think, by the SDL_GetWindowWMInfo function.

IMHO, this would be a great way of having graphics windows together with a libui gui. Graphics toolkits are complex enough, support many backends

I agree. Note that libui-ng fork was mostly done for solving already provided patches to libui, which was (more or less) abandoned. So I think we have to expect a slow pace for libui-ng, as it is not a full time job for any dev. Best results for addition of code I saw through pull requests by people, and cody reviewing these. (There have been comments to make code changes easier; I am not one of the core devs, so I do not know how this went; I am mostly just focusing on ruby stuff in general. C and C++ is for the really clever people.)

Can libui be used with a window/app created with SDL, GLFW, or similar toolkits?

Yes, a hybrid libui + SDL application certainly is possible..
Here is a GTK + SDL hybrid demo app for an example: https://github.com/AlejandroIbarraC/GTK-SDL2

If the question has a positive answer, it could probably fix https://github.com/libui-ng/libui-ng/issues/79

Unfortunately no, doesn't really help much: the hard work is still providing a consistent 3D rendering API across all platforms. 3D graphics windows integration with each native platform is trivial in comparison. SDL/GLFW aren't high level game engines. See my previous comment in that issue: https://github.com/libui-ng/libui-ng/issues/79#issuecomment-1535683340


Hello! I have a problem when run your repo on hololens2

Hi, super apperciated that you wrote this repo, I was tried "CameraCapture" on hololens2 but an error says "CameraCapture.dll not found", I already compiled solution and make sure there's dlls for both ARM and ARM64, then I compile solution on ARM then deploy that on hololens, app can be run but there's an error popup on develoment output window says dll not found, could you give some hint on this? Thanks a lot!

Solved, just because I was not compile the UWP version of dll


refactor (lib): converted from Java to Kotlin (v1.2.71)

Hi! Converted Java to Kotlin (v1.2.71) for the sake of Hacktoberfest 2018!
Enjoy!

Hey! Thank u very much! Did you test it? Does it work?

Converted the session-manager lib to Kotlin. It did build and the tests passed. Also launched the test app on emulator and it worked. Of course you should also test it to be absolutely sure 👍


MNT: rerender

Hi! This is the friendly automated conda-forge-webservice.
I've rerendered the recipe as instructed in #6.
Here's a checklist to do before merging.

[ ] Bump the build number if needed.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Thanks @jeromekelleher, didn't realize this had been created.  I'm like a bull in a china shop.  :->


Revert "arch: Don't free the context if the reference doesn't equal z…

…ero"
struct stm32_i2c_inst_s instance is allocated on every call to stm32_i2cbus_initialize, and that instance is supposed to be deleted on every call to stm32_i2cbus_uninitialize.
The "refs" counter just keeps track on when the last one is deleted, and everything is unregisterd/disabled after that.
This reverts commit 8098c80338eacf0649e3f08c6faff27bdd769334.
Summary
I suggest reverting this patch.
Memory leak issue found a on an st32f7 platform which frequently calls stm32_i2cbus_initialize and stm32_i2cbus_uninitialize
The whole malloc in these drivers is IMHO useless. For a more proper cleanup, something like this can be considered:
https://github.com/tiiuae/nuttx/pull/80/commits/d4db1ed31ffc07d90eeffee205f4ad64239d66ea
Impact
Fixes memory leak &eventually out-of-memory condition when a driver initilization fails and is re-tried periodically for some time.
Testing
Tested on stm32f7 (pixhawk 5x)

@jlaitine I can't see why the memory leak happen before reverting, could you explain more?

@jlaitine I can't see why the memory leak happen before reverting, could you explain more?

If there are more than one client using it already, and another driver initialization fails periodically, the refs counter is > 0. But after the patch the driver allocates it's own structure on every call to initialize, but doesn't any more free it on uninitialize.
The previous implementation was correct (although it is silly to malloc in the first place, the malloced struct just stores two pointers and no client specific data...)

Ok.


Bug: error building due to unresolved dependencies

This is happening on the latest Svelte 5 (5.2.3) with Sveltekit (2.8.1), from my research, the problem itself seems to be with Esbuild (or i'm doing something wrong)
Relevant log:
...

✅  Wrote static file loader types file ./static-publisher/statics.d.ts.
  Building worker...
creating wasm file
X [ERROR] Could not resolve "C:UsersKahoDesktopNova pasta (2).svelte-kit/fastly-tmp/manifest.js"

    src/handleSvelteKitRequest.js:3:49:
      3 │ import { manifest, prerendered, base_path } from "C:\Users\Kaho\Desktop\Nova pasta (2)\.svelte-kit/fastly-tmp/manifest.js";
        ╵                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path "C:UsersKahoDesktopNova pasta (2).svelte-kit/fastly-tmp/manifest.js" as
  external to exclude it from the bundle, which will remove this error and leave the unresolved path
  in the bundle.

X [ERROR] Could not resolve "node:async_hooks"

    ../output/server/chunks/i18n.js:132:76:
      132 │       const als = options.disableAsyncLocalStorage ? void 0 : (await import("node:async_hooks")).AsyncLocalStorage;
          ╵                                                                             ~~~~~~~~~~~~~~~~~~

  The package "node:async_hooks" wasn't found on the file system but is built into node. Are you
  trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this
  error.

Error: Build failed with 2 errors:
../output/server/chunks/i18n.js:132:76: ERROR: Could not resolve "node:async_hooks"
src/handleSvelteKitRequest.js:3:49: ERROR: Could not resolve "C:UsersKahoDesktopNova pasta (2).svelte-kit/fastly-tmp/manifest.js"
error during build:
Error: Command failed: npx --package @fastly/js-compute js-compute-runtime src/entry.js ./bin/main.wasm
    at genericNodeError (node:internal/errors:984:15)
    at wrappedFn (node:internal/errors:538:14)
    at checkExecSyncError (node:child_process:890:11)
    at execSync (node:child_process:962:15)
    at adapt (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/svelte-adapter-fastly/index.js:103:7)
    at async adapt (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/@sveltejs/kit/src/core/adapt/index.js:38:2)
    at async finalise (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/@sveltejs/kit/src/exports/vite/index.js:908:7)
    at async Object.handler (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/@sveltejs/kit/src/exports/vite/index.js:938:5)
    at async PluginDriver.hookParallel (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/rollup/dist/es/shared/node-entry.js:20731:17)
    at async Object.close (file:///C:/Users/Kaho/Desktop/Nova%20pasta%20(2)/node_modules/rollup/dist/es/shared/node-entry.js:21709:13)
error: script "build" exited with code 1

Update:
I tried to isolate the issue more closely, removing most dependencies and got a different error:
...

✅  Wrote static file loader types file ./static-publisher/statics.d.ts.
  Building worker...
creating wasm file
X [ERROR] Could not resolve "D:Projects\f.svelte-kit/fastly-tmp/manifest.js"

    src/handleSvelteKitRequest.js:3:49:
      3 │ import { manifest, prerendered, base_path } from "D:\Projects\f\.svelte-kit/fastly-tmp/manifest.js";
        ╵                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path "D:Projects\f.svelte-kit/fastly-tmp/manifest.js" as external to exclude it
  from the bundle, which will remove this error and leave the unresolved path in the bundle.

Error: Build failed with 1 error:
src/handleSvelteKitRequest.js:3:49: ERROR: Could not resolve "D:Projects\f.svelte-kit/fastly-tmp/manifest.js"
error during build:
Error: Command failed: npx --package @fastly/js-compute js-compute-runtime src/entry.js ./bin/main.wasm
    at genericNodeError (node:internal/errors:984:15)
    at wrappedFn (node:internal/errors:538:14)
    at checkExecSyncError (node:child_process:890:11)
    at execSync (node:child_process:962:15)
    at adapt (file:///D:/Projects/f/node_modules/svelte-adapter-fastly/index.js:103:7)
    at async adapt (file:///D:/Projects/f/node_modules/@sveltejs/kit/src/core/adapt/index.js:38:2)
    at async finalise (file:///D:/Projects/f/node_modules/@sveltejs/kit/src/exports/vite/index.js:908:7)
    at async Object.handler (file:///D:/Projects/f/node_modules/@sveltejs/kit/src/exports/vite/index.js:938:5)
    at async PluginDriver.hookParallel (file:///D:/Projects/f/node_modules/rollup/dist/es/shared/node-entry.js:20731:17)    at async Object.close (file:///D:/Projects/f/node_modules/rollup/dist/es/shared/node-entry.js:21709:13)

Hello, I tried to solve the issue.
This is what I did:
Modified the index.js file to resolve the manifest import issue and handle the node:async_hooks resolution problem. Added a check for the node:async_hooks module and included it in the build process if available.
You can review changes in this commit: https://github.com/lattaai13/bertybot-svelte-adapter-fastly-32/commit/bf3889ee82847fc1b8d525020f7d8ca125cd5f09.

[!CAUTION]
Disclaimer: The commit was created by Latta AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

This issue was tried to solve for free by Latta AI - https://latta.ai/ourmission
If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

Yes, this fixed it, thank you. And yes I was on Windows, I did create #37 for that unrelated problems just for documentation purposes,  but the original problem as been fixed.


Code checking incorrectly triggered for particular nimbleFunctionList usage

The following incorrectly generates a warning that foo needs to be defined:
myNimbleFunctionList[[1]]$foo(x)
where foo is a method in the virtual nimbleFunction for myNimbleFunctionList.  The following does not generate the warning:
i <- 1. myNimbleFunctionList[[i]]$foo(x), nor does
myNimbleFunctionList[[1]]$run(x).

Here is a reprex, which throws a warning about foo and foo2 but not foo3. I will look into this.
nfbase= nimbleFunctionVirtual(
    name = 'nfbase',
    run = function() {returnType(double(0))},
    methods = list(
        foo = function() { }
    )
)

nfextend = nimbleFunction(
    setup = function() {},
    run = function() {
        returnType(double(0))
        return(3)
    },
    methods = list(
        foo2 = function() {},
         foo3 = function() {}
    )
)

nfmore = nimbleFunction(
    setup = function() {
        fxns = nimbleFunctionList(nfbase)
        fxns[[1]] <- nfextend()
    },
    run = function() {
        returnType(double(0))
        fxns[[1]]$foo()
        fxns[[1]]$foo2()
        i <- 1
        fxns[[i]]$foo3()
        out = fxns[[1]]$run()
        return(out)
    })

Notes on walking the parse tree:
out1 = nimble:::RparseTree2ExprClasses(quote(foo$cc(7)))
out2 = nimble:::RparseTree2ExprClasses(quote(foo[[2]]$cc(7)))
out3 = nimble:::RparseTree2ExprClasses(quote(foo[[i]]$cc(7)))
out4 = nimble:::RparseTree2ExprClasses(quote(foo[[x+3]]$cc(7)))
out5 = nimble:::RparseTree2ExprClasses(quote(foo[[myfun[[2]]$innercc()]]$cc(7)))

When detect $, the 2nd arg in the exprClass is the method name.

It looks like this was addressed, probably in PR #1035 but this was never closed.


Remove gotty as dependency

The way things are currently implemented is rather hacky. Instead of gotty, xterm.js should be used with the docker websocket.

Completed.


unit-test: verify no default for infrastructure CRD status

Signed-off-by: Artyom Lukianov<EMAIL_ADDRESS>

/lgtm
/approve


[SPARK-49363][SS][TESTS] Add unit tests for potential RocksDB state store SST file mismatch

What changes were proposed in this pull request?
Add unit test to for RocksDB state store snapshot checkpointing for changelog. We intentionally add the same content in each batch, so that it is likely that SST files generated are all of the same size. We have some randomness on loading the existing version or move to the next, and whether maintenance task is executed. All three tests would fail for previous versions but not in master.
Why are the changes needed?
Recently we discovered some RocksDB state store file version ID mismatch issues. Although it happens to have been fixed by other change, we don't have test coverage for it. Add unit tests for them.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Run the tests
Was this patch authored or co-authored using generative AI tooling?
No

Let's clarify which ticket fixed the issue of this test - reviewer would want to validate the test with reverting the commit and seeing this test to fail. If the test does not fail, we can't merge this in.

@HeartSaVioR I removed one of the two randomized test and put two more common scenarios in the unit test (they are passing).

Thanks! Merging to master.


Provide more visibility into cloud resources being used

It's practically not possible right now for hub admins to know what exactly their cloud resources are. This will lead to surprise bills. If the hub admins are also AWS admins, this is kinda ok, but not generally.
We should have at least some form of resource usage reporting in terms of what cloud resources are being paid for.
Some simple UI over https://cloudquery.io/ might be a good start.

I'm pretty sure Lens is able to track cloud resources used by workloads in a cluster.
The new EKS console that launched last year also has a roadmap goal to be usable from non-EKS clusters and include AWS resources that are attached to k8s workloads. https://aws.amazon.com/blogs/containers/introducing-the-new-amazon-eks-console/


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure CLI Extensions Sync Pipeline - ADO_BUILD_URI=268775
https://github.com/haroldrandom/azure-cli-extensions/commit/e9d479ad9603fc3b2909f09a2607b42e9c315926

Docs Build status updates of commit 21852b5:
:clock10: Full build: the average full build time is 7 min(s) 12 sec(s), this is based on the last 439 build(s) for this repository.

Docs Build status updates of commit 21852b5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Raw or parsed Data in Webhook calls

Nice work.
A nice to have would be to have a option to send the raw data and or parsed data to the webhook
Including the attatchments

Thanks, I'm glad you like it :) Can you please explain what you are wanting to achieve with this additional data in the webhook calls exactly, as I think think this is much more of an API-related question? I'm reluctant to add anything is there that will drastically increase the network traffic.
Currently the webhook sends the message summary which includes the database ID of the new message. All the data you are after can then be fetched via the API once you have the message ID, for example:

parsed data: http://mailpitserver:8025/api/v1/message/c715d5ce-1f91-4405-853b-f116be8b05e0
raw email: http://mailpitserver:8025/api/v1/message/c715d5ce-1f91-4405-853b-f116be8b05e0/raw

Different people will have different requirements so this way you can just fetch what you need instead.

Hi,
My Plan was to not do the api call to the server, instead trigger a symfony message with the webhook call and have all the raw data there to manipulate the message and resend it over a real smtp

Also a cool feature would be to specify the webhook per user

Hi @designerno1. Whilst I love getting feedback and suggestions, I am going to politely decline this request. There are a few reasons for this:

Based on what you are saying, it sounds like it is your intention to send messages directly to Mailpit (to record a copy?), but then rely on the webhook to trigger the sending of the actual message via another server. This in itself is prone to issues if the webhook fails to contact the website for any reason, or (unless you change the default) get rate limited when more than one email is received per second.
Mailpit already has SMTP relay functionality built in, meaning it can resend (manually, automatically, or via the API) messages via a preconfigured SMTP server after receiving them.
Mailpit already provides an API for those edge cases where others want to do something entirely custom (eg: manipulate the message, scheduled sending etc).

You are far better off building your system to poll the Mailpit API every minute or so, search/filter for new messages, and then do what you like with them. This will allow you to filter by whatever you like too (your last comment), and will also allow for some degree of network failure.
I hope this makes sense to you and that you can understand my reasoning here?


Compile and test the texlive with latest emscripten

The core of LatexGo is the texlivejs which is inside the directory with this same name. The scope of this issue to build the source code again on latest emscripten which was released on Dec 2019 and report any success or error here.
The process of building the texlivejs is quite simple. All you have to do is to install the emscripten and then run the Makefile by going inside texlivejs directory. For this, you can run make command while you are inside that directory.

@poush I'd like to work on this issue. Please assign it to me.

@poush  I can't seem to find a Makefile within the texlivejs directory for compiling. How do I proceed?

I installed the latest version of emscripten. On running emmake make command inside texlivejs directory ,it shows the following error:

i.e. it cannot find a makefile

Hi @chhavi18387 Yes I had to move it to separate s3 storage to make sure stuff is working here. Sorry I forgot to update here. I will give you the s3 access by tomorrow.

@poush please provide the access so that I can get started with the remaining work.


docs(README): add Arch Linux installation instructions

hey. nice project. decided to package it for arch :)

thanks!


MC: Multirotor mixer rewrite & Airmode for Yaw

For acrobatic flights airmode for yaw is a requirement. But instead of extending the existing mixer, I joined forces with @bresch. He came up with a nice generic approach to handle saturations, making it easier to define different axis prioritizations.
It is described here: https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation. It is also a step towards 6D control allocation.
This PR does:

complete rewrite of the MC mixer according to the described method above
extends MC_AIRMODE by a third mode that allows yaw boosting
enforces the use of an arming switch if yaw airmode is selected (stick arming is just too dangerous if used with yaw airmode, I'm sure nobody wants that)
Stabilized: allow yaw control at 0 throttle if yaw airmode is enabled
add unit-tests for the mixer (the existing ones don't check the actual mixing algorithms), see below

Differences
The behavior for both existing Airmode settings (disabled & roll/pitch) is exactly the same (based on running through different test-cases), except for:

The new algorithm handles asymmetric frames correctly
While comparing the algorithms, I found a case where the existing mixer would reduce the demanded yaw more than actually required (and it is not a very extraordinary case). The new algorithm does it correctly.
very high roll/pitch demands at low throttle are handled a bit differently by the new algorithm (no surprising behavior though).

CPU load increases by 0.5% for the airmode=disabled case.
Testing level
This has run through several levels of testing:

prototyping and corner-case testing in python
extensive HIL simulations for all 3 modes
actual flight testing:

MC_AIRMODE=0

https://logs.px4.io/plot_app?log=c0d68572-5763-4253-87a6-76a30cc25a2a
https://logs.px4.io/plot_app?log=5156eed6-9593-40f8-af07-c48a757dcd29
In case you are wondering about the flips in Stabilized: I set the minimum throttle to 0, and whenever I cut throttle, the vehicle would not stabilize anymore as expected. When increasing the throttle, it immediately recovers from any attitude and any angular velocity (which is nice to see. Kudos to @MaEtUgR for the extremely robust attitude controller).
https://logs.px4.io/plot_app?log=84681a24-3ac7-4db7-b1d9-05e71a326cd7

MC_AIRMODE=1

https://logs.px4.io/plot_app?log=d1eb9c03-022d-41e5-8f4d-2389fb0a5884
https://logs.px4.io/plot_app?log=b9a76438-c05c-4c23-94d5-eea51c7c2d53

MC_AIRMODE=2

https://logs.px4.io/plot_app?log=291fc0df-cf51-42bb-8a35-e9396ecb104b
https://logs.px4.io/plot_app?log=cc7bde3e-09df-4624-a93d-fb1ba07aed96
https://logs.px4.io/plot_app?log=4452abb0-5dd9-4453-985c-18f93e676384
https://logs.px4.io/plot_app?log=1d28d82c-bfe3-4ddc-8a6e-2458ae2ae39e
https://logs.px4.io/plot_app?log=7266e561-a286-4c0d-b96f-ccbb3ee8d972

unit-tests

Unit tests
I added the python script used to prototype to also serve as basis for unit-tests: it provides ground-truth data that is then tested against the C++ implementation. This allows to:

refactor the existing C++ implementation with high confidence that the code does the same thing
quickly prototype different saturation strategies or completely different algorithms
test the output of specific (corner) cases
ensures the python implementation stays in sync with the C++ implementation

To run them:
cd src/lib/mixer
make tests

It will run though all 3 airmodes with different geometries and actuator control commands (almost 1000 test cases all in all).
I also let it run against the previous mixer implementation which showed the exact differences.
It builds a separate binary at the moment beause it does not really fit into the existing unit-testing framework (requires calling the python script), helps minimizing dependencies and it allows a very fast testing workflow. It could however be a bit more integrated.
TODO

Testing on a board with an IO (and look at its CPU load)
Testing some other geometries (I tested quad x & hex x) (e.g. asymmetric ones)

@dagar @bresch Doesn't this have an impact on https://docs.px4.io/en/config_mc/pid_tuning_guide_multicopter.html (and to a lesser extent https://docs.px4.io/en/config_mc/racer_setup.html) ?

@dagar @bresch Doesn't this have an impact on https://docs.px4.io/en/config_mc/pid_tuning_guide_multicopter.html (and to a lesser extent https://docs.px4.io/en/config_mc/racer_setup.html) ?

Only slightly: we can mention that there are separate airmodes for roll/pitch only and roll/pitch/yaw.

Woooah, awsome!! Big thanks to @bkueng and @bresch 👍

I checked the CPU impact on the IO:
Loop rate in Hz for this branch:

MC_AIRMODE=0: 765 Hz
MC_AIRMODE=1: 945 Hz
MC_AIRMODE=2: 1240 Hz

master:

MC_AIRMODE=0: 1140 Hz
MC_AIRMODE=1: 1160 Hz

@PX4/testflights can you test this please as following?

test on different boards (with/without IO)
test on different multirotors (preferably hex/octo and asymmetric if you have), and VTOLs
First test with Airmode disabled
Start off carefully, until you're confident that the vehicle behaves as expected. Then go crazy, pushing the vehicle to the limits, to hit the mixer saturation corner cases.
test different airmode settings: MC_AIRMODE enabled/disabled.

@PX4/testflights please hold off with testing one more day so that I can re-test @bresch's changes first.

@bresch I pushed the changes to use the reduce_only flag for yaw as well, it works as expected in HIL.
@PX4/testflights you can now go ahead and test it.

Tested on pixhawk 4 mini.
Air mode disabled.
https://review.px4.io/plot_app?log=0b9b50a5-24ba-40e3-879b-bececc61c96c
Air mode enabled.
https://review.px4.io/plot_app?log=71a93818-639c-47d2-9e9a-252b07f11f67

tested on pixhawk v4 pro
MC_AIRMODE=disabled
https://review.px4.io/plot_app?log=3755c03c-99fb-4474-902f-b67c55801811
MC_AIRMODE=enable
https://review.px4.io/plot_app?log=23c57450-3a32-4af2-b024-45556bd2d768

Yay, flips with the F450, nice :)
The logs look good, I went through all of them.
Let's merge it then.

:shipit:


Auto-clear feature

If the user picks a position that has a value of 0, the controller should automatically clear adjacent mines.  This should be recursive, such that any of those automatically cleared adjacent mines that has a value of 0 also clears adjacent positions.

Similarly, if user clicks a position that was already cleared and that position has already flagged all the mines, auto-clear the remaining adjacent positions.  Maybe by default, clear everything except for the mines and count on the app to make sure the flags are there.


Reduces to a single collate function with prepending and postpending additions standardized.

Closes #94
Closes #95

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

Project coverage is 70.38%. Comparing base (4db4855) to head (ad37ee5).

Files with missing lines
Patch %
Lines

src/meds_torch/data/components/pytorch_dataset.py
47.36%
10 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                  Coverage Diff                   @@
##           55_dataset_cleanup      #97      +/-   ##
======================================================
- Coverage               70.60%   70.38%   -0.22%
======================================================
  Files                      49       49
  Lines                    2752     2759       +7
======================================================
- Hits                     1943     1942       -1
- Misses                    809      817       +8

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


[Bug]: iOS - The text on the Re-send button is not visible for the dark theme

Preconditions
Email is not confirmed yet
Steps to reproduce

Tap on SORA Card Hub
Go to the verification email screen

Actual behavior
The text on the "Re-send" button is not visible for the dark theme on "Verify your email" screen.

Expected behavior
Need to fix the layers on the Re-send button for the dark theme on Verify your email screen.
Environment
{"label"=>"Stage"}
OS version
17.2.1
Additional context
Soralution 3.8.3(3) version

Verified on 3.8.3 (7) version.
Added to next release scope.

Verified on 3.8.3 (8) version.


Apple M1 Max MoltenVK CPU performance is slow

Using the Vulkan SDK 1.3.224 the following code:
double frameSubmitBegin = glfwGetTime() * 1000;
VK_CHECK(vkQueueSubmit(queue, 1, &submitInfo, VK_NULL_HANDLE));
double frameSubmitEnd = glfwGetTime() * 1000;
takes 5.8 ms for a simple single draw call in Apple M1 Max on macOS compared to 0.06 ms on a old Gen 3 Intel i5 in Windows. Is this the expected overhead for MoltenVK

No. That is definitely not expected performance overhead. MoltenVK typically has similar performance, or low-overhead performance.
Be aware that the execution on the GPU happens asynchronously from the CPU submission, so your timing mechanism above is not an indication of the rendering time. Above, you are measuring the submission time, which in itself, should be very fast (and in no cases should be anywhere near 6 ms).
However, the timing you are measuring above may be skewed by any semaphores or fences that you have attached to the queue submission. Have a look at your synchronization mechanisms. And what is your value for VkSwapchainCreateInfoKHR::minImageCount? For MoltenVK, it is typically better to set this to 3 instead of 2.
If you can't resolve the issue, if possible, can you post a small example app that demonstrates the performance you're seeing, so we can investigate?

Hello,
Thanks for the reply @billhollings . Sure you can find the code here: https://github.com/mistycube/niagara/blob/dev/src/niagara.cpp
It's in the dev branch, main function in niagara.cpp.
I have checked the minImageCount and then  hardcoded it to 3. Still same issue. I got 6 ms on the submit. I am not sure why is that.

I'm having a similar problem. On my m1 max, the frame is rendered in 7ms, however vkQueueSubmit takes ~32-40 m s. 12k draw calls. on the windows desktops gpu everything is fine.

There are a couple of things that can be going on here that can delay the vkQueueSubmit() execution:

If you are using emulated VkSemaphores, the wait semaphores may be waiting and delaying the CPU.
The encoding of a lot of Vulkan commands might be getting bogged down.

We won't be able to dig into this unless we can run a simple app that displays the problem.

if you want to run the project you just need to update the path for kitten.obj in niagara.cpp.

This is a Visual Studio project. How are you building and running this on macOS? Are you using Visual Studio for Mac, or is there a different way we can build and run the demo app? And how are you linking MoltenVK to the app? Statically, or dynamically?
If you are linking dynamically (libMoltenVK.dylib), then one option is for you to provide a runtime app that we can swap out a debug version of libMoltenVK.dylib to debug this.

Thanks for the reply. You can checkout the dev branch https://github.com/mistycube/niagara/tree/dev , which is a cmake project that supports macos that you should be able to build.
To build and  run the project:
Checkout the dev branch https://github.com/mistycube/niagara/tree/dev
Then
mkdir build
cd build
cmake ../
make
./niagara ../data/kitten.obj
During my test I am using the vulkansdk 1.3.224 for macos from lunarg which comes with moltenvk. You can increase the drawCount variable in niagara.cpp to see the impact on the submit performance.

Thanks. Got it working, and was able to dig into it.
Below is a trace of the individual commands within the command buffer being encoded. The command buffer encoding does in fact take 9.433 ms. The vast majority of this time is consumed encoding the single vkCmdDrawIndexedIndirect() command, at 8.857 ms
The cause of this is that Metal does not natively support the the drawCount feature of indirect drawing, and MoltenVK has to loop in the CPU to actually encode drawCount (in your case 100,000) separate indirect draw commands into the Metal command buffer. This takes time of course. And sure enough, changing drawCount to 1 reduces the submit encoding time of this command to 0.017 ms, and the overall encoding of the submit to less than half a millisecond.
Unfortunately, while we can and should look for optimizations within the CPU loop (and I've now added a separate #1796 to remind us to do that), there is not much fundamentally that we can do about the looping itself except request, and wait for, enhancements to Metal, to absorb the drawCount internally.
[mvk-info] Submit of MVKCmdResetQueryPool took 0.002 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<4ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdFillBuffer took 0.044 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<4ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdBindComputePipeline took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.001 ms.
[mvk-info] Submit of MVKCmdPushConstants<128ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.003 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<4ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.000 ms.
[mvk-info] Submit of MVKCmdBeginRenderPass<2ul, 2ul> took 0.040 ms.
[mvk-info] Submit of MVKCmdSetViewport<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdSetScissor<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdBindGraphicsPipeline took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdBindIndexBuffer took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.

[mvk-info] Submit of MVKCmdDrawIndexedIndirect took 8.857 ms.

[mvk-info] Submit of MVKCmdEndRenderPass took 0.007 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdBindComputePipeline took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.002 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.032 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.001 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.004 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.001 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.000 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPushDescriptorSetWithTemplate took 0.001 ms.
[mvk-info] Submit of MVKCmdPushConstants<64ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdDispatch took 0.001 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.000 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<4ul> took 0.001 ms.
[mvk-info] Submit of MVKCmdCopyImage<1ul> took 0.035 ms.
[mvk-info] Submit of MVKCmdPipelineBarrier<1ul> took 0.000 ms.
[mvk-info] Submit of MVKCmdWriteTimestamp took 0.000 ms.

[mvk-info] Submit of 1 MVKCommandBuffers took 9.433 ms.