Set mode 600 on racetrack config file

It sets mode 600 each time the config is rewritten. So the existing files will be fixed once any configuration change happens, eg. racetrack set remote ...
@blackplague  I can't set you as a reviewer, but please take a look.

I feel like it's a little imperialist for RT to actively change file mode itself. ssh doesn't try to change the permissions on ~/.ssh or its contents, it just complains loudly and refuses to run.
I think that's a more correct behavior. It makes the file mode requirement more explicit, and on the off chance there's some other software out there that's also manipulating this file or directory, it prevents clobbering. It's just generally polite to advise than to intervene.

I agree with @JosefAssadERST in the sense that I think RT should create the original config file with permissions 0600 and I am fine with it validating and throwing hissy fits in case a user decides that it would be amazing to have 0777 permissions on a file containing access tokens and credentials.
Regarding .ssh, I have never changed the permission on the .ssh directory and it comes out of the box with user - read, write and execute at least on my GNU/Linux distro.

Sure, how about showing a warning message instead of refusing to run?

If someone has 0777 I think they'll be more ashamed than pissed off... @blackplague do you think we have any sinners like that?

No, we don't have any of the 0777 sinners, but we have a bunch of 0664 sinners, which again is too lax. Only two people have their config.yaml restricted, one of them being me.

I'm ok with @iszulcdeepsense 's idea of just warning, even though my personal preference is to refuse to run. That file can have actual secrets and I don't mind educating users about this kind of permission.

Just a note, this is not a democracy. @iszulcdeepsense decides.

Remarks resolved. Please have a look again.


feat(gcc): update closure compiler to 20200830.0.0

BREAKING CHANGE: The latest Closure Compiler has removed the useOfGoogBase error group, and changed the API for some Angular externs.

:tada: This PR is included in version 6.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


3.60.0-beta.19 - adding empty BitmapText to container causes wrong container bounds

Version

Phaser Version: 3.60.0-beta.19

Operating system:  Manjaro Linux

Browser: tested on Chrome Version 110.0.5481.100 (64-bit), Firefox 110.0 (64-bit)

Description
While testing an application I'm writing on 3.60.0-beta.18 against new release 3.60.0-beta.19, I've found an issue on container bounds when an empty BitmapText instance is added to a container. Using exactly the same code, these are the results of [parentContainer].getBounds() calls on both versions:
3.60.0-beta.18 (working good):
{
"type": 5,
"x":<PHONE_NUMBER>516975,
"y":<PHONE_NUMBER>470348,
"width":<PHONE_NUMBER>9660492,
"height": 83.99999856948853
}
3.60.0-beta.19:
{
"type": 5,
"x": -45.33333333333333,
"y": -18,
"width":<PHONE_NUMBER>816358,
"height":<PHONE_NUMBER>165234
}

Example Test Code

Additional Information

This is a result of  #6384 - any thoughts @EmilSV ?

I did some testing and Phaser.GameObjects.BitmapText#getTextBounds or GetBitmapTextSize do not use it parent container for its bounds calculations.
To fix that you can either add it to container GetBounds like this:
    getBounds: function (output)
    {
        if (output === undefined) { output = new Rectangle(); }

        output.setTo(this.x, this.y, 0, 0);

        if (this.parentContainer)
        {
            var parentMatrix = this.parentContainer.getBoundsTransformMatrix();
            var transformedPosition = parentMatrix.transformPoint(this.x, this.y);

            output.setTo(transformedPosition.x, transformedPosition.y, 0, 0);
        }
        var matrix = this.getBoundsTransformMatrix();
        if (this.list.length > 0)
        {
            var children = this.list;
            var tempRect = new Rectangle();
            var tempVector = new Vector2();
            var hasSetFirst = false;

            output.setEmpty();

            for (var i = 0; i < children.length; i++)
            {
                var entry = children[i];

                if (entry.getTextBounds)
                {
                    var textBounds = entry.getTextBounds().global;
                    var tlX = textBounds.x;
                    var tlY = textBounds.y;

                    var brX = textBounds.x + textBounds.width;
                    var brY = textBounds.y + textBounds.height;
                    matrix.transformPoint(tlX, tlY, tempVector);
                    tlX = tempVector.x;
                    tlY = tempVector.y;
                    matrix.transformPoint(brX, brY, tempVector);
                    brX = tempVector.x;
                    brY = tempVector.y;

                    tempRect.setTo(tlX, tlY, brX - tlX, brY - tlY);
                    tempRect.setTo(textBounds.x, textBounds.y, textBounds.width, textBounds.height);
                }
                else if (entry.getBounds)
                {
                    entry.getBounds(tempRect);
                }
                else
                {
                    continue;
                }

                if (!hasSetFirst)
                {
                    output.setTo(tempRect.x, tempRect.y, tempRect.width, tempRect.height);
                    hasSetFirst = true;
                }
                else
                {
                    Union(tempRect, output, output);
                }
            }
        }

        return output;
    },

Or to GetBitmapTextSize in general

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Batteries are dead after loading a save

For example have flashlights with full battery, exit the game, enter again, then batteries are dead.

Hello, thanks for opening an issue for this. This is a vanilla bug and the game does not save battery information upon exiting the game. In a vanilla game, all battery items spawn fully charged, however this mod will spawn them with empty batteries.


Release Candidate for v2.6.2

Description
New release for version 2.6.2, which includes dropping support for python 2 and fixing testing issues for some windows versions.
Type of change
Please delete options that are not relevant.

[x] Release

How Has This Been Tested?
This has been tested through CI and running unit tests locally.
Checklist:

