Dedicated Host Redeploy

Preconditions

[X] No need to upgrade Python SDK or the Python SDK is ready.

Related command
az vm host redeploy
Resource Provider
Microsoft.Compute
Description of Feature or Work Requested
We are looking to add CLI support for the new dedicated host redeploy operation in preparation for public preview.
Minimum API Version Required
2023-09-01
Swagger PR link / SDK link
Swagger PR: https://github.com/Azure/azure-rest-api-specs/pull/26427
SDK Release: https://github.com/Azure/azure-sdk-for-python/releases/tag/azure-mgmt-compute_30.4.0
Request Example
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-09-01/examples/dedicatedHostExamples/DedicatedHost_Redeploy.json
Target Date
2023-02-28
PM Contact
vakavuru
Engineer Contact
thomascoats
Additional context
No response

Thank you for opening this issue, we will look into it.

@thomascoats Thank you for submitting this feature request. We will plan to develop and release it in the next sprint. The release date is 03-05, do you think it is acceptable?

@zhoxing-ms We're targeting a February release, is there any way we could get it released in February?

@thomascoats We can provide you with a private package from edge build at the end of February and officially release it in 03-05. Do you think it's acceptable?

Hi @thomascoats,
when we develop this feature, an error is reported. It seems the feature need to be registered manually. Could you please help to register our subId for this feature (subId: 0b1f6471-1bf0-4dda-aec3-cb9272f09590)? Thanks!

Hi @thomascoats,
Could you please help look into this error? I thought maybe I lost some necessary steps before running "az vm host redeploy":

My reproduce steps are:

az vm host group create
az vm host create
az vm host redeploy

Thanks in advance.

