TSID Position controlled robot, How to include real robot state?

Hi, I am trying to implement a walking controller for a position-controlled robot in gazebo.
It seems to work as long as I don't feed real robot states (computed by gazebo) into tsid and instead just keep integrating the virtual/commanded states.
If I try to compute the task errors based on real robot states and then integrate the accelerations into desired positions, send to the real robot, the system quickly "explodes".
My problem is: how would you take into account the floating base estimations of the real robot if the formulation only works with the virtual states?
If I take a look at how mc_rtc  implements its QPSolver::runClosedLoop() function I can see that they use the real robot state. It seems they do:

store the previous control robot state (lines 471-472)
set the state of the robot model used to compute dynamics to the observed state (lines 475 - 479)
compute the desired values for each QP task (lines 482 - 487)
Solve the QP in the solveNoMbcUpdate with the observed state
Reset the robot model back to its control values (lines 495-496)
Set the QP reference acceleration to the one obtained by the solver (line 499)
Use Euler integration to update the control robot state (lines 500-503)

I tried to replicate the same in tsid and it looks something like this:
VectorX q_real(q_tsid_.size()), v_real(v_tsid_.size());

// get real state
q_real.head(7) = robot_state.floatingBase().pos(); // x,y,z,Qx,Qy,Qz,Qw,q
q_real.tail(nq_ - 7) = robot_state.joints().pos();
v_real.head(6) = robot_state.floatingBase().vel(); // vx,vy,vz,wx,wy,wz,dq
v_real.tail(nv_ - 6) = robot_state.joints().vel();
if(n == 0) {
  q_tsid_ = q_real; v_tsid_ = v_real;
}

// problem data real state
const auto& data_real = tsid_->computeProblemData(t_, q_real, v_real);

// solve
const auto& sol = solver_->solve(data_real);
a_sol_ = tsid_->getAccelerations(sol);

// integrate inside virtual state (integrate(q_in, v_in, a, dt, q_out, v_out))
robot_.integrate(q_tsid_, v_tsid_, a_sol_, dt, q_tsid_, v_tsid_);

// restore problem data to new virtual state
tsid_->computeProblemData(t_, q_tsid_, v_tsid_);

// send q_tsid to robot

Is there some obvious error when doing this? For the floating base state, I am currently using the ground truth from gazebo.
I tried the same in python with pybullet and observed instabilities with q_real, v_real. Again, it's fine when using virtual states only.
If the real/estimated states can't enter the QP in this way, how would you include e.g. floating base estimations? By adapting the task references for CoM and Torso based on IMU readings instead and keeping the QP state virtual?
Thanks a lot.

Hi @simon-armleder , sorry I am late on this. Applying TSID to a position-controlled robot is not trivial, as you have experienced.
The straightforward way to do it is not to feedback on the real state, but on the virtual state that you get by integrating the desired accelerations computed by the QP. This works, but has the major issue of not accounting for the state feedback in TSID. State feedback is only used by the joint position controller, and is limited to the joints (no floating base).
If you wanna plug the real state in TSID you start having issues, because you are feeding back the state twice: once in TSID and once in the joint position controller. Things get really messy here: for instance, you are computing a desired acceleration a_sol_, which is associated to the real state, but then you use it to integrate starting from the virtual state q_tsid_. I am not aware of any clean solution to this problem. The only clean way to do things is to use joint torque control, but not all robots can do that. However, you can take a look at how people have worked around similar issues in the past, for instance by looking at how team IHMC did it at the DRC.

Hi @jbmouret and @andreadelprete
thanks a lot for your helpful answers. I realized that feedback on the joint level doesn't make sense for a position-controlled robot.
Do you give feedback on the floating-base state in our "open-loop" TSID controller? At the moment I even keep integrating the virtual floating base accelerations. Trying to feed ground through information from gazebo or from a FB estimator leads to instability.
Instead, what helped to make the real robot stick to planned trajectories is to compute the end-effector poses again with the real measured joint state X_real = fk(q_real) and then integrate the errors X_ref = X_pattern + Kp \int (X_pattern - X_real) dt to adapt the tsid references.
Or would you not include the tracker in cartesian space and instead put it in joint space? (After the QP), to deal with weak actuators/bad tracking?
I also implemented the three strategies mentioned here. Each of them again changes the references produced by the pattern generators. However, I think I also don't understand this effect entirely.
For example, during the Single Support Phase, the support foot has an active 6Dof contact constraint at the ground, but in order to implement the Foot Admittance and foot force difference strategy, the orientation and height of the support foot needs to change. So the constraint is updated in every iteration by setting its reference contact-6d, setReference. If I don't do this the robot falls to the inside. But now the virtual tsid support foot is moving around, not sticking to the ground (blue, green curve)

The offsets in the last plot come from the cartesian tracker, trying to pull the foot upwards to the reference (yellow curve)
Another thing that seems to be supercritical is the motion task and contact task gain Kp of the swing foot right after it landed on the ground. If I just keep the last reference after impact, which is slightly higher than the ground because of early impacts/rotation errors,  the foot bounces away from the ground. If I instead set the command to something slightly inside the ground (e.g. z=0) it will not bounce after impact.
z_ref = 0 after impact
https://user-images.githubusercontent.com/33764700/160884561-bfdb3635-7827-472d-b341-2b2a50034881.mp4
z_ref = last z
https://user-images.githubusercontent.com/33764700/160884793-88a7ad58-0f46-4311-bbd9-03ddfff9ea6c.mp4
_ref from swing foot trajectory

Hi, a while ago I got it working in simulation and also on the real robot. I ended up not using the real floating base state.
Two hacks were important for the real system:

Adapting the end-effector poses again with the real measured joint state as mentioned above.
Appling some small offsets on the groin and ankle joints after the QP computation. This helped to reduce the huge tracking errors that occur in those joints when shifting weights.


Fix autotitle for conversations

Fix autotilte for conversations for OpenAI and Anthropic

Thanks for tackling this! The change looks good so I’ll click merge now and I’ll do some more testing of this in production.
It’s weird that this broke because I distinctly remember confirming that Anthropic & Claude worked without the json directive. It’s supposed to be optional for both those models, it just helps the models more accurately return json. But I fully believe that commenting that out could be the source of the bug and adding this conditional is the safer path. I appreciate you tracking this down.


ACCESS-TCX 4DVAR

|    by<EMAIL_ADDRESS>
Something about ACCESS-TCX 4DVAR.

Issue migrated from trac:279 at 2024-01-31 18:25:02 +1100

<EMAIL_ADDRESS>set owner to xbw554

<EMAIL_ADDRESS>changed status from new to assigned

<EMAIL_ADDRESS>commented

Ticket Summary

<EMAIL_ADDRESS>commented

This ticket is related with Jin's ticket 278 partly. I will describe some of the results and problems I met as I developing ACCESS-TCX through case study and real-time runs.
Thanks to Jin for his help. He teaches me how to use this web technology to share my study about 4DVAR data assimilation with ACCESS-TCX.


Why "Zero is not allowed in range of sequence option specifications"?

I have used the old version of the CommandlineParser and it worked fine.
Now I have upgraded my console app to the latest Nuget, run the app and receive:
System.InvalidOperationException: 'Zero is not allowed in range of sequence option specifications.'
I have detected that option 't' is the reason of the exception.
How to fix it?
There is my definition
class Options
    {
          [Option('i', "input", Required = true, HelpText = "Input folder/file to be processed.")]
          public string InputFolder { get; set; }

          [Option('x', "xfiles", Required = false, HelpText = "Exclude files to be processed.")]
          public IEnumerable<string> ExcludeFiles { get; set; }

          [Option('t', "types", Required = false, Min =0, Max=6,HelpText = "Exclude file extensions to be processed.")]
          public IEnumerable<string> ExcludeFileExtensions { get; set; }

        [Value(0)]
        public int Offset { get; set; } = 0;
      }

To specify Min=0, you just leave off the Min attribute entirely, so your 't' option should look like:
[Option('t', "types", Required = false, Max = 6, HelpText = "Exclude file extensions to be processed.")]
public IEnumerable<string> ExcludeFileExtensions { get; set; }

Also worth mentioning is that Required = false is the default, so that could become:
[Option('t', "types", Max = 6, HelpText = "Exclude file extensions to be processed.")]
public IEnumerable<string> ExcludeFileExtensions { get; set; }


Add keywords to labels whose content is inherited from their owner.

I apologize for wasting your time if there is already a way to do what I'm going to describe.
Very often we need to update the text on a Label object to indicate changes in health, money or similar information. My usual method for doing this is using code on a script attached to a node that sits somewhere above the Label, usually the node that represents the whole HUD or UI. This code regularly looks for the relevant information and updates the Labels, which often sit at the end of the nodetree.
This means I usually have to find the node before updating it, with something like this:
var label = $HBoxContainer/VBoxContainer/PanelContainer/HBoxContainer/Label
label.text = newtext
That node sequence is not a real-world example, I made it up, but my point is that you need to type out the whole structure. Most of the time this is only mildly annoying, but if later on you rearrange the node structure the code breaks. Multiply this by all the labels you might need to have in a complex strategy game and modifying the UI becomes a real problem.
My proposal:
Add the possibility to use keywords on the text fields of Label objects, which are filled out with information taken from their parents/owners. For instance:
Image we have a complex UI with many nested containers. A leaf of this nodetree is a Label node that indicates, say, the health of the player, like this: "Health: 100 HP". Instead of having to find the node and write code that depends on a specific UI structure we could, in my proposal, simply use the editor's GUI to set the text field of the label to "Health: {health} HP".
When rendering this Label the engine would parse that string, realize there is a keyword and look at the attributes of the Label node. If it didn't find a .health attribute there it would try to find it on the Label's owner or parent (I'm not sure which would be better, but I would say the owner). Failing to find it there it would look on the owner's owner, or the parent's owner, all the way up to the root. In case it didn't find it would throw an exception or, perhaps, just print "Health: null HP".
This way we would only need to update an attribute on the owner or parent and all changes would be propagated downwards, without the need to add a single line of code.
There is also another minor benefit. The text we write on the text fields on Label objects (using the GUI I mean) is very often just a placeholder, since we will later overwrite it with code. In my proposal this field would actually be useful beyond being a placeholder :-)
Of course there are ways you can implement something like this already, by attaching a short script to the Label nodes themselves, but then you'd still need to call that code, which means you'd still need to find that node with code that depends on the structure of the UI in order to update the label. Also you end up scattering your code among many files, which I personally dislike.
I've also considered (haven't tried it yet) creating a KeywordLabel class that extends Label and use groups to update all their text fields. While I think this might work I think it would be an interesting feature for the editor itself to have. Also, a similar behaviour could be extended to other kinds of nodes, like ProgressBars, so that they automatically update their values when their owners' attributes change.
Thank you for your attention.