[N/A] Make sure you are merging into the develop (not main) branch
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[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
[x] Add a note to Changelog.rst, summarising the changes
[x] Add yourself to AUTHORS.rst

Pull Request Test Coverage Report for Build 538

8 of 8 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 96.853%

Totals

Change from base Build 535:
-0.05%

Covered Lines:
1138

Relevant Lines:
1163

💛  - Coveralls

Pull Request Test Coverage Report for Build 538

8 of 8 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 96.853%

Totals

Change from base Build 535:
-0.05%

Covered Lines:
1138

Relevant Lines:
1163

💛  - Coveralls


Better understand what happens in refresh latest ack scenarios

AB#4180
This allows us to better understand what happenes when we refresh from an ack. Improves telemetry so that it is more human readable.

Yes, I like enum like  types to make it easier and we map them to strings on our queries

From: tyler-cai-microsoft @.>
Sent: Wednesday, May 31, 2023 4:42 PM
To: microsoft/FluidFramework @.>
Cc: Nicholas Couri @.>; Review requested @.>
Subject: Re: [microsoft/FluidFramework] Better understand what happens in refresh latest ack scenarios (PR #15785)
@tyler-cai-microsoft commented on this pull request.

In packages/runtime/container-runtime/src/summary/summarizerNode/summarizerNode.tshttps://github.com/microsoft/FluidFramework/pull/15785#discussion_r1212419854:

                          }

                            // If the summary for which refresh is called is older than the latest tracked summary, ignore it.
                            if (this.referenceSequenceNumber >= summaryRefSeq) {
                                    eventProps.latestSummaryUpdated = false;

                                  eventProps.refreshScenario =

                                          this.referenceSequenceNumber === summaryRefSeq

                                                  ? "Received ack matching the current referenceSequenceNumber without a tracked summary"

Yeah, I'm not sure we want to do this. This just explains what happens. Maybe we can mark these with numbers and then put comments in the code?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/FluidFramework/pull/15785#discussion_r1212419854, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGIMYCAV4A5ZNT5OGAL76SLXI7JPHANCNFSM6AAAAAAYWDNXJI.
You are receiving this because your review was requested.Message ID: @.***>

Closing


Fix task cancel method to properly handle timeout cancellations

Recreated PRs for ODR-273 fix on 1.0.0 branch. Needed for 1.0.5 release.

Manfred is currently running this through a test on his stack.

@benbp @yyscamper @anhou Please review to make sure I recreated this correctly.
Please DO NOT MERGE until testing is complete. Thanks!

:+1:

Actually, this is a duplicated PR, @benbp has opened the same PR before. We closed that PR because at that time we think the ODR-273 fix doesn't need be included in 1.0.0 branch.
Code change is same, so :+1:

Testing was successful.  @benbp @yyscamper @anhou @brianparry or @jlongever, please merge these three PRs at the same time as soon as possible:
https://github.com/RackHD/on-tasks/pull/84
https://github.com/RackHD/on-core/pull/40
https://github.com/RackHD/on-taskgraph/pull/35
Thanks!


[DDP] Add support for traceback + fix IC DDP issues

This PR adds two form of additional DDP support:

Wraps all the integration main functions in torch.distributed.elastic.multiprocessing.errors.record, allowing error traceback. The immediate use is for sparsify.auto
Add IC support for the updated torch.distributed.run / torchrun while maintaining legacy support for torch.distributed.launch

This PR makes no changes to the direct use of sparseml or the sparseml user CLI. It adds support for error propagation for external, programmatic ddp calls such as:
from torch.distributed.run import main as launch_ddp
launch_ddp("sparseml.image_classification.train ...")

Testing
Existing integrations tests
Sparsify.auto integration tests

@bfineran good call. Added!


Uncaught TypeError: wallets is undefined

Describe the bug
Uncaught TypeError: wallets is undefined error on opening the wallet modal (from connect wallet button)
To Reproduce
Steps to reproduce the behavior:

Wrap app in context providers as followed:

solana-wallet-provider:
export function SolanaWalletProvider({ children }) {
  const network = WalletAdapterNetwork.Devnet;
  const endpoint = useMemo(() => clusterApiUrl(network), [network]);

  const wallets = useMemo(
    () => [
        new PhantomWalletAdapter(),
        new LedgerWalletAdapter(),
    ],
    [network]
  );
  return (
    <ConnectionProvider endpoint={endpoint}>
        <WalletProvider wallets={wallets} autoConnect>
            <WalletModalProvider>
                {children}
            </WalletModalProvider>
        </WalletProvider>
    </ConnectionProvider>
  );
}

App.js
const App = () => {
  return (
    <SolanaWalletProvider>
      <AppContainer />
    </SolanaWalletProvider>
  );
};

Create a component within the app that renders the wallet button

export const WalletButton = () => {
  return <WalletMultiButton />;
};

npm start, click on the wallet button

Expected behavior
Modal pops up
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS
Browser: Firefox
Version 97.0

Thanks. Can you link to a repo with a reproduction of the issue?

https://github.com/brianliyang/chainbay

I got it working, it probably was because i was on CRA4 due to this issue: https://github.com/facebook/create-react-app/issues/11756
I upgraded to CRA5 and followed some of the mitigations in the thread above and am no longer getting this issue


RFC: Possible fix for macOS transient windows always visible

pugl supports transient parent windows, for which the parent is not something to embed but just something to place below a window on the "WM window list stack".
I have an issue when creating 2 views, one is a transient parent to the other.
It works fine everywhere except macOS.
on macOS, having makeKeyAndOrderFront will always make the window visible on screen.
Making the window key seems wrong in this case, the key window should be the transient parent, not the "child"/top window.
Comments welcome, I verified that this patch works correctly for my use case

To be clear: I have 2 windows which are created at the start of the program (well, plugin in this case).
The 2nd window is used as an "about this software" sorta thing, it is created but hidden until the user clicks on the brand/logo.
On Windows and X11 systems, this 2nd window is correctly not visible until the user clicks on said button.
On macOS this 2nd window starts visible (but without contents, as the NSView inside is in a hidden state). Pressing the brand button that would usually show the about-window makes the (already wrongly visible window) draw the contents as normal. After this we can close the about-window and things behave as expected again. It is just the initial state that is misbehaving/wrong.

Seems reasonable enough, thanks.  I'm away right now and without a Mac, but I'll test it out later this week when I get home.

I am closing the PR since pugl changed a fair bit, and this likely needs a bit of tweaking.
Likely partially or even completely fixed now anyway, still need to check this one.

Yes, although transient window stuff isn't really solid or tested.  I intend to add a demo and/or test for that so it can be finished up, and other things (like the position) stuff done properly (or opinionatedly removed, or whatever, in that case).


Equality expr is not allowed with records containing rest descriptor of type any

Description:
Consider the below sample gives the error for equality expr with records containing rest descriptor of type any
public function main() {
    record {|any...;|} x = {};
    io:println(x == x); // error operator '==' not defined for 'record {| any...; |}' and 'record {| any...; |}'
}

Another sample could be the same issue
public function main() {
    map<any> result2 = {};
    boolean a = {result2} == {result2}; // error operator '==' not defined for 'record {| map result2; |}' and 'record {| map result2; |}'
}

== and != can be used only when at least one of the operands is of a type that is a subtype of anydata.
Quoting the spec

For both == and !=, at least one of the operands must have a static type that is a subtype of anydata.

The following works.
import ballerina/io;

public function main() {
    record {|any...;|} x = {};
    record {|anydata...;|} y = {};
    io:println(x == y);
}


operation not supported

I want to use the layout card and installed card-tools and layout-card
but i get a weird issue,
i have looked on the given page but can't find the issue there.
i use firefox 65 on manjaro linux

It's all working now


Enable to add multi ssh-keys config

What this PR does / why we need it:
Allow multi ssh-keys information to be entered in the Git field of the Piped configuration. However, the interface should be compatible with the previous version.
Which issue(s) this PR fixes:
Fixes #4311
Does this PR introduce a user-facing change?:
NONE

Draft work so close!


Implement --skipLibCheck flag in tsbuild

Summary:
Many large composite projects rely on skipLibCheck to improve build times.
However, skipLibCheck does introduce some risk that projects miss typescript errors
in new node module versions they install.
This is in response to Issues #45691, #25613, and #41185
This issue is not tagged with Backlog, but I'd request that it be considered anyway. Reason being: is an issue with many duplicates and a long history of discussion. I don't believe that this change should be controversial.
[ ] There is an associated issue in the Backlog milestone (required)
[x] Code is up-to-date with the main branch
[x] You've successfully run gulp runtests locally
[x] There are new or updated unit tests validating the change
Test Plan:
New tsbuild unit test scenario that tests overriding the skipLibCheck value with a command line argument.
Validated with verbose output that the actual build overrode the value in the tsconfig.json file.
Fixes #25613 (partially), #45691, and #41185

Is there any interest in this PR? I'm happy to resolve conflicts if so.

The hard part of this issue is figuring out the semantics. I'd rather wait on this PR until we've decided on that in the issue discussion. Probably closing it makes the most sense since it's not much code and may well code-rot in the meantime.


feat: support pass cred store

Issue #, if available:
Description of changes:
feat: support pass cred store
Testing done:
Unit test and Integration test.

[ ] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

LGTM

There is another merge in finch on linux that should be merged instead of this.


Fix warning in draft-ERC20PermitUpgradeable.sol

Fix warning:
Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
  --> @openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol:41:43:
   |
41 |     function __ERC20Permit_init_unchained(string memory name) internal initializer {
   |                                           ^^^^^^^^^^^^^^^^^^

Hello @heri16
A similar PR as already been submitted, answered, and close for this issue: #114

The contracts in this repository are not hand-written. They are automatically transpiled from the @openzeppelin/contracts package. This "unused variable" issue is a (small) side effect from the transpiler.
A commit that changes that, such as yours, will be automatically overwritten next time the transpilling workflow is executed. This should be solved at a higher level, directly in the transpiler ... which really is not that easy to do.


Fix runtime hangs

Purpose

To solve runtime hangs issue while using AsyncUtils invoke functions

Fixes #26187
Approach

Samples

Remarks

Refactor invokefunctionAsync method

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@gabilang  This change seems to be causing the transaction handlers not get executed. Furthermore, the https://github.com/ballerina-platform/module-ballerinai-transaction build hangs during test execution.

@gabilang  This change seems to be causing the transaction handlers not get executed. Furthermore, the https://github.com/ballerina-platform/module-ballerinai-transaction build hangs during test execution.


Questions about evaluation metrics

Congrats on your best paper award and thank you for your generous open source.
Now that I have been through the training process, and obtain a model trained for 70 epochs. After I run the test code of the model on the test set, I got a series of directories consisting of images used for 3D reconstruction. However, I did not find the file to output the evaluation metrics like "scale-invariant depth error (SIDE)" or "mean angle deviation (MAD)" as mentioned in the paper.
So what I wonder is how to output or where I can find these evaluation metrics to measure the performance of my trained model, and if any ground truth data needed for this evaluation process.
Looking forward to your reply and help, much thanks.

Hi!
Evaluation metrics can computed only when you have ground truth depth maps, such as in the provided synthetic face dataset. After running the test code with run_test: true and load_gt_depth: true specified in the *.yml config file, you should see a text file named eval_scores.txt in the result folder, which contains the scores.

Thank you so much. Excuse that I have another question about the ground truth data, that is how you generate the depth map images for ground truth (as shown in the picture attached). E.g. If I want to check the evaluation metrics of the model trained on cat face dataset or others, it would be necessary to obtain the depth map images as ground truth. Thank you.

We used a synthetic face model to obtain ground truth depth maps for evaluation. We do not have cat face datasets with ground truth depth maps, and cannot evaluate the predicted depth maps directly. For human faces, there are datasets with ground truth 3D scans such as NoW Dataset so it is possible to perform a direct evaluation on the depth predictions.

Thank you for your reply. Following your guidance, I have browsed some 3D human dataset like NoW Dataset and Bosphorus, but I noticed that the ground truth data of them are mostly given in the format of obj/off files representing the 3D scans, but not in depth map images. So I wonder how you convert the 3D scans in obj/off format into depth maps in png/jpg format as an image. Thank you.

Cool! There are various ways of converting depth maps to meshes, which can be stored as an .obj file. We have a piece of code in the demo, which does this in a fairly naive way: https://github.com/elliottwu/unsup3d/blob/30f4550b6bab6a520e9dd005dadac637b2fb9eb6/demo/demo.py#L182.

Hi @elliottwu , Now I am trying to use another human face dataset to train your unsup3d model, but before training, I noticed that the images in my dataset are all un-cropped, i.e. the background data are also encompassed. So I wonder whether I should apply some face-cropping method to crop the faces and make up a new face-cropped dataset to train the model, or just use the original un-cropped dataset? Hope your reply, thank you.

You should crop the images for better results. The MTCNN face detector (facenet) is a good option. The demo code provides a cropping scheme: https://github.com/elliottwu/unsup3d/blob/30f4550b6bab6a520e9dd005dadac637b2fb9eb6/demo/demo.py#L110.

@elliottwu big thanks to your demo scripts, the cropping effect is much greater than the methods searched by my own. 👍

HI, @elliottwu , when I tried to use unsup3d model to another dataset, I encounted the following situation:
I have trained unsup3d on the dataset for 30 epochs before, but when I tried to use the well-trained model to predict 3D human face from the input human face images, I got the following intermediate results:
00001_canonical_albedo.png

00001_canonical_image.png

00001_recon_image_flip.png

00001_recon_image.png

It seems that the reconstruction face retains only half of the original face, and the canonical face then flips that half of face, leading to a weird result (just a guess, can't make it exact).
In this case, what should I do to make the model output a better and a correct result? Maybe relevant to the quality of dataset? Really hope to hear your points and advice on my problem, thank you!

HI, @elliottwu , when I tried to use unsup3d model to another dataset, I encountered the following situation: I have trained unsup3d on the dataset for 30 epochs before, but when I tried to use the well-trained model to predict 3D human face from the input human face images, I got the following intermediate results:
00001_canonical_albedo.png  00001_canonical_image.png  00001_recon_image_flip.png  00001_recon_image.png
It seems that the reconstruction face retains only half of the original face but loses the other half, and the canonical face then flips that only half of face, leading to a weird result (just a guess, can't make it exact). In this case, what should I do to make the model output a better and a correct result? Maybe relevant to the quality of dataset? Or maybe relevant to the parameters of the dataloader, like 'image_size' or 'crop'? Really hope to hear your points and advice on my problem, thank you!

同学你好！我在复现这篇论文时也出现了这样重建出的人脸图像只有一半的情况。请问你解决了这个问题吗？

HI, @elliottwu , when I tried to use unsup3d model to another dataset, I encountered the following situation: I have trained unsup3d on the dataset for 30 epochs before, but when I tried to use the well-trained model to predict 3D human face from the input human face images, I got the following intermediate results:
00001_canonical_albedo.png  00001_canonical_image.png  00001_recon_image_flip.png  00001_recon_image.png
It seems that the reconstruction face retains only half of the original face but loses the other half, and the canonical face then flips that only half of face, leading to a weird result (just a guess, can't make it exact). In this case, what should I do to make the model output a better and a correct result? Maybe relevant to the quality of dataset? Or maybe relevant to the parameters of the dataloader, like 'image_size' or 'crop'? Really hope to hear your points and advice on my problem, thank you!

同学你好！@YokkaBear我在复现这篇论文时也出现了重建出的人脸图像只有一半的情况，请问你解决这个问题了吗？期待你的回复，谢谢！

总的来说是数据集的问题，建议做一些数据预处理（比如像作者建议的那样切分出关键域）/数据增强，或者更换数据集。
| |
王尤嘉
|
|
@.***
|
签名由网易邮箱大师定制
On 11/22/2021 @.***> wrote：
HI, @elliottwu , when I tried to use unsup3d model to another dataset, I encountered the following situation: I have trained unsup3d on the dataset for 30 epochs before, but when I tried to use the well-trained model to predict 3D human face from the input human face images, I got the following intermediate results:
00001_canonical_albedo.png 00001_canonical_image.png 00001_recon_image_flip.png 00001_recon_image.png
It seems that the reconstruction face retains only half of the original face but loses the other half, and the canonical face then flips that only half of face, leading to a weird result (just a guess, can't make it exact). In this case, what should I do to make the model output a better and a correct result? Maybe relevant to the quality of dataset? Or maybe relevant to the parameters of the dataloader, like 'image_size' or 'crop'? Really hope to hear your points and advice on my problem, thank you!
@.***我在复现这篇论文时也出现了重建出的人脸图像只有一半的情况，请问你解决这个问题了吗？期待你的回复，谢谢！
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

总的来说是数据集的问题，建议做一些数据预处理（比如像作者建议的那样切分出关键域）/数据增强，或者更换数据集。 | | 王尤嘉 | | @.*** | 签名由网易邮箱大师定制 On 11/22/2021 @.***> wrote： HI, @elliottwu , when I tried to use unsup3d model to another dataset, I encountered the following situation: I have trained unsup3d on the dataset for 30 epochs before, but when I tried to use the well-trained model to predict 3D human face from the input human face images, I got the following intermediate results: 00001_canonical_albedo.png 00001_canonical_image.png 00001_recon_image_flip.png 00001_recon_image.png It seems that the reconstruction face retains only half of the original face but loses the other half, and the canonical face then flips that only half of face, leading to a weird result (just a guess, can't make it exact). In this case, what should I do to make the model output a better and a correct result? Maybe relevant to the quality of dataset? Or maybe relevant to the parameters of the dataloader, like 'image_size' or 'crop'? Really hope to hear your points and advice on my problem, thank you! @.***我在复现这篇论文时也出现了重建出的人脸图像只有一半的情况，请问你解决这个问题了吗？期待你的回复，谢谢！ — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

好的，感谢您！


vpn/ipsec: Add log search button in sessions

Requires the plumping of the following PR to work: https://github.com/opnsense/core/pull/8115

Thanks :)


Improve decorator callstack information to reflect location of decorator

TypeScript Version:  2.03
Scenario:  Building JUnit style unit test adaptor based on decorators.
Goal:  Emitting test information sufficient to drive Visual Studio Test Explorer's ability to double-click on a test item to navigate to the source code for the test.
Problem: Call stack during execution of a method decorator shows a lines present only in generated code, far removed from the actual decorator's location.
Code
@Suite
export class TestIntervalSet {
	@Test testSingleElement(): void {
		let s: IntervalSet =  IntervalSet.of(99);
		let expecting: string =  "99";
		assertEquals(s.toString(), expecting);
	}
       . . .
}

Compiled and run with source map support turned on.
Expected behavior:
When the Test() function is called, the call stack should reflect the souce line number where the @Test decorator appears.
Actual behavior:
When the Test() function is called, the call stack reflect the line number in generated code where __decorate() is called.   That line that doesn't appear in the typescript file.
I'm hoping that this might be addressed by simply adjusting the emitted source map.   I don't mind that there is a helper function on the call stack, as long as the offset line containing the decorator is available..

@rbuckton thoughts on feasibility?


support FreeBSD

I did this in line with the existing code for simplicity

scripts are bash style, not posix shell, so make this explicit
trim up trailing whitespace
add FreeBSD architecture support

I think there may be simpler / cleaner ways to accommodate this
overall approach but this seems a good start.
Testing was done with:
Build type: Release
LuaJIT 2.1.1699801871

If you plan to cross-build the rust libraries in CI or similar,
here's output of uname etc, the code might need to be amended
in that case.
# uname
FreeBSD

### now on x86_64
# uname -m
amd64

### now on aarch64
# uname -m
arm64

NB the weird glyph is actually a light grey background >... visible whitespace. Not
quite sure how to hide/fix that?

Hi @dch, thx for this PR, if you wanna support FreeBSD, you also need to update the github actions config. But I don't wanna add too many cross-compilation target. I only have 2000 minutes per month usage time for GitHub actions, and the mac CI expensive more :(
Cross-compile is just an option which allow most users to use CodeSnap.nvim out of box, if your OS not in the cross-compilation list, you can still compile CodeSnap.nvim from source use make build_generator command.

NB the weird glyph is actually a light grey background >... visible whitespace. Not
quite sure how to hide/fix that?

Can you tell me the reproduce path? I can't reproduce this bug on my machine

Hey @dch if you found reproduce path, you can open another issue to report it, this PR closed now.


Add 'az sql mi-arc upgrade' command to azcli api

Adding SQL MIAA upgrade command to the Azure CLI extension API.
Output of 'az sql mi-arc upgrade --help' for reference:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 8 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.007%) to 42.246%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/azcli/src/api.ts
0
3
0.0%

extensions/azcli/src/az.ts
0
5
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.007%

Covered Lines:
27811

Relevant Lines:
61593

💛  - Coveralls


PCC - View Criteria failing in some cases.

As a program manager, I want to view the "Approval Criteria" for a certain organization's CLA. I click the button and nothing happens. In the console, the following error is reported:

This happens in the project 'Tungsten Fabric' with all companies except Mirantis and Telstra
https://projectadmin.lfx.linuxfoundation.org/project/a092M00001F1Yv4QAF/tools/easycla/overview/57854295-e49d-4a28-a0ff-2d6d3163378c/signatures

Let's have someone from the PCC team review this issue.
@asithade

Yeah we can take a look at this. @thakurveerendras can you file a ticket for this please?

verified this was resolved


The implementation of Enigma cipher

Why does the result differ from results in dcode.fr?
https://www.dcode.fr/enigma-machine-cipher
For example, if we use the same plaintext and the same settings, the ciphertexts differ.

Ive used this quite a bit and never had any problems, could you add some
screen shots or something? Perhaps compare to a 3rd enigma to determine
which implementation has the problem?
On Wed, 22 Dec 2021, 9:43 pm ZM.J, @.***> wrote:

Why does the result differ from results in dcode.fr?
https://www.dcode.fr/enigma-machine-cipher
For example, if we use the same plaintext and the same settings, the
ciphertexts differ.
—
Reply to this email directly, view it on GitHub
https://github.com/jameslyons/pycipher/issues/16, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM7KQOCEFFJDMC5UPHZYPLUSG2U3ANCNFSM5KSLSLHA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Consider the following encryption and decryption:

so we use the following code to decrypt:
import pycipher

enc = pycipher.Enigma(settings=('R', 'N', 'G'), rotors=(2,1,3), ringstellung=('E', 'D', 'G'),
        steckers=[('A', 'T'), ('B','V'), ('C','F'), ('E','N'), ('G','Y'), ('H','O'), ('I','W'), ('L','U'), ('M','Z'), ('Q','X')])

c = 'LIZIJWMHIXW'
print(enc.decipher(c))

However, we got GXNTTORISET, which is incorrect.

Okay so now I tend to believe that the implementation of dcode.fr has some problem.
Thanks for your response.


Fix #273: Show empty TitleField, DescriptionField

#273

Ad discussed here, this attempts at solving an issue in the formbuilder, so please file an issue there instead. Thank you!


HTTP: Support optional checks in WebSocket protocol

This is a feature request :)
[Sorry for repeating this thread here, but nobody reacted on Gatling Google Group]
My WebSocket scenario is to connect and authorize, which works fine. Then I just need to listen for and save incoming messages from WebSocket - no need to send any messages to the server.
I managed to send dummy "ping" messages just to be able to add "await" with "checkTextMessage" and check/save incoming message. This way I can simulate listening for incoming messages.
The only problem is a failure when the check times out (for me it's not a real failure, it just means no message was sent from the server in given time, which is fine). I can't extend the timeout to infinity, because it will block the scenario execution.
A solution would be to support optional check, which would not fail even after time out. Unfortunately "optional" flag on check does not help.
Thanks in advance,
Adam

See comment here.

Thanks Stephane!
However, according to this WebSocket documentation sentence:
"You can use almost all the same check criteria as for HTTP requests."

optional checks would be the natural order of things ;)

I have some spare time and want to take a look a it but I'm missing some context.
@slandelle Adding a default parameter boolean flag to await to not break execution is suffice? Or did you thought another approach?

@aartigao From what I understand from @aartajew 's description, the actual need is to be able to await without having to send a message first.

Let @aartajew clarify then.
I understood that he bypassed the send message thingy with a dummy payload but then talked about await ruining the checks on timeout.
From my point of view there are two feature requests:

Receive WebSocket messages without prior payload sent.
Configure await to not fail checks on timeout.

Hi @aartigao - sorry, I just saw your question :)
Yes, the two feature requests you have listed are correct, but for me the latter (optional checks on await) is more general and I think simpler to implement - and frankly would cover my scenario :)
Thanks in advance!

Hey @aartigao , any luck with feature request nb. 2?
BTW feature request nb. 1 is discussed here - #3773 - but it's probably not that easy to implement, at least without parallel execution - #3783

Wow! I didn't even remember this. Sorry, I abandoned the development here because it was too difficult for me to implement something on top of Gatling model. It has to be thought carefully because it'll involve non-trivial changes and I'm not expert enough in Gatling to do that.

Closing:

actual need is covered in #4100
conditional checks similar to what exists in HTTP is covered in #3999


A good example of background service getting location updates

Please I need help.
I'm facing a problem here. It is impossible to find A GOOD EXAMPLE of how create a service that must run in background and receive location updates. Also, all examples on developer.android.com are terrible, any one of them really works.
My app aim is get location updates in background, something which looks like so simple but unfortunately I could not find any good example about how to do it.

Did you find a solution? It looks like it has to be set up with a class that extends BroadcastReceiver


Update to Vaadin 14

We use Vaadin 11 + Undertow for our project. Right now we try to migrate to Vaadin 14 and found out it is not as straightforward process as it seems at the beginning. It would be very helpful if this template updates to Vaadin 14. Very needed. Thanks!

Having a similar issue here, attempted to just run and update https://github.com/Nano-Vaadin-Demos/nano-vaadin-undertow, and maven just failed completely. Is there a another simple example of vaadin undertow? for the latest vaadin?

Hi @raider001 , I will have a look at it. Will try it with latest V14LTS , have not done it with V15 so far. But if you dońt need Undertow, maybe the Jetty version is good for you as well: https://github.com/Nano-Vaadin-Demos/nano-vaadin-jetty


Backports 0.17 pr33

@PastaPastaPasta Our HD wallet implementation is a mix of (dirty 🙈 ) backports and Dash specific changes (bip39/44 implementation) https://github.com/dashpay/dash/pull/1405 so quite a few parts of code around it are different. There was no split between external and internal keypools in bitcoin core originally, it was just one HD keypool at first so they have to have use_split_keypool to ensure backwards compatibility. We skipped that step and went with 2 keypools from the start and as a result we don't need use_split_keypool in our code.

Would be nice if we could refactor our hd system to be closer to upstream potentially

Rebased after #4197


How to include your own tags in jobs?

Seems like the tags method is always overwritten by the package. Is there any way to add your own job specific manual tags?

See this: https://github.com/laravel/framework/pull/29643
Ping @themsaid, on the topic of queues and multi-tenancy. Could you reconsider the PR?

Thanks, so seems like there has been a PR open for quite a while. Let's hope it will be merged soon.

I don't think they plan to add it, since they closed all issues and PRs I opened for that feature.

@lasselehtinen @stancl
I have found the issue laravel/framework#29643 related to why the tags is not present in the Queue::createPayloadUsing method.
The issue is within horizon, and i have created a new PR to fix it laravel/framework#29643.
Once it gets merged we should be able to update the package to look for tags and merge them :)

Seems like this will be fixed in the next major release of Horizon @morloderex. I think I should for now remove the logic that's setting tags in job payloads and instead provide a trait that people can optionally apply on their jobs to see the tenant id in Horizon?

Resolved in v3.


After initializing the network, the app stop without any prompt of error.

In Run of studio:
$ adb shell am start -n "com.sh1r0.caffe_android_demo/com.sh1r0.caffe_android_demo.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Connected to process 12290 on device Galaxy_Nexus_API_22 [emulator-5554]
Connected to process 12290 on device Galaxy_Nexus_API_22 [emulator-5554]
Connected to process 12290 on device Galaxy_Nexus_API_22 [emulator-5554]
Connected to process 12290 on device Galaxy_Nexus_API_22 [emulator-5554]
Connected to process 12290 on device Galaxy_Nexus_API_22 [emulator-5554]
Application terminated.
In Android Monitor:
05-11 11:52:07.474 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 fc6 does not need backward computation.
05-11 11:52:07.474 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 pool5 does not need backward computation.
05-11 11:52:07.474 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 relu5 does not need backward computation.
05-11 11:52:07.474 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 conv5 does not need backward computation.
05-11 11:52:07.474 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 relu4 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 conv4 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 relu3 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 conv3 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 norm2 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 pool2 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 relu2 does not need backward computation.
05-11 11:52:07.475 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 conv2 does not need backward computation.
05-11 11:52:07.476 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 norm1 does not need backward computation.
05-11 11:52:07.497 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 pool1 does not need backward computation.
05-11 11:52:07.498 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 relu1 does not need backward computation.
05-11 11:52:07.499 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:230 conv1 does not need backward computation.
05-11 11:52:07.499 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:272 This network produces output prob
05-11 11:52:07.500 12630-12630/com.sh1r0.caffe_android_demo I/native: net.cpp:285 Network initialization done.
05-11 11:52:21.038 12630-12630/com.sh1r0.caffe_android_demo I/native: upgrade_proto.cpp:42 Attempting to upgrade input file specified using deprecated transformation parameters: /data/caffe_mobile/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
05-11 11:52:21.042 12630-12630/com.sh1r0.caffe_android_demo I/native: upgrade_proto.cpp:45 Successfully upgraded file specified using deprecated data transformation parameters.
05-11 11:52:21.042 12630-12630/com.sh1r0.caffe_android_demo W/native: upgrade_proto.cpp:47 Note that future Caffe releases will only support transform_param messages for transformation fields.
05-11 11:52:21.045 12630-12630/com.sh1r0.caffe_android_demo I/native: upgrade_proto.cpp:51 Attempting to upgrade input file specified using deprecated V1LayerParameter: /data/caffe_mobile/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
after this, the app stops, and I can not find any prompt of error, so what happened? I run this demo is KVM.
Thank you!

I guess that you are running the demo app on an ARM-based emulator. If so, in my experience, I had some trials before but end up with failures, probably caused by OOM (out of memory) or something. IMHO, if you do not have a device, I recommend you to build caffe-android-lib for x86_64 on your own and then run the app on a x86_64 emulator.

Thanks.I try it in the mobile phone and it words. However, I run it in the kvm because my target device is an ARM-V7 box, and its android api 19. But when I run the demo in it, it got the error :
dlopen failed: cannot locate symbol "sigfillset" referenced by "libcaffe.so"...
but it words in the api 21/+.
I am now trying to solve this error. Thank you for your help.

As API level issues, please refer to https://github.com/sh1r0/caffe-android-lib/issues/39.
Thanks.

I have read it before. And I still hope to run it in api 19. I will try it by myself, thank you!


narrow: Check private message policy for empty narrow title.

For narrows that focus on private messages ("is:private", "pm-with", "group-pm-with"), we want to check the organization private message policy and set an empty narrow title that matches that policy.
Fixes #21889.

Notes:

These are the empty narrow titles when only the one search operator is used.
The "pm-with" operator still pops up a compose box for the private message recipients. We may also want to update that behavior based on this organization policy setting? See "Private messages - no messages" screenshot below. If so, does this feel like a follow-up or something to add to this PR?
The invalid user searches for "pm-with" will pull up the banner saying the user does or doesn't exist. The invalid user searches for "group-pm-with" will return the privacy policy message. See "Invalid users" screenshots below. We should probably make these consistent. One thought I had is that we could show both messages in this case? For example,

Invalid user and privacy policy message

Note that the browser/tab titles and the invalid user empty narrow title for "group-pm-with" are being updated in a separate pull request (see #23399).

Screenshots and screen captures:

No private messages
Note that this is probably rather uncommon due to Welcome Bot messages for new users, but it felt like a case that should be covered.

Invalid user or users
Note for "pm-with" if the user (or one of the users) searched for does not exist, the banner with that information is shown. But if "group-pm-with" is used and the user doesn't exist, then the privacy policy is shown.

Group private messages - no messages

Group private messages - there are messages

Private messages - no mesages

Private messages - there are messages

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

The invalid user searches for "pm-with" will pull up the banner saying the user does or doesn't exist. The invalid user searches for "group-pm-with" will return the privacy policy message. See "Invalid users" screenshots below. We should probably make these consistent. One thought I had is that we could show both messages in this case? For example,

Hm, to me the message about users not existing seems primary for a search, and the info about not being able to send PMs seems secondary. So I think we should just show the "user doesn't exist" type of message, without mentioning anything about being able to send messages. https://github.com/zulip/zulip/issues/22660 should help clarify the situation with regard to sending messages in any case.

I also noticed and filed #23408 while looking at this PR. I don't think it's particularly high priority, so you don't have to jump on it -- up to you.

Updates:

Invalid users in either "pm-with" or "group-pm-with" have that information prioritized in the empty narrow title message. See updated screenshots below. Reordered (and added some comments to) the tests to confirm this logic as well.

Follow-ups:

Having the compose box not automatically open for private messages when the organization has disabled sending private messages seems pretty clear to do, but will put up a separate PR for that change.
Someone's working on the new deactivated user issue/case, so I'll just tag myself to follow that issue for now.
The open PR for #22660 seems to have gotten stalled. I've also followed that issue/PR, and can follow-up on it soon, maybe after the 6.0 release settles if that sounds good.

Screenshots:
Note that these were taken with private messages disabled in the org

"group-pm-with" narrow with invalid user

"pm-with" narrow with invalid user

"pm-with" narrow with invalid user and valid user

Additional questions re:bot users:

Is there a case where there may be no existing private messages between the user and a bot user?
If so, do we want the empty narrow title to imply that the user cannot send a private message to the bot?
Or do we want the normal default in this case?

Thanks for pointing out the bots case!

Is there a case where there may be no existing private messages between the user and a bot user?

Yes, why not? You can get there form e.g., from the bot's profile menu or via "go to conversation" in the compose box.

You actually can send messages to a bot even if PMs are disabled, so let's show the normal default for now. I'll file a separate issue for customizing the message for bots, since they aren't really a "person".

Actually, rather than customizing the message for bots, @timabbott pointed out that we can just change it to:

You have no private messages with <name>.

That will be an improvement for users, and will work equally well for bots. Would you be up for making that change?

(Note that I also replaced the ! at the end with a .; I don't think there's a particular reason to be exclamatory here.)

Updates:

1st commit: adds the check for the organization's policy on sending private messages.

One change from previous iterations is the text for "group-pm-with" is now: "You are not allowed to send group private messages in this organization." so that the changes in the next commit make more sense.
Invalid user messages are still prioritized.

2nd commit:

1-1 private messages with a bot always return the default 'start a conversation' empty narrow title.
group private messages (with or without a bot) return the disabled policy message if appropriate.
"sender", "group-pm-with" and "pm-with" with one valid user (or bot) return a default message with the user's full name in the case of an empty narrow and the org allowing private messages.
"pm-with" narrows with multiple users have the same 'these people' default, instead of listing out all the people in the narrow search.
Removes the exclamation mark for the default message as well.

3rd commit: minor related clean-up in compose_validate.js with the check for the organization's policy for sending private messages.

Thoughts/Questions:

In the case of a user with completely empty private messages and the org disabling private message sending, the default empty message definitely doesn't make it clear that private messages with a single bot is possible. This is pretty nuanced, so I'm guessing that's fine, but I thought I would note that here.
Also, in the case of the current user going to a "pm-with" narrow with a bot user and a person user (or multiple bot users), again the message is generically that private messages aren't allowed, which is basically the same nuanced issue as above.

In this case, we could update the empty narrow in the case of multiple valid users (bot or person) to use the group pm not allowed message above in the 1st commit update.

Screenshots:

Narrow for sender

Organization has enabled sending private messages (default)

No private messages

Group pm with bot

Group pm with person

PM with person

PM with people

PM with bot

PM with bot and person

Organization has disabled sending private messages

No private messages

Group pm with bot

Group pm with person

PM with person

PM with people

PM with bot

PM with bot and person

The "pm-with" operator still pops up a compose box for the private message recipients. We may also want to update that behavior based on this organization policy setting? See "Private messages - no messages" screenshot below. If so, does this feel like a follow-up or something to add to this PR?

That sounds right!
I'm happy to have this be a follow-up. If it's not trivial to do, you can file an issue and make sure it's noted on #22659 (we can make it a blocker).

Opened  #23443 for this.

Cool, reviewing the screenshots looks good to me -- thanks for managing all the tricky edge cases!
I'm OK with not worrying about addressing the edge cases described under Thoughts/Questions better than they are currently handled by this PR.

I wonder if we should change "these people" to "these users"? Somehow "these people" sounds a bit rude to me.

Anyway, @timabbott, tagging for your review.

I wonder if we should change "these people" to "these users"? Somehow "these people" sounds a bit rude to me.

Yeah, that might be worth doing; though we probably want to do the same with "this person". I'll leave that for a follow-up; it is more than I have time to adjust right now, and this PR otherwise looks great. (And that string is not new)
Merged, thanks @laurynmm!


Add table for proposals

Current dependencies on/for this PR:

main

PR #9

PR #18

PR #28   👈

This comment was auto-generated by Graphite.


Does this support automated failover by changing role from slave to master?

No, but a slave can be changed into the master as set by the trigger_file in recovery.conf. Using the defaults provided in this module, you would simply touch /var/lib/postgresql/9.2/main/pg_failover_trigger on the slave to failover.

ok, could you remove the hard coded 9.2 in that path?
On 24 April 2015 at 21:22, Justin Downing<EMAIL_ADDRESS>wrote:

Closed #2 https://github.com/justindowning/puppet-wal_e/issues/2.
—
Reply to this email directly or view it on GitHub
https://github.com/justindowning/puppet-wal_e/issues/2#event-289638216.

It's not hard coded. You can set it when you call class { 'wall_e': } as documented here.

Sorry I was getting an old copy of this module from forge. I also realised I was the one who stopped it from being hardcoded in the first place, with my pull request.


Move team photos from assets/images to images

apologies @greensh16 in my haste to get back to one pull request I forgot about my own comment on your pull request and merged:

move the images to the images folder from asset/images
remove asset/images folder
add images as

and the path where the image is located respect to the file you are adding it too, you can also do more fancy stuff see: https://jupyterbook.org/en/stable/search.html?q=images

@paolap I've probably missed something but where is the images folder located in the repo? or do I need to create it?

apologies, again getting confused today!!, anyway we can leave "images" under "assets", if we think there might be another category of assets, otherwise might be better to have just one directory level to make it easier to refer to them.


Feature/database report csv

Hello @ylgnerbecton! Thanks for opening this PR.

In the file dbaas/dbaas_services/analyzing/admin/__init__.py:

Line 14:46: W292 no newline at end of file

In the file dbaas/dbaas_services/analyzing/views.py:

Line 72:13: E722 do not use bare 'except'
Line 82:101: E501 line too long (108 > 100 characters)
Line 88:1: W391 blank line at end of file

Do see the Hitchhiker's guide to code style

Codecov Report

Merging #756 (958da5f) into dev (9102fee) will decrease coverage by 0.01%.
The diff coverage is 36.17%.

@@            Coverage Diff             @@
##              dev     #756      +/-   ##
==========================================
- Coverage   41.38%   41.37%   -0.02%
==========================================
  Files         341      341
  Lines       25350    25395      +45
==========================================
+ Hits        10491    10506      +15
- Misses      14859    14889      +30

Flag
Coverage Δ

unittests
41.37% <36.17%> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

dbaas/dbaas_services/analyzing/views.py
38.98% <31.81%> (-23.52%)
:arrow_down:

dbaas/dbaas_services/analyzing/admin/__init__.py
100.00% <100.00%> (ø)

dbaas/dbaas_services/analyzing/urls.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


White flash when app comes to foreground

Describe the bug
When app comes to foreground the dark theme takes a bit to apply on the elements and due to that the Light theme shows on the app.
To Reproduce
Steps to reproduce the behavior:

Move the app to background by opening another app
then switch back you your react native app
when app comes to foreground, the Light theme shows up for a bit of 1-2 seconds then it turns to Dark theme

Expected behavior
Light theme should not show when Dark theme is selected during foreground
Screenshots
Wrong:

Correct:

Additional context
If I remove bg-54 dark:bg-50 class from the elements, then the background looks fine
<View className="bg-54 dark:bg-50">{content()}</View>

I also had this error. I believe I fixed it by doing this:
  const { colorScheme, setColorScheme } = useColorScheme();
  const loadTheme = async () => {
    const storedTheme = await AsyncStorage.getItem("colorScheme");
    if (storedTheme !== null) {
      setColorScheme(storedTheme);
    } else {
      setColorScheme(colorScheme); // I had the flash when I didn't set the colorScheme when storedTheme is null
    }
  };

  useEffect(() => {
    loadTheme();
  }, []);

So I believe it happens when setColorScheme is called conditionally or not applied?

It's this issue: facebook/react-native#28525
Weirdly enough, it doesn't happen when using useColorScheme from React Native directly - seems like the nativewind hook is slightly slow to update

exactly that's what I noticed

I solved it finally 🎉.
import { useColorScheme as useNativeWindColorScheme } from 'nativewind';
import { AppState, useColorScheme } from 'react-native';

const Root = () => {
	const currentColorScheme = useColorScheme();
	const { colorScheme, setColorScheme } = useNativeWindColorScheme();
	const isDarkTheme = colorScheme === GlobalSchemeEnum.DARK;
	const LightTheme = { dark: !isDarkTheme, colors: ThemeNavigationLightColors };
	const DarkTheme = { dark: isDarkTheme, colors: ThemeNavigationDarkColors };
	const theme = isDarkTheme ? DarkTheme : LightTheme;

	useEffect(() => {
		const subscription = AppState.addEventListener('change', (state) => {
			const isActive = state === 'active';
			if (!isActive) return;
			currentColorScheme && setColorScheme(currentColorScheme);
		});
		return () => subscription.remove();
	}, [colorScheme, setColorScheme, currentColorScheme]);

	{/* Navigation */}
	<NavigationContainer theme={theme}>
		<App />
	</NavigationContainer>
};

AppRegistry.registerComponent(appName, () => Root);

Let me know if it doesn't work!

+1

I solved it finally 🎉.
import { useColorScheme as useNativeWindColorScheme } from 'nativewind';
import { AppState, useColorScheme } from 'react-native';

const Root = () => {
	const currentColorScheme = useColorScheme();
	const { colorScheme, setColorScheme } = useNativeWindColorScheme();
	const isDarkTheme = colorScheme === GlobalSchemeEnum.DARK;
	const LightTheme = { dark: !isDarkTheme, colors: ThemeNavigationLightColors };
	const DarkTheme = { dark: isDarkTheme, colors: ThemeNavigationDarkColors };
	const theme = isDarkTheme ? DarkTheme : LightTheme;

	useEffect(() => {
		const subscription = AppState.addEventListener('change', (state) => {
			const isActive = state === 'active';
			if (!isActive) return;
			currentColorScheme && setColorScheme(currentColorScheme);
		});
		return () => subscription.remove();
	}, [colorScheme, setColorScheme, currentColorScheme]);

	{/* Navigation */}
	<NavigationContainer theme={theme}>
		<App />
	</NavigationContainer>
};

AppRegistry.registerComponent(appName, () => Root);

Let me know if it doesn't work!

it worked! thank you 💯

@imransilvake's solution worked! thank you @imransilvake  💯

It seems like the issue happens here: https://github.com/marklawlor/nativewind/blob/main/packages/react-native-css-interop/src/runtime/native/globals.ts#L123
addChangeListener gets called with the wrong color scheme when the app is sent to the background. This might happen because iOS takes a screenshot of the app state for the app switcher.
If we modify the change listener to only update the color scheme when the app is active, we don't get any styling flashes and everything seems to work:
let appearanceListener = appearance.addChangeListener((state) => {
  if (AppState.currentState !== "active") return
  _colorScheme.set(state.colorScheme ?? "light")
});

Maybe @marklawlor knows if this can break some behavior that I'm missing?

I cant figure it out, by I get a flash of the opposite color scheme every time I go from background to foreground. Doesn't matter what my phones color scheme is, it always flashes the opposite each time??

@believer I'll test it out, but that change should be fine. There appears to be an upstream issue with these listeners, so its probably best to only listen when the app is active.

Adding this, seems to temporary fix it.
  const colorScheme = useColorScheme()
  const { setColorScheme } = useNWColorScheme()
  React.useEffect(() => {
    setColorScheme(colorScheme as "light" | "dark")
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [colorScheme])

Can people please try 4.0.28

Tested with 4.0.29 and I'm not seeing the issue anymore. Thanks for the fix!


plain text dilema

Type: Feature Request
hello, i am reaching out to request assistance in a program i am trying to run but i am stopped by a notice the program wont run without a 'plain text" debugger and i have aquired all i can and it is not working so i am looking for advice on what i need or if this can be added.


Blocky language

Hi,
I installed blockly using 'development install' but the toolkit is not in english language. How do I change that?
Thanks

Hey @adeayopy. Sorry for the delayed response!
The toolbox should automatically adapt to the language you are using in JupyterLab. Once you switch the language in JupyterLab to English, it should also switch the language for the blocks inside the toolbox to English.
The development install also includes two other language packages (Spanish and French), only for testing purposes of the internationalization. Maybe JupyterLab is automatically switching to one of those languages, but going back to English should still be possible.
If this doesn't fix your issue, please give me more information - such as what language is JupyterLab in? and is it different than the one for the toolbox?


Error: could not decode result data (value="0x", info={ "method": "getLendingPool", "signature": "getLendingPool()" }, code=BAD_DATA, version=6.9.0)

Hello Patrick and other smart contract developers. I'm getting an error "Could not decode result" when trying to get lending pool address from the lendingPoolAddressesProvider. I have my getLendingPool function below
async function getLendingPool(account) {
    /**LendingPoolAddresses Provider address
     * Goerli=0x5E52dEc931FFb32f609681B8438A51c675cc232d
     * Mainnet= 0x5E52dEc931FFb32f609681B8438A51c675cc232d
     */

    const lendingPoolAddressesProvider = await ethers.getContractAt(
        "ILendingPoolAddressesProvider",
        "0x5E52dEc931FFb32f609681B8438A51c675cc232d",
        account
    )

    /**There's an error here that I can't solve. Would come back to it
     * Update: Is it possible that lendingPoolAddressesProvider no longer returns
     * ...lendingPool address since its outdated and no longer in use?
     */
    const lendingPoolAddress =
        await lendingPoolAddressesProvider.getLendingPool()

    console.log(lendingPoolAddress)

    const lendingPool = await ethers.getContractAt(
        "ILendingPool",
        lendingPoolAddress,
        account
    )

    return lendingPool
}

I'm using ethers v6.9.0 but my first instinct is that getLendingPool no longer returns an address due to aave V2 being no longer in use. I may be wrong. Please I need feedbacks so I can continue with the lesson.

Hmmm are you using the correct chain? The correct address based on the docs?

Hmmm are you using the correct chain? The correct address based on the docs?

This is embarrassing but I was actually passing in goerli lendingPoolAddressesProvider address instead of the mainnet address. It's fine now so I would just close this. Welp


Add a Multi Type separated store

This adds a storage interface that allows to store name-value pairs associated to a particular "Separator". This separator can be anything of type T as defined by the implementations of this interface.
Note: This PR doesn't introduce a new concept. The interface introduced in this PR should be considered similar to Account Manager in Android (or our IAccountDataStorage) that allows to store name-value pairs separated per Account, or even IPerUidStorage where the separator is an int. This interface does the same thing, however, instead of separating per account, it allows to separate per anything of any type. (I basically just introduced a more generic version of something that already exists in our source code). Furthermore, internal storage mechanism here can also be backed by anything i.e. this interface can be implemented by SharedPreferences on Android or any other mechanism on any platform.
This PR also provides a default implementation where the separator is of type String and also allows the internal storage mechanism to be backed by anything as determined by Platform Components. Tests were also added for this new class.
Where are we using this storage?
We're going to be using it for FLW / Multiple WPJ Telemetry work where we need to store some telemetry and persist it on DISK and it needs to be associated to a String separator i.e. the tenant guid of the registration. For more info refer to this PR: https://github.com/AzureAD/ad-accounts-for-android/pull/1960
With that said, the interface added in this PR is generic and should be treated as such and we should leverage it whenever we need to store data by separation (which we do quite often).

Where are we going to use this storage?

Where are we going to use this storage? Basically, can you add Why do we need this change to the PR description.

Done. Read last paragraph of the PR Description.

I am not fully convinced that we need to make the storage too generic.
I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR,
StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR, StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I'm not sure I understand your comment. Can you elaborate?

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR, StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I'm not sure I understand your comment. Can you elaborate?

Basically, if I am implementing a String separated storage,
Where do I specify, where the data is going to be stored and what type of data is going to be stored in that.
Currently it is assuming that there is a PerTenantStorageCache where this data is getting stored, and also I can store any type of data to it (in KeyValue pair.. long, string etc...)

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR, StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I'm not sure I understand your comment. Can you elaborate?

Basically, if I am implementing a String separated storage, Where do I specify, where the data is going to be stored and what type of data is going to be stored in that. Currently it is assuming that there is a PerTenantStorageCache where this data is getting stored, and also I can store any type of data to it (in KeyValue pair.. long, string etc...)

So insteand of a String Separated store.. it is more like a tenant Id Separated store

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR, StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I'm not sure I understand your comment. Can you elaborate?

Basically, if I am implementing a String separated storage, Where do I specify, where the data is going to be stored and what type of data is going to be stored in that. Currently it is assuming that there is a PerTenantStorageCache where this data is getting stored, and also I can store any type of data to it (in KeyValue pair.. long, string etc...)

It is NOT assuming that is is tenant. I am using tenant for my purposes only. It is any arbitrary String. The storage interface doesn't care what the String separator actually means. (Just like when you create a HashMap of String keys and values in Java...the keys and values can be anything i.e. a tenant or something else...Java doesn't care)

Where do I specify, where the data is going to be stored and what type of data is going to be stored in that.
This is done through the Type parameter. Generics and Type Parameter is a fundamental concept in JAVA and we already use in a number of places.  I would highly recommend that you read up online on that. Here's some documentation I found quickly: https://www.geeksforgeeks.org/generics-in-java/#:~:text=Generics means parameterized types.,work with different data types.

I am not fully convinced that we need to make the storage too generic. I would prefer to use a specific IFlwTelemetryStorage interface. And in its implementation keep it tightly coupled with where and what type of data it is going to store.

IMHO, we need to move to make this things generic and give ourselves opportunity to re-use code as much as we can. I don't think we want to re-write this logic again a fourth time (this is the third time we have written something like this). Read PR description and I have given examples of other places where we added similar code in the past.

As an example, in your current PR, StringSeparatedMultiTypeNameValueStorage assumes that it is stored in sPerTenantStorageCache, which might not be true for all StringSeparatedMultiTypeNameValueStorage stroages that we want to use

I'm not sure I understand your comment. Can you elaborate?

Basically, if I am implementing a String separated storage, Where do I specify, where the data is going to be stored and what type of data is going to be stored in that. Currently it is assuming that there is a PerTenantStorageCache where this data is getting stored, and also I can store any type of data to it (in KeyValue pair.. long, string etc...)

It is NOT assuming that is is tenant. I am using tenant for my purposes only. It is any arbitrary String. The storage interface doesn't care what the String separator actually means. (Just like when you create a HashMap of String keys and values in Java...the keys and values can be anything i.e. a tenant or something else...Java doesn't care)

Where do I specify, where the data is going to be stored and what type of data is going to be stored in that.

This is done through the Type parameter. Generics and Type Parameter is a fundamental concept in JAVA and we already use in a number of places. I would highly recommend that you read up online on that. Here's some documentation I found quickly: https://www.geeksforgeeks.org/generics-in-java/#:~:text=Generics means parameterized types.,work with different data types.

I am approving the PR for now,
But would like for us to revisit this again later, to define the way we want to expose the storage in our code, having multiple ways to do the same thing can lead to confusions for the developers down the road, as-in which way to pick.


fix: javadoc fix

Using javadoc:aggregate and javadoc:javadoc commands on individual modules as a workaround for javadoc generation.

adding @dandhlee and @eaball35 as reviewers for their expertise :)

Adding @lqiu96, our new Java language owner!

Taking a look now. Was there a recent change that broke the DocFX tool/ javadoc pipeline or did we just notice that there was an error and it's been going on for a while?

Hi @prash-mi, I'm not too familiar with how this library works/ how it's set up. I need a bit more context seeing that I'm getting compilation errors when running mvn compile, but somehow mvn install works. I'm guessing there is sort of processing/ plugin action at work that helps resolve these compilation issues, but I'm not familiar with it.
The javadoc:aggregate job invokes mvn compile before running the job (https://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html). Unless we can fix the compilation errors when mvn compile is run, this seems less like a workaround and more like fix.

Hi @prash-mi, I'm not too familiar with how this library works/ how it's set up. I need a bit more context seeing that I'm getting compilation errors when running mvn compile, but somehow mvn install works (hbase-migration-tools and bigtable-hbase-1.x-parent modules give me the compilation issues). I'm guessing there is sort of processing/ plugin action at work that helps resolve these compilation issues, but I'm not familiar with it.
The javadoc:aggregate job invokes mvn compile before running the job (https://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html). Unless we can fix the compilation errors when mvn compile is run, this seems less like a workaround and more like a fix. I think unless there are doc issues, this could work to generate the docs instead of one javadoc:aggregate command.

@lqiu96 Thanks for taking a look. mvn compile has been breaking for this project for quite a while now. This is just a workaround solution which will help us get the javadoc how (though it wont be as good as using javadoc:agrregate for the entire project). I have captured this bug to track the compile issue https://github.com/googleapis/java-bigtable-hbase/issues/3843 and we can revert back these changes once it is fixed. Please let me know if these changes look good as a workaround?

Hi @prash-mi, I'm not too familiar with how this library works/ how it's set up. I need a bit more context seeing that I'm getting compilation errors when running mvn compile, but somehow mvn install works (hbase-migration-tools and bigtable-hbase-1.x-parent modules give me the compilation issues). I'm guessing there is sort of processing/ plugin action at work that helps resolve these compilation issues, but I'm not familiar with it.
The javadoc:aggregate job invokes mvn compile before running the job (https://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html). Unless we can fix the compilation errors when mvn compile is run, this seems less like a workaround and more like a fix. I think unless there are doc issues, this could work to generate the docs instead of one javadoc:aggregate command.

@lqiu96 Thanks for taking a look. mvn compile has been breaking for this project for quite a while now. This is just a workaround solution which will help us get the javadoc how (though it wont be as good as using javadoc:agrregate for the entire project). I have captured this bug to track the compile issue #3843 and we can revert back these changes once it is fixed. Please let me know if these changes look good as a workaround?

Ah I see, thanks for the context. I took another look at this and now I'm not certain this may work as I originally thought.
Assuming that you want all the modules to be bundled together as java-bigtable-hbase:
Iirc, each invocation would output the *.yml files at the listed output path: https://github.com/googleapis/java-shared-config/blob/a6db032d261ec1534e9b54a055adde1c7b3ebdd6/pom.xml#L699. Each invocation would generate the bundle of .yml files at each submodule's target/*. You could try to aggregate all the directories together and then upload them, but when I run this locally I see that each invocation generates its own toc.yml and overview.yml.  I believe it would end up creating 5 toc.yml and overview.yml files and you would have to deal with potentially merging the contents of these files.
Otherwise, I guess you could release 5 individual tarballs (one for each submodule):

bigtable-client-core-parent
bigtable-dataflow-parent
bigtable-hbase-2.x-parent
hbase-migration-tools
bigtable-hbase-1.x-parent

But, I don't think the second option this is what you want since they should all be together.
Let me do some more digging in a bit to see if there is another option, but running this locally gave me a few concerns. Thanks!

Hi @prash-mi, I'm not too familiar with how this library works/ how it's set up. I need a bit more context seeing that I'm getting compilation errors when running mvn compile, but somehow mvn install works (hbase-migration-tools and bigtable-hbase-1.x-parent modules give me the compilation issues). I'm guessing there is sort of processing/ plugin action at work that helps resolve these compilation issues, but I'm not familiar with it.
The javadoc:aggregate job invokes mvn compile before running the job (https://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html). Unless we can fix the compilation errors when mvn compile is run, this seems less like a workaround and more like a fix. I think unless there are doc issues, this could work to generate the docs instead of one javadoc:aggregate command.

@lqiu96 Thanks for taking a look. mvn compile has been breaking for this project for quite a while now. This is just a workaround solution which will help us get the javadoc how (though it wont be as good as using javadoc:agrregate for the entire project). I have captured this bug to track the compile issue #3843 and we can revert back these changes once it is fixed. Please let me know if these changes look good as a workaround?

Ah I see, thanks for the context. I took another look at this and now I'm not certain this may work as I originally thought.
Assuming that you want all the modules to be bundled together as java-bigtable-hbase: Iirc, each invocation would output the *.yml files at the listed output path: https://github.com/googleapis/java-shared-config/blob/a6db032d261ec1534e9b54a055adde1c7b3ebdd6/pom.xml#L699. Each invocation would generate the bundle of .yml files at each submodule's target/*. You could try to aggregate all the directories together and then upload them, but when I run this locally I see that each invocation generates its own toc.yml and overview.yml. I believe it would end up creating 5 toc.yml and overview.yml files and you would have to deal with potentially merging the contents of these files.
Otherwise, I guess you could release 5 individual tarballs (one for each submodule):

bigtable-client-core-parent
bigtable-dataflow-parent
bigtable-hbase-2.x-parent
hbase-migration-tools
bigtable-hbase-1.x-parent

But, I don't think the second option this is what you want since they should all be together.
Let me do some more digging in a bit to see if there is another option, but running this locally gave me a few concerns. Thanks!

Thanks @lqiu96 . Yes this is the problem we had anticipated with this workaround approach(that is having different table of content toc.yml and overview.yml for all of the mentioned submodules.). CC @kolea2
But we though of going ahead with this as we could not find a cleaner solution at the moment and this will help us get the latest javadoc published, though with different table-of-content for the mentioned submodules.
We should however be able to revert back to javadoc:aggregate when issue https://github.com/googleapis/java-bigtable-hbase/issues/3843 is addressed.
Please let us know if you find any other option we can try.
Thanks!

I've pulled down this branch locally and tried running the script. I've noticed some potential issues with how to bundle the *.yml files together.
Each invocation of javadoc:aggregate creates the bundle of *.yml files in {module}/target/docfx-yml. From the script, you would have three separate folders of {module}/target/docfx-yml:

bigtable-client-core-parent/target/docfx-yml (all java files in core-parent's submodules have a yml file in here)
bigtable-dataflow-parent/target/docfx-yml (all java files in dataflow-parent's submodules have a yml file in here)
bigtable-hbase-2.x-parent/target/docfx-yml (all java files in hbase-2.x-parent's submodules have a yml file in here)

Each invocation of javadoc:javadoc creates bundles of *yml files in each nested sub-module's target/docfx-yml and doesn't aggregate the sub-module's files together. For example, for hbase-migration-tools/, you have these directories created:
lawrenceqiu@lawrenceqiu:~/IdeaProjects/java-bigtable-hbase/hbase-migration-tools$ find . -type d -name 'docfx-yml'
./mirroring-client/bigtable-hbase-mirroring-client-core-parent/protobuf-java-format-shaded/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-core-parent/bigtable-hbase-mirroring-client-core/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-1.x-parent/bigtable-hbase-mirroring-client-1.x-hadoop/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-1.x-parent/bigtable-hbase-mirroring-client-1.x-shaded/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-1.x-parent/bigtable-hbase-mirroring-client-1.x/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-2.x-parent/bigtable-hbase-mirroring-client-2.x/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-2.x-parent/bigtable-hbase-mirroring-client-2.x-hadoop/target/docfx-yml
./mirroring-client/bigtable-hbase-mirroring-client-2.x-parent/bigtable-hbase-mirroring-client-2.x-shaded/target/docfx-yml
./bigtable-hbase-replication/bigtable-hbase-2.x-replication/target/docfx-yml
./bigtable-hbase-replication/bigtable-hbase-1.x-replication/target/docfx-yml
./bigtable-hbase-replication/bigtable-hbase-replication-core/target/docfx-yml

Each directory of docfx-yml has bundles of *.yml files, but they all pertain to hbase-migration-tools and are nested in each sub-module's target directory.

The root directory doesn't have target/docfx-yml since they only exist in each submodule (that's where you're running the javadoc goal): https://github.com/googleapis/java-bigtable-hbase/blob/8c28d4f82d8a413a9e7de5a8154e8515bfefc85a/.kokoro/release/publish_javadoc11.sh#L59

Would error out since it can't copy to a target/docfx-yml at the root.

This command to upload the files at the root directory would bundle up every single file (*.java, *pom.xml, *yml) together: https://github.com/googleapis/java-bigtable-hbase/blob/8c28d4f82d8a413a9e7de5a8154e8515bfefc85a/.kokoro/release/publish_javadoc11.sh#L77
I created a test by running this script locally and manually uploading the tarballs: gs://docs-staging-v2-dev/docfx-java-google-cloud-java-bigtable-hbase-100.0.tar.gz and it shows every file in the project in there.

What I meant above is that I believe you would need a way to merge all the docfx-yml directories together. This would also include merging all the overview.yml and toc.yml files. Then you can use the gcp-uploader tool to upload the files in a merged docfx-yml directory to the bucket.
I think merging the directories together may much work (and possibly error prone). Perhaps the best approach is to resolve the mvn compile issues? Let me know your thoughts/ concerns @prash-mi

Thanks @lqiu96 , it makes sense. merging all the docfx-yml directories could be tricky. Instead we are checking if it makes any sense to release the javadoc for just one of the key submodule (as this solves the merging issue) will make any sense for now. We can then revert back to using the conventional javadoc:aggregate when https://github.com/googleapis/java-bigtable-hbase/issues/3843 is addressed.
I am marking this PR as draft for now and will get back to you with further updates.


CounterLabel doesn't work for non-string children

Description
On the search results page (e.g.) we use the <CounterLabel> element, which is rendering "([object Object])":
 ([object Object])

Which is not great.
CounterLabel should render this correctly or be updated to only accept string children.
Steps to reproduce
We use CounterLabel like this
    <CounterLabel data-testid="resolved-count-label" sx={{height: 20, lineHeight: '20px', py: 0, px: 2}}>
      <Count isLowerBound={resultCountIsLowerBound} value={totalResults} />
    </CounterLabel>

But CounterLabel has code that renders this:
<VisuallyHidden> {`(${children})`}</VisuallyHidden>

Which doesn't work for children that aren't simple strings.
Version
35.18.0
Browser
Chrome, Safari, Firefox, Edge, iOS Safari

or be updated to only accept string children

Would number children be better in this case, to avoid arbitrary text that shouldn't be in a CounterLabel?

Hi @dwilsonactual 👋🏻 Thank you so much for reporting this issue and sorry for the inconvenience! The text around the {children} in
<VisuallyHidden> {`(${children})`}</VisuallyHidden>

is introduced to improve accessibility mainly for allowing screen readers to pause before reading the counter. However I just realised that we don't need to parse  the children as string to be able to achieve that.
<VisuallyHidden> ({children})</VisuallyHidden>

works just as good as the previous one. I tested with the screen reader. It just generates a different markup but I don't think it would be an issue - will double check with the #accessibility though


Resubmission for taskchain using unique memory value

It should have been fixed with the latest changes to wmstats resubmission, but I probably overlooked one place that still sends a Memory value to reqmgr2. IT could be that the task arguments were not taken into account for the ACDC, but then I'd expect the ACDC to run with 4 cores as well, but instead it has the proper cores settings
E.g. with the following workflow (4cores/4gb, 8cores/8gb and 1core/2gb)
https://cmsweb-testbed.cern.ch/reqmgr2/fetch?rid=amaltaro_TaskChain_RelVal_Multicore_HG1706c_Validation_170530_104756_668
and acdc (correct cores but always requesting 4gb)
https://cmsweb-testbed.cern.ch/reqmgr2/fetch?rid=amaltaro_ACDC2_HLTD_TaskChain_RelVal_Multicore_HG1706c_Validation_170608_101312_3924

The good news is that the problem is understood. When there is a Memory argument to the request, the Resubmission factory calls the memory setter method at workload level and set all tasks to the new value:
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WMSpec/StdSpecs/Resubmission.py#L42
The bad news is, I have no idea how to fix it and keep the flexibility of updating Memory settings :( Memory is always an argument of the Resubmission request, since we copy the original request spec into the new Resubmission one. Which means, there is no way to distinguish between a Memory user-provided or a Memory parent-provided argument.
@ticoann maybe you have a brilliant idea to fix it? Or we can chat over vidyo  too.


Add gesture convenience API for drawer view

Platform

[X] iOS
[ ] macOS

Describe the feature that you would like added
hmmmm... I think the client app shouldn't need to worry about this.
Isn't there a way to just attach the drawerController to a specific view/viewcontroller and let it read the gestures and take the appropriate actions?
Originally posted by @rdeassis in https://github.com/microsoft/fluentui-apple/pull/344#r547524809

The current DrawerController has a way to present itself through a gesture recognizer that is passed as a parameter from the host of the Drawer.
We should have a similar simple API that does not rely on the client app to have all the logic of presenting it.
Reference:
@objc private func handlePresentingPan(gesture: UIPanGestureRecognizer)


Create address returns "error", does not create new address (v.2.5.2)

Latest wallet (2.5.2) on Debian.
neo> create address returns an "error" string, no address is being created.
neo> create address 1 returns an "error" string, no address is being created.
neo> create address 3 returns an "error" string, no address is being created. Since nothing is being logged for this one, I am not sure what is causing it. Is there a debug mode?

Are you sure you have an open wallet before trying create address?
What Debian version are you using.

Tried reproducing it with Debian Stretch, dotnet 2.0 and neo-cli 2.5.2, and it works for me:
# dotnet neo-cli.dll
NEO-CLI Version: <IP_ADDRESS>

neo> create wallet test
password: ***
password: ***
address: AeptyfhH8kGCTupLgUSdee8P9X4VXrP1K9
pubkey: 03c3baa1d9b3dd6a0f088e58167d9f452c6bfadb631e76f371dfc2b50b360f03c3
neo> create address
[1/1]
export addresses to address.txt
neo>

Yes, the wallet is open. I just double checked.
Debian 8.9

I will compile the wallet to a debug-binary and report back. I don't work with .NET, but is there no other way to be able to implement a debug mode? Extended error messages could be helpful too.

You can build a debug client with this:
dotnet publish -c Debug

The error it returned was "error: Specified method is not supported.". The wallet is open and the commands I used were create address and create address 1. Both returned this error.
Could we not have a more explicit error feedback in this wallet? I think it would help me, others, and the developers to decrease the time spend on debugging and answering issues posted here on Github.
Eg. The program is actually explicit enough when I don't have my wallet open and I try to use the "create address" command. It states "Console.WriteLine("You have to open the wallet first.");", but if I check the source code for the OnCreateAddressCommand() method in the MainService class it returns the string "error" when the argument length is longer than 3. Should it not just tell me that I use a too high number and that it should have no more than 3 positions (or better: be lower than 999)?
In my case, for the create address command, the initial "error" did not tell my what went wrong. In the debug mode the error "Specified method is not supported" tells me a little more, but not why exactly it did not support this method, because the "help" function tells me I should use the command that way.
I'll fork the repository and help where I can, but I do not work with .NET or C# so you will have to check the pull request thoroughly.


Use Nlog with Xamarin.IOS

There is document about Xamarin.Android, https://github.com/NLog/NLog/wiki/Configuration-file#xamarin-assets
How about Xamarin.IOS? Where NLog will load NLog.config from?

if you can't configure a name (i'm not a Xamarin iOs Expert), you should use a programmatic configuration (e.g. in c#)

Where NLog will load NLog.config from, the app bundle or Environment.SpecialFolder.Personal?

@ForkBug Maybe just perform explicit loading of the nlog.config, instead of relying on the automatic loading. Then you don't need to guess.

Where NLog will load NLog.config from, the app bundle or Environment.SpecialFolder.Personal?

I think only the "current dir"
Anyway, you could check the paths NLog will try with
XmlLogging.ConfigurationGetCandidateConfigFilePaths().ToList()

Maybe that make things more clear.

I assume your question has been answered, if not, please let us know!


CSS: Add support for text-overflow property

This patch adds support for the text-overflow property.
All the neccessary plumbing throughout the CSS landscape is done and then the conditional display of ellipses (...) is implemented in TextNode.
Top: text-overflow: clip
Bottom: text-overflow: ellipsis

CI is currently failing on the getComputedStyle-print-all.html test. It looks like it just needs the text-overflow property to be added to the expectation file.

@AtkinsSJ what kind of test would you suggest?

I think a ref test would work, with the reference being the text manually truncated. Though... I don't think SerenitySans has the ellipsis character. 🤔
Actually, the truncated text might show up in the layout dump?

I'll check it out.
I guess it should be part of the layout dump as selecting an ellipsis should behave as though the clipped text was selected. We'll see, maybe it's a fixme...
Could also make a screenshot test

The truncated text is truncated in the Layout Tree, so Ive added a Layout Test.

@awesomekling i'll have a look on where to better put the logic

I have moved the code to the InlineFormattingContext, it seems a bit more at home there.

FYI, this causes these diags in serenity (I guess they're not enabled over here):
/home/runner/work/serenity/serenity/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp:351:59: error: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Werror=double-promotion]
  351 |                     auto max_text_width = available_width - ellipsis_width;
      |                                           ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/runner/work/serenity/serenity/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp:366:47: error: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Werror=double-promotion]
  366 |                         if (this_position.x() > max_text_width)
      |                             ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~