Stage 2 training BUG: following keys are missing

Thanks for sharing this work with us!
I have trained the stage 1 model with expected performance with the Unet weight from the pretrained model pretrained_model_name_or_path: 'lambdalabs/sd-image-variations-diffusers'
But after the training, the model trained in stage 1 cann't be loaded by the stage 2 code, and I got the following errors:
load pre-trained unet from  ./outputs/wonder3D-mix-vanila/checkpoint/ Traceback (most recent call last):   File "/data/.conda/envs/marigold/lib/python3.10/runpy.py", line 196, in _run_module_as_main     return _run_code(code, main_globals, None,   File "/data/.conda/envs/marigold/lib/python3.10/runpy.py", line 86, in _run_code     exec(code, run_globals)   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>     cli.main()   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main     run()   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file     runpy.run_path(target, run_name="__main__")   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path     return _run_module_code(code, init_globals, run_name,   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code     _run_code(code, mod_globals, init_globals,   File "/data/.vscode-server/extensions/ms-python.debugpy-2024.6.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code     exec(code, run_globals)   File "/data/Wonder3D/train_mvdiffusion_joint.py", line 773, in <module>     main(cfg)   File "/data/Wonder3D/train_mvdiffusion_joint.py", line 251, in main     unet = UNetMV2DConditionModel.from_pretrained(cfg.pretrained_unet_path, subfolder="unet", revision=cfg.revision, **cfg.unet_from_pretrained_kwargs)   File "/data/.conda/envs/marigold/lib/python3.10/site-packages/diffusers/models/modeling_utils.py", line 604, in from_pretrained     raise ValueError( ValueError: Cannot load <class 'mvdiffusion.models.unet_mv2d_condition.UNetMV2DConditionModel'> from ./outputs/wonder3D-mix-vanila/checkpoint/ because the following keys are missing:   up_blocks.3.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.2.attentions.2.transformer_blocks.0.attn_joint_mid.to_v.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.2.attentions.2.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, mid_block.attentions.0.transformer_blocks.0.norm_joint_mid.bias, down_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.2.attentions.0.transformer_blocks.0.norm_joint_mid.bias, down_blocks.0.attentions.1.transformer_blocks.0.norm_joint_mid.weight, down_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.0.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.2.attentions.0.transformer_blocks.0.norm_joint_mid.weight, down_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.1.attentions.0.transformer_blocks.0.norm_joint_mid.bias, down_blocks.2.attentions.0.transformer_blocks.0.norm_joint_mid.weight, up_blocks.2.attentions.2.transformer_blocks.0.attn_joint_mid.to_q.weight, down_blocks.0.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.3.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.2.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.2.attentions.0.transformer_blocks.0.norm_joint_mid.bias, up_blocks.3.attentions.0.transformer_blocks.0.norm_joint_mid.weight, up_blocks.3.attentions.2.transformer_blocks.0.attn_joint_mid.to_q.weight, down_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.1.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.2.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.3.attentions.1.transformer_blocks.0.norm_joint_mid.weight, down_blocks.1.attentions.1.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.2.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.3.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.3.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.3.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, down_blocks.0.attentions.1.transformer_blocks.0.norm_joint_mid.bias, down_blocks.0.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.3.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.0.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.0.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.0.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.2.attentions.1.transformer_blocks.0.norm_joint_mid.weight, up_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.0.attentions.0.transformer_blocks.0.norm_joint_mid.weight, down_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.1.attentions.1.transformer_blocks.0.norm_joint_mid.weight, up_blocks.1.attentions.0.transformer_blocks.0.norm_joint_mid.weight, down_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.2.attentions.2.transformer_blocks.0.norm_joint_mid.weight, up_blocks.3.attentions.1.transformer_blocks.0.norm_joint_mid.bias, down_blocks.1.attentions.0.transformer_blocks.0.norm_joint_mid.bias, down_blocks.0.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.2.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.2.attentions.1.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.2.transformer_blocks.0.norm_joint_mid.bias, up_blocks.3.attentions.2.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.0.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.1.attentions.0.transformer_blocks.0.norm_joint_mid.weight, up_blocks.3.attentions.2.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.3.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, down_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.2.attentions.1.transformer_blocks.0.norm_joint_mid.bias, up_blocks.3.attentions.2.transformer_blocks.0.attn_joint_mid.to_v.weight, down_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.3.attentions.0.transformer_blocks.0.norm_joint_mid.bias, down_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.3.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, down_blocks.0.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.0.attentions.0.transformer_blocks.0.norm_joint_mid.bias, up_blocks.2.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.weight, mid_block.attentions.0.transformer_blocks.0.norm_joint_mid.weight, up_blocks.1.attentions.2.transformer_blocks.0.norm_joint_mid.weight, up_blocks.1.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.bias, up_blocks.2.attentions.1.transformer_blocks.0.norm_joint_mid.weight, up_blocks.3.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.2.attentions.1.transformer_blocks.0.attn_joint_mid.to_v.weight, down_blocks.1.attentions.1.transformer_blocks.0.norm_joint_mid.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.3.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, up_blocks.3.attentions.2.transformer_blocks.0.norm_joint_mid.weight, up_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_k.weight, down_blocks.2.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, up_blocks.1.attentions.2.transformer_blocks.0.attn_joint_mid.to_out.0.weight, up_blocks.3.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, down_blocks.0.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.3.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias, down_blocks.1.attentions.1.transformer_blocks.0.attn_joint_mid.to_q.weight, up_blocks.1.attentions.2.transformer_blocks.0.attn_joint_mid.to_v.weight.   Please make sure to pass low_cpu_mem_usage=Falseanddevice_map=None if you want to randomly initialize those weights or else make sure your checkpoint file is correct.
According to my understanding, the missing weights should be trained in stage 2, so they cann't be loaded in before the stage 2's training. Do you have any ideas about this?

similar problem!

same problem. @RenieWell @SunzeY @xxlong0  Have you solved this?

If add low_cpu_mem_usage=False to from_pretrained() function, or use from_pretrained_2d() function instead, it will start running successfully, but won't converge...

Hi, I am runing in to the same problem. Have you solved this? @bbbbubble @SunzeY  @RenieWell

@bbbbubble @mengxuyiGit @RenieWell @SunzeY
Hello, if the problem persists, maybe you can try my solution:
change the cd_attention_mid attribute in File "./configs/train/stage1-mix-6views-lvis.yaml " from false to true,
and change line 237 in ./train_mvdiffusion_image.py to
unet = UNetMV2DConditionModel.from_pretrained(cfg.pretrained_model_name_or_path, subfolder="unet", revision=cfg.revision, **cfg.unet_from_pretrained_kwargs).
It works for me. Seems that it is not a problem with the second stage but the first. Pls inform me if anything goes up

@bbbbubble @mengxuyiGit @RenieWell @SunzeY
Hello, if the problem persists, maybe you can try my solution: change the cd_attention_mid attribute in File "./configs/train/stage1-mix-6views-lvis.yaml " from false to true,
and change line 237 in ./train_mvdiffusion_image.py to
unet = UNetMV2DConditionModel.from_pretrained(cfg.pretrained_model_name_or_path, subfolder="unet", revision=cfg.revision, **cfg.unet_from_pretrained_kwargs).
It works for me. Seems that it is not a problem with the second stage but the first. Pls inform me if anything goes up

Seems not work. "Missing Keys" error will show up in the first stage:

[rank0]: ValueError: Cannot load <class 'mvdiffusion.models.unet_mv2d_condition.UNetMV2DConditionModel'> from /home/azhe.cp/avatar_utils/sd-image-variations-diffusers because the following keys are missing:
[rank0]:  mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_q.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_v.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.weight, mid_block.attentions.0.transformer_blocks.0.norm_joint_mid.bias, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_k.weight, mid_block.attentions.0.transformer_blocks.0.norm_joint_mid.weight, mid_block.attentions.0.transformer_blocks.0.attn_joint_mid.to_out.0.bias.
[rank0]:  Please make sure to pass low_cpu_mem_usage=False and device_map=None if you want to randomly initialize those weights or else make sure your checkpoint file is correct.

Sorry, I was using Wonder3D's checkpoint as input for my 1st stage training, and that is fit.
If you want to train from lambdalabs/sd-image-variations-diffusers, my method will not be working. Sorry for the confusion.


Fix misnomer of Identity and Access Management

Under S3, Identity and Access Management (IAM) is listed as Identity and Authentication Management.

Good find--thanks!


Added 'campaign' to properties in resources.link.

When calling link() and sendSMS(), the 'campaign' parameter is not being sent to the server, as it's not included in the whitelisted parameters in resources.js. This PR fixes that problem.

great catch – thanks!

@scotthasbrouck can you take a look and get this to a test-passing state?

@dmitrig01 it's not the tests failing, it's saucelabs timing out on mobile tests. I've been going back and forth with them for a while, and they've finally responded that "this is as good as it gets" with emulated mobile tests. I'll be replacing them with something else this week. In the meantime, we could switch back to just phantomjs if we want to see passing tests on PRs.

ok - so if you run this locally it passes tests?

Correct, everything passes 100%

sweet


Call logout from other area in app

I have a Settings component where I have a button, onClick I want to logout the user ? Any suggestions? I want to logout from Facebook & once done I will redirect the user to a new view.

+1

What im about to say is not tested and only relates to android.
In theory, you should be able to create a ref to the FBLogin button and call
this.fbLogin.logout()

given you follow this syntax
<FBLogin
        ref={(fbLogin) => { this.fbLogin = fbLogin }} />

sometimes it was possible to call FBLoginManager.logout() - is there an replacement? I want to logout from FB without having the button on the screen.

@sodik82 is right. I was able to get it working using the following code:
FBLoginManager.logout((data) => {
  this.props.onLogout()
})

This issue can be closed imo.


Can't close tool

Can't close a tool when another tool is open on the same asset in a different workarea.

Due to incorrect login in ProgramTool.close()


SIGINT results in a forced exit every time when running tsx watch with npm

Acknowledgements

[X] I read the documentation and searched existing issues to avoid duplicates
[X] I am reporting a confirmed bug (not seek debugging help)
[X] I understand this is a collaborative project and relies on my contributions
[X] I read and understood the Contribution guide

Minimal reproduction URL
https://github.com/jabrks/tsx-reproduction
Problem & expected behavior (under 200 words)
Using npm to run tsx watch results in the following error each time the process is interrupted
[tsx] Previous process hasn't exited yet. Force killing...

The GitHub action in the reproduction linked above demonstrates this by artificially exiting the process after 3 seconds. npm's signal handling behaviour was changed in v10.3.0 as a result of https://github.com/npm/run-script/pull/188 which seems to be related
Bugs are expected to be fixed by those affected by it

[ ] I'm interested in working on this issue

Compensating engineering work financially will speed up resolution

[ ] I'm willing to offer financial support

having same issue :(

Same here :(

I'm also seeing this with
pnpm tsx watch [...args]


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
16 seconds
inspect-image

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
19 seconds
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
13 seconds
label-check

✅ Succeeded
13 seconds
optional-label-check

✅ Succeeded
9 seconds
show-sbom

✅ Succeeded
11 seconds
show-summary


Fix/27383: Prevent request money if empty waypoint

Details

In distance request, prevent request money if empty waypoint
Fixed Issues

$ https://github.com/Expensify/App/issues/27383
PROPOSAL: https://github.com/Expensify/App/issues/27383#issuecomment-1718148390
Tests

Request money -> distance
Change /distance in the URL to /participants
Verify that the App redirect to Distance request page

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

Offline tests

Same above
QA Steps

Request money -> distance
Change /distance in the URL to /participants
Verify that the App redirect to Distance request page

[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 / Chrome
[x] iOS / native
[x] iOS / 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/141406735/68f306d1-1433-44cc-9de0-506af8d9dddb

Mobile Web - Chrome

https://github.com/Expensify/App/assets/141406735/d7276078-a16b-41bd-b6f7-5f2a21843bf5

Mobile Web - Safari

https://github.com/Expensify/App/assets/141406735/6823143e-ca4e-4a84-b605-1158d0c9a35e

Desktop
https://github.com/Expensify/App/assets/141406735/755c6462-cf79-4cfe-93cd-b74e9a132d5d

iOS

https://github.com/Expensify/App/assets/141406735/7f4ab205-5e9a-45ec-876f-16d456a440c3

Android

https://github.com/Expensify/App/assets/141406735/6e6b4200-fd52-4f55-8fc6-694d042eb5d6

@allroundexperts Bump, Could you help to review this PR?

@allroundexperts It works well after updating
https://github.com/Expensify/App/assets/141406735/c6f39bbc-27a2-4d38-aa8c-c2048982412f
Thanks so much for your reminders, I noted that for the next PR.

@roryabraham Could you help to check this PR when you are free?

Hi @roryabraham @allroundexperts @DylanDylann I think this causes a major regression and should be reverted. There is no way to create a distance request now because it will never transition to the confirmation page due to isEmptyWaypoint being true the first time the component renders.

Created revert PR: https://github.com/Expensify/App/pull/28208

@tgolen @roryabraham @allroundexperts Hi, after investigating I see this is not a regression from my PR. It seems this is a regression from https://github.com/Expensify/App/pull/25786. In our PR, I am using iou from ONYX to get transactionID. But https://github.com/Expensify/App/pull/25786 make iou field reset to empty.
I created another PR with a bit of change in that don't use deprecated functions.  I see that we have https://github.com/Expensify/App/issues/28280 It also be a regression from https://github.com/Expensify/App/pull/25786. We can hold my new PR until https://github.com/Expensify/App/issues/28280 is resolved

Thank you for making me aware of https://github.com/Expensify/App/pull/25786 and I have commented there as well.

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.3.75-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.75-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.3.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.76-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


[website] Use code.jquery.com for jQuery CDN

Use code.jquery.com for jQuery CDN. jQuery cannot loaded from google in China.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @lukecwik

Staged: http://apache-beam-website-pull-requests.storage.googleapis.com/8843/index.html

R: @iemejia

Thanks @lostluck @melap @iemejia


Update to be able to use the current alt:V API

Closes #6

The File package-lock.json is only needed if you have already installed the files by type npm i otherwise delete it.


Address the apireview commnts for azure identity extensions

Description
To address comments in https://apiview.dev/Assemblies/Review/24f7b288c3124616ad4445b18827b513.
This PR will

Change com.azure.identity.extensions.mysql|postgresql to com.azure.identity.extensions.jdbc.mysql|postgresql.
Change AzureIdentityPostgresqlAuthenticationPlugin to AzurePostgresqlAuthenticationPlugin.
Change AzureIdentityMysqlAuthenticationPlugin to AzureMysqlAuthenticationPlugin.

All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

/azp run java - spring - tests

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


Fixed app description for Sumango Autobank.

Changed AppDescription for Sumango Autobank in ConnectivityAppDefinitions.Codeunit.al.

@microsoft-github-policy-service agree [company="Sumango AS"]

v@microsoft-github-policy-service agree company="Sumango AS"

@microsoft-github-policy-service agree company="Sumango AS"

Need a vote from @sorenfriisalexandersen before pushing the changes


test: cypress workflow timeouts

Description
Updated Cypress PR workflow versions from 2 to 3 while utilizing built in caching from the cypress action. The new The pr-cypress-serve.yml is meant to serve as a test file to see how much faster splitting the workflow process becomes.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[x] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
closes #1461
Risk
The Cypress workflow action stops working and needs to be reverted. Smaller PR's can be put into place to make the minimal amount of changes to fix the issue at hand. This PR should fix the dev server timeout and possibly other timeouts occurring during the tests.
Testing
Run the workflow. The updated pr-cypress.yml file was tested successfully locally. The pr-cypress-serve.yml file has not been able to be tested locally successfully due to how split jobs are currently being tested.
Screenshots (if applicable)

I wonder why these tests didn't fire 🤔

I wonder why these tests didn't fire 🤔

Ah, we don't yet support v3 actions - I'll get that fixed up, then test.
Nice work @GMSteuart!

Interesting, adding the node_modules cache to the cypress workflow broke finding the binary. Guessing version mismatch. 🧐

These consistently passing tests are looking promising! 🎉

@0xApotheosis I believe that is everything now. 🙂


Validate Source text on open

Issue:
In order to ensure that the user can continue to work the initial validation check must be done on the source side as we are already doing on the target.   Errors in source side should say:
"tC Create is unable to continue. The master data has the following error: duplicate ID(s) ."
"tC Create is unable to continue. The master data has the following error: ."
"tC Create is unable to continue. The master data has the following error: ."
"Please take a screenshot and contact your administrator."
DoD:
On Open validation is run against both the source and target files.
Details:
Field reported by Larry S.
movie here: https://drive.google.com/file/d/1CgS3NKv5TfR7Qo4XFsKnitTR6udfiJMi/view?usp=sharing
Follow these steps to reproduce the problem:

Delete the Luke tN file from your user's repo
Log in to tC Create using that users credentials
Select the Luke tN project
Verify that the app is set for 25 rows/page
Use the Next Page button to page forward until you get to rows 1076-1100
Scroll down until you get to ID l400 (lower case L)
Open the Columns modal and show all columns
Change the SupportReference field on row l400 to some other text including "l400" in that text (I used Testing l400)
Click out of the SupportReference field and wait for the UI to catch up
Click the Next Page button to go to the next page
After it pages forward, click the Previous Page button to go back to the page you were on
Scroll down to the l400 row
Notice that the SupportReference field is now back to what it was before you changed it
Scroll up 1 row to l365
Note that the text you entered for row l400 is now in row l365
Click the Save button
After the save is complete, click the button to go to the file in the repo
Go into edit mode in the repo and scroll down to line 1100
Note that the data has been saved to the wrong row as it was displayed after paging forward and back
In my testing it seems that it only fails after row 1100, but it does fail consistently.

I was able to replicate this issue with the steps mentioned above. The data was wrongly written on the row above as reported in the issue. However, I was able to do so only in Luke.  I tested Acts, Rev, Jer, Psalms, Proverbs, Genesis and few other big books but none of them showed this behaviour.
Luke has 4490 rows, Psalms has 5219 rows, but only Luke shows consistently bad behaviour after 1100 rows.

Found a quicker way to reproduce the problem.
Variation 1
Let's use the search function to pull up row l400 and change that way.

delete branch
go back to Luke
add ID column
click search and enter l400
make the change
the search function will now show both rows (since "l400" now occurs on both rows)

Problem turns out to be a data issue, namely, there are two consecutive rows with the same row ID (r11g) for the same verse.
Here is the raw data:
LUK	7	18	r11g	writing-newevent	ἀπήγγειλαν Ἰωάννῃ οἱ μαθηταὶ αὐτοῦ περὶ πάντων τούτων	1	his disciples reported to John concerning all these things	This sentence introduces a new event in the story. Alternate translation: “the disciples of John told him about all these things” (See: [[rc://en/ta/man/translate/writing-newevent]])
LUK	7	18	r11g	writing-newevent	οἱ μαθηταὶ αὐτοῦ	1	his disciples	The term **his** refers to John the Baptist, not to Jesus. Alternate translation: “the disciples of John” (See: [[rc://en/ta/man/translate/writing-newevent]])

The code that does the "correlation" of the source and target is discarding one of the rows.
This was confirmed by manually changing the file in QA master so that one of the rows had r12g, eliminating the duplicate.
Since the on-open validation is already checking each row of the file for how many cells there are, a bit of logic could be inserted to keep track of the IDs. This logic would need:

to know which column contains the ID. I know how to do this.
to know whether IDs are unique in the file or by verse; I don't know which is true. So need this answer.

Like the other on-open validations, it needs to prevent the user from opening the file, because data is being lost if it gets that far.

###Notes for 2021-04-22###
The target context provider is created largely from a useFile hook. This hook takes as input the source file content, which if the target file does not exist yet, it will be created with the source content as the default content.
This means we have the following scenarios:

Target file does not exist
Target file does exist

Test: if target does not exist and source has a defect, then does anything get created in the target?

delete branch cecil.new-tc-create-1 in QA DCS unfoldingword/en_tn
edit the book of Jude by removing the header row. Submit patch as a PR. The approve PR and squash merge and delete my patch branch.
Check and confirm master changed. -- confirmed
Now use tc-create to edit this file
The validation error properly shows, however, the branch is created and the damaged file is created as well.

Implication the on-open check needs to be moved to the useFile hook.
fyi... @birchamp @ancientTexts-net

Solution Design
Concept add a new optional onOpenValidation function parameter to the useFile() function in gitea-react-toolkit. If provided, then the content of the file will be passed to this function for validation. In addition, the useFile() function will return a new property as part of the state object. The new property will be an object containing two properties: a boolean indicating pass/fail of the validation and an array of error messages.
Scenarios

If no validation function is provided, then the state validation property will be null or undefined.
If validation function is provided and the validation passes, then the object will return a value of true for the valid property and an empty array for the messages property.
If validation is function provided and the validation fails, then the object will return a value of false for the valid property and the messages array will list all the errors found. The format of the messages will be completely determined by the validation function provided.

Notes

Existing code that does not provide the new validation parameter will not need to be changed; nor does it need to capture the validation state return value.
Code that needs to validate the content must provide the new function to useFile() and it must examine the return value in order properly act on it.

The plan is to split the current on-open validation logic into two parts:

The part that updates state of the app must remain in the app
The part that is pure code looking at content will be moved to GRT itself to make it re-usable.

At the moment, TN (both 9 and 7 column versions) and TWL are targeted for on-open validation for a total of three formats. While superficially the checks are the same, they are each unique. The checks are:

Does the file have the correct header row?
Does each row in the file have the correct number of columns?
(new) Are there duplicate row IDs within chapter/verse?

@cckozie @elsylambert @ancientTexts-net @BincyJ Since @birchamp is out, wondered if you had any thoughts on whether I should change the on open validation dialog for the target. Here is the new source side dialog with the text suggested in DoD:

And here is the current dialog for the target:

@mandolyte Here is my suggestion : The message title should have mention of the Source/Target file, that will give a clear idea to the user where to look the error for. For e.g
"This file cannot be opened by tC Create as there are errors in the Master file. Please contact your administrator to address the following error(s)"
"This file cannot be opened by tC Create as there are errors in the target file. Please contact your administrator to address the following error(s)"

I agree with @elsylambert. @birchamp ^^

Thanks! I have this change and the new check for duplicate row IDs
remaining on this issue to do.
Cecil
On Mon, May 3, 2021 at 1:03 PM BincyJ @.***> wrote:

I agree with @elsylambert https://github.com/elsylambert. @birchamp
https://github.com/birchamp ^^
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/unfoldingWord/tc-create-app/issues/818#issuecomment-831396906,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ2ZXPPPMU2HRRYVMOPYILTL3JONANCNFSM43CHNLEQ
.

Testing hints... in QA DCS, in org unfoldingword, repo en_tn, I edited the tN for COL: I copied a row ID and pasted it over the top of other row ids in the file. Then did the PR thing and over wrote master.
Here is the error for what I did to the source (master):

Testing hints... in QA DCS, unfoldingword/en_tn, I first used tc-create against 1TH, then backed out. I only did this in order to create my branch. I then edited the branch copy in DCS by copying a row id into several places thru out the file; then committed the changes directly to my branch.
Then in tc-create, I brought up 1TH. This will show the dups:

https://deploy-preview-58--markdown-translatable.netlify.app/#/Translatable?id=translatable-1
@mandolyte ready to review again please thank you :))

@cckozie I added the multiple errors on purpose in order to help the admin fix the problem. It now shows:

what is expected
what was found
the first character that differs from what was expected, including the hexadecimal, so that those CR type characters will show someting.

If you don't see value in these, I can comment them out. But I do want to leave them in the code for next time I have to find some invisible character.
@ancientTexts-net thoughts?

@mandolyte to add the character limit logic to the header error message.

I found another problem that I think the on-open validator should catch, and that is missing ID's. The attached file has two rows in which incorrect tabs make it look like the ID is blank/missing. The validator reports this as a duplicate which is technically correct, but I think "missing" is more accurate. Writing this up in a new issue rather than failing this since it was not in the DoD.
https://app.zenhub.com/files/191973535/dbac502e-7219-4471-b4be-9e435ec3e562/download

v1.2.1-rc.2 build 52-944acd1
https://develop--tc-create-app.netlify.app/
@elsylambert @cckozie

translationCore Create - v1.2.1-rc.2 build 52-944acd1
On-Open Source Validator:

Reports error due to duplicate IDs with correct row numbers.
Reports header missing on target file with appropriate message.
Reports columns missing on Target file.

@birch - If the source file has duplicate ID's, the validator does not report any target file problems until the source file problems are fixed. Are you OK with that, or do you want the on-open validator to display all errors in both the source and target files?

If the Source file has duplicate IDs, two scenarios here:

If a file/book is opened for the first time(no target file in the branch) and duplicate IDs are detected in the Source file, then the target file is not created at this point. So Source side On-Open Validation is fine.

If there is an existing Target file with the duplicate ids that was previously copied from the Source, are in the branch, the validator first reports Source side only.  This is what @cckozie  pointed out in his comment.
@birchamp

Per @birchamp, I created a new issue (#866) for the problem of not testing both the source and target if the source contains errors.


Right click to open the wikipedia page

I image the following. You can hover over a textfield, gallery group or whatever to show a tooltip giving a short description.
With a right click the Wikipedia page opens automatically.  (If no page exists, we might have to create one)
This is part of a general project, to reduce the information in the help and put in useful stuff inside (like a mailing list and other useful links)

Implemented for finite groups


Cannot get base position on HitBtc for some currency pairs

On HitBtc, some currency pairs (e.g. ETH/BTC) works as normal, but for some currency pairs (LTC/USD and ETH/USD), the following error is produced.
tribeca_1        | {"name":"tribeca:gateway:HitBtcPG","hostname":"753aeac5770a","pid":15,"level":40,"msg":"Trouble getting positions {\"code\":\"NotAuthorized\",\"message\":\"Nonce has been used\"}","time":"2017-06-17T01:34:03.000Z","v":0}
tribeca_1        | {"name":"quotingengine","hostname":"753aeac5770a","pid":15,"level":40,"msg":"cannot compute a quote since no position report exists!","time":"2017-06-17T01:34:03.724Z","v":0}

My bad, seems like I didn't restart the network after I switched the currency pair.


Purpose of rebindings in Execute method

I've looked through Gremgo and Gremlin docs and i dont see a reference to "rebindings" and what their purpose is. Closest i could find is aliases for Graph and TraversalSource objects.

It was explained in 3.0.1-incubating version docs. Not in the current version docs however.
http://tinkerpop.apache.org/docs/3.0.1-incubating/#_rebinding


feat: add approval event

Explanation
This PR adds new approval event to handle demo connection.
Related Issues
Related to #1011
Screenshots
N/A
Manual Testing Steps

Check approval add/revoke
Check login/logout

Pre-Merge Checklist
Assignees Checklist

[x] PR template is filled out
[x] Pre-commit and pre-push hook checks are passed
[x] E2E tests are passed locally
[ ] IF this PR fixes a bug, a test that would have caught the bug has been added
[x] PR is linked to the appropriate GitHub issue
[x] PR has been added to the appropriate release Milestone

Reviewers Checklist

[ ] Manual testing checked and passed.

Fix from #1011


When parsing find_status check fields for each query not just the fir…

Related to https://xi.zulipchat.com/#narrow/stream/151315-xi-mac/topic/FindQuery/near/161411938
Review Checklist

[ ] I have responded to reviews and made changes where appropriate.
[x] I have tested the code
[x] I have updated comments / documentation related to the changes I made.
[x] I have rebased my PR branch onto xi-mac/master.

I'll take a closer look into why this is failing later

The failing tests seem to be unrelated to the change in Sources/XiEditor/Search.swift. Could you verify how it works without updating the xi-editor dependency?
If it works the issue lies either in the flakiness of the SearchIntegrationTests.swift, or the change introduced in core.


PLT-1485: Investigate issue #4826

For #4826.

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Changelog fragments have been written (if appropriate)
[ ] Relevant tickets are mentioned in commit messages
[ ] Formatting, PNG optimization, etc. are updated

PR

[ ] (For external contributions) Corresponding issue exists and is linked in the description
[ ] Targeting master unless this is a cherry-pick backport
[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

Investigation done. Created ticket for next steps.


[Issue (Request?)] :: Drawing one image at multiple coordinates

Hi,
I'm trying to make it so that I can take one image (a 16x16 image or even anything bigger) and a tile set image which is split up to draw at various locations to improve the drawing speeds.
I've modified the sf2d_draw_texture_blend_generic as follows:
//sf2d_texture.c
`static inline void sf2d_draw_texture_multi_generic(const sf2d_vertex_pos_tex vertices, int x, int y)
{
GPU_SetAttributeBuffers(
2, // number of attributes
(u32)osConvertVirtToPhys(vertices),
GPU_ATTRIBFMT(0, 3, GPU_FLOAT) | GPU_ATTRIBFMT(1, 2, GPU_FLOAT),
0xFFFC, //0b1100
0x10,
1, //number of buffers
(u32[]){0x0}, // buffer offsets (placeholders)
(u64[]){0x10}, // attribute permutations for each buffer
(u8[]){2} // number of attributes for each buffer
);
GPU_DrawArray(GPU_TRIANGLE_STRIP, 0, 4);

}
void sf2d_draw_texture_multi(const sf2d_texture *texture, const sf2d_vertex_pos_tex * vertices, int x, int y, u32 color)
{
sf2d_bind_texture_color(texture, GPU_TEXUNIT0, color);
sf2d_draw_texture_multi_generic(vertices, x, y);
}
//shared.h
typedef struct {
love_image * resource;
int maxImages;
int currentImage;

sf2d_vertex_pos_tex * * vertices;

} love_spritebatch;
//obj_spritebatch.c
const char * spriteBatchInit(love_spritebatch * self, love_image * image, int maxImages) { //love.graphics.newSpriteBatch()
if (maxImages <= 0) {
	return "Invalid amount of max images: %d";
}

self->resource = image;

self->maxImages = maxImages;

self->currentImage = 0;

self->vertices = sf2d_pool_calloc(maxImages, sizeof(sf2d_vertex_pos_tex));

return NULL;

}
int spriteBatchAdd(lua_State * L) { //Spritebatch:add()
love_spritebatch * self = luaobj_checkudata(L, 1, CLASS_TYPE);

if (self->currentImage >= self->maxImages) {
	lua_pushnumber(L, self->currentImage);

	return 1;
}

int x = luaL_checkinteger(L, 2);

int y = luaL_checkinteger(L, 3);

spriteBatchAddVerticies(self, self->resource->texture, x, y);

self->currentImage++;

lua_pushnumber(L, self->currentImage);

return 1;

}
void spriteBatchAddVerticies(love_spritebatch * self, const sf2d_texture * texture, int x, int y) {
sf2d_vertex_pos_tex * vertices = sf2d_pool_memalign(4 * sizeof(sf2d_vertex_pos_tex), 8);
if (!vertices) return;
int w = texture->width;
int h = texture->height;

vertices[0].position = (sf2d_vector_3f){(float)x,   (float)y,   SF2D_DEFAULT_DEPTH};
vertices[1].position = (sf2d_vector_3f){(float)x+w, (float)y,   SF2D_DEFAULT_DEPTH};
vertices[2].position = (sf2d_vector_3f){(float)x,   (float)y+h, SF2D_DEFAULT_DEPTH};
vertices[3].position = (sf2d_vector_3f){(float)x+w, (float)y+h, SF2D_DEFAULT_DEPTH};

float u = texture->width/(float)texture->pow2_w;
float v = texture->height/(float)texture->pow2_h;

vertices[0].texcoord = (sf2d_vector_2f){0.0f, 0.0f};
vertices[1].texcoord = (sf2d_vector_2f){u,    0.0f};
vertices[2].texcoord = (sf2d_vector_2f){0.0f, v};
vertices[3].texcoord = (sf2d_vector_2f){u,    v};

self->vertices[self->currentImage] = vertices;

}
//graphics.c
//If we found a SpriteBatch as the first argument, do this
for (int i = 0; i < spritebatch->currentImage; i++) {
sf2d_draw_texture_multi(spritebatch->resource->texture, spritebatch->vertices[i], x, y, getCurrentColor());
}`
Oddly, even though all this works it.. has issues.

It seems that drawing text (or perhaps any other operations) after what I've done ruins the drawing.
Any help as to fixing this would be greatly appreciated!

Are you careful with the pointer returned by sf2d_pool_calloc? It's data gets freed after each frame on sf2d.

Hmm how should I be preserving it?

You have to allocate it one each frame. If you want to fill an array of vertices and keep it for all the frames you should use regular malloc/memalign.


cmd/compile: amd64 addressing modes are unwieldy

There are many amd64 instructions that accept a full range of memory addressing modes. It would be nice to make use of them all.
The current approach is to give each its own op, such as BTRQmodifyidx8 or ANDQloadidx1. The problem is that this generates a large number of ops and rules. To add ANDQloadidx1, we need to find all rules starting with ANDQ and add variants for ANDQloadidx1 as appropriate. And we need to add rules (say) absorbing SHLQ of the index into the scale, and ADDQ into the offset. For an example of how many rules are involved just for adding addressing modes for CMP, see https://golang.org/cl/167089. And that's a fairly simple case, because there aren't many existing rules involving CMPQ that need indexed load analogues.
Such additions have steady incremental improvements in generated code, at the cost of developer time, reviewer time, compiler binary size, and time and memory required to build the compiler (which has proved to be an ongoing problem).
I wonder whether we can find a way to factor out some of this commonality, so we can hoover up all the incremental improvements at much less cost.
One idea is to encode the scale into AuxInt, so we'd have just idx instead of idx1, idx2, idx4, idx8. We'd need helper routines to tell us whether it's ok to adjust the scale in a particular way, since not all scales are available for all bit widths, but that is doable. The great shortcoming of this idea is that idx1 ops are commutative, but the others are not. Maybe just encode the scale for 2, 4, and 8?
Another (vague) idea is to have a separate handwritten pass after lower that does nothing but addressing modes. We'd mark ops with what kind of address modes they support in which argument slots and then do all combining then. We'd still have a combinatorial number of ops, but many fewer rules.
This is actually an instance of a broader amd64 problem around having a combinatorial number of ops (base X const? X load/store/modify X addressingmode). Maybe if we structured this all appropriately, we could generate (rather than hand code) all the ops and their encodings in amd64/ssa.go and their generated rules (like we did for commutativity).
For discussion and ideas.
cc @randall77 @mvdan @martisch @cherrymui

I'm going to close this, I think we've done enough, at least for x86. I'll open a separate issue for s390x.


BUG: ValueError when indexing using range only when length >= 1,000,000

From SO (http://stackoverflow.com/questions/33814223/strange-error-in-pandas-indexing-with-range-when-length-1-000-000)
Pandas raises a ValueError when assigning multiple values to a Series (or DataFrame) using range(x) where x > 1. This error is raised only when its length is one million or larger.
import pandas as pd

for x in [5, 999999, 1000000]:
    s = pd.Series(index=range(x))
    print('series length =', len(s))
    # assigning value with range(1), always works
    s.loc[range(1)] = 42
    # reading values with range(x>1), always works
    _ = s.loc[range(2)]
    # assigning values with range(x>1), fails only when len >= 1 million
    s.loc[range(2)] = 42

Output:
series length = 5
series length = 999999
series length = 1000000
Traceback (most recent call last):
  File "<stdin>", line 9, in <module>
  File "/home/nekobon/.env_exp/lib/python3.4/site-packages/pandas/core/indexing.py", line 114, in __setitem__
    indexer = self._get_setitem_indexer(key)
  File "/home/nekobon/.env_exp/lib/python3.4/site-packages/pandas/core/indexing.py", line 109, in _get_setitem_indexer
    return self._convert_to_indexer(key, is_setter=True)
  File "/home/nekobon/.env_exp/lib/python3.4/site-packages/pandas/core/indexing.py", line 1042, in _convert_to_indexer
    return labels.get_loc(obj)
  File "/home/nekobon/.env_exp/lib/python3.4/site-packages/pandas/core/index.py", line 1692, in get_loc
    return self._engine.get_loc(_values_from_object(key))
  File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:3979)
  File "pandas/index.pyx", line 145, in pandas.index.IndexEngine.get_loc (pandas/index.c:3680)
  File "pandas/index.pyx", line 464, in pandas.index._bin_search (pandas/index.c:9124)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Tested on pandas 0.17.0 and python 3.4.

odd, only happens on py3.

range(2) is a list in py2.x.  s.loc[list[range(2)]] = 42 works fine with py3, too.
It seems to be failing only with range object.

note that this was never supported, but fixed in #11653


refactor(docs): consolidate contribution guides

techdocs Issue 286
Consolidates all non-repo-specific contribution guide documentation into techdocs

Coverage remained the same at 96.25% when pulling 4b8e962dc11ec2040a7c62e78f623fb1c98847fa on irmerk:irmerk/contributing-developers into 5f757a434b10839229a4323d50a704400575cee0 on accordproject:master.


luaPackages.luadbi-mysql: fix overrides => fix build

we previously dropped the generated config, thus breaking the build
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

1 package marked as broken and skipped:

lua54Packages.luadbi-mysql

4 packages built:

lua51Packages.luadbi-mysql
luaPackages.luadbi-mysql (lua52Packages.luadbi-mysql)
lua53Packages.luadbi-mysql
luajitPackages.luadbi-mysql


shimv2: fix the issue of close IO stream (backport from 2.0)

It should wait until the stdin io copy
termianted to close the process's io stream,
otherwise, it would miss forwarding some contents
to process stdin.
Fixes: #2884
Signed-off-by: fupan.lfp<EMAIL_ADDRESS>

/test

Hi @chavafg
Can you take a look on the failed CI? It seems they were not related with this PR.

We can ignore sles and arm jobs, /cc @jcvenegas for clh metrics job and /cc @devimc for vfio job.

restarting vfio job

restarting vfio job

Hi @devimc
It seemed the vfio CI job always failed. Could you have a look on it?

vfio failure is unrelated. Let's merge it!


Redirecting user to wrong link

When clicked on search icon(with empty searchBox) as marked in image, user gets redirected to ' https://zoro.to/watch/rent-a-girlfriend-2nd-season-15758?ep=92568 ' , but user should be redirected to https://zoro.to/home.

hey can i work on this issue please

Please assign me this. I can do it

I can work on this, assign me !

I am assigning both @sumit-022 & @omthakare16 . Also one little add on - if the user searches wrong anime name in the Searchbox which isn't in the json data file, just alert (' Choose from the options below or write correct anime name ') .

Hey ,
This issue is fixed under PR #3
You may close this issue now.

@omthakare16  Nice


Add missing space after 'at', and 2) use abbreviated names for day…

… of week and month

@brettshollenberger Ran into this as well - can we get a merge please?


Block being able to throw the weapon to the ground

I want to create a weapon that is arms and I don't want them to be able to be thrown to the ground or be lost, and I haven't found a way to do it with this project.
Nice work.

Can't believe I didn't think of a way to disable dropping yet, will be added! Glad you like the base :)

Fixed in the latest commit!

Thanks!


Syntax highlighting bugs with triple-quoted strings

From<EMAIL_ADDRESS>on 2010-09-18T10:02:57Z
lock comments only work properly if "stacked" (opening ''' one line, closing ''' next line); if on one line the following code is colored green and font is italicized but the code still works ... so it seems to be a formatting issue
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=384

From pierre.raybaut on 2010-09-22T15:18:45Z
What version of the software are you using?
I can't reproduce this behavior in latest v2.0.

From pierre.raybaut on 2010-09-25T02:04:23Z
Ok, I see, this is only happening for an empty triple-quoted string, i.e. '''''' or """""".
Summary: Syntax highlighting bug with empty triple-quoted strings
Status: Accepted
Labels: -Priority-Medium Priority-Low

From<EMAIL_ADDRESS>on 2010-09-22T15:35:35Z
Pierre,
I am using 2.0b3 ... see screenshot
Best,
Rainer
Attachment: comment error.jpg

From pierre.raybaut on 2010-11-01T07:01:00Z
This issue was closed by revision 3b33e5c620 .
Status: Fixed

From pierre.raybaut on 2010-10-26T04:55:06Z
issue #412 has been merged into this issue.

From pierre.raybaut on 2010-10-26T04:54:48Z
Other bug ( issue #412 ):
What steps will reproduce the problem?

open or create a file with a single quote inside of a triple-quote string, where the single quote matches that used for the triple-quote (e.g. '''Hello' world''' or """Hello" world""")

What is the expected output?
the single quote doesn't interrupt the syntax highlighting since it is inside of the triple-quote string
What do you see instead?
The rest of the string is highlighted as outside of the string.  Code after the string is highlighted as inside of the string
Summary: Syntax highlighting bugs with triple-quoted strings
Labels: Milestone-Release2.0

From pierre.raybaut on 2011-04-24T07:36:41Z
This issue was closed by revision 3b33e5c6207d .


Default-on memory limit, with setting in GUI

The memory limit is on-by-default now.
There is no GUI setting, but let's open a new issue for that if it ever comes up.


WIP – Extract remote filenames into ENV variables

Who is this PR for?

Districts that want to adopt Student Insights!

What problem does this PR fix?

Districts are going to choose different names for their export files based on their own naming conventions. This is something I didn't anticipate but in hindsight it makes sense! We should make each Insights instance flexible so that districts can choose any export filename they want, instead of having to conform to our standard.

What does this PR do?

Extract file names of remote files into ENV variables that can be configured per-district

Checklist ⚠
This PR can't be merged until the Somerville Heroku instance is set up with the required ENV variables.

[ ] All ENV variables set properly for Somerville Heroku deployment

@kevinrobinson — Any comments or feedback on this strategy before I go ahead and set a bunch of ENV vars on the Somerville instance?

@kevinrobinson when you've got the chance, I have new code to review here!
I pulled all the config into a DistrictConfig class like you suggested, and added a bunch of documentation for devs around how and what to set in Heroku to make this work for a new district.
Downside to the way I set this up is that I made it difficult to inject ENV and test DistrictConfig, since it relies on assigning values a bunch of constants on app initialization. Pulling the values from the database instead of ENV would be easier to test but might be overkill at this stage (just two districts). What do you think — any suggestions for refactoring DistrictConfig to make it more easily testable?

OK, did some more work on this. Check out #1323, refactors DistrictConfig to allow injecting ENV; adds a test.

Hey @kevinrobinson, give this one another look whenever you have the chance?
I changed two main things:

Moved from using Heroku ENV to using YML (district-config.yml)
Pulled school data into the district config as well because I saw that storing that in code created some pain when I started working on import process refactor in #1321

One idea I had as I was working on this: we want each district's config to be held in a separate YML file. That kind of restriction blocks developers from making mistakes where they load the wrong district's data somehow. Trying to get the best parts of using ENV (strict per-instance segregation) and the best parts of using YML (nesting, legibility).

TK: Add the code comments back in, fix up specs

Once the specs are green again, next TODO is updating README.

@kevinrobinson Made DistrictConfig stateless yesterday and added a bunch of documentation to the README. 😎

👍 nice documentation too!

@kevinrobinson 😎

Re ran the QA steps and added little screenshots to the issue, time to 🚢 !


upload batch file from memory

i wanna upload batch of file  from memory.
does master provide assign batch of fileid API ?
master's assign API  param 'count' look like no use.

curl "http://<IP_ADDRESS>:9333/dir/assign?count=100"
{"fid":"6,0886591bb5","url":"<IP_ADDRESS>:8081","publicUrl":"<IP_ADDRESS>:8081","count":100}
curl "http://<IP_ADDRESS>:9333/dir/assign?count=0"
{"fid":"1,6c5a04f21f","url":"<IP_ADDRESS>:8081","publicUrl":"<IP_ADDRESS>:8081","count":1}

No.

The count is for reserving a few file ids, not for batch assignments.

i fill in 2 and 3 .  master return same result, just one file id.

see https://github.com/chrislusf/seaweedfs/wiki/Use-Cases#saving-image-with-different-sizes


Style not applied when using returned component

When I pass an object which is already created inside function, the style is not applied.

The background supposed to become red and I should have flexbox layout shown inside the developer tool.

I am using Astro JS as framework. Therefore if this is not a bug, the problem might occur inside Astro JS

Is the SSR script getting included on the page? Ie are you using extractCss(https://github.com/solidjs/solid-styled-components#extractcsstarget)? CSS in JS library like this will need to output a style tag on the page. Otherwise not sure timing of when JS will be run.
I'm pretty sure this works pure client-side. As for server-side I'm just guessing. A reproduction could help narrow this down.

Nope, I am not using extractCss. The picture have shown all the code I have. I do not quite understand how to use it. So if I want to export the component. Do I need to export the CSS style separately?
Or in my case, which steps I have missed to successfully export the component?

Yeah with CSS in JS libraries you need to put the CSS on the page when you SSR. To be fair I have no clue how to do this with Astro. But generally you call extractCss after server rendering and then generate the Style tag like shown in the docs and insert it in the head of your page. I don't know how Astro handles these sort of injections. Might be worth asking them. But without it the CSS won't be present when the app renders. Now it is possible something else is going on as well since once the Solid component hydrates it should rerun some of this logic in the client.

I made a failed attempt here: https://stackblitz.com/edit/github-rqtizn-easxa3?file=astro.config.mjs. The integration does not work because document does not exist to inject css
Without the extractCss, it will work only when client:load is enabled for a component since the js will inject the css at runtime but no SSR stylesheet

Yeah all CSS in JS libraries generally work this way requiring a way to serialize it out with something like extractCss I'm just not clear what Astro does here. This seems like more of an Astro question. Yeah reading the issue most CSS in JS libraries aren't built to handle their case.

I was staring at the adapter API yesterday and thought that the one place that make sense is through: https://docs.astro.build/en/reference/integrations-reference/#injectscript-option but this obviously does not work because Astro does not have an API to add to <head />
I guess another solution is potentially using vite virtual module to call extractCss and let vite inject the css to the header.
This is all my noob research theory since I am very unfamiliar with both vite and astro.
But yeah i saw both twind and goober requires the extractCss pattern. I guess a framework like svelte/vue has the advantage in this particular scenario since they don't need css-in-js and can just handle SSR their css with addRenderer API

Don't you need to forward the props to a top level tag in your component ?
Also when creating an issue, I'd generally recommend to :

provide something which can be copied (not a screenshot)
share a small example so someone can reproduce

Otherwise, it makes it harder for people who may want to help.


Externalize configuration.

Read a set of configuration values out of a file (config.py).
Checks the environment variable GA4GH_CONFIGURATION for the name of the configuration object in that file to use; default is ga4gh.server.config:Config.
Addresses issue https://github.com/ga4gh/server/issues/61.
This initial version only provides the default configuration, but in prototyping profiling I've created subclasses of Config, set new values on them, used the environment variable to select between them, and verified that the correct config was selected.

+1
On Fri Jan 09 2015 at 2:12:12 PM Tom Hudson<EMAIL_ADDRESS>wrote:

Read a set of configuration values out of a file (config.py).
Checks the environment variable GA4GH_CONFIGURATION for the name of the
configuration object in that file to use; default is ga4gh.server.Config.
Addresses #61 https://github.com/ga4gh/server/issues/61.
This initial version only provides the default configuration, but in
prototyping profiling I've created subclasses of Config, set new values on
them, used the environment variable to select between them, and verified
that the correct config was selected.
You can merge this Pull Request by running
git pull https://github.com/Naburimannu/server configure
Or view, comment on, or merge it at:
https://github.com/ga4gh/server/pull/62
Commit Summary

Externalize configuration.

File Changes

A config.py https://github.com/ga4gh/server/pull/62/files#diff-0
(4)
M ga4gh/server/init.py
https://github.com/ga4gh/server/pull/62/files#diff-1 (9)

Patch Links:

https://github.com/ga4gh/server/pull/62.patch
https://github.com/ga4gh/server/pull/62.diff

—
Reply to this email directly or view it on GitHub
https://github.com/ga4gh/server/pull/62.

Not ready to land - I'm doing something wrong in testing with virtualenv, so test runs are contaminating one another.

Should be cleaner and more correct now (modulo change in default value from ga4gh.server.Config to ga4gh.server.config:Config). For the record, necessary steps in testing from inside a virtualenv:

rm -rf build
python setup.py install
ga4gh_server ...

setup.py doesn't clean up before installing, so moved files will still be around.
Two future possibilities:

app.config.from_envvar() exists but doesn't fail cleanly if the environment variable isn't set
We might want to stick config.py in the root rather than in ga4gh/server/; this is easier to get working.

https://github.com/Naburimannu/server/commit/a464e257fdb5e7359ae5993db1ce903996759cfd uses this mechanism to turn basic timing logs on and off, as an example.

Okay for now, but maybe in the future we can have a text file in a (root) config directory that is read by config.py.  That way we don't touch the code.
~p

This looks good, thanks @Naburimannu. We definitely want a configuration interface that's easy to use, and that follows the common Flask idioms. I don't like the idea of the config file being buried inside in the code tree though, since our recommended deployment mechanism will be through PyPI. (It'll be quite hard to find ga4gh/server/config.py then, and editing the source code is not something we want to recommend.) What do you think of the pattern recommended by Flask (http://flask.pocoo.org/docs/0.10/config/#configuring-from-files)?
app = Flask(__name__)
app.config.from_object('yourapplication.default_settings')
app.config.from_envvar('YOURAPPLICATION_SETTINGS')

The default settings could come from ga4gh.server.config.py and these defaults are overridden by a file specified in an environment var. I'm not crazy about environment vars, but if it's the common idiom then I'm happy to go with it.
How do you see this interacting with ga4gh_server for development purposes? I like to have access to options via a CLI for ease of development, so I'd like to add options for most things in here. This doesn't seem to be the flask idiom though, so I'm happy to go with the consensus if people think this is pointless.
Also, how does this interact with our unit tests? What pattern should we adopt for setting up the frontend when we're testing it?
I think this is a really important aspect of usability, so it's worth our while thinking it through properly. Thanks for getting the ball rolling.

pgrosu@, jeromekelleher@: Text file in or near root is what I'd expected.
As far as a text file, from the Flask docs this is apparently one of their idioms (http://flask.pocoo.org/docs/0.10/config/#development-production). The alternative jeromekelleher@ linked to is to have a file whose contents just happen to be parseable as a bunch of python fields, but that gives you a single configuration with no structured way to create variants, which I at least wanted to explore with this PR.
As far as being in or near root, it looks like config.from_object() wants the object to be part of a module, not a free-floating file. config.from_pyfile() should avoid that. I'm currently running into all sorts of inscrutable errors dealing with paths through virtualenv and .eggs when I try to switch to config.from_pyfile(), but I'll see if I can figure that out this week.
If what you mean is to have the default configuration at ga4gh/server/config.py and an override user-edited config.py specified by environment variable, yes, I think that should work fine.
I certainly want to support command-line arguments. I think we need to use flask.cli and/or flask.script, but the recent PEP8 correctness PR removed our flask.cli include. I look at that as a likely next task.

If what you mean is to have the default configuration at ga4gh/server/config.py and an override user-edited config.py specified by environment variable, yes, I think that should work fine.

This is what I was getting at all right; sorry, should have been clearer.

New version of the PR (which has a messy history, but clean files) shows something closer to what we're looking for, then?
Loads a default configuration object. I can create a text file with a bunch of pythonic statements of the form
KEY = value
and specify the absolute file path in the GA4GH_CONFIGURATION environment variable.

Yeah, I think this is good. We can iterate on how the user defines the configuration values (and it would be really nice if we could do this from the server CLI), but I think this is a solid start for setting the defaults. We can then start filling out what our configuration values are and make progress on cleaning up the hard-coded config values that are lying around.

Done; also added a note to README.txt.
As for command-line configuration overrides, I think I see three cases, which we can implement as we need them:

choose a different set of default config values from ga4gh/server/config.py. The Flask doc with subclasses like ProductionConfig, DevelopmentConfig, TestingConfig seems to me to suggest that we can use subclassing from DefaultConfig to make it clear that we're only changing a subset of config values; we could use "--config" to select another name.

choose a different file of override config values, because we don't like environment variables. We could have something like "--config_file" to specify another path.

override individual configuration values; this has to be feature-specific.

If that makes sense I can file low-priority issues for (1) and (2).
(This work turns out to have been a bit of a distraction because as I further understand the Flask idiom I don't think I need full configuration support for performance benchmarking, but it's still something that was a TODO so probably worth doing.)

Looks good to me; please go ahead and file issues for (1) and (2) as you say.
+1 to merge.

+1
On Tue, Jan 13, 2015 at 10:30 AM, Jerome Kelleher<EMAIL_ADDRESS>wrote:

Looks good to me; please go ahead and file issues for (1) and (2) as you
say.
+1 to merge.
—
Reply to this email directly or view it on GitHub
https://github.com/ga4gh/server/pull/62#issuecomment-69761751.

Everyone seems happy with this so I'm merging. Thanks @Naburimannu.


Added Horspool

Implemented Horspool program

Hey, @Madhu-ram06 we appreciate your dedication in making a PR with 159 files but it's impossible for us to review them for Hacktoberfest! Please create an issue first instead of making a direct PR, if you did then make a PR for something which is reasonably good, legitimate and reliable for us to review and merge!
@deephunt3r Take a look :D


pkg/vm/test/transformations/type_flow/summary_collector_test fails with records and patterns enabled

I'm working to enable the experiment flags for "records" and "patterns" and this test is failing. I don't want to just update the expectations to get it to pass because I don't know what this test actually does. But it also doesn't look like a critical failure. So I'm just going to approve this failure for now and leave this bug to track it.

This is a unit test for building data flow representation (summary) which is used by global type flow analysis (TFA), a part of native AOT compiler and dart2wasm.
The expectations changed because CFE started generating sequences of if statements with extra operator== calls for old-style switch statements. Addressing https://github.com/dart-lang/sdk/issues/51391 should restore kernel AST for old-style switch statements which should fix the unit test.
I think it is fine to update the test expectations for now, as this is already tracked in https://github.com/dart-lang/sdk/issues/51391.


x/build/cmd/tip: false positive in health check

I just noticed on farmer.golang.org that there is an error in tip status monitoring. As of now, https://farmer.golang.org/status/tip says:
# "tip" status: tip.golang.org website
# Notes: https://github.com/golang/build/tree/master/cmd/tip
Error: _tipstatus page reports error: builder.Init: checkout of go: reset: fatal: Could not parse object 'a3426f2571bc6f6e55f70ad7a0e7198ecdeb10e4'.

/cc @adg

Thanks for reporting.
I've looked into this and it seems to be a false positive in the health check. The https://tip.golang.org website is currently deployed at the correct version and functioning properly. So the problem is with the health check, not tip.golang.org. I'll update the issue accordingly.

I've found the root cause. This was a fun one. :)


Not updating changes

The status of entry sensor is not updating, when I open (or close) a door it stay in the same status (opened or closed). It only change when I reboot home bridge

Awesome plugin!

Right now I believe it's only updating status when it refreshes the data according to the polling interval. The default is 10 mins but in the config you can change it. Haven't tested a different polling interval though personally.
Hope to find a better solution for this, it's kind of annoying.

In fact, we do report the the open/close but relying on the polling interval which is 10min by default or push notification. For this last if you select a security profile (home, away, cust), you have to enable to mouvement reaction and push notification. If you do so, the status is updated right away (but you will receive notification on your phone as well each time the status change if you have the application installed ).

i see, when I activate the push notification in Eufy security, it update instantly. Ok, so when im in home I don't want to eufy send me notifications, so I think that the minimum is to put the polling interval  = 1?

Hello,
You right ! It's done because HomeKit will triggered the event of getting or if we receive a push notification.
I think we shouldn't rely on polling the value, I can see I can get ban for a day because I generated too much requests.
Regards,
Aurelien

How many requests did you send 🤔😅

A lot, but since the push notification it's more easy to debug without doing too much request. I've to setup a dedicated account link to the first one to avoid blocking everything.

I just tested this and can verify that the push notifications for entry sensor works.

I think refreshData could be used to discover newly added devices to the hub. But it is a "nice to have" feature. And probably not worth implementing :)

Yeah but the Eufy app is really noisy when enabling push while at home. Does p2p would work without the need of enabling push ?

It does look like there's another way to get updates using p2p based on eufy-security-client code. Looks like there are some emitters that could be used but just haven't had time to dig into it yet. I could be completely wrong. Maybe the examples in this library would be helpful: https://github.com/bropat/eufy-security-ws


Bubble up session loop's exceptions

When a session loop the exception is simply logged and lost, so the error status is not reported to the broker.
This PR interrupt the session loop on an exception, saving the error in a local variable.
When the PostOffice terminates it re-throw the first (and last) exception that was reached during session loop
execution.

Hi @hylkevds
please may I ask your review on this?

This requirement come out to me during debugging of a failed test, where the expectation didn't match.
The problem was that an error happened in the SessionEventLoop and wans't logged because the log, in this case, is at info level.
So I thought that also logging at WARN or ERROR without creating an impact on the execution wouldn't help to be aware of which error happened and where it happened. So if for any reason, a SessionEventLoop dies in tests, the test should fail.
This is contrary to what Netty event loop does, where it prints the error and continue.
But on the case of session event loop, if something gone bad, it's useless to continue and just reporting on the logs the error.

I think, if an SessionEventLoop is killed, the entire server should exit.

Yes maybe this proposal is more sensible. I think that the exception handler of every SessionEventLoop should have a reference to the Server and command an emergency shutdown, without consuming any session command queue, and avoiding to send DISCONNECT messages to all the live sessions.
WDYT?

Yes, I agree.
We'll also need a hook, so that an embedding application can catch the state and decide what to do.

Hi @hylkevds
I've pushed some changes, extending the interception framework to notify the library's users of errors in event loops.


net: cnvt ipmanager to ipam plugin; make use of ipam plugins

Convert ipamanager into IPAM plugin (static) that uses env
variables instead of cmd line args
Make bridge and veth plugins call out to IPAM plugin
Refacor code around the new IPAM plugins

see comments, otherwise lgtm


How to initialize dynamoose?

I'm trying to connect to a local dynamoDB in my machine but I always get the error, "ConfigError: Missing region in config."
By the way, I'm using Typescipt in my Node.js app.

Try setting your env variable for the region (even though it's not really needed for local).
export AWS_REGION="us-east-1"

Its seems to be the expected behaviour in aws-sdk aws/aws-sdk-js#880. By default it creates different database files for each region (unless specified)
Shall we close this one then?

I didn't have time to resolve this. I'll get back on this if I can.


K8petstore

Here it is ! I've finished automating and testing this at 20 and 40 nodes, and added a throughput indicator.
You can see some interesting behaviour happens at times, i.e. flatlining, haven't determined quite exactly why yet, could be a minor glitch in the generator , but since its stochastic, i think its related to stability of containers in certain scenarios.
Ive ran this on up to 40 nodes to generate up to around 500,000 transactions in total.
Would love to scale it further.
All docker code is contained here, including the redis containers themselves so things like /etc/redis conf files can be customized, and also, so that we pegs a specific version to avoid goredis api compatibility syncing issues...  w/ excpetion of the bigpetstore data generator, which is already curated in apache bigtop (documentation is in the README for that as well).
To run ?  Just run k8petstore.sh :)

@jayunit100 please can you suggest a reviewer(s)?

Hi satnam.  Possbly @brendanburns , and yourself @satnam6502 might be able to review this .   It should be very easy to test (just run k8petstore.sh and modify the variables at the top, which are self explanatory, as you see fit)

(fyi, the official issue tracker is https://github.com/GoogleCloudPlatform/kubernetes/issues/5260 )

Thanks for the suggestions. I'm on call today so I've asked Brendan to help out.

Cool, some minor comments on the docs, but generally LGTM.
Thanks for doing this!
--brendan

okay updated @brendanburns  !

Sorry, one more thing, can you run gofmt on:
./examples/k8petstore/web-server/src/main/PetStoreBook.go
Thanks!
--brendan

okay, done.  thats a neat tool.  didn't know about it

Ugh, travis is trying to build your example code:
https://travis-ci.org/GoogleCloudPlatform/kubernetes/jobs/54292082
We should either include the right libraries in our Gopath, or block travis from building this somehow.

hiya, okay, i;ll look into adding the libraries.  Im not sure where to add them so if its non obvious just ping in this thread :)... will update when im done.

okay, pushed an to GoDeps ........... we will see if it works.  thanks for noticing that !~

Well, looks like the build still fails.  I think i have a way to reproduce faithfully now .  I guess one option is to rename src to _src .... but that is only a temporary fix.

Well, I got the build working locally:
[jay@rhbd kubernetes]$  go build -v ./... 2>&1 | grep examples
_/home/jay/gopath/src/github.com/GoogleCloudPlatform/kubernetes/examples
_/home/jay/gopath/src/github.com/GoogleCloudPlatform/kubernetes/examples/liveness/image
_/home/jay/gopath/src/github.com/GoogleCloudPlatform/kubernetes/examples/k8petstore/web-server/src/main
[jay@rhbd kubernetes]$ pwd
/home/jay/gopath/src/github.com/GoogleCloudPlatform/kubernetes

I will see if i can follow the directions in the developer docs to build it cleanly.  maybe its just working b.c of the local deps which are on my machine, (i.e. possibly i didn't add them correctly into the Godeps json file)

@brendandburns okay, i did the temporary disablement of the src dir by moving to _src.
As a follow on , lets work on https://github.com/GoogleCloudPlatform/kubernetes/issues/5465, as part of which we can get rid of needing to do stuff like that, and bring examples/ into the build

(bump) tl;dr this is now passing and ready to merge - i shaded the src package to _src, and updated the dependencies.  maybe in a future build, it will pass once travis integrates examples/ src properly.

Squash before merge (once final sign offs are given) please.

Squashed into 2 commits (original patch in the first ; cleanup in the second).

LGTM, will merge on green.

lgtm, but needs rebase and squash.

okay , rebased and squashed into 3 commits (one containing the fixes which jeff pushed, one containing the cleanups which i made after the original patch, and one with the original code dump).   thanks for your help Jeff and Brendan !

merged!


Why not use golang's ed25519 library?

I noticed you're using github.com/agl/ed25519. But intuitively golang's implementation should be safer and more efficient. Have you thought about using golang.org/x/crypto/ed25519?

Already fixed :smile:: https://github.com/libp2p/go-libp2p-crypto/issues/17

When we started using it it wasn't in the std library (agl is the one who wrote it and now it is in the std lib).


Sequence Diagram of Integration with Chainvine.

Link to Chainvine SDK API EVENTS TRACKING: https://docs.chainvine.xyz/technical/overview/events
Link to Chainvine SDK API Referral Links: https://docs.chainvine.xyz/technical/overview/referral-url

Posting the first version: (I wanna confirm tomorrow early with Chainvine if this is the correct flow)

Basically the Referral Link Generation looking at the API seems to be our own custom logic.
To redirect to the project with the wallet address of the referrer.
Aside from that, the donation flow and cronjobs is the same that we have, but when a donation is verified with our cronjob.
We send the event for tracking in to their platform.
The givback calculations part is manual still. We could look into automating this.
We could ask them to provide an endpoint to retrieve the list of successful referrals. (or we save them on our side).

Wow thanks @CarlosQ96
I love to invite other team-mates to take a look @mateodaza @aminlatifi @MohammadPCh @MohammadPCh

@CarlosQ96 Thanks for preparing this. Does any user see the chainvine frontend/dashboard by this flow? It looks like we proxy everything.

Updated the diagram, they provide a frontend we must configure to allow users to enter and view their referrals and rewards. I am unclear of the configuration I'll ask or we should probably with @ahmadabugosh  begin configuring it.

@CarlosQ96 Thanks, can I have high resolution version of this diagram?

Thanks @CarlosQ96! So for Frontend and Backend on the left of the diagram, is that our Frontend and Backend? Since I think the generating of the link is on the Chainvine platform.
Let's have a call with them this week or early next week to go through the flow and user stories and make sure we understand it.
Besides you, who wants to be on the call, @aminlatifi @MohammadPCh ?

@ahmadabugosh I like

Updated Diagram @MohammadPCh @aminlatifi @ahmadabugosh @MoeNick
IF not here is the link!!!!
https://mermaid.ink/img/pako:eNp1Vslu2zAQ_ZWBLm0B9wd0CBDbbWE0aIy4cS6-0NTIYkyRKklZcIP-e2eozbGVIAdJnOW9Nwv9lkibYZImHv_UaCQulTg4Ue4M0J-QwTp4whydQ3fzDXFnuo91sKYu971RJVxQUlXCBPjurAlostuTuZDHyYNFIZQ5KYO3Rz_UaSG0rLUIypqNdKoKt1bLeY-sBw9f7-4GKClsFTYeQoGdgdCwdpaZw4MwmTIHWIsDAj2D1EoePbxa1cXsw8SYA9YUHis0HmT_gbFiKOB5BTlJVntCESw4PCgf6JljH9CgEwFBK3NsoxtLr_aEo_Ap3OfscMAQGBnbzhj8GaQw4AvhkCPTF-Ugd4qw-Qn6XdFS2LCHb9-J-Zi7s5gi1r5vR15E65qNw0w5DD3xytlXlMFTAh-BVywpSeErlCpXsrfgQJk1pEMLY0h9VbWViSV7fnroSA_0GqE1hmsBLygsah9sya6es10j8NAorWGPoMpKY4mUMYP9-aKaTHDI9xLzgTJQO00BLXx-Wa2_3Ko4gl9Ggp7guZK8z5SRNDq0UuXaNq0FdfVEl3WjQqXj2rZikSU9iSAIhtR1bFqWx02J0gWIwZZziiNOhKXP2GIZ2C0paOu2nL9P_3jTpMNRy6tlEkEWJEI_htraCjZnIwtipf7ikNnDC6f-haGx7ggLOn61-9bpGvdcW3mMBaF6FiiPI34fRKj9hdtg-h7_4LBFR_XHbDoTK_RcZbFe2Uc5brT5OR3sogu5erFGwZEBFwxP1Gpg88lSkJwPNJvAyWsp0fu81hfFH2b-fr0ac0_0P52nFIWajjfRqeM-RhqdL10-pjdR_t-F8kD_jjYSJyFi7gwGm1FAoRtx7nLFvT817VMLvm_7xWbLnGsfh7GhrWlFBirEhHL08lOBx21Km_6kMirtMGIUVNuDMjM40cXQTZDQvttqjXD9Qp1eLkOiYXtwbVlCbxknSfApUCAqAOnANEphaiovN_3Ha_-RLmR6bTcsRphjKuqiQhBC7ouxE9qtLON0dMBngEH2YiezpEQaVJXRpf_G33YJeZa4S1J6zDAXtQ67ZGf-kWkdZ-BbpujOT9LgapwlfNfzJPfvrU33uyFJc5IN__0HebjaLA?type=png

Here is the mermaid link if you want to edit it: https://mermaid.live/edit#pako:eNp1Vslu2zAQ_ZWBLm0B9wd0CBDbbWE0aIy4cS6-0NTIYkyRKklZcIP-e2eozbGVIAdJnOW9Nwv9lkibYZImHv_UaCQulTg4Ue4M0J-QwTp4whydQ3fzDXFnuo91sKYu971RJVxQUlXCBPjurAlostuTuZDHyYNFIZQ5KYO3Rz_UaSG0rLUIypqNdKoKt1bLeY-sBw9f7-4GKClsFTYeQoGdgdCwdpaZw4MwmTIHWIsDAj2D1EoePbxa1cXsw8SYA9YUHis0HmT_gbFiKOB5BTlJVntCESw4PCgf6JljH9CgEwFBK3NsoxtLr_aEo_Ap3OfscMAQGBnbzhj8GaQw4AvhkCPTF-Ugd4qw-Qn6XdFS2LCHb9-J-Zi7s5gi1r5vR15E65qNw0w5DD3xytlXlMFTAh-BVywpSeErlCpXsrfgQJk1pEMLY0h9VbWViSV7fnroSA_0GqE1hmsBLygsah9sya6es10j8NAorWGPoMpKY4mUMYP9-aKaTHDI9xLzgTJQO00BLXx-Wa2_3Ko4gl9Ggp7guZK8z5SRNDq0UuXaNq0FdfVEl3WjQqXj2rZikSU9iSAIhtR1bFqWx02J0gWIwZZziiNOhKXP2GIZ2C0paOu2nL9P_3jTpMNRy6tlEkEWJEI_htraCjZnIwtipf7ikNnDC6f-haGx7ggLOn61-9bpGvdcW3mMBaF6FiiPI34fRKj9hdtg-h7_4LBFR_XHbDoTK_RcZbFe2Uc5brT5OR3sogu5erFGwZEBFwxP1Gpg88lSkJwPNJvAyWsp0fu81hfFH2b-fr0ac0_0P52nFIWajjfRqeM-RhqdL10-pjdR_t-F8kD_jjYSJyFi7gwGm1FAoRtx7nLFvT817VMLvm_7xWbLnGsfh7GhrWlFBirEhHL08lOBx21Km_6kMirtMGIUVNuDMjM40cXQTZDQvttqjXD9Qp1eLkOiYXtwbVlCbxknSfApUCAqAOnANEphaiovN_3Ha_-RLmR6bTcsRphjKuqiQhBC7ouxE9qtLON0dMBngEH2YiezpEQaVJXRpf_G33YJeZa4S1J6zDAXtQ67ZGf-kWkdZ-BbpujOT9LgapwlfNfzJPfvrU33uyFJc5IN__0HebjaLA

To summarize of tasks of the last meeting, about the implementation.

Configure chainvine admin to redirect to Giveth all projects page. (one general link for all referral links).
Note: Chainvine devs will implement users to configure to the donate page of a specific project per link. (WIP)
Create a landing page or somewhere in giveth.io that invites user to REGISTER on our Chainvine Referal Program and generate the link to invite their friends to donate.
Add a code snippet that detects and grabs the referrer wallet address from url when someone open giveth.io through a referral link.
Backend will save the donation normally but if there is a Referrer wallet, include it in the DB.
Modify VerifyDonationsWithBlockchain cronjob to send data to chainvine through their API when a donation is verified as successful.
Implement a script to extract referrals/rewards/ from chainvine. (CSV available in their UI at first, Chainvine devs working on API)

@MoeNick @ahmadabugosh @aminlatifi I think those are the general tasks I could think of, feel free to edit and suggest.

Thanks @CarlosQ96 !
For:

Did you already create the admin panel? Can you add us to it please (I think you can do it through our eth addresses)?
For this, it's optional (we could launch without it), we could even put it in the Giveth docs to start, then when we have bandwidth @mosaeedi can make a section on our site too
You mean this one? I think that's also optional (if we want to bypass their normal site flow)
Besides their SDK (to track events), why is it necessary to store the referrer wallet in our DB when Chainvine is tracking it? Is it so we have the data ourselves?
Yes
For this one, they said they'll work on it but it's not blocking the other steps

For next steps, should we start putting these in the epic? @MoeNick

To summarize of tasks of the last meeting, about the implementation.

Configure chainvine admin to redirect to Giveth all projects page. (one general link for all referral links).
Note: Chainvine devs will implement users to configure to the donate page of a specific project per link. (WIP)
Frontend/Design: Create a landing page or somewhere in giveth.io that invites user to REGISTER on our Chainvine Referal Program and in their ChainvineUI, generate the link to invite their friends to donate.
Frontend: Add a code snippet that detects and grabs the referrer wallet address from url when someone open giveth.io through a referral link.
Backend: Install their SDK and save the donation normally but if there is a Referrer wallet, include it in the DB.
Backend: Modify VerifyDonationsWithBlockchain cronjob to send data to chainvine through their API when a donation is verified as successful.
Backend: Implement a script to extract referrals/rewards/ from chainvine. (CSV available in their UI at first, Chainvine devs working on API)

Let's include the referrer address somewhere in the API call! A user may do two donations with different referral links, so close to each other. Sending referral link from our side will be more precise than their approach.
Why do we need to import data anymore? we have had it in front.

@aminlatifi for GIVbacks issue can you add it to this list?

@MoeNick to split it down.

I splitted the tasks based on @CarlosQ96 list, if we still have some dark areas about our analysis, I think we have to have another meetings with them @ahmadabugosh @CarlosQ96 @aminlatifi

heads up for updating the doc if we had any changes.


Implement Progress Bars for Objective Tracking

Description:
Design and integrate progress bars into the game UI to visually represent players' progress towards completing objectives within a level.
Acceptance Criteria:

Progress bars accurately reflect the completion of objectives, update in real time, and are visually appealing.

#45


configure flyout/tabbed flyout (possibly modified accordion) for lefthand toolbar

Save status of this to localStorage like we are doing with the number of search results to remember user setting.


Forced import of activities with multiple uids overwrites data

Example:
Activity { uids = [ polar:1234, strava:1234 ] }
When doing an import -f polar:1234 activity data fetched from strava will be overwritten.

The field uids does not exist any longer in this form, so this issue is obsolete.


Blinds show wrong state

Hello Magnus,
I have Jung Blinds actuators and they show the wrong state using this integration. When they are fully openend they show up as fully closed. I guess the problem is that in the code 100 is mapped to fully open which is the other way round for my blinds actuators.
I could provide any debug information if needed.
Regards
Jörg

Hi Jörg,
I do not have any blind actuators in my setup, so any help debugging this would be appreciated.
Can you provide a table where you set the blind from the enet app to Closed, Open and show the corresponding state in Home Assistant?
Thanks,
Magnus

Heres a quick table I created, the values in Home Assistant are inverted and can even go beyond 100%

eNet App
Home Assistant

0% (open)
Closed

15%
216%

35%
165%

59%
104%

83%
43%

97%
7%

100% (closed)
Opened

Thanks!
Can you also test the other way around, ie set it from HA and read the state in the enet app?

Sure

Home Assistant
eNet App
Value shown in Home Assistant once it reaches destination

Closed
0% (open in reality)
Closed

83%
68%
81%

57%
78%
56%

17%
94%
15%

Open
100% (closed in reality)
Open

Also the UI control does not match the physical reality.

The blind in the control is dragged fully down but it says open? Should be the extact opposite...not sure if this is related to the underlying issue

I just pushed a new release that I hope should resolve this. Please test it and let me know.

Great that you have it running with debug. I am very much in the blind here... Did you remember to change the is_open() function as well?

That fixed the open / closed confusion. Now just the UI still needs to be fixed. Any hints on how to make the blind closed (i.e. fully down) when it's closed and vice versa?

Great progress! My guess would be that is_open() is what drives the label / text, and that the UI is from the integer value.

I tinkered with the code a bit and finally found the solution for my shutters / blinds. I really do not know the best english word for german "Rollladen", which is something that rolls down outsied over the windows.

Thanks for figuring this out. I have merged your pull request and published a new version. Looking at the description of device classes at https://www.home-assistant.io/integrations/cover/  the shade may sound most like what you describe.


CR012: Add a dropdown with user profiles on Sign Up

Background
Sefaria asks new users if they are "educators". We want to know the educational background of our users instead.
input
table 3 in Figma board

Add translator in the list


Not An Issue . Its A Request

Could You Please Mention The Feaures Of The Scripts

Added to README.md


Scan QR Code

Description of the new feature / enhancement
QR code scaning fature
It can have through these way to scan QR code:

take a screenshot
from image file
from camera

If the result is a URL, open it in web browser. Else, show the result and it can be saved.
Scenario when this would be used?
If my friend send me a QR code, I have to find my mobile phone and use it to scan the code. Or I have to save the picture which have QR code and upload to some webside to scan it.
Supporting information
No response

The thread already exists (sadly, for two years already, with no movements at all)
https://github.com/microsoft/PowerToys/issues/4859#issue-653261091

/dup  #4859