The problem you are describing affects not only labels. The usual approach is to use an onready variable that keeps the node and using the node only through this variable. Then if the path changes, you need to update it only in one place. There are multiple ways to do this without needing to type it manually (from using autocompletion to dragging the node from scene tree into script editor), so I'd consider it a minor annoyance.
If you however want the path to be autoupdating, you can export a NodePath variable, which will point to the correct node even if you move it around.

The problem you are describing affects not only labels. The usual approach is to use an onready variable that keeps the node and using the node only through this variable. Then if the path changes, you need to update it only in one place. There are multiple ways to do this without needing to type it manually (from using autocompletion to dragging the node from scene tree into script editor), so I'd consider it a minor annoyance.
If you however want the path to be autoupdating, you can export a NodePath variable, which will point to the correct node even if you move it around.

I agree it's a very minor annoyance, but since most projects will have to update labels I think this feature would, at the end of the day, save a non-negligible amount of time and bugs.

You don't really need the full path, name the label something unique like HealthLabel and then you can get it with onready var HealthLabel = find_node("HealthLabel")
This way it doesn't matter if you move it afterwards as long as you don't change the name of it

You don't really need the full path, name the label something unique like HealthLabel and then you can get it with onready var HealthLabel = find_node("HealthLabel")
This way it doesn't matter if you move it afterwards as long as you don't change the name of it
It's slower than giving it the full path so don't use it inside a process function or something that gets called a lot.

Oh, wow, that's cool. I thought find_node was pretty much the same as get_node. I guess my proposal doesn't actually save all that much work, then.
Thank you all.

Isn't a refactoring editor feature more useful/convenient, especially for complex scenes?

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


More efficient serialize_bytes

Reported in IRC: user blank_name2 tried serializing HashMap<String, HashSet<Bytes>> vs HashMap<String, HashSet<&Path>>, the &Path version was done in ~.6 seconds while the &[u8] one took a full 3 seconds more.
This PR resolves the difference between the two while keeping the same serialized form.

Looks good to me!  Thanks for the contribution!


Port is ignored when using form auth

From<EMAIL_ADDRESS>on August 31, 2011 17:30:35
Form auth filter doesn't copy the original request spec when posting the login and username
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=95

From<EMAIL_ADDRESS>on August 31, 2011 08:36:37
Status: Fixed


Add test files for SecurityCapabilities

Adds test files containing the new SecurityCapabilities type

In the interest of testing whether the type is interleaved, it may be worth having multiple values and at least one that is non-zero.
The first 8 bits (going from right to left) get zeroed when you save and load an Instance with a modified property, last I checked, but the rest are kept intact between serializations.

Oh, derp
Not sure how I feel about handcrafting values here but I'll do it anyway... I wish this type was fully functional already so I could do it in a prescribed way -_-

Not sure how I feel about handcrafting values here

I'm not in love with it conceptually either, but if we're going to actually deserialize it we unfortunately have to handle it. Or we wait until the feature is live in 6-8 business years...


Auto close&promote staging version after release

Ideally we do not (?) want to do the manual step of promoting a release from staging to released.
Investigate if we need to use nexus-staging-maven-plugin for this as OF does or if we can achieve it already today.

Another link: https://central.sonatype.org/publish/publish-maven/#close-and-drop-or-release-your-staging-repository


ADBDEV-4789: Fix an incorrect memory assumption for hash join statistics

Fix an incorrect memory assumption for hash join statistics
When a hashjoin's hashtable runs out of allowed memory, it divides the hash
table into batches, and stores each batch to disk. When using EXPLAIN ANALYZE,
an additional description is created for the number of batches and the memory
they used. (With normal EXPLAIN, the request is not executed, and accordingly,
batches are not created). To store information about the disk space occupied by
a batch, the HashJoinTableStats structure is used, which has a batchstats
member of type HashJoinBatchStats, which is an array of structures for each
batch.
Usually, the number of batches is calculated at the beginning of hashjoin, but
sometimes the calculation algorithm may miss. Then, the
ExecHashIncreaseNumBatches() is used, which increases the current number of
batches, multiplying the previous one by two, and allocating additional memory
to the structures that need it.
Each structure of type HashJoinBatchStats takes 80 bytes, opposed to 8 bytes
for a pointer. Since memory for batchstats member is allocated for the
structures themselves, and not pointers to them, the size of realloc() call
for batchstats in ExecHashIncreaseNumBatches() can become more than
MaxAllocSize and cause an error.
In the beginning of ExecHashIncreaseNumBatches(), there is a check that
assumes that each item in any of the reallocated arrays would not be more than 8
bytes (sizeof(void *)). oldnbatch is equal to nbatch / 2. When we take the
size of the HashJoinBatchStats into account, we may notice that this check is
not correct specifically for this allocation, and is off by 10 times of the
value of the faulty repalloc() call.
The issue is that batchstats grows faster than other arrays containing
pointers. So this check does not prevent the faulty statistics batches
reallocation. When we are nearing MaxAllocSize with
nbatch * sizeof(stats->batchstats[0]), and try to reallocate the batchstats
member, we will encounter an error, because allocation size requested will be
more than MaxAllocSize.
Use repalloc_huge() instead of repalloc() for statistics, to allow
requesting memory up to:
MaxAllocSize / ((sizeof(void *) * 2) = 67 108 863;
67 108 863 * 80 = 5 368 709 040, which is slightly less than 5GB.
Maximum allowed amount of batches is unchanged.
On a 32-bit machines, nbatch * sizeof(stats->batchstats[0]) could exceed
MaxAllocHugeSize, which is 2 ^ 32 = 4GB. Add a separate check and stop if
nbatch > MaxAllocHugeSize / sizeof(HashJoinBatchStats) to avoid integer
overflow.
We don't need to change indexing types from 4 bit int to 8 bit Size, because
with old check still being in place:
MaxAllocSize is 0x3fffffff = 1 073 741 823;
Difference between sizeof(HashJoinBatchStats) and sizeof(void *) is
80 / 8 = 10;
Maximum allocation size for this repalloc_huge() will be
1 073 741 823 * 5 = 5 368 709 115;
INT_MAX is 2 147 483 647;
Maximum index becomes 5 368 709 115 / 80 = 67 108 863 which the same value
as before, and is less than 2 147 483 647.

Allure report https://allure-ee.adsw.io/launch/62045

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/977661

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/977662

Allure report https://allure-ee.adsw.io/launch/62101

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/980215

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/980216

Failed job Regression tests with ORCA on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/980209

Failed job Regression tests with ORCA on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/980210

Allure report https://allure-ee.adsw.io/launch/62201

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/984620

Failed job Regression tests with ORCA on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/984614

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/984621

provide last commit message

Allure report https://allure-ee.adsw.io/launch/62245

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/986017

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/986018

provide last commit message

I meant the commit message that will go into the resulting patch.

Allure report https://allure-ee.adsw.io/launch/62415

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/992700

Allure report https://allure-ee.adsw.io/launch/62523

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/997908

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/997909

Failed job Behave tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/997906


Fixed bug where Chinese, Japanese and Korean did not wrap the line correctly

Why fix this
https://github.com/SolastaMods/SolastaUnfinishedBusiness/issues/3394
Solasta's way of wrapping text is to use Spaces to break up words, but there are no Spaces between characters in CJK(Chinese, Japanese and Korean), so there is a wrapping error.
Principle of repair
Changed how to Split CJK text, and eliminates the spacing between CJK character.
How to enable
This fix is switchable because I am concerned about the possible impact on other languages.(Although according to my tests there should be no other effect)
It's in Interface > Game UI > Campaigns and locations. I don't know where to put it right now.

If you are really concern about wrong wrapping on other languages, you can try using BreakIterator from unicode's official tool icu-dotnet

Can you please open a discussion and share more? I don’t speak any Asian language at all and only recently decided support them.

https://github.com/sillsdev/icu-dotnet @magicskysword

If you are really concern about wrong wrapping on other languages, you can try using BreakIterator from unicode's official tool icu-dotnet

According to my tests, the ICU library is not suitable.It requires specifying the language type and will removes some code symbols incorrectly (such as "<sprite_index={0}>") . The library is also not platform-wide; each platform uses a different build. Just a single platform build is 25mb, which is too large.


Accept mdx options

I made a change to support more options to accept mdx-js/loader options: e.g. remarkPlugins and rehypePlugins.
// this still works
const withNextra = require("nextra")("./theme", "./theme.config.js")

// also object can be accepted
const withNextra = require("nextra")({
  theme: "./theme",
  themeConfig: "./theme.config.js",
  mdxOptions: {
    remarkPlugins: [require("remark-emoji")]
  }
})

Note: If #75 is merged first, the type definition needs to be modified as well.

Good idea :+1:

What're the implications - docs would be very appreciated!


I am getting empty array for other than brooklyn.flac file.

If I'm trying to convert .flac file into text, it is working okay with sample speech provided by google (brooklyn.flac) but not working with my uploaded file. It is giving empty array in output.
<?php
require 'vendor/autoload.php';

use Google\Cloud\Speech\SpeechClient;
use Google\Cloud\ServiceBuilder;

$gcloud = new ServiceBuilder([
    'keyFilePath' => '***************.json',
    'projectId' => '************'
]);
$speech = $gcloud->speech();

$operation = $speech->beginRecognizeOperation(
    fopen(__DIR__  . '/eric.flac', 'r'), [
    'encoding' => 'FLAC',
    'sampleRate' => 16000,
    'speechContext' => [
        'phrases' => [
            'The Google Cloud Platform',
            'Speech API'
        ]
    ]
]);

$isComplete = $operation->isComplete();

while (!$isComplete) {
    sleep(1); // let's wait for a moment...
    $operation->reload();
    $isComplete = $operation->isComplete();
}

print_r($operation->results());

Please take a look into my code, and help me.
Thank you.

Hello @Kwaghela!
Hopefully we can get you up and running quickly here :). I don't see any outstanding issues at the moment with the code, would you be able to share the flac file you are trying to analyze with me?