Hi Yan,
Could you provide me with the subscription ID, resource group name, and host name you used?
Thanks,
Jacob
From: Yan Zhu @.>
Sent: Wednesday, February 7, 2024 1:08 AM
To: Azure/azure-cli @.>
Cc: Mention @.>; Author @.>; Comment @.***>
Subject: Re: [Azure/azure-cli] Dedicated Host Redeploy (Issue #28161)
Hi @thomascoatshttps://github.com/thomascoats,
Could you please help look into this error? I thought maybe I lost some necessary steps before running "az vm host redeploy":
image.png (view on web)https://github.com/Azure/azure-cli/assets/105691024/2c2bc9cf-e42c-4160-9750-33a206016131
My reproduce steps are:

az vm host group create
az vm host create
az vm host redeploy

Thanks in advance.

Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-cli/issues/28161#issuecomment-1931586671 or unsubscribehttps://github.com/notifications/unsubscribe-auth/A76QEYWEYLSL3SJ3VK4K6CDYSNAA5BFKMF2HI4TJMJ2XIZLTS6BKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVE2DCOBZGM3DQNZZURXGC3LFVFUGC427NRQWEZLMQKSXMYLMOVS2UMRTHE2TIOJTGY2DBJDOMFWWLKLIMFZV63DBMJSWZAVFOZQWY5LFVIZTONRTGQZTIOBUGSSG4YLNMWUWQYLTL5WGCYTFNSBKK5TBNR2WLKRUGM4TGOJWGEZTSONENZQW2ZNJNBQXGX3MMFRGK3FMON2WE2TFMN2F65DZOBS2YSLTON2WKQ3PNVWWK3TUUZ2G64DJMNZZNAVEOR4XAZNKOJSXA33TNF2G64TZUV3GC3DVMWUDKMJQGQYDQOBWQKSHI6LQMWSWS43TOVS2K5TBNR2WLKRSGA3TGMRZGE4DKOECUR2HS4DFUVWGCYTFNSSXMYLMOVS2SNBRHA4TGNRYG44YFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIZDGOJVGQ4TGNRUGCBKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGM3TMMZUGM2DQNBUQKSHI6LQMWSWYYLCMVWKK5TBNR2WLKRUGM4TGOJWGEZTSONHORZGSZ3HMVZKMY3SMVQXIZI.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi @thomascoats,
The resources are:

Subsription ID: 0b1f6471-1bf0-4dda-aec3-cb9272f09590
Resource Group: zytest
Host Group Name: zy-host-group
Host Name: zy-host

Thanks!

Hi Yan,
The issue is that ADH redeploy isn't enabled in WestUS. Redeploy is currently enabled in EastUS, NorthEurope, and KoreaCentral.
Thanks,
Jacob
From: Yan Zhu @.>
Sent: Wednesday, February 7, 2024 6:19 PM
To: Azure/azure-cli @.>
Cc: Mention @.>; Author @.>; Comment @.***>
Subject: Re: [Azure/azure-cli] Dedicated Host Redeploy (Issue #28161)
Hi @thomascoatshttps://github.com/thomascoats,
The resources are:

Subsription ID: 0b1f6471-1bf0-4dda-aec3-cb9272f09590
Resource Group: zytest
Host Group Name: zy-host-group
Host Name: zy-host

Thanks!

Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-cli/issues/28161#issuecomment-1933260473 or unsubscribehttps://github.com/notifications/unsubscribe-auth/A76QEYQIWBO5LYTUHBSLQT3YSQYZ5BFKMF2HI4TJMJ2XIZLTS6BKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVE2DCOBZGM3DQNZZURXGC3LFVFUGC427NRQWEZLMQKSXMYLMOVS2UMRTHE2TIOJTGY2DBJDOMFWWLKLIMFZV63DBMJSWZAVFOZQWY5LFVIZTONRTGQZTIOBUGSSG4YLNMWUWQYLTL5WGCYTFNSBKK5TBNR2WLKRUGM4TGOJWGEZTSONENZQW2ZNJNBQXGX3MMFRGK3FMON2WE2TFMN2F65DZOBS2YSLTON2WKQ3PNVWWK3TUUZ2G64DJMNZZNAVEOR4XAZNKOJSXA33TNF2G64TZUV3GC3DVMWUDKMJQGQYDQOBWQKSHI6LQMWSWS43TOVS2K5TBNR2WLKRSGA3TGMRZGE4DKOECUR2HS4DFUVWGCYTFNSSXMYLMOVS2SNBRHA4TGNRYG44YFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIZDGOJVGQ4TGNRUGCBKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGM3TMMZUGM2DQNBUQKSHI6LQMWSWYYLCMVWKK5TBNR2WLKRUGM4TGOJWGEZTSONHORZGSZ3HMVZKMY3SMVQXIZI.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi @thomascoats
It seems that our subID is not registered for this feature

Could you please help to register our subID? Thanks!
0b1f6471-1bf0-4dda-aec3-cb9272f09590

Hi, sorry I missed this. I'll have your sub whitelisted by tomorrow.

Hi @yanzhudd your subscription is whitelisted


Add rollup storage

This is the basic implementation of https://github.com/soonlabs/igloo/issues/8

LGTM


sealed-secrets-operator-helm is deprecated maybe remove from OperatorHub?

The sealed-secrets-operator-helm is deprecated, maybe it should be removed from the OperatorHub?

@3deep5me Feel free to remove directory


Update dockerfile

This PR is part of series to offer single ocrd modules as Docker Containers (ocrd slim containers) to be used with ocr-d network.
The Dockerfile works for me when I skip the tests. They don't work because the used resources are no longer available. Maybe that can easily be fixed, but I would leave that for later.
Previously I was not sure if the Dockerfile is up to date and indeed intended for ocrd or maybe for other purposes. That why I just replaced it (with just installing the python stuff like in the other PR) and didn't care to debug.
So thank you for your previous comments.

Could you please rebase on https://github.com/bertsky/ocrd_cis/tree/fix-alpha-shape (because that's the branch currently in ocrd_all, so you would have far fewer commits here)?


Plugin doesn't work when variable and type are named exactly the same.

Hello,
This code snippet gives the expected output:
import { number, object, string, TypeOf, unknown } from "zod";

export const foo = object({
  a: string(),
  b: number(),
  c: unknown()
});

// I didn't know TypeOf would work but they are apparently the same. (I prefer TypeOf over infer because I use the named imports).
export type Foo = TypeOf<typeof foo>;

However, when naming the variable and type exactly the same, like so:
import { number, object, string, TypeOf, unknown } from "zod";

export const Foo = object({
  a: string(),
  b: number(),
  c: unknown()
});

export type Foo = TypeOf<typeof Foo>;

The output is different.

 TypeDoc also has some issues with reflections which share the same name, hopefully this can be fixed without needing to fix those...


Support utf-8 in html

This is a quick fix to support utf-8 encoding in html.

I'm sorry for the incredibly long delay in replying in responding to you but life sometimes gets in the way of OSS development. I thank you for your patience and, although I'm closing this PR out, I hope you'll be glad to know that this feature has gone in with today's 0.6.0 release.
Please let me know if you have any issues with it and I hope you can understand my delay.


speech recognition training time

I am using 4 GPUs (tesla v100-sxm2-32gb). Except changing the number of gpus, I just used the example configuration files, so all other parameters are the same as original. For ds2_large_mp, Jasper_10x3_mp, and w2l_plus_large_mp, the "time per step" are all around 1~2 second. Is that expected?

Do you use NVIDIA container?

Yes, I used version 18.12

Can you attach a complete log file for Jasper, please?

I am generating it ... BTW, I changed the greedy decoder to be a beam search decoder but with beam size 1. I think that is equivalent so would not change the speed. That is the only change in the code:
The code that I modified is in the fc_decoders.py (starting line 240):
else:
def decode_without_lm(logits, decoder_input, merge_repeated=True):
if logits.dtype.base_dtype != tf.float32:
logits = tf.cast(logits, tf.float32)
# decoded, neg_sum_logits = tf.nn.ctc_greedy_decoder(
# logits, decoder_input['encoder_output']['src_length'],
# merge_repeated,
# )
decoded, neg_sum_logits = tf.nn.ctc_beam_search_decoder(
logits, decoder_input['encoder_output']['src_length'],
self.params['beam_width'], 1, merge_repeated=False,
)
return decoded
and in configuration file, in base_params I set
"decoder_params": {
# params for decoding the sequence with language model
"beam_width": 1,

This is what was printed so far. It then waits a while to produce validation WER. I will add more output if needed. Thanks a lot.
jasper_logs.txt

Can you re-run with few changes please:
'num_gpus': 1,
'save_checkpoint_steps': 10000,
'eval_steps': 10000,

Sure, now I got:
jasper_logs_1gpu.txt

Just found that our GPUs and programs/dataset are not in the same physical area such that data loading/access time is probably long due to the long distance connection. I will check again after moving my programs/dataset to the same location where we have GPUs.

I have moved my programs and data to the same location with GPUs. But the speed does not change much. Still around 1~2 second for "time per step" for Jasper 10x3. That translate to around 20 epochs per day.
For Jasper 5x3 (by keeping one block for each of B1 to B5), with same batch size per GPU and total 4 GPUs, time per step is about 0.8 sec.
I recall that for DS2 small model, it is said to train for 1 day with 1 GPU 12GB memory. That is for 12 epochs, and it only uses librivox-train-clean-100 and librivox-train-clean-360.
So it looks the speed on Jasper 10x3 is still expected?


Jobs stuck

I've got a couple of jobs in the Archive Warrior that are stuck.
The first line 1410/1067 is as far back as I can go and every line between that and the last line is the same.
#67840
1410=204 http://tv.rambler.ru/images/logo_1_19068.gif.
1907=204 http://tv.rambler.ru/images/logo_1_19068.gif.
Elapsed: 07h 26m 26s
#171775
1067=200 http://pirat.co/.
1565=200 http://pirat.co/.
Elapsed: 01h 04m 28s
I have three other jobs downloading ok and one uploading ok.
Just seems like it should kill these stuck jobs?

This was fixed with commit ff2aba009ca881f40243654c93703d24d399b78d


Cover tilt open and close service on somfy component leads to always closed covers

The problem

Somfy component assumes that the cover tilt is "open" when the orientation is 0 and "closed" when it is 100. However Raffstores with tilt function -90°/+90° are open at something like 50 and closed at either 0 or 100.

    @property
    def current_cover_tilt_position(self):
        """Return current position of cover tilt.
        None is unknown, 0 is closed, 100 is fully open.
        """
        orientation = None
        if self.has_capability("rotation"):
            orientation = 100 - self.cover.orientation
        return orientation

    def set_cover_tilt_position(self, **kwargs):
        """Move the cover tilt to a specific position."""
        self.cover.orientation = 100 - kwargs[ATTR_TILT_POSITION]

    def open_cover_tilt(self, **kwargs):
        """Open the cover tilt."""
        self.cover.orientation = 0

    def close_cover_tilt(self, **kwargs):
        """Close the cover tilt."""
        self.cover.orientation = 100

Environment

Home Assistant release with the issue: all
Last working Home Assistant release (if known): none
Operating environment (Hass.io/Docker/Windows/etc.): Hass.io on Docker on Raspberry Pi 4
Integration causing this issue: Somfy
Link to integration documentation on our website:
https://www.home-assistant.io/integrations/somfy
https://www.home-assistant.io/integrations/alexa
https://www.home-assistant.io/integrations/cover

Problem-relevant configuration.yaml

somfy:
  client_id: !secret somfy_CONSUMER_KEY
  client_secret: !secret somfy_CONSUMER_SECRET

Traceback/Error logs

Additional information
It would be better to have the possibility to configure the open and close orientation of covers with tilt function or at least have the posibility to specify the kind of Raffstore 0°/+90° or -90°/+90°.

Hi, that's an interesting use case. So just to be sure, you don't have any issue with the slider (you know that 50 is fully open, and you know that left or more will close the raffstore).
You are just annoy by the fact that the service open does not do what you expect.
I'm right?

Hi, yes you're right. Actually I contol most of my devices with Alexa, however it is very annoying to adjust the tilt with Alexa. Giving Alexa a specific value for tilt, she don't understand me always and asks always which setting I want to adjust, even though I already mentioned that setting in my command. @ochlocracy has integrated two actions using Alexa sematic for commands to open and close the covers which return 0 or 100 if called, see source below. However the Alexa handler checks the return value for 0 and 100 and calls the services "SERVICE_CLOSE_COVER_TILT" and "SERVICE_OPEN_COVER_TILT".
Actuall I don't even know if it is the best to solve this issue on somfy component or cover component or Alexa component, because setting manually values like 90 which are close to 100 should be nearly open would, but would result in nearly closed sliders.
https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/alexa/handlers.py:
    # Cover Tilt
    elif instance == f"{cover.DOMAIN}.tilt":
        range_value = int(range_value)
        if range_value == 0:
            service = cover.SERVICE_CLOSE_COVER_TILT
        elif range_value == 100:
            service = cover.SERVICE_OPEN_COVER_TILT
        else:
            service = cover.SERVICE_SET_COVER_TILT_POSITION
            data[cover.ATTR_TILT_POSITION] = range_value

https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/alexa/capabilities.py
        # Cover Tilt
        if self.instance == f"{cover.DOMAIN}.tilt":
            self._semantics = AlexaSemantics()
            self._semantics.add_action_to_directive(
                [AlexaSemantics.ACTION_CLOSE], "SetRangeValue", {"rangeValue": 0}
            )
            self._semantics.add_action_to_directive(
                [AlexaSemantics.ACTION_OPEN], "SetRangeValue", {"rangeValue": 100}
            )
            self._semantics.add_states_to_value([AlexaSemantics.STATES_CLOSED], value=0)
            self._semantics.add_states_to_range(
                [AlexaSemantics.STATES_OPEN], min_value=1, max_value=100
            )
            return self._semantics.serialize_semantics()

        return None

I think  your issue is indeed more related to the cover component than the Somfy integration. Try to sum up what you want in HA, and how you want to see it.
About Alexa, I suggest you to create several scripts  where you close or open your devices. Then expose these scripts to Alexa, it will be a workaround.

@tetienne Since you're more familiar with covers. Are there any covers that would support tilt function, where the range -90*/+90* does not make sense? If so, what SUPPORT_* feature could be added to determine the range for cover tilt?

Honestly, I have no idea. When I developed the Somfy component, I asked help from some guys to know the behavior of the tilt position. They didn't give any feedback as the case described here.

@pawlizio Did you try to change the class of your entity? In the documentation, several classes are described: https://www.home-assistant.io/integrations/cover. Perhaps they have an impact on the behavior.

@tetienne The class has only impacts on the way the covers are displayed in the frontend. I have no problems with the frontend, however I prefer the control via voice recognition.

I managed a workaround by setting up a template cover which does support only position and I could use them quite well with Alexa. I use a script to use the position setting of the template cover to set the tilt position of my physical covers.


Simplified PolyAnnotator

Simplifies PolyAnnotator by removing complex syncing logic and instead using a shared_datasource in the form of a geopandas dataframe. The PointAnnotator and PolyAnnotator are now much more similar to each other and we can start building more complex things on top of the annotator classes.

Going to merge this since tests are now passing (I haven't been able to restart the appveyor tests).


Improve FORWARD SECRECY

The creation of TLS session tickets is today supposing a big security risk, for that reason to improve Perfect Forward Secrecy is recommended to disable SSL session tickets. For that reason I'll recommend to add (Maybe as an alternative) the flag no-tls-tickets (Alongside the no-sslv3) in all the places where you have ssl configs.
You can find a simple explanation here

@christopherclark Is it possible to disable the above bot integration, since we don't have a tracker project for this repo?

@lcacciagioni I'm in favor of this, but probably won't be able to dedicate time to it for a little bit. If you need this sooner, feel free to submit a PR adding support for this (configurable, but defaulting to enabled would be awesome).
Thanks!

Sure I'll take a look tonight and add it. BTW PR from fork or branch? Because I don't see any guidelines on how to contribute.
Thanks!

Probably a fork, unless you're a member of the cloudfoundry-incubator org. You'll also need to sign the CloudFoundry Org's CLA, but there should be a bot for helping you out with that (if you haven't already), when you submit the PR.

On Apr 11, 2017, at 11:02 AM, Leandro David Cacciagioni<EMAIL_ADDRESS>wrote:
Sure I'll take a look tonight and add it. BTW PR from fork or branch? Because I don't see any guidelines on how to contribute.
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/cloudfoundry-incubator/haproxy-boshrelease/issues/48#issuecomment-293292005, or mute the thread https://github.com/notifications/unsubscribe-auth/AG2SUgdu665WL6h8NCprXlQzV9C4HEZWks5ru5XygaJpZM4M5VXR.


Error generating Project

on MacOs
using all the default values

traefik_constraint_tag_staging [stag.base-project.com]:
traefik_public_constraint_tag [traefik-public]:
flower_auth [admin:changethis]:
sentry_dsn []:
docker_image_prefix []:
docker_image_backend [backend]:
docker_image_celeryworker [celeryworker]:
docker_image_frontend [frontend]:
File "/var/folders/w7/6vhbg9hs66nfdn37x62bb4vm0000gn/T/tmpFWZnq7.py", line 4
    path: Path
        ^
SyntaxError: invalid syntax
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

Project is not generated.

The same thing (on Ubuntu 18.04 if it's nesessary)

docker_image_frontend [frontend]:
File "/tmp/tmpSmDZFl.py", line 4
path: Path
^
SyntaxError: invalid syntax
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

(ubuntu 18.04, python 3.6.9, Cookiecutter 1.6.0, Python 2.7.17) I've faced the same issue.
the hook is for replacing the end of lines in all .sh scripts. So I just removed this part code
~/.cookiecutters/full-stack-fastapi-postgresql/hooks/post_gen_project.py
It appears after this step is  reached:  docker_image_celeryworker [celeryworker]:
I hope it will help.

Same issue, installed cookiecutter using sudo apt install cookiecutter, because the pip versions didn't seem to install executables. It's probably out of date.

Same issue on OS X, all packages updated but doesn't work :(

All this project uses and depends on Python 3.6. You should probably install cookiecutter with your Python 3.6.
Maybe something like this:
$ python3.6 -m pip install cookiecutter

Or even better, with pipx to make sure you have your an independent environment for it: https://github.com/pipxproject/pipx
If you need to learn more about environments, check this: https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/


solve compatibility issue for ubuntu 16.04

Ubuntu 16.04 LTS has update default gcc to 5.3 and string.h as well, even we install a gcc-4.9,
we will get a bug like
usr/include/string.h: In function 'void* __mempcpy_inline(void*, const void*, size_t)':
/usr/include/string.h:652:42: error: 'memcpy' was not declared in this scope
     return (char *) memcpy (__dest, __src, __n) + __n;

this bus is described in https://github.com/tensorflow/tensorflow/issues/1346
and can be solved by
insert cxx_flag: "-D_FORCE_INLINES" into tensorflow/third_party/gpus/crosstool/CROSSTOOL

Can one of the admins verify this patch?

I've confirmed this commit solved my same issue. :-)

This change has more impact that this issue alone. So I would like to find out whether there is another way.

Is aggregate_ops_gpu.cu.cc the only *.cu.cc translation unit that has this problem? You can continue to build with "-k".
Could you list the header file inclusion order from aggregate_ops_gpu.cu.cc to the offending header file on your system? We should check whether all of them are necessary.

I can confirm that the problem is not confined to aggregate_ops_gpu.cu.cc. On my home Ubuntu 16.04 machine, if I
bazel build -k -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
I get ~190 instances of the same error (presumably that's almost all of the CUDA code).
The suggested fix works for me.

@zheng-xq @fayeshine any updates?

friendly ping for updates?

@vrv @zheng-xq sorry for the late reply, I'm sorry that I don't have enough to further work on this problem. This will touch too much fundamental code in c++ and cuda. If someone can help this, welcome.

Have we changed this recently? I have just build "bazel test //tensrflow/..." without any error on 16.04...
I will setup CI build for it tomorrow then we will know for sure :)

@jendap what if you dobazel test --config=cuda

@zheng-xq: apparently discussion on https://github.com/torch/torch7/issues/670 suggests that others have

added this flag FORCE_INLINES

Suggested people move to cuda 8.0 RC which apparently fixes the problem.

#2 seems to be good path right now.

ok, closing, since it sounds like a cuda / nvidia problem that has a workaround (upgrade), and we'd rather not add the large hammer of FORCE_INLINES in our entire build

It's the right way to fix it


Dev 0.5.3

Codecov Report

Merging #52 (3fac972) into master (63a00a5) will decrease coverage by 0.15%.
The diff coverage is 66.66%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master      #52      +/-   ##
==========================================
- Coverage   94.59%   94.44%   -0.15%
==========================================
  Files          15       14       -1
  Lines        1720     1692      -28
==========================================
- Hits         1627     1598      -29
- Misses         93       94       +1

Impacted Files
Coverage Δ

src/ModelBaseEcon.jl
100.00% <ø> (ø)

src/export_model.jl
93.00% <66.66%> (-0.88%)
:arrow_down:

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


Draft: Updated BattINFO to import EMMO 1.0.0-beta3

Importing pre-inferred version of EMMO 1.0.0-beta3 and fixed a few dangling references.
The update went much smoother than expected :-)
We still need to do a critical review of subclasses and relations and check if should be updated according to the changes in EMMO.

Another change  in EMMO is that all hasPhysicalDimension annotations for physical properties have been changed to relations. We should change this for all PhysicalQuantities in BattINFO too. That would be some trivial, but tedious work...

I fixed some errors with prefLabel and started the work with hasPhysicalDimension. Where the Quantity is subclassed of something that already is subclassed as "hasPhysicalDimension some XxxDimension" this is easy. We might have to add some dimensions that are not there already though.
Also emmocheck fails on hasPhysicalDimension (obvisously). The new conventino has to be implemented in emmocheck. I suggest removing this check here for now.


Extend new live map logic to 911 calls

Describe the feature
As discussed in Discord, currently the CAD processes a players in game position and determines a map position.
This logic would be useful to extend to 911 calls if a in game location is passed eg. Coordinates. This would allow for accuracy when displaying the call on the map and also allow for moving targets such as fleeing suspects or pursuits to be monitored by control.
Additional Context
No response

Now supported!


nikd01-sp

The basic set up of the StudySync application using Laravel Breeze + Inertia React.
For the start, I have implemented the Welcome page and MVC for the University.

The web application is available online:
https://study-sync.app/


New-BtP

Successful usage of button based toast. However, when trying to use the new-BtProgressbar I'm not getting it to show up. I did have it show up in the past but at this time I can't get it to show.
New-BTProgressBar -Status 'Running'  -Value ([double]$PercentDone) -ValueDisplay ("$counter of $TotalToProcess done") -Title "Task: Startup Apps - Loading $($a.ExeToLaunchWith)"

Example script to demo
$verbosepreference = 'continue'
$debugpreference = 'continue'

Import-Module -name BurntToast -DisableNameChecking

[double]$PercentDone = 0
[double]$TotalToProcess = 10
for ([double]$x = 0; $x -lt 100; $x++) {
    write-debug "Loop: $x"
    New-BTProgressBar -Status 'Running'  -Value ([double]$x/100) -ValueDisplay ("$x of $TotalToProcess done") -Title "Test Title" -Verbose

}

Output on console shows only
Microsoft.Toolkit.Uwp.Notifications.BindableString Microsoft.Toolkit.Uwp.Notifications.BindableProgressBarValue

No progress dialogue is shown.
Any ideas?

The New-BTProgressBar function is creating an object which you can later use as an input to a Toast notification. It looks like what you're seeing there is the "ToString" output of those objects.
It looks like what you may be looking for is the built in Write-Progress?
Otherwise, best thing to do is pop that BTProgressBar into a variable, then fire off a new Toast notification:
for ([double]$x = 0; $x -lt 100; $x++) {
    write-debug "Loop: $x"
    $Prog = New-BTProgressBar -Status 'Running'  -Value ([double]$x/100) -ValueDisplay ("$x of $TotalToProcess done") -Title "Test Title" -Verbose
    New-BurntToastNotification -ProgressBar $Prog -UniqueIdentifier 'TestLoop' -Text 'Test loop'
    Start-Sleep -Seconds 1
}

Of note here, the UniqueIdentifier tells Windows to replace the previous Toast(s) with that string attached (i.e. so that you can update the progress on the bar). I've also got a sleep in there, as if they all end up coming through at what is effectively the same moment in time, Windows will just hide them away in the Action Center.
If you run that you'll very quickly notice that you probably shouldn't show a new toast for every single percentage increase... as it triggers a full on toast every single time (complete with animation and sound.)
Hope all of that made sense; no morning coffee yet.

that makes perfect sense. I didn't see any example of that usage in the
built in help, so now I understand how to properly use. Thank you!
On Tue, Jul 11, 2017, 3:15 PM Joshua King<EMAIL_ADDRESS>wrote:

The New-BTProgressBar function is creating an object which you can later
use as an input to a Toast notification. It looks like what you're seeing
there is the "ToString" output of those objects.
It looks like what you may be looking for is the built in Write-Progress?
Otherwise, best thing to do is pop that BTProgressBar into a variable,
then fire off a new Toast notification:
for ([double]$x = 0; $x -lt 100; $x++) {
write-debug "Loop: $x"
$Prog = New-BTProgressBar -Status 'Running'  -Value ([double]$x/100) -ValueDisplay ("$x of $TotalToProcess done") -Title "Test Title" -Verbose
New-BurntToastNotification -ProgressBar $Prog -UniqueIdentifier 'TestLoop' -Text 'Test loop'
Start-Sleep -Seconds 1
}
Of note here, the UniqueIdentifier tells Windows to replace the previous
Toast(s) with that string attached (i.e. so that you can update the
progress on the bar). I've also got a sleep in there, as if they all end up
coming through at what is effectively the same moment in time, Windows will
just hide them away in the Action Center.
If you run that you'll very quickly notice that you probably shouldn't
show a new toast for every single percentage increase... as it triggers a
full on toast every single time (complete with animation and sound.)
Hope all of that made sense; no morning coffee yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Windos/BurntToast/issues/17#issuecomment-314558709,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADXOsBApeXxF8HTUKcXrrOJ32CPz4SfSks5sM9f1gaJpZM4OUYIT
.

Ahh, my apologies. I put the "full" example for them in an help for New-BurntToastNotification... definitely need to change that.
Thanks for opening an issue, btw, it really helps me get a glimpse of what people are using this for and changes/tweaks that need to be made.

I'm likely restating some of the obvious, but when running the code snippet provided in this thread it does pop an entirely new toast notification every time. It updates the progress bar, but it makes the notification pop in and out every time the progress bar is updated since it is redrawing the whole thing as a brand new notification every time.. Any way to make it be a smoother experience where the notification stays present and active and only the progress bar changes?

Hey @jeremytbrun! Good question, I don't think I I'd documented this anywhere (and it'd slipped my mind to look into again.)
Behind the scenes there are two options, replace and update.
Replace is what's currently being used, and as you've seen it redraws and displays the toast everyone.
Update would be the smoother experience, as it doesn't redraw (eg if the toast is in the action center it'll be quietly updated with the new info without retoasting the user)
Unfortunately update wasn't working back when this was released. My hope is when I finally get the next release of this out there it'll be working...
I personally want to be providing more frequent update toasts, so I have up to date info if I happen to check the action center. And maybe do a replace toast at 50% and 100%.

Just about to click go on v0.7.0.
Updatable toasts are in, expect a blog post over on https://toastit.dev in the next day or so.
Help still needs work, and that will be the focus of v0.7.1


pom.xml: add property project.systemvm.template.location

Description
This PR...

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@weizhouapache a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6366

@blueorangutan test matrix

@weizhouapache a [SF] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-6904)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38825 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6904-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

[SF] Trillian test result (tid-6906)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45537 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6906-kvm-centos7.zip
Smoke tests completed. 107 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_migrate_VM_and_root_volume
Error
77.86
test_vm_life_cycle.py

test_02_migrate_VM_with_two_data_disks
Error
52.51
test_vm_life_cycle.py

[SF] Trillian test result (tid-6905)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 52005 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6905-vmware-67u3.zip
Smoke tests completed. 106 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_deploy_vm_on_specific_host
Error
14.57
test_vm_deployment_planner.py

test_02_deploy_vm_on_specific_cluster
Error
3603.19
test_vm_deployment_planner.py

test_03_deploy_vm_on_specific_pod
Error
1.31
test_vm_deployment_planner.py

test_04_deploy_vm_on_host_override_pod_and_cluster
Error
2.34
test_vm_deployment_planner.py

test_05_deploy_vm_on_cluster_override_pod
Error
2.34
test_vm_deployment_planner.py

test_09_expunge_vm
Failure
425.69
test_vm_life_cycle.py

@blueorangutan package

@weizhouapache a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6373

@blueorangutan test matrix

@weizhouapache a [SF] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-6915)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40247 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6915-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

[SF] Trillian test result (tid-6917)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40501 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6917-kvm-centos7.zip
Smoke tests completed. 107 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_migrate_VM_and_root_volume
Error
77.70
test_vm_life_cycle.py

test_02_migrate_VM_with_two_data_disks
Error
52.34
test_vm_life_cycle.py

[SF] Trillian test result (tid-6916)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 44934 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t6916-vmware-67u3.zip
Smoke tests completed. 107 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_13_migrate_volume_and_change_offering
Error
16.70
test_volumes.py

ContextSuite context=TestVolumes>:teardown
Error
24.62
test_volumes.py

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6553

@blueorangutan test matrix

@weizhouapache a [SF] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7154)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39425 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7706-t7154-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@rohityadavcloud
can you review this ?


