First try

I am impressed ! Very useful ..
One issue , the license_id in the created config, doesn't hold its values .. after save , username and password are back to ""
(The only way I got it to work is to edit the config in the regular way with some xml editor)
And a few suggestion .. use a few default values that ensure a successful run ..
e.g set skip to noskip  . (The default 0.0 skips all shows)
There might be others  ..
Then .. in mode , wget is not supported anymore  ..
And postprocess .. I suggest it is better to have two choices :
1 Run , if selected the frontend grabber will run, whatever the next
2 - MDB  (which automatically disabled REX because REX is part of MDB)

REX
Plugin (see https://github.com/SilentButeo2/webgrabplus-siteinipack/tree/master/postprocess_plugins)

Default values you refer to are from WebGrab++.config.example.xml file distributed with WebGrab++.
According to documentation  default value for skip is
<skip>12,0</skip>
Also, keep in mind these default values are used only when no other configuration file is found.
If there is WebGrab++.config.example.xml in working directory it's values are used as template for new configuration
If not, app will look in AppData\Local and only when neither one of those exists it will fallback to example values.

About skip .. the values created without editing result in
0,0 which skips all grabbed shows !
Better to default to 12,0 or noskip
There are a few additions you can consider , (maybe in some 'expert' mode ?) :

new channellist creation , see http://webgrabplus.com/documentation/configuration/sitechannelsxml
channel groups , they are not documented on the documentation page but the why , what and how is in the documented configuration file, see 'Optional Channel grouping'  .. http://www.webgrabplus.com/sites/default/files/downloads/Misc/Documented_Configuration_Files_0.zip

I found it a bit confusing to figure out the difference between the two WebGrab++.config.xml , one in configurations and one in tools. But I don't have a suggestion how to make it less confusing .. maybe a hover-over or a right-click that shows a 'what it does'?
Jan

It's a bit confusing to keep track of multiple feature requests / bug reports in one issue..
I see what you mean by skip, <IP_ADDRESS> will default to 12,0 for skip values.
Now, considering 2 feature requests, I think they are both good idea.
Channel list creation shouldn't be to hard to implement, all the infrastructure for reading/writing is already there.
Channel groups on the other hand are something it takes a bit more time, as it requires complete overmake of configuration form which is quite large as is. Currently I don't have any plan to implement this, but since this is open source project I'm more than happy to accept PRs.
I agree with comment about confusing "WebGrab++.config.xml" and I'm open to suggestions.
Unfortunatelly, it's not possible to show tooltips on menu items.
Also, since there is a lot of things happening behind curtains to make things "optimal" it's almost impossible for a regular user to  figure out what this app does in a first place without some quality  howto/instruction/manual.
That should be issue no. 1.

Thanks for the reaction. I understand that it is difficult to keep track of all the options , especially if they are not documented on all places. Believe me , although I implement all those options, even for me it is sometimes hard to remember all the options for the configs (wg, MDB and REX) and for the siteini script language.
I agree that a instruction manual would be a priority ..
Do you agree if we place a link in the download page to it, after you feel its good enough ?
Jan
P.S. here  a few screen copies of the three pages of a 'similar' app we made several years ago but never distributed. The code has a lot of bugs so it is hardly worthit .. but it might give you idea's
The settings 'star' in the upper left corner give access to siteini pack download and more
@.***D74021.D68A3840]
@.***D74021.D68A3840]
@.***D74021.D68A3840]
From: Shax @.>
Sent: 03 May 2021 12:18
To: shaxxx/EPGUtils @.>
Cc: WGMaker @.>; Author @.>
Subject: Re: [shaxxx/EPGUtils] First try (#1)
It's a bit confusing to keep track of multiple feature requests / bug reports in one issue..
I see what you mean by skip, <IP_ADDRESS> will default to 12,0 for skip values.
Now, considering 2 feature requests, I think they are both good idea.
Channel list creation shouldn't be to hard to implement, all the infrastructure for reading/writing is already there.
Channel groups on the other hand are something it takes a bit more time, as it requires complete overmake of configuration form which is quite large as is. Currently I don't have any plan to implement this, but since this is open source project I'm more than happy to accept PRs.
I agree with comment about confusing "WebGrab++.config.xml" and I'm open to suggestions.
Unfortunatelly, it's not possible to show tooltips on menu items.
Also, since there is a lot of things happening behind curtains to make things "optimal" it's almost impossible for a regular user to figure out what this app does in a first place without some quality howto/instruction/manual.
That should be issue no. 1.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fshaxxx%2FEPGUtils%2Fissues%2F1%23issuecomment-831195515&data=04|01||191209588f85437b121708d90e251e28|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637556374838108838|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=smlI0t5hOud0HpEukNXLQw1otkZ%2F5AV7yptyJ2CE%2Fl0%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACE3F4ILM5BLHEX3XBRDK43TL2A6VANCNFSM4347L27Q&data=04|01||191209588f85437b121708d90e251e28|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637556374838118800|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=gT1t63cieO2d6YRuAY6uM3AVyKZ1VU5Axhw1cdhYEfg%3D&reserved=0.

Do you agree if we place a link in the download page to it, after you feel its good enough ?
I agree.

No images are shown. Try to attach it to issue instead of replying via email.
Regards.

First part done
https://www.youtube.com/watch?v=utHw0NaNRvo&

I like that !! With your permission we will add the link to our documentation page.
About the configurator .. consider to collapse site channel listing after a country is selected, it is a lot of collapsing for countries with a lot of siteini's

I still owe you the picture of the app we made years ago .. maybe it works this way  ..

I like that !! With your permission we will add the link to our documentation page.
You have my permission.

About the configurator .. consider to collapse site channel listing after a country is selected, it is a lot of collapsing for countries with a lot of siteini's
It all comes down to "best case scenario".
Basically you're either

choosing channels from particular site
choosing channels regarding what site they belong to

In first case: use column filter (top right corner on column header) to show only site you're interested in
Second case: use auto filter (first row in the grid) to search for channel by name
I believe great majority will look for channel by it's name and use auto filter to find it. If you remove "Site" column header from group panel back to grid you'll get to choose what site you want to take it from.
Also, even if I colapse all "Site" groups by default first query with auto filter will expand everything (which is only logical thing to do).  Again, nice tutorial is a priority.
Please, keep in mind, my time is limited, as I do have payed job. This is a one week hobby project and all future features will depend on my free time if any.

Done with tutorial, some things are missing (IE. how the app validates non unique xmltv_id selected) but this is already long as is.
I've created playlist with first video.
https://www.youtube.com/playlist?list=PLX4MdIIptHxiA5iq6KB0P2cYlmy2ygf4k


ES6: as in token list listed as "Identifier"

While working through adding tokens to the harmonymoduletest file, I've stumbled on something that I'm not sure is a bug, but seems off: In all import and export statements, as is listed as an "Identifier", when it seems like it should be a "Keyword".
The spec doesn't seem to list it as a keyword, but the syntax section of export (https://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports) seems like, given the export/import context, it should be one.

It is not a keyword, it is a contextual keyword. It can be used as an identifier in most places.

Cool, so then not a bug. Just making sure! Thanks @michaelficarra


Exported variable ... has or is using name 'ZodContext' from external module

Tried using the example for pulling in routes from a different file but get an error Exported variable 'routeMe' has or is using name 'ZodContext' from external module<EMAIL_ADDRESS>but cannot be named.
Sample code:
// routeMe.ts
export const routeMe= createRouteSpec({
  name: 'route-me',
  method: 'get',
  path: '/route-me',
  handler: handleRouteMe,
  validate: {
    body: RouteMeRequestBodySchema,
    response: RouteMeResponseSchema,
  },
})

// index.ts
router.register(routeMe)

When I use createRouteSpec in my index.ts file everything works, but I would much rather have my routes defined elsewhere.
Package Manager: pnpm
Using version 1.0.3
Project is ESM
All peer dependencies met

Hmm I think could be due to having "declaration": true set in tsconfig.json, at least thats how I eventually triggered the error. I think maybe disabling it could get it to go away. I'll have to look into why this is causing issues though

Hi @eigBabcock can you do me a favor and pnpm install koa-zod-router@beta for me please? I think this should fix your issue 🤞


Does not run in Windows Server 2008 R2

Python 3.8.0 installed. Just creating an account key shows error:
D:\acme-cert-tool>acme-cert-tool.py  -gk "account_key.pem"
Traceback (most recent call last):
File "acme-cert-tool.py", line 1038, in
if name == 'main': sys.exit(main())
File "acme-cert-tool.py", line 886, in main
acc_key = AccKey.generate_to_file(p_acc_key, opts.key_type, file_mode=file_m
ode)
File "acme-cert-tool.py", line 197, in generate_to_file
with safe_replacement( p_acc_key,
File "c:\python\python38\lib\contextlib.py", line 113, in enter
return next(self.gen)
File "acme-cert-tool.py", line 47, in safe_replacement
if mode is not None: os.fchmod(tmp.fileno(), mode)
AttributeError: module 'os' has no attribute 'fchmod'
a empty file named "account_key.pem.bq_j1mqk" is created (different name on each run)
Does the tool only run on Linux? "fchmod" sounds like that

Does the tool only run on Linux? "fchmod" sounds like that

Yes, unfortunately, almost certainly shouldn't work there.
It might work on Windows 10 with WSL/WSL2, but I've never tested it there, so might need some compatibility tweaks even with that compatibility layer.
Don't use Windows myself, and don't really know what are the differences between platforms to do any kind of port, and not sure if it's even relevant in that ecosystem in any way.
(IIS and such probably have their own mechanisms and/or APIs for dealing with ACME certs)
Guess I should probably mention it in the README, will update it.
Thanks for reporting!


drivers: flash_gecko: Add flash driver for SiLabs Gecko SoCs

This commit adds a flash driver for SiLabs Gecko SoCs.
A separate commit makes a minor updates to drivers/flash/Kconfig file:

ensure all config sub-options are dependent on FLASH
add SYS_LOG_FLASH_LEVEL

this is required for flash_gecko driver to function correctly.
Tested with SLWSTK6061A / BRD4250B wireless starter kit.

Codecov Report

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

@@          Coverage Diff           @@
##           master   #9945   +/-   ##
======================================
  Coverage    52.5%   52.5%
======================================
  Files         213     213
  Lines       26078   26078
  Branches     5624    5624
======================================
  Hits        13691   13691
  Misses      10136   10136
  Partials     2251    2251

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 3259ac0...6649453. Read the comment docs.

MCUboot project has a short piece on Building and using MCUboot with Zephyr.

@chrta if you would be willing to test I could also enable flash driver on EFM32WG SoC in this PR. Unfortunately, as I have mentioned, I don't have this chip myself.

@mnkp Yes, please do. I can test this. I assume there is some sample code i can run to test flash access.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #9945   +/-   ##
=======================================
  Coverage   52.96%   52.96%
=======================================
  Files         214      214
  Lines       26156    26156
  Branches     5636     5636
=======================================
  Hits        13853    13853
  Misses      10030    10030
  Partials     2273     2273

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 873d63c...96b7a28. Read the comment docs.

I have added support for EFM32WG SoC and efm32wg_stk3800 board.
A convenient way to test is using samples/drivers/flash_shell/ project. In case of SiLabs flash the block write size is 4 bytes, i.e. the amount of bytes written has to be multiple of 4 or the driver will return an errror. The flash page size / the size of erase block is 2048. Both offset and size parameters of flash_erase have to be multiple of 2048.

In tested this on the efm32wg_stk3800 board and can confirm that samples/drivers/flash_shell/ works (read, write and erase).

@chrta Thanks!

I've pushed a new version which adds FLASH to the list of supported features on the EFM32WG-STK3800 and EFR32-SLWSTK6061A board documentation page. This was previously overlooked. No other changes were made.

Are we able to use this on efm32hg & efr32mg ?

@MaureenHelm can you re-review?

Are we able to use this on efm32hg & efr32mg ?

I think we can add it to after merging this to the HG and MG.

Reference to #9042

Are we able to use this on efm32hg & efr32mg ?

I think we can add it to after merging this to the HG and MG.

I could add support for efm32hg & efr32mg now if someone is willing to test it (I don't have necessary hardware).

The board support for 32mg is not added yet, just SoC. I can add it in a seperate PR after this and the board support merges..

There are two issues with this PR I somehow overlooked before.

MSC_WriteWord and MSC_ErasePage functions are not placed in RAM.

MSC_WriteWord and MSC_ErasePage functions which are provided by SiLabs and located in ext/hal/silabs/gecko/emlib/ folder are supposed to be placed in RAM. That's due to the fact that during flash write/erase operations the flash is inaccessible / MCU cannot read any code from flash.
When compiling I get the warning
/opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: warning: orphan section .ram' from zephyr/libzephyr.a(em_msc.c.obj)' being placed in section .ram'.`
That's because SiLabs code tries to place the two functions in section .ram which is not defined in the Zephyr linker script. The driver sill works as CPU instruction access is simply stalled until the flash becomes available.
I've looked for some Zephyr macro, etc. to place function in RAM but couldn't find any. Do we have one?
On a related note: a long erase operation could cause SysTick interrupt not to be served and consequently mess up Zephyr's notion of time. I didn't run any extended test however other flash drivers don't seem to bother with this issue either.

In flash_shell example project MPU_ALLOW_FLASH_WRITE is set to y even for devices with no MPU support enabled.

While running cmake I get the warning
warning: MPU_ALLOW_FLASH_WRITE (defined at arch/arm/core/cortex_m/mpu/Kconfig:26) was assigned the
value 'y' but got the value 'n'. You can check symbol information (including dependencies) in the
'menuconfig' interface [...]

This happens because samples/drivers/flash_shell/prj.conf is forcing the value of MPU_ALLOW_FLASH_WRITE option to y even if the necessary conditions e.g. ARM_MPU=y are not fulfilled.
Point 2) is not strictly related to this driver but it may well be the first time when the issue is visible and flash_shell example is likely the first project user will try to play with.

The board support for 32mg is not added yet, just SoC.

@ekarlso If you are able to test this PR in your private work area and give an OK I can add support for efm32hg & efr32mg. But we could do it also later.

I can test in the evening @mnkp  :)

One more thing. Currently the .yaml file, part of the DTS support, for this driver is called dts/bindings/flash_controller/silabs,efm32-flash-controller.yaml. We seem to be using two different naming conventions however. Some silabs .yaml file use gecko in their name e.g. dts/bindings/serial/silabs,gecko-usart.yaml others the name of the series e.g. dts/bindings/gpio/silabs,efm32-gpio.yaml.
The silabs,gecko-usart.yaml seems to be newer. Should this PR follow this approach? I.e. should I rename the .yaml file to dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml?
This is in principle a question if .yaml file should relate to driver they support or the underlying hardware the driver runs on?

@mnkp I have the files already for the mg

The silabs,gecko-usart.yaml seems to be newer. Should this PR follow this approach? I.e. should I rename the .yaml file to dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml?

I think using gecko-prefix is better. The supported MCUs are EFM32, EZR32 and EFR32, so the efm32-prefix is to specific imho.

I have added support for efm32hg & efr32mg series and renamed the .yaml file to silabs,gecko-flash-controller.yaml.
Note: The convenient way to test the driver is samples/drivers/flash_shell project. In case of the efm32hg MCU however the default configuration takes too much RAM to fit into 8kB available on the chip. To successfully compile the project one has to turn off the logger subsystem.

Rebased on top of<PHONE_NUMBER>61fc6f0690db4f01c13b9d18716869 which adds EFR32MG-SLTB004A support.

Thanks @MaureenHelm for approving this PR. However, there is still the issue with RAM functions. This driver relies on MSC library module provided by SiLabs which is located in ext/ folder. The module tries to place MSC_WriteWord and MSC_ErasePage functions in .ram section. This section is however missing from Zephyr linker script. That results in a warning about an orphan section and the two functions are placed in flash, not RAM.
During flash write or erase operation the flash is not accessible to the CPU, i.e. if CPU attempts to read an instruction from flash it will stall. If MSC_WriteWord and MSC_ErasePage functions are placed in flash the CPU will stall immediately, if they are placed in RAM we open a possibility to place other critical ISRs in RAM which then can run even if flash is temporarily inaccessible. This is not straightforward as one would need to ensure that no other kernel, ISR code placed in flash is invoked in the meantime but at least we don't close such a possibility. I didn't test it but I expect that due to design of AHB bus a DMA transfer between peripheral and RAM would still be possible even if CPU is stalled.
A page erase operation can take up to 40 ms so it's a pretty long time.
I see following solutions:

Modify MSC module code placed in ext/ to use Zephyr's macro to place the function code in RAM.
Add .ram section to Zephyr's linker script.
Modify MSC module code placed in ext/ not to place the two functions in RAM.
Implement the two functions natively in this driver so we don't need to touch ext/ folder neither the Zephyr's linker script.

MSC_WriteWord and MSC_ErasePage functions are not placed in RAM.

is this issue dealt with, was a little unclear to me.

MSC_WriteWord and MSC_ErasePage functions are not placed in RAM.

is this issue dealt with, was a little unclear to me.

No, we still need to fix it. I've detailed possible solutions 1. to 4. above. Other suggestions are welcomed.
What would be a Zephyr way to place a function in RAM? Some macro?
To sum up: the driver works as it is however there are currently two warnings generated when building the driver. One is about an orphan .ram section, the other about inconsistency with the default value of MPU_ALLOW_FLASH_WRITE option (when building flash_shell example project).

@ekarlso any luck testing the driver on efm32hg_slstk3400a and efr32mg_sltb004a boards?

@mnkp yes, works as a charm!

@mnkp are we ready to merge this or?

@ekarlso Thanks for testing!
I was going to say that we should fix the orphan .ram section warning but the PR was merged in the meantime.
I will be happy to fix the issue, however I'm not sure how to proceed. I would need some guidance from maintainers. As a reminder here are a few possible choices:

Modify MSC module code placed in ext/ to use Zephyr's macro to place the function code in RAM.
Add .ram section to Zephyr's linker script.
Modify MSC module code placed in ext/ not to place the two functions in RAM.
Implement the two functions natively in this driver so we don't need to touch ext/ folder neither the Zephyr's linker script.

Do we have a method in Zephyr to force placing a function in RAM?


[FEATURE] backup VM required metadata to the external storage server

Is your feature request related to a problem? Please describe.
Currently, only the VM volumes will be backup to the external storage server, we should also save the VM YAML to the external storage server so that it can be redeployed to the other cluster.
Describe the solution you'd like

[ ] store the VM metadata to the external storage server

Describe alternatives you've considered
N/A
Additional context
N/A

Those can be set using the label in the Backup.

Environment Setup
We move backup target validation to webhook and update VirtualMachineBackup CRD. If users use existing cluster before https://github.com/harvester/harvester/pull/1447 merged, please remember to update harvester-webhook deployment and VirtualMachineBackup CRD.

Test plan
Case 1 - Sync VMBackup Metadata back.

Setup an NFS/S3 backup target.
Create a VM vm.
Modify a file like tmp.txt and input 123 in it.
Create a VM Backup backup1.
Modify a file like tmp.txt and change content to 456.
Create a VM Backup backup2.

Check associated VolumeSnapshot / VolumeSnapshotContent/ LH Backup exist.
Check default-backup1.cfg and default-backup2.cfg are in the backup target.
Check LonghornBackupName exists in VM Backup backup1 and backup2.
Check LonghornBackupName in CR backup1 and backup2 is same as default-backup1.cfg and default-backup2.cfg in backup target.

Change backup target to another NFS/S3 backup target.
Delete the VM Backup backup1 and backup2 and VM vm.

Check associated VolumeSnapshot / VolumeSnapshotContent / LH Backup are deleted.
Check default-backup1.cfg and default-backup2.cfg are still in the original backup target.

Change backup target back.

Check VMBackup backup1 and backup2 and associated VolumeSnapshot / VolumeSnapshotContent / LH Backup are created again.

Restore backup1 to vm1

Check whether the file has 123 in it.

Restore backup2 to vm2

Check whether the file has 456 in it.

Case 2 - Delete VM Backup should delete the remote file.

Setup an NFS/S3 backup target.
Create a VM and create a VM Backup backup1.

Check whether default-backup1.cfg is in the backup target.

Delete the VM Backup.

Check whether default-backup1.cfg is deleted in the backup target.

Case 3 - Sync VM Backup to a fresh cluster

Create a cluster 1 and follow Case 1 to create VM Backup backup1 and backup2.
Create a cluster 2 and create VirtualMachineImage with the same name as cluster 1. (BackingImage and StorageClass must also be the same name as cluster 1)
Set the same backup target to cluster 2 as in cluster 1.

Check VM Backup backup1 and backup2 can be synced back.
Check associated LH Backup / VolumeSnapshot / VolumeSnapshotContent are created.

Restore VM Backup backup1 and backup2 to new VMs.

Check VMs can be started.
Check data in VMs is the same as VM Backup.

@FrankYang0529 verified not work as expected.
Failed in case 1, switch back to original backup-target with those errors:

Backups reload failed, there should have 2 backups

Generate support bundle stuck

In short, after change the backup-target back, whole dashboard become unstable and crash frequently.

Test Information

Environment: qemu/KVM 3 nodes
Harvester Version: v1.0.0-rc1
ui-source Option: Auto
Backup-target A: <IP_ADDRESS> (pxe-server on kvm)
Backup-target B: <IP_ADDRESS> (pxe-server on Provo, bare metal)

Verify Steps:
Follow the instruction of Case 1 in https://github.com/harvester/harvester/issues/988#issuecomment-978898179

I tested on master-1e042e04-head (the last version before rc1) after verify #1086 yesterday, same behavior as errors above.
Backup-target works correctly, but the metadata probably had something missed.

@lanfon72 do you keep the environment? If yes, may you help me get the following content?  Thank you.

Content in backup files <namespace>-<name>.cfg
VolumeSnapshot resources: kubectl get volumesnapshot -A
VolumeSnapshotContent resources: kubectl get volumesnapshotcontent -A
LH Backup resources: kubectl get backup -A

cfgs.zip

@guangbochen I would like to do some enhancements to prevent remote data is deleted unexpectedly.

Although we have blockOwnerDeletion in VolumeSnapshot, it is not effective if we don't specify --cascade=foreground when we delete VMBackup. I have tried to stop harvester-controller and deleted the finalizer in VMBackup. If we run kubectl delete vmbackup <vm-backup-name> --cascade=foreground, VMBackup will not be deleted if VolumeSnapshot and VolumeSnapshotContent are still existent.
Ref: https://github.com/kubernetes/kubernetes/issues/86509#issuecomment-749176440
With the improvement above, we can detect whether there is VMBackup in progress or deleting in Backup Target validation. If yes, we stop users to change Backup Target.

WDYT? Thank you.

sure, this is LGTM and this will need to coordinate with the UI team to add the --casade=foreground option while deleting the VMBackup, cc @WuJun2016

Hi, @FrankYang0529, Do you know how to add --casade=foreground from the API side. Is the URL looks like /v1/harvester/harvesterhci.io.virtualmachinebackups/default/test?propagationPolicy=Foreground?

From Kubernetes article, I think propagationPolicy= Foreground is correct.

Verified following test cases:

[x] Sync VMBackup metadata back (swithing between NFS and S3)
[x] Delete VM Backup will delete those files storing in remote target
[ ] Sync VM backup to a fresh cluster

For unchecked test cases, please check details in Additional Content.
Test Information

Environment: qemu/KVM 3 nodes
Harvester Version: master-3d096946-head
ui-source Option: Auto

Verify Steps:

follow the Test Plan https://github.com/harvester/harvester/issues/988#issuecomment-978898179
VM image: http://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.3/images/openSUSE-Leap-15.3.x86_64-NoCloud.qcow2
Using Minio as the compatible alternative for S3 backup

Additional Content

For 2nd backup, data will lost unless power off the VM. (it not affect this feature)
For reload backup data in another cluster, tested in the same version 3d096946 and newer version (3d096946 then 5e8d9764) with same error.

https://user-images.githubusercontent.com/5169694/146398335-54d02bf3-2269-4c94-a02d-390e9bfe977d.mp4
https://user-images.githubusercontent.com/5169694/146398382-025c3f36-9147-4a41-b17a-5b3a4f65fd2a.mp4

Hi @lanfon72, may I know how do you create the image in the new cluster. We need to have the same BackingImage and StorageClass name as the old cluster, so I create an image like the following. After the image download finish, I change backup target and restore VM. I can get expected data in VM.
apiVersion: harvesterhci.io/v1beta1
kind: VirtualMachineImage
metadata:
  name: image-rxbsq
  namespace: default
spec:
  displayName: focal-server-cloudimg-amd64.img
  pvcName: ""
  pvcNamespace: ""
  sourceType: download
  url: https://cloud-images.ubuntu.com/focal/20211216/focal-server-cloudimg-amd64.img
status:
  storageClassName: longhorn-image-rxbsq

@FrankYang0529, I guess it is the root cause that I didn't upload image with the name which VM was using.
(as the test case not require that, so I didn't test on that scenario)
Let me test it based on the scenario, will we add some caveats for the requirement?

Yes, we will add it to the document. Thank you.

Verified the case 3 is work correctly with some caveats, updated in verify steps.
@FrankYang0529 please update document based on the verify steps, thanks
Test Information

Environment: qemu/KVM 3 nodes
Harvester Version: master-3d096946-head
ui-source Option: Auto

Verify Steps:

setup backup-target in cluster B
Backup Targets in Backups should show Ready state for all backups.  (this will take few mins depends on network connection)
Create image for backup

The image MUST use the same storageClassName name as the backup.
storageClassName can be found in backup's volumeBackups in the YAML definition.
storageClassName can be assigned by metadata.name when creating image via YAML.
for example, when you assign metadata.name as image-dgf27, the storageClassName will be named as longhorn-image-dgf27

Restore backup to new VM
VM should started successfully
VM should contain those data that it was taken backup

Additional Content

Check storageClassName in backup's YAML

Create Image with assign metadata.name

Image Created with the specific storageClassName


Failed install using Nix

Hey there,
I am trying to install hax on my WSL 2.0 using Nix and it doesn't seem to work.
It stops after doing 98% of the jobs throwing a ton of alerts and warnings. I don't see an error as such, I just get a

Command got signal KILL.

This is the terminal output:
error: builder for '/nix/store/kj6nnr7jijriscwcagfxq24knkfwbs9h-ocaml4.14.1-hax-engine-0.0.1.drv' failed with exit code 1;
       last 10 log lines:
       > Alert deprecated: Base.print_endline
       > [2016-09] this element comes from the stdlib distributed with OCaml.
       > Use [Stdio.print_endline] instead.
       > File "bin/lib.ml", line 115, characters 6-35:
       > 115 |       Printexc.raise_with_backtrace exn bt
       >             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       > Alert deprecated: module Base.Printexc
       > [2016-09] this element comes from the stdlib distributed with OCaml.
       > Use [Exn] or [Backtrace] instead.
       >
       For full logs, run 'nix log /nix/store/kj6nnr7jijriscwcagfxq24knkfwbs9h-ocaml4.14.1-hax-engine-0.0.1.drv'.
error: 1 dependencies of derivation '/nix/store/39iprgmipsf4n9xnc3l1zajzq5bh9kaj-hax-0.0.1.drv' failed to build

I am happy to share more from the logs if needed.
Thanks for your help in advance!
Jannik

Hi,
Mmh, sadly, that's a memory issue...
The OCaml build gets killed after a while because the compiler is running out of memory, see the issue https://github.com/hacspec/hax/issues/197.
That is something very problematic, and we hope to improve the OCaml build so that it doesn't require such a huge memory (around 20/30GB). However, we won't solve that today!
Right now, the easiest patch for you is to use the binary caches: if you already have cachix installed, just run cachix use hax.
I can also tweak the Nix expressions to set settings based on hardware constraints, but that's not great...
How much memory do you have on your computer?

Hey, that fixed the problem. Thank you very much!

Nice, I'm happy it worked!
Just to let you know, I actually re-looked into memory issues (https://github.com/hacspec/hax/issues/197) and solved that yesterday (PR #504). Thus, now even without binary cache you should be able to build hax without any issue.


chore: fix pipeline

Description
Fix CI permissions
Fixes # (issue)
Type of change
N/A
How Has This Been Tested?
N/A
Checklist
N/A

:tada: This PR is included in version 1.9.1-beta.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


feat(python): add Flight SQL driver using Go library

TODO:

[ ] Enable unit tests
[ ] Enable in packaging builds
[ ] Get it on Windows

I'll merge this to get started.


Username auto fill in shared datasets within an org

When opening a shared dataset within an org, the dataset owner name is not prefixed to the dataset name, so the dataset view does not work.
The query is like
SELECT * FROM dataset

Instead of
SELECT * FROM owner.dataset

It's working ok when using the dataset on a map.
cc @jsanz

Edited

Just to be clear, this is only on the dataset view, maps work super.

Yeah, we are aware of the issue, already reported here. We need to discuss how to manage the problem, thanks for the feedback guys! 💋
cc @juanignaciosl @gfiorav @nobuti

If it's already reported let's close this one


chore(releases/1.0.0): release 0.0.1

:robot: I have created a release beep boop
0.0.1 (2022-11-15)
Features

Add new param and update release-please (6e87dae)
Add style checking (185c10a)
Add timeout (b4b9423)
API: Unione PHP SDK v1.0.0. (2766b33)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/unione-repo/unione-php/releases/tag/v0.0.1 :sunflower:


New kart circuits

This PR adds two kart circuits.
Track limits (left and right) have been constructed with Google Earth and exported to kml files (included). Both kml are post processed using fastest-lap Python command:
fastest_lap.circuit_preprocessor(options)
to produce a single .xml file included.

Thank you very much!


Clean up a bunch of places where we use KIDs

Use CryptPublicKeys instead, to avoid the possibility
of using the wrong key.

Kicking this over to jzila, too.


ViewContoller init

Hi there - I have a silly question I think.   I have a viewcontroller that I want to initialize the onboarding screens with.   I can't figure out how to initialize the view from my own controller using swift.   I see you have an Objc example, but I can't figure why I can't get it going in Swift.   Thanks!!!
    override func viewDidLoad() {
        setup()

    }

    func setup(){
        // Generate the first page...
        let firstPage: OnboardingContentViewController = OnboardingContentViewController(title: "What A Beautiful Photo", body: "This city background image is so beautiful", image: UIImage(named:
            "blue"), buttonText: nil) {
                println("Do something here...");
        }

        // Generate the second page...

        let secondPage: OnboardingContentViewController = OnboardingContentViewController(title: "I'm So Sorry", body: "I can't get over the nice blurry background photo.", image: UIImage(named:
            "red"), buttonText: nil) {
                println("Do something else here...");
        }

        // Generate the third page, and when the user hits the button we want to handle that the onboarding
        // process has been completed.
        let thirdPage: OnboardingContentViewController = OnboardingContentViewController(title: "Seriously Though", body: "Kudos to the photographer.", image: UIImage(named:
            "yellow"), buttonText: nil) {
        }

        // Create the onboarding controller with the pages and return it.
        WelcomeViewController.onboardWithBackgroundImage(UIImage(named: "home"), contents: [firstPage, secondPage, thirdPage])
        //Customize Onboarding VC

        self.shouldMaskBackground = true
        self.shouldBlurBackground = true
        self.underIconPadding = 0
        self.topPadding = 100
        self.iconHeight = 0
        self.underPageControlPadding = 100

        // Create Buttons
        let viewWidth: CGFloat = CGRectGetWidth(self.view.frame)
        let viewHeight: CGFloat = CGRectGetHeight(self.view.frame)
        let horizontalCenter: CGFloat = viewWidth / 2
        let buttonOffset:CGFloat = 30
        let buttonWidth:CGFloat = 80
        let buttonHeight:CGFloat = 50

        var loginButton = UIButton(frame: CGRectMake(horizontalCenter - buttonWidth - buttonOffset, viewHeight-60, buttonWidth, buttonHeight))
        var registerButton = UIButton(frame: CGRectMake(horizontalCenter + buttonOffset, viewHeight-60, buttonWidth, buttonHeight))

        registerButton.setTitle("Register", forState: .Normal)
        registerButton.backgroundColor = UIColor.whiteColor()
        loginButton.backgroundColor = UIColor.greenColor()
        loginButton.setTitle("Login", forState: .Normal)
        self.view.addSubview(registerButton)
        self.view.addSubview(loginButton)
        self.viewControllers = [firstPage, secondPage, thirdPage]

    }

I believe the issue here could be related to the order of operations. You're probably going to have to initialize the onboarding view controller using the built-in init methods, providing the array of view controllers in the init method itself. The onboarding view controller does a fair bit of setup at init-time, so setting up everything in viewDidLoad is probably the problem.

Give it a try with v2.2.0 and let me know if this is still an issue.


Mac Password Issue

I downloaded the wallet and installed it on OS X Open Sierra and tried to create an account in the wallet..  I used a long password in excess of 30 characters random complex character which meet all the criteria.  The wallet and account was created it seems but it crashed every time I tried to load the account.  I also tried to import the swing wallet without perceived success when I created this account. The path to wallet read with a fake wallet path in the directory listing.  I am not sure if this has anything to do with the crashing issue or not.  However, The zen wallet crashes after I click login and the account does exist on the computer because I could not use the same account name when I tried to remake the account with the same username..
I also create an account using a different username and used 9 character complex password and the wallet created and loaded normally.

Thank you for the testing.

wallet.dat import is not supported (there is no way how to extract all addresses from wallet.dat to any of javascript wallets now), only awd or uawd
creating new account with already existed username is prohibited (it prevents users to overwrite their account and lose ZEN)
fake-path is normal, that is on every platform

So only bug here is that long password is issue.

win 10
user: bbb
pass: &*er;B~~v/"5Hj/aSpW?WLXZ{=%HNvCwc~Fy{pU=,${(8[vt>,B55sJg[AchSG:B
pass is 64 random chars and account is ok

Lukas,
Is there any way I can delete out the accounts I created on my Mac and
recreate the wallets from scratch.
I don't have any zen in the Arizen wallet yet and I would like to make sure
keep the user name and password of my choosing.
What are the current hard limits on password length?
Also where do I need to go backup my Arizen wallet so I can make sure I
backup all my important keys in case I ever need to do a restore or deploy
on multiple pcs.
Thanks,
David
On Thu, Nov 2, 2017 at 2:25 AM, Lukáš Bureš<EMAIL_ADDRESS>wrote:

Thank you for the testing.

wallet.dat import is not supported (there is no way how to extract
all addresses from wallet.dat to any of javascript wallets now), only
awd or uawd
creating new account with already existed username is prohibited (it
prevents users to overwrite their account and lose ZEN)
fake-path is normal, that is on every platform

So only bug here is that long password is issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ZencashOfficial/arizen/issues/124#issuecomment-341338288,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATEuuj9E8XXZNoGFrf5PeSgmxgi__txIks5syW6FgaJpZM4QPD8m
.

If you dont have any accounts with any ZENs, then you can go to: ~/Library/Application Support/Arizen and delete users.arizen and all in wallets folder.

And as @jiri-novotny experimented, 64 characters should be OK

And for backups use:

Marked as solved, reopen it when not.


Move util classes in auth-api-nongms to auth-api

Refactoring for future development on supporting more authentication provider that also uses web-based OAuth2.
There may be some classes that are useful to put at auth-api module too, but just take this as a start and I'll see the better way to refactor for maximum code reuse.
Fixes #111.

Will be superseded by new PR. Stay tuned.


BuildCommands.BuildForHololens is undiscoverable from the command line.

Need to move the class out of the HoloToolkit namespace unfortunately. Is that a big concern for anyone?

It does break our existing paradigm of all classes in the HoloToolkit namespace.
Do you see this class being access from other Unity MonoBehaviors?
Do you see this being replaced by some other work in the pipeline?

I'm attempting to build an automated pipeline for our HoloLens projects via Visual Studio Team Services. Currently the only way to do this is to use a script method and the -executeMethod command line args. To do this the method must not be under a namespace or Unity won't find it. I'll look into #87 soon and see if it has code that can replace this - either way something will need to be outside a namespace to make it work via the command line.

@jwittner, this issue you're referring to?

Yeah, this was the issue.


DeprecationWarning with load_module on Python 3.10 in pkg_resources._handle_ns

DeprecationWarning: the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead

Code ref: https://github.com/pypa/setuptools/blob/544687c3982696d924d49c4c9ea094b7a2dc8fe0/pkg_resources/init.py#L2212

I've drafted https://github.com/pypa/setuptools/pull/2517 but I am sure that's not the correct path froward.

As for the calling of load_module in pkg_resources.__init__, it seems to me that the only purpose of the call is to ensure the module is loaded, so that its __path__ can be fixed up using _rebuild_mod_path. The call uses the default loader.
So, it could be replaced by importlib.import_module(packageName). From the load_module docs, the only thing it does in addition to what import_module does is reloading the module if it already exists. To me, that seems like an unintended side effect.
But I could also be off; the docs are written for implementing of loaders, not for calling them.
I'll send a PR.

As for the calling of load_module in pkg_resources.__init__, it seems to me that the only purpose of the call is to ensure the module is loaded, so that its __path__ can be fixed up using _rebuild_mod_path. The call uses the default loader.
So, it could be replaced by importlib.import_module(packageName). From the load_module docs, the only thing it does in addition to what import_module does is reloading the module if it already exists. To me, that seems like an unintended side effect.
But I could also be off; the docs are written for implementing of loaders, not for calling them.
I'll send a PR.


Update dependency bats-core/bats-core to v1.11.0

This PR contains the following updates:

Package
Update
Change

bats-core/bats-core
minor
v1.10.0 -> v1.11.0

Release Notes

bats-core/bats-core (bats-core/bats-core)
v1.11.0
Compare Source
Added:

hardened CI scripts by using hashes instead of versions for actions and restricting permissions (#754, #770)
add security.md (#762)
add codespell CI checks (#720)
dynamic test registration via bats_test_function (#349)
add check that Bats is executed with Bash >= 3.2 (#873)

Fixed:

install.sh now works for deviating lib/ dirs (like lib32,lib64) (#487)
catch unset BATS_TEST_SOURCE in lib/bats-core/tracing.bash so
set -u/set -o nounset works as expected (#827)
fix --gather-test-outputs-in fails on tests with multiple / (#789)
install does not create unused /usr/share/bats anymore (#857)
ensure IFS is unchanged in {setup,teardown}{_suite,_file,}, @test and free code (#879)
junit formatter: remove ANSI Codes to avoid invalid XML character (#886)

Changed:

update Docker image with the latest bats-file version 0.4.0 (#780)
update Docker image with the latest bats-detik version 1.3.0 (#876)

Documentation

clarify docker usage (#741)
update Arch Linux package URL in installation.rst (#821)
rename bash-bats to bats for Arch Linux in installation.rst (#836)
fix FAQ entry about setup-/teardown_suite, as they are available now (#861)
added logo (#881)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: Dockerfile
Post-upgrade command 'changelog changed 'Bump bats to {{{newVersion}}}'' has not been added to the allowed list in allowedPostUpgradeCommands


Autoconfigure rabbitCloud before rabbit auto-config

This ordering is required to avoid having 2 beans created for rabbit ConnectionFactory

LGTM; please merge this @ilayaperumalg

Rebased and merged as 56469353b357dfc3c04de035ffee649a852e8d57


feat: optimize linearization functions

The issue mentioned that the linearization was messy and performed poorly, so I created a new PR to optimize it. During this process, I also found a bug in the optimization progress, specifically when performing the swap operation. The bug occurs because the bitset is not swapped. I’ve fixed that as well.

The logic part looks good to me.


Are length and total_time same or different?

Spot-checking my library, these two fields seem to yield the same results. Is there any case where they're different? If not, should we drop one of them? Which one?

Which two fields please?
I can’t tell from your comment in the issue.
Thanks
Nathan

On 18 May 2017, at 07:54, Scot Hacker<EMAIL_ADDRESS>wrote:
Spot-checking my library, these two fields seem to yield the same results. Is there any case where they're different? If not, should we drop one of them? Which one?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Per the ticket title - length and total_time
(song.length and song.total_time)

They seem to be the same: https://github.com/liamks/libpytunes/blob/master/libpytunes/Library.py#L82 says:
 s.length = int(attributes.get('Total Time')) if attributes.get('Total Time') else None
The XML calls it Total Time.


Test on Python 3.6 and 3.7 (e.g. using tox)

I think some functions that accept Path objects in Python 3.7 don't in 3.6, so I got some errors on 3.6 that I wasn't getting on 3.7.

We're now testing with 3.6, 3.7, and 3.8 using GitHub Actions.


SPARK-5382: Use SPARK_CONF_DIR in spark-class and spark-submit, spark-su...

...bmit2.cmd if it is defined

Test build #26018 has started for   PR 4177 at commit 41cef25.

This patch merges cleanly.

Test build #26018 has finished for   PR 4177 at commit 41cef25.

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

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

Merging into 1.2

Hey @jacek-lewandowski this is merged into branch-1.2 already. Would you mind closing it?


Broken on Big Sur

Hi, will this app ever support Big Sur? Currently, the wallpaper does not take up the entire screen and is blurry, and the UI elements are based on earlier versions of macOS and are outdated. Thanks!

I'll have to look at getting Big Sur on a test machine. I've been keeping away from it on my normal machines due to all the errors I've had with it in testing

Apologies for completely ghosting on this issue. I didn't have a test machine to install Big Sur on for some time but I've started tracking progress towards Big Sur support in #4


Is there any way to make these work with neocities?

Neocity's Content security policy blocks the script. Is it possible to make it work there?

I don't use neocities and I'm not a web developer by trade, so I don't know. Will leave the issue open for a while in case anyone who does know shows up, but my guess is probably not

Fellow user here: I'm having problems in the issue you mentioned, but I had some similar CSP problems before.
(Por cierto, no sé si hablas español, me imagino por tu username que sí hahaha)


whereIn appears to be partial matching strings

Package version
ex: v2.10.3  (NB!)
Describe the bug
A clear and concise description of what the bug is.
Say we have the following document:
{
     name: 'John Smith',
     jobs: ['AI Inc', 'Loops Services'] <!- keyword field
}

and we do a query
Person::whereIn('jobs', ['AI', 'Loops'])->get();
We would expect no results, however, the query IS matching with the example provided.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.

Screenshots:
If applicable, add screenshots to help explain your problem.
Component Versions (Paste in the require section from your composer.json file):
  "require": {

  },

Additional context:
Add any other context about the problem here.

Hey @davimug , seems to be getting hits on the text tokens.
Try:
Person::whereIn('jobs.keyword', ['AI', 'Loops'])->get();
//or the equivalent:
Person::where('jobs.keyword', 'AI')->where('jobs.keyword', 'Loops')->get();

Hi @pdphilip , thanks for the response! I tried that and it doesn't seem to match with any documents at all, even the correct ones.

Strange, first try update to the latest version v2.10.7 and see if it helps
Then, can you show me your mappings?
Schema::getMappings('people');

I'm in the process of rebuilding the bridge that will use DSL queries directly, the whereIn() method will leverage Elasticsearch's terms query that will look for an exact match. This will be a major release v3.x - weeks away.
In the meantime, an equivalent query would be:
Person::where('jobs', 'AI')->orWhere('jobs', 'Loops')->get();

Let me know where you land

Hi sorry for the late reply @pdphilip, amazing work! Will take a look


Crowdsourcing survey for our website, collecting data frrom N@TM

At N@TM, we can conduct a survey to determine how many students have trouble with finding suitable cars that meet their criteria. Our project purpose is to help ease the car searching process, especially for students such as ourselves - so this form of crowdsourcing can be very helpful to bettering our overall project and website.

Current plan is to use Taiyo's comment code for people to 'add' or 'text in' their helpful suggestions into our website, this will allow our team to improve different aspects of our site


cmd/compile: honor the unicode classes for identifiers

The code currently says (lex.go):
	if c >= utf8.RuneSelf {
		/* all multibyte runes are alpha */
		cp = &lexbuf
		cp.Reset()

		goto talph
	}

Now that the compiler is in Go, we have access to the unicode tables and should use them.

It does use them; see the code at label talph. There's one bug in that leading non-ASCII Unicode digits are not rejected, but that's a separate issue and I have a CL forthcoming.

What is the CL?

For the purposes of lexing byte-at-a-time, all multibyte sequences are tentatively alpha. Then we filter once we've parsed the runes. We've always* done that. I know the comment makes it sound like what the Plan 9 C compiler does, but it's really not.
This is from Go 1.1 (just to show that the behavior has been this way for a long time):
if(c >= Runeself) {
	/* all multibyte runes are alpha */
	cp = lexbuf;
	ep = lexbuf+sizeof lexbuf;
	goto talph;
}

if(yy_isalpha(c)) {
	cp = lexbuf;
	ep = lexbuf+sizeof lexbuf;
	goto talph;
}

if(yy_isdigit(c))
	goto tnum;

switch(c) {
case EOF:
	lineno = prevlineno;
	ungetc(EOF);
	return -1;

case '_':
	cp = lexbuf;
	ep = lexbuf+sizeof lexbuf;
	goto talph;

That's all the possible ways to start an identifier, leading to the talph label. Then at the label:
talph:
	for(;;) {
		if(cp+10 >= ep) {
			yyerror("identifier too long");
			errorexit();
		}
		if(c >= Runeself) {
			ungetc(c);
			rune = getr();
			// 0xb7 · is used for internal names
>>>			if(!isalpharune(rune) && !isdigitrune(rune) && (importpkg == nil || rune != 0xb7))
>>>				yyerror("invalid identifier character U+%04x", rune);
			cp += runetochar(cp, &rune);
>>>		} else if(!yy_isalnum(c) && c != '_')
			break;
		else
			*cp++ = c;
		c = getc();
	}
	*cp = 0;
	ungetc(c);

So any multibyte non-alphanumeric will end up at talph and then be rejected with a message about that being an invalid character for an identifier (probably the best possible message, although strictly speaking it's making an assumption; maybe the user didn't intend the non-alphanumeric as part of an identifier).
The only bug in the code (that I found) was that leading non-ASCII digits were allowed (#11359). I closed this issue without a CL because I don't see any other problems. There is now a test for leading non-ASCII digits, as part of the CL for #11359. The current Go version of the talph block is:
talph:
	for {
		if c >= utf8.RuneSelf {
			ungetc(c)
			r := rune(getr())

			// 0xb7 · is used for internal names
			if !unicode.IsLetter(r) && !unicode.IsDigit(r) && (importpkg == nil || r != 0xb7) {
				Yyerror("invalid identifier character U+%04x", r)
			}
			if cp.Len() == 0 && unicode.IsDigit(r) {
				Yyerror("identifier cannot begin with digit U+%04x", r)
			}
			cp.WriteRune(r)
		} else if !isAlnum(c) && c != '_' {
			break
		} else {
			cp.WriteByte(byte(c))
		}
		c = getc()
	}

There is also a test (test/fixedbugs/bug163.go):
// errorcheck

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

func main() {
	x⊛y := 1;	// ERROR "identifier"
}

I'd be happy to look again given a specific test case that is incorrectly accepted.

"always" here means since June 2009. https://go.googlesource.com/go/+/5d5904bb4dc132e6f97ab990e0bb0c73a2af15ff

This program works and it should not.
package main

func main() {
	လ := 3
	_ = လ
}

http://play.golang.org/p/kUuxyPC4qw says that 'လ' is a letter.
'လ' is 101C which is Myanmar Letter LA


Mongo util - limit

No limit in pipeline - line 28
elif self._stage == "limit":
self._pipeline.append({f"${self._stage}": value})

Already solved earlier in both cursor and stages.


Issue with Sign-In Page Redirection after Plan Selection

@hsluoyz
I am encountering an issue with the redirection to the sign-in page after selecting a plan. Here are the details:
Scenario:
After selecting a plan, the URL is saved successfully
The expected behavior is redirecting the user to the sign-in page upon clicking the plan
Issue:
The plan does not redirect to the sign-in page when clicking on the plan
Steps to Reproduce:
Select a plan from the pricing page.
Observe that the URL is saved successfully.
Click on the selected plan.
Expected Behavior:
After clicking on the selected plan, the user should be redirected to the sign-in page.
Actual Behavior:
The user is not redirected to the sign-in page.
Please let me know if any additional information is required to address this issue.
Thank you for your assistance
Monish

@hsluoyz
First of all sorry for the duplicate issue.
Thank you for your previous response.
I wanted to follow up and ask if there has been any progress or if the issue with the redirection to the sign-in page after selecting a plan has been resolved.
##Recap of the Issue:
Scenario: After selecting a plan, the URL is saved successfully.
Expected Behavior: The user should be redirected to the sign-in page upon clicking the plan.
Actual Behavior: The user is not redirected to the sign-in page.
Could you please let me know if there have been any updates or fixes implemented for this issue?


Enhancement request? - Disable the MetroWindow while a Dialog mode is active.

When a "Delete something" button is pressed, simply calling the:
if (await this.ShowMessageAsync("Delete?", $"You sure to delete // etc.

is enough only if it is clicked by mouse.
If I select a button and press Enter twice, then TWO dialogs will be opened - one after another.
The dialog mode (ShowMessageAsync etc) are supposed to disable input while active, so I propose setting IsEnabled=false  temporarily while a dialog mode is active to eliminate undesired keyboard inputs on the main window.

I encountered the same issue,
I came up with an extension method that prevents command execution while a command's execute method is running.
public static ICommand DiscardReentrantCalls(this ICommand command)
 {
      ICommand decoratedCommand;
      bool discardExecution = false;

      decoratedCommand = new ParameterlessRelayCommand(
        () =>
        {
          if (!discardExecution)
          {
            discardExecution = true;
            try
            {
              command.Execute(null);
            }
            finally
            {
              discardExecution = false;
            }
          }
        }, () => command.CanExecute(null));
      return decoratedCommand;
    }

@AgentFire Another solution is to disable the button
private async void Button_OnClick(object sender, RoutedEventArgs e)
{
    if (e.OriginalSource is Button button)
    {
        // This dialog should be displayed only once!
        // So disable the button while the dialog is open.
        button.IsEnabled = false;
        await this.ShowMessageAsync("Delete?", $"You sure to delete.....).ConfigureAwait(true);
        button.IsEnabled = true;
    }
}

Yeah, you disable one button, and the focus simply jumps to the next element... which would be some other button, no doubt.


Change docker files to point to env-example not env_example

This was breaking "docker-compose up"

@aweisberg thanks!


Add input to allow specifying the retype license key

The license, in general, should be stored as a secret;
important: remove/mask the license key as soon as the build completes to avoid leaking the license to subsequent steps
This feature likely depends on #1.

See issues:
New --license build command arg #474
New -- build command args #475

With #1 implemented, it was a simple change to add support to specify the license key via input parameters.

This issue has been transferred to retypeapp/action-build#3.


Prepare release Sql 1.0.0-beta.5

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


fix: Bindable property and notify property do not work with enums

maybe this will do it ...

This not enough...


Adding the Pagination Block & Icon

Title: Addition of two Pagination templates
Fixes: #62
Description: This PR is regarding the addition of Pagination templates. Initially, I am adding two templates named PaginationA and PaginationB. If this PR gets merged, I'll add more templates in continuation.
ScreenShot:
Template1 - PaginationA

Template2 - PaginationB

As you can see, I had added the two Pagination templates along with their icons on sidebar.

This fixes #62 Request.

hey any idea if this would be merged please?


Do not add content-length if chunk reply.

We shouldn't add Content-Length header if we are doing a chunked transfer. It is fine on most browser but some, like Safari, have issues with it.
See:
https://stackoverflow.com/questions/3304126/chunked-encoding-and-content-length-header
http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.4.4 (point 3)

After looking over things, I decided to rework a bunch of stuff related to this.
From rfc7230 section 3.3.2 (https://tools.ietf.org/html/rfc7230#section-3.3.2), there are a lot of things we seem to be missing:
   A server MUST NOT send a Transfer-Encoding header field in any
   response with a status code of 1xx (Informational) or 204 (No
   Content).  A server MUST NOT send a Transfer-Encoding header field in
   any 2xx (Successful) response to a CONNECT request

   A server MUST NOT send a
   response containing Transfer-Encoding unless the corresponding
   request indicates HTTP/1.1 (or later).

   A server MAY send a Content-Length header field in a response to a
   HEAD request (Section 4.3.2 of [RFC7231]); a server MUST NOT send
   Content-Length in such a response unless its field-value equals the
   decimal number of octets that would have been sent in the payload
   body of a response if the same request had used the GET method.

And one that seems to relate the most to this patch

A sender MUST NOT send a Content-Length header field in any message
that contains a Transfer-Encoding header field.

If we look at https://github.com/criticalstack/libevhtp/blob/develop/parser.c#L1535 I'd say we could use this information, expose a `header type` enum, and we don't have to strcmp twice.

Thank you for pointing this out, I have a bit of work ahead of me :)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


fix: build won't break when a generic relation is used

  File ".../venv/lib/python3.9/site-packages/strawberry_django_plus/type.py", line 375, in wrapper
    return _process_type(
  File ".../venv/lib/python3.9/site-packages/strawberry_django_plus/type.py", line 264, in _process_type
    fields = list(_get_fields(django_type).values())
  File ".../venv/lib/python3.9/site-packages/strawberry_django_plus/type.py", line 211, in _get_fields
    fields[name] = _from_django_type(
  File ".../venv/lib/python3.9/site-packages/strawberry_django_plus/type.py", line 193, in _from_django_type
    else model_field.help_text
AttributeError: 'GenericRel' object has no attribute 'help_text'

This will avoid the above issue

Hey @hiporox , thanks for the contribution :)
Change looks good, just need to fix the tests and lint errors.

Codecov Report

Merging #19 (87d026f) into master (bdb38db) will decrease coverage by 0.01%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
- Coverage   89.86%   89.85%   -0.02%
==========================================
  Files          38       38
  Lines        3552     3557       +5
==========================================
+ Hits         3192     3196       +4
- Misses        360      361       +1

Impacted Files
Coverage Δ

strawberry_django_plus/type.py
88.42% <83.33%> (-0.23%)
:arrow_down:

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 bdb38db...87d026f. Read the comment docs.


how to use '3' as a new number prop to customise pagination range display

https://github.com/imballinst/react-bs-datatable/blob/6a490618905aa1eb215b1ddabfa0501b8ffb44e7/src/components/Pagination.tsx#L145

heya @ManousakisGS! At the moment I think there's no way to do it, but this should be a simple change (I think...). Something like this, what do you think?
<Pagination paginationRange={5} /* defaults to 3 */ />

Hey @imballinst ! I also thought about this by looking at the code!
I already finished one implementation of this specific issue if you wish to check.
Best regards:)

yes maybe next time!
Thanks for being there for this specific issue !
Have a nice day 😄

I have released the latest version 3.11.0 but apparently I had some holes in the implementation 🤦 https://codesandbox.io/s/react-bs-datatable-3-11-0-pagination-range-p4p0pn?file=/src/App.tsx
The currently active page isn't located at the center of the buttons so it's being weird and that. Will fix it in a bit for 3.11.1.

I have updated the sandbox here with 3.11.1 @ManousakisG, could you verify if they are working as intended? Thanks! https://codesandbox.io/s/react-bs-datatable-3-11-0-pagination-range-p4p0pn?file=/package.json

Hello, I tried it but is still not displaying the active page in the center of the buttons.

@ManousakisG hmmm, so I guess this is the expected behavior?

For odd value of paginationRange, then the active page is centered
For even value of paginationRange, the current behavior is expected

Or not?

hmm i am thinking that it looks better if in both cases the active page is 'almost' centered.
In odd values it can be perfectly centered.
In even values there can be one more button from the right side of the active button.
Like the image of this example:

What do you think?

ah, got it! Yeah, I think I can work that out tomorrow, I have already thought on the logic, just need to write it down. I'll publish a beta version now and after you've confirmed it's working accordingly, I'll publish the official version.
Thanks for the feedback @ManousakisG!

hi @ManousakisG, I have published 3.11.2-beta.0, when you have the time, could you help try it out in this sandbox and see if there are holes that I'm missing from my test cases? https://codesandbox.io/s/react-bs-datatable-3-11-2-beta-0-pagination-range-n3ygh8?file=/src/App.tsx
Thanks!

Hi @imballinst!  I think that it works fine and your implementation right now solved the issue!
Thank youu!

Cool! I'll publish 3.11.2, then. Thanks for the confirmation and feedback @ManousakisG!

https://www.npmjs.com/package/react-bs-datatable/v/3.11.2 should now be available through npm. Thanks!


[docs] Concistent type names in API

Manually authored API documentation currently sometimes uses uppercase for primitives e.g Boolean. However, in JS there is a difference between primitive booleans and Boolean. TypeScript has different types for both of these.
We should first make sure we use lowercase names.
As a second step we can think of how to use the same template for the automatically generated component /api pages and the manually authored API sections.

Hi @eps1lon, on your second point, do you have an idea how it can be done - using the template for the api pages for the manually written API sections ?

Hi @eps1lon, on your second point, do you have an idea how it can be done - using the template for the api pages for the manually written API sections ?

I haven't looked into how this would look like.

@t49tran You could likely copy the same case and content, e.g.

Boolean -> bool
Function -> func
String -> string
Array -> array

Hi @eps1lon, on your second point, do you have an idea how it can be done - using the template for the api pages for the manually written API sections ?

@t49tran We could argue that it's off-topic to this issue (#25970) as the main pain seems to be about the inconsistency. However, we have started to work on this very problem with @m4theushw, see https://github.com/mui-org/material-ui/issues/26091.


move tunnel_map to MPPTunnelSet

Signed-off-by: xufei<EMAIL_ADDRESS>What problem does this PR solve?
Issue Number: ref #5095
Problem Summary:
Currently, there 2 tunnel related components in MPPTask

tunnel_set
tunnel_map

This pr move tunnel_map to MPPTunnelSet, and all the tunnel releated operate are handled in MPPTunnelSet
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge


WIP:  feature/modal dialog

Adds initial File Info modal dialog

Github actions isn't always clear what is a build error and what is something that can be ignored.
If you do a npm run build from the root directory and you get an build error, that must be fixed before merging to develop.

Closing in favor of #10


Use libc definitions for wait module

Not certain if these are all correct yet, but we can reuse a ton of logic from libc within the wait module.

So according to POSIX's definition, these functions may be unsafe, but they happen not to be on all of nix's currently targeted platforms.  In that case, libc's decision to make them unsafe everywhere makes sense.
bors r+

bors r-

Whoops, looking over this again, I think I actually introduced a bug in term_signal. We need to mask off the top bit of the status because of how ptrace works, and I don't think that function does it. I'll check it out tomorrow and see.

I think I actually introduced a bug in term_signal

I don't think you did. Linux WTERMSIG masks off bit 7 of the status.
This PR looks good to me, though I think you could go a bit further and eliminate the status module, moving all its functions to the top level.

@rocallahan Thanks for checking that, yes it does look like it does the right things on Linux.
And I removed the status module, but made all the functions private, as I saw no reason to expose them, especially with the work you're doing in #741.

bors r+


Updated various libraries including Retrofit, jackson, picasso, image-photo view, etc

In this PR, I have updated various library used in sdk to latest version

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: jnpatel2811 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I tried merging this into master and ran into runtime issues.
E/AndroidRuntime: FATAL EXCEPTION: intent processor #2
    Process: com.microsoft.embeddedsocial, PID: 26588
    java.lang.VerifyError: Rejecting class com.microsoft.embeddedsocial.server.model.notification.GetNotificationCountRequest that attempts to sub-type erroneous class com.microsoft.embeddedsocial.server.model.UserRequest (declaration of 'com.microsoft.embeddedsocial.server.model.notification.GetNotificationCountRequest' appears in /data/app/com.microsoft.embeddedsocial-weuxMKHu22oWGny-XERUGQ==/base.apk:classes2.dex)
        at com.microsoft.embeddedsocial.service.handler.UpdateNotificationCountHandler.handleIntent(UpdateNotificationCountHandler.java:29)
        at com.microsoft.embeddedsocial.service.handler.UpdateNotificationCountHandler.handleIntent(UpdateNotificationCountHandler.java:24)
        at com.microsoft.embeddedsocial.base.service.IntentProcessor$IntentHandlerAdapter.run(IntentProcessor.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

This may require some additional changes in the project's ProGuard files.

Because there are conflicts now. I'll resolve it and check it.


Cannot extend configuration files recursively ("extends" with presets)

Bug Report

TSLint version: 5.9.1
TypeScript version: 2.6.2
Running TSLint via: (pick one) CLI

TypeScript code being linted
Configuration hierarchy using presets (tslint-sonarts, tslint-config-prettier, codelyzer) in the base configuration file:
tslint-base.json:
{
  "extends": [
    "tslint:latest",
    "tslint-sonarts",
    "codelyzer",
    "tslint-config-prettier"
  ],
  "defaultSeverity": "error",
  "rules": { ... }
}

tslint.json:
{
  "extends": ["./path/to/tslint-base.json"],
  "defaultSeverity": "warning",
  "rules": { ... }
}

Actual behavior
The presets included in the "extends" option of the tslint-base.json are not taken so the linting does not report any violation of those rules.
In order to make those rules work, the presets should be moved to the child tslint.json:
tslint-base.json:
{
  // removed the "extends" option from here
  "defaultSeverity": "error",
  "rules": { ... }
}

tslint.json:
{
  "extends": [
    "tslint:latest",
    "tslint-sonarts",
    "codelyzer",
    "tslint-config-prettier"
    "./path/to/tslint-base.json"
  ],
  "defaultSeverity": "warning",
  "rules": { ... }
}

Although this post show explains how to create sharable configurations and rules, it doesn't cover the use case mentioned in this issue (with recursive "extends" and using presets). Basically the same functionality provided by ESLint: extending configuration files
Expected behavior
The presets should be correctly taken in the base tslint.json and be overwriten by any rules, extensions used in the child tslint.json.

@christophercr i'm pretty sure this works... we rely on it every day.


Contacts

Description

Added a yaml file based implementation for contacts. The complete list of contacts are loaded into an in-memory cache during initialization.The entries in the cache are indexed by both alias and off-chain address of the peer and can be using either of these as reference.
ReadByAlias, ReadByOffChainAddr, Write and Delete operations act only on the cache and do not affect the contents of the file.
The file can be updated with the latest state of cache by explicitly calling UpdateStorage method. Normally this should be called before shutting down.
Category

Implementation Task
Relevant issue

Closes #43
Testing

Tests in the package can be run using the below command. The following two errors are not covered as they could not be simulated. See contacts/contactsyaml/yaml.go.
a. Error in yaml.Marshall and,
b. Error from file.Close.
Steps to run the tests

go test -count=1 -cover github.com/direct-state-transfer/perun-node/contacts/contactsyaml -v
Template for contacts.yaml in canonical YAML format can be found at data/templates/contacts.yaml. Completeness of the template to be reviewed.

Checklist

[x] Name is added to the NOTICE file, if it is not present already.
[x] Changes are rebased onto the target branch.

The module path has been changed (#64) after the repository is moved to the hyperledger-labs GitHub organization. This pull request needs to updated by rebasing on to the latest develop branch.


Inquiry: How did you build your ffmpeg?

Mine is only 18MB or so and was missing a library when I tried to run on AWS Lambda. When I put your 30MB one in instead it just worked.
Thanks!

@TheJimFactor I don't remember entirely as this was over a year ago, but I'd be surprised if I built it at all vs. found a download for it somewhere. I can find some time this week to look through old notes/dig around/test some things if you'd like another pair of eyes for outlining a repeatable build process.

That'd be great! I'm also trying to build ffmpeg for lambda and I'm having some difficulties...


not work with default leave animation

the default animation doesn't work
I use it in vue 3,  the enter is work, but when the duration came, leave animation didn't work, it will disappear in a flash, without excessive effect
Then I try to download your demo, npm install, then npm run dev, when I try to click the "CSS animation Success button", I found the same effect, it will disappear in a flash, without excessive effect.
Is it a BUG or my operation is wrong?

It is a bug. Fixed in 2.3.2 version :)


Show the avatars of Culprits and Claimer

Integrate Jenkins Avatar Plugin to show  Culprits and Claimer.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/22386364-ideas?utm_campaign=plugin&utm_content=tracker%2F580790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F580790&utm_medium=issues&utm_source=github).

Changed the title so that the feature request is easier for people to find and vote on.


Fixed issue #371 Replace the implementation=file-system with data-sto…

…re=file-system + package renaming

Thank you! Good job!
Could you please also follow the instructions on the CONTRIBUTING page and provide a signed copy of the ICLA?
Other than that the pull looks great!

Signed and sent the ICLA document.

Hi,
I don't think you've sent the ICLA, though, as I haven't received an e-mail
with it...? Am I missing it?
On 7 Dec 2017 16:31, "Dinesh Arora"<EMAIL_ADDRESS>wrote:

Signed and sent the ICLA document.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/strongbox/strongbox/pull/400#issuecomment-350001977,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABXqaY0dyk48wCgtyVvkcYfeWXy7S_Spks5s-ATdgaJpZM4Q4-Di
.

(There's an actual pdf)...
On 7 Dec 2017 17:41, "Martin Todorov"<EMAIL_ADDRESS>wrote:

Hi,
I don't think you've sent the ICLA, though, as I haven't received an
e-mail with it...? Am I missing it?
On 7 Dec 2017 16:31, "Dinesh Arora"<EMAIL_ADDRESS>wrote:

Signed and sent the ICLA document.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/strongbox/strongbox/pull/400#issuecomment-350001977,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABXqaY0dyk48wCgtyVvkcYfeWXy7S_Spks5s-ATdgaJpZM4Q4-Di
.

I sent it again, I misspelled the email and it bounced back.

Thank you very much!


flexible notify event example

esr_flexible_notify
What would be an example of a "contract-to-outside" event?
Is it supposed to be only used inside nodeos for BPs to handle IBC/IRC with sister chains, or would it also allow for REST-API calls to be triggered outside the blockchain?

The state-history plugin exposes all inline actions, so anything outside of nodeos could listen for these events. So, for example, you could create a process which monitors for certain events then:

Populates a database, or
Sends an email or IM, or
Makes a REST request to a server, or
Causes a robot arm to move

Thanks for the explanation, this helps to understand the situation better. We should consider adding this note to the ESR summary.
See PR https://github.com/EOSIO/spec-repo/pull/15


feat: use http as default scheme for Swagger 2.0 specifications, fix #1218

Swagger 2.0 has a different syntax for server URLs. It’s using a schemes array to provide a list of available http schemes (http, https).
Currently, we expect it to be present. Turns out, some files don’t have it.
This PR makes it optional.
Example (with schemes)
{
  "swagger": "2.0",
  "info": {
    "version": "1.0.7",
    "title": "Swagger Petstore",
  },
  "host": "petstore.swagger.io",
  "schemes": [
    "https",
    "http"
  ],
  "paths": {}
}

Result: https://petstore.swagger.io
Example (without schemes)
{
  "swagger": "2.0",
  "info": {
    "version": "1.0.7",
    "title": "Swagger Petstore",
  },
  "host": "petstore.swagger.io",
  "paths": {}
}

Result: http://petstore.swagger.io

Even if it’s optional, people just have all sorts of specifications so we need to make the best out of it. :)


label plugin not support label with spaces like "good first issue"

Bug Report

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Related link
cc: @zhangyangyu
Steps to reproduce(Optional)
What is expected?
Maybe we can respond to the command like /label "good first issue", If someone wants to label multiple labels at the same time, the command format can be /label "good first issue" "help wanted" foo,
What is actually happening?
label plugin does not support labels like "good first issue" with spaces.

@zhangyangyu, It seems that prow uses a separate plugin named help to support these special labels.

/help
/remove-help
/good-first-issue
/remove-good-first-issue

That's nice if it works.


Diverging colormaps for scalp plots: Always have "white" as zero

Problem description
I want to compare scalp maps of ERPs across three different tasks. To allow for comparability between the subplots, they all need to share the same colorbar, which I can achieve by the following:

find the maximum value across all tasks and the minimum value across all tasks
pass max and min from step 1. into the vmin and vmax arguments when plotting

The result is as follows (note the colorbar):

The problem is, that the white color of the "RdBu_r" colormap should be centered on zero, but this is not the case, as soon as vmin != vmax.
A workaround is to perform an intermediate step between 1. and 2. from above:

find the maximum value across all tasks and the minimum value across all tasks
find the absolute maximum of the max and min identified in step 1.
pass abs_max from step 2. into both the vmin and vmax arguments when plotting

The result is as follows (note the colorbar ... vmin == vmax):

While it is great to have the white color centered on the zero value, here the problem is that we lose some of the color range into one direction of the scale. In this example, this is visible in the red colors of the positive scale ... dark red is at 6 ... but the maximum is actually 4, so dark red is never reached.
Potential solutions
One solution to get the full color range and still the zero value centered on white color is described here (also provides a minimal working example to play around with):
http://chris35wills.github.io/matplotlib_diverging_colorbar/
Basically, it is possible by subclassing mpl.color.Normalize
# set the colormap and centre the colorbar
class MidpointNormalize(mpl.colors.Normalize):
    """Normalise the colorbar."""
    def __init__(self, vmin=None, vmax=None, midpoint=None, clip=False):
        self.midpoint = midpoint
        mpl.colors.Normalize.__init__(self, vmin, vmax, clip)

    def __call__(self, value, clip=None):
        x, y = [self.vmin, self.midpoint, self.vmax], [0, 0.5, 1]
        return np.ma.masked_array(np.interp(value, x, y), np.isnan(value))

... and then passing this class as an argument to plt.imshow's parameter called norm:
    im = ax.imshow(mydata, vmin=mymin, vmax=mymax, norm=MidpointNormalize(mymin, mymax, 0.))
What are your thoughts on implementing something like this in MNE-Python? How have other people solved this problem?
cc @cbrnr @jona-sassenhagen

Also see https://github.com/matplotlib/matplotlib/issues/11377

Yes, I need that all the time, and I have included a function in my ERDS example, which doesn't subclass and is pretty simple. If it is needed in more places, we could make it available somewhere in the viz package.

@jona-sassenhagen is Clemens' function also a solution for your problem?
At least for my part it's exactly what I regularly need and I'd be +1 for including it in mne.viz.

I think our zero should be white :)
Clemens‘ function isn’t really something I’d do myself, but if you can convince Alex, sure. Feel free to also add it to Eg plot_erpimage.

Feel free to use the other approach, but I think we agree that something should be added.

I think our zero should be white :)

I agree - my question was targeting whether a colorbar SHOULD be symmetric ... or can be asymmetric, see:

Apparently, it is "a bad idea" to have them asymmetric, see the note in here. I was wondering whether you ( all MNE people/scientists) also think that it's a bad idea to use asymmetric colorbar limits as shown in the upper panel of the example.

Clemens‘ function isn’t really something I’d do myself

Why not?

Feel free to use the other approach, but I think we agree that something should be added.

Yes, let's figure out the best way to do it

In some cases, asymmetric color bars make sense. For example, ERDS values are bounded by -100% in the negative direction, but are unbounded in the positive direction. I usually choose a sensible upper bound, e.g. 250%, because most values lie within that range. I still want 0% to be white, so in the case of ERDS asymmetric ranges totally make sense.
I'm not sure about ERPs though - there is no inherent reason why one direction is scaled differently than the other. In your example, it looks more like an interpolation artifact because these negative values occur at the outermost electrodes.

Ok, I guess my intuition would be that truncation of the colorbar is ok, but for gaussian data like MEEG, a nonlinear colormap is not. I strongly prefer the second image.

@cbrnr do you want to do it?

Sure, I'll go ahead and make a PR.


Octarine Adapter docs

Description
The Octarine adapter needs explanation and instructions provided to readers of the Meshery docs - https://meshery.layer5.io/docs/installation/adapters/octarine
@thehh1974 would you be kind enough to update the Meshery docs in this regard using the documentation contribution instructions?
This is the final item to move the Octarine adapter from beta to stable.

Thanks, @thehh1974


cilium: split off handling of lb svc type in datapath

See commit msgs.

test-me-please

Coverage increased (+0.02%) to 37.19% when pulling 79f0cb67dc7382324d8c153be4fa87f278f16483 on pr/split-off-lb-type into 3f5c6c5600296b833bfc2dbc3117b81c1ae48e25 on master.

(all tests green)

test-me-please

test-gke

test-focus K8sService*

(2 GKE test flakes, unrelated: https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/1717/)


User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
Doesn't matter
Hexadecimal has nothing to do with the fact that you use 6 characters for representing the colour... That's because you use 2 digits (8 bit) for every component of the colour (RGB). If you we had hypothetically hexadecimal representation of a CMYK colour scheme, it would use 8 digits and you would still call it hexadecimal.
I don't think you even need to explain what's hexadecimal, that's out of the scope of the course...
I like your effort, but if you want to give extra information, it should be the right one.
Nonetheless, good course, I'm enjoying it.

Hi,
While I understood the point you are making here, But still IMO, I think the explanation about using Hexadecimal scheme for representing the RGB is apt, in this case.
Its true that the word "hexadecimal" has nothing to do with representing color, where we are using 6 digits for it and each digit is a hexadecimal.
But having said, that in CSS it has been common to call the color code as "hex". Its kind of an coding/programming slang.
For example : If someone asks a CSS developer, 'Hey! Whats the hex code for red?' He would reply, 'Oh! its # FF0000', He would understand what's being asked, even though it may not be logical to connect the word "hex" and color, as you mentioned, and to which I agree too.
But, yet and still, it becomes essential that students are acquainted with the common terms, so they are comfortable with such terms, which they will face every where.
Secondly, the brief intro is also essential over here about hexadecimal, because of the fact that 6 digits are a standard way of representing the 16 Million color combinations that can be accommodated. And people who have no knowledge of how these decimals-hexadecimals work, need some place to start with. Hence, there's a link to more detailed explanation at Wikipedia, too.
Again, The point of the course is to target any one without any prior knowledge of coding to get started with coding. So, I guess its alright to put what's in the context.
What do you say?

@raisedadead is correct here.  Hexadecimal is commonly used in programming and some users will never have encountered it before.  We offer up an explanation in line and in context.
I've never actually had anyone argue for REMOVING content from FCC before, but there ya go.
Closing this as we will not be reevaluating our pedagogical decisions on this waypoint.

@raisedadead completely missed my point. What I meant is that you try to explain what is headecimal but end up saying it is called hexadecimal because you use 6 digits to represent a color (#123456) and because it uses 6 letters (ABCDEF), which is not true! Hexadecimal means a base 16 number system, has nothing to do with 6! Although hexa does mean 6 most of the times, here it means 16! I just think it is misleading to tell someone that it is called hexadecimal because there are 6 digits in the hexadecimal code color! also, further on, you end up telling people it might just be 3, not 6... I see someone asking themselves: "Why is it called hexadecimal when there's 3?!?"
You do what you want to do with this, It's not bikeshedding, I'm happy to fork this, fix the problem myself and submit a pull request, but it makes me unhappy that a website focused on learning doesn't care about the text you create for people that are learning.
My goal is not to remove content from FCC, I just want to give my opinion on how to improve it. If you want to take it, you take it, if you won't care, I won't care trying to improve it any more, I just thought the whole point of having a community based learning platform was for the community to give feedback and improve the website content as a community.
I wonder if you actually understand what I mean here and if you gave it some thought before dismissing it as "bikeshedding"

What text would you propose?

I would suggest this:

Did you know there are other ways to represent colors in CSS?
One of these ways is called hexadecimal code, or hex code for short.
You may be familiar with decimal being a number like 57 or 0.333. In CSS, decimal can be thought of >as the numbers zero through nine, giving a total of ten numbers.
Hexadecimal (or hex) is a numeral system with a base of 16. This means it uses sixteen distinct >symbols.
As with decimal, the symbols 0–9 represent values zero to nine, and A, B, C, D, E, F represent values >ten to fifteen.
Putting these together, each place value of a hexadecimal can be represented by 0 to F, giving us a >total of 16 possible values. You can find more information about hexadecimal numbers here (link to >wikipedia)

With CSS, we use 6 hexadecimal numbers to represent colors, two for each  component, red, green >and blue. You can find more information about the RGB color system here. For example, #000000 is >the lowest possible value, and it represents the color black.

Replace the word black in our body element's background-color with its hex code representation, >#000000.

You can see it doesn't look bad on the page by the attached image.
I just think it is a more accurate explanation for someone that has never heard about hexadecimal before. It doesn't go into much detail, so it won't be boring and won't put people off (which was your goal in the first place, I completely understand that), but won't be inaccurate, so people interested in learning more won't have conflicting ideas when researching about hexadecimal.
The fact is that people don't need to know what is hexadecimal or to understand it in order to use it in CSS (which was my original point when you understood I wanted it removed), but since you decided to explain it (which I completely agree with), I think it should be done in an accurate way. I hope you don't think I was being arrogant or anything, I really like the website and the project, I just thought I could help improving this Waypoint.

Yup, now its much clearer what you were saying @afduarte ! And, Haha its funny now, But I am sorry your original argument, did lead us to think otherwise.
Lets see what @SaintPeter and others have to say about this , but I am cool with the change you propose.
Cheers, and sorry about the confusion.
Thanks! :+1:

I made some minor edits:

Did you know there are other ways to represent colors in CSS?
One of these ways is called hexadecimal code, or hex code for short.
We most commonly use decimal, or base 10 numbers, which use the symbols 0 through 9 for each digit.
Hexadecimal (or hex) is a numeral system with a base of 16. This means it uses sixteen distinct symbols.
As with decimal, the symbols 0–9 represent values zero to nine, and A, B, C, D, E, F represent values ten to fifteen.
Putting these together, each place value of a hexadecimal can be represented by 0 to F, giving us a total of 16 possible values. You can find more information about hexadecimal numbers here (link to wikipedia)

With CSS, we can use 6 hexadecimal numbers to represent colors, two for each component, red, green and blue. You can find more information about the RGB color system here. For example, #000000 is the lowest possible value, and it represents the color black.

Replace the word black in our body element's background-color with its hex code representation, #000000.

I'm concerned that this is still a bit verbose - probably one of the longest descriptive sections we have - which it was to begin with, but this is even longer.  I don't know if it's possible to streamline it any more than it already is.
I'm willing to discuss this, though.

Here's my go at making the text less verbose and as concise as possible. (Bold text indicates my changes from @SaintPeter's suggestions.)

Did you know there are other ways to represent colors in CSS?  One of these ways is called hexadecimal code, or hex code for short.
We usually use decimals, or base 10 numbers, which use the symbols 0 to 9 for each digit. Hexadecimals (or hex) are base 16 numbers. This means it uses sixteen distinct symbols. Like decimals, the symbols 0–9 represent values zero to nine. Then A, B, C, D, E, F represent values ten to fifteen. Altogether, 0 to F can represent a digit in hexadecimals, giving us 16 total possible values. You can find more information about hexadecimal numbers here.
In CSS, we can use 6 hexadecimal digits to represent colors, two each for the red (R), green (G) and blue (B) components. For example, #000000 is black and is also the lowest possible value. You can find more information about the RGB color system here.
Replace the word black in our body element's background-color with its hex code representation, #000000.

In the second to last paragraph, I also switched around the sentences to make it flow a little better.
The live version is 167 words with 756 characters (no spaces). My version is 159 words with 776 characters (no spaces). @SaintPeter's changes have 175 words and 830 characters (no spaces).

This looks really good.  Pretty concise, too.
Minor question:

Altogether, 0 to F can represent a digit in hexadecimals,

Shouldn't hexadecimal be singular in this case?  We're referring to the numbering system, not the digits.
Otherwise, this looks good to go.

Good point. I'll keep it singular.
I've put in a PR and tried to highlight appropriately. Let me know if there needs to be any additions and removal of highlighting.
Also, I've added the target='blank' attribute to the links because I noticed there's that tiny figure with a square and arrow pointing out next to the links. To me that implies that what I'm going to click on will open a new tab. If that's not what you intended, I can remove the target attribute.

That was fine.  All of our external links should probably have the target="_blank" on them.


Add gui support to the application with JavaFX

The log does not provide very much feedback for a regular user as the entries are written to fast. An improvement would be to create a curses like ui with multiple panels.
Proposing to use Lanterna. https://github.com/mabe02/lanterna

upper screen: divide into 2-3 panels

show start-end block
blocks indexed per second
tx/s indexed per second
percent of backlog processed¨
current backpressure if any

lower screen box: move all current log events here.

All of this could be added to the log, but using a text interface makes it way more user friendly. It should be nice to look at, something to show off on a big screen. "look at all these txs making their way from the blockchain into the indexed storage!"
And besides, a text based interface would be a nice change of scenery.

Completely changed the issue, now aiming for a JavaFX user interface. There is terrible crossplatform/cross-terminal support. And even more so on java. Windows does not even support ANSI ESCAPE CODES. Using jansi works well, but does not allow hiding the cursor. This resulted in the application being rendered nice, but having a cursor that jumps all over the terminal.. Besides JavaFX is a bit more user friendly. Still supporting terminal mode for text based environments.

Done.


enable tab completion in the shell

Ready for review @jph00
I have tested this on both bash and zsh

The functionality looks good, but there's a bunch of extra changes that probably weren't intentional, including changes to code formatting in the Readme, and an extra html file.

@jph00 ok I think we are good now.  The git hooks work for me, I learned to let go :)


refactor(elements): move from local font files to font package

closes #75
⚙ Changes:

Removed local font files
Add fonts as dependency
Add script to require fonts on load (stencil-config -> globalScript)

⚙ Changes:

Add Function in core packages which get called by the angular wrapper to import the fonts

I tried to find another way but this seems the only one working right now. I'm not an angular expert at all but I tried many other solutions which did not quite work. This should do the trick for now. I tested it in our react and angular examples projects.

also closes #71


Refs #29983 -- Added test for TEMPLATES['DIRS'] pathlib support.

The existing use doesn't need to coerce the Path object to a string.

@jdufresne Thanks :+1: I don't think that we need separate PRs/commits for each setting. Can we collect all new tests in a single PR? and finally squash them to e.g.  Refs #29983 -- Added more tests for using pathlib.Path in settings.

Ok, no problem. Will open a new PR once all settings are covered.