Hello @dwsupplee
Yes, sure.
Here I am giving link for my audio file.
https://drive.google.com/file/d/0B6UXKqSBWCDVREYtT2RZUy1Qajg/view?usp=sharing

@Kwaghela The audio file you provided uses 2 channels. As speech currently only supports single channel audio, you will need to convert it down to a single channel.

All encodings support only 1 channel (mono) audio.

https://cloud.google.com/speech/reference/rest/v1beta1/RecognitionConfig#audioencoding
After converting the audio file down to 1 channel I was able to successfully get a response with the provided audio file.

@dwsupplee
thank you.

Happy to help!

@dwsupplee, thank you very much for your help. I believe this could be the problem. If it's not asking too much, could you tell me how to convert my audiofile to 1 channel?
Thanks again.


the trait AsResponses is not implemented for () and several other types defined in axum

Your docstring on AsResponses says:

This type should be implemented by everything which implements [IntoResponse] when using [axum] or [Responder] when using [actix]

I feel like swaggapi should contain implementations on most of, if not all, of  the implementations specified in https://docs.rs/axum/latest/axum/response/trait.IntoResponse.html#foreign-impls

Closing


Airdrops for Statemint

As we have on RMRK1 a simple mint option to have airdrops - I would create this also for Statemint.
Ideally, something simple - with an option to do an airdrop into the existing collection (if possible).
And name it airdrop - or create a design for it or somehow add it to a simple mint in a way that artist will understand it (@EthVlad). So people can easily find (and use) this feature.
Currently, on Kusama, you need to first set a higher number of editions and then open a hidden setting to add addresses. That is not very user-friendly and also not intuitive at all.

My idea (Same for Statemint/Statemine):
https://github.com/kodadot/nft-gallery/assets/104380776/c58db401-8e1d-4bc3-a88d-249cfa275c49

👋

@exez, maybe have fourth option here? [Airdrop] - same for #6247
https://github.com/kodadot/nft-gallery/assets/104380776/7f16c54c-d4e2-4b55-acfc-0e5e97b6a516

👋


Bar color doesn't take the same color as each slide fragment

I am trying to use Appintro in my android application, I managed to add different slides, but my problem is the bottom bar where skip and done buttons lies is not the same color as each fragment, instead it's grey colored I don't know how to change this

I found the problem that I defined a background in the style and it was showing in front of the fragment, removing the background solved the problem


router-v2: add uploading icon to tab bar

Issue: KBFS-4017

@cjb was that a review with one nit, or a comment without review? (i.e. should I merge or tag react hackers again?)

Bump @jzila


Docs: add dependency section

Basically #23 ;-)

Codecov Report

Merging #22 (9b8b825) into main (63238d7) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
+ Coverage   76.55%   76.59%   +0.03%
==========================================
  Files         160      160
  Lines        2773     2773
  Branches       72       72
==========================================
+ Hits         2123     2124       +1
+ Misses        650      649       -1

Impacted Files
Coverage Δ

...a/surge/internal/persistence/PersistentActor.scala
96.73% <0.00%> (+0.65%)
:arrow_up:

Continue to review full report at Codecov.

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


Release 2.5.1 🛠 Fixes

Release Notes
🛠 Fixes and Maintenance

