Access ConBee via /dev/serial/by-id

It's quite common that USB serial adapter tend to change their address when plugin in a different order or into another USB-Port. Normally one can cirmuvent it by using the softlink /dev/serial/by-id/ which has a pointer to the real USB-Port /dev/ttyXXXX.
Available USB2Serial Devices in my system
In this example the last entry is the right one. The rest can and should be ignored to the deconz container.
notroot@thindocker:~/deconz$ ls /dev/serial/by-id/ -ls
total 0
0 lrwxrwxrwx 1 root dialout 13 Jan 21 15:22 usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB0
0 lrwxrwxrwx 1 root dialout 13 Jan 21 15:22 usb-busware.de_CUL868-if00 -> ../../ttyACM0
0 lrwxrwxrwx 1 root dialout 13 Jan 21 15:22 usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2147763-if00 -> ../../ttyACM1

What I did yo far:
Both /dev/ttyACMx Sticks struggle with the address assignment on startup of the computer. They do receive an address all the time, but these addresses may swap on startup of the host.
I altered the docker-compose.yaml like this:
version: "2"
services:
  deconz:
    image: deconzcommunity/deconz
    container_name: deconz
    restart: always
    ports:
      - 8888:8888
      - 8001:8001
    volumes:
      - ./opt/deCONZ:/opt/deCONZ
      - /dev/serial/by-id:/dev/serial/by-id
    devices:
      - /dev/ttyACM0
      - /dev/ttyACM1
    environment:
      - DECONZ_WEB_PORT=8888
      - DECONZ_WS_PORT=8001
      - DECONZ_DEVICE=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2147763-if00
      - DEBUG_INFO=1
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0
      - TZ=Europe/Berlin
      - DECONZ_UPNP=1
      - DECONZ_VNC_MODE=0
      - DECONZ_START_VERBOSE=1

I passed both ACM Devices so the system has the opportunity to choose the right one, accordning to the softlink in /dev/serial/by-id/ folder
I noticed these lines in the logfile upon start.
17:04:17:272 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:17:312 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:18:735 failed to reconnect to network try=7
17:04:21:280 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:21:324 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:22:277 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:22:329 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:23:735 failed to reconnect to network try=8
17:04:24:794 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:26:310 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:26:354 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:27:289 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:27:340 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)
17:04:28:736 failed to reconnect to network try=9
17:04:31:280 dev can't create file: /dev/ttyUSB0 via mknod (missing permissions)

So the process is not concerned about the address given.
Environmental Variables
I snatched these these variables from the console within the container docker exec -it deconz /bin/bash
root@4f26bcb13152:/# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='5.1.4(1)-release'
COLUMNS=282
DEBIAN_FRONTEND=noninteractive
DEBUG_APS=0
DEBUG_DDF=0
DEBUG_DEV=0
DEBUG_ERROR=0
DEBUG_HTTP=0
DEBUG_INFO=1
DEBUG_OTA=0
DEBUG_OTAU=0
DEBUG_ZCL=0
DEBUG_ZDP=0
DECONZ_DEVICE=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2147763-if00
DECONZ_GID=1000
DECONZ_NOVNC_PORT=6080
DECONZ_START_VERBOSE=1
DECONZ_UID=1000
DECONZ_UPNP=1
DECONZ_VERSION=2.20.00
DECONZ_VNC_DISPLAY=0
DECONZ_VNC_MODE=0
DECONZ_VNC_PASSWORD=changeme
DECONZ_VNC_PASSWORD_FILE=0
DECONZ_VNC_PORT=5900
DECONZ_WEB_PORT=8888
DECONZ_WS_PORT=8001
DIRSTACK=()
EUID=0
GROUPS=()
HISTFILE=/root/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/root
HOSTNAME=4f26bcb13152
HOSTTYPE=x86_64
IFS=$' \t\n'
LINES=86
MACHTYPE=x86_64-pc-linux-gnu
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="1")
PPID=0
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS2='> '
PS4='+ '
PWD=/
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=1
TERM=xterm
TZ=Europe/Berlin
UID=0

So what's going on?

Your config is slightly messy, just use the following:
version: "2"
services:
  deconz:
    image: deconzcommunity/deconz
    container_name: deconz
    restart: always
    ports:
      - 8888:8888
      - 8001:8001
    volumes:
      - ./opt/deCONZ:/opt/deCONZ
    devices:
      - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2147763-if00:/dev/ttyACM0
    environment:
      - DECONZ_WEB_PORT=8888
      - DECONZ_WS_PORT=8001
      - DEBUG_INFO=1
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0
      - TZ=Europe/Berlin
      - DECONZ_UPNP=1
      - DECONZ_VNC_MODE=0
      - DECONZ_START_VERBOSE=1

Stale


Search icon in nav bar for mobile view

Good day! Thanks for your work!
I am trying to use the theme on mobile. The main feature needed is searching within the b0okmarks. But the search feature is hidden in dropdown, which makes it less accessible.  Would you consider moving the search button to the top nav bar?

That's a pretty good idea given that search is potentially the most used feature. It's not very straight forward to implement given the way toolbar icons are structured now but I'll figure out a way to do it elegantly.


Newsletter signup popup on landing page

In the landing page, create a popup 30seconds after the user is on the page.
The popup should:

gets displayed only the first time a user is visiting the landing page
get a confirmation message once signed up
replicate the newsletter design currently built in the footer

This is a user hostile addition.


(feature) - Added Custom Scrollbar

Description
Added a custom scrollBar of blue and black colour
Fixed #171
Type of change
Please check options that are relevant to your PR.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist:

[x] I have pulled the latest changes in the repository
[x] I have squashed my commits
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

@shriya030 First one has to be kept, keep color of bar C4C4C4 and background EFEFEF

@shriya030 First one has to be kept, keep color of bar C4C4C4 and background EFEFEF

@DeepanshiD done!

@shriya030 Looks perfect!
CC @vaishali614

@shriya030 Looks perfect!
CC @vaishali614

Will this be merged?
It is closed by you so I thought!

@shriya030 Looks perfect!
CC @vaishali614

Will this be merged?
It is closed by you so I thought!

Apologies. It was closed by mistake. Changes look good.

@shriya030 Looks perfect!
CC @vaishali614

Will this be merged?
It is closed by you so I thought!

Apologies. It was closed by mistake. Changes look good.
Your fork isn't even with upstream. Please pull the latest changes and update your PR.

Check now @vaishali614


Improve vim CoC autocompletion

feat: drop (currently) unneeded CoC plugins
feat: copy settings from neoclide/coc.nvim
style: be consistent

Further improvements will be done in a follow-up PR.


Add support for RAiDER tropo layers

Addresses Issue #334
Implemented end-to-end support for RAiDER tropo layers in a version 1c GUNW product. This includes setting and passing the appropriate dictionary and product layer keys, as well as interpolating and intersecting the tropo layers with a DEM.
Note a couple of caveats:

Unlike the geometry layers, height level information is not readily transparent through the metadata. So for the time-being, I've made some assumptions based off of this RAiDER discussion: https://github.com/dbekaert/RAiDER/discussions/444. See lines 721-731 in extractProduct.py. Again, I understand this is not completely appropriate, so I'd like to touch bases with the team on this to set the correct values. Furthermore, the regular grid interpolator used here does not allow for descending height values, so I have to flip the input array vertically before interpolation.
The program runs end-to-end now without issue and generates interpolated/intersected outputs with the expected dimensions and spatial extents. However, the outputs appear strange -- looks like clearly something went wrong with the interpolation. I assume it may be related to the above assumptions that were made.
Below from left to right: amplitude, troposphereWet,troposphereHydrostatic

Replicate test:
Using a test product from @bbuzz31 , the following was my commandline input:
ariaExtract.py -l 'amplitude,troposphereWet,troposphereHydrostatic' -nt 10 -f "products/S1*.nc" -d Download -of ISCE -w test

Following our convos, I've located the appropriate height levels variable within the netcdf and made changes accordingly: https://github.com/aria-tools/ARIA-tools/blob/sss_raidersup/tools/ARIAtools/extractProduct.py#L629-#L645
Note from this height field, I realized the heights were already in ascending order, so I reverted the tweak I made to flip the tropo layers.

@dbekaert @bbuzz31 @g up on the discussion here, I have created an end-to-end beta routine set_beta.py to compute SET in the form of downsampled ENU cubes for each of the 4 metadata height level.
The LOS conversion is then performed for each corresponding height level, such that we compute a coarse cube containing LOS estimates of SET at each height level.
As a sanity check to vet the quality of the layers, I've implemented a function at the end to interpolate/intersect the cube with the DEM as we do for the other geometric layers.
Note the following:

Input filenames and output directories are hardcoded at the end of set_beta.py, in case you wish to test independently.
Code inspired in part by GUNW code in RAiDER and SET notebook through mintpy.

Below are results and comparisons with UNW phase across two different study areas. Note though that I've intentionally used different scales between SET and UNW phase:
California descending track 71
UNW phase:

SET coarse cube at one height level:

SET interpolated field:

Nepal ascending track 85
UNW phase:

SET interpolated field:

Great work @sssangha . Would it be possible to split the tropo layer corrections / SET corrections into different PRs? Hard to understand what is going with what

@bbuzz31 yeah, I'm going to migrate the SET workflow to a separate repo. However here it is just isolated to one separate, new script 'set_beta.py'. All other changes to the main ARIA scripts involve tropo related updates + circleci patches.

