fix(tangle-dapp): Fix usage of hardcoded Viem clients

Summary of changes
Provide a detailed description of proposed changes.

Fixed bug where validator table would show Effective amount staked and Self-staked amounts as 0.
All nomination transactions are no longer hardcoded to testnet for when there is an EVM account. Now, the active network is used.

Also reworked ALL nomination transactions to use new hooks.

Added batching for the Setup Nominator flow, for both Substrate & EVM.

Also added for Payout all tx, but cannot be tested as of yet since the payouts hook is being reworked due to a recent runtime upgrade.

Added an improved visual design for the token amounts shown in validator tables & nominations table, similar to Polkadot/Substrate portal, which makes the relevant part of the amount easier to see.
Added pending notification for when a transaction is executed.
Previously there were two ways of performing agnostic (Substrate / EVM) transactions; consolidated both ways into a single hook for consistency and simplicity.
Refactored key stat items, nominator items, cleaned up repetitive code and is now using new hooks.
Removed redundant setPayee transaction from batch during Setup Nominator flow, as it is already done by the bond transaction. This saves even more on fees.

Known issues

[ ] When on the local dev network, the View transaction link links to an empty page for Substrate TX hashes, should link to Subscan instead (https://tangle.statescan.io/#/)

I will be handling this issue on my next PR(s).

[ ] ⚠ Using the testnet network is crashing because there was a recent runtime upgrade which deprecated and added new query functions (ie. staking.eraStakersOverview) which aren't present in the testnet.

I will be handling this issue on my next PR(s).

Checklist

[x] Create useViemWalletClient hook
[x] Create useViemPublicClient hook
[x] Replace all old instances that use the wallet client with the new useViemWalletClient hook
[x] Replace all old instances that use the public client with the new useViemPublicClient hook
[x] Fix balance on Nomination not changing when changing networks while using an EVM/MetaMask account
[x] IMPORTANT: Search the code for any other instance that has the testnet hardcoded and ensure that it uses the selected network instead
[x] Perform QA & testing using an EVM account on ALL flows & data points (transactions & queries)
[x] Fix Viem client being hard-coded to the testnet:
[x] Fix createEvmWalletClient function, and all of its usage instances, to not rely on a hard-coded testnet chain, but instead on the currently selected network:

Transaction QA checklist
Substrate:

[ ] Payout all tx

Payouts hook is being reworked.

[x] Unbond tx
[x] Rebond tx
[x] Withdraw tx
[x] Add stake (bond extra) tx
[x] Setup nominator flow
[x] Update nominations flow
[x] Stop nominations (chill) tx
[x] Update rewards destination (set payee) tx

Proposed area of change
Put an x in the boxes that apply.

[ ] apps/bridge-dapp
[ ] apps/hubble-stats
[ ] apps/stats-dapp
[x] apps/tangle-dapp
[ ] apps/testnet-leaderboard
[ ] apps/faucet
[ ] apps/zk-explorer
[ ] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes #2179

Screen Recording
If possible provide a screen recording of proposed change.
EVM
https://github.com/webb-tools/webb-dapp/assets/101931215/88ac65e6-1161-4426-8f0a-83c122d35b1c
Substrate
https://github.com/webb-tools/webb-dapp/assets/101931215/37dfa756-05aa-461d-b5f0-7d0a1bad31c2

Code Checklist
Please be sure to add .stories documentation if any additions are made to libs/webb-ui-components.

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Testing with Substrate Wallet, a few things that I think we can improve here:

There is no amount displayed in the toast for transaction success. Ideally, we want something like "Successfully unbonded 10 TNT from Staking"
Success toasts disappear too fast, only 5 secs, maybe we should increase it to 30 secs

Another bug when changing wallet in the Nomination page (potentially in other pages too): all previous tx toasts show up
https://github.com/webb-tools/webb-dapp/assets/69841784/0bb70ba6-420c-4e41-a376-70950f4e796d

EVM

Amount is not consistent (10 vs 9.999)
It seems withdraw is not working at the moment

Transfer transaction from EVM Wallet not working for me (load infinitely)

Testing with Substrate Wallet, a few things that I think we can improve here:

There is no amount displayed in the toast for transaction success. Ideally, we want something like "Successfully unbonded 10 TNT from Staking" for any tx that deals with token amount
Success toasts disappear too fast, only 5 secs, maybe we should increase it to 30 secs

@yurixander I already created a task for this and assigned myself so maybe you don't need to work on this in this PR.
I don't have much thing to do since everything features related to Restaking is postponed


React - Component link - Broken - bug

Describe the bug
Link for the https://neutrino.js.org/packages/react-components/ need to be changed as it is giving 404 error.
Did you try recovering your dependencies?

(Write your answer here.)
Which terms did you search for in User Guide?

(Write your answer here if relevant.)
Environment

(paste the output of the command here.)
Expected behavior

(Write what you thought would happen.)
Actual behavior

Reproducible demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

error when i use the Link component
i have an error when i use the Link component from react-router-dom
i work on a new project on react 18 - router v6
this my test component
import { Link } from 'react-router-dom'

const Test = () => {
  return (
   <Link to="/">test</Link>
  );
}

export default Test

and this is my package.json
{
  "name": "e-commerce-perso",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@popperjs/core": "^2.11.8",
    "@reduxjs/toolkit": "^2.0.1",
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "axios": "^1.6.2",
    "bootstrap": "^5.3.2",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.21.1",
    "react-scripts": "5.0.1",
    "react-toastify": "^9.1.3",
    "uuid": "^9.0.1",
    "web-vitals": "^2.1.4"
  },

i tried a new installation without any other dependecy (react 18.2 + react-router-dom 6.21.1)
i contacted the team of react-router-dom, they said that they dont have any problem

the solution is to pass to react 18.1, to do this, proceed as following :
1- go to package.json and delete these 2 lines
"react": "18.1",
    "react-dom": "18.1",

2- then in your terminal an type :
 npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>
3- test your code, if needed restart your server :
npm start


Transposed indexes

I may have misunderstood the statement, but in the OSCON 2017 talk, I believe @jaffee said transposed indexes could be created?
Given an index foo with a field named bar, a frame may look like the following

-
10
11

1
0
1

2
1
0

Where Row(bar=2) would return [10]
The transpose would be:

-
1
2

10
0
1

11
1
0

Which would (theoretically) model an index named bar with a field named foo supporting Row(foo=10) which would return [2].
However this assumption of an index named bar would be surprising since indexes are created explicitly. This would suggest a different method of querying may be necessary to support this implicit transposed index, like RowT(bar=10) which would translate to, "give me the bars where foo is 10" which would be [2].
Not a fully fleshed out idea, but just braindumping based on what I learned about Pilosa today and the use case I have.

Understood and thanks!


Add policy label to BackendLBPolicy to make it recognizable in gwctl

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Add policy label to BackendLBPolicy to make it recognizable in gwctl
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

NONE

Thanks @gauravkghildiyal!
/lgtm
/approve


{all services} Reorganized reference TOC by product or service (extensions)

The purpose of this PR is to refresh our reference TOC in corrected product or service groups.  Sister PR is https://github.com/Azure/azure-cli/pull/26657

Thank you for your contribution! We will review the pull request and get back to you soon.

@dcaro , @jsntcy, I fixed build validation errors yesterday that are now popping up with time.  If you could kindly review this PR and/or respond to conversations, I'd be grateful.

@jsntcy / @kairu-ms, @dcaro and I had a final review of this PR today.  Can you please merge before more build conflicts pop up?  Thank you.
#sign-off

@jsntcy / @kairu-ms, @dcaro and I had a final review of this PR today. Can you please merge before more build conflicts pop up? Thank you.
#sign-off

I still saw some comments from Damien were not resolved yet and also some suggestions were not committed yet.

@Jsntcy, thank you for finding those missed suggestions.  Does everything look okay now?
Sister PR: https://github.com/Azure/azure-cli/pull/26657

LGTM
@dcaro, do you have any other comments? If no, I'll merge this PR.

@jsntcy, please merge in sync with Sister PR: https://github.com/Azure/azure-cli/pull/26657.   @dcaro  and I are expecting a 2nd round of PRs with fewer edits once we see how the two Core and Extension files merged together.

@jsntcy can we include the above changes in this release?

@jsntcy can we include the above changes in this release?

Yes, I created a PR for it, https://github.com/Azure/azure-cli-extensions/pull/6459, please help review it.


Fixed Android support

Makes simulation working for Android platform.
Alternative solution here is adding a way to provide some default exec handlers for supported platforms - we currently specify a way for adding exec handler for plugins, but platform core (cordova.js) uses command bridge for some needs as well.

Hey Sergey - I'm happy to merge this code, but would you prefer to take a crack at what you suggest in the second paragraph? One possibility is to create a platforms folder next to the plugins folder that provides exactly the same functionality (most likely it would never define UI, but there's probably no reason it couldn't). We would just include platforms/<platform> in a similar way to how we include plugins that are included with the app.

Sounds good, Tim. Investigating the the way to pass platform name from simulate to server.init so that we include handlers for particular platform only...

Update: working on adding platform scripts to current browserify logic (similar to plugins)

Sent alternative solution here: https://github.com/TimBarham/cordova-simulate/pull/11

Closing in a favor of https://github.com/TimBarham/cordova-simulate/pull/11


Added Compat docs for WinForms 4.7.2 accessibility work

First draft of the accessibility changes

had it in the wrong path. Recreating!


Open native apps from web UI

I often receive private links while being on my desktop computer or on my mobile device. To analyse log files or edit source code, I often prefer native 3rd party applications. It would be handy if I could open the ownCloud native apps from the web UI.

(Showing the iOS action entry only when iOS browser is detected, with "magic link" like owncloud://cloud.example.com/f/12345 to open this resource in the iOS app, similar for desktop and Android)
Inspiration for desktop: https://github.com/nextcloud/desktop/issues/1321

Please open again if the ticket is still relevant


How to achieve USB connection between Android and Android devices to cast screen

How to achieve USB connection between Android and Android devices to cast screen.

How to achieve USB connection between Android and Android devices to cast screen

Duplicate of #100.

I looked at #100 and only found "ya-webadb" to enable USB connection to Android and Android, but this is browser-based and must be networked to run.
"scrcpy-android" does not enable USB connection.
I wish there was an Android app that would enable USB connectivity. Do you have a recommended app, thanks!

Do you have a recommended app

Nope

It works on Linux, Windows and macOS.
Why not work on Android?

Because it requires specific developments: several parts of the app need to be rewritten specifically for Android, while the same code may work on Linux Windows and macOS with slight variations.

Looking forward to using your app,


Make logger output more consistent

Example of current output that could definitely be more readable/handle edge cases better:

Closed by #123


Add remaining atomic editors

This PR adds editors for the Money, Duration and Date types.
It also adds a nicer view for when we have an error while interacting with the compiler plugin (either an invocation error e.g. compiler missing or bad format, or a syntax error in the text file). This should not happen regularly but at least we give the option to fallback to the regular text editor with a button click.

Thanks! I'll merge, and we can revisit the money bag if needed :-)


Add BiaPy in general image analysis software section

Hello,
Thank you for the curated list! I'm adding also BiaPy to it as a possible option to run end-to-end workflows for a large variety of bioimage analysis tasks.
Tell me if I did something wrong to add it.
Best,
Dani

@LSeu-994 can you please merge the changes? Thank you so much!

Thanks @danifranco


shims/linux: move epoll and eventfd into their own respective files

Also put the FD types into those files; they can then even be made private there.

@bors r+

:pushpin: Commit 99be2b7c7c4af7dfbfc7447289d1637e633f09e6 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 99be2b7c7c4af7dfbfc7447289d1637e633f09e6 with merge 08fd742bf4230ebf43c36d264dbb7ec2a5dbd193...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 08fd742bf4230ebf43c36d264dbb7ec2a5dbd193 to master...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 08fd742bf4230ebf43c36d264dbb7ec2a5dbd193 to master...


FinOps Governance Workbook - Not allowing to select subscriptions from the dropdown

🐛 Problem
Governance Workbook is not displaying subscriptions to select
👣 Repro steps
TODO: Add repro steps below:
Deploy workbook from https://microsoft.github.io/finops-toolkit/governance-workbook
Go to azure monitor / workbooks
Click on Governance workbook
🤔 Expected
TODO: Add a clear and concise description of what you expected to happen.
📷 Screenshots

ℹ Additional context
TODO: Add any other context about the problem here. Remove if not applicable.
🙋♀ Ask for the community

We could use your help:

Please vote this issue up (👍) to prioritize it.
Leave comments to help us solidify the vision.

This workbook requires a management group to be selected before it can pull up the list of respective subscriptions. I'm assigning this to @nteyan to improve the subscription query to work with or without a management group selected or to document this requirement.


remove components and nets section from template def

addresses https://github.com/efabless/caravel_user_project/issues/187
openroad now fails on having components in the template def that don't exist in the design.
this pr removes redundant components and nets section from template def. we are only interested in the pins section.

shouldn't we also remove this on the gf180mcu template?


Storage strategy & adapter for managing data

Thinking about Storage strategy to store and manage local data.
Feature 🎉

Auto-save per configurable interval.

Possible approach 🤔
Persistent store

Use LocalStorage for web environment
Use LocalFileSystem for desktop environment ( Tauri )

or

Default to LocalStorage
Also write to LocalFileSystem if is in desktop environment.

Thinking of an Adapter class that will handle the store's name and other features like auto-save. It requires one strategy to handle the reads & writes.
interface Strategy<T, K = undefined> {
  read(name: string, options?: K): Promise<T>;
  write(name: string, data: T, options?: K): Promise<void>;
}

interface AdapterOptions<T, K = undefined> {
  strategy: Strategy<T, K>;
  data?: K;
}

/**
 * T is the read & write data type
 * K is extra data that can be used by the strategy
 */
class Adapter<T, K = undefined> {
  public readonly name: string;

  public readonly options: AdapterOptions<T, K>;

  public readonly strategy: Strategy<T, K>;

  constructor(name: string, options: AdapterOptions<T, K>) {
    this.name = name;
    this.options = options;
    this.strategy = options.strategy;
  }

  read() {
    return this.strategy.read(this.name, this.options.data);
  }

  write(data: T) {
    return this.strategy.write(this.name, data, this.options.data);
  }
}


ActivityRecognition does not work in background on HTC M8 with Android 5.0.1

I'm using compile 'com.google.android.gms:play-services-location:8.1.0'.
It seems that ActivityRecognition sample does not work and is not sending any updates when device goes asleep. It does not work even if I use WakefulBroadcastReceiver mentioned in #28.
I've added notification to be fired from when DetectedActivitiesIntentService is triggered.
It works perfect on Sony C5303 Android 4.3 (notifications are  but it does not work on HTC M8 Android 5.0.1 (i.e. notifications stop coming as soon as I press power button).

Similar issue here http://stackoverflow.com/questions/33363274/activity-recognition-does-not-work-after-phone-goes-asleep?noredirect=1#comment54586283_33363274.


Message to remind to play trivia + little fix

or

Fix highlight for text
Fix top of player in summary : issues -> the data store when player answer

The highlight seems to be properly implemented, discord bug


Where to find the train-list "train_bigger_patch.lst"

I tried to use the default 'imglists/train.lst,' but seems format not recognized. Could you please provide the train-list you used? Thanks.

You can try using data_prep/get_cityscapes_list.py to generate the data list

@GrassSunFlower How to decide image_path and label_path in get_cityscapes_list.py?
As my understanding to this file, I should pass some arguments as below:
root = '/home/acgtyrant/BigDatas/Cityscapes'
image_path = 'leftImg8bit/train'
label_path = 'gtFine/train'

And cityscaples_loader.read_data will read the full image path and label path as item[0] and item[1].
However, utils.get_single_image_duc will still join item[0] and data_dir again while the item[0] is the full path already, the same for item[1].

Yes, it is working this way.
You can try change the content of data_dir into something like . or modify the output of the get_cityscapes_list output.


Shorthand Ternary Operator Doesn't Work with < PHP 5.3

The shorthand ternary operator in MailChimp::getLastError() causes a fatal error in < PHP 5.3.  Why not change to support < PHP 5.3?
-Garrett

Well, PHP 5.2 was released more than 6 years ago. I have a feeling that @drewm written Mailchimp API to support 5.3+ for reasons that are quite important towards a clean, verbose code, such as nesting of thrown exceptions and namespaces.
p/s: It isn't that difficult to migrate your codebase over to v5.3 anyway.

Thanks for your reply.  Reason I ask is because I'm using this library in a distributed Wordpress plugin, so support for < PHP 5.3 is necessary.  Sounds like using a different library might be my best option in this case.

You can always enforce a minimum PHP version, using a sample snippet from the WP StackExchange answer:
<?php
if ( version_compare( PHP_VERSION, '5.1', '<' ) )
{
    exit( sprintf( 'Foo requires PHP 5.1 or higher. You’re still on %s.', PHP_VERSION ) );
}
?>

PHP5.2 has not been actively developed for a few years now, and attempting to preserve reverse compatibility for archaic versions only encourages sysadmins to not upgrade their PHP installations.

I think we're already pretty generous in accommodating versions of PHP as old as 5.3. It is not a goal to support versions older than this, as it would require removing namespaces etc, which is a bit barbaric.

Welcome to the world of Wordpress.  Ok thanks everyone

Note: WordPress is no longer requiring support for PHP 5.2.*

I know this is a slightly older thread, but it's not marked as closed so I'll add some additional information for @grimmdude.
PHP 5.2.x support is not required for plugins and has not been for some time.  Yes, WP "officially" runs on < 5.3, but it will be dropping EOL'd versions of PHP in the foreseeable future.  It's a done deal, it just requires working through the semantics of the change.  For plugins, there will be a compatibility checker for PHP much like the WP version compatibility checker now.  That will make it easier for developers to identify PHP requirements for their plugin.
I don't want to drift off topic too much and you can follow the PHP meeting recaps in the Core development if you want more info.  The bottom line is that changing to support PHP < 5.3 is moving backwards, is not safe from a security standpoint, and is no longer necessary from a WP standpoint; so this ticket should be closed.


Run ./gradlew build fail

Describe the issue:

issue1
When executing make deploy-local according to README.md, the error is as follows:

issue2
When running  azd up, get seem error as follows:

Repro Steps:

issue1:

Clone the code to local.
Run make start-local
Run make deploy-local

issue2:

Run azd auth login
Run azd up

Environment:

OS: Windows desktop.

Expected behavior:
Run make deploy-local and azd up can pass.
@hemarina for notification.

Hi @v-jiaodi - were you running this in a DevContainer? You say it is in Windows Desktop - is that using WSL?
I've just cloned the repo and run those steps and it works for me in a DevContainer in WSL.

@v-jiaodi  and @hemarina
These issues are fixed now. Please have another round of testing 😇

@macromania Testing again, this issue still exists.


Some questions about the VnV

Dear Prof. @smiths,
Thank you for your time and valuable feedback. I have some questions that need your help.

In section 3.3, about the relevant documentation, you asked me "How the SRS, MG and MIS are related to VnV?".

I put MIS in the related documents as the unit test section (section 6) is dependent on it and MIS itself is related to MG file.
I also mention SRS in “SRS Verification Plan”, so the verification of SRS is a part of VnV process and is related to it. Am I wrong?

In the input test which I didn't write the exact values of out put, the comment is "I think you don’t care about the specific values and put them at this point.", I completely agree that it must be filled by the real number of output, but the problem is that I don't have them before writing the code, I couldn't find any online website or similar simulation to get it, because almost everyone tries to simulate the stabilizing problem, After all searches I found a video in YouTube that is similar and I emailed the presenter to send his code which is in Matlab. He did not answer yet.

@MinMah23 my comment about the relevance of the SRS, MG and MIS was a request for you to say in the "Relevant Documentation" section why these documents are relevant for VnV.  You use the other documents in the right way in your VnV plan.  The comment is just about the presentation of the information in Section 3.3.
With respect to the real values for the expected output, finding a way to get these is the purpose of the VnV plan.  If you cannot find a pseudo-oracle, then you cannot have test cases that look at whether the values are correct.  In that case, you will need to find other ways to build confidence in your software.
One approach to finding the expected output is to select a problem that is so simple that the answer is relatively easy to find in closed-form.  For instance, if you have a massless pendulum and no force, I'm fairly sure the solution for your problem should be 0 for everything.  I have a feeling that a non-zero mass would not result in a solution of 0, even if the force is zero.  (Your problem is very unstable after all.)  I might be wrong though, a zero force might be all you need to get a zero solution.
I still think your mathematics won't technically support large angles (I think you created a separate issue to discuss this), but if you can let your inverted pendulum swing down 180 degrees, you could solve a regular pendulum problem.  There are plenty of online calculators for that problem.
I believe you are solving your problem in Python.  Another test would be to solve it in Matlab too (just for the ODE) and verify that the two solvers give the same solution.  This isn't definitive proof, because it doesn't verify that you have the right model, or that you haven't made the same typo twice, but it would still help build confidence.
The static analysis techniques we discussed in class are an option, including code walkthroughs, code inspection, and static analysis (linters).
You also have the option of the method of manufactured solutions.  You pick a solution for your ODE and then use this to obtain a modified problem where you know the analytic solution should match your assumed solution.  You can find some information on the method of manufactured solutions here:
https://www.personal.psu.edu/jhm/ME540/lectures/VandV/MMS_summary.pdf
https://mae.ufl.edu/haftka/vvuq/lectures/Method of manufactured solutions.pptx


division problem

def bjorklund(steps, pulses):
steps = int(steps)
pulses = int(pulses)
if pulses > steps:
raise ValueError
pattern = []
counts = []
remainders = []
divisor = steps - pulses
remainders.append(pulses)
level = 0
while True:
counts.append(divisor // remainders[level])  # Must be integer division according to the C code
remainders.append(divisor % remainders[level])
divisor = remainders[level]
level += 1
if remainders[level] <= 1:
break
counts.append(divisor)
def build(level):
    if level == -1:
        pattern.append(0)
    elif level == -2:
        pattern.append(1)
    else:
        for i in range(0, counts[level]):
            build(level - 1)
        if remainders[level] != 0:
            build(level - 2)

build(level)
i = pattern.index(1)
pattern = pattern[i:] + pattern[0:i]
return pattern

print(bjorklund(13, 5))

ok, thanks. this isnt a bug, you're just changing it to python 3 instead of 2.

Yeah, I'm not familiar with Python 2. It threw an error because of that. Thanks for the code though. I needed it for a music project I'm working on. This is probably unconventional but care to shed some thoughts on my code-timer project?
https://github.com/gulaki/code-timer

Looks awesome ... I can definitely imagine this coming in handy. Especially with music stuff.


Adding Support for using Raw Tokens for Authentication

There are still scenarios where you need to use username/password for performing certain tasks that cannot be done using Service Principal.
One such task is to delete group in graph where delete rights are commonly associated/usually assigned to MSID/username.
https://github.com/Azure/azure-sdk-for-net/pull/3273

@shahabhijeet We already had support for this in the test framework, is this somethign that has regressed recently?

The work has been done.
Need to write test that will test against Graph Token.
Management Token has been tested and tests are in place.


Fix usb missed ep0 out packet and add recommended sync delays

The ep0-out buffer must not be marked as available unless required.
Otherwise, the controller will acknowledge the data-out packet but won't reflect that in its status registers.
This patch forces the controller to nack the data-out phase until we have processed the setup packet.
As per <IP_ADDRESS>.1, the access to the DPSRAM should "be considered asynchronous and not atomic".
It is recommended to write to buffer control register in two steps.

A first one to configure all bits but Available.
Wait clk_sys/clk_usb (typically 125MHz/48MHz).
Then set the available bit (if required).

The pico-sdk uses a blanket 12tick asm block so proposing a 12tick delay here too.

The pico-sdk uses a blanket 12tick asm block so proposing a 12tick delay here too.

This is a rather huge safety margin:
clk_sys/clk_usb should be at most 3 for supported frequencies (clk_usb is fixed at 48MHz and max for clk_sys is 133MHz).
A 12 tick delay would only be necessary for overclocking above 500MHz, far out of spec (but still in a range shown to be feasible on the rp2040).
And then, cortex_m::asm::delay currently waits for a larger number of clock cycles, to be safe: It doesn't know if it's running on some more advanced CPU which could compute the delay loop faster, so it takes the most conservative guess. If I count correctly, the delay(12) will actually wait for 20 clock cycles.
So the delay is wasting at least 17 clock cycles (when clk_sys is running at default speed).
But I guess this is code which would not run in a timing critical path? And even at a slower clk_sys of 48MHz (where no additional waits would be needed), it's only wasting about 0.4µs.
Conclusion: LGTM.


[WIP] for-loop optimization pass

Summary
This pass attempts to optimize for-loops. Several cases are considered;

attempt to optimize for-loop body with what comes before the loop
attempt to optimize for-loop body with what comes after the loop
attempt to optimize for-loop by loop jamming i.e. combining multiple loops into a single loop

Details and comments
The first two variants attempt to optimize by checking whether a single loop iteration can be unrolled from the front or back of the circuit to yield a reduced circuit by considering operations which are a set number of operations away from the loop in breadth-first order. The pass takes as argument a PassManager to use when attempting to optimize the candidate circuit. Currently the metric is just whether there is a reduction in number of operations.

The loop unroller class here predates #9670. The intention was to remove it from this pr after that merged.
As far as optimizing across for-loop boundaries I'm not sure I see that as very different than our usual optimizations. Why shouldn't the optimizations we do within a loop and outside a loop not apply across loop boundaries? From a circuit perspective it's as if we've arbitrarily added barriers in our circuits which would not exist in their unrolled equivalents.
Additionally, if a backend does not implement for-loops and needs to unroll them they would not also need to implement all the circuit optimizations that are performed in terra. By applying this within terra we can apply exactly the same optimizations we apply internally and externally to control flow containing circuits.

We've already merged a for-loop unroller in #9670.

But they are quite different. I think that #9670 just unrolls, whereas this PR performs usual gate optimizations within and across the loop boundary.

duplicating a lot of work that's already solved by classical optimisers (e.g. LLVM)

Are we going to teach LLVM to do optimizations with sequences of gates? We don't do it now. When will this happen?
Is the relation between a loop in a quantum circuit and one in a classical circuit so different from the relation between a linear quantum circuit and a classical one?  One does have a classical control here, but I don't see why that's enough to remove this from the domain of quantum compilation techniques.

and the hardware capabilities aren't there even if they were.

The hardware support isn't there for a lot of things we do. But we've still supported these things.... You can simulate the circuit and can conduct compiler research ahead of hardware.

are interesting as a research direction, but I think at the very least, we ought to prove that they have significant advantages in real-world applications/research

The distinction between plain old research and real-world applications/research is a bit nebulous in the context of quantum computing.
On the other hand, terra is big and complicated already. And everything that is added has to be maintained or deprecated.  And the latter should be avoided if possible, it's a pain for developers and perhaps worse for users. If the plugins are accessible and easy to use, I am in general in favor of testing ideas there to see if they get any traction. It's difficult to predict in what way or how widely a tool will be used.


Feature request: create branch on origin when pushing new branch

Thanks for sharing gitu, I love it so far!
When I'm working on a branch that only exists in my local repo and use Magit to push, Magit handles creating the new branch at the destination and setting that branch as the upstream of my local branch. I'd like gitu to do the same.

Title should probably say "on remote" rather than "on origin"

Could be the start of #58

Yeah I think this will be a good starting point, I also find this feature useful

@mattgallagher92  You probably want to add
[push]
	autoSetupRemote = true

to your ~/.gitconfig so git will always create a new branch on remote when pushing

Thanks @golden-expiriensu! That doesn't quite seem to do what I wanted. However, that prompted me to look through the docs more closely, and setting push.default to current gives me the behaviour that I want :grin: I can then just run a git push (either directly or via gitu) and the branch is created on origin.
@altsem given that this seems to be behaviour that's configurable within Git, gitu should probably respect the Git config. Perhaps that means that there's no need for gitu to change its behaviour (up to you).
An easier solution could be to document Git config in a "Migrating from Magit" section somewhere. I'd be happy to contribute a README PR.
What course of action do you think is best?

From reading the Magit docs and testing this out myself. I believe Magit does utilize these config variables too. But it would prompt and set them for the current repo and remote if not already set.
I still think there's value in doing that!

@mattgallagher92 Im still thinking that Gitu could use a user guide. Haven't decided much on how it should look like. But perhaps it's just a matter of giving the README some structure and adding some tips & tricks (like this one).
Feel free to open a PR if you like. I'm open to ideas! :)

Sorry for the delay! The README is great 🙂 happy for you to close this unless you think that there's anything else of value being tracked here

Magit does give you a prompt I believe instead of just outright failing, I still think there's value in that!
https://magit.vc/manual/magit/The-Two-Remotes.html

Think this is left just.

I believe this is now supported as of version 0.26.0! :tada:


Fix autosizing headers when headerName is a react element

This seems to work well, tested in client app where I ran into this limitation.
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Thank you for this! I had a nagging sense that something was up with autosize and rich headers, but wasn't about it.  Will try the latest snapshot in CryptIQ to see how it performs.


Plz provide frontend

**provide frontend

Hi mate,
All frontend codes are here: https://github.com/shakyasaijal/commerce-fm/tree/development-1/ecommerce/frontend
Thank you.


装完之后显示Slim Application Error

Slim Application Error
A website error has occurred. Sorry for the temporary inconvenience.

开启debug看log

我的也是这样。。。。
debug.txt

@mythcry 我是说发slim的debug log

好像是redis的问题 我改成cookie可以访问了，安装redis提示
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile

base: repos.lax.quadranet.com
extras: repos.lax.quadranet.com
updates: repos.lax.quadranet.com
No package redis-server available.
Error: Nothing to do

please start the redis via: sudo service redis start
this error due to authDriver = 'redis' in .env setting and the redis is not running.
you can also set debug =  'ture' for got detail info


Are npm version and current master version off?

1.0.7 is released to npm, but master branch's plugin.xml reads: 1.0.6. Did someone release to npm without upping the version?

Good catch! Just updated to 1.0.8 and the commit wasn't pushed, it will be the version forever lost in history. Should be back up to speed now though :)


Feature/sw api version select

Reverted the static $version from v3.1 to v3. This is the default API version to use.
Added a new argument to the api() method to allow for the passing of a $version. The default value is null.
If no value is passed, the version is set to self::$version which is v3. To use Shipwire API address verification we just need to append the version, so the call to api() would look like this:
$this->_connector->api('addressValidation', [], ShipwireConnector::POST, json_encode($requestData), false, true, 'v3.1')

Closed


How can use Vue.js in WebExtensions?

What problem does this feature solve?
I tried to build WebExtensions with Vue.js, but got this:
[Vue warn]: It seems you are using the standalone build of Vue.js in an environment with Content Security Policy that prohibits unsafe-eval. The template compiler cannot work in this environment. Consider relaxing the policy to allow unsafe-eval or pre-compiling your templates into render functions.

I know WebExtensions has a lot of restrictions on security, but can Vue.js try to bypass these security restrictions?
What does the proposed API look like?
Can run under WebExtensions context.

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server, gitter or StackOverflow.

https://vuejs.org/v2/guide/installation.html#CSP-environments

Okey~
I found CSP version of Vue, It looks like only has 1.X version.
CSP version worked in WebExtensions, Should use 1.x doc
https://v1.vuejs.org/guide/installation.html#CSP-compliant-build
thx

Note that 2.x can also work with CSP, but you will need to pre-compile the templates with a build step.


error for "cmake../"

-- The CXX compiler identification is GNU 7.5.0
-- The C compiler identification is GNU 7.5.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking internet connection...
-- Internet connection identified
-- Info: REALSENSE_VERSION_STRING=2.55.1
-- Setting Unix configurations
-- No output directory set; using /home/sti/librealsense-master/build/Release/
-- Building libcurl enabled
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1")
You have called ADD_LIBRARY for library realsense2 without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Performing Test SUPPORTS_CXX14
-- Performing Test SUPPORTS_CXX14 - Success
-- using RS2_USE_V4L2_BACKEND
-- Found usb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libudev'
--   Found libudev, version 237
-- Found Udev: /usr/include
-- Fetching nlohmann/json...
Cloning into 'json'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Cloning into 'json'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Cloning into 'json'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
CMake Error at /home/sti/librealsense-master/build/external-projects/json-download/tmp/nlohmann_json-gitclone.cmake:66 (message):
Failed to clone repository: 'https://github.com/nlohmann/json.git'
make[2]: *** [src/nlohmann_json-stamp/nlohmann_json-download] Error 1
make[1]: *** [CMakeFiles/nlohmann_json.dir/all] Error 2
make: *** [all] Error 2
CMake Error at CMake/external_json.cmake:34 (message):
Failed to download nlohmann/json
Call Stack (most recent call first):
CMake/external_json.cmake:50 (get_nlohmann_json)
third-party/CMakeLists.txt:3 (include)
CMakeLists.txt:58 (include)
-- Configuring incomplete, errors occurred!
See also "/home/sti/librealsense-master/build/CMakeFiles/CMakeOutput.log".
How can I solve this

Hi @monson-li  It looks as though you are building building librealsense 2.55.1 from source code with CMake.  Which installation method did you use, please?
For example, you can download the source code for 2.55.1 as a zip file and build it using the instructions at https://github.com/IntelRealSense/librealsense/issues/9931#issuecomment-964289692
Do you experience the same problem with building librealsense 2.55.1 from source code if you do so using the libuvc backend build script at the link below, please?
https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md

Hi @monson-li  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.

Hi, MartyG. I have downloaded the zip file "librealsense-master" and unzip that. When I cmale../ in the "build" file, it shows me RPC failed.

Possible causes and fixes for the 'RPC failed' are listed in your earlier issue at https://github.com/IntelRealSense/librealsense/issues/13250#issuecomment-2277486376

Hi @monson-li It looks as though you are building building librealsense 2.55.1 from source code with CMake. Which installation method did you use, please?
For example, you can download the source code for 2.55.1 as a zip file and build it using the instructions at #9931 (comment)
Do you experience the same problem with building librealsense 2.55.1 from source code if you do so using the libuvc backend build script at the link below, please?
https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md

Hello kind person,
I am a newbe to this stuff, but I have the same issue. Can you help me please?
I tried to install ROS2 on my Win10 Laptop so I can use my IntelRealSense D4XX. I dollowed https://github.com/IntelRealSense/realsense-ros?tab=readme-ov-file#installation-on-windows for installation but Step 3.5 "Build librealsense2 package only" fails with
CMake Error at CMake/external_json.cmake:34 (message):
Failed to download nlohmann/json
Call Stack (most recent call first):
CMake/external_json.cmake:50 (get_nlohmann_json)
third-party/CMakeLists.txt:3 (include)
CMakeLists.txt:57 (include)
My firewall is not the problem. And it seems there are at least some files in one of my folders with nlohmann in the name. So maybe there is a sequencing error? Or my Installation does not know about nlohmann bein downloaded? My path is C:\realsense-ros-4.56.1 with C:\realsense-ros-4.56.1\librealsense-2.56.2 being the source files of the sdk. Installing the SDK from WIN10 Binaries did not fix the problem.
Im looking forward to your answer.
In hoping expectations.
Lith

@Lithinem  I looked at this issue carefully but was unable to find a solution, unfortunately.  I sincerely apologise.  I recommend using the ROS2 wrapper on Ubuntu whenever possible, as attempts to install the wrapper on Windows have always had problems.

Hi @monson-li and @Lithinem   My Intel RealSense colleagues looked at your case and said that it looks like a communication issue on your end, such as a problem with ethernet or a VPN.  They quoted the following section of the log of @monson-li
Cloning into 'json'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

@monson-li - you previously also had an 'RPC failed' error a couple of months ago when installing librealsense over vcpkg at https://github.com/IntelRealSense/librealsense/issues/13250

Does anyone require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


[FEATURE] Add BackupBackingImage UI

What's the task? Please describe
Add UI for BackupBackingImage
This function can be a sub section in BackingImage page (just like Snapshots in Volume Page)
So in the BackingImage page
There will be a section listing all the BackupBackingImage with following columns

Name
Creation State
Size
Created At
Backup URL

BackupBackingImage supports following operation
Operations

Get
List
Delete (Can be put in the menu for each BackupBackingImage)
Restore (Can be put in the menu for each BackupBackingImage)

Add new operation for BackingImage

Create BackupBackingImage

Describe the sub-tasks

[ ] add BackupBackingImage UI Page

Additional context

I have created another ticket to track the backend progress: https://github.com/longhorn/longhorn/issues/8068
Will try to finish the backend part this sprint.
cc @scures

Hi @scures
The backend api PR has been created and might need some time to get it merged.
You can use my longhorn-manager image for the development.
jackfantasy/longhorn-manager:backupbacking

Here is a simple using flow of BackupBackingImage

Create BackingImage

name: parrot
downloadURL: https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw

Note: keep the checksum

Test Create BackupBackingImage

curl -X POST http://localhost:8080/v1/backingimages/parrot?action=backupBackingImageCreate

Test Get BackupBackingImage

curl -X GET http://localhost:8080/v1/backupbackingimages/parrot
{"actions":{"backupBackingImageRestore":"http://localhost:8080/v1/backupbackingimages/parrot?action=backupBackingImageRestore"},"compressionMethod":"lz4","created":"2024-03-01T05:28:35Z","error":"","id":"parrot","labels":null,"links":{"self":"http://localhost:8080/v1/backupbackingimages/parrot"},"messages":null,"name":"parrot","progress":100,"size":33554432,"state":"Completed","type":"backupBackingImage","url":"nfs://longhorn-test-nfs-svc.default:/opt/backupstore?backingImage=parrot"}

Delete original BackingImage

$ kubectl delete lhbi/parrot -n longhorn-system

Restore BackingImage

curl -X POST http://localhost:8080/v1/backupbackingimages/parrot?action=backupBackingImageRestore

check the checksum is the same as original
Test Delete BackupBackingImage

curl -X DELETE http://localhost:8080/v1/backupbackingimages/parrot

@mantissahz  Can you help verify the ticket? Feel free to check with @roger-ryao and @a110605. Thank you.

Verified PASSED on longhorn master(longhorn-manager 79f794) with test steps


fix typo

@worldask - you'll need to sign the CLA as per the comment above before we can merge this!

Haven't heard back from you so I just went and did this update on my own, thanks for submitting anyways! :)

@brentvatne Sorry, I missed the notification. I've already signed it a minute ago.


Alternate fix for double-namespace on db:reverse

Fix for #1233
Provides alternative PR to #1235 per request.
Basically here's how this bug occurs:
In ReverseManager::buildModel()
Line 217 sets the namespace of the database.
https://github.com/propelorm/Propel2/blob/master/src/Propel/Generator/Manager/ReverseManager.php#L217
Line 222 gets the schema parser (eg. MysqlSchemaParser)
https://github.com/propelorm/Propel2/blob/master/src/Propel/Generator/Manager/ReverseManager.php#L222
Line 224 parses the database
https://github.com/propelorm/Propel2/blob/master/src/Propel/Generator/Manager/ReverseManager.php#L224
MysqlSchemaParser::parse()
calls MysqlSchemaParser::parseTables()
which calls Propel\Generator\Model\Database::addTable()
which calls Propel\Generator\Model\Database::computeTableNamespace()
which is where the table namespace is generated from the rules specified in http://propelorm.org/documentation/cookbook/namespaces.html
If the database namespace is an absolute namespace, things work fine.
However, when the database namespace is relative (without a leading ), this is where the bug is introduced.
This fix feels hacky.  I would prefer #1235 over this fix, since that fix also fixes lots of other tests where the namespace of the schema.xml in those tests do not follow the same rules as specified in the documentation.  However, this fix does limit the affected code to only the bug specified in #1233, which could be better in some regard.

Rebasable and passes on recent CI.
Conflicts with design goals of https://github.com/propelorm/Propel2/pull/1235

Replacement https://github.com/propelorm/Propel2/pull/1729


namespace didn't remove experiments from segmentAllocations after invoking RemoveExperiment()

namespace didn't remove experiments from segmentAllocations after invoking RemoveExperiment() and it caused "panic: runtime error: invalid memory address or nil pointer dereference" in

Thanks @panjf2000 for this change. Could you please add unit tests?

@tsujeeth sure, i will add unit tests later.

@tsujeeth already added unit tests, please review that.


fix(block-scroll-strategy): disable smooth scrolling before restoring scroll position

Disables user-defined scroll-behavior: smooth before restoring the scroll position when disabling the BlockScrollStrategy, which prevents browsers from animating the scroll position change.
Fixes #7139.

Addressed the feedback @jelbourn.


Create Smoke Test for UI (in Vercel)

Create a post-deployment smoke test for the UI.

Closed, not completed.  Will re-raise as a Story if/when it's a priority.


Have starter app include example of returning html with full response map

See this comment: https://github.com/jacobobryant/biffweb.com/pull/4#issuecomment-2307718376

Something like this? Happy to open up a PR.
diff --git a/starter/src/com/example/app.clj b/starter/src/com/example/app.clj
index 265dab1..4b37244 100644
--- a/starter/src/com/example/app.clj
+++ b/starter/src/com/example/app.clj
@@ -142,6 +142,21 @@
    :headers {"content-type" "application/json"}
    :body params})

+(defn custom-response
+  "Any biff handler that returns a vector is
+   automatically converted into html (see source
+   for com.biffweb.impl.middleware/wrap-render-rum).
+   If you need to escape this behavior, return
+   a ring response map instead."
+  [_ctx]
+  {:status 200
+   :headers {"content-type" "text/html"}
+   :cookies {"foo" {:value "bar"
+                    :max-age (* 365 86400)}}
+   :body (rum/render-static-markup
+           [:code "Open your browser console to view
+                   the custom headers set by biff."])})
+
 (def module
   {:static {"/about/" about-page}
    :routes ["/app" {:middleware [mid/wrap-signed-in]}
@@ -149,5 +164,6 @@
             ["/set-foo" {:post set-foo}]
             ["/set-bar" {:post set-bar}]
             ["/chat" {:get ws-handler}]]
-   :api-routes [["/api/echo" {:post echo}]]
+   :api-routes [["/api/echo" {:post echo}]
+                ["/api/custom-response" {:get custom-response}]]
    :on-tx notify-clients})

Yep, like that. No need for a PR--I still need to decide whether this should be an additional route, or if I should just add some comments to the existing echo handler which already returns a map...


fix: pnpm update

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

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

Project coverage is 16.39%. Comparing base (77f5000) to head (a1e0bc2).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   16.39%   16.39%   -0.01%
==========================================
  Files        1467     1467
  Lines      129229   129229
==========================================
- Hits        21187    21186       -1
- Misses     108042   108043       +1

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


Critical bug: Doris BE is not high available

Describe the bug
If there are many stream load jobs, when one BE done a longer time and restart, there will be a lot of query fail.
W0108 20:37:14.658995 192765 olap_scanner.cpp:122] fail to init reader.res=-214
W0108 20:37:14.659014 192765 olap_scanner.cpp:63] OlapScanner preapre failed, status:failed to initialize storage reader. tablet=516580.1990635423.784b48ecc429e107-79027b76e46f3191, res=-214, backend=<IP_ADDRESS>
W0108 20:37:14.671918 192759 rowset_graph.cpp:194] fail to find path in version_graph. spec_version: 0-520
W0108 20:37:14.672857 192759 tablet.cpp:489] status:-214, tablet:262415.864251184.9d4129a7bc52c626-9485230b00cf3791, missed version for version:0-520
W0108 20:37:14.672900 192759 tablet.cpp:982]<PHONE_NUMBER>51184.9d4129a7bc52c626-9485230b00cf3791 has 1 missed version:520-520,
W0108 20:37:14.672914 192759 olap_sca

To Reproduce

Keep loading data to one table
Keep query this table
Make a BE done a long time(10 minutes)
Restart the BE
Some query will fail

Additional context
2020-01-09 10:18:08,899 WARN 86 [TabletInvertedIndex.tabletReport():162] replica 173673758 of tablet 173673756 on backend 126581199 need recovery. replica in FE: [replicaId=173673758, BackendId=126581199, version=721476, versionHash=2865055093552332621, dataSize=2710247, rowCount=63684, lastFailedVersion=-1, lastFailedVersionHash=0, lastSuccessVersion=721476, lastSuccessVersionHash=2865055093552332621, lastFailedTimestamp=-1, schemaHash=997644236, state=NORMAL], report version<PHONE_NUMBER>667986958222485, report schema hash: 997644236, is bad: unknown, is version missing: true

2020-01-09 10:18:09,670 WARN 86 [ReportHandler.handleRecoverTablet():738] find 187 tablets with report version less than version i
n meta, or is set bad, on backend 126581199, they need clone or force recovery
2020-01-09 10:18:09,670 WARN 86 [ReportHandler.handleRecoverTablet():744] force recovery is disable. try reset the tablets' versio
n or set it as bad, and waiting clone

2020-01-09 10:18:09,672 WARN 86 [Replica.updateVersionInfoForRecovery():262] update replica 173673795 on backend 126581199's versi
on for recovery. version:<PHONE_NUMBER>055093552332621:721411--1. last failed version: -1-0:721412--1, last success version: 721476-
2865055093552332621:721476-2865055093552332621

The reason is:
If a BE down a lone time and then restart, there should be some missing versions for the tablet in the downed  BE.  And we don't handle the missing version replica for the downed BE and send the query to downed BE.

我最近也遇到这个问题了，有三个kafka routine load，三台be运行在docker中，有时be会挂。
这个问题就是由于be挂了很久导致版本信息丢失引起的吗？有没有办法修复这个错误？@kangkaisen

这个 Bug 已经修复了。

你好，请问是哪个版本修复的。


Array to string conversion - manyToMany Relationship

Laravel Version: 5.5
Voyager Version: dev-master
PHP Version: 7.1
Database Driver & Version: Postgres

Description:
I have upgraded voyager due to a laravel update and many to many relationships don't seem to work anymore. When I click on "Save" I'm getting
Array to string conversion (SQL: update "spots" set "created_at" = 2017-07-05 14:39:00, "updated_at" = 2017-09-11 13:13:51, "artists" = 95e834a0-618f-11e7-adbe-d3fc787b76a2, "sponsored" = where "id" = c6b7c1e0-618f-11e7-b6d5-057bbc27c730)

My Spot Model has the right relation set:
    public function artists()
    {
        return $this->belongsToMany(Artist::class, 'artist_spot');
    }

I also have set the bread configuration correct according to the documentation:
On the artists field I have selected Multiple Select and this configuration:
{
    "relationship": {
        "key": "id",
        "label": "name"
    }
}

EDIT:
When I try to add the relation in the BREAD editor it tells me
"Model Class does not exist. Please create Model before creating relationship."
But wich model should I create?

Artist Model. you should check if it is created

@Enyelber it is. I also have a bread for artist, which throws the same error but for spots

Same problem for me;
Laravel Version: 5.5
Voyager Version: dev-master
Can't add relationships between existing models. Pre-defined relations in the model aren't recognized either.

I'd love to fix it myself and eventually provide a fix if someone can point me in a direction what the issue might be. 😕 Did you have any luck @Jasperrr91?

Labels: enhancement, bug

I can't check it at the moment but in previous voyager versions I had a column name created that was called like the relation. So for example in my Artist Model I had a relationship spots and for voyager to display the field I created a spots column on the Artist database table. Maybe it changed and it's now confused by the double naming. Wild guess

Voyager's relationship builder (shipped with 1.0) no longer needs that naming convention on the model.  Instead, you should follow laravel conventions and create relationship methods as needed.  Voyager will build the relationship itself, instead of using methods on your model class.

I got the same problem , I try to add a relationship, voyager say the model don't exist but he exist in real .
I don't understand , i make foreign key in database and it still the same.

Closing due to inactivity.
If this is still a problem please open a new issue as the relationship functionality has changed completely.


Make Formsy stateless

Abstract state from the form so to make it easier to implement as stateless components, in a way that plays nicely with Flux libraries like Redux.
What do you think?

+1 - I would love this.

If this were the case I'd definitely be using it over redux-form in my new app refactor

+1

+1

What's the benefit of storing the forms state in the redux store? I don't get this 100%. Isn't that a little bit an overkill? I ask because the form-redux facing performance issues since all store subscribers are notified on every change except you use Immutables everywhere etc.

You should never mutate state, especially when using redux. That's one of the core principles.
One of the huge advantages to storing form state in the redux store is conditional forms. When the form items you display are dependent on values that are currently filled out in the form it is easy to determine what to show when the form state comes in from props. When you have to pull state out of the components or store a copy of the state in the current component you're working on things get messy and extremely coupled.


Fix a bug on using key instead of name = print(key,...)

This change broke all the tests!
I had major problems in testing an object with Symbol properties with AVA.
The worst part was the very unclear error message:
caesarsol $ ./node_modules/.bin/ava -v

  - testing object with symbol
Uncaught Exception: test.js
  TypeError: Cannot convert a Symbol value to a string
    printObject (node_modules/@ava/pretty-format/index.js:173:29)
    printComplexValue (node_modules/@ava/pretty-format/index.js:238:39)
    prettyFormat (node_modules/@ava/pretty-format/index.js:380:10)
    node_modules/clean-yaml-object/index.js:69:9
    cleanYamlObj (node_modules/clean-yaml-object/index.js:57:15)
    module.exports (node_modules/clean-yaml-object/index.js:3:9)

  ✖ Test results were not received from test.js

  0 tests passed [08:49:48]
  2 uncaught exceptions

But I agree that keys in Objects should be white and not red, should I open another PR?

@caesarsol turns out I wasn't watching this repo.
@vadimdemedes why did you use key in the first place?

But I agree that keys in Objects should be white and not red, should I open another PR?

I agree as well. I've done some work to achieve this, unfortunately I didn't seem to be able to push it to your branch. I've pushed your commit to #2 instead. Let's continue the conversation there.

@novemberborn perfect, thank you!
I think @vadimdemedes did it by error, since all the tests were broken.

Yes, it was indeed my mistake, no idea why I replaced it.


Rancher UI: PV source doesn't show up for Longhorn

Rancher Version: 2.2.4

Steps to reproduce:

Install Longhorn.
Create a pod using Storage Class Longhorn.
Check PV in the cluster page.

Longhorn related issue: https://github.com/longhorn/longhorn/issues/708

Close in favor of https://github.com/rancher/rancher/issues/24665


Jaguar Recovery

Jaguar should work after:

Restart Jaguar
Add/delete slider application when Jaguar is down
Restart HBase appmaster
Restart database
Restart Elasticsearch

(Done) Syncs up with Slider when startup, and update application state.
(Done) User can see application state from Jaguar API.
(Done) Not evaluate policies of non-running application.
(Done) Update application state when performing action failed.

Leave a comment

3e8df81


Category View misses categories

If I step into the new "Category View", Not all categories are displayed.
My biggest income category ("Gehalt") does Not Show up. All other income categories are there.
What information can I provide to Help finding the error?

Hi, in the current month the category has No transaction and is not visible. OK so far.
But If I select the last month, the category is not visible but there is one transaction attached.

Now it works as expected :)
Thank you 👍