[x] Update Dependencies and enable Dependabot (#1083)
[x] Fix padding in experiments section (#1107)
[x] Fix Explore bar help text (#1106)
[x] Add documentation link to config page (#1110)
[x] Do not assume all nodes are unixfs (#1095)
[x] Allow to use top bar to Explore on IPLD (#1114)
[x] Stop crashing pin screen on a single ipfs.files.stat error (#1121)
[x] Better distinguishment between links and non-links on Files Page (#1128)

Before Release

[ ] Make sure i18n is updated (tx pull -a)
[ ] Update Release Notes accordingly

After Release

[ ] Copy the notes above to the GitHub release
[ ] Update Hash:

[ ] js-ipfs
[ ] go-ipfs
[ ] IPFS Companion
[ ] IPFS Desktop

I feel like this patch release is ready to go! As a patch release, we only have fixes to ship.
Here's the link of the latest build: https://ipfs.io/ipfs/QmQn7B9nLDXgDWjVjgjHActHDQ3AK1NRv7f733P8ki7dik
As per #1129, @olizilla @ericronne @cwaring, I'd like to know if there's something  you think we should change before releases this patch release!
We've went through the issues talked about on the call two weeks ago

I want to cut a release of Web UI this week! @olizilla @ericronne @cwaring do any of you have time to take a look at Web UI with me to see if there are any major UX things we should change before the release? Remember this is just a patch release for fixes mainly.

I shall make time for This Thing!
Blocked an hour later today ✊

Blocked an hour later today ✊

@ericronne can we schedule this on a calendar, maybe tomorrow? I won't be available after today's weekly sync 😞

I meant that i blocked time for me to check it out async, so no worries!

Local daemon issues prevent a thorough check for me, sigh. @olizilla assist during our 1:1 tomorrow? 🙏

Any updates on this?

Sussed out the local machine, thx @olizilla!

The experiments content does not show for me (IPFS Config immediately follows Analytics on settings page)
I agree with @olizilla (comment) that the combo browse / explore feature likely presents usability issues. Will be interesting to see how users in the wild react to it (ie go ahead and 🚀it), but this is a nice problem to attack with a design workshop soon
Your design update to the info block strikes me as more user friendly and informative. Underlining files and pins helps a lot, and the home icon seemed confusing.

Good work @hacdias

The experiments content does not show for me (IPFS Config immediately follows Analytics on settings page)

Were you using with IPFS Desktop? If not, that's the reason why. Right now, we only have one experiment and it only works with IPFS Desktop.

Anyway, thanks for the review. Let me know if you want to check the experiments section before I release 2.5.1!

Ah. Was testing the webui. I don't need to review that bit. Thanks again! 🚢

Thanks @ericronne!
2.5.1 shipped! 🚢


get If tweet Is re-tweeted , problem

Hey man ,
i tried to get tweet status if re-tweeted by  Auth. User , but every time i got False as bool status , but i'm sure this tweet i retweeted it from Auth account i used

I think, this has been explained in #390 so I am closing this issue.


python312Packages.array-api-compat: 1.9 -> 1.9.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.array-api-compat is: Compatibility layer for NumPy to support the Python array API
meta.homepage for python312Packages.array-api-compat is: https://data-apis.org/array-api-compat
meta.changelog for python312Packages.array-api-compat is: https://github.com/data-apis/array-api-compat/releases/tag/1.9.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.9.1 with grep in /nix/store/andfgpsficnyqnj5wk4kyf9v5bjc58am-python3.12-array-api-compat-1.9.1
found 1.9.1 in filename of file in /nix/store/andfgpsficnyqnj5wk4kyf9v5bjc58am-python3.12-array-api-compat-1.9.1

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.array-api-compat
python312Packages.array-api-compat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/andfgpsficnyqnj5wk4kyf9v5bjc58am-python3.12-array-api-compat-1.9.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/2abce5f19ff72abc544170f7400d2f94748fdf7d#python312Packages.array-api-compat

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/andfgpsficnyqnj5wk4kyf9v5bjc58am-python3.12-array-api-compat-1.9.1
ls -la /nix/store/andfgpsficnyqnj5wk4kyf9v5bjc58am-python3.12-array-api-compat-1.9.1/bin

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

x86_64-linux

:white_check_mark: 4 packages built:

python311Packages.array-api-compat
python311Packages.array-api-compat.dist
python312Packages.array-api-compat
python312Packages.array-api-compat.dist

Maintainer pings
cc @berquist for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 353019 at 2abce5f1 run on aarch64-darwin 1

:white_check_mark: 2 packages built:

python311Packages.array-api-compat
python312Packages.array-api-compat


(QENG-1662) beaker smoketests failing on ec2 with security group error

ensure when looking for an appropriate security group that you are
looking in a) the provided vpc or b) in the default vpc - do not allow
a mix of vpcs.

:green_heart: Test passed.
Refer to this link for build results: http://jenkins-beaker.delivery.puppetlabs.net/job/Beaker Combined Smoketest/413/

:green_heart: Test passed.
Refer to this link for build results: http://jenkins-beaker.delivery.puppetlabs.net/job/Beaker Combined Smoketest/414/

+1


Mocha Retries test more often then expected

Prerequisites

[ x] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[ ] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[ x] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[ x] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description

Short Description: I have set retries as 5 and normally it will stop after trying 5 times. But sometimes it will retry arbitrary times. For example, one time it retried 8 times and other time even 12, etc. Since it is each time a different retry value and can be a different test, I am unable to reproduce it.
Steps to Reproduce

I'm running Mocha programatically, which means I create a Mocha instance.
The code skeleton for creating the test suit is the following:
file: test.js
      describe('describe', function () {         for (let value in configuration.list) {           it('testName' + value , async function () {             await utils.onTestFailure(testFile.functionToTest.bind(this, value));           });         }       });

onTestFailure: used as an 'afterhook' to fix up things after error, so it can re-run test without any problems (deleting objects which were created in the test, etc.): Catches Error, does its fixup, and throws the caught error again, so mocha receives it. it also uses a retryCounter.

functionToTest:
this.timeout(600 * timeout); this.retries(configuration.retries); codeToTest.....

Expected behavior: Configuration.retries is set to 5. So I expect it to retry maximal five times after each failure.
Actual behavior: In occasional cases, it will go over the max limit and retry arbitrary times. There was a case where it went over 30 times (each test run takes around 40-70 seconds).

Reproduces how often: 1-2 %,
Versions

The output of mocha --version and node_modules/.bin/mocha --version: no global,  and 8.2.1
The output of node --version: v12.19.0
Your operating system

name and version: win10
architecture (32 or 64-bit): 64

Your shell (e.g., bash, zsh, PowerShell, cmd):
Your browser and version (if running browser tests):
Any third-party Mocha-related modules (and their versions): mochawesome (6.2.1)

Additional Information
This is my first issue, so if any more details are needed feel free to tell me.
Since the 'bug' is not reproduce-able I am unable to create a mcve.
I've also tried this on our Jenkins instance where the versions are slightly different and I have seen this bug a few times there, too. So I'm sure it is something in the code.
I assume that it has to do something with the way I'm setting the retry. It is set in a function in a different file, where I have the same this-context through the bind, but since it is impossible to reproduce the error, I can't different approaches to set the retry.
I'm aware that the information I have given is not enough to directly say what the reason for this problem is, but I hope some mocha experts can give me some hints, what might be the reason for this behavior.

@saadisfy difficult to verify or explain if the issue is not reproducable. 😎
If you are throwing uncaught exception's in your asynchronous code, Mocha tries to recover and keep going the runner, on best effort basis. Maybe this could be an explanation. Otherwise the code covering the retries logic is quite simple and doesn't contain any black holes.

Suite and Test (extends Runnable) have their own internal property _retries, initially its value is set to -1.

this.retries(value) doesn't affect the value set initially. Is this true?

Should be true, only _currentRetry will be changed.

For example it is not possible to create an infinite loop with this.retries(value++) with a global value, right?

Runnable#retries is a private function. If the user calls it in a bad way, I guess you could create an infinite loop, if the test keeps failing.


Translate the Japanese documents into English and some text corrections

Fixes #52
I'm not familiar with  English and  new to Erg itself, so it seems that some corrections need this PR.
However, I believe this can serve as a draft.
Changes proposed in this PR:

Translated documents that were not translated in "type" and "advanced" into English.
In the process, some corrections were made to the Japanese text and code.

@mtshiba

I see you weren't up-to-date with the dev branch yet.
Should I close it once?

Oh sorry, dev is already an abandoned branch. I forgot to erase it. Could you send a PR directly to main?

I see. I'll close and send it to main.


⚠ Bofrost.at has degraded performance

In 0f0e0c9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1629 ms

Resolved: Bofrost.at performance has improved in 04b1ab2.


Add Zoo Animals API

PR Description: Adds link to the Zoo Animals API in the 'Animals' section

[x] My submission is formatted according to the guidelines in the contributing guide
[x ] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not have more than 100 characters
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks for the contribution @aasmith2021


Make READ_BUDGET screen adaptive

There is quite some information to display on the READ_BUDGET screen. But at the start of a round, only a fraction of that information is available. This information that is empty or zero at a particular stage of the game can better be suppressed to make the screen easier to understand for the player.

The screen is adaptive now. Start of the game:

Later in the game / round:

Changes implemented and tested.


StubRunner uses local metadata info for determining the version for the stubs to download from remote

Question
I have the situation that in my CI environment the provider and consumers might end up being run on the same agent/slave and therefore share the maven repository. Combined with the fact that deriving the version for the stubs to be downloaded when the '+'  is used in the Stubrunner and the stubs should be downloaded from remote, this potentially results in the Stubrunner trying to download the stubs with a wrong version.
Bug report
The StubRunnes is configured like this:
@AutoConfigureStubRunner(         ids = "....it4it.pcf.starter.discovery:backend-microservice-service:+:prod-stubs:8180",         mappingsOutputFolder = "target/outputmappings",         stubsMode = StubRunnerProperties.StubsMode.REMOTE,         repositoryRoot = "https://..../nexus/content/repositories/release/",         snapshotCheckSkip = true)

the '+' says get the latest version of the provider stubs
The stubMode says the stubs should be downloaded from remote repository
The repositoryRoot is pointing at my remote release repository

my local maven repository looks like:
feb  8 15:26 10.1.1
feb  8 15:28 10.1.2-SNAPSHOT
feb  8 15:27 maven-metadata-local.xml
feb  8 15:28 maven-metadata-remote0.xml
feb  8 15:28 maven-metadata-remote0.xml.sha1
feb  8 15:28 resolver-status.properties
What I experience:

the latest version is picked up from the local repository, using maven-metadata-local.xml
the latest version is thus 10.1.2-SNAPSHOT
the StubRunner tries to download version 10.1.2-SNAPSHOT from remote release repository and fails:

Exception occurred while trying to download a stub for group [...it4it.pcf.starter.discovery] module [backend-microservice-service] and classifier [prod-stubs] in [remote0 (https://...../nexus/content/repositories/release/, default, releases+snapshots)]
Funny thing is that the StubRunner mentions the remote0 repository in the exception it throws. It is clear that it knows it should download from remote0, so why not find the version in maven-metadata-remote0.xml?
Enhancement
The latest version should be derived from maven-metadata-remote0.xml instead of maven-metadata-local.xml

Debugged a bit myself. Comes down to method:
private Map<String, ArtifactRepository> getVersions(RepositorySystemSession session, VersionRangeResult result, VersionRangeRequest request)
in:
DefaultVersionRangeResolver
There is a line in there:
Metadata metadata = new DefaultMetadata(request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(), "maven-metadata.xml", Nature.RELEASE_OR_SNAPSHOT);
and it returns a map with all version with there repos, local and remote.
For me this gives me all the remotes and my one local:
"7.0.1" -> "remote0 (https://maven.rabobank.nl/nexus/content/repositories/ip-release/, default, releases+snapshots)"
"5.0.19" -> "remote0 (https://maven.rabobank.nl/nexus/content/repositories/ip-release/, default, releases+snapshots)"
"6.0.4" -> "remote0 (https://maven.rabobank.nl/nexus/content/repositories/ip-release/, default, releases+snapshots)"
"10.1.2-SNAPSHOT" -> "/home/longrun/.m2/repository (enhanced)"
"5.0.17" -> "remote0 (https://maven.rabobank.nl/nexus/content/repositories/ip-release/, default, releases+snapshots)"
..
..
So, would changing (making dynamic via a property and not hard coded) the line to:
Metadata metadata = new DefaultMetadata(request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(), "maven-metadata.xml", Nature.RELEASE);
help?

Which version of Contract are you using?

Hello Marcin,
the version is 2.0.1.RELEASE

AFAIR we've fixed those kind of issues in 2.1.0.RELEASE via https://github.com/spring-cloud/spring-cloud-contract/issues/643 . Can you double check that it resolves your issues?

Thanks. Yes, that seems to fix it.
Upgraded to Greenwich.RELEASE and spring boot 2.1.1.RELEASE.
Took some effort to get the projects to compile again after the upgrade, but now I upgraded and the contract testing is working. Thanks!


Threat protection policy API

Threat protection policy API

doc link: https://docs.wso2.com/display/AM300/Configuring+Threat+Protection+for+the+Gateway


 As mentioned for you have to edit CONTRIBUTION.md File same time.
Kindly make PR after completion of all steps.
Don't Pull Request only for CONTRIBUTION.md changes. Make sure after contribution you need to edit  CONTRIBUTION.md
Then create PR.
Your Contribution PR has already labeled in hacktober-PR..


下载最大文件只能2G超过后buffer存不下会下载失败

The value of "length" is out of range. It must be >= 0 && <=<PHONE_NUMBER>. Received<PHONE_NUMBER>

我做了一个不用一口气塞满 buffer 的包，内存占用很小 https://github.com/guoyunhe/downloader


🐛 BUG: TypeScript hints stop inside script tags as soon as the script tag has attributes

Describe the Bug
Bit of a weird one but here is the gist of it (inside an Astro file, at the bottom of <body>):

Has TS checking
No TS checking

Seems like it works with any attribute on the script tag.
Now for ME this was useful because I actually don't want to use TypeScript here so ... I might've done this:

But figured it's probably not intended so might as well report it. Would be nice to be able to opt out from TypeScript in some other way.
Locally I am using v0.28.1 of the VSCode extension and v1.5.0 of Astro.
Steps to Reproduce

Go to https://astro.new and select the "Just the basics" template. For example, the image above is from gitpod. Have also been able to replicate it locally on my machine.
Open Layout.astro and add a <script> tag at the bottom of <body> (line 20)
Call a method that doesn't exist and see TypeScript error
Add any attribute on the <script> tag and see TypeScript error go away
Expected: Error probably shouldn't go away

Putting an attribute on a script tag remove hoisting, so it also removes TypeScript support.
This means that script tags become JavaScript, so you'd need checkJs to see errors

I see! It felt unintentional, but I'm not sure how this could be expressed more clearly to the developer. It could maybe be with a hint when you add any attribute, saying that this script is not hoisted, but that feels a bit spammy & kind of abusing what hints are for. Feel free to close this unless you feel like it's worth investigating how this could be made more clear 😄

Will close as a duplicate of https://github.com/withastro/language-tools/issues/323 😄


Support getting scaled component group

Development Task
When we calculate the plan of auto scaling, we need to know the existing scaled component group in the cluster to help us decide how to scale in/out.

[x] support getting scaled TiKV group
[ ] support getting scaled TiDB group

ref https://github.com/pingcap/tidb/issues/19149


Fix printer column generation for struct fields that are serialized as strings

Kubernetes types like metav1.Time and resource.Quantity are serialized as strings, but the column tag extraction did not handle this properly. Fix this by using the OpenAPISchemaType helper function to get the type.
Ref: https://github.com/kubernetes/kube-openapi/blob/master/pkg/generators/README.md#custom-openapi-type-definitions

Can you provide an example of what the broken behavior looked like.

It would just skip the column completely when using WithColumnsFromStruct()

I added format support, and a battery of tests. PTAL!


Error: connection reset: 'int' object has no attribute 'get', restarting with backoff of 45 seconds (True)

After the update to v10.4.0 the issue regarding #30 is solved.
However, we now receive the error: 2024-11-29 12:54:56.751 WARNING (MainThread) [custom_components.hella_onyx.api_connector] connection reset: 'int' object has no attribute 'get', restarting with backoff of 45 seconds (True)

reason: HA did not update the underlying onyx-client library!


rizin: 0.4.1 -> 0.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/rizin/versions.
meta.description for rizin is: UNIX-like reverse engineering framework and command-line toolset.
meta.homepage for rizin is: https://rizin.re/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.0 with grep in /nix/store/485080glhhclajdasg5cxi720p1nnwar-rizin-0.5.0
found 0.5.0 in filename of file in /nix/store/485080glhhclajdasg5cxi720p1nnwar-rizin-0.5.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
cutter
rizin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/485080glhhclajdasg5cxi720p1nnwar-rizin-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/485080glhhclajdasg5cxi720p1nnwar-rizin-0.5.0
ls -la /nix/store/485080glhhclajdasg5cxi720p1nnwar-rizin-0.5.0/bin

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

1 package failed to build:

cutter

1 package built:

rizin

Maintainer pings
cc @7c6f434c @makefu @Mic92 for testing.

@ofborg build cutter


Disabling ConvOclBwdWrW2  for asymmetric padding

Added condition in IsApplicable.
Fix for issue #142

We need to purge the perf db of entries with this solver with any input that have asymmetric padding.

@JehandadKhan @alexandraBara For awareness.

We need to purge the perf db of entries with this solver with any input that have asymmetric padding.

There is no harm in this. Do you mean find-db?

IIRC none of OCL kernels support asymmetric padding. And some old asm kernels too. @Kirpich30000 do you remember?

No, I don't remember details about OCL kernels

@atamazov OCL do not support even filters or were disabled earlier.
https://github.com/ROCmSoftwarePlatform/MIOpen/blob/cb1ef1f2a89ebbc4e556cce51234456d9dc9ea03/src/solver/conv_ocl_dir2D_bwdWrW_53.cpp#L103-L110

@Kirpich30000

No, I don't remember details about OCL kernels

What about asm kernels?

Further TODOs:

Disable asymmetric padding for all OCL kernels
Disable asymmetric padding for asm kernels that do not support it (pending @Kirpich30000 )

Single and multi pass Winograd works with any padding. Other kernels were designed for symmetrical padding.

@alexandraBara @JehandadKhan @cderb For awareness.


Versioned "Rules" page includes rules that didn't exist (404 Not Found)

Extracted from issue #475.

View https://eslint.org/docs/3.0.0/rules/
Observe "for-direction" being included, despite being introduced in 4.0.
Clicking leads to https://eslint.org/docs/3.0.0/rules/for-direction which responds with the 404 Not Found page.

Related: eslint/eslint-release#22

I also think it would be okay to remove the 4.x and 5.x rules from the 3.x rules list as a stopgap. @Krinkle If you would like to file a PR for that, it would be most welcome.


Ab rebase to qubit

any reason closing it?

I meant to open it against my forked master instead of the Qubit master.  The only things in this one are a custom CircleCI config and some HAProxy customizations.


[DO NOT MERGE] Enable webchat on more pages

For: https://trello.com/c/piDdpDT4/101-webchat-additions
These changes need to go live on Feb 6th, so we shouldn't merge this until then.

Tangential to this PR, I'd like to see webchat enabled using content items rather than in a JS asset each user must download.
eg:
details: {
  "webchat": 1023
  …
}


Update useMutation memoization

This will fix the issue identified here https://github.com/tannerlinsley/react-query/issues/165, however I am not sure if the check on the status in the useCallback was needed for a particular reason?
This will allow the mutation function to safely be included in a dependency array of an effect, like below.
const [mutate]  = useMutation(SOME_MUTATION);
React.useEffect(() => {
  mutate();
}, [mutate]);

That multiline suggesting thing is trippy!

Yeah that works too.

Yeah, the check is to make sure the mutation is idle or an existing mutation is settled before allowing another one to to be triggered. We may not need it, but I'd like to keep it in until a use case comes along to remove it.


doc firewall cfg

Add a section about which ports need to be opened up if you're running
the automation from behind a firewall.
Signed-off-by: Christy Norman<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: clnperez
To complete the pull request process, please assign bpradipt after the PR has been reviewed.
You can assign the PR to them by writing /assign @bpradipt in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

not sure if there are others needed. @yussufsh or @Prajyot-Parab can you comment?
cc @bpradipt

Moved the update from the quickstart doc to the automation host doc.

Updated as per suggestions, thanks.

@clnperez can you please rebase. There are no further updates needed.

@bpradipt rebased

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: clnperez, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bpradipt, clnperez, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [bpradipt,yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

This will need backport to release-4.5 and release-4.6 . @clnperez will you be ok to do the backports ?

@bpradipt sorry -- missed that. do you still need backports?


Add ability to inspect entity's components

Objective

Provide a way to see the components of an entity.
Fixes #1467

Solution

Add World::inspect_entity. It accepts an Entity and returns a vector of &ComponentInfo that the entity has.
Add EntityCommands::log_components. It logs the component names of the entity. (info level)

Changelog
Added

Ability to inspect components of an entity through World::inspect_entity or EntityCommands::log_components

This is quite nice, but I would actually also like Components::inspect_entity, which will make this trivial to do in the middle of systems without blocking parallelization, as you can fetch &Components as a system parameter.

Curious, how would this implementation looks like? I imagine Components would need access to &Entities and &Archetypes, considering the current code.

This new commands can be called by commands.debug_entity(entity);. I would prefer to have it on EntityCommands rather than Commands. Something like commands.entity(entity).log_components().
Also, as it's in debug which is disabled by default, could you add to the doc comment how to enable those logs? (Setting log level for bevy_ecs to debug, no need to set everything to debug as that can be quite verbose).
As is, this log looks like this:
DEBUG bevy_ecs::system::commands: Entity 296v0: [ComponentInfo { id: ComponentId(104), descriptor: ComponentDescriptor { name: "bevy_transform::components::transform::Transform", storage_type: Table, is_send_and_sync: true, type_id: Some(TypeId { t:<PHONE_NUMBER>6768463165 }), layout: Layout { size_: 48, align_: 16 } } }, ComponentInfo { id: ComponentId(105), descriptor: ComponentDescriptor { name: "bevy_transform::components::global_transform::GlobalTransform", storage_type: Table, is_send_and_sync: true, type_id: Some(TypeId { t:<PHONE_NUMBER>761132752 }), layout: Layout { size_: 48, align_: 16 } } }, ComponentInfo { id: ComponentId(107), descriptor: ComponentDescriptor { name: "bevy_hierarchy::components::children::Children", storage_type: Table, is_send_and_sync: true, type_id: Some(TypeId { t:<PHONE_NUMBER>876433277 }), layout: Layout { size_: 72, align_: 8 } } }, ComponentInfo { id: ComponentId(112), descriptor: ComponentDescriptor { name: "bevy_asset::handle::Handle<bevy_scene::scene::Scene>", storage_type: Table, is_send_and_sync: true, type_id: Some(TypeId { t:<PHONE_NUMBER>3965525771 }), layout: Layout { size_: 48, align_: 8 } } }, ComponentInfo { id: ComponentId(113), descriptor: ComponentDescriptor { name: "bevy_scene::bundle::SceneInstance", storage_type: Table, is_send_and_sync: true, type_id: Some(TypeId { t:<PHONE_NUMBER>4232494045 }), layout: Layout { size_: 16, align_: 1 } } }]

I'm not sure all those info are very useful, could that be simplified?

it's in debug

I wonder if it should be info level instead 🤔. After all, the function is explicitly called by the user and it should work by default, without tweaking the log levels.

So, to summarize the requested changes:

Simplify the log output. I would probably just show the name of each component.
Make the command a method on EntityCommands instead.
Change the log level to info!

bors r+


[ discussion ] too much cross references

Very cool and fun demo! The Composition one particularly made me chuckle :)
Some thoughts: In the current complex demos,

Player references InteractionManager (to add itself to it)
Interactable references Player to know when it should be activated, and when if it is in line of sight. They also hold a reference to InteractionManager to call update()  on it (I renamed this update_interactables_in_range())
InteractionManager references Player (to know when it moves) and calls methods on Interactables.

Everything holds references to everything else. This creates an unclear chain of command and is hard to debug and change.
For example, if the player had stats that allowed it to see traps, all three elements would be even more co-dependent.
I suggest:

Interactable s keep a reference to InteractionManager to call update() on it. This could be replaced with a signal, but it'd be fake independence, so it's not worth it
Interactables keep a reference to Player, since they need to anyway.
player_is_in_line_of_sight() is only used inside the Interactable. It's part of is_interactable(); the interactable decides for itself if this makes sense to use or not

That makes responsibilities more evident:

Interactable is responsible for saying "hey, I'm available" to the manager
InteractionManager is responsible for ordering them and deciding which is the primary

That leaves one unclear dependency: InteractionManager needs to know the Player to refresh when it has moved, and Player needs the interaction manager to add itself. I don't know how to simplify that one.

This all makes sense, especially how you described the responsibilities of the Interactable and InteractionManager. Here is everything I did (you can find basically this in the commits as well)

I made the 'player_is_in_line_of_sight' function only called by the Interactable (specifically inside the 'is_interactable' function). Oversight by me considering its literally only used in the interactable.

I fixed an issue related to the 'player' variable in the 'Interactable' class. Previously, i was setting the player variable to null when the player left the interactables range, and setting the player variable to the player when the player entered the interactables range. This acted as a pseudo "in_range" flag, which was affecting both the 'player_is_in_line_of_sight' function and the 'is_interactable' function.

the player is now permanently stored in the player variable
'player_is_in_line_of_sight' now doesnt care if the interactable is in range or not, just if its in line of sight of the player.
'is_interactable' now has an additional check for whether or not its in range of the player.

'InteractableManager' now has zero references to the player. The IM (interactable manager) should only work with the interactable, there is no reason for it to have a reference to the player

the player now calls 'update_interactables_in_range' in the IM whenever it moves and I removed the code in the IM that checked when the player moved
added a function in Interactables called 'get_distance_to_player'
the IM now calls the 'get_distance_to_player' function on the interactables instead of calculating it itself

I added a few readmes.
"Simple" and "Inheritance" look good to me, but I couldn't run "Composition"; the editor crashes with a segfault when opening the project.
Is it just me? If you can repro it, can you try to fix it? Otherwise, if it's on my side, I'll handle it.

Glad to hear the first 2 look good. I tested the composition one for a bit, and as far as I can tell it runs perfectly...
Im using Godot 4.02 on windows 11 using an amd cpu and NVIDIA GeForce RTX 3070 Ti gpu.


Added API to extract raw response.

This is needed because in the convenience layer, some APIs will reconstruct the returned Response object. Without the API the convenience layer have to make a copy of the existing RawResponse, which introduces unneeded memory copy.
E.g: https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/src/datalake/path_client.cpp#L290

Response<T> already provides a GetRawResponse function returning a non-const reference, so technically we can move from this reference. But I don't know if this is a good design.
Anyway, I'll just approve this PR and let Core team make the decision whether or not to accept this PR.

As talked offline, GetRawResponse is not consistent with ExtractValue, the latter clearly shows that the ownership is changed while the former does not, so I don't think it's a good practise to move the referenced value out by calling GetRawResponse.

Note: Current Master's CI is broken, resulting in this PR's CI being broken.

Note: This also fixes the issue where Response<T> cannot be moved passed as return value due to not having a move constructor.

This is needed because in the convenience layer, some APIs will reconstruct the returned Response object.

Why do we want to reconstruct the RawResponse?  I though we only construct  from a RawResponse.  Can you elaborate on it?

@katmsft I guess i'm going to merge my PR https://github.com/Azure/azure-sdk-for-cpp/pull/327 first, where I already removed T& operator=(const Response& other) = delete;.

Validated and merged in https://github.com/Azure/azure-sdk-for-cpp/pull/308


Overriding a variable value after the quarks-operator generated it doesn't work

Describe the bug
As part of https://github.com/cloudfoundry-incubator/kubecf/pull/814, specifying values for variables is possible during the initial deployment. I asserted that setting credentials.cf_admin_password works as expected, as well as adding an implicit variable using the variables key presented on that PR.
After the initial deployment finished, I then moved to set credentials.router_ssl.certificate and credentials.router_ssl.private_key. My hope was that the quarks-operator would pick those changes and use the new values, restarting the router instance group. The router did not get restarted.
When I check for the secrets on k8s, I see:
NAME              TYPE     DATA   AGE
cred-router-ssl   Opaque   3      6m50s

NAME             TYPE     DATA   AGE
var-router-ssl   Opaque   4      29m

The cred-router-ssl being the one created after the fact with the expected values to be used instead of the var-router-ssl.
If I apply the following operations and delete the var-router-* related secrets, the quarks-operator picks the changes and restarts router with the correct values:
- type: remove
  path: /variables/name=router_ca
- type: remove
  path: /variables/name=router_ssl

To Reproduce
It's part of the description.
Expected behavior
The new values should just be picked and router should be restarted.

We believe this is fixed

@manno I think it would be nice to include a link to the PR or commit that fixed an issue, instead of just closing it. If there ever is doubt in the future about the fix, it makes it easy to locate the change and read through the tests created for this issue.
The same way it would have been nice if the fixing PR included a link back to this issue, to provide additional context if somebody wants to understand the reason for the change at a later time.

@jandubois @manno yes Jan's comment above was correct, since I am right now looking for the code that does this and wishing there was a link here !


Add support for publishing aggregated writer metrics in the metadata.json optionally produced by BaseDataPublisher.

Each writer will emit a set of internal writer metric tuples
(writerId, partitionKey, branchId, list of [filename, numRecords in
file]) in its job state. If a PartitionedWriter is being used there may
be multiple keys emitted - it does not try to do any rollup itself

The BaseDataPublisher will go through each set of writer metrics and
group them by (partitionKey, branchId). An aggregated set of those
metrics will be published to the metadata file in the appropriate output
paths.

A global Num-Records/Num-Files field is also published as dataset
level metadata for each (partitionKey, branchId) generated by the job

@abti and @htran1  - can you take a look? Will putting metrics in the state like this cause any long term problems around state store that I'm not aware of?


Update README.md

Perhaps this description could help you better understand the project.
Thank you!!

Nothing to do here :D


craftos-pc: 2.7.3 -> 2.7.4

Description of changes
Summary: CraftOS-PC is an emulator for ComputerCraft.
Changelog: https://github.com/MCJack123/craftos2/releases/tag/v2.7.4

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 231795 run on x86_64-linux 1

1 package built:

craftos-pc

Result of nixpkgs-review pr 231795 run on x86_64-linux 1

1 package built:

craftos-pc

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/940

Result of nixpkgs-review pr 231795 run on aarch64-linux 1

1 package built:

craftos-pc


[CognitiveServices] enable Bing Search/CustomSearch products to specify Endpoint

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Automation for azure-sdk-for-js

Automation for azure-sdk-for-node

Please hold for internal review with Bing teams.

Can one of the admins verify this patch?

approved by SpellCheck (wenjinz) offline.
Waiting for Bing Search team

@azuresdkci add to whitelist

@yangyuan marking this as in review as the bing search team is yet to sign off on this.

Get approved by Bing Search.
Hi @praries880, we are good to proceed.


Command Directory Args Fix

Codecov Report

Merging #35 (a5d77e0) into master (10f5b64) will decrease coverage by 0.25%.
Report is 1 commits behind head on master.
The diff coverage is 92.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master      #35      +/-   ##
==========================================
- Coverage   94.77%   94.53%   -0.25%
==========================================
  Files          15       15
  Lines         536      549      +13
==========================================
+ Hits          508      519      +11
- Misses         28       30       +2

Files Changed
Coverage Δ

ellar_cli/manage_commands/new.py
96.96% <ø> (-0.14%)
:arrow_down:

ellar_cli/manage_commands/create_project.py
96.82% <89.47%> (-3.18%)
:arrow_down:

ellar_cli/file_scaffolding.py
90.78% <100.00%> (ø)

ellar_cli/service.py
100.00% <100.00%> (ø)


Fix possible overflow during binary search in detect_fields_count.

Ok, there may be 16bit target platforms with more than 8KB structures


Layout

Description
Created different sections and changed UI/UX design
Fixes #435
Type of change

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

Explain the Testing instructions
Test Configuration:

Operating system: Windows
Version: 10
Text-editors used: VS Code

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS

@himanshu007-creator why it is showing 80 commits when I made a PR

@himanshu007-creator why it is showing 80 commits when I made a PR

This is because you have made changes to the master branch and pushing them to the development branch.
So all the changes there were not in development branch are being shown here as various commits. Its completely fine.
What you can do now is deploy your branch on GitHub pages and share the link here

@himanshu007-creator why it is showing 80 commits when I made a PR

This is because you have made changes to the master branch and pushing them to the development branch.
So all the changes there were not in development branch are being shown here as various commits. Its completely fine.
What you can do now is deploy your branch on GitHub pages and share the link here

ok, just sharing

@himanshu007-creator Here is the link:
https://gunjan-g.github.io/SFC-foundations/

thanks @gunjan-g  for the PR and welcome to the project🎉

thanks @gunjan-g for the PR and welcome to the project🎉

thank you very much, would like to contribute more 😄


Bug in StaticMethodSignalHandler

In method Execute call Assert.That(args.IsLength(1));
StaticMethodSignalHandler<TParam1, TParam2> must be Assert.That(args.IsLength(2));
StaticMethodSignalHandler<TParam1, TParam2, TParam3> must be Assert.That(args.IsLength(3));
StaticMethodSignalHandler<TParam1, TParam2, TParam3, TParam4> must be Assert.That(args.IsLength(4));

I just noticed this myself when trying to create a signal with two parameters...
Assert.That(args.IsLength(1)); //Should be 2? ValidateParameter<TParam1>(args[0 ]); ValidateParameter<TParam2>(args[1]);

Thanks.  Fixed now.  Clearly we need to increase test coverage for these cases.


ImportError: cannot import name 'model_capnp'

  File "jstest.py", line 47, in <module>
    compare('j', jgen, dj, 2)
  File "jstest.py", line 45, in compare
    compare("%s.%s" % (tree, subname), subobj1, subobj2, depth-1)
  File "jstest.py", line 43, in compare
    subobj1 = getattr(obj1, subname)
  File "/usr/local/lib/python3.6/dist-packages/jumpscale.py", line 18, in _lazyprop
    setattr(self, attr_name, fn(self))
  File "/usr/local/lib/python3.6/dist-packages/jumpscale.py", line 573, in flist
    return FListFactory()
  File "/usr/local/lib/python3.6/dist-packages/jumpscale.py", line 338, in FListFactory
    from JumpscaleLib.data.flist.FListFactory \
  File "/usr/local/lib/python3.6/dist-packages/JumpscaleLib/data/flist/FListFactory.py", line 9, in <module>
    from . import model_capnp as ModelCapnp
ImportError: cannot import name 'model_capnp'

model_capnp actually doesn't exist.

ok so it didn't exist because setup.py wasn't installing the model.capnp file

setup.py wasn't installing the model.capnp file ???
should not be installing it, its part of the code layout
and as such should be found from out of the factory
please clarify?


[FEATURE] Training with QLoRA + FSDP

🚀 Feature
New advancements bringing quantized LoRA and FSDP together.
https://github.com/AnswerDotAI/fsdp_qlora
Motivation
Train larger models on consumer GPUs or older generation Data Center GPUs such as V100
Lets you finetune Llama-2 70B on dual 24GB GPUs.

Would be awesome! Looking forward to it.


Send MiniProgram using PadPro

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


Allow canceling recurring reminders after execution for non-internal actors

Related issue: #6666

Internal actors have the ability to cancel a recurring reminder by responding to an execution with the special error ErrReminderCanceled after a reminder is executed.
However, the capability was never exposed to "external" actors.
This PR adds the ability for an actor to stop recurring reminders (and timers) after they are executed also for "external" actors. This is possible by including the header X-DaprReminderCancel with a truthy value in the response when a reminder or timer is executed.
This will require support in SDKs, but it allows something that is particularly helpful (and today can be buggy, as in #6666)
Integration test is included

Related issue: #6666

Internal actors have the ability to cancel a recurring reminder by responding to an execution with the special error ErrReminderCanceled after a reminder is executed.
However, the capability was never exposed to "external" actors.
This PR adds the ability for an actor to stop recurring reminders (and timers) after they are executed also for "external" actors. This is possible by including the header X-DaprReminderCancel with a truthy value in the response when a reminder or timer is executed.
This will require support in SDKs, but it allows something that is particularly helpful (and today can be buggy, as in #6666)
Integration test is included

@ItalyPaleAle So in this scenario, as soon as a reminder is deregistered/unregistered, then the SDK/app sends the the specific header, that returns the response ErrReminderCancelled. But won't the reminder still be there in the DB to be executed again?
Or is this a specific scenario where the app deregisters the reminder first and then sets the header?
Finally why is an error returned in callLocalActor? Wouldn't that trigger the resiliency retry if present which we do not want for deregistered reminders?

Related issue: #6666

Internal actors have the ability to cancel a recurring reminder by responding to an execution with the special error ErrReminderCanceled after a reminder is executed.
However, the capability was never exposed to "external" actors.
This PR adds the ability for an actor to stop recurring reminders (and timers) after they are executed also for "external" actors. This is possible by including the header X-DaprReminderCancel with a truthy value in the response when a reminder or timer is executed.
This will require support in SDKs, but it allows something that is particularly helpful (and today can be buggy, as in #6666)
Integration test is included

@ItalyPaleAle So in this scenario, as soon as a reminder is deregistered/unregistered, then the SDK/app sends the the specific header, that returns the response ErrReminderCancelled. But won't the reminder still be there in the DB to be executed again?
Or is this a specific scenario where the app deregisters the reminder first and then sets the header?
Finally why is an error returned in callLocalActor? Wouldn't that trigger the resiliency retry if present which we do not want for deregistered reminders?

It's a lot simpler than that :) The feature was already implemented and used by internal actors (and it was wired via callLocalActor because reminder/timer invocation still goes through the regular actor invocation paths). It allows an app to tell Dapr to stop the execution of recurring reminders (so the reminder is also removed from the DB).
A reminder is executed by Dapr sending a HTTP request to the app. The app responds and includes a status code.
What's been added now (bringing it on-par with internal actors) is that at the same time as the app responds, it can tell Dapr to stop a recurring reminder.
This can be useful in scenarios such as what #6666 tries to do, but can also be useful to implement reliable reminders which offer at-least-once delivery guarantee

@ItalyPaleAle - I presume this needs a docs issue/PR, yes? If so, please create a docs PR before merging this issue.

@ItalyPaleAle can you fix the conflicts in this PR please?

Done

@holopin-bot @ItalyPaleAle


[Sig-Scale] Export perfscale-audit tool results to prow artifacts

This PR runs the perfscale-audit tool during make perftest and exports both the input config and results to the prow artifacts directory.
This is the first step in setting audit thresholds for the performance periodic. We first need to gather audit data, then we can set thresholds to catch performance regressions.
NONE

/cc @marceloamaral @rthallisey

Looks great!
/retest
/approve
/lgtm

/retest


Fix LIBCLOUD-997, implements LIBCLOUD-998 and LIBCLOUD-604

Fix LIBCLOUD-997, implements LIBCLOUD-998 and LIBCLOUD-604
Description
LIBCLOUD-604:
Add equivalent function for returning listed subnets in OpenStack driver. Similar to ex_list_subnet for EC2 endpoint providers.
LIBCLOUD-997:
The OpenStack_2_NodeDriver uses two connections
the base class connection attribute and a new one: image_connection.
In this case if the user has specified the ex_force_base_url one of them will fail, as both uses the same base url, but there are different services with different urls.  If the user set the compute base url (the standard case) the image one will not work a viceversa
LIBCLOUD-998:
OpenStack_2_NodeDriver class uses the deprecated path "/os-networks" of the compute API instead of using the "/v2.0/networks" of the neutron API that i the current one.
Status

done, ready for review

Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[x] Documentation
[x] Tests
[ ] ICLA (required for bigger changes)

Codecov Report

Merging #1215 into trunk will decrease coverage by 0.02%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##            trunk    #1215      +/-   ##
==========================================
- Coverage   86.21%   86.19%   -0.03%
==========================================
  Files         348      348
  Lines       67381    67469      +88
  Branches     5963     5973      +10
==========================================
+ Hits        58095    58154      +59
- Misses       6853     6878      +25
- Partials     2433     2437       +4

Impacted Files
Coverage Δ

libcloud/test/common/test_openstack_identity.py
97.94% <100%> (ø)
:arrow_up:

libcloud/common/openstack.py
82.44% <100%> (+0.09%)
:arrow_up:

libcloud/compute/drivers/openstack.py
83.98% <86.2%> (-0.47%)
:arrow_down:

libcloud/test/compute/test_openstack.py
95.64% <90.69%> (-0.89%)
:arrow_down:

libcloud/test/compute/test_rackspace.py
91.15% <0%> (-7.97%)
:arrow_down:

libcloud/test/compute/test_ec2.py
97.93% <0%> (+0.15%)
:arrow_up:

libcloud/common/base.py
89.94% <0%> (+0.57%)
:arrow_up:

libcloud/test/compute/test_upcloud.py
91.39% <0%> (+1.32%)
:arrow_up:

Continue to review full report at Codecov.

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

Definitely, I'll try to find some time soon
Sent from my iPhone

On 5 Sep 2018, at 08:21, Quentin Pradet<EMAIL_ADDRESS>wrote:
@vdloo do you think you can look into this as our local OpenStack expert? :) Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@vdloo Now if you are on holiday this can wait!

perfect!
before:
In [13]: conn.ex_list_networks()
Out[13]: [<OpenStackNetwork id="12348a8c-1234-4e8f-a805-2035365f4d43" name="L2_NETWORK" cidr="None">]

In [16]: conn.ex_list_networks()[0].extra
Out[16]: {}

In [14]: conn.ex_list_subnets()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-f6ae1a76cfd5> in <module>()
----> 1 conn.ex_list_subnets()

after:
In [21]: conn.ex_list_networks()
Out[21]: [<OpenStackNetwork id="12348a8c-1234-4e8f-a805-2035365f4d43" name="L2_NETWORK" cidr="None">]

In [30]: conn.ex_list_networks()[0].extra
Out[30]: {'subnets': [u'2f31a16a-1234-4329-1234-358ea86a7577']}

In [22]: conn.ex_list_subnets()
Out[22]: [<OpenStack_2_SubNet id="2f31a16a-1234-4329-1234-358ea86a7577" name="L2_SUBNET" cidr="<IP_ADDRESS>/22">]

Thanks @micafer @vdloo!


Operating System Concepts : Memory Management

Description
Includes clear explanation of how memory is managed in any Operating system.
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Issue finding mp4 in Camera Roll (ios) after writing file to disk

Bug Report
Problem
Issue finding mp4 in Camera Roll (ios) after writing file to disk
What is expected to happen?
mp4 appears in Camera Roll under Videos after being written to disk
What does actually happen?
Code appears to run correctly, not throwing any errors and reaching the onwriteend function, but no videos can be found on device.
Information
I am building an app using Cordova that generates mp4s using ffmpeg.js, the output is a blob.
The blob is then written to disk using cordova-plugin-file.
The problem is i can't find the mp4 within the Camera Roll once downloaded.
The following code appears to run correctly, not throwing any errors and reaching the onwriteend function. I am also confident the mp4 isn't corrupt.
const myVideoBlob = new Blob([data.buffer], { type: 'video/mp4' })
let folderPath = Env.ios ? window.cordova.file.documentsDirectory : window.cordova.file.externalDataDirectory
let filename = 'video.mp4'

window.resolveLocalFileSystemURL(folderPath, (dir) => {
    console.log("got main dir", dir);
    dir.getFile(filename, {
            create: true
        }, (file) => {
            console.log("got the file", file);
            file.createWriter(

                (fileWriter) => {

                    fileWriter.onwriteend = function() {
                        console.log("onwriteend :: success writing file");
                    };

                    fileWriter.onerror = function(err) {
                        console.log(err);
                    };

                    fileWriter.write(myVideoBlob);

                },
                (err) > {
                    console.log(err);
                }
            )

        },

        (err) => {
            console.log(err);
        }
    );
},

(err) => {
    console.log(err);
});

I have spent a fair amount of time googling this issue and reading the docs, but i'm still not entirely sure if saving to the Camera Roll on ios is possible.
Environment, Platform, Device
ios 13.4.1
iphone 11
Version information
"cordova": "^9.0.0",
"cordova-android": "^8.1.0",
"cordova-ios": "^6.0.0",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-android-permissions": "^1.0.2",
"cordova-plugin-androidx": "^2.0.0",
"cordova-plugin-androidx-adapter": "^1.1.1",
"cordova-plugin-apprate": "^1.5.0",
"cordova-plugin-camera": "^4.1.0",
"cordova-plugin-dialogs": "^2.0.2",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-firebasex": "^9.1.2-cli",
"cordova-plugin-inappbrowser": "^4.0.0",
"cordova-plugin-nativestorage": "^2.3.2",
"cordova-plugin-network-information": "^2.0.2",
"cordova-plugin-purchase": "^10.0.1",
"cordova-plugin-splashscreen": "^5.0.3",
"cordova-plugin-whitelist": "^1.3.4",
Checklist

[x] I searched for existing GitHub issues
[x] I updated all Cordova tooling to most recent version
[x] I included all the necessary information above

Thanks,
Cam

Is this reproducible in a new, plain Cordova app? A minimal reproduction repository would really help to debug and later fix this issue. More information on how to create one: https://github.com/apache/cordova-contribute/blob/master/create-reproduction.md

Hey @timbru31,
Thanks for the reply!
After further investigation i found the mp4s were indeed being saved to the App's documents folder, as intended 🤦
It was my misunderstanding that these mp4s would be viewable in the ios Photos App, under the videos category or even its own album folder. Do you know if this is possible using cordova-plugin-file?

For people looking for a similar solution.
I managed to save the mp4 to the ios Library / Photos App by using this forked version of cordova-plugin-photo-library;
https://github.com/tien271/cordova-plugin-photo-library-wkwebview
Heres the updated code example;
const myVideoBlob = new Blob([data.buffer], {
  type: 'video/mp4'
})
let folderPath = Env.ios ? window.cordova.file.documentsDirectory : window.cordova.file.externalDataDirectory
let filename = 'video.mp4'

window.resolveLocalFileSystemURL(folderPath, (dir) => {
    dir.getFile(filename, { create: true }, (file) => {
        file.createWriter(
          (fileWriter) => {
            fileWriter.onwriteend = function() {
              // fileWriter - onwriteend :: save file to ios Library
              window.cordova.plugins.photoLibrary.saveVideo(file.nativeURL, 'myVideoAlbum', function() {
                // photoLibrary - on save :: remove fileEntry from temp storage
                file.remove(function(file) {
                    // photoLibrary - on file deleted :: mission complete
                }, function(error) {
                  console.log("error occurred: " + error.code)
                }, function() {
                  console.log("file does not exist");
                });
              }, function(err) {
                console.log(err)
              });
            };
            fileWriter.onerror = (err) => console.log(err)
            fileWriter.write(myVideoBlob);
          },
          (err) => console.log(err)
        )
      },
      (err) => console.log(err)
    );
  },
  (err) => console.log(err)
)

I'm surprised this isn't achievable using only the cordova-plugin-file plugin


Speed up WriteBuffer by removing some runtime checks in release builds and removing a loop

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Gold has detected about 1 untriaged digest(s) on patchset 1.
View them at https://flutter-gold.skia.org/cl/github/80588

Gold has detected about 1 untriaged digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/80588

Gold has detected about 1 untriaged digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/80588

I'm having a hard time determining if my changes are causing these CI failures, the framework tree has been pretty red so it's hard to know my PR is on stable footing.  The failures aren't apparently apropos the change.  I'll let this simmer for a while and rebase it later.

Gold has detected about 1 untriaged digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/80588

I was able to verify the failures are happening as a result of this change, getting thrown here: https://github.com/flutter/flutter/blob/f6f59c58bcd6ee446ac95c081be1d42e62b58065/packages/flutter/lib/src/widgets/restoration_properties.dart#L176
Looks like we are missing something in our unit tests, I'll investigate.

I fixed the dart2js problem with an even faster solution by keeping a zero buffer around that we can read from when we need to, instead of modifying the temp buffer to be all zeros.


Isolated subnets for each peer

Hello, i want to create a wireguard server for some clients only for internet access but i want to isolate them from each other. I don't want to ping each other or discovered. I used iptables but no result. Can anyone help me?

Just talked to Jason and he said this is actually doable without needing separate interfaces by using the iptables FORWARDING table to restrict traffic to only allow Wireguard <-> Ethernet forwarding and not Wireguard <-> Wireguard.

Just talked to Jason and he said this is actually doable without needing separate interfaces by using the iptables FORWARDING table to restrict traffic to only allow Wireguard <-> Ethernet forwarding and not Wireguard <-> Wireguard.

but how? >_>


TranslucentTB: Add version 2018.2

Homepage of TranslucentTB: https://github.com/TranslucentTB/TranslucentTB
This was proposed in #2155
Please let me know if there are any problems. Thanks.

You could use "innosetup": true, instead of un/installer script.

You could use "innosetup": true, instead of un/installer script.

Thanks for the suggestion.
I will still keep the "uninstaller" option, since TranslucentTB only show as a tray icon (instead of a window).
This avoids error when user is tries to uninstall TranslucentTB while it's still running in the background.

Maybe you don't need to worry about that, I don't know...
It seems the portable mode have not been released. And a portable file is needed to enable portable mode.
See https://github.com/TranslucentTB/TranslucentTB/issues/206.
So the persist is not useful.

Thank you for the information.
I am actually not sure what to do.
Is it better to just cancel the PR and wait for future releases? Or just add comments (like what I just did), and wait for someone to see it and modify the manifest after the "portable ZIP version" released.


There is an error in api_unfolding.py

upho-0.6.1-py3.7.egg/upho/api_unfolding.py", line 52, in init
NameError: name 'primitive_matrix' is not defined
when I run upho_weights band.conf, it return an NameError;
elif primitive_matrix is not None:
            self._primitive_matrix_ideal = np.array(primitive_matrix_ideal,
                                              dtype='double', order='c')

in line 52,  does the primitive_matrix means  primitive_matrix_ideal ?
After I change  primitive_matrix  to  primitive_matrix_ideal, it can work.

Thank you for trying the code as well as the issue. Unfortunately, without details of your calculations, I cannot provide you concrete advices. Maybe you can first check if you correctly have "PRIMITIVE_AXIS" tag in your band.conf. Changing the code and working does NOT immediately mean we do the correct thing.

Dear all,
I also face such error.
I am doing calculation on a distorted structure with body centered orthorhombic crystal (space group i4/mcm , # 140) and I want to unfold the phonon band of this structure on to the main cubic structure (with space group # 221) .
I would be thankful for any help in advance.
This is the exact error :
UPHO version. 0.6.1
dict_input:
{'force_constants': 'FORCE_CONSTANTS',
'projection': 'eigenvectors',
'run_mode': 'band',
'star': 'sym',
'structure': 'POSCAR',
'structure_ideal': 'POSCAR_ideal'}
run_mode: band
star: sym
projection: eigenvectors
fc_filename: FORCE_CONSTANTS
supercell_matrix:
[[2 0 0]
[0 2 0]
[0 0 2]]
primitive_matrix:
[[ 1.  1.  0.]
[-1.  1.  0.]
[ 0.  0.  2.]]
Traceback (most recent call last):
File "/home/nh84temy/anaconda3/envs/phonopy/bin/upho_weights", line 255, in
main()
File "/home/nh84temy/anaconda3/envs/phonopy/bin/upho_weights", line 164, in main
log_level=log_level)
File "/home/nh84temy/anaconda3/envs/phonopy/lib/python3.7/site-packages/upho/api_unfolding.py", line 52, in init
elif primitive_matrix is not None:
NameError: name 'primitive_matrix' is not defined
Bests,


counter_cache values are not updated

It seems like counter_cache columns aren't updated after a bulk insert. What's the best way to remedy this?
It would be bad to have to run reset_counter on every record that's affected.

Right, they will not be updated, because (by design) this library does not run before/after hooks, and in fact skips the entire save pipeline in ActiveRecord. (This allows simple inserts to be blazing fast.) If you need counter cache columns to be updated, you'll need to do it yourself, keeping track of what's being inserted, and who the parent objects are, and running SQL statements to update those columns.
If you can come up with a way to automate that without adding overhead for other inserts, I'd be willing to consider a pull request.


Feature/ios 129

This PR and branch is outdated already,. New and up to date branch for IOS build success is here feature/129-ios-build-success


Revert "fix: remove pausePlayback when audio focus loss event (#3496)"

This reverts commit b1ab0f24a3efbcc3be49005060f50b34a117664e.
It causes regression in case of incoming call.
initial PR: https://github.com/react-native-video/react-native-video/pull/3496
New Pr to be created

ping @YangJonghun