Link text editing difficult/frustrating

Text editing on links is currently quite difficult, as when selecting the whole link text, it can not be replaced edited
https://user-images.githubusercontent.com/2949816/183913959-f9e468c3-f465-4737-ba3d-93af397ce0b2.mov
I propose to simplify link editing like this:
https://user-images.githubusercontent.com/2949816/183913420-2eb65aa7-0076-46a1-80b1-f0835d300d9f.mov
cc @zurfyx

I like this idea - I think this is the standard.
Bonus point: get rid of that weird behavior in the link edit toolbar where trying to focus the input navigates you to the URL.

Descoping this for the moment as I think the functionality of the Link Nodes in the playground is useful for helping us to debug any related issues. I think for independent surfaces, this could be quite easily added.

Hey @thegreatercurve. Any hints on how one could implement the proposed change in user-land?


Add new RSpec/SortMetadata cop

This cop sorts the RSpec metadata alphabetically:
  # bad
  describe 'Something', :b, :a
  context 'Something', foo: 'bar', baz: true
  it 'works', :b, :a, foo: 'bar', baz: true

  # good
  describe 'Something', :a, :b
  context 'Something', baz: true, foo: 'bar'
  it 'works', :a, :b, baz: true, foo: 'bar'

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

If you have created a new cop:

[x] Added the new cop to config/default.yml.
[x] The cop is configured as Enabled: pending in config/default.yml.
[x] The cop is configured as Enabled: true in .rubocop.yml.
[x] The cop documents examples of good and bad code.
[x] The tests assert both that bad code is reported and that good code is not reported.
[x] Set VersionAdded in default/config.yml to the next minor version.

Closes #1325

Frankly speaking, I found this part of the original PR less useful than the key: true <-> :key cop.
Last time I ran the cop on real-world-rspec, sorting was doubtfully useful at best.

Which original PR do you mean?

This part of #1325 that was later removed by the author. Here I suggested extracting that part into a separate cop, but that other cop slipped through the cracks.

I suggested extracting that part into a separate cop

The reason I've suggested extracting to another cop was my opinion that a cop that would transform focus: true to :focus would be more usable than the one performing a doubtfully useful alphabetical sorting of e.g. :request, :public, :ab_test.
In most of the cases what this cop detected in real-world-rspec, I would personally add a rubocop:disable.

On a side note, I think we need to release a bug-fix release before merging the new cop


in 2.2.0 macros will not import

Macros in 2.2.0 will not import for me. I have tried on 2 different computers with clean installs and upgrades. I always get the same error line 213 of storage.lua I will post the error below. These same macros import just fine in 2.1.7
Date: 2017-10-01 10:57:28
ID: 2
Error occured in: Global
Count: 1
Message: ..\AddOns\GSE\API\Storage.lua line 213:
bad argument #1 to ‘getn’ (table expected, got nil)
Debug:
[C]: getn()
GSE\API\Storage.lua:213: ImportSerialisedSequence()
GSE_GUI\Import.lua:97: GUIImportSequence()
GSE_GUI\Import.lua:44:
GSE_GUI\Import.lua:44
(tail call): ?
[C]: ?
[string “safecall Dispatcher[4]”]:9:
[string “safecall Dispatcher[4]”]:5
(tail call): ?
Ace3\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
…dOns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:22:

Hi Rody
I can't get this error to occur.  Can you please give Ma a sample of what you are importing?
TimothyLuke