Fixing warnings and a bug

This should fix:

several minor compilation warnings (e.g., unused/uninitialized variables),
an npm warning coming from an incorrect license format in package.json,
a bug from PR #53 (the sample rate is an integer, not a boolean...)

Thanks!


Improve tests

Change unit tests to call the test executable in <project_root>/.build instead of the one generated by Xcode. Add more tests to test executable to cover more code.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #20   +/-   ##
=======================================
  Coverage   65.18%   65.18%
=======================================
  Files           4        4
  Lines         247      247
=======================================
  Hits          161      161
  Misses         86       86

Flag
Coverage Δ

#Configuration
65.18% <ø> (ø)
:arrow_up:

#TestProgram
65.18% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


support tag sealer image with id.

Issue Description
Type: feature request
sealer can support tag image with image name at present, but tagging image with image id is also useful probably.
Describe what feature you want
sealer tag (image id) target-name
Additional context
Add any other context or screenshots about the feature request here.

I can do it


How to Mass Process More Photos at Once?

hi sir
your model is so amazing!
but i have many photos to process
can you add batch processing function?
I am a beginner and will not change the code
thanks

Sorry, but for now you have to do it manual. If you familar with python you can use a for-loop for handling many Images

Sorry, but for now you have to do it manual. If you familar with python you can use a for-loop for handling many Images