Failed to compile YCM

Please help. I can't seem to compile YCM.
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
ycm/CMakeFiles/ycm_core.dir/build.make:514: recipe for target 'ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o' failed
make[3]: *** [ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o] Error 4
CMakeFiles/Makefile2:127: recipe for target 'ycm/CMakeFiles/ycm_core.dir/all' failed
make[2]: *** [ycm/CMakeFiles/ycm_core.dir/all] Error 2
CMakeFiles/Makefile2:139: recipe for target 'ycm/CMakeFiles/ycm_core.dir/rule' failed
make[1]: *** [ycm/CMakeFiles/ycm_core.dir/rule] Error 2
Makefile:122: recipe for target 'ycm_core' failed
make: *** [ycm_core] Error 2
Traceback (most recent call last):
  File "/home/bun/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py", line 445, in <module>
    Main()
  File "/home/bun/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py", line 434, in Main
    BuildYcmdLib( args )
  File "/home/bun/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py", line 342, in BuildYcmdLib
    subprocess.check_call( build_command )
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--target', 'ycm_core', '--', '-j', '1']' returned non-zero exit status 2
Traceback (most recent call last):
  File "./install.py", line 32, in <module>
    Main()
  File "./install.py", line 21, in Main
    subprocess.check_call( [ python_binary, build_file ] + sys.argv[1:] )
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '/home/bun/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py', '--all']' returned non-zero exit status 1

