Beautification of Examples

Describe changes
I have started working on the examples and wanted to check in early to see if this is what you had in mind?
For now I would appreciate just a quick glance without going into detail so that I can know if I'm going into the correct direction.
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[ ] 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 change)
[x] Other (add details above)

@strickvl @htahir1 besides a few links I feel that the docs are getting to a point where I am happy to merge. A round of feedback could help me focus in on the things that I could focus own for the last round of changes.

@schustmi @AlexejPenner speaking of conflicts with Baris' branch, many of the docs / example READMEs will need to be updated following the type/flavor change.


Add --prefix arg to enable prefix in LUIS

Proposed Changes

Add --prefix argument to enable prefix for messages in LUIS.

Testing
Three new tests were added to validate the correct use of the prefix.

Pull Request Test Coverage Report for Build 1279

4 of 5 (80.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 68.838%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/LUIS/bin/luis.js
4
5
80.0%

Totals

Change from base Build 1268:
0.04%

Covered Lines:
3872

Relevant Lines:
5395

💛  - Coveralls


Crash upon quitting the game

Minecraft version & Mod Version: 1.12.1, Cyclic 1.7.7
Single player or Server: Single player
Describe problem (what you were doing / what happened): Quit the game, will happen randomly. Same issue happened in Quark - https://github.com/Vazkii/Quark/issues/573
Crash log (if any): http://paste.asie.pl/3LrU

New version checks the keyboard is created before accessing https://minecraft.curseforge.com/projects/cyclic/files/2465120


Replace multiple values in Account

There are a few data points using Enum for their respective values on the Accounts object.
This is creating a rather difficult uptake in updating the data for the interface.
The following changes are required as part of v2.2

billingType (#54)
accountTier (#55)
vipStatus

BillingType.cs
using System.Runtime.Serialization;

namespace WebApi.Entities;

public enum BillingType
{
    [EnumMember(Value = "None")]None,
    [EnumMember(Value = "Stripe")]Stripe,
    [EnumMember(Value = "Invoice")]Invoice,
    [EnumMember(Value = "PayPal")]PayPal,
    [EnumMember(Value = "Other")]Other,
    [EnumMember(Value = "DD")]DD,
    [EnumMember(Value = "Shopify")]Shopify,
    [EnumMember(Value = "CreditAccount")]CreditAccount
}

AccountTier.cs
using System.Runtime.Serialization;

namespace WebApi.Entities;

public enum AccountTier
{
    [EnumMember(Value = "Basic")]Basic,
    [EnumMember(Value = "Standard")]Standard,
    [EnumMember(Value = "Professional")]Professional,
    [EnumMember(Value = "Business")]Business,
    [EnumMember(Value = "Enterprise")]Enterprise,
    [EnumMember(Value = "Founder")]Founder
}

VipStatus.cs
using System.Runtime.Serialization;

namespace WebApi.Entities;

public enum VipStatus
{
    [EnumMember(Value = "No")]No,
    [EnumMember(Value = "Yes")]Yes,
    [EnumMember(Value = "EAC")]EAC,
    [EnumMember(Value = "Retention")]Retention,
    [EnumMember(Value = "T01")]Tranche_01,
    [EnumMember(Value = "T02")]Tranche_02,
    [EnumMember(Value = "T03")]Tranche_03,
    [EnumMember(Value = "Kickstarter")]Kickstarter,
    [EnumMember(Value = "Adopter")]Adopter,
    [EnumMember(Value = "Pioneer")]Pioneer,
    [EnumMember(Value = "Trendsetter")]Trendsetter,
    [EnumMember(Value = "Founder")]Founder,
    [EnumMember(Value = "Employee")]Employee,
    [EnumMember(Value = "Reseller")]Reseller,
    [EnumMember(Value = "Education")]Education,
    [EnumMember(Value = "NFP")]NFP
}

Resolved in https://github.com/OptechX/users.api/commit/3ee196314fea9774cb84825c3ca41c3a66a06eb5


Remux .weba file into .mp3

Using FFMPEG (child_process ? spawn or exec ?) transform .weba into .mp3
(I think i'm gonna use the https stream and pass it directly with this stream)

After one test, there is no need to use FFMPEG ! We can just rename the .weba file into .mp3 and it's working


FPS Drops

FPS Drops still happening randomly. Drops from 144 to 110-120.
Specs:
RTX 2080Ti - i9-9900K - 32GB RAM
OS: Win11 22H2
Game Settings:
Res: 1080p
Shadow Res: 4096
AA: FXAA

game is not quite optimized
it has nothing to do with me

Can you do further optimizations?

as it turns out, can't promise anything


Fixed inconsistent metrics naming and method

Signed-off-by: jojohappy<EMAIL_ADDRESS>fixes: #2315

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

@bwplotka I guess this was a mistake, it supposed to be thanos_status. It's not documented anywhere else. Anyway, this comes from an issue so people use it, better to add an entry to CHANGELOG. WDYT @jojohappy?

Yea, like fixed


Fix/lesq 679/programme listing [LESQ-679]

Description
Music year: 2001

update programme listing query to accept isLegacy param
remove hacky method previously used to keep legacy and new programmes distinct

Issue(s)
Fixes KS4 Biology programmes not appearing
How to test

Go to https://deploy-preview-2341--oak-web-application.netlify.thenational.academy/teachers/key-stages/ks4/subjects/biology/programmes
You should see tiers and examboards
also check other programmes which have different tiers/examboards between legacy and new programmes

:tada: This PR is included in version 1.396.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Segment fault is occurred

With ndk-r21b, skia for android 9 and capstone-4.0.2, i got successfully a binary named loader.
file loader
loader: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /git/SkCodecFuzzer/deps/android/system/bin/linker64, not stripped
When i execute ./run.sh which is included, "Invalid argument" against prctl is raised in my case, while another arm64 binary is working well (Also, It is working well after compilation without dynamic linker option README.md mentions) . Anything else i could do?
In case of Another arm64 binary:
qemu-aarch64 -strace ./f
20221 brk(NULL) = 0x0000000000569000
20221 brk(0x0000000000569fc8) = 0x0000000000569fc8
20221 uname(0x40007ffe88) = 0
20221 readlinkat(AT_FDCWD,"/proc/self/exe",0x00000040007fef80,4096) = 11
20221 brk(0x000000000058afc8) = 0x000000000058afc8
20221 brk(0x000000000058b000) = 0x000000000058b000
20221 faccessat(AT_FDCWD,"/etc/ld.so.nohwcap",F_OK,0) = -1 errno=2 (No such file or directory)
20221 fstat(1,0x00000040007ffde8) = 0
20221 write(1,0x57c030,18)Hello from ARM64!
= 18
20221 exit_group(0)
In case of running the loader compiled without the dynamic linker on device:
./loader
Error: missing required --input (-i) option
Usage: [LIBC_HOOKS_ENABLE=1] ./loader [OPTION]...
Required arguments:
-i, --input    specify input file path for decoding
Optional arguments:
-o, --output    save raw decoded RGBA image colors to specified output file
-l, --log_malloc           log heap allocator activity to stderr (LIBC_HOOKS_ENABLE=1 needed)
-d, --default_malloc       use the default system heap allocator
-h, --help                 display this help and exit
In case of running the loader compiled with the dynamic linker extracted from device:
./run.sh
19930 mmap(NULL,20480,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001032000
19930 prctl(1398164801,0,274894888960,20480,274894482102,0) = -1 errno=22 (Invalid argument)
19930 mprotect(0x0000004001033000,12288,PROT_READ|PROT_WRITE) = 0
19930 prctl(1398164801,0,274894893056,12288,274894482168,0) = -1 errno=22 (Invalid argument)
19930 set_tid_address(274894861656,0,274894893056,12288,274894482168,0) = 19930
19930 faccessat(-100,"/dev/urandom",R_OK,0) = 0
19930 futex(0x0000004001027fc8,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,NULL,0) = 0
19930 getrandom(274893454368,40,1,0,0,0) = 40
19930 mmap(NULL,1104,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001037000
19930 prctl(1398164801,0,274894909440,1104,274894480656,0) = -1 errno=22 (Invalid argument)
19930 sched_getscheduler(0,0,8,3885048629,274894909568,274894861640) = 0
19930 mmap(NULL,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001038000
19930 mprotect(0x0000004001038000,4096,PROT_NONE) = 0
19930 sigaltstack(0x4000ed3ca0,(nil)) = 0
19930 prctl(1398164801,0,274894917632,16384,274894482179,0) = -1 errno=22 (Invalid argument)
19930 prctl(1398164801,0,274894913536,4096,274894482199,0) = -1 errno=22 (Invalid argument)
19930 mprotect(0x000000400101a000,49152,PROT_READ) = 0
19930 mprotect(0x000000400102a000,4096,PROT_READ) = 0
19930 mprotect(0x000000400102a000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400102a000,4096,PROT_READ) = 0
19930 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x000000400103d000
19930 prctl(1398164801,0,274894934016,4096,274894482791,0) = -1 errno=22 (Invalid argument)
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ|PROT_WRITE) = 0
19930 mprotect(0x000000400103d000,4096,PROT_READ) = 0
19930 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x000000400103e000
19930 prctl(1398164801,0,274894938112,4096,274894470243,0) = -1 errno=22 (Invalid argument)
19930 mmap(NULL,24,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x000000400103f000
19930 prctl(1398164801,0,274894942208,24,274894470409,0) = -1 errno=22 (Invalid argument)
19930 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001040000
19930 prctl(1398164801,0,274894946304,4096,274894470243,0) = -1 errno=22 (Invalid argument)
19930 mmap(NULL,24,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001041000
19930 prctl(1398164801,0,274894950400,24,274894470409,0) = -1 errno=22 (Invalid argument)
19930 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004001042000
19930 prctl(1398164801,0,274894954496,4096,274894434791,0) = -1 errno=22 (Invalid argument)
19930 mprotect(0x0000004001042000,4096,PROT_READ|PROT_WRITE) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=1, si_addr=0x000000000000014e} ---
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
./run.sh: line 19: 19930 Segmentation fault      (core dumped) LD_LIBRARY_PATH=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android:$ANDROID_PATH/lib64 qemu-aarch64 -strace ./loader "$@"
root@babo-400B4C-400B5C-200B4C-200B5C:/git/SkCodecFuzzer/source#

I haven't encountered such a crash before. It might be related to the prctl(PR_SET_VMA) call made by the libclang_rt.ubsan_standalone-aarch64-android.so library, which is not supported outside of Android. I mentioned this in the SkCodecFuzzer README and the MMS Exploit Part 2 blog post. In my case, the problem only manifested with libraries extracted from Android 10, so I swapped the one .so file from an older Android 9 and that fixed it.
If this is the cause of the problem, you might try:

Starting the harness with a UBSAN_OPTIONS=decorate_proc_maps=0 environment variable,
Replacing the libclang_rt.ubsan_standalone-aarch64-android.so file with an older one that doesn't have the prctl call or,
Manually patching out the prctl call in the .so file you have.

If that doesn't help, I'd recommend attaching gdb to the harness to see exactly how/where the code is crashing. In my testing, the failed prctl call generated an abort signal, so the SIGSEGV you're seeing is quite strange.


List will be trimed in

Hi,
I had a same Java code wrapped with <pre> tag, like this:
List<Integer> arr = new List<Integer>;

when I display it in flutter with highlight, it will be trimed to:
List arr = new List;

Is there a method to resovle it?
Thanks!

Could you please provide the full code?

Sorry, I debug the code again, the problem was cause by other plugin: flutter_html, it treated <Integer>  as a html block.


Add ros camera images

Please enhance the code to display the camera images on web view

I've been thinking about this problem yeah, and it's an annoying one for sure because it's filled with tradeoffs. The standard way images are sent through rosbridge is by encoding them as base64, which makes them about 30% larger and completely cloggs web tcp sockets at any reasonable rate. Could work with heavy throttling I suppose, but even transferring OccupancyGrid type images freezes other topics for a split second.
Second option is the web_video_server, with mjpeg streaming which is workable over wifi at low resolutions and low frame rates and goes through http requests so it doesn't directly impact socket transfers (probably the most sane option).  webrtc_ros used to be a better option, but building webrtc is such an undertaking that it hasn't been kept up to date at all. I think another option would be using aiortc through python, since they handle that part but one would need to build a web_video_server type node around it.
As for displaying the images client side, it's also not ideal since there's very little screen real estate on mobile. Could work on desktop with a movable scalable pop-out window, but if a camera position is defined in the TF tree then maybe something like a floor reprojection would be more practical, though if there's no localization it would only be fixed in the camera frame and if the camera isn't seeing any of the floor then it's not useful either.
So no silver bullets unfortunately, but I'd like to hear what everyone thinks.

Alright I've ran some tests and surprisingly the compressed image doesn't seem to be too bad (if throttled somewhat), so I suppose it may be handy to have it until someone figures out aiortc. It'll be just a similar interface as for the joystick for now though.


ytcc: init at 1.8.1

Motivation for this change
found this software, which appear to be really interessing. modified the gallery-dl installation instruction
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Tested the ability to list unwatched video with this software.

@GrahamcOfBorg build ytcc

@aanderse

@GrahamcOfBorg build ytcc

@marius851000 Thanks for your contribution! :tada:


feat: enable configuring of atlantis server --checkout-strategy

Description
Enable configuring --checkout-strategy Implemented in this atlantis pr https://github.com/runatlantis/atlantis/pull/427/files
		description: "How to check out pull requests. Accepts either 'branch' (default) or 'merge'." +
			" If set to branch, Atlantis will check out the source branch of the pull request." +
			" If set to merge, Atlantis will check out the destination branch of the pull request (ex. master)" +
			" and then locally perform a git merge of the source branch." +
			" This effectively means Atlantis operates on the repo as it will look" +
			" after the pull request is merged.",

Motivation and Context
Atm an atlantis instance deployed via this module cannot configure this setting.  Meaning that all deployments from atlantis from this module will take the default branch option for this flag on atlantis server.
According to the docs, that will only check out the branch we wish to apply.  This can cause problems if someone made a branch prior to an important master change, then atlantis applies removing that last change (if the user never rebased master)
We would like to be able to try to use this flag on our atlantis instance.
Breaking Changes
There are no breaking changes here, the variable that is introduced atlantis_checkout_strategy defaults to branch which is what the flag already defaults to branch, you can see in their pr or on latest master https://github.com/runatlantis/atlantis/blob/master/cmd/server.go#L157
How Has This Been Tested?
These create environment vars in the same methodology this repo currently uses and these env vars are passed via viper.AutomaticEnv, they are also checked for in their tests on that pr
https://github.com/runatlantis/atlantis/pull/427/files#diff-3b1c14f936e65b2202c014583477ef8d2a67f69d9946a6b4e6829dee5486d0c9R595

@antonbabenko if you can take a look when you get a chance please 🙏

hi @Mitsuwa - because we expose a catch all var.custom_environment_variables I don't think this change is necessary https://github.com/terraform-aws-modules/terraform-aws-atlantis/blob/05b9dc79cec1e68fffd19c0914fcb525098ab9a9/main.tf#L485
you can simply add your desired additional environment variables to that variable and it will get passed in

Oh sweet i mustve missed that, thanks!


[DDW-591] Fix delay on loading stake pool list after switching SMASH server

This PR fixes delay on loading stake pool list after switching the SMASH server.
JIRA ticket
Screenshots

Testing Checklist

Slack QA thread
[ ] Test

Test Scenarios
Scenario 1 - Validate stake pool list updates according to the selected SMASH server
Given that I am on the "Stake pools" screen on "Settings"
When I switch the SMASH server
And check the Stake Pool list on "Staking center"
Then I can see the old list is no longer visible
And the new list is loading

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes
[ ] PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:

[ ] In English
[ ] In Japanese

[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@daniloprates Can you define Testing Checklist, please 🙏

Hi @daniloprates. On 17070, not sure why the stake pool keeps on refreshing and the animation never disappear. Is this expected behaviour? Please see video

@daniloprates I tried reproducing this issue again and this was the outcome:

Loading the stake pools for the first time (default server, no changes) worked as expected, no reloading occurred. Check the screenshot.
Then I switched the server to "None" and it reloaded a few times before completing the list. Here's a video of the first time it occurred. These are the logs that were displayed while 0 stake pools were shown. Here's a screenshot of the logs later while reloading.
So from my point of view, each time "Store result" has no data, the list reloads.

video

@gabriela-ponce from these results I couldn't see anything wrong. When you change the SMASH option, the API fetches the new data and, at that time, the store result is "-". Did you notice anything strange, besides that?

@daniloprates Can you define Testing Checklist, please 🙏

@tomislavhoracek the Scenario 1 @gabriela-ponce added to the Test Scenarios is really the only thing that needs to be tested. The reason for this issue to happen is that, right now, we don't reset the stakePoolsRequest, so after changing the SMASH server option, the old list remains there until the new API request is completed.

@gabriela-ponce from these results I couldn't see anything wrong. When you change the SMASH option, the API fetches the new data and, at that time, the store result is "-". Did you notice anything strange, besides that?

Nothing besides that, but to clarify, the "store results: -" happens after the list started loading for the first time, so after switching the SMASH server and showing some items on the list. Hopefully, that's more clear.

@gabriela-ponce from these results I couldn't see anything wrong. When you change the SMASH option, the API fetches the new data and, at that time, the store result is "-". Did you notice anything strange, besides that?

Nothing besides that, but to clarify, the "store results: -" happens after the list started loading for the first time, so after switching the SMASH server and showing some items on the list. Hopefully, that's more clear.

That's fine, as long as the results on screen are correct. There might be a delay in the logs, so they are only helpful o debug something wrong spot in the app itself. Thanks!

@daniloprates sometimes I get this error, when I switch from moderated to unmoderated vice versa and quickly go to Stake pools view. It seems to be connected to the saving of the newly selected option. If I change the option quickly and go to Stake pools view, the app might not have enough time to save the newly selected option. See screenshot . Tested on 17082

@daniloprates I can't reproduce the previous issue, so it looks good for me.
I'll wait for new changes regarding what @miorsufianiohk reported before approving 👍

@daniloprates sometimes I get this error, when I switch from moderated to unmoderated vice versa and quickly go to Stake pools view. It seems to be connected to the saving of the newly selected option. If I change the option quickly and go to Stake pools view, the app might not have enough time to save the newly selected option. See screenshot . Tested on 17082

Hey @miorsufianiohk, thanks for the report. I've tried extensively to reproduce it, but it never happened to me. I've tried quickly changing the SMASH server multiple times, then going to the Stake Pools list. I've even created this function, which allows to quickly toggle between IOHK's and NONE options while in the Stake Pools list screen. You can use it by pasting it in the dev tools console:
const toggle = () => {
    const currentSmashServerUrl = daedalus.stores.staking.smashServerUrl;
    const smashServerUrl = (currentSmashServerUrl === 'direct')
        ? "https://smash.cardano-mainnet.iohk.io"
        : 'direct';
    daedalus.actions.staking.selectSmashServerUrl.trigger({ smashServerUrl });
};

Then pasting this multiple times:
toggle();

E.G.

If you are still getting this error, could you please record a video of it? Also, in which network?

@gabriela-ponce please re-test this one 🙏

@tomislavhoracek could you give it a go?


Add cirq.eject_phased_paulis transformer to replace cirq.EjectPhasedPaulis

Part of https://github.com/quantumlib/Cirq/issues/4722
Follows the new Transformer API https://github.com/quantumlib/Cirq/issues/4483
Supports no compile tags NoCompile Tag for optimizers https://github.com/quantumlib/Cirq/issues/4253

Breaking change: cirq.EjectPhasedPaulis optimizer will now remove empty moments by default.

@MichaelBroughton Addressed Feedback, ready for another look.

Added support for PhasedXZ gates with only z_exponent as the non-zero angle. Also updated docstrings.
CCO's will not get moved because op.gate is None when op is a CCO, so the operation would be an "unknown" operation and will act as a blocker. Same is true for other existing transformers as well. Adding support for running transformers on the gates inside CCOs is currently being discussed in https://github.com/quantumlib/Cirq/issues/4923 and I'd prefer to not block this PR for the same.


MetroAnimatedSingleRowTabControl Scrollbar issue

Hello,
Is it normal that the MetroAnimatedSingleRowTabControl header can't be scrolled with the mousewheel?
It's a bit annoying.
Thanks in advance

@Speuline Hi, this is limited to the ScrollViewer itself, cause it doesn't handle this
    /// <summary>Responds to a click of the mouse wheel.</summary>
    /// <param name="e">Required arguments that describe this event.</param>
    protected override void OnMouseWheel(MouseWheelEventArgs e)
    {
      if (e.Handled || !this.HandlesMouseWheelScrolling)
        return;
      if (this.ScrollInfo != null)
      {
        if (e.Delta < 0)
          this.ScrollInfo.MouseWheelDown();
        else
          this.ScrollInfo.MouseWheelUp();
      }
      e.Handled = true;
    }

I will add a new attached property IsHorizontalScrollWheelEnabled in 1.6.0


Implement pinChatMessage and unpinChatMessage, with tests

Hi @zhyu !
As part of Hacktoberfest I decided to submit this PR to implement pinChatMessage and unpinChatMessage as per issue #94
Hope that helps!
Cheers

Hi @delta1 !
Thanks for submitting this PR.
I'm sorry for keeping you waiting, I just merged it :)

No problem, thanks @zhyu !


feat(elementExplorer): Combine browser.pause with elementExplorer

reuse logic for browser.pause for elementExplorer
introduce browser.enterRepl
allow customization of driver for elementExplorer
fix bug where repl cannot return an ElementFinder (related #1600)

Closes #1314, #1315

Awesome, looks good overall, just a couple clarification comments.

And I assume a following PR will change the docs and the element explorer binary?

I'll send a follow up PR to change the docs. I was thinking of removing the element explorer binary since you can just do 'protractor --elementExplorer'. I can keep the binary too, but it would just be a one-liner. What do you think?

Let's keep the one liner binary for discoverability.

Addressed comments.

Great - let me do one more run-through and actually try it out on my computer and then I'll LGTM.

Docs: https://github.com/angular/protractor/pull/1717

LGTM

merged with https://github.com/angular/protractor/commit/fb099dedf92a64732d88401dd1b0d4d30b22650d

How can I can access test scenario varibles in browser.enterRepl()? In particular I am interested to have access to libs/helpers/page objects loded via requireHttpBackend = require('http-backend-proxy')

@tb I agree it sounds like a good feature to have. However, it is not possible right now since Protractor is running user code (repl code) in a vm. It might be possible to inject relevant helpers/librarys into the vm's context during the set up, but it would look something like context = {foo: 3, bar: function() {}}; browser.enterRepl(context); in other words, a user would need to pass those in. If this is something of use to you, please open a new feature request issue and we can track there.


Broken with Django 1.9

Just wanted to let you know that django-baker isn't working with Django 1.9. It appears that they changed how get_app works, so importing that now fails. Seems to be this change needed:
http://stackoverflow.com/questions/34069486/add-all-models-to-admin-site-django-1-9

Appconfigs changes everything in 1.7 and in 1.9 they drop the old api App/Models, this PR https://github.com/krisfields/django-baker/pull/13 fix it but broke all support to 1.7 and previous versions

Sorry for the long delay.  I just updated everything to make it compatible with Django 1.10.  I imagine it should also work with 1.9 but I'm not sure.


Update .travis.yml

Update meck
Add Elixir 1.4.5 and OTP 19.3, 20.0

Coverage increased (+0.03%) to 86.893% when pulling f267227f72bfbfa64bed272f5ebf3ef53d7c0cfd on add-elixir-1.4-to-travis into 2a86c0819a9324b6eec1395e7a6dd80c816e117c on master.

Coverage increased (+0.03%) to 86.893% when pulling f267227f72bfbfa64bed272f5ebf3ef53d7c0cfd on add-elixir-1.4-to-travis into 2a86c0819a9324b6eec1395e7a6dd80c816e117c on master.


Declaring that one annotation aliases or specializes another (@Implies) [working decision: no]

A meta-annotation, used like:
@Implies(Nullable.class)
public @interface MyNullable { ... }

... which declares the annotated annotation to have all of the semantics of the linked annotation (plus optionally more).
This could make for easier migration, it could be used by things like @PolyNull so that the user doesn't have to redundantly write @Nullable @PolyNull, it could be used by a library that parallels ours to remove runtime retention, and perhaps other uses as well.

In Nullsafe we use @Nullsafe class-level annotation to

mark that the class is DefaultNonNull
allow users to configure certain aspects of checker's behaviour.

Annotation aliasing would be very helpful for us at least for the following reasons:

Help with interop between @Nullsafe Java classes and Kotlin code.
Make OSS FB libraries (that again use @Nullsafe classes) more friendly for the community.

Given that annotations currently present in the design are parameterless there's not much difference between

@Implies-annotation

@Implies({DefaultNonNull.class})
public @interface Nullsafe ...

Aliasing via application

@DefaultNonNull // alias
public @interface Nullsafe ...

No.1 is clearer, but No.2 (w/ a comment) is not too bad either, and added flexibility in allowing to specify arguments to aliased annotation seems to be a nice bonus.

Notably it wouldn't be a complete solution, since there will be users who want to alias an annotation they don't own and the owner won't do it.

@kevinb9n this is somewhat restrictive, but I don't feel this is necessarily a bad thing. At the very least this prevents people from producing inconsistent aliases. In this (rather far-fetched) example I wouldn't like to be the person who depends on MySuperAnnot and both libA and libB if
libA:
@Nullable
public @interface MySuperAnnot ...

libB:
@NonNull
public @interface MySuperAnnot ...

@donnerpeter do I understand correctly that your concern with option No.2 (aliasing via application) is that it would require to scan all @interface declarations to build aliasing index compared to just uses of @Implies (but the resulting index size would be the same)?

@artempyanykh It'd require to either scan all @interface declarations in all JVM languages, or all usages of @NotNull, or the intersection of these two sets (and do it after any change in the project, any typing).
I'm not sure which index you mean and what would be the same.

@donnerpeter sorry, I have 0 experience in implementing IDEs, but want to understand better the situation, so please bear with me.
To support aliases in Infer, we would just lazily build a mapping from encountered annotations to their base jspecify analogues as we walk the CFG. Since this is a batch job, the overhead of this lookup would be low and there wouldn't be much difference between @Implies(DefaultNonNull.class), @DefaultNonNull public @interface MyAnnot, or the combination.
Now in IDE this should happen incrementally, but I don't quite understand why the cost cannot be efficiently amortised.
For instance:

...and do it after any change in the project, any typing

Why would it need to be any typing? I'd assume it depends on the "context", so if someone is not editing annotation classes or changing annotations on elements there's no need to rebuild the index of aliases. Or am I missing something?

On related note, perhaps one aspect of @TypeQualifierNickname that I find questionable is its recursive nature. Theoretically, it allows for very flexible setups, but I have found 0 usages of it both in our Android and server code. This may very well be idiosyncratic to our codebase, so input from people with more sophisticated setups would be appreciated.
But anyhow, would it be easier to limit the scope of such annotation to be just a marker to simplify life of IDE implementers (if it's really needed) without the requirement to propagate annotations from an alias to annotations this alias is applied to?
So that when someone wants to alias some base annotation from jspecify they would need to write:
import jspecify.nullability.DefaultNonNull
import jspecify.meta.Alias

@Alias
@DefaultNotNull
@Nullsafe { ... }

Why would it need to be any typing? I'd assume it depends on the "context", so if someone is not editing annotation classes or changing annotations on elements there's no need to rebuild the index of aliases. Or am I missing something?

You're right, in an ideal world that'd be so. Unfortunately it's too expensive to determine what an edit (or an update from version control, or a library jar change) could affect across the project, so, at least in IntelliJ, we drop most caches on any change, and try to be fast in recomputing them.
Non-recursive aliasing would indeed simplify the life of (our) IDE. But explicit marking seems much more important IMHO.

I'm still not in a position to comment on the performance implications, but can only speak to my continued positive impressions of the benefits of the feature.
First, the topic of this comment is: what would it mean, exactly?
Assuming this simple usage:
@Implies(Foo.class)
public @interface Bar {}

And this generalized usage of our example annotation:
// elsewhere
@Bar /* some annotatable element here*/

Implies says that IF @Foo is also legal to appear in that context (by its target type):
// elsewhere
@Bar @Foo /* some annotatable element here*/

then these two snippets just above convey identical information; no meaning should be ascribed to the difference between them.
(Of course, checkers that want to issue a warning to the latter that @Foo can be safely removed would be welcome to, so that is a difference in behavior, but still not a difference in meaning.)
We would say that @Bar is a "specialization" or "refinement" of @Foo, and in fact @Refines and @Specializes are potential names for the annotation.
Bar may or may not add semantics of its own. If it does not, we may use the term "alias" to describe it, and its javadoc should presumably say nothing but "Alias for {@link Foo}". (We might wish in theory that the @Implies link could be made in both directions, but in real life we'd have to be content with just one.) In this alias scenario, each client codebase may have its own policy for which annotation's usage is preferred; it is probably not something that @Bar itself can define and thus not something @Implies would have anything to do with.
(The alias use case makes the name @Implies a little more attractive than @Refines or @Specializes, since the latter might subjectively be seen as suggesting more than the trivial refinement.)
All the above doesn't provide any solution for implying another annotation with particular attribute values; e.g. you can't define a @Bar that implies @Foo("value here"). However (a) many of these cases would want some "pass-through" of values anyway, which it's hard to see any way to accomplish, and (b) for the hardcoded no-pass-through case, @Foo could choose to enable that differently, by adding @Target(ANNOTATION_TYPE) and documenting it to have that meaning when applied to annotations.
(Aside: we've said we might offer small helper libraries for checker implementations or runtime/reflection code to use, if the need arises. A "does this element have this annotation on it" method that automatically traverses @Implies would be a simple example of this.)

Now starting to get at why I feel this is important,
A thought experiment: if some codebase converts over to use our annotations completely, let's say that's what a 100% victory looks like for us. But what if it does not use our annotations at all, but it does use annotations that contain hard links via @Implies to ours?  Would we call that a 50% victory, or 80%, or 10%, or what?
imho, I think of it as like 90% victory. Because it can still be very concretely observed in the code that our semantics are the ones in play.
If they use annotations that maybe mention ours in javadoc, that's kinda okay, except that that's going to serve no purpose until they go around configuring all their tools to say "please recognize our annotation as their annotation" (which would happen magically if we had @Implies). Of course, in the real world people will do that without even bothering to mention this in their annotations' javadoc, and from their pov, why should they?

A few design points:

@Implies still seems like a fine name to me
It should take a Class<? extends Annotation> ... it will only be useful for marker annotations
Possibly a boolean isAlias() default false might be useful, to signify that this class promises it adds no additional semantics and thus the two annotations are equivalent
The specified annotation type should have all the target types the current annotation type has
The Implies javadoc should warn that it's important for "all" code that checks for the presence of an annotation to do it using a method like  that takes Implies into account.

The ability to remove runtime retention is looking even more important than I'd thought, thanks to old versions of Android.

The ability to remove runtime retention is looking even more important than I'd thought, thanks to old versions of Android.

Earlier today, I noted one way that we could end up with a nullness annotation and an alias for its inverse in the same location (though presumably we'll work to avoid that).
This relates to an earlier possibility that has come up a few times -- namely, that we'd end up with a nullness annotation and another annotation that implies that same annotation in the same location. Specifically, we've discussed that this could happen with @PolyNull @Nullable (1, 2, 3). In theory, aliasing/implies should make that unnecessary: By declaring that @PolyNull implies @Nullable, we eliminate the need for @Nullable. On the other hand, I would anticipate that:

Sometimes an annotation like @PolyNull will not have been updated that way (yet?), so people may want to use both. If so, it would be a little sad to have to remove @Nullable in lockstep with updating the definition of @PolyNull.
Some tools will recognize any annotation named "Nullable" but not implement our aliasing/implies logic. Then again, I guess a solution here is to use @PolyNull for JSpecify tools and some non-JSpecify annotation named "Nullable" on the same usage? But mixing in a non-JSpecify "Nullable" annotation is confusing and error-prone in its own way.

Anyway, this is all to say that aliases open up the possibility of writing @Foo @NotFoo or @Foo @Foo in indirect ways. We'll want to think that through.

Earlier today, I noted one way that we could end up with a nullness annotation and an alias for its inverse in the same location (though presumably we'll work to avoid that).
This relates to an earlier possibility that has come up a few times -- namely, that we'd end up with a nullness annotation and another annotation that implies that same annotation in the same location. Specifically, we've discussed that this could happen with @PolyNull @Nullable (1, 2, 3). In theory, aliasing/implies should make that unnecessary: By declaring that @PolyNull implies @Nullable, we eliminate the need for @Nullable. On the other hand, I would anticipate that:

Sometimes an annotation like @PolyNull will not have been updated that way (yet?), so people may want to use both. If so, it would be a little sad to have to remove @Nullable in lockstep with updating the definition of @PolyNull.
Some tools will recognize any annotation named "Nullable" but not implement our aliasing/implies logic. Then again, I guess a solution here is to use @PolyNull for JSpecify tools and some non-JSpecify annotation named "Nullable" on the same usage? But mixing in a non-JSpecify "Nullable" annotation is confusing and error-prone in its own way.

Anyway, this is all to say that aliases open up the possibility of writing @Foo @NotFoo or @Foo @Foo in indirect ways. We'll want to think that through.

Another thing to consider, especially if we embrace aliasing/implies as a broad solution to many problems:
A JSpecify checker can always recognize code with @org.jspecify.annotations.Nullable on it, even if that class isn't on the classpath.
(OK, it's possible that the implementation of a particular checker will in fact require that class to be present. But in principle, the checker could work without the class definition. And if it really wants the class definition to be present, then the checker (or at least its build-system integrations) can add that class to the classpath automatically.)
And that can be important, because people like to hide their annotation dependencies entirely from their users. This is (I have argued) a bad idea, but people do it because Maven has no true compile-time-only scope.
But if code uses @com.foo.MyNullable, then the JSpecify checker needs to see the definition of @com.foo.MyNullable in order to know that it implies @org.jspecify.annotations.Nullable.
One bit of good news is that, if we provide aliases as part of JSpecify itself (e.g., for a CLASS-retention version of @InTheClub), then it's likely that (a) they will appear in most JSpecify users' classpaths or at least (b) JSpecify-based tools can hardcode knowledge of those annotations for the case in which they're not in the classpath.

Another thing to consider, especially if we embrace aliasing/implies as a broad solution to many problems:
A JSpecify checker can always recognize code with @org.jspecify.annotations.Nullable on it, even if that class isn't on the classpath.
(OK, it's possible that the implementation of a particular checker will in fact require that class to be present. But in principle, the checker could work without the class definition. And if it really wants the class definition to be present, then the checker (or at least its build-system integrations) can add that class to the classpath automatically.)
And that can be important, because people like to hide their annotation dependencies entirely from their users. This is (I have argued) a bad idea, but people do it because Maven has no true compile-time-only scope.
But if code uses @com.foo.MyNullable, then the JSpecify checker needs to see the definition of @com.foo.MyNullable in order to know that it implies @org.jspecify.annotations.Nullable.
One bit of good news is that, if we provide aliases as part of JSpecify itself (e.g., for a CLASS-retention version of @InTheClub), then it's likely that (a) they will appear in most JSpecify users' classpaths or at least (b) JSpecify-based tools can hardcode knowledge of those annotations for the case in which they're not in the classpath.

As far as I can tell, javac itself at least doesn't mind usages of an annotation whose declaration has @Implies(SomeClassNotOnTheClasspath.class). That's the case even though it does mind usages of an annotation whose declaration has @Target(SOME_ENUM_VALUE_NOT_ON_THE_CLASSPATH). (Caveat about that latter problem: I don't know if it's specific to @Target (since javac cares specifically about that) or more general. It would be easy enough to test.)
$ tail -n +1 *.java
==> Implies.java <==
@interface Implies {
  Class<? extends java.lang.annotation.Annotation> value();
}

==> JSpecifyNullable.java <==
@interface JSpecifyNullable {}

==> OtherNullable.java <==
@Implies(JSpecifyNullable.class)
@interface OtherNullable {}

==> User.java <==
@OtherNullable
class User {}

$ javac -sourcepath none Implies.java JSpecifyNullable.java OtherNullable.java && mkdir othernullableonly && cp OtherNullable.class othernullableonly && javac -sourcepath none -cp othernullableonly User.java
<no errors or warnings>

As far as I can tell, javac itself at least doesn't mind usages of an annotation whose declaration has @Implies(SomeClassNotOnTheClasspath.class). That's the case even though it does mind usages of an annotation whose declaration has @Target(SOME_ENUM_VALUE_NOT_ON_THE_CLASSPATH). (Caveat about that latter problem: I don't know if it's specific to @Target (since javac cares specifically about that) or more general. It would be easy enough to test.)
$ tail -n +1 *.java
==> Implies.java <==
@interface Implies {
  Class<? extends java.lang.annotation.Annotation> value();
}

==> JSpecifyNullable.java <==
@interface JSpecifyNullable {}

==> OtherNullable.java <==
@Implies(JSpecifyNullable.class)
@interface OtherNullable {}

==> User.java <==
@OtherNullable
class User {}

$ javac -sourcepath none Implies.java JSpecifyNullable.java OtherNullable.java && mkdir othernullableonly && cp OtherNullable.class othernullableonly && javac -sourcepath none -cp othernullableonly User.java
<no errors or warnings>

RE: (1):
An impression that I got (which may or may not be accurate) is that part of the reason we're here is that at least one tool vendor (Kotlin) is trying to avoid adding nullness annotations to its list and also avoid exposing arbitrary configuration abilities to users. Maybe we can run that by someone from Kotlin to see if it's accurate?
Aside from Kotlin, my impression is indeed that most tools will let you specify which annotations to recognize, or they'll recognize anything with the simple name "Nullable."

I wonder if we can decide among a few options for moving forward here for 1.0.

Maybe 1.0 doesn't need any @Implies annotation at all. Each checker tool has a way to configure aliases already. For libraries that want to be used by clients who use any tool, it behooves them to change their annotations to the JSpecify ones. For users who are committed to a specific tool, they can configure it however it expects to recognize the aliases it wants to.

(To express this decision we would move all Implies-related issues to the post-1.0 milestone.)

1.0 needs to support a common use case for aliasing the JSpecify nullness annotations, but we can decide not to support more complex annotations (such as those with parameters) or more complex relationships besides simple implication (such as refinement or implies-except) for now because we believe we have a reasonable path toward supporting those more complex use cases in a later release without breaking existing users.
1.0 has to support more general use cases, such as those described above, because we do not believe we can support only the common use case first without precluding support for the more complex ones later.

 Separately, #218 argues for a simple solution.
Refinement: I don't think refinement is a special case, it's just generally how this works. Did I misunderstand anything?
Alias: the ability to mark an annotation as being a pure alias (non-refinement?) is an optional feature, with some value, that is NOT part of this and is fine to file separately, because isAlias=false would be the default anyway.
Implies-except: this is about precedence rules when a conflict is found, and we have to have some decision on it (#216)
Imply-multiple: assume no, because #213 tracks that.

As discussed with @kevinb9n recently, and as described in this old but still relevant comment, @Implies support is mandatory for Spring Framework 6 adopting jSpecify.

Appreciate you reasserting this. It may seem like it should be unnecessary to repeat, but it really does help. Will address in meeting and update here.

We have made a working decision to include this for 0.3. This will help us discover any serious problems with it before 1.0.

The current, working decision, as of release 0.3, is that JSpecify 1.0 will not include a general specification of one annotation implying another.
Although this use case is important to large library providers such as Spring Framework (see #307 for further discussion), its requirements are also quite complex. We won't delay 1.0 for this use case, but we should figure out what to do after 1.0.
I propose the current decision be finalized for 1.0. If you agree, please add a thumbs-up emoji (👍) to this comment. If you disagree, please add a thumbs-down emoji (👎) to this comment and briefly explain your disagreement. Please only add a thumbs-down if you feel you can make a strong case why this decision will be materially worse for users or tool providers than an alternative.

I won't thumb-down this one, as I think it is great that 1.0 with current scope is released asap and I am not sure we need a mechanism as general/complex as @Implies, but I want to express (again) that the lack of meta-annotation/alias capability is a blocker for Spring Framework usage of JSpecify, so my ask would be to plan that feature for 1.1 and treat it as high priority after 1.0 release.
Could be as simple as supporting annotating Spring null-safety annotation with JSpecify ones (I understand there are performances implications for checkers, but IMO this is doable, we are talking about build-time tooling, not runtime analysis).

New proposal: https://docs.google.com/document/d/19Z7Ep2zBRpeKu17JNXOGhcZziGiAsz-CGkNTq7hHXoI/edit


Fail to write to /var/post_install/kustomization.yaml

          It seems that something is wrong. Please see the details:

module.infra.null_resource.kustomization (remote-exec): Connecting to remote host via SSH...
module.infra.null_resource.kustomization (remote-exec):   Host: xxxx
module.infra.null_resource.kustomization (remote-exec):   User: root
module.infra.null_resource.kustomization (remote-exec):   Password: false
module.infra.null_resource.kustomization (remote-exec):   Private key: false
module.infra.null_resource.kustomization (remote-exec):   Certificate: false
module.infra.null_resource.kustomization (remote-exec):   SSH Agent: true
module.infra.null_resource.kustomization (remote-exec):   Checking Host Key: false
module.infra.null_resource.kustomization (remote-exec):   Target Platform: unix
module.infra.null_resource.kustomization (remote-exec): Connected!
module.infra.null_resource.kustomization: Still creating... [40s elapsed]
module.infra.null_resource.kustomization (remote-exec): + sed -i 's/^- |[0-9]\+$/- |/g' /var/post_install/kustomization.yaml
module.infra.null_resource.kustomization (remote-exec): sed: can't read /var/post_install/kustomization.yaml: Not a directory
╷
│ Error: remote-exec provisioner error
│
│   with module.infra.null_resource.kustomization,
│   on .terraform/modules/infra/init.tf line 288, in resource "null_resource" "kustomization":
│  288:   provisioner "remote-exec" {
│
│ error executing "/tmp/terraform_148135017.sh": Process exited with status 2
╵
% ssh root@xxxx -p 60022
infra-control-plane-vnc:~ # less /var/post_install
infra-control-plane-vnc:~ # ls -l /var/post_install
-rw-r--r--. 1 root root 642 Jan  2 18:16 /var/post_install
infra-control-plane-vnc:~ #

The file /var/post_install should have been a directory instead.
Originally posted by @otavio in https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/issues/1135#issuecomment-1874389923

The sed is at:
https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/blob/b6882d15f45472cca05d94724a2ad56ac3e2c6a8/init.tf#L292-L300
from:
https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/blob/b6882d15f45472cca05d94724a2ad56ac3e2c6a8/init.tf#L150-L154
It might be due the create_kustomization = false in kube.tf

@otavio Thanks for this, but how to reproduce?

I have created a node, and it failed.

@otavio I'm sorry I cannot reproduce, for me it works, even with create_kustomization = false.

So my conclusion is that you are probably on Windows, and something is up with WSL. Please try from Mac or Linux to confirm. Moving this to a discussion, please don't hesitate to tag me again in the discussion.


147 1d gapfill

A dataframe gapfilling operation that wraps pandas functionality. Is tested.
Closes #147

Codecov Report

Merging #203 into master will increase coverage by 0.14%.
The diff coverage is 93.33%.

@@            Coverage Diff            @@
##           master    #203      +/-   ##
=========================================
+ Coverage   74.56%   74.7%   +0.14%
=========================================
  Files          67      68       +1
  Lines        8991    8956      -35
=========================================
- Hits         6704    6691      -13
+ Misses       2287    2265      -22

Impacted Files
Coverage Δ

cate/ops/__init__.py
100% <100%> (ø)
:arrow_up:

cate/ops/pandas.py
92.85% <92.85%> (ø)

cate/util/monitor.py
95.71% <0%> (-0.61%)
:arrow_down:

cate/cli/main.py
71.64% <0%> (ø)
:arrow_up:

cate/ds/esa_cci_odp.py
64.41% <0%> (+0.32%)
:arrow_up:

cate/ops/plot.py
22.22% <0%> (+0.37%)
:arrow_up:

cate/ds/local.py
90.76% <0%> (+2.18%)
:arrow_up:

Continue to review full report at Codecov.

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

I'll take the liberty to merge this. It is a single operation that does not affect other parts of the code along with Flake8 fixes for master. We can always make new issues for adjusting operations as required.

Thanks for makeing the build flake8 error free 😃


TRANCOS dataset link goes to SHHB

As the title says, TRANSCOS's dataset link goes to the link that downloads SHHB dataset

Hello, we have fixed this issue. Please try again.


The status of inferenceservice is always unknown

/kind bug
What steps did you take and what happened:
I deployed an inferenceservice, the corresponding pod has been successfully run, but the status of isvc has been unknown.
Anything else you would like to add:
The isvc is
NAME    URL   READY     PREV   LATEST   PREVROLLEDOUTREVISION   LATESTREADYREVISION             AGE
cifar         Unknown          100                              cifar-predictor-default-00001   19h

When I view the details of this isvc, I get
Name:         cifar
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  serving.kubeflow.org/v1beta1
Kind:         InferenceService
Metadata:
  Creation Timestamp:  2022-01-18T10:18:51Z
  Finalizers:
    inferenceservice.finalizers
  Generation:        1
  Resource Version:  12817686
  Self Link:         /apis/serving.kubeflow.org/v1beta1/namespaces/default/inferenceservices/cifar
  UID:               801ed617-eba1-425c-ac66-9b46a3804c3b
Spec:
  Predictor:
    Pytorch:
      Image:              is.default.svc.explore.academy.jd.local/kfserving/pytorchserver:v0.5.1
      Image Pull Policy:  IfNotPresent
      Model Class Name:   Net
      Name:               kfserving-container
      Protocol Version:   v1
      Resources:
        Limits:
          Cpu:     1
          Memory:  2Gi
        Requests:
          Cpu:          1
          Memory:       2Gi
      Runtime Version:  v0.6.1
      Storage Uri:      pvc://test-pvc/test
Status:
  Components:
    Predictor:
      Latest Created Revision:    cifar-predictor-default-00001
      Latest Ready Revision:      cifar-predictor-default-00001
      Latest Rolledout Revision:  cifar-predictor-default-00001
      Traffic:
        Latest Revision:  true
        Percent:          100
        Revision Name:    cifar-predictor-default-00001
  Conditions:
    Last Transition Time:  2022-01-18T10:18:57Z
    Message:               Waiting for load balancer to be ready
    Reason:                Uninitialized
    Severity:              Info
    Status:                Unknown
    Type:                  PredictorConfigurationReady
    Last Transition Time:  2022-01-18T10:18:57Z
    Message:               Waiting for load balancer to be ready
    Reason:                Uninitialized
    Status:                Unknown
    Type:                  PredictorReady
    Last Transition Time:  2022-01-18T10:18:57Z
    Severity:              Info
    Status:                True
    Type:                  PredictorRouteReady
    Last Transition Time:  2022-01-18T10:18:57Z
    Message:               Waiting for load balancer to be ready
    Reason:                Uninitialized
    Status:                Unknown
    Type:                  Ready
Events:                    <none>

I checked the logs of knative and found that the problem may be due to the inability of knative to access isvc
The log of the pod networking-istio in knative-serving is
{"severity":"ERROR","timestamp":"2022-01-19T05:44:55.822110834Z","logger":"istiocontroller.istio-ingress-controller","caller":"status/status.go:398","message":"Probing of http://cifar-predictor-default.default.example.com:80 failed, IP: <IP_ADDRESS>:8080, ready: false, error: unexpected status code: want 200, got 503 (depth: 0)","commit":"191bc5f","knative.dev/controller":"istio-ingress-controller","knative.dev/controller":"knative.dev.net-istio.pkg.reconciler.ingress.Reconciler","knative.dev/kind":"networking.internal.knative.dev.Ingress","knative.dev/traceid":"88c6822f-aa5c-45a7-aef3-3a315c344306","knative.dev/key":"default/cifar-predictor-default","stacktrace":"knative.dev/networking/pkg/status.(*Prober).processWorkItem\n\tknative.dev/networking@v0.0.0-20210331064822-999a7708876c/pkg/status/status.go:398\nknative.dev/networking/pkg/status.(*Prober).Start.func1\n\tknative.dev/networking@v0.0.0-20210331064822-999a7708876c/pkg/status/status.go:288"}

The log shows that the probe cannot access http://cifar-predictor-default.default.example.com:80
I find that cifar-predictor-default.default.example is an ExternalName type svc, but it has no endpoints
Name:              cifar-predictor-default
Namespace:         default
Labels:            component=predictor
                   serving.knative.dev/route=cifar-predictor-default
                   serving.knative.dev/service=cifar-predictor-default
                   serving.kubeflow.org/inferenceservice=cifar
Annotations:       serving.knative.dev/creator: system:serviceaccount:kubeflow:default
                   serving.knative.dev/lastModifier: system:serviceaccount:kubeflow:default
Selector:          <none>
Type:              ExternalName
IP:
External Name:     cifar-predictor-default.default.example.com
Port:              http2  80/TCP
TargetPort:        80/TCP
Endpoints:         <none>
Session Affinity:  None
Events:            <none>

Environment:

Istio Version: 1.9.6
Knative Version: 0.22.1
KFServing Version: 0.6.1
Kubernetes version: (use kubectl version): 1.19.9
OS (e.g. from /etc/os-release): CentOS 8

i have same issue. how to solve this problem ?

@namlh16 My problem is that the Kubernetes domain name set in istio is different from the real domain name. Need to modify its domain name when installing istio.

installing
i have also same issue, could you share the details about how to solve this problem, thanks !


[SPARK-20849][DOC][SPARKR]  Document R DecisionTree

What changes were proposed in this pull request?
1, add an example for sparkr decisionTree
2, document it in user guide
How was this patch tested?
local submit

Test build #77226 has started for PR 18067 at commit f43ebe0.

Test build #77226 has finished for PR 18067 at commit f43ebe0.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77226/
Test FAILed.

Test build #77230 has started for PR 18067 at commit 65cf494.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77230/
Test FAILed.

Jenkins, retests this please

Jenkins, retest this please

Test build #77239 has started for PR 18067 at commit 65cf494.

Test build #77239 has finished for PR 18067 at commit 65cf494.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77239/
Test PASSed.

@felixcheung Updated. By the way, I update other formulas in sparkr-vignettes.Rmd.

Test build #77325 has started for PR 18067 at commit f413081.

Test build #77325 has finished for PR 18067 at commit f413081.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77325/
Test PASSed.

Test build #77324 has finished for PR 18067 at commit 76a9726.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77324/
Test PASSed.

Test build #77349 has started for PR 18067 at commit 48a9686.

Test build #77351 has started for PR 18067 at commit 1a97e42.

Test build #77349 has finished for PR 18067 at commit 48a9686.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77349/
Test PASSed.

Test build #77351 has finished for PR 18067 at commit 1a97e42.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77351/
Test PASSed.

why change to classification for trees?

@felixcheung  just because dataset Titanic is often used to illustrate classification. Like the usage in Kaggle contest[https://www.kaggle.com/c/titanic#evaluation].

merged to master


--compiler is not documented

It's not in the command line help nor on the website (the command line help section is still a TODO).
I noticed this while answering a question on Stack Overflow.

@eco @s-ludwig This issue appears to have been fixed, and could be closed, I think?


Cannot build mp4muxer

I get the following error when building for linux_amd64:
will@ubuntu-server:~/dlb_mp4base/make/mp4muxer/linux_amd64$ make mp4muxer_release
[CCDEP:cc] ../../../../dlb_mp4base/frontend/mp4_muxer_app.c
make: cc: No such file or directory
make: *** [Makefile:118: obj/mp4muxer_release/mp4_muxer_app.o] Error 127

Always worth making sure you've installed the C compiler...


⚠ Bofrost.lu has degraded performance

In 0271f6b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1363 ms

Resolved: Bofrost.lu performance has improved in 12aa9cf after 21 minutes.


Livestream.com URL Not Working Anymore

Livestream.com changed their UI for their player and I'm guessing something else under the hood because a link I used to download no longer works.  The string I am using is as follows.
livestreamer "http://livestream.com/accounts/4099489/events/2120235" 720p_hls -o 01.ts

H:>livestreamer "http://livestream.com/accounts/4099489/events/2120235" 720p_hl
s -o 01.ts
[cli][info] Found matching plugin livestream for URL http://livestream.com/accou
nts/4099489/events/2120235
Traceback (most recent call last):
File "", line 6, in
File "main.py", line 128, in
File "main__livestreamer.py", line 9, in
File "livestreamer_cli\main.py", line 886, in main
File "livestreamer_cli\main.py", line 471, in handle_url
File "livestreamer_cli\main.py", line 388, in fetch_streams
File "livestreamer\plugin\plugin.py", line 313, in get_streams
File "livestreamer\plugin\plugin.py", line 233, in streams
File "livestreamer\plugins\livestream.py", line 98, in _get_streams
AttributeError: 'NoneType' object has no attribute 'startswith'

You can try #1277

Yea, @intact is right...  I use livestreamer with a livestream.com live stream all the time, and #1277 worked perfectly for me!
hls still doesn't work right, but the normal way works great for me and I use it on a raspberry pi...
Good luck!

Thanks for your feedback guy.  I only use livestreamer to capture this one link.  I'm not a programmer or coder so I don't know what do with what you linked you gave me.  I went to this link from the link you sent me and copied the code to notepad and saved it as "livestream.py" and put it in "C:\Program Files (x86)\Livestreamer\plugins". However it didn't seem to do a anything since I'm getting the same exact error as above.

You need this version

The problem is that on the Windows version of livestreamer you need to install the compiled version of livestream.py -- which will be titled "livestream.pyc".
Unfortunately since you say you are a non-programmer, this may be difficult for you, but this explains how to compile a .py file to a .pyc file:
http://effbot.org/pyfaq/how-do-i-create-a-pyc-file.htm
How do I create a .pyc file? - effbot.orghttp://effbot.org/pyfaq/how-do-i-create-a-pyc-file.htm
effbot.org
Python automatically compiles your script to compiled code, so called byte code, before running it. When a module is imported for the first time, or when the source ...
If I had recompiled this module myself, I would offer to email it to you, but I haven't.
Poke me if you're still in trouble after giving an honest attempt at it and if you catch me in a good mood, I'll just do it for you and email it to you.  [😊]
As a technical person, I don't need (or use) the livestreamer plugin, I just look at the source of the page and find the m3u8 URL myself.  Regardless I've found that the livestream plugin cuts out when the file hits exactly 2GB.  When I reported this as a bug, I was (correctly) told that actually the server just stops sending the stream after it hits 2GB, so it's not a bug in livestreamer.  That said, if you use the HLS stream endpoint, the same problem doesn't occur.  So I manually force it to use the HLS source.
Scott

From: Spiral-King<EMAIL_ADDRESS>Sent: Tuesday, September 6, 2016 5:03:04 PM
To: chrippa/livestreamer
Subject: Re: [chrippa/livestreamer] Livestream.com URL Not Working Anymore (#1465)
Thanks for your feedback guy. I only use livestreamer to capture this one link. I'm not a programmer or coder so I don't know what do with what you linked you gave me. I went to this linkhttps://github.com/chrippa/livestreamer/pull/1277/commits/1c56fb27598f57a03a7a408fc606a1a8dce61607 from the link you sent me and copied the code to notepad and saved it as "livestream.py" and put it in "C:\Program Files (x86)\Livestreamer\plugins". However it didn't seem to do a anything since I'm getting the same exact error as above.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/chrippa/livestreamer/issues/1465#issuecomment-245090580, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AESJ1uzhphGTFFzjH5XQWip2sKjgY7srks5qndUIgaJpZM4Jzqvu.

Thanks for your feedback guys.  I tried my best to understand what was being said in the link you sent me Scott but all the links on the page are dead! :( How do I private message you?  I can give you my email.

@Spiral-King are you still stuck?  If so, I will post a download link here for you.

Yes I am.  I was trying to private message or poke you but don't know how.  Honestly I just created an account on here for this one issue.  Thanks a lot of your help in advance.  I can give you my email if you can tell me how to message you.

OK, please grab it from here as soon as you are able:
https://drive.google.com/file/d/0B_MUY9V7tRe7UWdhQnM3SUxZalk/view?usp=sharing
Also please let me know once you've grabbed it so I can remove  [😊]

From: Spiral-King<EMAIL_ADDRESS>Sent: Wednesday, September 21, 2016 11:43:10 PM
To: chrippa/livestreamer
Cc: scottbernstein; Comment
Subject: Re: [chrippa/livestreamer] Livestream.com URL Not Working Anymore (#1465)
Yes I am. I was trying to private message or poke you but don't know how. Honestly I just created an account on here for this one issue. Thanks a lot of your help in advance. I can give you my email if you can tell me how to message you.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/chrippa/livestreamer/issues/1465#issuecomment-248803476, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AESJ1vv6IL1k9wwExWKdkycNivmkvhMKks5qsflOgaJpZM4Jzqvu.

Okay I downloaded it.  Thank you.  However I'm not sure what directory I am suppose to put it in.  I put it in every folder that has files ending in ".pyc" and I still get the same error.  My default install directory is "C:\Program Files (x86)\Livestreamer".

It goes in:
C:\Program Files (x86)\livestreamer\livestreamer-1.12.2-py2.7.egg\livestreamer\plugins

From: Spiral-King<EMAIL_ADDRESS>Sent: Thursday, September 22, 2016 10:08:07 AM
To: chrippa/livestreamer
Cc: scottbernstein; Comment
Subject: Re: [chrippa/livestreamer] Livestream.com URL Not Working Anymore (#1465)
Okay I downloaded it. Thank you. However I'm not sure what directory I am suppose to put it in. I put it in every folder that has files ending in ".pyc" and I still get the same error. My default install directory is "C:\Program Files (x86)\Livestreamer".

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/chrippa/livestreamer/issues/1465#issuecomment-248913866, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AESJ1gJNYDUdQd0hl2dYbVrJO0FsvvU8ks5qsovHgaJpZM4Jzqvu.

I put it in there and I still get this message.  I really think it has to do with something Livestreamer.com changed.... Just guessing though.

I can confirm that I am seeing the same error on this particular stream with the updated version.

From: Spiral-King<EMAIL_ADDRESS>Sent: Thursday, September 22, 2016 12:10:37 PM
To: chrippa/livestreamer
Cc: scottbernstein; Comment
Subject: Re: [chrippa/livestreamer] Livestream.com URL Not Working Anymore (#1465)
[1]https://cloud.githubusercontent.com/assets/21953329/18756301/67d613a6-80bd-11e6-9b5b-01526b1fbeae.jpg
I put it in there and I still get this message. I really think it has to do with something Livestreamer.com changed.... Just guessing though.

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/chrippa/livestreamer/issues/1465#issuecomment-248950119, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AESJ1glRX5YrLGTcEN6OfaIppG7OHCC9ks5qsqh9gaJpZM4Jzqvu.

Thats old plugin, you need new version. :)
Delete livestream.pyc, livestream.py and download https://raw.githubusercontent.com/intact/livestreamer/c653539e1cc2ac185916e7680aff33558feef5f7/src/livestreamer/plugins/livestream.py

OMG it worked!  Finally after 21 days!  Thank you @intact so much!  @scottbernstein also thank you for trying to help me out.    Thank you!


fix tabbed issue in DinD snippet STO-7026

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65aa8635800c2b12f5942636--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65aa8788cb616310fb52b004--harness-developer.netlify.app


[FEATURE] - Get users connected to session

Reference Issues
#112
Summary
Specifically this refers to the time-boxed sessions introduced to the system in the first version.
Entails:

GET endpoint to get the associated users of a sessions.

Entails underlying core and repository functionality

Allow student users to join sessions, but be granted a anon_user role for the duration of the session.

Definition of Done

When the above is implemented and tested.

A slight consideration on how this is supposed to work, instead of making student users into anon users underlying, I would advocate for changing the schema instead. Such that session_id on an anon_user is dropped and we create a table "user_in_session", in which we can associate users (anon or app) to a given session, in a more generalized manner.
I think this will make the system easier to understand, and we wouldn't have to go through user -> classroom -> session to check if a student exist in a given session.


SetNTP

[x] Set NTP to configurable server

https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetNTP

Completed in 9753e403079d803dc7eafb4da5394e3b6c5a7cc4


Implementation of NSOrderedSet.

Implementation of NSOrderedSet and unit tests.
Moved backing storage to internal header to support NSMutableOrderedSet.
Added unit tests to NSMutableOrderedSet.
Fix #471

@bbowman is added to the review. #Closed

@DHowett-MSFT is added to the review. #Closed

@RG-J will review this today.  For future reference, please fork WinOBJC repo and push your changes there.  That way when you make updates, the original pull request will be updated instead of a new one being created.  This helps keep all the discussions in one place.
This discussion on How to update pull request should help.

@benvi is added to the review. #Closed

@ms-jihua is added to the review. #Closed

@Status Stub

Interoperable

Refers to: Frameworks/Foundation/NSMutableOrderedSet.mm:41 in d365932. [](commit_id = d3659325425a354010ddbc9b4424d62b1cdd2ede, deletion_comment = False)

(void)insertObject:(ObjectType)object atIndex:(NSUInteger)idx STUB_METHOD;

Delete if the method is implemented.

Refers to: include/Foundation/NSMutableOrderedSet.h:37 in d365932. [](commit_id = d3659325425a354010ddbc9b4424d62b1cdd2ede, deletion_comment = False)

@RG-J How is this coming along?

In reply to: 217496322 [](ancestors = 217496322)

@rajsesh-msft I've pushed in my changes reflecting the discussion above.

@Status Stub

Interoperable

Refers to: Frameworks/Foundation/NSMutableOrderedSet.mm:42 in 6294a35. [](commit_id = 6294a3590c4a56db43a834cbd12cc86e1711f414, deletion_comment = False)

updated, please take a look.
R

:clock1:

comments are addressed, please take a look.
R

:shipit:

NULL and count 0 addressed. please take a look.

:shipit:

@RG-J your changes have conflicts with the latest master.  Could you please rebase and resubmit the pull request?  Thanks for working with us on addressing the feedback.

@rajsesh-msft  I have re-based  and resubmitted the pull request.

Merged, thanks for your contributions @RG-J.

Is this ongoing? My app relies on NSMutableOrderedSet…
Warning		'unionOrderedSet:' is deprecated: method not yet implemented
Warning		'removeObject:' is deprecated: method not yet implemented
Warning		'minusOrderedSet:' is deprecated: method not yet implemented

I can implement them.

RJ

@RG-J thanks.

Have the changes ready with the tests.
I'm attempting to push it and dealing with some lfs issues


[Documentation Update]: Module names - clarity

Check for previous/existing GitHub issues

[x] I have checked for previous/existing GitHub issues

Description
The following sections describe the naming conventions for modules, but contributors are not required to create these names themselves. Instead, we should direct them to the csv link where they can find the pre-assigned module names.
https://azure.github.io/Azure-Verified-Modules/specs/shared/#naming-convention
https://azure.github.io/Azure-Verified-Modules/specs/shared/#bicep-resource-module-naming
https://azure.github.io/Azure-Verified-Modules/specs/shared/#bicep-pattern-module-naming
I suggest adding notes in the links above with pointer to csv to recommend that contributors utilize existing module names.
You can find the existing names of modules here: https://github.com/Azure/Azure-Verified-Modules/blob/main/docs/static/module-indexes/BicepResourceModules.csv
This approach prevents any confusion for new contributors attempting to devise module names based on complex naming conventions.

Hi @jbinko, thanks for raising this issue.
Module names are not preassigned, but provided by contributors raising a module proposal.
Only after that the module name will be listed in the csv file.
Hence, contributors should be aware of the naming convention before the name is listed.
Could you please elaborate more on which part of the documentation is unclear in that sense?
Exactly which phase of the contribution are we talking about (e.g., before the module proposal/after the proposal but before the first release/update of an existing module)?
Thanks!

From my experience, while the owner may suggest a module name, it can be changed. The key information for beginning implementation is found in the CSV file. This file contains essential data assigned to you after the initial proposal. The idea is to simplify the process for contributors, allowing them to use the CSV file rather than having to fully comprehend all the details in the specification documents. This approach can be highly beneficial for contributors.
https://github.com/Azure/Azure-Verified-Modules/blob/main/docs/static/module-indexes/BicepResourceModules.csv
IMO, we should emphasize and incorporate these points in the documentation - including the link.

Thanks a lot @jbinko for elaborating.
Would you see it useful then to add link and details about the csv to the contribution guide rather than the specs? Would you see this issue related to #1600?

Yeah, including a link in the spec and more details about it could be beneficial. We aim to encourage the community to read the specs thoroughly. Adding more clarity and hints within the spec could improve understanding, in my opinion.

Cc @matebarabas @ReneHezser