can you give me a hint?


Fix incorrectly formated URLs in markdown

Missed these in a previous fix. Also have a PR in the upstream Kubernetes repo where this is imported from. (https://github.com/kubernetes/kubernetes/pull/62294) This PR is to fix the broken URLs in the live document.

/approve
/assign @Bradamant3
@Bradamant3 would you take a quick look and drop an /lgtm on here if it's good with you?

/assign

@Bradamant3 Could you take a quick look? Thanks.

Could you approve this? @heckj @Bradamant3
Thanks.

/lgtm


hal_silabs: Add support for librail for 1x devices

Update hal_silabs to support the use of librail for efr32xg1x devices.

ref: https://github.com/zephyrproject-rtos/hal_silabs/pull/35

Hi, thanks for this PR. It looks like:

you need to create "binary blobs integration" issue using the template from here: https://github.com/zephyrproject-rtos/zephyr/issues/new/choose
no zephyr platform uses these blobs right now (no bluetooth changes etc.)?

@fkokosinski Thanks, the issue is here: #61109
I'm using RAIL without BT, so I haven't added it (I don't have a way to test it). I can add it if someone is willing to test it, or it can be added later.

@fkokosinski Thanks, the issue is here: #61109

Thanks!

I'm using RAIL without BT, so I haven't added it (I don't have a way to test it). I can add it if someone is willing to test it, or it can be added later.

What about CONFIG_SOC_GECKO_USE_RAIL? Do you not need to set it?

What about CONFIG_SOC_GECKO_USE_RAIL? Do you not need to set it?

Yes, I do it in my prj.conf.
Also, two questions:

I see that the SDK already has a 4.3 version, is there any reason not to use it?
Currently the URLs in module.yml reference a branch and not a commit/tag. Wouldn't that be a problem if a newer version is pushed to that branch by Silabs?

What about CONFIG_SOC_GECKO_USE_RAIL? Do you not need to set it?

Yes, I do it in my prj.conf. Also, two questions:
1. I see that the SDK already has a 4.3 version, is there any reason not to use it?

Not really. It just that newer blobs weren't tested with the BT driver.

2. Currently the URLs in `module.yml` reference a branch and not a commit/tag. Wouldn't that be a problem if a newer version is pushed to that branch by Silabs?

Good catch. We have SHAs of those blobs, so we can identify them, but indeed - it would be a if SiLabs were to push a newer version to that branch. Let's change URLs to point to tags instead.

Update: fixed FPU issue for series 1 devices and found out that pinctrl was not implemented for most of them. I've added an implementation for EFR32FG13P (BRD4255A which is what I have).

Hi @yonsch! I've merged https://github.com/zephyrproject-rtos/hal_silabs/pull/35. Please update the HAL revision that this PR points to to the newest one. Thanks!

hey @yonsch looks like this broke some boards:
$ west build -p -b efm32wg_stk3800 samples/basic/blinky
...
CMake Error at /usr/local/google/home/fabiobaltieri/zephyrproject/modules/hal/silabs/gecko/CMakeLists.txt:54 (message):
  Unknown gecko series type.  Is CONFIG_SOC_GECKO_SERIES1/2 set?

could you take a look?


Add full REST support

Fixes #213.
Fixes #214.
This PR adds a new top level flag (--enablerest) or config item (enablerest=true) that enables REST calls to be made to the main HTTP(S) listener.
With this the main HTTP(S) listener can now handle native gRPC, grpc-web, REST and static file requests for all daemons (lnd, faraday, loop, pool) independent of whether they run in integrated or remote mode.
Lightning Terminal becomes the ultimate lnd&friends reverse proxy.

@jamaljsr I've addressed this in https://github.com/lightninglabs/pool/pull/253. I don't want to pull in the current master branch of Pool yet, we should be able to tag a proper version soon. So this will automatically fix itself once we update all daemons to the latest tagged version.
I did a quick check that there are no other collisions. Almost everything in Loop and Faraday is prefixed so more collisions should also be unlikely in the future. The three things in Loop that aren't prefixed (/v1/lsat/, /v1/liquidity/ and /v1/auto/) hopefully won't collide with anything we build in lnd or Pool.


Feature Request: add volume.fix.replication arguments

Hi Chris,
because when running volume.fix.replication all missing volumes are been copied (multi TB operation usually)
really can't run it on a cronjob, immediately as one volume server is down, we start copying all data to other volume servers
can we at least add a -collection parameter so we can choose which collection MUST be always replicated, same as in volume.balance
nice to have: -collectionRegEx so we can use regEx to match multiple collections.
Regards.

Hi Chris,
seems there is an error when limiting the collections:
created 3 vol servers and 9 collections, workshop_1 -> workshop_9
I had stopped the third vol server
and tried running volume.fix.replication -> all ok, returned the third vol server and did volume.fix.replication, all good and fixed, (by the way it does ALL the volumes in one go, not 1 volume per run)
but when I run it again but using:
volume.fix.replication -collectionPattern *7
to fix only workshop_7 collection, it did fix that collection but printed error on all else...
output:
> volume.fix.replication -collectionPattern *7 failed to place volume 18 replica as 001, existing:1 failed to place volume 22 replica as 001, existing:1 failed to place volume 25 replica as 001, existing:1 failed to place volume 3 replica as 001, existing:1 failed to place volume 6 replica as 001, existing:1 replicating volume 21 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... failed to place volume 23 replica as 001, existing:1 failed to place volume 29 replica as 001, existing:1 failed to place volume 15 replica as 001, existing:1 failed to place volume 5 replica as 001, existing:1 failed to place volume 7 replica as 001, existing:1 failed to place volume 13 replica as 001, existing:1 replicating volume 19 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... failed to place volume 12 replica as 001, existing:1 failed to place volume 10 replica as 001, existing:1 failed to place volume 1 replica as 001, existing:1 failed to place volume 8 replica as 001, existing:1 failed to place volume 27 replica as 001, existing:1 failed to place volume 17 replica as 001, existing:1
and on a volume.fix.replication without the new argument:
> volume.fix.replication replicating volume 3 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 15 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 27 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 19 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 29 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 5 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 7 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 18 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 1 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 25 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 22 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 21 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 12 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 23 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 28 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 8 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 10 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 17 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 13 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 6 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ...
regards.

Hi Chris,
seems there is an error when limiting the collections:
created 3 vol servers and 9 collections, workshop_1 -> workshop_9
I had stopped the third vol server
and tried running volume.fix.replication -> all ok, returned the third vol server and did volume.fix.replication, all good and fixed, (by the way it does ALL the volumes in one go, not 1 volume per run)
but when I run it again but using:
volume.fix.replication -collectionPattern *7
to fix only workshop_7 collection, it did fix that collection but printed error on all else...
output:
> volume.fix.replication -collectionPattern *7 failed to place volume 18 replica as 001, existing:1 failed to place volume 22 replica as 001, existing:1 failed to place volume 25 replica as 001, existing:1 failed to place volume 3 replica as 001, existing:1 failed to place volume 6 replica as 001, existing:1 replicating volume 21 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... failed to place volume 23 replica as 001, existing:1 failed to place volume 29 replica as 001, existing:1 failed to place volume 15 replica as 001, existing:1 failed to place volume 5 replica as 001, existing:1 failed to place volume 7 replica as 001, existing:1 failed to place volume 13 replica as 001, existing:1 replicating volume 19 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... failed to place volume 12 replica as 001, existing:1 failed to place volume 10 replica as 001, existing:1 failed to place volume 1 replica as 001, existing:1 failed to place volume 8 replica as 001, existing:1 failed to place volume 27 replica as 001, existing:1 failed to place volume 17 replica as 001, existing:1
and on a volume.fix.replication without the new argument:
> volume.fix.replication replicating volume 3 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 15 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 27 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 19 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 29 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 5 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 7 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 18 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 1 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 25 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 22 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 21 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 12 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 23 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 28 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 8 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 10 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 17 001 from seaweedfs-volume-0.seaweedfs-volume:8080 to dataNode seaweedfs-volume-1.seaweedfs-volume:8080 ... replicating volume 13 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ... replicating volume 6 001 from seaweedfs-volume-1.seaweedfs-volume:8080 to dataNode seaweedfs-volume-0.seaweedfs-volume:8080 ...
regards.

https://github.com/chrislusf/seaweedfs/blob/b3f66199db4b6a9da48f091a33e87470877d6d73/weed/shell/command_volume_fix_replication.go#L208
probably need to skip if not matched pattern

https://github.com/chrislusf/seaweedfs/blob/b3f66199db4b6a9da48f091a33e87470877d6d73/weed/shell/command_volume_fix_replication.go#L208
probably need to skip if not matched pattern

thanks! I added the skip logic as you suggested.

thanks! I added the skip logic as you suggested.

and I think you should edit the comment:

each time this will only add back one replica for one volume id. If there are multiple replicas
are missing, e.g. multiple volume servers are new, you may need to run this multiple times.

each time this will only add back one replica for each volume id that is under replicated.
If there are multiple replicas are missing, e.g. multiple volume servers are new,
you may need to run this multiple times.

maybe more understandable?

and I think you should edit the comment:

each time this will only add back one replica for one volume id. If there are multiple replicas
are missing, e.g. multiple volume servers are new, you may need to run this multiple times.

each time this will only add back one replica for each volume id that is under replicated.
If there are multiple replicas are missing, e.g. multiple volume servers are new,
you may need to run this multiple times.

maybe more understandable?

thanks! updated.

thanks! updated.


web(appservice) release

https://github.com/Azure/sdk-release-request/issues/3914

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-appservice


fix: take synthPendingDepth into account when caching TC results

@semorrison This is for debugging purposes only. It contains only the TC cache fix. If #4119 does not fix the performance issues in Mathlib. We can use this one to check whether the issue is due to this commit or not.

Closing in favour of #4119.


try turtle

yaml + metadata is fiddly; try allowing turtle.
Treat turtle and yaml metadata equally. Storing metadata from Turtle as rdflib.Graph makes sense; getting it into a python object (as metadata from YAML is stored in md.meta)  is circuitous, but does suggest an extension of how metadata is stored

[x] parse embeded turtle with rdflib & serialize into html
[x] allow JSON-LD context to be set (having a context means you get compact JSON-LD)
[ ] allow Turtle context (@base, @vocab, @prefix) to be set
[x] store parsed graph in md object as md.graphs
[x] store json-ld serialization of graph in md object as md.jsonld
[x] store python dict representation json-ld in md.meta
[x] store json-ld serialzn of YAML metadata in as md.jsonld
[x] parse json-ld from YAML with rdflib & store in md.graphs
[x] sensible tests to compare md.graphs

I'll be honest, the tests are a bit of a mess. Probably need a separate issue


Incorrect operation of the setting to turn off the display of scaling on the image

After closing Obsidian and restarting it, the setting for displaying the scaling value on the image continues to be enabled, although it is disabled in the plugin. Correct please

!

@accept82  Sorry for the probelm. Please upgrade to v0.5.1.

I checked everything works fine thanks!


Rename "bot" to "bottom" in WindowDrawCommand::Scroll

This is just renaming bot to bottom in WindowDrawCommand::Scroll
Small increase in character count, big increase in readability :)
What kind of change does this PR introduce?

[ ] Fix
[ ] Feature
[x] Codestyle
[ ] Refactor
[ ] Other

Did this PR introduce a breaking change?
A breaking change includes anything that breaks backwards compatibility either at compile or run time.

[ ] Yes, please list breaking changes
[x] No

I appreciate these types of changes. Code consistency/readability is important to me. So this is great


Upgraded dependencies for groupId com.gradle.enterprise

Dependencies upgrades
com.gradle.enterprise:com.gradle.enterprise.gradle.plugin

Version: 3.7 -> 3.7.1
Release Date: Oct 20 2021

This pull request was automatically generated by Releases Hub Gradle Plugin v3.1.0

com.gradle.enterprise:com.gradle.enterprise.gradle.plugin

Version: 3.7.1 -> 3.7.2
Release Date: Nov 18 2021

com.gradle.enterprise:com.gradle.enterprise.gradle.plugin

Version: 3.7.2 -> 3.8
Release Date: Dec 20 2021


Multiple includes results in empty reference

Multiple includes  results in empty reference.
Steps to reproduce
 employee
       .Include(o => o.Details).ThenInclude(o => o.IdCard);
        .Include(o => o.Mails).ThenInclude(o => o.Names).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.Title).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.PhoneNumbers).ThenInclude(o => o.Names).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.Elements).ThenInclude(o => o.Element).ThenInclude(o => o.Names).ThenInclude(o => o.Language);