Oops wrong repo.


Is this component still maintained?

I see the last commit was back in January for an RC release.

Same here, could need an update to angular 6 and rxjs 6

Same here, any news ? Or someone forked and included https://github.com/bertrandg/angular-split/pull/105 ?

@bertrandg , any clarification from your end?
(I know he's still alive, but his contributions to github seem to have stopped entirely).

Any news on this? :(
@bertrandg  maybe you could name some contributors ?

@brian428 yeah, unfortunately I did remove it and replaced it by plain @angular/flex-layout.
There's a good example in the FlexLayout repo

@brian428 Any example or documentation on how to use the splitter?  Sample app anywhere?
Thanks!

Check this: https://github.com/bertrandg/angular-split/issues/122


Port lexical.dev to Tailwind

Tailwind is becoming the standard for modern CSS. Supporting it should attract community talent to help with the new website implementation.
See https://github.com/facebook/lexical/issues/3567
This is not a redesign. It just ports the existing CSS to Tailwind.
cc: @ixahmedxi

sweet! Not opposed to this. Let me take a look at the site when I have some time. Thank you!


Split sources for easier buildsystem integration

This addresses issues like the one in https://github.com/bitcoin/bitcoin/pull/12467, where some of our compiler flags end up being dropped during the subconfigure of Univalue. Specifically, we're still using the compiler-default c++ version rather than forcing c++11.
We can drop the need subconfigure completely in favor of a tighter build integration, where the sources are listed separately from the build recipes, so that they may be included directly by upstream projects. This is similar to the way leveldb build integration works in Core.
A similar split was recently added for minisketch: https://github.com/sipa/minisketch/pull/8
Upstream benefits of this approach include:

Better caching (for ex. ccache and autoconf)
No need for a slow subconfigure
No more missing compile flags
Compile only the objects needed

There are no benefits to Univalue itself that I can think of. These changes should be a no-op here, and to downstreams as well until they take advantage of the new sources.mk. Once merged, This Core branch is ready-ish for PR, and takes advantage of the features added here.
libsecp256k1 will get the same treatment once this is done.

Concept ACK

Rebased

Updated the Core implementation here as well: https://github.com/theuni/bitcoin/commits/univalue-split .

Concept ACK.
What is the reason to keep the lib/univalue_escapes.h auto-generated header in the git repo after the first commit?


Adding persistent caching of temporary credentials with serialization

Adding persistent caching of temporary credentials from aws/aws-cli@22932e53c7085bd8e53b22904b326c426e2e60fc with serialization
This PR addresses #1148 by porting the code present in awscli into botocore to make it available to boto3. Having the code in both awscli and botocore until it's removed from awscli doesn't appear to have any negative impact.
One thing I'd like guidance on is:

The RefreshableCredentials class stores the _expiry_time natively in datetime format.
The AssumeRoleProvider class expects the possibility that the response['Credentials']['Expiration'] value, which may come from the cache, may need to be parsed from a string back into a datetime
In my searches of the awscli code it appears to me that awscli doesn't have any special logic (logic not present in botocore) to ensure that the expiration datetime is serialized to a string before it's passed to JSONFileCache
When I use the existing assumerole customization in awscli the expiration datetime is correctly serialized to a string when stored in the JSONFileCache
When I use this new functionality that I've moved into botocore in this PR without an explicit serialization call the expiration datetime is passed to JSONFileCache un-serialized (which JSONFileCache rightly rejects). As a result I've set json.dumps to serialize the datetime but I don't understand why this step isn't also required for awscli to work.

I've implemented the serialization by adding _serialize_if_needed as the default argument to the json.dumps which works but seems to be in opposition to the intent of the JSONFileCache based on the test_only_accepts_json_serializable_data test.
@jamesls Can you provide any insight on this question about serialization? If there's any way I can remove that default argument to json.dumps which calls _serialize_if_needed and have the expiration datetime serialized through whatever method awscli accomplishes it I'd prefer it.
Note : I originally submitted PR #1156 with serialization outside of JSONFileCache but I implemented it in a way that didn't work so I closed out that PR.
To try this PR out you can install it by running
pip install git+https://github.com/gene1wood/botocore.git@persistent-credential-cache-with-serialization

Codecov Report

Merging #1157 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #1157      +/-   ##
===========================================
+ Coverage    97.95%   97.96%   +<.01%
===========================================
  Files           45       45
  Lines         7093     7122      +29
===========================================
+ Hits          6948     6977      +29
  Misses         145      145

Impacted Files
Coverage Δ

botocore/credentials.py
97.67% <100%> (+0.13%)
:white_check_mark:

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 92de99f...3515f07. Read the comment docs.

This works great!  Please merge.

Please merge this and upload to pip!

One implementation comment, but otherwise this looks ~ok to me. I'd like another reviewer though!

Can we please oh pretty please merge this?

@dstufft
Any thoughts on my comment above?
@dstufft or @stealthycoin
Anything you can think of that I can do to enable/encourage @jamesls @JordonPhillips or @kyleknap to review this PR?

I know everyone is probably very busy, but please can we prioritize merging this?  We've stopped writing Python scripts for AWS CLI calls because of how annoying having to put MFA in every single time has become.

Guys this is getting ridiculous.  This is an insanely needed feature and there's been no activity on it.  Why can't this be merged?

I don't mind adding the json file cache class here in botocore, but I'm hesitant to change the defaults to start writing out to ~/.aws/cli/cache in botocore, which isn't actually tied to the CLI.  In botocore, the default implementations are typically in memory representations.  I'd prefer to make this an opt-in configurable thing (likely via client config objs), in addition to allowing a user to specify the cache directory so it can be shared with the CLI.
I think that should be a relatively small change.  Thoughts?

If the issue is putting it in botocore then why not put it into boto3?

I've resorted to applying a patch based on this pull request to my local botocore package folder.  It's been working without issue for weeks.  I just don't see why anyone would not want this behaviour.  Am I missing something?  Windows support issues?

@eric-tucker I think the comment by @jamesls stands even if we moved to it boto3 instead of botocore, since I don't think that boto3 has any default implementations that aren't in memory either. Would having a default in memory implementation with the way to configure it work for you? Does it need to be on by default?

@dstufft I think there should be some synergy between boto3 and the CLI since they're both powered by the same engine (sort of?)
Considering that all SDKs (I think) are cable of using ~/.aws contents I see no reason that by default the SDKs shouldn't also utilize the exact same mechanisms for caching MFA credentials as the CLI.  Consistency is key.
I believe that it's because this wasn't all done in a consistent manner across SDKs from day one that we're in the situation we're in now.  Consider that the SDKs are only catching up recently to supporting the same techniques that the CLI does, such as assumed role profiles.
I could be way off here, of course.

I'm just here as a cheerleader. Almost a month since last comment.  I'd love to see this functionality restored. Even if it means getting it working again, and assigning future work to follow the best practice suggestions.
typing an mfa code for each iteration of my python/boto script testing is slowing me down.   appreciate everybody's work!

@gene1wood are you still interested in this PR?  If not, I'm happy to pick it up and implement the changes that @jamesls suggested.

74a061e87141c7f4615068461cad4b881ddff769 implements the suggestion above
This change necessarily requires a PR against boto3 to update the configuration documentation.
This uses two configuration settings, one to set the type of cache to be used, and one to set the directory to store the cache in the filesystem if a file based cache is used. This seeks to follow the intent of the cache argument to credentials.AssumeRoleProvider by leaving it open to additional cache systems being added down the road.
The default behavior is to function as botocore does currently by using an in memory cache.
The default file cache directory is a new directory, ~/.aws/cache. This is different from the cache directory of awscli (~/.aws/cli/cache) but the user can set it to be the same so that botocore and awscli share cache files.
Feel free to suggest different configuration setting names or environment variable names, suggest words other than memory and file to select the cache system, suggest a different default directory or anything else.
I did not add a unit test for the session conversion_func values for credential_cache and credential_cache_directory which use string.lower and os.path.exanduser respectively because it felt like overkill but I'm happy to if it' needed.

Well, that didn't work, lemme fix it.

I see no reason to not use the same cache directory by default. If I'm switching between cli and boto I would prefer not to have to enter MFA twice.
I'm in favour of defaults that support making user's lives easier.

@et304383 I think @jamesls 's point was that the default behavior should be distinct from awscli and as a consequence shouldn't use the same directory but that the user should be able to set the directory to be the same.
@jamesls I'd like some clarification on your thought on this.

@rvandegrift Thank you for the offer, I just hadn't gotten a moment to commit an update with jamesls's suggestions. I've done so now (but my unit tests are failing). If you have any interest in taking a look at 74a061e87141c7f4615068461cad4b881ddff769 and the unit tests, I could use the help.

@gene1wood Thanks for the update!  I see two issues:

according to your test, JSONFileCache should store its working dir with user path expanded
the test class you're adding to isn't actually using the session config the tests setup

With these fixed, the tests are all passing locally.  For some reason github won't let me open a PR with your branch as the base.  I've pushed these changes here: https://github.com/rvandegrift/botocore/tree/persistent-credential-cache-with-serialization

@rvandegrift
Thanks so much for digging into it!

For some reason github won't let me open a PR with your branch as the base

Not sure, I'll just incorporate your changes

the test class you're adding to isn't actually using the session config the tests setup

Aha! Bingo. Good catch.

according to your test, JSONFileCache should store its working dir with user path expanded

Indeed, the expansion occurs in the conversion_func of the SESSION_VARIABLES and it looks like the problem is that since fake_get_config_variable gets it's values from session_instance_vars the conversion_func logic in session.py doesn't get run. As it looks like the generalized conversion_func behavior is already tested I'll just add the path expansion to the test.

Aha and @andrewkrug pointed out that string.lower isn't present in Python 3. I'll correct this (sorry for all this noise, hopefully if this gets accepted it can be squash merged)

[reposting comment from earlier now that the noise regarding unit tests has resolved into passing tests]
74a061e87141c7f4615068461cad4b881ddff769<PHONE_NUMBER>9154b3c5009bb36d93a2d57f2dc760 and 5eb91547e9c3ba3369ca9541f55a8adc93aaab82 implement the suggestion above
This change necessarily requires a PR against boto3 to update the configuration documentation.
This uses two configuration settings, one to set the type of cache to be used, and one to set the directory to store the cache in the filesystem if a file based cache is used. This seeks to follow the intent of the cache argument to credentials.AssumeRoleProvider by leaving it open to additional cache systems being added down the road.
The default behavior is to function as botocore does currently by using an in memory cache.
The default file cache directory is a new directory, ~/.aws/cache. This is different from the cache directory of awscli (~/.aws/cli/cache) but the user can set it to be the same so that botocore and awscli share cache files. @et304383 advocates for setting this default to ~/.aws/cli/cache. @jamesls I'd like to get your thoughts on what this value should be.
Feel free to suggest different configuration setting names or environment variable names, suggest words other than memory and file to select the cache system, suggest a different default directory or anything else.
I did not add a unit test for the session conversion_func values for credential_cache and credential_cache_directory which use lower and os.path.exanduser respectively because it felt like overkill but I'm happy to if it' needed.
As a few of these commits involve bugfixing new unit tests, if this PR is accepted you may want to squash it.
Looking for thoughts from @jamesls and others.

I can get why you might want to default caching to memory as you have to think about boto3 being used in web applications.  I get that.
But if I choose file cache it's almost certain that I'm running this interactively and thus caching should default to the same place as the CLI.  I just don't envision a scenario where a user wouldn't want that as the default behaviour.
Please, help me understand a scenario where I would not want to use the same cached credentials if flipping back and forth between the CLI and boto3 using the same profile.

@et304383 IMO you're correct about user expectations, but I think @jamesls is concerned about correctness.  Here's the kind of thing I'd be concerned about.
If botocore uses the same cache as awscli, the cache is now shared global state - that brings the risk of concurrent update bugs.  Keeping botocore's cache somewhere else is simpler than working out a robust, cross-platform locking scheme.  And doesn't awscli + patched botocore trigger this race condition?  awscli uses botocore to get temp creds, and both will race to update the cache.  (AFAICT nothing ensures that the cache update is finished being written when the result is returned to the caller.)
So the new location is safer.  If this is accepted, I imagine the awscli cache should be removed.

awscli uses botocore to get temp creds, and both will race to update the cache

I don't think this is the case in that awscli doesn't write to the cache itself, it merely tells boto to do so so this change in botocore would just cause botocore to use the cache (in the same way asserting credential_cache = True in the config would do). So no race condition but it would make sense after this is merged to remove the then-redundant code in the awscli assumerole.py customization

If this is accepted, I imagine the awscli cache should be removed.

Yes, all that awscli would need to do after this is to remove the assume role customization and add an awscli default cache location of ~/.aws/cli/cache

@jamesls Does this update satisfy your concerns

awscli uses botocore to get temp creds, and both will race to update the cache

I don't think this is the case in that awscli doesn't write to the cache itself, it merely tells boto to do so

Is that the right link?  The code there isn't asking boto to cache, it has a local copy of JSONFileCache that directly modifies the json files in ~/.aws/cli/cache.  Am I missing something?

I could be mistaken but I think that the existing awscli code

first creates a CredentialProvider, which, with this PR merged, will either by default use an in memory cache or if set in the config use the JSONFileCache in botocore
then replaces the cache in the CredentialProvider with the JSONFileCache in awscli

In between those two steps I don't see any race condition. On line 39 the CredentialProvider would set self.cache to the botocore JSONFileCache, then on the subsequent line it would change self.cache to use the awscli JSONFileCache
@rvandegrift to help me understand, can you walk through a scenario where the race condition you're thinking of would be triggered?

Ah, now I get it - I missed that the cache provider is replaced.  Makes perfect sense now, sorry for being dense!

OK so if the concerns around race conditions on file cache are satisfied, can we please merge this PR with the option to enable file cache in a persistent manner?  I don't want to have to set an additional option in code to enable this.  It should be a user environment setting.

@et304383 This PR allows a user to enable file cache in a persistent manner by setting the credential_cache and credential_cache_directory config settings. No in-code settings are needed.
@jamesls Does this update satisfy your concerns

@jamesls Does this update satisfy your concerns

While we were eagerly anticipating the merging of this PR, the workaround we now use in our code is to use the caching mechanism of the awscli itself. This does require making the awscli a dependency of your app but at least it alleviates the problem of constantly having to wait for (and enter) new MFA codes.
        session = boto3.session.Session()
        # UGLY Hack to use credentials caching from awscli in this application
        # Awaiting https://github.com/boto/botocore/pull/1157 to be merged
        try:
            from awscli.customizations.assumerole import inject_assume_role_provider_cache
            from awscli.customizations.scalarparse import add_scalar_parsers
            inject_assume_role_provider_cache(session._session)
            add_scalar_parsers(session._session)
        except:
            pass

@jamesls Does this update satisfy your concerns

Why on earth can't we merge this?  :(

The conflicts seem pretty minimal, mostly just imports and a declaration moved.

Oh, didn't even notice that master had moved causing conflicts. Lemme take care of that.

Thanks for opening the PR and driving it as far as you have! I've talked with the rest of the team about this, and here's the interface we'd like to go for:
from botocore.session import Session
from botocore.credentials import create_credential_resolver
from botocore.credentials import JSONFileCache

sess = Session()
cache = JSONFileCache()
resolver = create_credential_resolver(session, cache)
sess.register_component('credential_resolver', resolver)

There are several reasons for this. This allows a customer to specify whatever cache implementation they want instead of specifically tying them to our built-in cache implementations. We didn't simply add a credential_cache session component because that would only ever be used once. The way the session works, the credential chain is generated exactly once. So if you set credential_cache after the chain had already been generated, your new cache would never be used. We can't simply re-generate the chain because customers can provide their own, so we would effectively be overwriting their custom chain with our default chain without warning.
With this approach customers can use whatever cache they want and the process for setting it will result in the behavior they would expect out of the Session whenever they decide to set it. It still leaves us the ability to add config file settings later on.
I'll be taking this on unless you really want to do it yourself. Let me know what you think.

@JordonPhillips are you suggesting we'd have to enable proper caching of MFA on a script by script basis?
I would highly suggest providing a flexible way for users to set this on a system level.  MFA is for interactive execution of scripts.  Please tell me a scenario where I, as a user, would want to cache MFA for one script and not for another.

@JordonPhillips Thanks!

OK how do we restore the functionality of this PR?  Having to type MFA in every time I run a python script is driving me nuts.

Here's a summary of where the session caching functionality in botocore is at

The session caching in this PR was merged into botocore via #1338 and made available in botocore 1.8.14.
So as to not interfere with awscli, the default on disk location of the cache was set to ~/.aws/boto/cache. This means that, by default, cached credentials are not shared between awscli and botocore.
The ability to enable session caching in botocore via a config setting was not included in #1338 and was not merged into botocore. I'm looking for more guidance on when or how we'd be able to get this configuration setting functionality in #1461.

In order to use this new session caching functionality, you'll need to both

enable it in your code instead of your user's config
set the working_dir where the on disk cache files are stored to be the same as where awscli stores it's cache. This is optional. With it awscli and botocore share a single set of cached sessions reducing the frequency with which you have to type your MFA code.

Here's a code snippet from @mixja showing how to use the new functionality
from botocore import credentials
import botocore.session
import boto3
import os

# Change the cache path from the default of ~/.aws/boto/cache to the one used by awscli
working_dir = os.path.join(os.path.expanduser('~'),'.aws/cli/cache')

# Construct botocore session with cache
session = botocore.session.get_session()
provider = session.get_component('credential_provider').get_provider('assume-role')
provider.cache = credentials.JSONFileCache(working_dir)

# Create boto3 client from session
client = boto3.Session(botocore_session=session).client('s3')

print(client.list_buckets())


[base-ui][material-ui][Autocomplete] Better support for uncontrolled autocomplete in HTML form submissions

Summary
Autocomplete components should work in a regular html form submission, by accepting a name prop and adding <input type="hidden" name={nameProp} value={value}/> elements, when the value prop is not being controlled.
If the multiple prop is true, then a list of hidden input elements should be added using field name array syntax (i.e. name={`${nameProp}[]`}))
Docs should note that when using in uncontrolled mode, the name prop should be added to the autocomplete component, and not manually added to the element returned by renderInput (usually a TextField), to prevent duplicate entries in the form submission.
Ideally, there ought to be a mechanism to specify what the value of the hidden input should be, based on the selected option(s). For example in an autocomplete I may want to show a list of movie names, concatenated with the year. When the user selects one, I likely want to send the movie id in the form submission, not the option label.
Currently, I can create the hidden inputs manually fairly easily if it is a multi select, by adding these props:
  multiple
  renderTags={(selectedOptions, getTagProps) =>
    selectedOptions.map((value, index) => (
      <React.Fragment key={value.id}>
        <Chip {...getTagProps({ index })} label={`${value.title}, ${value.year}`} />
        <input type="hidden" name={`movie_id[]`} value={value.id} />
      </React.Fragment>
      )
    )
  }

Or if it is a single select, and the value I want as part of the form submission is the same as the option label, I can just add the name prop to the TextField in renderInput and I don't need a hidden input:
  renderInput={(params) => (
    <TextField
      {...params}
      name="movie"
      label="Movie"
   />
  )}

However, if it's a single select and the value I want as part of the form submission is not equal to the option label, I need to add the hidden input field to the renderInput prop, and ensure the field name is attached to the hidden input, not the TextField input. Since the selected option is not available in the params arg of renderInput, the only thing I can do is a reverse lookup to find the id based on the option label (and hope there are not two movies with the same title and year in my dataset).
  renderInput={(params) => (
     <>
      <TextField
        {...params}
        label="movie"
      />
      <input
        type="hidden"
        name="movie_id"
        value={getMovieId(params.inputProps.value) ?? ""}
      />
    </>
  )}

This is the only case where as far as I can tell with the current API it is impossible to achieve something satisfactory in user-land, and still use an uncontrolled component. If the renderInput callback was provided the selected option as a second arg, we would at least be able to cover this base.
For completeness I note that if you use state, you can make even that last use-case work. However enabling the Autocomplete component to operate as an uncontrolled component as part of a form is a big enough win for simplicity for me to feel this feature request is warranted, (in many cases is has positive performance implications too).
Examples
/*
 * This one renders a hidden input with initial value="" and name="movie_id"
 * When the user selects an option, the value is updated to getOptionValue(option)
 */
const MyComponent = () => {
  const options = useGetOptions()
  return <Autocomplete
    name="movie_id"
    options={options}
    getOptionLabel={option =>`${option.title}, ${option.year}`}
    getOptionValue={option => option.id}
    renderInput={params => (
      <TextField
        {...params}
        label="Movie"
      />
    )}
  />
}

/*
 * This one renders one hidden input for each selected option with value=getOptionValue(option) and name="movie_id[]"
 * When the user selects an option, the value is updated to getOptionValue(option)
 */
const MyMultiSelectComponent = () => {
  const options = useGetOptions()
  return <Autocomplete
    name="movie_id"
    options={options}
    multiple
    getOptionLabel={option =>`${option.title}, ${option.year}`}
    getOptionValue={option => option.id}
    renderInput={params => (
      <TextField
        {...params}
        label="Movie"
      />
    )}
  />
}

Motivation
With React Router data router patterns, (or Remix) we are able to simplify some aspects of writing forms in React apps by using the normal HTML form pattern. With autocomplete components this is tricky.
Search keywords: uncontrolled autocomplete

Thanks for opening an issue. This is somewhat similar to #42988, but that one deals with multiple options using React state.
Providing the selected option as a second argument in the renderInput callback doesn’t seem right since it goes against the purpose of the API. If you want to submit a value different from the option label without using React state, you can try using a ref:
import React from 'react';
import { Autocomplete, TextField } from '@mui/material';

const movies = [
  { id: 1, title: 'Inception', year: 2010 },
  { id: 2, title: 'Interstellar', year: 2014 },
  { id: 3, title: 'The Dark Knight', year: 2008 },
];

export default function MovieAutocomplete() {
  const hiddenInputRef = React.useRef(null);

  const handleChange = (event, newValue) => {
    if (hiddenInputRef.current) {
      hiddenInputRef.current.value = newValue ? newValue.id : '';
    }
  };

  return (
    <form action="/your-form-endpoint" method="POST">
      <Autocomplete
        options={movies}
        getOptionLabel={(option) => `${option.title} (${option.year})`}
        onChange={handleChange}
        renderInput={(params) => (
          <>
            <TextField
              {...params}
              label="Select a movie"
              variant="outlined"
            />
            <input
              type="hidden"
              name="movie_id"
              ref={hiddenInputRef}
            />
          </>
        )}
      />
      <button type="submit">Submit</button>
    </form>
  );
}

This should also work if you have duplicate options, but it's a workaround. We might consider adding more uncontrolled Autocomplete features, possibly in Base UI. Another one related to uncontrolled Autocomplete within a form is #40252. I'll mark this as a new feature request.

Agree that #42988 is very similar. @ZeeshanTamboli the solution you suggested in that issue uses state, but I notice that the comments and the example code provided by the issue reporter do not.
I'm aware I can use a ref in the way you describe but, (like the other issue reporter), was hoping that MUI would provide a simple form-compatible API out of the box. I think it makes a lot of sense for the library to do that.
If it's any help to others facing the same issue, I'm running with the below component for now. It has some rough edges but it's working for our needs at the moment. If anyone picks it up and enhances it any further I welcome you to share that code here.
(I still hope that the library will provide this behavior natively, though.)
import {
  AutocompleteOwnerState,
  AutocompleteRenderGetTagProps,
  Chip,
  ChipTypeMap,
  Autocomplete as MuiAutocomplete,
  AutocompleteProps as MuiAutocompleteProps,
} from "@mui/material";
import React from "react";

type AutocompleteProps<
  Value,
  Multiple extends boolean | undefined,
  DisableClearable extends boolean | undefined,
  FreeSolo extends boolean | undefined,
  ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"],
> = MuiAutocompleteProps<
  Value,
  Multiple,
  DisableClearable,
  FreeSolo,
  ChipComponent
> & {
  name?: string;
  getInputValue?: (option: Value) => string | number;
  findInputValue?: (
    optionLabel?: string | number | readonly string[],
  ) => string | number | undefined;
};

const defaultRenderTags = <
  Value,
  Multiple extends boolean | undefined,
  DisableClearable extends boolean | undefined,
  FreeSolo extends boolean | undefined,
  ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"],
>(
  value: Value[],
  getTagProps: AutocompleteRenderGetTagProps,
  ownerState: AutocompleteOwnerState<
    Value,
    Multiple,
    DisableClearable,
    FreeSolo,
    ChipComponent
  >,
) =>
  value.map((option, index) => (
    <Chip
      {...getTagProps({ index })}
      label={ownerState.getOptionLabel?.(option) ?? option}
    />
  ));

const Autocomplete = <
  Value,
  Multiple extends boolean | undefined,
  DisableClearable extends boolean | undefined,
  FreeSolo extends boolean | undefined = false,
  ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"],
>(
  props: AutocompleteProps<
    Value,
    Multiple,
    DisableClearable,
    FreeSolo,
    ChipComponent
  >,
) => {
  const { name, getInputValue, findInputValue, ...muiProps } = props;
  if (muiProps.value) {
    return <MuiAutocomplete {...muiProps} />;
  }
  if (muiProps.multiple) {
    return (
      <MuiAutocomplete
        {...muiProps}
        renderTags={(value, getTagProps, ownerState) => {
          const renderTags = props.renderTags || defaultRenderTags;
          return (
            <>
              {renderTags(value, getTagProps, ownerState)}
              {value.map((option, index) => {
                const { key } = getTagProps({ index });
                const value =
                  getInputValue?.(option) ??
                  muiProps.getOptionLabel?.(option) ??
                  String(option);
                return (
                  <input
                    key={key}
                    type="hidden"
                    name={`${name ?? ""}[]`}
                    value={value}
                  />
                );
              })}
            </>
          );
        }}
      />
    );
  }
  return (
    <MuiAutocomplete
      {...muiProps}
      renderInput={(params) => {
        return (
          <>
            {muiProps.renderInput(params)}
            <input
              type="hidden"
              name={name ?? ""}
              value={
                findInputValue?.(params.inputProps.value) ??
                params.inputProps.value
              }
            />
          </>
        );
      }}
    />
  );
};

export default Autocomplete;


index for in/out property in edge

how to create index for in/out property that is auto created in any edge?

you must explicitly declare the in and out schema full properties of the edge class and define indexes on it.

can i define them (in/out) E parent class for all the edges?

yes. however be careful if you are defining unique indexes. if you need to define two different types of edges between the same 2 vertices and the index is unique on (in,out) you will only be allowed to create one edge as the second edge will throw a unique constraint violation.

how about this case.

create non-unique index (in/out) for E parent class.

create unique index (in/out) for edge's sub-class in case i need that unique .

the index at sub-class will overwrite any same index at E parent class?

will have this warning message after create in/out properties at E parent class
2015-11-17 21:36:32:132 WARNI {db=hotel} Found property in/out against E [orientechnologies]

You cannot call a property in/out

i dun have such warning if i create in/out index for sub-class


Smooth Lighting Breaks Biome Sight Buff

The biome sight buff highlights blocks in a similar way to the spelunker buff. However, enabling the smooth lighting option in this mod will disable this effect for the biome sight buff. (Note: The spelunker buff still works fine.)

This has been fixed in v<IP_ADDRESS>.


different output_shape in two machines

Hi All,
I was running the fully convlutional network for semantic segmentation and the network structure is based on vgg16 net. When the input size is 500*500, the output shape (last layer is softmax) is different in two machines. One is 34 * 34 and the other is 35 * 35, the codes are exactly the same in the two machines. Anyone can help please?
Regards
Johan

Do you use the same MXNet version? The behavior of Pooling Op has been changed in one PR to make it compatible with CuDNN

@winstywang  Yes, it's all 0.7.0

No, please check the commit id. Sorry for this confusion.

That's the problem! Thank you!