Change to organization and structure of total troposphere (plus other components when specified).
Specifically, now the weather model itself is tracked such that tropo products are extracted into respective subdirectories, e.g.:
(ARIA-tools) [ssangha@trappist test_output_raider]$ ls
azimuthAngle    coherence            DEM             lookAngle          productBoundingBox  troposphereHydrostatic  troposphereWet  user_bbox.json
bPerpendicular  connectedComponents  incidenceAngle  metadatalyr_plots  stack               troposphereTotal        unwrappedPhase
(ARIA-tools) [ssangha@trappist test_output_raider]$ ls tropo*/*
troposphereHydrostatic/HRES:
20200130_20200112  20200130_20200112.aux.xml  20200130_20200112.hdr  20200130_20200112.vrt  20200130_20200118  20200130_20200118.aux.xml  20200130_20200118.hdr  20200130_20200118.vrt

troposphereTotal/HRES:
20200130_20200112  20200130_20200112.aux.xml  20200130_20200112.hdr  20200130_20200112.vrt  20200130_20200118  20200130_20200118.aux.xml  20200130_20200118.hdr  20200130_20200118.vrt

troposphereWet/HRES:
20200130_20200112  20200130_20200112.aux.xml  20200130_20200112.hdr  20200130_20200112.vrt  20200130_20200118  20200130_20200118.aux.xml  20200130_20200118.hdr  20200130_20200118.vrt

For TS analysis or stack visualization, separate VRTs reflecting this structure are deposited within the stack subdirectory as so e.g.:
(ARIA-tools) [ssangha@trappist test_output_raider]$ cd stack/
(ARIA-tools) [ssangha@trappist stack]$ ls
cohStack.vrt  connCompStack.vrt  troposphereHydrostatic  troposphereTotal  troposphereWet  unwrapStack.vrt
(ARIA-tools) [ssangha@trappist stack]$ ls tropo*/*
troposphereHydrostatic/HRESStack.vrt  troposphereTotal/HRESStack.vrt  troposphereWet/HRESStack.vrt
(ARIA-tools) [ssangha@trappist stack]$ head tropo*/*
==> troposphereHydrostatic/HRESStack.vrt <==
<VRTDataset rasterXSize="3625" rasterYSize="2359">
        <SRS>GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]</SRS>
        <GeoTransform>-119.2725,0.000833333333333238,-0.0,34.945,-0.0,-0.000833333333333362</GeoTransform>

          <VRTRasterBand dataType="Float32" band="1">
        <SimpleSource>
            <SourceFilename relativeToVRT="1">../../troposphereHydrostatic/HRES/20200130_20200112.vrt</SourceFilename>
            <SourceBand>1</SourceBand>
            <SourceProperties RasterXSize="3625" RasterYSize="2359"
                DataType="Float32"/>

==> troposphereTotal/HRESStack.vrt <==
<VRTDataset rasterXSize="3625" rasterYSize="2359">
        <SRS>GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]</SRS>
        <GeoTransform>-119.2725,0.000833333333333238,-0.0,34.945,-0.0,-0.000833333333333362</GeoTransform>

          <VRTRasterBand dataType="Float32" band="1">
        <SimpleSource>
            <SourceFilename relativeToVRT="1">../../troposphereTotal/HRES/20200130_20200112.vrt</SourceFilename>
            <SourceBand>1</SourceBand>
            <SourceProperties RasterXSize="3625" RasterYSize="2359"
                DataType="Float32"/>

==> troposphereWet/HRESStack.vrt <==
<VRTDataset rasterXSize="3625" rasterYSize="2359">
        <SRS>GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]</SRS>
        <GeoTransform>-119.2725,0.000833333333333238,-0.0,34.945,-0.0,-0.000833333333333362</GeoTransform>

          <VRTRasterBand dataType="Float32" band="1">
        <SimpleSource>
            <SourceFilename relativeToVRT="1">../../troposphereWet/HRES/20200130_20200112.vrt</SourceFilename>
            <SourceBand>1</SourceBand>
            <SourceProperties RasterXSize="3625" RasterYSize="2359"
                DataType="Float32"/>

Also @mgovorcin , note that I reverted some of the logic you introduced in generate_stack because we expect/force there to be a one-to-one match between layer keys and output subdirectories such that there shouldn't be a need to query with re tools or so. If I'm mistaken by your intention here though, then please let me know and we'll iterate. Thanks!


PHP Warning for make-pot command: Empty needle for strpos()

I've noticed a PHP warning being raised when running the make-pot command:
Warning: strpos(): Empty needle in phar:///.../wp/vendor/wp-cli/i18n-command/src/IterableCodeExtractor.php on line 175
PHP Warning:  strpos(): Empty needle in phar:///.../wp/vendor/wp-cli/i18n-command/src/IterableCodeExtractor.php on line 175

You can see this from a Travis build of the AMP plugin as well: https://travis-ci.org/ampproject/amp-wp/jobs/467674548#L355-L380

Never ran into this, but it should be an easy fix.
Code in question:
https://github.com/wp-cli/i18n-command/blob/0723170f3201b50bc276a80411b3f84a627d6038/src/IterableCodeExtractor.php#L171-L180
Seems like the following command was run on Travis:
wp i18n make-pot . languages/amp-js.pot --include="*.js" --file-comment="*/null/*"

@westonruter Out of curiosity, why does the plugin still use make-pot and pot-to-php? Just for WP 4.9 + Gutenberg compatibility? Because with WordPress 5.0 it shouldn't be needed anymore.

@swissspidy Good question.  The plugin is using make-pot because it hasn't been updated since the last time you changed it in https://github.com/ampproject/amp-wp/pull/1427 😄 You can see that is where you added the above --file-comment.


Caesar Cipher Algorithm - Cryptography

🚀 Feature
(A clear and concise description of what the feature is.)
Have you read the Contributing Guidelines on Pull Requests?
Carsar Cipher is one of most basic techniques to encode and decode a message
Motivation
As a part of the other amazing Algorithms in core programming languages , would like to add Cryptography to this .
Pitch
Cryptography is a rising need and a bit of insight through this platform will help people modify and implement in various security settings.
Assignees

Java: @parjanyaacoder
Python: @SayaniG371
C++:@Jyotika999
C:
GO: @ankitaggarwal23

Would like to contribute in python as a part of HakinCodes 2020

I would like to work on this issue in Java.

I have assigned the Issue in Java to @parjanyaacoder and in Python to @SayaniG371

Can i work on this in c++?

I would like to work on this issue in C.

@Jyotika999 please get started with C++.
All the best, keep coding.

@ankitaggarwal23, get started with C.
All the best, keep coding.

Bro @Abhijit2505  you assigned me on C and you updated there in GO kindly correct it.

i would like to work upon this in python please assign me


Takes 10 seconds to display a message already on my phone

After the update for many messages it takes 10 seconds until the text of the message appears.
I click on the message and the header lines with date and folder name appear. Only after 10 seconds the actual text block is shown.
Switching from landscape to portrait mode or back clears screen again and it takes 10 seconds anew until I can see the text.
Samsung A310F Android 7.0, Kernel 3.10.61-11350514

Hello @stoecker, could you please elaborate as to why you closed this issue?

Because it no longer is an issue.

That's nice, @stoecker. What fixed it? Because the issue certainly still exists for me. Have you asked @jimimaseye?

One of the updates inbetween. Didn't have this issue in the last months although nothing else changed, so I consider it fixed. If you still have this problem you should either reopen the ticket and supply additional information or open a new ticket.

I cannot reopen the ticket. And I don't have additional information. You are the one with the additional information, unfortunately.


Update for CMS 1.0

@AustinGreen, PR is now ready to review/merge. We'll update the template button link at https://www.netlifycms.org/docs/start-with-a-template/ to point to this repo when this PR is merged.
This PR adds a JS build system for the CMS JS and preview templates for the editable pages and blog posts.

[x] Add Netlify CMS as a dependency (in the stub package.json found in the cms folder)
[x] Add netlify.toml to make netlify use npm run build instead of gatsby build so the CMS JS is built on deploy.
[x] Add a build system for the CMS JS
[x] Create CMS previews

[x] About page
[x] Products page
[x] Blog posts

[x] Extract page templates to react-only shared components to reduce preview duplication

[x] About page
[x] Products page
[x] Blog posts

[ ] ~Create editable home page~

[ ] ~Gatsby page~
[ ] ~CMS config definition~
[ ] ~Preview component~

Awesome, will take a look soon.

Love the new look of 1.0, really appreciate you getting this up to speed


a few readme fixes

though there's still some work to do, this should make the README closer to being actually executable code. it appears to have lagged behind a bit, and is now out-of-date.
I'll raise a separate issue for the Node require failures.

I think that linting commit that adds spaces is undoing the style we usually use.

@benediamond Thanks again for this PR. I've actually incorporated some of your suggested fixes into PR https://github.com/digitalbazaar/vc-js/pull/22 (and altered some others), so feel free to close this one.

No problem, thanks.


Admin Settings: Refactor meta tag information

Problem statement
The pipeline team would like to remove the "meta" JSON field from any Settings API, after moving it's content to the top level of the response. Currently, the response looks like this
{
    "name": "abbott",
    "description": "Abbott",
    "jurisdiction": "FEDERAL",
    "stateCode": null,
    "countyName": null,
    "filters": [],
    "version": 1,
    "createdBy"<EMAIL_ADDRESS>    "createdAt": "2021-12-23T15:21:36.449662Z",
    "meta": {
        "version": 1,
        "createdBy"<EMAIL_ADDRESS>        "createdAt": "2021-12-23T15:21:36.449662Z"
    }
}

Once we refactor the front end to pull "version", "createdBy" and "createdAt" from the top level of the response, pipeline will then remove "meta" entirely.
What you need to know
"Meta" data is primarily used in DisplayMeta.tsx, and in the version control checks within AdminOrgEdit, EditSenderSettings and EditReceiverSettings (in each page's ShowCompareConfirm and SaveXyzData methods)
Acceptance criteria

[ ] Site will function normally with the "meta" JSON field removed from the API response

Relates to
#4325

Per our convo in Sprint Planning, @sethdarragile6 recommends to hold off on this for now.

Finally retested locally with a fresh environment, and was not able to reproduce the weirdness I was initially seeing (which, for the record, was that the new top-level meta information was not updating with the (soon to be legacy) meta tag info. Long story short- this ticket should not be open for business! @HeatherRienks @bgantick @mreifman


add support for linting json files

Verified the changes by creating invalid .json file in src and importing it via index.js
{
    some: 'setting'
}

Before:

After:

@Timer seems like this PR doesn't trigger @react-scripts-dangerous, any reasons why?

It hasn't ran in a few days, I might of shut it off on Heroku -- I'm not sure what's up 🤔.
Will probably look at it here soon again because it needs to be working to cut next releases.

@gaearon @Timer @tharakawj will this be merged?

I do like this; we'll schedule it for 2.0.0 just in case there's some weird edge case that breaks JSON in the plugin.


Boolean query parameter with allowEmptyValue responds 400 insisting on =true

Description
A Boolean query parameter with allowEmptyValue: true does not allow an empty (i.e. ?param) value; instead returning 400 Boolean expected.
Expected behaviour
/api/blah?allowedEmptyBooleanParam should work
Actual behaviour
{
	"detail": "Wrong type, expected 'boolean' for query parameter 'allowedEmptyBooleanParam'",
	"status": 400,
	"title": "Bad Request",
	"type": "about:blank"
}

Steps to reproduce
    allowedEmptyBooleanParam:
      name: allowedEmptyBooleanParam
      in: query
      schema:
        type: boolean
        default: false
      allowEmptyValue: true

Additional info:
Output of the commands:

python --version Python 3.10.4
pip show connexion | grep "^Version\:" Version: 2.13.0

Hi @OJFord , thanks for the report.
What would be the resulting value of this parameter in the view function? The spec doesn't seem to be very clear on that:

Note: nullable is not the same as an optional parameter or an empty-valued parameter. nullable means the parameter value can be null. Specific implementations may choose to map an absent or empty-valued parameter to null, but strictly speaking these are not the same thing. Source

In addition, it seems that the behaviour was never very clear and it is now even "NOT RECOMMENDED". (https://github.com/OAI/OpenAPI-Specification/issues/1573)
So, I would either:

label this as "won't fix"
pass the parameter value of None

How does that sound to you?

Hm, thanks for that link. My own interpretation and attempted use was the 'name-only' use described there, that an option was false if omitted and true if ?specified (but no value). I thought this was pretty standard/common.
I suppose no need to do anything until/unless it's refined or 'recommended' again in OAS 4.0.

Agree with a "won't fix" based on that thread.


Implement SaveConfig() functionality

client.SaveConfig() is implemented go-nitro . I would prefer the SaveConfig invoked and results handled inside the provider code instead of an external shell script.

Hi, see the discussion in #6 to see why this is hard

Sorry, I add further comments to #6.


Switch unable to evaluate output from Get-Content using an empty file

Steps to reproduce
When loading an empty file into PowerShell using the Get-Content command, the returned object is a null-valued expression.
This makes it impossible to correctly evaluate against a switch statement.
Content of emptyFile.json:

NOTE: This must be a completely empty file. Any characters or whitespace changes the behaviour.

Example 1
PowerShell Code:
$fileContent = (Get-Content ./emptyFile.json)
switch ( $fileContent )
{
    $null
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

Output:

In this example, we see that the switch statement fails to evaluate $fileContent, providing no output. This means the switch statement is also failing to return the default case.
Example 2
PowerShell Code:
$fileContent = ((Get-Content ./emptyFile.json) ?? "")
switch ( $fileContent )
{
    $null
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

Output:
Value is not null

In this example, the null-coalescing operator correctly identifies that the output of Get-Content ./emptyFile.json to null, replacing the value with an empty string, resulting in the response Value is not null.
Example 3
PowerShell Code:
$fileContent = ((Get-Content ./emptyFile.json) ?? $null)
switch ( $fileContent )
{
    $null
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

Output:
Value is null

In this example, the null-coalescing operator correctly identifies that the output of Get-Content ./emptyFile.json to null, replacing the value with $null, resulting in the response Value is null.
This shows that although switch can evaluate a null value, the null-valued expression returned by Get-Content ./emptyFile.json doesn't get evaluated but also doesn't generate any errors.
Additional context
In our case we are actually using the ConvertFrom-Json function to convert the content of the file (expected to be valid JSON) into an object.
We have also noted the following:
# Command:
Get-Content ./emptyFile.json | ConvertFrom-Json
# Response (none):
#

# Command:
$null | ConvertFrom-Json
# Response:
# ConvertFrom-Json: Cannot bind argument to parameter 'InputObject' because it is null.

# Command:
"" | ConvertFrom-Json
# Response (none):
#

# Command:
(Get-Content ./emptyFile.json).GetType()
# Response:
# InvalidOperation: You cannot call a method on a null-valued expression.

As you can see, despite the output of Get-Content ./emptyFile.json being a null-valued expression, this doesn't cause the ConvertFrom-Json function to throw an error. This in turn also means the output is the parsed to the switch statement as a null-valued expression, but switch appears not to be able to evaluate this input, unlike a standard if statement.
Expected behaviour
Expected behaviour is for Get-Content to return either a properly initialized $null or empty string value as the response when successfully loading an empty file.
Actual behaviour
Get-Content returns a null-valued expression when parsing an empty file.
Environment data

Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

This is by design. You can force the use of an array by using the array sub-expression @()
$fileContent = @((Get-Content ./emptyFile.json) ?? $null)
switch ( $fileContent )
{
    $null
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

#output

Value is null

switch ( $fileContent -eq $null )
{
    $true
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

switch ( $fileContent -eq $null )
{
    $true
    {
        'Value is null'
    }
    default
    {
        'Value is not null'
    }
}

Thank you for your response @237dmitry. Unfortunately in our case we need to evaluate the content of $fileContent so evaluating the result of the evaluation within the switch will not meet our needs. My examples above are highly simplified to illustrate the issue we're facing.

Thank you for your response @powercode.
Please can you explain what you mean by:

This is by design. You can force the use of an array by using the array sub-expression @()

I'm struggling to understand why a file with no content returns an object type which is inconsistent with when the file has content, and why this would be by design? This would be like making an empty string, not a string? Or have I misunderstood something?
Also, what is the purpose of forcing the use of an array? If I remove the null-coalescing operator (which I already know resolves the issue without the array), I still get the same outcome as without the array?

Some (hopefully clarifying) notes:
First, the switch statement is an iterator (i.e. a loop). For example:
switch (1,2,3,4) { {$_ % 2} {"odd"} default {"even"}}

returns odd,even,odd,even.
Second, Get-Content emptyfile.txt returns "" not $null so do:
{master}PSCore (1:35) >  switch (gc emptyfile.json) { "" {"empty"} default {"default"}}
empty

Now if you actually pass null. it works as expected:
{master}PSCore (1:37) >  switch ($null) { $null {"null"} default {"default"}}
null

Finally. if somewhat orthogonally. switch has a -file parameter that lets you iterate through the lines of a file:
switch -file c:\temp\empty.txt { "" {"empty"} default {"default"}}

so you don't actually need to call Get-Content.

To add to the existing comments:
This comes down to the distinction between bona fide $null and the situationally equivalent [System.Management.Automation.Internal.AutomationNull]::Value singleton, which is used behind the scenes to represent the case when a PowerShell command (cmdlet, function, script, script block) returns no output (which is most easily created with & { }).

In expression contexts, $null and this special singleton are considered equal:

$null -eq [System.Management.Automation.Internal.AutomationNull]::Value returns $true

In enumeration contexts - notably in a pipeline and also in a switch statement, these values behave differently: $null is enumerated - as itself, whereas [System.Management.Automation.Internal.AutomationNull]::Value is not; that is, it behaves like an empty collection in this context:

$null | ForEach-Object { 'hi, mom' } -> hi, mom
& {} | ForEach-Object { 'why won''t anybody call me?' } -> no output, because the script block is never invoked (the statement as a whole again "outputs" [System.Management.Automation.Internal.AutomationNull]::Value

Without all this - undocumented - background information, I'm not surprised at all that questions arose for you.
For that very reason, #13465 proposes implementing -is [AutomationNull] as a simple test to distinguish $null from [System.Management.Automation.Internal.AutomationNull]::Value.
A stopgap solution for detecting [System.Management.Automation.Internal.AutomationNull]::Value in, say, a variable $var is:
$null -eq $var -and $var -is [psobject]

Slightly less obscure:
$null -eq $var -and @($var).Count -eq 0

To clarify, @bpayette: Get-Content emptyfile.txt doesn't return "", it outputs "nothing", i.e. [System.Management.Automation.Internal.AutomationNull]::Value, which explains the switch behavior (it receives no input, and therefore doesn't evaluate its branches).
While you would expect that "" is returned when you use -Raw - i.e. asking for the entire file as a single string - surprisingly you get [System.Management.Automation.Internal.AutomationNull]::Value too - see #3911

Also, what is the purpose of forcing the use of an array?

Technically, you don't actually need to do that, (Get-Content ./empty.txt) ?? $null is enough.
In fact, that [System.Management.Automation.Internal.AutomationNull]::Value behaves like an empty array, causing switch to enumerate nothing, is the problem to begin with.
(Get-Content ./empty.txt) ?? $null is the equivalent of [System.Management.Automation.Internal.AutomationNull]::Value ?? $null and - somewhat ironically - it is the fact that [System.Management.Automation.Internal.AutomationNull]::Value is considered $null in this expression context that makes the expression return the actual $null.
And the actual $null - as a scalar of sorts - is processed by switch. That is, in terms of enumeration, $null behaves like @($null), i.e. a collection of size 1 whose only element is $null, and that element is evaluated against the switch branches; that's why the @(...) makes no difference in this scenario.

Final thoughts:

Because [System.Management.Automation.Internal.AutomationNull]::Value behaves like an empty collection, its .Count property value is 0, so 0 -eq $fileContent.Count tells you whether the file is empty.

If #3911 gets implemented, '' -eq $fileContent could be used after $fileContent = Get-Content -Raw ./emptyFile.json - note the test against the empty string rather than $null, because [string]-typed values in PowerShell are never $null (unless you use the [NullString]::Value singleton, which should be limited to .NET API calls).

What currently already works is to rely on PowerShell's implicit to-Boolean conversions; that is, with $fileContent filled either without or with -Raw, -not $fileContent indicates an empty file.
This works reliably, because any nonempty string is implicitly $true in a Boolean context, irrespective of the string's content.
There is pitfall with respect to how nonempty collections are interpreted as Booleans, however: something like [bool] @($null) is $false, because any single-element collection is unwrapped before converting, and [bool] $null is $false; multi-element collections, by contrast, are always $true, irrespective of the data type and values of their elements; e.g., [bool] ($null, $null) is $true.

 > New-Item empty.txt | Out-Null
 > (Get-Item empty.txt).Length
0

 > & {
  :     switch (${c:empty.txt})
  :     {
  :         $null   { 'null' }
  :         default { 'default' }
  :     }
  : }
null

 > '1' >> empty.txt
 > (Get-Item empty.txt).Length
3

 > & {
  :     switch (${c:empty.txt})
  :     {
  :         $null   { 'null' }
  :         default { 'default' }
  :     }
  : }
default

Instead of c: you can create PSDrive and use it's name. ${name:empty.txt}

Thanks, @237dmitry. It's certainly interesting that using namespace variable notation with files yields bona fide $null with an empty file, however:

Since ${c:empty.txt} is effectively the same as Get-Content c:empty.txt, it should instead return [System.Management.Automation.Internal.AutomationNull]::Value, as the latter does.

As useful as namespace notation is with drives such as Env (e.g., $env:HOME), with file-system drives it has severe limitations, which is probably why you rarely see it in the wild: no fully relative paths (need a least a drive spec), no support on Unix by default (no drive spec exists), no variable-based paths, no control over the encoding, [ and ] are invariably treated as wildcard metacharacters; see also:  https://github.com/PowerShell/PowerShell/issues/2268#issuecomment-283755725

Thank you all... some fascinating responses and amazing to better understand the behaviour we are observing.
So for now, my take away is to actually base our solution on my Example 2 above (as we need to be able to parse an empty file into ConvertFrom-Json which will fail with a $null input, and then process the individual object created from this as per the following:
$fileContent = ((Get-Content ./emptyFile.json) ?? "") | ConvertFrom-Json -AsHashTable
switch ( $fileContent )
{
    $_ <condition_1>
    {
      <process_condition_1>
    }
    $_ <condition_2>
    {
      <process_condition_2>
    }
    $_ <condition_3>
    {
      <process_condition_3>
    }
    default
    {
      <process_default_condition>
    }
}

However this still raises a question as to whether one of the "modes" of Get-Content should support returning an empty file as an empty string? Would anyone else find this useful? In my mind this should have been the behaviour of raw based on the documentation but it sounds like there may be reasons why the author of this function chose to return [System.Management.Automation.Internal.AutomationNull] in this scenario.

whether one of the "modes" of Get-Content should support returning an empty file as an empty string?

Yes, Get-Content -Raw should, as argued in #3911.

as we need to be able to parse an empty file into ConvertFrom-Json which will fail with a $null input,

Note that no actual $null is piped to ConvertFrom-Json, irrespective of whether you use
Get-Content ./emptyFile.json | ConvertFrom-Json -AsHashTable or Get-Content -Raw ./emptyFile.json | ConvertFrom-Json -AsHashTable, so both commands work - the latter is preferable, because it is much faster (with larger files) - but, since ConvertFrom-Json then receives no input (due to Get-Content "returning" [System.Management.Automation.Internal.AutomationNull]::Value), $fileContent too ends up as [System.Management.Automation.Internal.AutomationNull]::Value.
Therefore, if you do want to evaluate the result as a direct part of your switch statement, you indeed do need the ?? "" part, because only then does ConvertFrom-Json output an actual $null that you can process with switch.

Re-reading your previous comment:

which will fail with a $null input

Yes, $null as input to Convert-FromJson fails, whereas the empty string as input actually produces $null as output, which you can then process with switch.

Final thought, take 2:
A perhaps conceptually clearer approach to end up with a true $null, using -Raw for better performance (note that ConvertFrom-Json must collect all text input up front anyway):
$fileContent = (Get-Content -Raw ./emptyFile.json | ConvertFrom-Json -AsHashTable) ?? $null

If / when #3911 gets fixed, the ?? $null part will no longer be necessary (when combined with -Raw).

"mklement0" brought me to this idea:
$Segments | ForEach-Object { Get-Content $_ -Encoding 1252 | Add-Content "Video.ts" -Encoding 1252
This works only almost correctly because every '"CR" 0xD' is translated to "CR/LF"  '0xD/'0xA'.
Using "Add-Content" with "-NoNewline" removes every '0xD'.
Is there a convenient way to not translate a CR into Windows style?


Support auto-correction for Lint/DuplicateRequire

This PR supports auto-correction for Lint/DuplicateRequire.
The auto-correction is unsafe because it may break the dependency order of require.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Session keeps timing out

Background:
For the last four exercises in "Machine Learning with the Experts: School Budgets", Chapter "Improving your model", I cannot submit my answer because the session just keeps timing out. If I refresh the page, even before I hit submit answer, the console shows the following error:
Traceback (most recent call last):
File "", line 81, in
df = pd.read_csv('https://s3.amazonaws.com/assets.datacamp.com/production/course_2533/datasets/TrainingSetSample.csv', index_col=0)
File "", line 562, in parser_f
return _read(filepath_or_buffer, kwds)
File "", line 301, in _read
compression=kwds.get('compression', None))
File "", line 308, in get_filepath_or_buffer
req = _urlopen(str(filepath_or_buffer))
File "", line 163, in urlopen
return opener.open(url, data, timeout)
File "", line 466, in open
response = self._open(req, data)
File "", line 484, in _open
'_open', req)
File "", line 444, in _call_chain
result = func(*args)
File "", line 1297, in https_open
context=self._context, check_hostname=self._check_hostname)
File "", line 1256, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:645)>
Replicate:
I can confirm when inputting the accurate code to exercise: https://campus.datacamp.com/courses/machine-learning-with-the-experts-school-budgets/improving-your-model?ex=9
The system accepts the code, lets me know I've passed but when I check the outline of the course it resets back to looking as if I never submitted an answer for that exercise:

UID: 2341064
Zendesk: https://datacamp.zendesk.com/agent/tickets/109837

Confirmed by User this is now resolved


Chat template hangs itself when using LightMod .jar on Windows

I downloaded the Lightmod-1.0.1.jar file and ran it. Program starts up as expected,
using ~300Mb of RAM.
But when I created a project from the "chat" template and switched to its tab, LightMod is starting to use more and more RAM, roughly to the 2Gb mark. At that point the program became unresponsive and I had to kill it.
I started it again from the command line, and saw the following message being printed endlessly:
Exception in thread "JavaFX Application Thread" netscape.javascript.JSException: TypeError: undefined is not a function (evaluating 'd.endsWith("\n")')
        at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:137)
        at com.sun.webkit.dom.JSObject.callImpl(Native Method)
        at com.sun.webkit.dom.JSObject.call(JSObject.java:106)
        at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
        at lightmod.app$append_BANG_.invokeStatic(app.clj:141)
        at lightmod.app$append_BANG_.invoke(app.clj:136)
        at lightmod.app$init_server_logs_BANG_$fn__15445$fn__15447$fn__15448$fn__15449.invoke(app.clj:181)
        at clojure.lang.AFn.run(AFn.java:22)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
        at java.lang.Thread.run(Unknown Source)

[EDIT] Using the regular Windows .exe file works, but I'd prefer to use a way to use LightMod without the need to install it. (Ideally portable on a usb stick, with the .jar and a .bat and .sh file next to it.)

Interesting, if the exe works but the jar doesn't, then that suggests the difference may be in the version of Java being used. The exe is using JDK 9. If you have version 8, I'd suggest updating to see if that fixes it. I'll look into this issue more closely later, because I definitely would like it to work on 8 as well.

I just released 1.0.2 with a potential fix for the issue. Please try the jar version and let me know if it helps.

It works now, thanks a lot! 😃
If you don't mind, I have two questions (probably) unrelated to the issue:

I see the following warning in the command line when I start LightMod:
Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Is this something you care about? Should I create an issue for it?

LightMod is using ~1.8 GB of memory when I open up the chat project. Is this expected memory usage?

Great! I'll close the issue then. Regarding the warning, that is OK -- I get the same warning when I run Nightcode on Windows. Regarding memory usage, do you know if it is increasing over time? Lightmod is definitely memory intense, because it's running so many things internally (including the CLJS compiler, all your server side code, etc), but if it is continually increasing over a long period of time then it could be a memory leak.

Thanks for the info. I have not used it over longer periods of time yet, but for the amounts of time I used it it always hovered around the 1.8 GB mark.


Modify Doxygen / Breathe / Exhale workflow

use doxygen without exhale (memory problem with exhale)
still use breathe to allow to manually include doxygen definitions in sphinx .rst
link to sphinx for python and doxygen for c++
build  in ./build instead of ../../proteus-website

@cekees done for the copyright, the version on Doxygen was already updated but did not render on the pages because I did not regenerate the docs


Has the keymap <leader>uh been removed? How do I get the Inlay Hints feature?

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.4
Operating system/version
macos
Describe the bug
After updating my lazyVim locally, I noticed that the Inlay Hints feature is missing, and although the official documentation has a mapping to enable it, it doesn't work!

Steps To Reproduce

update LazyVIm
use mapping  <leader>uh

Expected Behavior
Inlay Hints function works fine
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

In the docs it says

-- Enable this to enable the builtin LSP inlay hints on Neovim >= 0.10.0
-- Be aware that you also will need to properly configure your LSP server to
-- provide the inlay hints.
inlay_hints = {
enabled = false,
},

You use Neovim 0.9.4, but inlay hints are natively available on Neovim >=0.10.0


Add unicodetype db, low level str functions and examples.

This adds:

The unicodetype_db.h file
Numba helper functions to access the contents of the
unicodetype database.
A lot of the low level string query functions, and stubs for
those not implemented.
Two implementations as examples of using the above:

Support for .upper()
Support for .isupper()

Tests for the examples

@seibert @sklam please see 8edeaa7 for requested license information updates for your approval. Thanks.

License updates look good.


Log rotation

I'm not quite sure how the Nginx logs get rotated.

I believe it's logrotate, configured via /etc/logrotate.d/nginx.


Unable to install version 3.0.0-preview3.4 NuGet package

Trying to install 3.0.0-preview3.4 in Visual Studio 2019 .NET Core 3.0 via NuGet package manager gives the following failed response:
PM> Install-Package IdentityServer4 -Version 3.0.0-preview3.4
Restoring packages for C:\Users\myale\Source\Repos\WebApplication13\WebApplication13\WebApplication13.csproj...

An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.AspNetCore.Authentication.OpenIdConnect'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='IdentityServer4.Storage'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.JsonWebTokens'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='IdentityServer4.Storage'&semVerLevel=2.0.0
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.JsonWebTokens'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Logging'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Logging'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Tokens'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Tokens'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='System.IdentityModel.Tokens.Jwt'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='System.IdentityModel.Tokens.Jwt'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.AspNetCore.Authentication.OpenIdConnect'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.AspNetCore.Authentication.OpenIdConnect'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='IdentityServer4.Storage'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='IdentityServer4.Storage'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.JsonWebTokens'&semVerLevel=2.0.0'.
The HTTP request to 'GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.JsonWebTokens'&semVerLevel=2.0.0' has timed out after 100000ms.
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.JsonWebTokens'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Tokens'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Tokens'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Logging'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='Microsoft.IdentityModel.Logging'&semVerLevel=2.0.0
Retrying 'FindPackagesByIdAsyncCore' for source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='System.IdentityModel.Tokens.Jwt'&semVerLevel=2.0.0'.
The HTTP request to 'GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='System.IdentityModel.Tokens.Jwt'&semVerLevel=2.0.0' has timed out after 100000ms.
GET http://nuget.agorapic.com/nuget/FindPackagesById()?id='System.IdentityModel.Tokens.Jwt'&semVerLevel=2.0.0
Install-Package : Failed to retrieve information about 'IdentityServer4.Storage' from remote source 'http://nuget.agorapic.com/nuget/FindPackagesById()?id='IdentityServer4.Storage'&semVerLevel=2.0.0'.
An error occurred while sending the request.
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:80
At line:1 char:1

Install-Package IdentityServer4 -Version 3.0.0-preview3.4

  + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
  + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Uhh, can you help dig a bit more into your problem?

Absolutely, what would you like me to try? It's a new install of VS 2019.

Can't repro
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="IdentityServer4" Version="3.0.0-preview3.4" />
  </ItemGroup>

</Project>

It looks like it was a corrupt NuGet config on my end. I deleted nuget.config and that fixed the issue.


Bulk update

Current coverage is 98.05%

Merging #29 into develop will increase coverage by +0.64% as of 71935cf

@@            develop     #29   diff @@
=======================================
  Files            45      53     +8
  Stmts          1276    1488   +212
  Branches          0       0
  Methods           0       0
=======================================
+ Hit            1243    1459   +216
  Partial           0       0
+ Missed           33      29     -4

Review entire Coverage Diff as of 71935cf

Powered by Codecov. Updated on successful CI builds.

Fixed the usage statement. Just one other question but it isn't an issue just a question so I am merging this.


Accessing Tables results in "Authentication error: undefined"

In Azure Storage Explorer, I am logged in with domain admin rights. I can access Blob Containers without any issues. When I try to access Tables, I get the error "Authentication error: undefined".
I have been able to access Tables without issues in the past. This is a recent error.
I am using Azure Storage Explorer 1.18.1

@Pierre450 do you have access to your storage account keys as well? You can check by:

click on the storage account node for the account you are having trouble with
go to the properties panel in the bottom left and look for 'Primary Key' or the 'Secondary Key' properties
click on the eye icon
check if the value there is a key and is the correct key for the storage account and then let us know

@MRayermannMSFT Thank you for your answer. I figured out the answer late last night. It turns out that the clock on my computer didn't adjust for daylight savings time. Once I changed the time on my computer, everything started working correctly again.


Issues with PostCSS

Describe the bug
When building the static content, PostCSS displays an error and doesn't build the CSS (even with the latest theme commit)
To Reproduce
run 'hugo'
Expected behavior
Builds the CSS
Environment

Hugo Version: 0.89.4
Eureka Version: 0.8.3 and 0.8.4

Additional context
The error:
Error: Error building site: POSTCSS: failed to transform "css/eureka.css" (text/css): Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/node' is not defined by "exports" in /home/brunomiguel/projectos/fibrohell/fibrohell.github.io/themes/eureka/node_modules/postcss/package.json
    at new NodeError (node:internal/errors:371:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:429:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:683:3)
    at resolveExports (node:internal/modules/cjs/loader:482:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/brunomiguel/projectos/fibrohell/fibrohell.github.io/themes/eureka/node_modules/tailwindcss/lib/util/processPlugins.js:12:36) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

It was an issue with a globally installed npm module. It's fixed now

I have a similar issue. If it's not related sorry for necrobumping, then will make another issue.
So, while trying to build static site the following error arise:
Error: Error building site: POSTCSS: failed to transform "css/eureka.css" (text/css): resource "css/project1/css/eureka.css_fc3f76d7bee2760c3a903059afc3d9b2" not found in file cache
I've found that if  baseURL is set to "/", then everything works as expected; if it is set to "https://user.github.io/project1" then the build fails and displays the above error.
Tried npm i -g postcss-cli autoprefixer locally as well as a GitHub workflow in actions but neither worked.
What else could be done?


Update reservation for maintenance document to include compute alpha version support details

Submission Checklist
NOTE: Community submissions can take up to 2 weeks to be reviewed.
Please take the following actions before submitting this pull request.

Fork your PR branch from the Toolkit "develop" branch (not main)
Test all changes with pre-commit in a local branch #
Confirm that "make tests" passes all tests
Add or modify unit tests to cover code changes
Ensure that unit test coverage remains above 80%
Update all applicable documentation
Follow Cluster Toolkit Contribution guidelines #

LGTM, please rebase to avoid terraform-readme caused noise.


Get rid of ThreadsX?

We can speed up loading of InferOpt by replacing ThreadsX with built-in threads:
res = ThreadsX.map(f(i) for i in 1:n)

would become
f1 = f(1)
res = Vector{typeof(f1)}(undef, n)
res[1] = f1
@threads for i in 2:n
    res[i] = f(i)
end

Downsides:

less readable code
performance hit due to the first element: complexity 1 + (n-1)/t instead of n/t for t threads

Upsides:

less dependencies, faster loading of InferOpt
improved type stability?

Also beware that @threads sometimes introduces type instabilities due to boxing
https://github.com/JuliaLang/julia/issues/41731


Add a promo banner for 29th March 2017

Shame we’re using a ' instead of a ’ but hey ho.

@robinwhittleton PR at https://github.com/alphagov/frontend/pull/1202 ;)


Update to latest on Synology - Grafana docker container restarting in a loop

Looks like permission problems unexpectedly.

This is similar to the problem that I saw on WSL in #129 - I never worked out what caused this, and a couple of re-boots of the host ended up sorting it out.

A few things to try:

Check your compose.env file - it should have a setting for the grafana user.  You should change it to the local user (try id or echo $UID to see your current user):

GRAFANAUSER="1000:1000"

If the above is wrong, you will need to chown -R the ./grafana folder to the right user.  If easier, you can delete and rebuild the grafana folder (then follow setup instructions):

docker stop grafana
docker rm grafana
rm -fr grafana
mkdir grafana
./compose-dash.sh up -d

That's great news!  Good job.
Did you happen to discover what went wrong?  If so, let us know so we can add that to the project or documentation to help others.


Adhere to the EFF's Do Not Track policy for allowing people to opt out of tracking

https://www.eff.org/dnt-policy

I'm unsure of how we'd implement this but +1 on the general idea for sure!

I'm unsure of how we'd implement this but +1 on the general idea for sure! Could we give people the option of adding a ".notrack" file to the repo?

This is in control of the operator of the binder (us), and not the people building the repositories.
We just make sure we don't load google analytics or whatever we use if DNT is set, and we're good.

This is deployed now. We'll respect both adblockers and the 'DNT' header. This will make our stats collection inaccurate, but that's ok :)
Keeping this open since we don't actually have the policy available at the URL they recommend.

so what is there left to do on this?

I'm guessing making a copy of dnt-policy.txt from site linked above. Modified if there are deltas from the doc.

We should add tracking to the docs as well, though Alabaster does not respect dnt (it just load GA).
I've sent a PR to the main repo to load GA conditionally.
Also GA is deprecated in favor of Google Analytics. Wow they could not have named the new version better.

So the remaining steps on this one are:

[ ] Copy the text from the EFF DNT policy (https://github.com/EFForg/dnt-policy/blob/master/dnt-policy-1.0.txt) into the mybinder.org-deploy repo
[ ] Confirm that we can copy the policy verbatim and still adhere to it
[ ] Create a privacy section in docs.mybinder.org and link to the EFF text file in the deploy repo.

Anything else? @yuvipanda mind if I add that list (or whatever we agree on) to top-level comment?

yeah, that sounds good. (2) is the hardest part, since we wanna be rock
solid sure we do adhere!
On Mon, Feb 12, 2018 at 12:29 PM, Chris Holdgraf<EMAIL_ADDRESS>wrote:

So the remaining steps on this one are:

Copy the text from the EFF DNT policy (https://github.com/EFForg/
dnt-policy/blob/master/dnt-policy-1.0.txt
https://github.com/EFForg/dnt-policy/blob/master/dnt-policy-1.0.txt)
into the mybinder.org-deploy repo
Confirm that we can copy the policy verbatim and still adhere to it
Create a privacy section in docs.mybinder.org and link to the EFF
text file in the deploy repo.

Anything else? @yuvipanda https://github.com/yuvipanda mind if I add
that list (or whatever we agree on) to top-level comment?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/issues/39#issuecomment-365051840,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23irrFiIdwGrCA018UzDnRc1_BISlks5tUJ8cgaJpZM4NquCB
.

--
Yuvi Panda T
http://yuvi.in/blog


[REQUEST] Support exodus time series

How would you improve meshio?
It would be nice to be able to read time series exodus files. I was interested in this comment
https://github.com/nschloe/meshio/blob/0138cc8692b806b44b32d344f7961e8370121ff7/src/meshio/exodus/_exodus.py#L136-L139
seems to imply that it might be possible? I would be happy to try attempt this given some guidance.
What problem does it solved for you?
With MOOSE becoming more popular for multiphysics simulation, meshio could be a nice way to get the data into python.

Duplicate of #381.


Add info about a non-deletable store.

LGTM, although we might want to wait for #106 to be merged and use the word "erasable".

FYI we renamed "delete" to "erase" in #106.

Updated change to include @clbarnes comment and pushed to core-protocol-v3.0-dev.

https://github.com/zarr-developers/zarr-specs/commit/803e6d7c8c4647db65b566c0418b4392031bce32


[leader election] master should't give up it's leadership easily

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
feature request
What happened:
There is leader election in doorman server, which is achieved by etcd. Set a key with delay ttl and continually refresh it every 1/3 delay interval.
when leader is down, this etcd key will expire. And then new leader is elected.
see the source code:
	go func() {
		for {
			log.V(2).Infof("trying to become master at %v", e.lock)
			if _, err := kapi.Set(ctx, e.lock, id, &client.SetOptions{
				TTL:       e.delay,
				PrevExist: client.PrevNoExist,
			}); err != nil {
				log.V(2).Infof("failed becoming the master, retrying in %v: %v", e.delay, err)
				time.Sleep(e.delay)
				continue
			}
			e.isMaster <- true
			log.V(2).Info("Became master at %v as %v.", e.lock, id)
			for {
				time.Sleep(e.delay / 3)
				log.V(2).Infof("Renewing mastership lease at %v as %v", e.lock, id)
				_, err := kapi.Set(ctx, e.lock, id, &client.SetOptions{
					TTL:       e.delay,
					PrevExist: client.PrevExist,
					PrevValue: id,
				})

				if err != nil {
					log.V(2).Info("lost mastership")
					e.isMaster <- false
					break
				}
			}
		}
	}()

when master fail to renew lease because some temp reasons, for example network jitter, it just loses leadership easily. But actually, if the master try again, it will renew lease successfully.
This problem will resulting in unnecessary learning mode and it takes time to converge.
What you expected to happen or what your proposal is:
I think we shold add retry mechanism when renew lease. If it fails twice or other retry-counts, then lose its leadership.

@ryszard @josvisser


Add option to show all columns of the report

Will this also include the 'Invite date' for the "tbx member list" export from Dropbox for Business?

Thank you for the feedback. I'll make sure the column invited_on is included in the report with this enhancement.


config-linux: Update links to cgroups documentation

With 34a9304a (Merge branch 'for-4.5' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup, 2016-01-13),
Linux restructured their cgroups documentation.  This updated all of
our Documentation/cgroups references to match the new layout, using
reference-style links which let us collect link label definitions
at the bottom of the file.  That makes the spec source easier to read
(no distracting URLs in the middle of a sentence) and makes the URLs
easier to update (only one place to check / fix).
This builds on #298, so that PR should land first.

I just pushed a722d32 → 01e5ed1 fixing a cgroups-devices → cgroup-v1-devices label.

Pushed 01e5ed1 → 22e2e3b now that #298 has landed.

Pushed 22e2e3b → 1b0056c fixing the wrong URL for cgroup-v2.

LGTM

LGTM


0.1.1

@devmrfitz please next time remember to pull from correctly from the develop branch cause there were merge issues with your package-lock.json


Modpack won't open.

I downloaded the modpack on Curseforge and tried to launch it, but it just won't work. It kept saying "Exit code 0", so I tried adding more ram and redownloading it, but nothing's working. I'm really sad about this, because it looks like a really cool modpack.
latest.log
Any idea why it won't work?

Try to use the latest Java 8.

Also, thanks your playing!

still will not launch modpack even with latest JDK and Java 8
https://pastebin.com/TwdqicM3

still will not launch modpack even with latest JDK and Java 8
https://pastebin.com/TwdqicM3

Is it a private paste? I cannot open it.

still will not launch modpack even with latest JDK and Java 8
https://pastebin.com/TwdqicM3

Open the Control Panel and find "Language and region" and unselect anything with “beta”, that might be helpful.

I'm having the same issue (Java 8 291) using both MultiMC and Curse.
8 GB RAM allocated
Ryzen 7 3700X
GTX 1660 TI
Link to my pastebin: https://paste.ee/p/ebbVJ

I'm having the same issue (Java 8 291) using both MultiMC and Curse.
8 GB RAM allocated
Ryzen 7 3700X
GTX 1660 TI
Link to my pastebin: https://paste.ee/p/ebbVJ

Try to reinstall it, It seems like your forge wasn't installed correctly.

That didn't help.
Neither on Curse or MultiMC.

That didn't help.
Neither on Curse or MultiMC.

I see, I'll try to fix it later. Thanks everyone!

you have a corrupt forge on the modpack, I just copied the config, mod and script folders from your modpack into a new installation and installed forge 36.1.4 and had no issue running the modpack from the new installation.  You will need to update your forge on the modpack to correct this issue.

I updated my modpack, please have a try. If it still cannot open, I have no idea to fix it. :-(

https://pastebin.com/qX4i0eu6
still same issue hopefully this link works

I think I know what the problem is: Your pack is using a non-standard "!" for its title [！] which is causing major issues for those who are trying to play the pack. This is a character issue, and you need to rename the pack and push a new update out with that. I strongly suggest you rename and republish without that exclamation mark. @liuseniubi
Mentioned because I identified the problem and the solution.

I think I know what the problem is: Your pack is using a non-standard "!" for its title [！] which is causing major issues for those who are trying to play the pack. This is a character issue, and you need to rename the pack and push a new update out with that. I strongly suggest you rename and republish without that exclamation mark. @liuseniubi
Mentioned because I identified the problem and the solution.

WOW! AWESOME! THANKS A LOT!

No problem, glad to be of help. After further testing, that was indeed the problem; renaming the directory SOLVED the problem.

For everyone in this issue:
Sorry for everyone, I'm Chinese and we use [！] instead of [!], and that was the problem.
My team are all students, so we don't have enough spare time to update this modpack. But we are constructing a brand new developing way in the early age to replace the Exnihilo mod (Because we think it's too boring, all you have to do is sieveing things until you created a cobblestone generator.).

No problem, glad to be of help. After further testing, that was indeed the problem; renaming the directory SOLVED the problem.

Could you please test it again, I've fixed it. Thanks in advance.

No problem, glad to be of help. After further testing, that was indeed the problem; renaming the directory SOLVED the problem.

Could you please test it again, I've fixed it. Thanks in advance.

Sure thing, let me download a fresh instance from the CF website, will let you know if you fixed it.

I can tell immediately by the renaming of the pack that the fix will definitely work for everyone else here. Thank you for implementing the fix so quickly.

I can tell immediately by the renaming of the pack that the fix will definitely work for everyone else here. Thank you for implementing the fix so quickly.

Thanks again! It's time to close that annoying issue.


No Owner column on Permit Type table

Learning Path:  2
Lab: 2
Task: 1.5
Step: 7
Description of issue
The Permit Type table was created as an Organizational Owned table and does not have an owner field.
The step says "Add Require Inspections and Require Size columns to the form between Name and Owner."
The step should say "Add Require Inspections and Require Size columns to the form below Name"
The screenshot needs to be updated to not show the Owner

I face the same issues


Modified the definition of the time delay.

I modified the definition of the pump-probe time-delay in ARTED part.
While the conventional definition is the delay between the peaks of the envelopes, SAMON defines it as the delay of the pulse heads. It would be better to use the conventional definition, and thus, I fixed it.
Once this patch is merged, I would like to ask @mn2007 san to fix the GCEED part to fit the conventional definition.

I understand the situation, @shunsuke-sato san. I don't have a plan to use the pump-probe function at the moment, so I'll follow your definition after this PR is merged. I think it is better to merge this PR by other people. But if no one checks this PR, I'll check and merge.

Thank you @shunsuke-sato and @mn2007 san for developing and reviewing.
I will also review it for the effect to ARTED part later.

Thank you for implementation, @shunsuke-sato san, I will confirm this pull request.

@mn2007 san and @uemoto1 san, thank you for your quick review.


May I?

I'd like to have my profile on ghuser.io, thanks!

here you go :) https://ghuser.io/robocyber


Add activity feed API

Added activity API

Current dependencies on/for this PR:

main

PR #1   👈

This stack of pull requests is managed by Graphite.


hazelcast-member logs: error message shows number of killed members

After  I started many members and kill them all. Even there is no live member process, i'm getting Error: Ambiguous command: 5 Hazelcast members when i try to run command: hazelcast-member logs
▶ hazelcast-member logs
Error: Ambiguous command: 5 Hazelcast members
▶ jps
321
5187 Jps
727 RemoteMavenServer

see https://github.com/hazelcast/hazelcast-member-tool/issues/2


Stuck on ssb-1 Q4.1

Hi, when I execute ssb.sql on Byconity, It stucks and not return

the dataset is ssb with sf 1, the sqls befor Q4.1 are all successful

byconity-tiger:latest server
cluster deployment:

A 1 write_worker
B tso & dm & 1 read_worker
C 1 server & rm & cli
FDBcluster : ABC
hdfs : remote server

hi @JiangXiNJU, did you enable optimizer by adding setting enable_optimizer=1 ?

I tested this query with the setting enable_optimizer=1, it is working for latest master. Remember to enable when running join.
35 rows in set. Elapsed: 0.620 sec.

Oh, yes ! it works !


replace DibApi.* code

The license status of the DibApi.* code is not clear, so we should probably replace it.
I have discovered that wxWidgets has a Microsoft-specific wxDIB class, but its comments state it only supports 24bpp and 32bpp.  CB often uses 16bpp (RGB565), so wxDIB does not work for us.  I have not discussed extending wxDIB to support RGB565 with the wxWidgets team, but I expect they would accept submissions supporting it if we want to go that route.
BUT:
I haven't looked deeply into non-Win32 graphics systems, but I have the impression that the DIB concept does not have a clear equivalent in other systems.  Therefore, I'm not very enthusiastic about going down the wxDIB path.
After a little testing, I think conversions between DDB and DIB don't happen very often, so the replacement code doesn't need to be very performant.  My next line of investigation will be to see if wxImage, which is wxWidget's platform independent image format, can be used as a replacement for DIB.
On the other hand, the concern I have is how well wxWidgets supports palettes.  If it doesn't, I might decide that, in the short term, the best thing to do will actually be to simply replace the DibApi code with private code.  I doubt tracking down and integrating a different graphics library is worth the effort for code that in the long term should probably be removed due to non-portability.

@DLLarson :  Can you point me to examples of .gbx that use palettes?

I can send you a few privately but the best way to see if a CB file only supports palette based colors is to attempt to load the file with the most mature version of CB 2.x which I've attached to this message. That archive also has a generic game example that uses palettes.
If it loads into CB2, it uses palettes. CB 3.0 is the version that changed to 16 bit bitmaps for its canonical device independent exchange (aka, DIB) type.
The huge tranche of games I "sent" you some time ago should have many that never upgraded to CB 3.x.
The historical source code (private) has the commits that changed away from using palettes. The commit that made the final switch from palettes was b578483.
-Dale
cyberboardv200.zip

I can send you a few privately but the best way to see if a CB file only supports palette based colors is to attempt to load the file with the most mature version of CB 2.x (which I've attached to this message.) That archive also has a generic game example that uses palettes.
If it loads into CB2, it uses palettes. CB 3.0 is the version that changed to 16 bit bitmaps for its canonical device independent bitmap (aka, DIB) format.
The huge tranche of games I "sent" you some time ago should have many that never upgraded to CB 3.x.

I expected that there would be some palette .gbxs in the test library, but I didn't how to readily distinguish them.  If file version 2.x is the distinguishing feature, then that should make it relatively easy to track some down.  Of course, if the attached .zip already has a palette .gbx, then that's even easier.

I did some digging in the wxWidgets source code and there is DIB support in the wxBMPHandler used by wxImage. It does support 16 bit pixels in the 5-6-5 format that CB uses. So I think that loading existing bitmap data should be good.
The question is should we use the DIB format for saving bitmaps going forward or change to something that wxWidgets prefers to use? I would lean toward the later if it ultimately makes things easier.

At this point, I have no specific opinion on the future save format.  I will keep in mind that changing it is a valid choice.
The lack of support I found was:
I took one of the CB CBitmap objects, read the HANDLE out of it, and initialized a wxBitmap with the HANDLE.  Then I tried a variety of wx APIs that save a file as a .bmp, and in each case Windows could not read the resulting .bmp.  At that point, I debugged the code some, and found that there was an assumption in the code that the data behind the handle in a wxDIB is a 24bpp.  It seems reasonable that wxWidgets could have code to read files in a variety of formats, but that it would always convert them to some canonical format that doesn't match bitmaps we are generating.  I can imagine writing some slightly more complicated code that would properly convert a CBitmap to a wxBitmap.
The palette issue feels more complicated to me, so I will probably try to handle the RGB565 issue first.

I took one of the CB CBitmap objects, read the HANDLE out of it, and initialized a wxBitmap with the HANDLE. Then I tried a variety of wx APIs that save a file as a .bmp, and in each case Windows could not read the resulting .bmp.

Is it possible I could get that trial code and give it a peek in the debugger?
I'm starting to look back at 250-ish pixel height limitation issue of Windoze owner draw list boxes now that wxWidgets is hooked in for access on virtual list boxes. So it's a good time to kick the proverbial wxWidgets bitmap handling tires.
-Dale

Is it possible I could get that trial code and give it a peek in the debugger?

I have pushed the experiment to https://github.com/wsu-cb/cbwindows.git in branch wxdib-experiment.

I was able to write code to convert at least one form of CBitmap to wxImage and then use wxImage::SaveFile() successfully.  You can see the code in https://github.com/wsu-cb/cbwindows.git in branch replace-dibapi.

Hi Bill,

I was able to write code to convert at least one form of CBitmap to wxImage and then use wxImage::SaveFile() successfully.

I see this. It's kind of brute force but I can certainly understand why you did it that way. It appears that the wxWidgets BMP handler explicitly removed referencing 16 bit/pixel support in file include/wx/imagbmp.h line 27.
I also found some historical info about 16 bit format 555 vs 565 (this is what CB uses) in general. I'm linking it in here so we don't lose relevant knowledge.
https://www.virtualdub.org/blog2/entry_177.html
I think more exploration is needed before we nail down the future bitmap storage format for CB. As a minimum it may make more sense to use PNG files for export rather than BMP's which are pretty bloated. Both formats are lossless.
I'm still digging into the runtime plumbing using your other test branch. By default CB writes out 24bit (rgb) DIB's since it's the most supported format in editors etc. But the CB DIB code also allows storing the bitmap in 16 bit/pixel 565 format. I tested that as well. Both versions of DIB output loads without error into various tools I tried.
We should entertain using 24bit bitmaps going forward (perhaps compressed using the PNG format). But I'm not sure how broadly the impact would be throughout CB's codebase. But we should keep the option in mind. I think it this day and age the 33% increase in uncompressed bitmaps should not be an issue.
We have more exploring to do...
-Dale

I think more exploration is needed before we nail down the future bitmap storage format for CB. As a minimum it may make more sense to use PNG files for export rather than BMP's which are pretty bloated. Both formats are lossless.

Are you referring to the Save Map as .BMP or the internal bitmaps in the .gbx?
If you are referring to the Save Map operation, then I'm pretty sure wxWidgets supports a good variety of file formats.  That wxImage::SaveFile() overload is documented to use the format corresponding to the file extension, so we might not need to do anything explicit ourselves except give the Save File dlg all the extensions we think are both useful and supported by wxWidgets.

We should entertain using 24bit bitmaps going forward (perhaps compressed using the PNG format). But I'm not sure how broadly the impact would be throughout CB's codebase. But we should keep the option in mind. I think it this day and age the 33% increase in uncompressed bitmaps should not be an issue.

If you are referring to the .gbx content rather than the Save Board as Bitmap command, then you already have the zlib compression applied to the bitmaps, so I assume we're already getting decent compression.
Also, assuming we are talking about .gbx internals, then my current idea of replacing DibApi.* with wxImage would automatically mean 24bpp graphics.  (wxImage is always either 24bpp or 32bpp.)

Hi Bill,
I've fixed the operation of two of your "trials". It's a bug/omission in wxWidgets wxDIB code. I've created a patch for our wxWidgets submodule checkout version. You can apply the patch while in the root of wxWidgets with the command git am < 0001-Add-16bit-565-bpp-support-to-wxDIB-Save.patch. Then just rerun your build.
0001-Add-16bit-565-bpp-support-to-wxDIB-Save.patch
I'm looking at fixing the other example whose problem is in the same source code. It assumes only 24 or 32 bpp exist. It's blindly copying 16bbp (2 bytes per pixel) data on top of a target 3 byte/pixel target area. It generates a weird image that viewers can open but it's clearly wrong.
The wxDIB stuff is pretty incomplete but these bugs are just from doing what was required for the original author and no more-IMHO anyway.
-Dale

Are you referring to the Save Map as .BMP or the internal bitmaps in the .gbx?

Both actually--but certainly for saving board images, etc. to the file system. Nobody likes messing with BMP files. For internal storage things are not nearly as clear but we should keep an open mind.
-Dale

I've fixed the operation of two of your "trials". It's a bug/omission in wxWidgets wxDIB code. I've created a patch for our wxWidgets submodule checkout version. You can apply the patch while in the root of wxWidgets with the command git am < 0001-Add-16bit-565-bpp-support-to-wxDIB-Save.patch. Then just rerun your build.
0001-Add-16bit-565-bpp-support-to-wxDIB-Save.patch
I'm looking at fixing the other example whose problem is in the same source code. It assumes only 24 or 32 bpp exist. It's blindly copying 16bbp (2 bytes per pixel) data on top of a target 3 byte/pixel target area. It generates a weird image that viewers can open but it's clearly wrong.
The wxDIB stuff is pretty incomplete but these bugs are just from doing what was required for the original author and no more-IMHO anyway.

As I said in https://github.com/CyberBoardPBEM/cbwindows/issues/121#issue-1878940331:  if we want to use wxDIB, I think the wxWidgets team would accept bug-fixes/enhancements.  However, wxDIB is Microsoft only, so I would prefer not to go down that path.

However, wxDIB is Microsoft only, so I would prefer not to go down that path.

I'm not suggesting that. I was just annoyed that the code was busted and I could see a fix. I would rather we did something more universal. I'm just not clear on the ramifications yet. For me the only way to gain confidence with wxWidgets is to dig in and see what issues we hit.
-Dale

We should entertain using 24bit bitmaps going forward (perhaps compressed using the PNG format). But I'm not sure how broadly the impact would be throughout CB's codebase. But we should keep the option in mind. I think it this day and age the 33% increase in uncompressed bitmaps should not be an issue.

I have been experimenting with using 24bbp, and I think I would call the impact significant, but not enormous.
I also experimented with saving my Space Empires.gbx in various formats.  It is 16MB at "Most Compression" in the existing RGB565 format.  Using 24bpp and PNG format, the .gbx is 22M.  Using 24bpp and BMP at "Most Compression", the .gbx is 19M.  It took approximately twice as long to save the .gbx in BMP/Most (23sec) as PNG (13sec).  However, a large portion of the time appears to be I/O, since the uncompressed BMP (size 139MB) actually took much longer (43sec)!  I am still using a laptop with a rotating drive, so that's probably contributing to slow I/O.  Also, since I was starting with an existing .gbx, the low bits of all the color channels are zero, which might not be representative of a .gbx containing newly-created tiles.
At the moment, I think I am inclined to store tiles using BMP+zlib rather than PNG since that produces at least competitive results without needing to change the user interface to remove the zlib compression control.

Hi Bill,

I also experimented with saving my Space Empires.gbx in various formats. It is 16MB at "Most Compression" in the existing RGB565 format.

That's a real nice test case.

I am still using a laptop with a rotating drive, so that's probably contributing to slow I/O. ... since the uncompressed BMP (size 139MB) actually took much longer (43sec)!

Yikes!
Time for an upgrade. ;) But it's also a good test case for the lower end impact. Historically, I've noticed that many board war gamers don't run the latest computer hardware. Not even close. They would rather spend their hard earned cash on more games.

Also, since I was starting with an existing .gbx, the low bits of all the color channels are zero, which might not be representative of a .gbx containing newly-created tiles.

True. With the lack of source detail the upscale would probably have lots of zero and one runs that compress well.

At the moment, I think I am inclined to store tiles using BMP+zlib rather than PNG since that produces at least competitive results without needing to change the user interface to remove the zlib compression control.

I'm fine with this. It's all working now and RGB565 is far from a dead format.
-Dale


Added findtext and xpath

I dont know why they werent already there so I added them.
Peace out

Guess i found out

I swear I'm not retarded, just tired

@dispread No sweat, please do it at your own pace. I'll check again tomorrow, in case you have additional commits related to this change.

@dispread  If these changes are all you intended to submit, then they are not needed. As I said before, if the methods don't exist in HtmlElement, the corresponding definition of findtext() and xpath() in its superclasses (etree._Element in this case) would be picked up.
Feel free to reopen this PR if you have other changes in mind.

@abelcheung
Just out of curiosity, what IDE are you testing this on? I am using Pycharm and it doesn't seem to recognize the inherited methods hence my commits. Even on my branch it defaults to showing the autogenerated stubs, which is better than original (no hint on inherited Html element methods).
Is there something I'm missing?
Thanks in advance 👍

I see. I'm using vscode with pylance extension, and everything just works automatically. If pycharm really needs a manual override of methods in order to show up, that could indicate either oversight of setting or a missing feature. Even in terms of pure stub itself (disregarding any IDE support), this manual override shouldn't be needed at all. Guess I need to spend some time to get #8 going then.

I can reproduce the problem you have faced with a default installation of Pycharm 2024.1. The autocompletion popup manages to show ElementBase.__init__() (The direct superclass of HtmlElement), but doesn't go beyond that.
This PyCharm issue seems to fit the description we are facing, but it's more than 7 years ago, and (still) in dead silence.
Will try to continue investigating later on, for now perhaps you can also try out if vscode works fine for you.


Want to add CODE_OF_CONDUCT.md and LICENSE to your repo

hey, your repo does not any code_of_conduct documentation and license, I want to add one, please assign me this under hacktoberfest

ok sure


Sensor should not reset on Home Assistant restart

Every time Home Assistant restarts, the sensors are set to 100%. Should remember their previous values.
See info here.

Simpler from openai:
When a sensor is restarted or reloaded, it needs to be able to restore its previous state. In order to do this, the sensor should not extend the RestoreEntity class because that class does not store the sensor's original value (known as the "native value"). Instead, the sensor should extend the RestoreSensor class and call the await self.async_get_last_sensor_data method from the async_added_to_hass function. This will allow the sensor to access the stored native value and unit of measurement, allowing it to restore its previous state.

Q answered on discord: https://discord.com/channels/330944238910963714/554842238073700352/1050715054036754523


version 8.0.0 is not working with typescript

Describe the bug
import { v4 as uuid } from 'uuid'
don't work in my project with typescript 3.8.3
Error
No valid exports main found for '/Users/Luigi/Documents/projects/test/node_modules/uuid
Runtime

macOS
Node.js versione 13.6

Node.js verison 13.6 is pretty old and not supported by UUID v8.x, upgrade to a later version of Node.js 13.x, or to Node.js 14.x.
see #428

Given that the current node LTS version is 12.16, I'm not sure it's fair to say that 13.6 is "pretty old"

@mattsains It's not old in human time (13.6 was released 2020-01-07) but it's old in the node-release cycle sense.  It's eight minor releases behind the latest v13 release.  It's also old in the overall sense that odd-numbered releases are only supported for six months, and v13 will be EOL'ed at the end of this month.

What I intended to say was what @broofa explained: you should not expect library authors to support experimental APIs of outdated versions of non-LTS releases of Node.js. If you choose to run on non-LTS then at least make sure to upgrade to the latest available Node.js version before bothering library authors.


InstagrafeedFeed don't working

Hello Everyone, I notice some issues through in this week. Images don't load on any .js files (jquery or without jquery). The cause, probably, come from instagram and your repeatedly updates.
Can u guys check?
Thx!

Wow, everyone is back up and running at this point - including the page with the demos.

If you only need a very basic solution without messing with the API, you can try profilepageimages.usecuec.com. We kept it very basic and use the new Instagram API so you don't have to. Otherwise, just stick around until this thing is working again.

This tool is not working in (my) Firefox. Firefox blocks almost all functionality because of its native anti-tracking rules and so do all ad-blockers. I hope and expect this 'blocking' to increase over time. Apart from the fact that this tool (already) does not work for a substantial part of the internet, it also tricks its visitors into the mass surveillance system Facebook has created. Finally, the image retrieval from Facebook slows websites down and makes them violate the law in the EU. I think you should warn people for that... What do you think?

This tool is not working in (my) Firefox. Firefox blocks almost all functionality because of its native anti-tracking rules and so do all ad-blockers. I hope and expect this 'blocking' to increase over time. Apart from the fact that this tool (already) does not work for a substantial part of the internet, it also tricks its visitors into the mass surveillance system Facebook has created. Finally, the image retrieval from Facebook slows websites down and makes them violate the law in the EU. I think you should warn people for that... What do you think?

This is usually because you've been banned. Should happen less times with the 2.0.1 release as of we have implemented client-side caching in #54.


Look into increasing middleware compatibility

I set off to do this by creating an interface that would allow S4 middleware to be used inside Kitura. However, after completion I found that using S4 middleware will be inconsistent in Kitura when that middleware manipulates the response.
This is because in S4 middleware, the chain first allows middlewares to manipulate the request then at the end, loops around and goes back up the chain for response manipulation. Kitura is more straightforward in that the request and response can be manipulated in the same time.
The other issue is that the response buffer in Kitura is hidden preventing it from being easily copied to an S4 response.
Overall while some S4 middleware works with the interface, there are these structural differences that prevents all middleware from working as expected. Because of this, we decided to not publish the interface at this time.