in the end employee has 0 reference in details.
A workaround was to split  the include:
var emp =  employee
       .Include(o => o.Details).ThenInclude(o => o.IdCard);

 return emp
        .Include(o => o.Mails).ThenInclude(o => o.Names).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.Title).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.PhoneNumbers).ThenInclude(o => o.Names).ThenInclude(o => o.Language)
        .Include(o => o.Details).ThenInclude(o => o.Elements).ThenInclude(o => o.Element).ThenInclude(o => o.Names).ThenInclude(o => o.Language);

Further technical details
EF Core version: (found in project.csproj or packages.config) : 2.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: win 10
IDE: Visual Studio 2017 15.4

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


possible datarace in models obtained from cache

We have had an issue where a data race was detect in a model obtained from cache when one thread made changes on it and another thread read. Should the cache return copies to the models instead?

@jcaamano yeah i was thinking about this the other day. the race detector here doesn't notice it, but we do return pointers to models from the cache, which you can change, which in turn updates the cache... which isn't cool.
so yes, returning copies is much better


RGB dataset (224*224)

How can we use ur code in other RGB dataset?
Suppose the structure of dataset is like that. it contains some sub-folder. Each sub-folder represents one class.
Class A:
0001.jpg    1
0002.jpg    1
Class B:
0001.jpg    2
0002.jpg    2