On 2 Oct 2017, at 7:33 am, RodyMcAmp<EMAIL_ADDRESS>wrote:
Macros in 2.2.0 will not import for me. I have tried on 2 different computers with clean installs and upgrades. I always get the same error line 213 of storage.lua I will post the error below. These same macros import just fine in 2.1.7
Date: 2017-10-01 10:57:28
ID: 2
Error occured in: Global
Count: 1
Message: ..\AddOns\GSE\API\Storage.lua line 213:
bad argument #1 to ‘getn’ (table expected, got nil)
Debug:
[C]: getn()
GSE\API\Storage.lua:213: ImportSerialisedSequence()
GSE_GUI\Import.lua:97: GUIImportSequence()
GSE_GUI\Import.lua:44:
GSE_GUI\Import.lua:44
(tail call): ?
[C]: ?
[string “safecall Dispatcher[4]”]:9:
[string “safecall Dispatcher[4]”]:5
(tail call): ?
Ace3\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
…dOns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:22:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi Timothy,
It does not seem to matter what I am importing every macro I have tried fails with the same error. The specific macro was one of qween's, I will post it below. The only thing I haven't tried is deleting all my other addons, which is possibly an issue, but between the two computers, I run they have different addon sets, and these work flawlessly in 2.1.7.
 Sequences['AOTBGween'] = { -- This Sequence was exported from GSE 2.2.00.   Author="Neewg@Bleeding Hollow",   SpecID=253,   Talents = "2131133",   Help = [[Press CTRL to switch macro into AOE mode.  Release CTRL for Single Target mode. Press SHIFT to utilize Interupts, stuns, CC. Press ALT to heal or rez your pet. Talents - 3131x33 or 2131x33, can also choose AMOC if desired. Tab 1 - Main Macro, complex and includes modifiers Tab 2 - Modifiers removed Tab 3 - Version for those not using Legendary Boots (Qa'Pla)]],   Default=1,   MacroVersions = {     [1] = {       StepFunction = "Priority",       KeyPress={         "/targetenemy [noharm][dead]",         "/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",         "/cast [combat,pet:Spirit Beast,@player] Spirit Mend",         "/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",         "/cast [combat] Bestial Wrath",         "/cast [combat] Blood Fury",         "/cast [combat] Titan's Thunder",         "/cast [combat] Aspect of the Wild",         "/cast [mod:shift] Counter Shot",         "/cast [mod:shift] Intimidation",         "/cast [mod:shift, @cursor] Binding Shot",       },       PreMacro={       },         "/castsequence Kill Command, Dire Beast",         "/cast [talent:6/1] A Murder of Crows; [mod:alt] Revive Pet",         "/cast [mod:ctrl] Multi-Shot; [mod:shift] Cobra Shot; [mod:alt] Revive Pet",         "/cast [nomod:ctrl] Kill Command",         "/cast [nomod:ctrl] Kill Command",         "/cast [nomod:ctrl] Cobra Shot",       PostMacro={       },       KeyRelease={       },     },     [2] = {       StepFunction = "Priority",       KeyPress={         "/targetenemy [noharm][dead]",         "/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",         "/cast [combat,pet:Spirit Beast,@player] Spirit Mend",         "/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",         "/cast [combat] Bestial Wrath",         "/cast [combat] Blood Fury",         "/cast [combat] Titan's Thunder",         "/cast [combat] Aspect of the Wild",         "/cast [mod:shift] Counter Shot",         "/cast [mod:shift] Intimidation",         "/cast [mod:shift, @cursor] Binding Shot",       },       PreMacro={       },         "/castsequence Kill Command, Dire Beast",         "/cast [talent:6/1] A Murder of Crows; Dire Beast",         "/cast Kill Command",         "/cast Cobra Shot",       PostMacro={       },       KeyRelease={       },     },     [3] = {       StepFunction = "Priority",       KeyPress={         "/targetenemy [noharm][dead]",         "/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",         "/cast [combat,pet:Spirit Beast,@player] Spirit Mend",         "/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",         "/cast [combat] Bestial Wrath",         "/cast [combat] Blood Fury",         "/cast [combat] Titan's Thunder",         "/cast [combat] Aspect of the Wild",         "/cast [mod:shift] Counter Shot",         "/cast [mod:shift] Intimidation",         "/cast [mod:shift, @cursor] Binding Shot",       },       PreMacro={       },         "/cast Kill Command",         "/cast Dire Beast",         "/cast [talent:6/1] A Murder of Crows; Dire Beast",         "/cast [mod:alt] Revive Pet; Kill Command",         "/cast Cobra Shot",       PostMacro={       },       KeyRelease={       },     },   }, }

Sequences['AOTBGween'] = {
-- This Sequence was exported from GSE 2.2.00.
Author="Neewg@Bleeding Hollow",
SpecID=253,
Talents = "2131133",
Help = [[Press CTRL to switch macro into AOE mode.  Release CTRL for Single Target mode.
Press SHIFT to utilize Interupts, stuns, CC.
Press ALT to heal or rez your pet.
Talents - 3131x33 or 2131x33, can also choose AMOC if desired.
Tab 1 - Main Macro, complex and includes modifiers
Tab 2 - Modifiers removed
Tab 3 - Version for those not using Legendary Boots (Qa'Pla)]],
Default=1,
MacroVersions = {
[1] = {
StepFunction = "Priority",
KeyPress={
"/targetenemy [noharm][dead]",
"/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",
"/cast [combat,pet:Spirit Beast,@player] Spirit Mend",
"/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",
"/cast [combat] Bestial Wrath",
"/cast [combat] Blood Fury",
"/cast [combat] Titan's Thunder",
"/cast [combat] Aspect of the Wild",
"/cast [mod:shift] Counter Shot",
"/cast [mod:shift] Intimidation",
"/cast [mod:shift, @cursor] Binding Shot",
},
PreMacro={
},
"/castsequence Kill Command, Dire Beast",
"/cast [talent:6/1] A Murder of Crows; [mod:alt] Revive Pet",
"/cast [mod:ctrl] Multi-Shot; [mod:shift] Cobra Shot; [mod:alt] Revive Pet",
"/cast [nomod:ctrl] Kill Command",
"/cast [nomod:ctrl] Kill Command",
"/cast [nomod:ctrl] Cobra Shot",
PostMacro={
},
KeyRelease={
},
},
[2] = {
StepFunction = "Priority",
KeyPress={
"/targetenemy [noharm][dead]",
"/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",
"/cast [combat,pet:Spirit Beast,@player] Spirit Mend",
"/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",
"/cast [combat] Bestial Wrath",
"/cast [combat] Blood Fury",
"/cast [combat] Titan's Thunder",
"/cast [combat] Aspect of the Wild",
"/cast [mod:shift] Counter Shot",
"/cast [mod:shift] Intimidation",
"/cast [mod:shift, @cursor] Binding Shot",
},
PreMacro={
},
"/castsequence Kill Command, Dire Beast",
"/cast [talent:6/1] A Murder of Crows; Dire Beast",
"/cast Kill Command",
"/cast Cobra Shot",
PostMacro={
},
KeyRelease={
},
},
[3] = {
StepFunction = "Priority",
KeyPress={
"/targetenemy [noharm][dead]",
"/cast [nopet,nodead] Call Pet 1; [@pet,dead] Heart of the Phoenix",
"/cast [combat,pet:Spirit Beast,@player] Spirit Mend",
"/cast [target=focus, exists, nodead],[target=pet, exists, nodead] Misdirection",
"/cast [combat] Bestial Wrath",
"/cast [combat] Blood Fury",
"/cast [combat] Titan's Thunder",
"/cast [combat] Aspect of the Wild",
"/cast [mod:shift] Counter Shot",
"/cast [mod:shift] Intimidation",
"/cast [mod:shift, @cursor] Binding Shot",
},
PreMacro={
},
"/cast Kill Command",
"/cast Dire Beast",
"/cast [talent:6/1] A Murder of Crows; Dire Beast",
"/cast [mod:alt] Revive Pet; Kill Command",
"/cast Cobra Shot",
PostMacro={
},
KeyRelease={
},
},
},
}

Hi Rody
That's for that.  That macro Imported for me straight in without issue.
When you do a clean install did you backup and remove the GSE.lua file from the WTF directory?  As whatever is causing this is local to you it's either a corrupt GSE.lua file or it's a conflicting mod.
TimothyLuke

On 2 Oct 2017, at 11:23 am, RodyMcAmp<EMAIL_ADDRESS>wrote:
Sequences['AOTBGween'] = {
-- This Sequence was exported from GSE 2.2.00.
Author="Neewg@Bleeding Hollow",
SpecID=253,
Talents = "2131133",
Help = [[Press CTRL to switch macro into AOE mode. Release CTRL for Single Target mode.
Press SHIFT to utilize Interupts, stuns, CC.
Press ALT to heal or rez your pet.
Talents - 3131x33 or 2131x33, can also choose AMOC if desired.

Reply to this email directly, view it on GitHub, or mute the thread.

Thank Timothy,
I had no clue there was a GSE.lua file... I deleted that file and bam importing works on both computers with GSE2.2.0
Thank you very much for pointing me in the right direction.
Rody

That file is where WoW saves what you import.
TimothyLuke

On 2 Oct 2017, at 11:23 am, RodyMcAmp<EMAIL_ADDRESS>wrote:
Sequences['AOTBGween'] = {
-- This Sequence was exported from GSE 2.2.00.
Author="Neewg@Bleeding Hollow",
SpecID=253,
Talents = "2131133",
Help = [[Press CTRL to switch macro into AOE mode. Release CTRL for Single Target mode.
Press SHIFT to utilize Interupts, stuns, CC.
Press ALT to heal or rez your pet.
Talents - 3131x33 or 2131x33, can also choose AMOC if desired.

Reply to this email directly, view it on GitHub, or mute the thread.


Universal support for bfloat16 data, ie saving results of float32 operations as bfloat16 to memory by truncating

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): 2 (google colab)
Are you willing to contribute it (Yes/No): ?

Describe the feature and the current behavior/state.
bfloat16 is a truncated float32. That means that any float32 value can be cast to bfloat16 by simply discarding the high two bytes, for example by a 16bit-shift or mask and saving the remaining bits into a 2-byte type, or packing two truncated floats into a 4-byte type. Such operations are available universally. Currently, bfloat16 is only supported on TPUs and some CPUs, which makes sense because those also accelerate computation on bfloat16 values.
But all devices can benefit from bfloat16 data even when there is no half-precision computation support of any form: By doing calculations in float32, but truncating the results to 16bits ("casting" to bfloat16) before saving to memory, and expanding back to 32bits after loading from memory, one can improve memory utilization (allowing larger models) and also increase the effective memory bandwidth.
This would not utilize fast half-precision processing, but that is effectively unusable for training anyways when there is no fast mixed-precision support.
Because bfloat16 has the same range of values as float32 but at a lower precision, it can solve the problem of underruns/overflows arising when using pure float16 when training on devices that do not support mixed precision, while still providing the memory size and bandwidth benefits of 16-bit data.
Currently, setting the dtype policy to "bfloat16" like so:
policy = tf.keras.mixed_precision.experimental.Policy('bfloat16') tf.keras.mixed_precision.experimental.set_policy(policy)
Does not raise errors immediately, but results in type errors when building the model:
Value for attr 'T' of bfloat16 is not in the list of allowed values: double, float, half, complex64, complex128 [...]
Some tensorflow operations and layers do not support bfloat16 on the Tesla T4 used in colab, notably LSTMs. Removing such layers allows building the model, but will raise another type error when attempting to train the model via model.fit().
Will this change the current api? How?
No change, support for bfloat16 already exists for certain devices. Implementing this feature could be done via creating another mixed-precision policy, like "data-bfloat16".
Who will benefit from this feature?
Everybody that uses devices without mixed precision or even any half precision support (for reference, only Volta, Turing, and Ampere GPUs support fast mixed precision. The still widely-used Pascal GPUs like the P100 don't support it), by allowing to take advantage of improved memory utilization and effective memory bandwidth without the disabling underrun issues when attempting to train using pure float16. CPUs that are often bandwidth-limited in vector operations might benefit the most from 16-bit data.
Any Other info.
This feature would not benefit anyone that uses the most cutting-edge hardware. But for reference, even the P100 used in google colab services would benefit from a feature like this. While it would make no difference to researchers and companies with access to expensive cutting-edge hardware, those make up only a part of tensorflow's users. Enabling everyone to experiment with models with up to twice the size given their current hardware would be an obvious benefit for most users of tensorflow.

I would be very interested in this feature!

@tarcey,
There was a related PR(https://github.com/tensorflow/tensorflow/pull/59972) which was raised for the bfloat16 has been merged and also I tried to execute the sample code on tensorflow v2.15 (GPU) by importing the keras from the Keras 3 & the code was executed without any issue/error. Kindly find the gist of it here. Thank you!


Need help for compatible old and new version mmcv

Hello maintainers,
I'm trying to implement the Reppoints V2 on mmdetection 2.X. There exists an error " KeyError: ConvWS is already registered in conv layer".  The old version mmdetection has a folder named"/mmdet/ops" which is the dependency on Reppoints V2 code. Now I install only the new version and can't find the folder. How should I modify my code to adapt to the new mmdet?

The ops in mmdetection has been moved into mmcv-full.

compatibility between 2.x and 1.x can refer to https://mmdetection.readthedocs.io/en/latest/compatibility.html#compatibility-with-mmdetection-1-x


srem() does not delete the set member

Hey,
i've followed the tutorial from the survey app (https://blog.upstash.com/survey-serverless-redis) added a Hash with redis.hset() and a set with redis.sadd()
When i try to delete the set member with srem() the command returns 1. After that i delete the hash with redis.del(). The hash is deleted but not the key in the set. So srem() does execute and it seems that it worked (return 1), but the key is still there.

Hey @ntwcklng, I still wasn't able to reproduce this.
Is it still happening?

Please reopen if this still occurs


MagicAction.java needs WidgetId and menuAction type set

Inside the magicaction.java class we have a enumeration of all the spells in following format:
WIND_STRIKE("Wind Strike", 1, 5.5f, SpriteID.SPELL_WIND_STRIKE, false, 14286855, MenuAction.WIDGET_TARGET),
The last two numbers data points are, the widget packetID and MenuAction. We need to complete this list for spells that are not yet mapped. For example:
ARCEUUS_LIBRARY_TELEPORT("Arceuus Library Teleport", 6, 10, SpriteID.SPELL_ARCEUUS_LIBRARY_TELEPORT, true, -1, null)
the last two parameters are not filled in, meaning this is a spell that does not have the data filled in.
Feel free to ask questions, thanks!

done Ancients + Lunars

@UKMonster has this been mostly done?

@UKMonster has this been mostly done?

i have done the ones i can so i think normal,ancients and lunars are done dont have an account for the other spells


Fix plausible not added to docs

Description

Ben detected a drop in plausible page views and found that we weren't logging Plausible events. Looks like this is because the base layout file is different for pydata (base.html was the base layout for furo)
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

https://plausible.io/napari.org?period=7d
How has this been tested?

Ran ripgrep on the built HTML to check for plausible in the output
Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Ooops! Thanks @codemonkey800 and Ben! (Dunno Ben's GH handle but you are appreciated! :joy:)


The Body element  style not able to update through lighting framework.

The html body element  style not able to update through lighting framework.
we need to make html body colour transparent but after build the body color is black in startApp.js.
is there any solution for this issue?

This issue has been addressed in PR #102 (https://github.com/rdkcentral/Lightning-SDK/pull/102/files#diff-dc8e6fa52430fd925a4f492e84b4ce3fL24)
It will be part of the next upcoming release.

Released in 2.5.0 https://github.com/rdkcentral/Lightning-SDK/blob/master/CHANGELOG.md#v250


Feature:  redirected user's back to where they were before authenticating

Type of feature
🍕 Feature
Current behavior
Users are taken back to the root "/" after authenticating which is not an ideal experience
Suggested solution
Users should be redirected back to where they were before authenticating
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

@brandonroberts I went through the supabase docs on redirect Url here and understood that the redirectTo key can be used to set a redirect Url on signIn.
But i've tried testing with out current implementation but i doesn’t seem to work as describe in the docs

Am i missing something?

@brandonroberts I went through the supabase docs on redirect Url here and understood that the redirectTo key can be used to set a redirect Url on signIn.
But i've tried testing with out current implementation but i doesn’t seem to work as describe in the docs
Am i missing something?

Yes, the supabase docs have changed very much this year, with them generally not mentioning any of the auth changes as breaking. They suggest making wrappers around this now: https://supabase.com/docs/guides/auth#redirect-urls-and-wildcards, while setting different redirect URLs for them to actually work:

With the above being done on both dev and the production database, you should now be able to properly redirect anywhere!


Git permission issue in Dev Container?

Recently built a fresh Dev Container in VS Code (on Windows) and now seeing the following error when trying to use Git CLI from within the container:

I have manually added an exception, but just wanted to raise it as I've not seen it before when building the Azure TRE Dev Container, and wondered whether anyone else had seen it?

This provides a bit of background on Dev Containers & the error in git...
https://www.kenmuse.com/blog/avoiding-dubious-ownership-in-dev-containers/

@tim-allen-ck hit it last week I think. Didn't consider that it would be a Dev Container issue.

me either, I assumed it was me

Glad it's not just me :-)
Wonder if its worth sticking the following in devcontainer.json as per that kenmuse.com link above?
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",

a quick workaround is using "sudo -s" running it again and then running the rest in parts...

No longer occuring with a freshly built container on the current version of main.


(PDB-1455 RE-5675) Migrate PDB to ezbake 0.3 & AIO pathing

This patch migrates us to ezbake 0.3 which introduces AIO pathing into the mix.

This patch is awaiting this one here: https://github.com/puppetlabs/ezbake/pull/250

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1387/

Cancelled the PR test ^^ it won't pass yet anyway, since it needs the AIO marker.

Tests are here for this patch: https://jenkins.puppetlabs.com/view/PuppetDB/view/Other Builds/job/platform_puppetdb_intn-sys_source-kbtest/18/

Looks sane to me.

I'm :+1: , I released ezbake 0.3.8 earlier, do you want to make the change in this PR or do it in another?

@shrug thanks dude, I've modified this patch, and re-running tests using the shipped ezbake now: https://jenkins.puppetlabs.com/view/PuppetDB/view/Other Builds/job/platform_puppetdb_intn-sys_source-kbtest/20/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1402/

@pljenkinsro retest this please

That test job I had has worked: https://jenkins.puppetlabs.com/view/PuppetDB/view/Other Builds/job/platform_puppetdb_intn-sys_source-kbtest/20/ just testing using the PR testing job now, with BEAKER_TYPE temporarily set to aio.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1403/

@kbarber I found and fixed a minor issue in ezbake. I'll release 0.3.9 once we're happy. I'm not sure it impacts these test failures (looks like the tests are looking in the wrong place for the embedded db (it's not in /var/lib anymore)

@shrug no, the failures are specifically because the module is still set to use the old path, I'm working on a patch at the moment, I've just been ill this week.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1416/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1417/

@pljenkinsro retest this please

Completley Green for embedded & postgresql now: https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_source-kbtest/22/.
I've kicked off a PR test with AIO only again, so hopefully we get a green on PR testing also soon.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1418/

http://stream1.gifsoup.com/view/554261/the-dance-of-joy-o.gif


[2.1.x] Module not found: Can't resolve 'tslib' in '...@aspnet\signalr\dist\esm'

Propose taking https://github.com/aspnet/SignalR/issues/2410 in 2.1.x branch
Description
A missing dependency in package.json for SignalR's JavaScript client causes a compilation error when using SignalR from WebPack, NodeJS and other module loaders. The <script> tag reference style is not affected.
SignalR expects the tslib library to be available when running. This library provides runtime support for TypeScript features (async/await, class inheritance, etc.) when running on older ECMAScript runtimes. Normally, these helpers are automatically injected into the generated JavaScript, but we had configured TypeScript to import these from the tslib module instead. Unfortunately we neglected to put the dependency on tslib into our package.json, leading to runtime errors.
This was missed in testing because our tests run within a directory structure that already has tslib. We fixed this by changing TypeScript to embed the helper code rather than depending on the tslib library
Customer Impact
When using the SignalR JavaScript client from an environment that uses JavaScript modules such as WebPack or NodeJS, the user will see compilation or runtime errors: Can't resolve 'tslib' in '...' because the script is trying to load a node module that isn't present.
This only occurs when both of the below are true:

The user is using a module loader or NodeJS. It does not reproduce when using a <script> tag to reference SignalR because that pattern uses a different generated script that has the helpers built in.

The user is not using Angular or some other library that brings in TypeScript. Most TypeScript-based libraries already depend upon tslib which means if the user is using Angular (for example), the tslib module will be present even though SignalR doesn't have the dependency (because Angular brought it in)

Regression from?
None. This was in the initial release.
Risk
Low: We are using TypeScript's built-in ability to inject the helpers. Also our tests now cover this usage scenario much better.
Mitigations: We restructured our tests to ensure they avoid accidentally leaking build-time dependencies when running tests.
Previously we had our node modules structured in a way that hid this issue. We had a top-level folder that brought in build-time depedencies (the TypeScript compiler, for example) and then subfolders for each package. Because node resolves modules from all parent directories, this meant that we didn't detect the missing dependency during testing because our tests ran from within this directory structure, which had tslib because the root directory had components that did bring in tslib.
clients/ts/
    node_modules/
        typescript/
        tslib/
        ...
    package.json
    signalr/
        node_modules/
            ... (no tslib here)
        src/
            ... source files ...
        test/
            ... test files ....
        package.json

Moving forward, we have moved our "build" tools into a separate folder and now explicitly pull in references to tools we need from the other folders:
clients/ts/
    common/
        node_modules/
            typescript/
            tslib/
            ...
        package.json
    signalr/
        node_modules/
            ... (no tslib here)
        src/
            ... source files ...
        test/
            ... test files ....
        package.json

@Eilon @muratg

Fixed in https://github.com/aspnet/SignalR/pull/2808


Dynamic Driver Loading

Looking for a little help testing this one. If all works as I think it does this should close #5  as well as open the door for future devices being very easily added to the core code. The basics are that individual device displays are now configurable as an arg at runtime, with the default being the 7.5in waveshare from the README (as was always the case).
For waveshare devices that are in the e-Paper repo these are essentially all now active be default. Just pass in the name of the display. For other types of devices the code is now extendable so they can be easily added without having to modify slowmovie.py for each one.
This code is like 90% ready in my opinion but I think it could probably be optimized better. I'm super comfortable with reflection and dynamic class loading in Java but not as much in Python. This all works but could be a better way to do it.
Code Structure
VirtualDisplayDevice
Within the displays directory there is now a class VirtualDisplayDevice which all displays will extend. The child classes can control a single display, or a family of displays, as long as they all use the same underlying code. Each child has to implement, at a minimum:

name of the package it's implementing (ie waveshare_epd)
a method to return a list of compatible devices
a method to allow for updating of the display
width/height of the display

There are additional methods for sleep, close, etc that may or may not apply to individual devices. If you need to override you can, but if you don't it won't crash anything.
Device Factory
The device factory class is responsible for two things:

Loading a list of all compatible devices
Translating the command line argument from slowmovie.py into a concrete class that can be used

It does this by detecting all subclasses of VirtualDisplayDevice and getting list of their allowed devices. When a matching device is loaded it creates the child class and passes it back to slowmovie.py. This allows for a defined interface that slowmovie.py can use no matter what the device.
Mock Display
As a test, and reference implementation, there is a mock display (mock_display.py). This emulates a display that does nothing but print statements about what it is doing. I added comments here to illustrate how you'd use this as an example to define an actual working display class.
As an added bonus you can use this display class to test code without an actual display. You'll see the print statements about what it is doing but don't actually need a display to do anything.
SlowMovie.py
In the slowmovie.py file there are a handful of changes to make this work. Instead of defining the driver specifically the displayfactory is loaded. The arg --epd can be used to pass in the display type you want to load. Once loaded the following calls will happen:
epd.prepare() - called at the top of each update loop. For waveshare devices this would be the init() method.
epd.display() - called with the image object to update the display
epd.sleep() - will call sleep, if that device implements it
Additionally epd.close() is called when the program exits.
Testing
You should be able to clone this branch and test. Just running python slowmovie.py will load the default driver with the new code. Running python slowmovie.py -h will show a list of compatible devices and using -e mock_display.test will run with the mock display enabled.
Help
I only have one device to test this on, the default, so any other tests that can be done would be great. Switching between the mock device and my actual device worked. I think I could easily code an implementation for the Inky devices but without something to test (or someone willing to try my code) I don't want to just blindly do it and call it done.

Reading through some more Issues I see Inky is also a popular option (I'm sure there are more). I even found at least one fork where someone adapted the code to work with one. How crazy do we want to get here? I could adapt this to work with future types fairly easily. Here is some psuedo code off the top of my head - assume the magic factory class does the importing and driver loading.
# define a virtual device class with a few common methods
class VirtualDisplayDevice:

  def __init__(self, deviceObj):
    self.device = deviceObj

    # helpers so we can grab width/height as part of slowmovie
    self.width = self.device.width
    self.height = self.device.height

  def display(self, image, kwargs*):
    # whatever to set the image and show it

  def sleep(self):
     # etc, etc,

# extend this for each display type -
class WaveshareDisplay(VirtualDisplayDevice):

  def display(self, image, kwargs*):
    # display code for waveshare, other devices would put their code here
    self.device.display(epd.getbuffer(pil_im))

Then in the slowmovie.py file you'd let the user pass in the module using a predefined list. Something like waveshare.epd7in5_V2 or inky.impression to load the driver. We'd have to keep a list of driver types. The factory code would encapsulate the dynamic importing and then creating the device instance.
# in slowmovie.py

# load the display or throw an error if not found
display = factory.load_display(args.epd)

display.display(image)

display.sleep()

This would let others pretty easily adapt to new devices and get some PRs going for other types with a framework. It would be some overkill now but a bigger payoff later - less forks for specific devices. I can keep plugging away at this - thoughts?

Looks really cool. One thing to consider is how does it change the ability for a noob to just follow Tom's directions and make a VSMP with the 7.5-in Waveshare? As long as someone who wants to do that doesn't have to interact with the idea of multiple screen compatibility, I approve.

Agreed. I think we keep the 7.5in Waveshare as the default for all options. You should always be able to just run python slowmovie.py and have it load the test file with the default driver. This setup would allow more advanced users to either give an argument like -e waveshare.epd2in9 or -e inky.impression for displays we support through dynamic loading. People with coding skills could then easily add additional types by just adding a class for their device; hopefully over time we'd get more and more into the repo through PRs.
I think this would keep with the original thought of sticking to Tom's core idea but allow a framework for expansion.

Been hacking away at this a little more. I like where it is going, at least in terms of abstraction for multiple devices. I ordered an Inky device for testing to try and implement another type. I wanted a second for a test setup anyway.
One thing I'm wondering is if this gets split off into it's own project or is it worth keeping it all together? Something like SlowMovieEpd. I can think of some pros and cons to that approach.
Pros Of Different Repo
Keeps with this repo's original vision - provide an implementation of a VSMP
Simplifies codebase here to that goal only
Provides option to keep driver loading the way it is or use this abstraction method (in a branch)
Cons
Would need to modify instructions to build another library
Two places to maintain if issues
May "hardcode" this project to the existing display driver - lots of forks for every additional variant
I'm fine either way. I think this is a great idea but if not the right fit for the direction of this project that's ok too. Not every feature is going to be an included feature. Thoughts?


[spi_device] Fix TPM output timing

Previously, in the Address state, TPM sent 9 beats of the WAIT byte.
It causes unwanted data shift and StartByte bypassed.
Now, TPM sends 8 beat exactly at the last byte of the address.


nemo oceinifile does not include information on the curvilinear grid

This emerged in the genbil branch, which precomputed the remap weights to speedup the calculation for performance indices.
Currently, the oceinifile chosen is domain_cfg.nc, since it includes the information to compute the grid area fundamental for averaging operation. However, this file has incomplete grid description so that CDO recognizes the file grid as generic. Therefore, this file cannot be used to generate the weights, and the OCEGRIDFILE variable includes a useless txt file.
An alternative could be to use output from the model itself, which has a curvilenear grid, or the nemo-initial-state.nc file. However, both them currently does not include grid area information, which would require two different initial files - something we would like to avoid at first.
On the other hand, it might be not obvious how to reproduce the curvilenear description file from the domain_cfg.nc

Probably the only clean solution is to point to two different files, once which contains the grid description and the other the areas. In principle this is more modular, since it might occur that other model present the same issue.
I will try to implement this solution


Some improvements

I think this plugin is awesome! I made some improvements, i hope it can be useful. Some notes about them:

Better readability (Mainly 'ungle Bob' tips)
Fixed bug that doesn't remove expired cache files
Better parameters validation
Now it creates the cache folder if it doesn't exist
Use of getenv() instead of $_SERVER

@masimao thanks!


Fix grafana links for rancher workload deployment

Summary
Fixes https://github.com/rancher/dashboard/issues/10236

Occurred changes and/or fixed issues

Added a condition to the replicaSetId getter method in the Deployment class to accurately fetch the latest replicaSetId
relationship.message.split(':')[1].trim() > 0;
Technical notes summary

The issue seems to be that the get replicaSetId method is not accurately identifying the correct ReplicaSet associated with the latest Deployment update. Let's say if you have multiple ReplicaSets, the logic needs to ensure it fetches the most recent one. Typically, k8s assigns ReplicaSets with a revision number, where a higher number indicates a newer ReplicaSet but we're not using them here, the current logic only fetches the first replica set id from the array... not the one with replicaset 1/1 running.
grafana_url from dashboard fetching the wrong replicasetid...
https://master-0/api/v1/namespaces/cattle-monitoring-system/services/http:rancher-monitoring-grafana:80/proxy/d/rancher-workload-pods-1/rancher-workload-pods?orgId=1&from=now-5m&to=now&refresh=30s&var-namespace=default&var-kind=ReplicaSet&var-workload=httpd-5bc8dd79b&theme=dark

root@master-0:~# k get rs  | grep httpd
httpd-5bc8dd79b    0         0         0       5h25m
httpd-745cfdfb84   0         0         0       5h25m
httpd-7d99dfc997   1         1         1       106m
root@master-0:~#
root@master-0:~#
root@master-0:~# k get deployment httpd -o jsonpath='{.status.conditions[0].message} {"\n"}'
ReplicaSet "httpd-7d99dfc997" has successfully progressed.
root@master-0:~#

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Checklist

[ ] The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
[ ] The PR has a Milestone
[ ] The PR template has been filled out
[ ] The PR has been self reviewed
[ ] The PR has a reviewer assigned
[ ] The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
[ ] The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes

As per discussion

(extra) might be worth a rebase against rancher/dashboard master. this might resolve the failing storybook ci gate
update given comments above
i did have a quick go at some unit tests, given this it might be best to include before merging. would you be able to finish off?

shell/models/tests/apps.deployment.test.ts
import Deployment from<EMAIL_ADDRESS>import { WORKLOAD_TYPES } from '@shell/config/types';

describe('class Deployment', () => {
  describe('replicateSetId', () => {
    it.each([{
      relationships: [],
      expected:      undefined,
    }, {
      relationships: [{
        rel:    'owner',
        toType: WORKLOAD_TYPES.REPLICA_SET,
        toId:   'rel-id'
      }],
      expected: `rel-id`,
    }])('replicateSetID', ({ relationships, expected }) => {
      const deploymentData = {
        id:       'any-id',
        type:     WORKLOAD_TYPES.DEPLOYMENT,
        metadata: {
          name:      'any-name',
          namespace: 'any-namespace',
          uid:       'any-uid',
          relationships,
        },
      };

      const deployment = new Deployment(deploymentData);

      expect(deployment.replicaSetId).toStrictEqual(expected);
    });
  });
});

Notes

tests can be run with yarn test
Additional test cases can be added to the array in it.each
cases should cover

single relationship entry with a valid Replicas: x value (higher than zero)
multiple relationships with last one with a valid Replicas: x value (higher than zero)
multiple relationships with all invalid Replicas: 0
multiple relationships with messages that don't contain Replicas: x
any other angles you can think of


Use of slimerJS

When I pass   casperArgs: ['--engine=slimerjs'], it fails to result in a casper object.
Has anyone else been able to use PhantomFlow with Slimer?

It probably not a straight forward change. If I remember correctly, there are some nuances about how SlimerJS resolves file paths for example.
But it's definitely possible, and probably not too hard. Would be great to see a PR for this.


Add the basics for a Weave-specific topology.

This is very much an early prototype.  Fixes #1132.

It uses the information from weave report to build a topology of nodes and edges.  It honours the edge direction from weave report.
I'd like to be able to:

[ ] get metrics about traffic on various connections between weave routers (@awh, @rade, @bboreham?)
[ ] show more useful info in the details panel (like what?)
[ ] ensure the weave topology is shown as selected in the UI (@davkals, could you take a look?)
[x] rename occurrences of overlay to weave
[ ] make it obvious when weave is installed on a host and scope is not.
[ ] controls (forget, connect, rmpeer?)

Fixes #1132.

In #1132 I wasn't complaining about the lack of a weave view, but that the hosts view shows overlay topology rather than underlay topology.

#720 has a few ideas for what scope could show/visualise about weave net.

Why do we want a Weave specific view?

Why do we want a Weave specific view?

#720 provides a concrete use case.
However, I don't think providing a weave specific view should be conflated with making the existing Hosts view show underlay connections only, which is what #1132 - the apparent motivation for this PR - is about.

btw, I reckon showing the weave topology, which is what the bulk of this PR appears to do, is a reasonable first step on the way to #720.

Addresses https://github.com/weaveworks/scope/issues/1938

@tomwilkie I don't think we should be renaming the Overlay topology anymore since:

It contains non-weave-specific information ( https://github.com/weaveworks/scope/blob/07744961024dfa0f74a0bb07551c3aed01ac6401/probe/docker/reporter.go#L150 , which was added after this PR in https://github.com/weaveworks/scope/pull/1584 and released )
Backwards compatibility. The overlay topology has been providing useful info for a while (like the weave IPs), for instance (1) was released on 0.16 and there will be probes using it.

I've reworked the code without the renaming and applied it to current master (I saved the old code in branch 1132-weave-topology-original-tom just in case)

Re controls:
connect would be cool - takes an address (e.g. an IP address or DNS name).  Somewhat rare to use like this, I think, but nice for a demo.
forget needs to be applied to every peer in the system, so perhaps more work than it's worth.
rmpeer would be valid, if you can scrape the candidates from the weave status ipam data
reset, i.e. "shut down this Weave Net peer and remove it from the network" also conceptually valid, perhaps useful if you are migrating to a different machine

Re the details panel:
Subsetted from weave status:
        Version: git-947ef8bb7770 (up to date; next check at 2016/10/26 16:15:53)

        Service: router
       Protocol: weave 1..2
           Name: 9a:90:6c:4a:40:07(dev)
     Encryption: disabled
  PeerDiscovery: enabled
 TrustedSubnets: none

        Service: ipam
         Status: ready
          Range: <IP_ADDRESS>/12
  DefaultSubnet: <IP_ADDRESS>/12

        Service: dns
         Domain: weave.local.
       Upstream: <IP_ADDRESS>
            TTL: 1
        Entries: 1

        Service: plugin
     DriverName: weave

then add weave status connections info, perhaps above all of that except the peer name:
-> <IP_ADDRESS>:6783    established sleeve 46:98:1c:22:6d:b7(host1)
-> <IP_ADDRESS>:6783    established sleeve 5a:e6:43:04:ae:40(host2)
-> <IP_ADDRESS>:6783        failed      cannot connect to ourself, retry: never

The interesting parts are sleeve vs fastdp vs awsvpc, encrypted or not, error message.

We should merge this w/o adding more stuff to the details panel. Let's do that in a separate issue/PR.

Re controls:

How about expose?

We should merge this w/o adding more stuff to the details panel. Let's do that in a separate issue/PR.

Good point. Will do

Current state of the PR:

Report: report.json.gz
(CC @davkal )

Q: Should we have a different icon for Weave routers?

Q: Should we have a different icon for Weave routers? (Or, as they are containers, should the hexagon be used?)

We chose the circle because:

Each node represents a host (they are not really containers, since they don't provide container information and each router is mapped to a host).
In fact, the topology is a child of the host topology (see were the "WEAVE NET" button is located)

That said, maybe we could use a different icon, I wouldn't recommend an hexagon though since it will be confused with containers.

Circles are good because they're hosts...


Looking for a new maintainer

As I don't do angular on regular basis anymore, I'm looking for someone who wants to step up and maintain this repository

I had previously expressed my interest to take on and maintain this library but unfortunately I did not hear back. Thus, after some years I decided to create a clone of this repository with additional features such as a builder that allows you to run your Angular CLI project inside Electron (even with Angular DevTools attached).
It would be great @ThorstenHans to have a look and hear any feedback you may have. Even if there is a chance that we could migrate both libraries and give an all-around support to the community, it would be nice.
P.S.: As a responsible user of the open source community, I have given proper acknoledgments to your work in the README.md.

@bampakoa sorry, somehow I messed this one up! Definitely my fault.
„Even if there is a chance that we could migrate both libraries and give an all-around support to the community, it would be nice.“
What do you mean in the context of „migrate“

No problem @ThorstenHans! I can understand you are busy and have shifted away from Angular 🙂

What do you mean in the context of „migrate“

I really do not know yet. I wish we could keep both repos because you have already done a great job 😊 Do you intend to move completely away from Angular and/or Electron?

Have not done electron for years now because things like project fugu make the native web more powerful.
I do Angular only for PoCs and tech demos….
Moved entirely to the backend / cloud / Wasm side of things 😂

Oh yes, Project Fugu! You are right 👍 It has A LOT of capabilities nowadays 😉
Maybe we could create an organization and add both repos under it. But since you will not do any Angular/Electron stuff, I think it does not make sense for now😕


nit: fix awkward phrasing around pruning behavior

Title says it all. Extremely minor but reads a bit more cleanly.

/lgtm
/approve


FLW-818 iOS: Recommended Validators: Add only up to 2 nodes from 1 cluster

limit up to 2 validators from the single cluster in recommendations

We should also represent that in the UI as another criteria which we are applying for creating Recommended list:
...
✅ Limit of 2 validators per identity


There is a warning about npm version on the current Node version (v16.11.1)

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '>=12.13.0 <17.0', npm: '7.x' },
npm WARN EBADENGINE   current: { node: 'v16.11.1', npm: '8.0.0' }
npm WARN EBADENGINE }

@abernix I assume this is resolved, going to close but feel free to reopen if you suspect it might not be.


Parameter Configs for Code Blocks no longer work properly

Describe the bug
CodeBlock settings are no longer working with the release of hugo pipes. Only default values are ever used regardless of configuration. I believe that this is related to a missing reference in the files. I am attempting to resolve this locally to push a PR but I am not familiar with this level of adjustment in the theme. It might be an easy fix but I'm currently unable to figure it out.
To Reproduce
Change default settings for code block, and see if they change. This also likely affects utterances as I believe the issue is that there is a missing linkage in the new hugo pipes setup.
Expected behavior
The code block should adhere to the settings
Screenshots
Screenshot showing code block limited to 7 lines.

Screenshot showing config

Hugo version:
0.95 Extended
Theme version:
Master branch
Desktop (please complete the following information):

Linux
Chrome
Latest

Thank you.

I should have mentioned this bug also affects the line numbers setting which can also be seen in the screenshots.

Sorry, I missed it. Should be fixed by 7b87775.

@razonyang I am seeing the same issue with v1.5.8 and Hugo version 0.118.2-extended. The parameter settings for code blocks have no effect. In my params.yaml file, the configuration is
codeBlock:
  maxLines: 10
  lineNos: true

But the code block are still showing the full code block (more than 10 lines) and no line numbers.

@sagarbehere Could you please provide a public repo for quick reproducing and debuging?

Confirmed, it's a configuration issue, to fix it, you'll need to set the following configuration on config or hugo config file, take YAML as an example.
markup:
  highlight:
    lineNos: true # required
    noClasses: false # required
    lineNumbersInTable: false # required

Please also enable the codeBlock.lineNos as true on params config file as well.
Example commit: https://github.com/razonyang/hugo-theme-bootstrap-skeleton/commit/e208df43e4f0673615858a2af8a60cc7ac63cf03.

@razonyang Hmm, that isn't helping. I added the following to config.yaml
markup:
  highlight:
    lineNos: true # required
    noClasses: false # required
    lineNumbersInTable: false # required

and my params.yaml has
codeBlock:
  maxLines: 10
  lineNos: true

But there is no change in the codeblocks. They are still showing all the lines (more than 10) and no line numbers.

@sagarbehere does restarting Hugo server help? I just tested this configuration minutes ago. If not, please provide access to your site repo.

@razonyang restarting Hugo server does not help. I will make an example repo and send you the links in a couple of hours.

@razonyang I did exactly the following on an Ubuntu 22.04 system, with Hugo 0.118.2 extended and go version go1.23.0 linux/amd64

git clone https://github.com/razonyang/hugo-theme-bootstrap-skeleton /tmp/hbs-skeleton
cd /tmp/hbs-skeleton
Confirmed that config/_default/config.yaml has the text

markup:
  highlight:
    lineNos: true
    noClasses: false
    lineNumbersInTable: false

Confirmed that config/_default/params.yaml has the text

codeBlock:
  # maxLines: 8
  lineNos: true

Copy the attached file, Plausible.md to content/docs/.
hugo mod npm pack
npm install
hugo server
Browse to localhost:1313/docs/plausible

When I do this, the screenshot is shown below. The code block has no line numbers and is not having the default maxLines = 7.
(By the way, hugo server does not work without doing steps 7 and 8 above. Perhaps those steps should be added to the instructions of the skeleton theme?)

Plausible.md

@sagarbehere I see, the cause is that you need to specify the code fence, such as sh, docker in this case.
```sh
mkdir ...
...
```

```docker
version: "3.3"
...
```

@razonyang Interesting. I specified docker in the code fence, and now I can see the line numbers.
However, I am not able to see the impact of maxLines: 8 . I still see the full code block. Actually, it is stranger than that. The very first time I loaded the page, I recall seeing the code block limited to 8 lines and with line numbers.. exactly as it should be. But after I hit refresh a few times, the line limitation disappeared and now only the entire code black with all lines is visible. So after refreshing the page a few times, the maxLines: 8 seems to not work? Are you seeing this behavior on your side too?

@sagarbehere it work.

@razonyang
Which browser are you using? I am using Firefox on Linux. I hope you are able to see the attached screenrecording video. As you can see in the video, the only thing I am doing is clicking "Refresh" and then you see that sometimes the whole code block can be seen and sometimes only 8 lines can be seen. I am making no changes, except refreshing the page.
https://github.com/user-attachments/assets/0695cad2-0e50-485e-a8b4-716ffbb9eaec

It looks like the JS not ready to execute (refresh too fast) or failed to execute (please post the log from browser console).
The maxlines is implemented by JS, it will show full height of the code block, once the JS was loaded, and it will be executed and determind maximum lines, and then change code block height.

@razonyang

It looks like the JS not ready to execute (refresh too fast) or failed to execute (please post the log from browser console).

See below the image from the browser console. I think the relevant message is the line
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content.

This message does not appear in the cases where the code block is correctly restricted to 8 lines.

@sagarbehere yes, that is the cause, should be fixed in v1.6.2, please clear browser cache after upgrading theme, and then try again.

@razonyang Yes, v1.6.2 fixes the issue.

Is it possible to make this work without specifying the code fence with sh or docker etc.? Because it was working perfectly with my older theme version. Now I need to modify all my files just because I upgraded the theme. I will do it, but it would be nice if it can continue working without requiring modifications. Maybe we can assume a default type of code fence if the specification is missing? Also, I don't think the markdown specification absolutely requires a code fence specification. So we may be breaking compatibility a little bit.
If 1 above is not possible, where can I find a list of possible values to specify the code fence? You pointed out that sh and docker are possibilities? What else? python? javascript? Is there a complete list somewhere?

Thank you for the quick fixes.

Is it possible to make this work without specifying the code fence with sh or docker etc

I may fix it, but low priority, track on #1052. But you should always specify the code fence, since the highlighting styles are applied on code fence.
Please file another issue if you have other questions or requests.


Web App Making Requests to Disabled "Apps" Plugin

My server is 6.6.1.  I have various client versions but I've had most folks update to the latest (e.g. 5.0.4).
I have "com.mattermost.apps" : { "Enable" : false } in my config.json.  The apps plugin is not on the UI and not even listed in the plugins management.  But, the web app client continues to make GET requests like this: https://my.domain.com/plugins/com.mattermost.apps/api/v1/bindings?user_id=some-user-id&channel_id=some-channel-id&team_id=some-team-id&user_agent=webapp.  The server is returning 404 and 400 on these requests.
One of my users put together a better / chronological order of repeating events:

I don't know if it's related, but I pulled this from the console after seeing the behavior again. This set of errors/messages seems to recur over and over in the console:

message
reference

computer woke up - fetching latest
/plugins/com.mattermost.apps/api/v1/bindings?user_id=[[UID]&channel_id=[CID]&team_id=[TID]&user_agent=webapp:1

Failed to load resource: the server responded with a status of 404 ()
websocket_client.tsxx:93 websocket closed <br/>websocket_client.tsxx:77

websocket re-established connection
/plugins/com.mattermost.apps/api/v1/bindings?user_id=[UID]&channel_id=[CID]&team_id=[TID]&user_agent=webapp:1

Failed to load resource: the server responded with a status of 404 ()
7onloadwff.js:71

Assertion failed: Input argument is not an HTMLInputElement  getFormProfile @ onloadwff.js:71
/plugins/com.mattermost.apps/api/v1/bindings?user_id=[UID]&channel_id=[CID]&team_id=[TID]&user_agent=webapp:1

Failed to load resource: the server responded with a status of 404 ()
needs_team.tsxx:105

Hi @dalenewman, thanks for reporting this issue. We apologize for any inconvenience this has brought to your server.
In the 6.6.x release, you can disable this functionality by providing the environment variable:
 MM_FEATUREFLAGS_AppsEnabled=false

Also, the behavior you point out in the ticket is fixed in the latest release of the server v6.7.0 in this PR: https://github.com/mattermost/mattermost-webapp/pull/8545

Thank you.  I am preparing for 6.7.0 upgrade.  Also, if the MM_FEATUREFLAGS_AppsEnabled=false only available as an environment variable or in the config.json as well?  Thanks!

Also, is the MM_FEATUREFLAGS_AppsEnabled=false only available as an environment variable or in the config.json as well?

@dalenewman Feature flags are specifically not config variables, and are not able to be controlled in the config.json file. We set the feature flags in our Cloud environment using split.io, and the only other way they can be set by design is by environment variable.

Thanks so much for your help.


Defaults only exist for Euclidean impls

The following implementations use a generic impl Distance parameter, but only provide a Default impl for the Euclidean distance.

KNNClassifier
KNNRegressor
DBSCAN
KMeans

In one way this is nice, because it makes Euclidean the default at the generic level, so that types may be omitted completely, and only inferred during construction. However, this is problematic when parsing partial defaults from JSON, since if the distance type may no longer be inferred, similar to the currently required type annotations required during deserialization where they also cannot be inferred.
a) One fix would be to make Default::defaults generic for the Distance, and require the annotation during construction as well. This means all Distances would get defaults, but doesn't help the JSON w/ default construction case much, since we'd still need to first parse the JSON to get the get the type to get the defaults, and then match.
b) Another possibility would be to approach similar to #169 by making Distances an enum Struct, rather than a generic type. With that avenue we could still have a Euclidean default without type annotations, but also allow for partial JSON construction for non Euclidean  defaults. This comes at the cost of the enum Struct reserving the space for the two Matrix params in Mahalanobis distance in all cases.
My preference would be for b since I believe it's a nicer DevX at a small memory cost that shouldn't impact performance.

I'll draft up B to see what it looks like, and how well it actually works, unless there are objections.


Fix name of color_sequence.dart and add a test

@hixie @vlidholt

Please wait until https://github.com/flutter/flutter/pull/912 is fixed before merging this (and rerun travis before doing so, to make sure there's no new warnings).

Filed https://github.com/dart-lang/sdk/issues/25254 about the   thing.

Looks like it can't find flutter_sprites in the packages directory?  I'm not sure how the packages directory is controlled on Travis. @Hixie

https://github.com/flutter/flutter/pull/916 should fix the flutter_sprites-not-found issue.

I don't understand why travis is unhappy.

I'm not sure why travis is unhappy either.  I'm unlikely to finish this CL before January.  Please feel free to take it over or work around it.  @devoncarew

Closing this since Devon took it over in #1043.


improve documentation about websocket

Issue
A lot of people use websocket without being informed of consequences
It results to a lot of questions and help on forum
Proposition
This PR improve documentation about consequence of websocket and add a not recommended flag to discourage people to use it
What I tried to do with these modifications

have a visual warning directly on the option name (the not recommended).

because nobody read the doc

describe impactful consequence to use websocket

Before

After

Other ideas

Add a use case to use websocket in the README.md (i.e. using two config nodes)
Add a confirm dialog when you active the option

but it's overkill and user have some responsibilities (i.e. read the doc...)

Add a big warning at the top of the Advanced tab that said that only informed people should modified these options

@Botched1 your review/suggestion is welcome :grin:

Very good! Here are a few wording tweaks/suggestions in the description (completely optional / at your discretion):
Use websocket will switch the internal update mechanism to use Hubitat's websocket instead of webhook. Websocket does not perform event de-duplication and will send duplicate events which may require additional handling in Node-RED (such as use of an RBE node) to prevent unintended re-activation of logic. Websocket events contain less information, and may not have all event data that the webhook method does (e,g, lock code used for lock/unlock events, and the event "type" field). But using websocket should reduce the delay before receiving events by a few tens of milliseconds. The websocket update method should only be used by informed users, and only for specific needs.
Warning: Using websocket is not officially supported, and it's at your own risk!

Thank you for your feedback :+1:


Update free wallets promo code to FREEWALLETS24

#5260  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


Move declarations of anchors to get tests to pass

Thanks for submitting an pull request to pcf-pipelines.
To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:
Moving declarations of anchors in ci/pcf-pipelines/pipeline.yml and upgrade-buildpacks/pipeline.yml to the top of each file.

An explanation of the use cases your change solves:
Tests will fail when run locally because they reference anchors that have not been declared yet.

Expected result after the change:
All tests pass.

Current result before the change:
When running ginkgo -r -p in pcf-pipelines:

• Failure [0.003 seconds]
pcf-pipelines
.../pcf-pipelines/pcf_pipelines_test.go:21
  pipeline at ci/pcf-pipelines/pipeline.yml
 .../pcf-pipelines/pcf_pipelines_test.go:53
    specifies only valid job names in any `passed` definitions in the buildplan [It]
    .../pcf-pipelines/pcf_pipelines_test.go:62

    Expected error:
        <*errors.errorString | 0xc0004523c0>: {
            s: "yaml: unknown anchor 'norm-ci-locks-params' referenced",
        }
        yaml: unknown anchor 'norm-ci-locks-params' referenced
    not to have occurred

    .../pcf-pipelines/pcf_pipelines_test.go:66

<several other similar errors for unknown anchors of other names>

Links to any other associated PRs or issues:

[x] I have viewed signed and have submitted the Contributor License Agreement

[x] I have made this pull request to the master branch

[x] I have run all the unit tests

@Ben16 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@Ben16 Thank you for signing the Contributor License Agreement!

Hi @Ben16 ! When we run the tests locally and in our CI we do not have any failures. Did you make sure that you used glide install to get the proper versions of the dependencies before running?
Also, were you wanting to run the tests locally to do another PR, or are you trying to use this as a main source of pipeline? If you are using it to alter and change your pipeline, we recommend using the pivnet release over the github release every time.


chore: moving from im_end to completion params

As we allow the constructor to define completionParams, it would be better to allow devs using the library to use the specified stop token. As of right now, the library allows such stop to be passed but it isn't considered in the class itself.

Thanks @Cadienvan 🙏 🚀


Layout bug at the bottom

Hello,
Thank you for the package, it's very easy to use it.
I just noticed that at the bottom, it's not render as excepted.
There is space to allow the last block to move in the other column but it's not the case.
Someone know how to fix that please ?
(I found that the demo that the behavior is the same: https://cedricdelpoux.github.io/react-responsive-masonry/)

Experiencing the same issue and couldn't find a fix yet. Would be ace, if someone has a idea...

Adding vertical-align: bottom at each image worked for me.

Hello,
Thank you for the package, it's very easy to use it.
I just noticed that at the bottom, it's not render as excepted.
There is space to allow the last block to move in the other column but it's not the case.
Someone know how to fix that please ?
(I found that the demo that the behavior is the same: https://cedricdelpoux.github.io/react-responsive-masonry/)

same problem

Hello,
Thank you for the package, it's very easy to use it.
I just noticed that at the bottom, it's not render as excepted.
There is space to allow the last block to move in the other column but it's not the case.
Someone know how to fix that please ?
(I found that the demo that the behavior is the same: https://cedricdelpoux.github.io/react-responsive-masonry/)

same problem

See my comment above for the fix

Adding vertical-align: bottom at each image worked for me.

do you mean each child inside Masonry?
still not working for me

Yes, vertical-align: bottom on each child.
This is my code, maybe it helps.
Masonry Gallery Component:
import React from "react"
import Masonry, { ResponsiveMasonry } from "react-responsive-masonry"
import { rhythm } from "../../utils/typography"

export default function MasonryGallery({ children }) {
  return (
    <ResponsiveMasonry columnsCountBreakPoints={{ 991: 1, 992: 2 }}>
      <Masonry gutter={rhythm(2)}>{children}</Masonry>
    </ResponsiveMasonry>
  )
}

The gallery where I use it:
import React from "react"
import { useStaticQuery, graphql } from "gatsby"
import { GatsbyImage, getImage } from "gatsby-plugin-image"
import { Link } from "gatsby"
import styled from "styled-components"
import MasonryGallery from "../components/layouts/masonry-gallery"
import SectionLayout from "./layouts/section-layout"
import { rhythm } from "../utils/typography"

const StyledLink = styled(Link)`
  .image {
    vertical-align: bottom;
  }

  .text {
    margin-top: ${rhythm(1 / 2)};
  }
`

export default function Gallery() {
  const data = useStaticQuery(graphql`
    query GalleryQuery {
      allContentfulProjects(sort: { fields: orderNumber, order: DESC }) {
        nodes {
          id
          title
          image {
            gatsbyImageData(
              layout: CONSTRAINED
              placeholder: BLURRED
              formats: [AUTO, WEBP]
              quality: 100
              width: 1500
            )
            description
          }
          slug
        }
      }
    }
  `)
  return (
    <SectionLayout>
      <MasonryGallery>
        {data.allContentfulProjects.nodes.map(gallery => {
          const images = getImage(gallery.image)
          return (

          )
        })}
      </MasonryGallery>
    </SectionLayout>
  )
}

I have this kind of bug here

Also experiencing this issue.

Also experiencing this issue.

https://www.npmjs.com/package/react-masonry-css
https://github.com/animemoeus/waifu-animemoeus

I am still facing this problem, please patch this  asps

you guys can use react-stack-grid it works good but in my case it sometimes not rendering very few elements that's why I have to consider other options otherwise react-stack-grid is good library but its very old libary.

I also have this problem :/

This still seems to be an issue. Are there any updates or workarounds? Or is there an alternative package that does not have this problem?


SKSvg - Fixed SVG not loaded when viewport / viewbox not specified

Hi @daniel-luberda, thanks for this. I saw this but I think we need to do this differently.
We can't just pull the viewbox from the width and height - the ViewBox property is specifically to see what was in the actual SVG.
There was a bug, and it is rather the division by zero when scaling. According to the SVG spec (http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute), if the value is set to 0 specifically, we shouldn't render:

A value of zero disables rendering of the element.

However, if the value was not set at all, then nothing should happen:

If specified, an additional transformation is applied to all descendants of the given element to achieve the specified effect.

I think we need to change this to rather check if it was specified, and then use that value. If it wasn't specified, then we just pretend that we have an infinite canvas (and no scale). This is what Chrome does as well.

@migueldeicaza I think we should revert this and implement it according to the spec?

Hi @mattleibow,
Sure, I understand. 👍  I didn't know that specification part, just wanted to bring back correct loading of some svg files that loaded properly and failed to do that after view port changes update.

I also think we should do the clipping correctly: http://www.w3.org/TR/SVG/masking.html#OverflowProperty
Right now, it will just draw everything - which is fine since the overflow attribute isn't checked. Maybe we should also add logic to look at that and clip the canvas before painting?

@daniel-luberda No problem. Thanks for the PR - do you want to have a go at making the changes for the viewbox?
Originally I was just going ahead with this as something similar to what NGraphics was doing, but then sometimes I reached a point where I needed to make decisions. Then I decided to just try and follow the spec as closely as I could since that is really what was expected. NGraphics is a bit free thinking :)


Fix crash caused by pop-up ads.

Updated the _start_service method to use JavaScript for clicking the search and submit buttons, bypassing ElementClickInterceptedException caused by obscured elements.
Added retry logic to attempt closing ad iframes when button clicks fail due to ads. Sometimes, pop-up ads may still be displayed, but the program should work even if a pop-up is displayed.

This time I used Black formatter first try XD
Please test the program before accepting the pull request, it should work, but I'm not completely sure.

I just noticed that if a popup is displayed, the script doesn't read the timeout and continues to click the search button. Need to find a way to close them.


Fixes for testsuite issues

This should fix issues that our testsuite has on PostGIS, Oracle and HANA.

Recreate PostgreSQL extensions after schema clearing
Avoid dropping system generated sequences in Oracle cleaner
Always drop id tables in tests
Fix global temp table test to use actual dialect strategy
Add on commit delete rows option for hana dialects to avoid https://answers.sap.com/questions/8824628/error-while-trying-to-drop-global-temporary-table.html

Thanks @beikov, merged upstream!


Implement two IMUs measurement for Atitute Estimation

Implemented the method explained in:
Cubli_IROS2012.pdf

Maybe the code could implement both methods based on the presence of the I2C address.

Changes in Matlab Scripts need to be done.

Tested and Working in Version 0.0.5


GroundItem.dropped not visible, but GroundItem.create are

Hello,
So I was doing some tests.
Performing
val g = GroundItem.dropped(...)
player.world.spawn(g)

Does not show anything in the world
But doing
val g = GroundItem.create(...)
player.world.spawn(g)

Does show the items in the world.
I think this is an issue, or are we only supposed to run GroundItem.create when we want an item to be visible?

@Major- we discussed this on IRC before and the conclusion was that it is intended behaviour.  Is that right?  I think that needs documented.

If this is intended functionality, what would be a use case for GroundItem.dropped? When a user drops an item, should that use GroundItem.create? I guess I am confused because of what the javadocs state.
https://github.com/apollo-rsps/apollo/blob/ee78d2cd05b09782de90446a933bc1752438dbc1/game/src/main/org/apollo/game/model/entity/GroundItem.java#L19-L43
The only difference that I can tell between the two is that dropped assigns an owner. Should the item be visible to the owner when dropped?

<Major_RS> first one (create): send only to the player who dropped it at the time they drop it. second one (dropped): send to everyone, the client of the player who dropped it filters it out so it doesnt show twice

Oh yeah nvm this is intended, the method names aren't very useful though. Maybe we should move GroundItem#dropped to Player#drop?

Understood, so when an item is dropped, then both need to get called.

GroundItem.dropped is for ground items that should only be visible to a specific player when first spawned (like when a player drops an item, or kills a monster that drops items). In these situations the dropped item is only visible to the owner (player) for 60 seconds; after that it becomes visible to everyone else.
Use GroundItem.create if you want an item that is globally visible from the moment it's spawned, like for items that respawn endlessly (e.g. the mind rune in lumbridge castle), or balloons in the party room.

OK, That makes sense. Thank you!

So this is the test I wrote
import org.apollo.game.action.Action
import org.apollo.game.message.impl.InventoryItemMessage
import org.apollo.game.model.Item
import org.apollo.game.model.entity.Entity
import org.apollo.game.model.entity.EntityType
import org.apollo.game.model.entity.GroundItem
import org.apollo.game.model.entity.Player

class DropItemAction(val player: Player, val item: Int): Action<Player>(0, true, player) {
    override fun execute() {
        val region = player.world.regionRepository.fromPosition(player.position)
        if (region.getEntities<Entity>(player.position, EntityType.DYNAMIC_OBJECT, EntityType.STATIC_OBJECT).isEmpty()) {
            val amount = player.inventory.getAmount(item)
            System.out.println(amount)
            player.inventory.remove(item, amount)
            val groundItem = GroundItem.dropped(player.world, player.position, Item(item, amount), player)
            player.world.spawn(groundItem)
        } else {
            player.sendMessage("You cannot drop this here.")
        }
        stop()
    }

}

on {InventoryItemMessage::class}
        .where {option == 5 && interfaceId == 3214}
        .then {
            it.startAction(DropItemAction(it, id))
            terminate()
        }

When I drop an item I cannot see it, but other clients can immediately. After 60 seconds there is still no change.
If I change it to use GroundItem.create then the item shows on all clients immediately.

Yeah looks like nobody ever got round to replacing the private dropped items with public ones

OK, shouldn't private items at least be visible to the client that dropped them though?

So we need some sort of management for dropping/spawning grounditems basically

No worries!

Blocking #349


Peer Review of Report on Impact of the Digital Policy

Relating to issue #445
Peer review draft report with

[ ] EA
[ ] AI CoE
[ ] Cloud CoE and R&D
[ ] IITB Governance and Policy
[ ] IITB Technical Debt
[ ] IITB IT Security
[ ] IITB Information Management
[ ] IITB Project Management Office
[ ] IITB Data and Analytics Services
[ ] IITB Interoperability
[ ] SSPB CDO
[ ] SSPB Service Strategy

Asked for comment due date Jan 3rd, 2020

email sent to stakeholdesr 2019-12-16


int() argument error

File "../src/train.py", line 12, in
FOLD = int(os.environ.get("FOLD"))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
I am having this issue.
Can anyone provide any solution?
TIA

export variable FOLD in run.sh

export variable FOLD in run.sh

I am running into the same issue. I have exported the variable FOLD in run.sh, but without success.
I assume you mean "export FOLD = 0".


[NavigationExperimental] Use active scene passed in props by NavigationTransitioner

With facebook/react-native@c57bac4, NavigationTransitioner passes the currently active scene in transition props. This simplifies the handling of transition changes when rendering overlay.
🍺

By analyzing the blame information on this pull request, we identified @hedgerwang and @gabelevi to be potential reviewers.

lgtm :)

/cc @ericvicenti

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.

Thanks @jmurzy!


Can this be written differently?

https://github.com/angular/components/blob/695dde64abde2b16015c46a7681ab4c9dd8c2f44/src/components-examples/material/chips/chips-autocomplete/chips-autocomplete-example.ts#L38

Can event.value be null or undefined? I didn't stumble upon such an occurence if not the code can just be const value =  event.value.trim() || '' either way an empty string evaluates to false you you could chage the condition in the if to if(value) am I missing something?

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.
(this is a canned response)


add JS resolver support

Originally opened from fork branch. Re-opening from upstream branch to run e2es.
Changes

The Amplify CDK construct does not currently support provisioning AppSync JS resolvers for fields defined in the customer's Amplify schema.
This PR leverages the AppSync L1 CDK construct escape hatch to add support.
Related data-schema PR: https://github.com/aws-amplify/amplify-api-next/pull/113
Corresponding docs PR, if applicable: https://github.com/aws-amplify/docs/pull/6836/files#diff-dfe0a992e880882948237e578edffdfb4a4548f19487a58118ff900d2c7c233aR178-R210
Customer DX
const schema = a.schema({
  Post: a.model({...}),

  likePost: a.mutation()
    .returns( a.string() )
    .authorization([ a.allow.private() ])
    .handler([
      // a.handler.custom is how customers define an AppSync JS Resolver
      a.handler.custom({
        entry: './myJsResolver.js', // relative or absolute path to file containing AppSync JS resolver function
        dataSource: a.ref('Post') // optional; can reference existing model or string data source; defaults to 'NONE_DS'
      })
    ])
})

export const data = defineData({
  schema,
});

This definition returns the following IR from data-schema when calling schema.transform():
{
  typeName: 'Mutation',
  fieldName: 'likePost',
  handlers: [
    {
      dataSource: 'PostTable',
      entry: { relativePath: './myJsResolver.js', importLine: `${stack_trace_import_line}` }
    }
  ]
}

TheconvertJsResolverDefinitionfunction added in this PR consumes the IR and provisions an AppSync JS Pipeline Resolver and a list of functions.
Validation

Checklist

[x] If this PR includes a functional change to the runtime behavior of the code, I have added or updated automated test coverage for this change.
[ ] If this PR requires a change to the Project Architecture README, I have included that update in this PR.
[x] If this PR requires a docs update, I have linked to that docs PR above.
[x] If this PR modifies E2E tests, makes changes to resource provisioning, or makes SDK calls, I have run the PR checks with the run-e2e label set.

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

Accidental force push broke the PR. Re-opened here: https://github.com/aws-amplify/amplify-backend/pull/1095


Style guide/validation messages

Changes in this PR:
Created a set components for validation messaging for success and failure that can be used for page load events and for individual elements such as forms etc.
Trello card / Rollbar error (etc)
https://trello.com/c/2mpSy3GD/634-implement-design-for-success-or-other-message-banners-so-it-is-consistent-across-the-site
Screenshots of UI changes:
Before

After

[ ] Requires env variable(s) to be updated

perhaps "notification" is more aligned with what they actually do (this is what GDS use)

Aha, i agree with this actually - the elements don't 'validate' themselves but notify the results (and even better to be consistent with GDS language). I guess the other term people use is 'flash message' but i suspect that's a little too esoteric. Definitely support renaming to 'notification' unless there's any strong arguments against!

Oh btw, when this is approved @Terry-Price I'll quickly go through and make sure it's used everywhere it needs to be :-)


Some questions about 'Criss-Cross Attention'

**
I have some questions about 'Criss-Cross Attention'. Here should be C×W×H or C×H×W in the place marked by the red circle？

At the same time, I have some questions about Affinity. Which variables corresponds to the codes in the place marked by the blue line，proj_query_H and proj_key_H , or proj_query_W and proj_key_W? I don’t understand the definition of Qu and Ωu very well. Is it convenient for you to answer? Looking forward to your answer, thank you very much!

I think it's a typo, or maybe it doesn't matter.
Q_u is a pixel vector in spatial position u with shape [b, c', 1, 1], so the x_q contains h*w Q_u

x_q = self.q(x) #b, c', h, w

3.\gamma_u is a set which contains the key pixel vectors in the same row and column with position u, so its shape is [b, c', h+w-1].Actually, in code they split the key set to H and W，and calculate the attention scores for h and w respectively.


Add Ruby 3.1.3.

For now, we need to keep the previous patch version around in order to switch over without friction. This is because the old (EC2) build/deployment automation has to pin the exact Ruby version and that's nontrivial to fix because the build/update process is very manual, so we just live with it for another couple of months until we no longer have to care about staying compatible with it.
Once all the apps are on 3.1.3 (or at least 2.7.7), we can delete the 2_7_6 and 3_1_2 files, leaving 3_1 as the latest patch version.
Checksums regenerated by sha256sum *gz >SHA256SUMS. They're now in alphabetical order.

Decided not to bother with 2.7.7 just yet, since we might as well just update those apps to 3.1.


Subaru: POC gen2 long

Description
Proof of concept Subaru gen2 long
General Idea:

ES is UDS disabled, and unlocked with a secret key
Read buttons through UDS, and pass them to cruise with ES_Distance
Create all ES_* signals from scratch
The rest is the same as gen1 long, except on different busses

TODO:

[x] Verify that the ECU unlock can be done universally on gen2 cars (need 2-3 routes from gen2 cars with jnewb1/subaru-gen2-uds-test).
[ ] Figure out what we need to do with the three unknown signals that I'm currently sending a constant value for. I checked 2-3 routes and they appear to only have constant values, but we will need to verify that.
[x] Fix a few issues with the dashstatus
[ ] Get gen1 merged first behind a toggle? Or try and do both at once? https://github.com/commaai/openpilot/pull/25345
[ ] EYESIGHT_UDS_RESPONSE frequency checks for the button data specifically. Need DBC multiplexing. https://github.com/commaai/opendbc/pull/854
[ ] Read AEB through UDS, and passthrough? (for experimental long, this is not required - shane)

Route
d9df6f87e8feff94|2023-06-04--19-03-42--0
https://github.com/commaai/panda/pull/1443
https://github.com/commaai/opendbc/pull/848

Verify that the ECU unlock can be done universally on gen2 cars (need 2-3 routes from gen2 cars with jnewb1/subaru-gen2-uds-test).

Verified on my 22 legacy, and an eyesight module from a 21 legacy

key works on 2020 outback too

0x22a appears to be Subaru's High Beam Assist. Since we won't be replicating that, we can just send a constant value for that, or try and read it through UDS to keep that functionality.
Other two signals are constant for all routes that I've checked.

key isn't required at all if you read the button signal directly instead of creating the dynamically defined message. going to close this and make a new PR after the gen1 long is merged

Did we ever merge this?

Did we ever merge this?

no. it requires reading the buttons over UDS. If we think that's fine then I'll revive this

any we need this https://github.com/commaai/opendbc/pull/854

There's ReadDataByPeriodicIdentifier but it probably is more sketchy than repeatedly querying, since any non period query will stop the broadcast (according to KWP2000 docs)

I think i tried ReadDataByPeriodicIdentifier and it gave a negative response


fix(cookbooks): remove strict mode as it is not needed for React 18

@odinr Does this close #700 ?


Add Pip Installation Option for Networkx

Please add the following dependency to the rosdep database.
Package name:
networkx
Package Upstream Source:
https://pypi.org/project/networkx/
Purpose of using this:
Debians are older than what is available via pip, so some users may want access to later versions.

@connoranderson our policy is generally not to add pip definitions to the primary rosdep database if system packages exist for our supported and recommended platforms. Only system packages can be used in officially released ROS packages so once there is a version of a package available via the system package manager for our platforms we want to converge on the available version as a community.
There will always be motivations to rely on newer versions of packages than are available via an operating system distribution but in an ecosystem as large as the ROS community being able to rely on consistent stable releases is an overriding concern. If you have projects which are not going to be released on the official build farm you can configure additional custom rosdep sources to rely on the pip version of the package.

I'm going to close the pull request for the reasons above but if there's an extraordinary case here for a pip definition for this specific package we can revisit the issue.

Thanks for the update, as a general policy this makes sense, though I do wonder how many developers require the latest and greatest releases. Thanks for taking the time to write that summary!


CocoaPods could not find compatible versions for pod "SDWebImage"

Describe the bug
Unable to do pod install. I have tried using an older version and I am able to use up to 8.1.9.
To Reproduce

npx pod-install
See error

Expected behavior
Install pods.
Screenshots

Dependency versions

React Native version: 0.63.2
React version: 16.13.1
React Native Fast Image version: 8.3.2
Cocoapods: 1.9.3

Try run pod repo update

Try run pod repo update

That did it for me, thank you so much didn't realise was an issue with my cocoapod.

not help for solve same issue
RN: 0.60.5

@code-by, I fixed it with:
rm Podfile.lock
pod install --repo-update

None of the solutions above fixed it for me

I am building a react native app , I have tried updating both expo and react native , still nothing , any ideas ?

did you solve it @Subomi-olagoke ?

Not working for me as welL, using Expo:
[Hermes] Using the release tarball from Maven Central
[!] CocoaPods could not find compatible versions for pod "SDWebImage":
  In Podfile:
    ExpoImage (from `../node_modules/expo-image/ios`) was resolved to 1.3.5, which depends on
      SDWebImage (~> 5.15.8)

    RNFastImage (from `../node_modules/react-native-fast-image`) was resolved to 8.6.3, which depends on
      SDWebImage (~> 5.11.1)

Not working for me as welL, using Expo:
[Hermes] Using the release tarball from Maven Central
[!] CocoaPods could not find compatible versions for pod "SDWebImage":
  In Podfile:
    ExpoImage (from `../node_modules/expo-image/ios`) was resolved to 1.3.5, which depends on
      SDWebImage (~> 5.15.8)

    RNFastImage (from `../node_modules/react-native-fast-image`) was resolved to 8.6.3, which depends on
      SDWebImage (~> 5.11.1)

This error occurred after upgrading Cocoapods, right ?
Same issue occurring with me and I am using expo as well - @almeidapaulooliveira

Try removing react-native-fast-image if you have it install then run:
rm Podfile.lock
pod install --repo-update

Try removing react-native-fast-image if you have it install then run:
rm Podfile.lock
pod install --repo-update

Does this mean react-native-fast-image is incompatible with expo, considering I have to remove it in order for pod-install to work?

Try removing react-native-fast-image if you have it install then run:
rm Podfile.lock
pod install --repo-update

Does this mean react-native-fast-image is incompatible with an expo project, considering I have to remove it if I want pod install to work?

after doing rm Podfile.lock and running pod install --repo-update i still get:
[!] CocoaPods could not find compatible versions for pod "SDWebImageWebPCoder":
  In Podfile:
    ExpoImage (from `../node_modules/expo-image/ios`) was resolved to 1.3.2, which depends on
      SDWebImageWebPCoder (~> 0.11.0)

    RNFastImage (from `../node_modules/react-native-fast-image`) was resolved to 8.6.3, which depends on
      SDWebImageWebPCoder (~> 0.8.4)


fix(avm): fix SendL2ToL1Message implementation

fix(avm): fix SendL2ToL1Message implementation
Relates to #4002.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit f31c181f and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,412
179,524
716,068

l1_rollup_calldata_gas
221,752
866,824
3,448,264

l1_rollup_execution_gas
314,239
984,564
3,667,921

l2_block_processing_time_in_ms
1,154
4,345
17,226

note_successful_decrypting_time_in_ms
296 (-1%)
975 (+1%)
3,639 (+1%)

note_trial_decrypting_time_in_ms
112 (+3%)
108 (+21%)
145 (-1%)

l2_block_building_time_in_ms
18,187
72,296 (+1%)
289,694

l2_block_rollup_simulation_time_in_ms
13,056
51,796
208,387

l2_block_public_tx_process_time_in_ms
5,104
20,342 (+1%)
81,059

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,059 (+9%)
29,571 (+13%)

note_history_successful_decrypting_time_in_ms
2,363 (+1%)
4,581 (-3%)

note_history_trial_decrypting_time_in_ms
110 (+17%)
207 (-6%)

node_database_size_in_bytes
17,322,064
33,181,776 (+1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
309 (-1%)
44,481
26,193

private-kernel-ordering
194
44,513
14,929

base-rollup
1,406
128,970
881

root-rollup
82.7
4,088
677

private-kernel-inner
411
71,640
26,193

public-kernel-private-input
242
32,615
26,193

public-kernel-non-first-iteration
242
32,657
26,193

merge-rollup
7.63
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
128 leaves
64 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.2
11.9 (+8%)
12.5 (-1%)
17.3 (+1%)
22.7 (-1%)
63.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.9
17.5
23.0
31.6
47.0
143
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.592
0.666 (+8%)
0.535 (-1%)
0.535 (+1%)
0.476 (-1%)
0.440
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
N/A
N/A
N/A
75.3 (+1%)
47.4
238
466 (+1%)
897
3,548

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
N/A
N/A
N/A
159
96.0
543
1,055
2,079
8,223

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.466 (+1%)
0.487
0.435
0.435 (+1%)
0.427
0.427

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
N/A
N/A
N/A
103
56.9 (+1%)
347 (-2%)
690 (+1%)
1,363
5,420 (+1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
N/A
N/A
N/A
197
104
691
1,363
2,707
10,771

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.491
0.497
0.473 (-2%)
0.474
0.471
0.471

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
56.6 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
94.1
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
0.579
N/A
N/A
N/A
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,575
37,974

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
546
1,372

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.586 (+23%)
629