Please read the README carefully!

If you need to apply CapsNet model to your own datasets or build up a new model with the basic block of CapsNet, please follow my new project CapsLayer

Go to my new project to get a solution. This project is not designed for other datasets

A same question here


feat: basic schema validation concept

Description
Basic concept of json schema validation
Before running the tests, you must prepare an .env file containing:

API_ACCESS_KEY
BASE_API_URL

Tests are started with the npx playwright test command

Type of change

ToDo's

Screenshots (if applicable)

Additional context

Current status? :smiley_cat:


[Sema] Don't require availability for implicit decls

Suppress warnings from -require-explicit-availability in synthesized code. The parent decls should already show a warning.
require_explicit_availability.StructWithImplicitMembers:2:16: warning:
public declarations should have an availability attribute when building
with -require-explicit-availability
    public var hashValue: Int { get }
               ^

@swift-ci Please smoke test


Fix send code validation

Details

This PR fixes issue with sending email validation link. When a user triggers email validation from profile, the magic sign-in code isn't sent immediately till you have to trigger Didn't receive a magic code?. This PR is raise to fix a reverted code merge https://github.com/Expensify/App/pull/46846
Fixed Issues

$: 41330
PROPOSAL: issuecomment
Tests

Verifying newly added account

Make sure you are Logged out of both NewDot and OldDot
Navigate to OldDot https://staging.expensify.com/
In the login screen enter a new gmail account (make sure it's a gmail account as my work email didn't work)
Verify you're navigated to staging NewDot
Navigate to account Settings > profile > Contact methods
Click on the email
Verify you're prompted for the magic code to validate the account
Verify the account receives a magic code to their email inbox
Enter the magic code in the field
Click on Verify

Adding a Secondary Contact

add a new contact method
clicking on "add" button should take you to validate code form
Clicking on a contact in the contact methods should trigger a validate code request

Expectation: The validation link is sent first time, and user is not logged out when magic code is entered.

[x] Verify that no errors appear in the JS console

Offline tests

Verifying newly added account

Make sure you are Logged out of both NewDot and OldDot
Navigate to OldDot https://staging.expensify.com/
In the login screen enter a new gmail account (make sure it's a gmail account as my work email didn't work)
Verify you're navigated to staging NewDot
Navigate to account Settings > profile > Contact methods
Click on the email
Verify you're prompted for the magic code to validate the account
Verify the account receives a magic code to their email inbox
Enter the magic code in the field
Click on Verify

Adding a Secondary Contact

add a new contact method
clicking on "add" button should take you to validate code form
Clicking on a contact in the contact methods should trigger a validate code request

Expectation: The validation link is sent first time, and user is not logged out when magic code is entered.
QA Steps

Verifying newly added account

Make sure you are Logged out of both NewDot and OldDot
Navigate to OldDot https://staging.expensify.com/
In the login screen enter a new gmail account (make sure it's a gmail account as my work email didn't work)
Verify you're navigated to staging NewDot
Navigate to account Settings > profile > Contact methods
Click on the email
Verify you're prompted for the magic code to validate the account
Verify the account receives a magic code to their email inbox
Enter the magic code in the field
Click on Verify

Adding a Secondary Contact

add a new contact method
clicking on "add" button should take you to validate code form
Clicking on a contact in the contact methods should trigger a validate code request

Expectation: The validation link is sent first time, and user is not logged out when magic code is entered.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/b187becc-5972-4a2c-915d-01811dab0d45

iOS: Native

Android: Native

Android: mWeb Chrome

iOS: mWeb Safari

MacOS: Desktop

Hi @c3024, can we check for the update here.

Hi @c3024, let's check this again.

The first change mentioned here for User.ts is required for sending code correctly for secondary contacts. This is not included in the PR. Otherwise the API request is made for sending code for the primary contact.
Here is the video showing this bug.
https://github.com/user-attachments/assets/4418c44f-3ae6-486c-afea-47fe9dd044c2

Hi @c3024, I haven't added that piece yet, seeing that there was a recent code change which removed navigation completely: https://github.com/Expensify/App/pull/48320/files#r1738644645
I'm still trying to figure out why that was done and what next to do. As it stands, adding that piece gives this flickering navigation behaviour as shown in the screen record
https://github.com/user-attachments/assets/7b62a2a4-5dfe-4b3b-995f-3a4397f1ddf4

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Why does the UI look differently between these two screens?

Also this is feeling verrrrrry tight to me:

Can we try 20px between the number inputs and the Didn't receive a magic code? message? And then, is there a reason the Verify button isn't at the bottom like our standard "footer buttons"?

Why does the UI look different between these two screens?

Hi @shawnborton, Although I didn't make any UI changes here. I can make changes if you could propose what the  UI should look like.

Hi @c3024, what's the plan with this PR, anything more to push for?

Let me know when it's ready for final review

@nkuoch yes this is ready for review.

cc @shawnborton for https://github.com/Expensify/App/pull/47772#issuecomment-2376063088

Sorry - I've been OOO for the past 3 weeks so just catching up now. Is the original comment updated with the latest screenshots of this PR?

Sorry - I've been OOO for the past 3 weeks so just catching up now. Is the original comment updated with the latest screenshots of this PR?

Hi @shawnborton, welcome back from ooo.  I had worked on this issue for code validation and secondary email validation flow; I would need more direction on what should be done on that UI and clarification on what to do according to the original comment.

Why does the UI look differently between these two screens?

You mentioned that, and I'm wondering what the actual UI between those screens should be (I couldn't get the difference you mentioned)
@dannymcclain mentioned why the verify button isn't at the bottom like other standard footer buttons - should I make it that way?

I will pick this up once I have clarification and green light on those.

mentioned why the verify button isn't at the bottom like other standard footer buttons - should I make it that way?

Yes!
In this screen, the message above the form has a green dot pattern:

I kind of think we can just kill that and use a standard message like we have here:

But one way to think about this - if you basically go to create a new account and don't validate it, then go to add a bank account, let's just reuse the same kind of screen/form that you see here:

Lovely, I'll start fixes ASAP @shawnborton
One question and clarification: The screen with the delete button should be left that way, right? We don't have to push the verify button to the footer since the delete button is below it, right?

For that case I think we'd do it like this:

But happy for Shawn to weigh in too!

Yup, I dig it!

@shawnborton @dannymcclain, this should be a new look for the validation flow.
https://github.com/user-attachments/assets/3bb73362-f396-4252-8d17-787e65b982ad

One question is, since we removed the dot indicator (green) for contacts that require verification, should we also remove the dot indicator (red) for failed contacts (contacts that cannot be added because they already exist, etc.)? Please take a look at the video record below.
https://github.com/user-attachments/assets/82e8a158-c0ba-48a0-a48d-6d2b4084c2ea

Oh sorry, I don't think we should remove the green dot from this screen here:

I just think we should remove it from the message on the subsequent screen.
So that being said, I think we should keep the green and red dot indicators on the Contact methods page.

Hey @shawnborton, that's precisely my question 😄. The red dot indicator hasn't been removed from the contact methods; I am confirming if it should be removed from the details page. Which screen is the next?

Ah sorry, I would say no, do not remove it from the subsequent page. We need to show an error message there.

Ah sorry, I would say no, do not remove it from the subsequent page. We need to show an error message there.

For clarity and confirmation,

I should remove the green dot on the subsequent page.
I should not remove the red dot on the subsequent page

Are those scenarios correct? @shawnborton

Correct!

@nkuoch @c3024 This is ready for another review. Let's check.

"Remove" button is missing in the secondary contact details page.
Alignment of "Set as default" button is too close to the left edge.
Dev and Prod:
https://github.com/user-attachments/assets/c90a778c-635e-41ad-8831-429631437f47
Staging:

@c3024, thanks for catching that. I will fix it and push back.

@c3024, one more time, let's test again 🙏.

Shouldn't clicking on "Didn't receive a magic code" trigger a RequestContactMethodValidateCode request?
https://github.com/user-attachments/assets/f452c618-a2a5-4e55-a363-9b7b0bb86943
Also, please update the "Tests" section of the PR author template to reflect the steps that appropriately test the changes of this PR.

Shouldn't clicking on "Didn't receive a magic code" trigger a RequestContactMethodValidateCode request?
resendValidateCode.mp4
Also, please update the "Tests" section of the PR author template to reflect the steps that appropriately test the changes of this PR.

Other PRs constantly update this. That was working before; it's hard to tell what decisions were made in other PRs. I didn't consider that to be within the scope of this issue, but I can check again.

Oh, sorry! That issue is there on main as well. I will review again. Thanks!
Can you please update the "Tests" to match the behaviour we have now like

after adding a secondary contact we should go to the validate code form and
clicking on a contact in the Contact Methods page triggers a ValidateCode request.

Updated @c3024

@teneeto
I found a couple of issues:
1.	Our last PR was reverted because two magic codes were triggered when a new contact method was added. This is still happening; a code is triggered from both the front-end and the backend.
2.	When we remove a contact method from the magic code page, we should be navigated back to the contact methods page, in my opinion.

The case is slightly different from the reason for the reversal. We initially had multiple validations in the user mailbox, and as we speak, no single piece of code modifies or triggers a validation code request in this PR, and there have been lots of other PR lately rapidly making refactoring or changes to this validation part. Let's open another discussion or issue to look into that.
We still need to revisit why we are fixing this issue.

Based on all comments so far, I think, at minimum, these tests should pass without breaking any existing functionality on main with this PR.
Test 1:
1.	Navigate to “Contact Methods Page.”
2.	Click on a “Contact Method.”
3.	A validation code should be sent immediately without needing to click “Resend code.”

Test 2:
1.	Navigate to “Contact Methods Page.”
2.	Click on “Add a new Contact Method.”
3.	Input an email > Add.
4.	A magic code should be received via email for the primary contact without needing to click “Resend code.”
5.	Validate this primary contact using the magic code.
6.	Once validated, the secondary contact is added, and the backend sends a magic code for this secondary contact’s validation. The user should be navigated to the validation code form for the secondary contact.
7.	No duplicate magic code should be received on the secondary contact’s email.
8.	Validating the secondary contact with the magic code should navigate the user back to the “Contact Methods Page.”

Test 3:
1.	Navigate to “Contact Methods Page.”
2.	Click on “Add a new Contact Method.”
3.	Input an email > Add.
4.	A magic code should be received via email for the primary contact without needing to click “Resend code.”
5.	Validate this primary contact with the magic code.
6.	Once validated, the secondary contact is added, and the backend sends a magic code for the secondary contact’s validation. The user should be navigated to the validation code form for the secondary contact.
7.	No duplicate magic code should be received on the secondary contact’s email.
8.	Clicking “Remove” should delete the newly added contact method, and the user should be navigated back to the “Contact Methods Page.”

Test 1 above should definitely pass with this PR, and I don’t think we can make changes solely for Test 1 without affecting the behaviours in Test 2 and Test 3. If we can pass Test 1 while retaining the other flows in Test 2 and 3 as they are on main, I think that is fine.

All should pass now; I did another merge conflict, hoping no new changes. Can we check.

Test 1 works well even on main.
With this PR, Test 2 fails at step 7. Two magic codes, one from the backend and one from the frontend, are received.

Ok let me have a look at step 2.

@c3024 can we check again?

@c3024 can we check this one again

When we validate the primary contact the secondary contact should be added to the contact methods.
Earlier, on validating the primary contact with magic code in the new contact method flow, it navigated to ContactMethodsPage.
Now, it navigates to the ContactMethodDetails page and it is possible to go back without validating this secondary contact. Going back again on the primary contact validation code page removes this newly added but not yet validated secondary contact locally
https://github.com/Expensify/App/blob/c18812ae3cac59025da0f6c8657750dfcb779a65/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx#L168
and this does not appear in ContactMethodsPage.
On this branch vs staging
https://github.com/user-attachments/assets/7f5f950e-f843-41c4-8ba8-7593749d261c
The added secondary contact method, however, was written to backend so it shows up if we log out and login.
https://github.com/user-attachments/assets/7594962a-933a-43f0-8c64-ced722df6eb6

@c3024 Should work fine now

@c3024 bump

@c3024 bump

Thanks for the bump. I will check and update!

Magic code is sent twice when adding a secondary contact.
Like mentioned here in Step 7 in Test 2, there should be no duplicate magic code emails when adding a secondary contact.
https://github.com/user-attachments/assets/bfbdd1cb-e8b8-45c0-a48b-b4a910d9c7d3

Ahh, okay, didn't see those steps

update: found a root, trying to fix it without breaking other parts

And also on staging Im getting the same issue with double emails

@waterim
On staging:
1.	Add a contact method.
2.	Validate the primary contact.
3.	Navigates to the Contact Method Page.
Between steps 2 and 3, a magic code was sent by the backend. Then, on clicking the contact method, another magic code was sent due to the frontend request.
On this branch:
1.	Add a contact method.
2.	Validate the primary contact.
3.	Navigates to the validation modal for the secondary contact.
Between steps 2 and 3, a magic code was sent by the backend. When the secondary contact method validation modal opens, another magic code was sent due to the frontend request.
History of this issue:
1.	There was an issue where clicking on a contact method did not send a magic code immediately.
2.	That was fixed with PR #45395.
3.	This was reverted because of this.
4.	This solution addresses the prevention of duplicate codes.
5.	The present PR tried to tackle both issues.
6.	Meanwhile, the issue of not sending a magic code on clicking a contact method seems to have been fixed by another PR.
7.	The remaining issue is to fix the duplicate code issue without breaking any other functionality. Based on the previous reviews, I found these conditions that usually broke due to changes in this PR and suggested relevant tests.

Yes, I am also seeing the same Not Found after validating the primary contact when adding a secondary contact.

Okay, finally I found that this change  caused this not-found, as now contactMethod is setting to null
To be honest Im a bit confused with all these changes, this flow is changing all the time and each merge breaking some part of the logic
Initial issue for this PR was also closed yesterday, do we still want this PR to proceed?
As far as I understand this PR was about to fix the code validation, but right now it looks like we changed the flow fully, but during this PR is ongoing there are a lot of changes from outside coming to this flow and it looks like everything works perfectly without this changes from here.
Can you please describe the desired/expected solution from this PR?

Yes, I think we can close this PR. If necessary, a new issue can be created to fix the duplicate codes issue.


Data integrity issue

Package version (if known): Latest (29)
Describe the bug
Started to look into the React SearchKit with this project as an example and found an issue where the updated values are not consistently reflected back in Search results.
Steps to Reproduce

Using the demo data, perform a search under "Physical Items" on say "cryptography" - it gives 2 items both of which are "Not on Loan"
Again using demo data, go to Loans and with same search for "cryptography", go to Details screen of any Pending Loan request for one of the demo users.
Checkout the copy - everything shows updated status - so far so good.
Now go back to the Search screen for "Physical Items" and again search for "cryptography" - it still shows the same 2 items with "Not on Loan"
But go to Details screen for the "Physical Item" and it shows "On Loan" (as expected).

Expected behavior
The search in Step 4 above should show 1 item on "Not on Loan" and 1 item on "On Loan"
Screenshots (if applicable)
Attached
Additional context
Wasn't sure if it is a problem with React Search Kit, DB, API/query issue or application problem such as caching. So I tried to narrow it down as follows: Restarted the app to flush all stale values, also restarted DB/Docker and Server, but still same inconsistency in Search result and Details result.
Am attaching screen shots but it is not difficult to reproduce.

After checkout - search

HI! Thank you for reporting this issue and the other one.
We will have a look on Monday, but from a very quick reading of the issue, do you have celery running in a console?
Every time you perform an action, you will need to have celery pushing updated data to Elasticsearch.

Indeed, that seems to do the trick.
Thanks for the quick response.


Name of decorator export and name parameter

Hey there. Long time fan of the project, first time caller. First off, the documentation and code are a great read. Thank y'all, and congrats on a job well done so far!
I wanted to ask about the names for a couple of the core libraries APIs -- the component decorator and its name prop.
As you know, this is what it currently is:
import { reduxForm } from 'redux-form'

@reduxForm({ form: 'my-form-name' })
class MyComponent extends React.Component { ... }

What do you think about exporting the decorator simply as form and having that take a name prop?
import { form } from 'redux-form'

@form({ name: 'viralSignupForm' })
class MyComponent extends React.Component { ... }

I think it rolls off the tongue a bit better, no? 😁 It has a nice symmetry with the Form export, too.

I believe this could be something for v7. v6 unfortunately it's not going to get it because SemVer...

If it was decided to make the change, the path would probably be to export both form and reduxForm and accept either form or name, but not both, for the form name option. Then show deprecation warnings for the v6 series when the user uses the older names, dropping the warning in v7. That way, when users make the upgrade from v6 to v7 you can say, "If you didn't have any warnings when running the latest v6 then you can upgrade without any changes needed".
Certainly adds a bit of complexity, but makes the upgrade path easier.


Support for WebdriverIO v4.0

Is webdrivercss support WebdriverIO v4.0 ?

Not yet but I will start working on this now.

@christian-bromann have you had the time to make any progress on this?

Yeah but it will take me a bit more time

Can we reopen this issue as I believe this is still not done and I want to track it so I can implement it the moment it gets done.


Hacktoberfest 2020

Hacktoberfest 2020

Anyone willing to add a few java programs to the list of already existing programs can do so.
Make sure you read the contributing.md file.
Also, once you add all the programs, make sure you update the readme.md file accordingly. If the program belongs to none of the already existing categories, add it to the miscellaneous section.
Happy hacking!

Can I work on this issue too?

Yes, you can.

@SVijayB Do we need to push a well commented code or we can push our code directly?

@arnoob16 you can push your code directly.

Hi, can I work on this?

@srushtips yes, you can.

Hey @SVijayB can i work on this?

@Nunia yeah, feel free to.


font-weight

We already have a setFontFace and setFontSize.
Please could I have a setFontWeight.

I'm happy to put out a PR for this if it's something that will be accepted

I'm not convinced this should be in the core library.  It's trivial to add to your own app; just add the following code anywhere that will execute after Squire has been loaded into the page:
var FONT_WEIGHT_CLASS = 'font-weight';
Squire.prototype.setTextWeight = function ( weight ) {
    this.changeFormat( weight ? {
        tag: 'SPAN',
        attributes: {
            'class': FONT_WEIGHT_CLASS,
            style: 'font-weight:' + weight
        }
    } : null, {
        tag: 'SPAN',
        attributes: { 'class': FONT_WEIGHT_CLASS }
    });
    return this.focus();
};

what would be more useful to me is to have font-weight added to the getFontInfo method.  That is less trivial to add yourself.


Fixing binder config and update intro materials

@dcherian - this should fix the dask dashboard issues noted earlier. Demo here: https://mybinder.org/v2/gh/jhamman/xarray-tutorial/master?urlpath=lab