HBASE-27526 NettyHBaseSaslRpcServerHandler.channelRead0 forget to record "AUTH_FAILED_FOR" auditlog for an exception.

HBASE-27526 In other methods such as SimpleServerRpcConnection.saslReadAndProcess, they always record "AUTH_FAILED_FOR" for an exception, and "AUTH_SUCCESSFUL_FOR" after task is completed.
  private void saslReadAndProcess(ByteBuff saslToken) throws IOException, InterruptedException {
    ......
      } catch (IOException e) {
        ......
        // attempting user could be null
        RpcServer.AUDITLOG.warn("{}{}: {}", RpcServer.AUTH_FAILED_FOR, clientIP,
          saslServer.getAttemptingUser());
        throw e;
      }
      ......
      if (saslServer.isComplete()) {
        ......
        RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);
        ......
      }
    }
  }

but NettyHBaseSaslRpcServerHandler.channelRead0 only record "AUTH_SUCCESSFUL_FOR" in finishSaslNegotiation, and just throw Exception without record "AUTH_FAILED_FOR:
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
      ......
      if (saslServer.isComplete()) {
        conn.finishSaslNegotiation();
        ......
      }
  }

void finishSaslNegotiation() throws IOException {
    ......
    RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);
  }

So I think an exceptionCaught should be called here:
 public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
    LOG.error("Error when doing SASL handshade, provider={}", conn.provider, cause);
    Throwable sendToClient = HBaseSaslRpcServer.unwrap(cause);
    doResponse(ctx, SaslStatus.ERROR, null, sendToClient.getClass().getName(),
      sendToClient.getLocalizedMessage());
    rpcServer.metrics.authenticationFailure();
    String clientIP = this.toString();
    // attempting user could be null
    RpcServer.AUDITLOG.warn("{}{}: {}", RpcServer.AUTH_FAILED_FOR, clientIP,
      conn.saslServer != null ? conn.saslServer.getAttemptingUser() : "Unknown");
    NettyFutureUtils.safeClose(ctx);
  }

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
5m  8s
Docker mode activated.

The exceptionCaught should be called by the netty framework?

The exceptionCaught should be called by the netty framework?

Thanks for your reply!
I see, I' ll close the pr.


SQL Server: BulkMerge with Uniques

Is it possible to perform a BulkMerge with existing data and avoid merging duplicate records? if so can you please post a sample?
Thanks

Hi @mhesham93 , no, it is not possible, it is either of "inserting a new record" or "updating an existing record" based on the qualifier.

Thanks Michael, so if I’m importing data from a file and then I re-import the file to update the records do I use update instead of merge to avoid this problem?
Thank you,
Mohamed Said

From: Michael Camara Pendon @.>
Sent: Thursday, April 22, 2021 4:08:40 PM
To: mikependon/RepoDB @.>
Cc: mhesham93 @.>; Mention @.>
Subject: Re: [mikependon/RepoDB] SQL Server: BulkMerge with Uniques (#816)
Hi @mhesham93https://github.com/mhesham93 , no, it is not possible, it is either of "inserting a new record" or "updating an existing record" based on the qualifier.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mikependon/RepoDB/issues/816#issuecomment-825150904, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACK2O3DXMFHTJQMWKSATX73TKB64RANCNFSM43LVZBKQ.


Updating to 1.4.1103-4

Ended up having a hotfix so the new version is 1.4.1103-4

Woops - missed this and just merged the same change - sorry! haha

Woops - missed this and just merged the same change - sorry! haha


Enhanced requests

To avoid nginx-ingress POD OOMKilling when simply uncommenting controller requests, I propose to increase theses values since POD usage is around 70 MB when geoip is enable. Which is the case by default.
Furthermore, we enabling HPA with 50% as targetMemoryUtilizationPercentage, I think 150Mi is a reasonable value to avoid scaling to reaching MaxReplicas.

/check-cla

/cc davidkarlsen


Can't bootstrap on Linux 19.10 64 bits.

Describe the bug
Can´t bootstrap on Linux
Environment

OS: Linux Ubuntu 19.10 64bits
Compiler: g++-9

To Reproduce
Steps to reproduce the behavior:

Clone the latest repository git clone https://github.com/microsoft/vcpkg
cd vckpg
./bootstrap-vcpkg.sh
Build failed.

Expected behavior
Bootstratp vckpg
Failure logs
./bootstrap-vcpkg.sh
-- The CXX compiler identification is GNU 9.2.1
-- Check for working CXX compiler: /usr/bin/g++-9
-- Check for working CXX compiler: /usr/bin/g++-9 - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting the C++ standard library
-- Detecting the C++ standard library - libstdc++
-- Detecting how to use the C++ filesystem library
-- Detecting how to use the C++ filesystem library - <filesystem>
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/eiffel/vcpkg/toolsrc/build.rel
[0/2] Re-checking globbed directories...
[9/76] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o
FAILED: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o
/usr/bin/g++-9  -DVCPKG_DISABLE_METRICS=0 -DVCPKG_USE_STD_FILESYSTEM=1 -I../include -O3 -DNDEBUG   -pthread -std=c++17 -MD -MT CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o -MF CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o.d -o CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o -c ../src/vcpkg/base/files.cpp
In file included from /usr/include/x86_64-linux-gnu/sys/stat.h:446,
                 from ../src/vcpkg/base/files.cpp:13:
/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/bits/statx.h:38:25: error: missing binary operator before token "("
   38 | #if __glibc_has_include ("__linux__/stat.h")
      |                         ^
[14/76] Building CXX object CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o
ninja: build stopped: subcommand failed.

Hi @jvelilla
Thanks for posting this issue.
Seems like something with gcc.
Could you please help confirm if you have installed glibc-2.31 on your machine?
You may refer to this to learn more about this.

@NancyLi1013
Hi, I confirm I´ve glibc-2.31 on my machine.
I will check the link to learn more about this.

Just for info updating Ubuntu installation fix the issue.
Before the update I had GCC version
GCC version:

$ gcc --version
gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

After the update,  GCC Version
gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@jvelilla
Thanks for your above info.
I'm closing this issue for now since you have solved this problem.


Incorrect current_temperature value in the new boiler device

Version of the custom_component
0.9.0

Describe the bug
Device was split in two as expected, all values show properly including the actual set temperature of the water boiler, however the current_temperature does not show real value but the same value as the set value. Also when changing the set value of the climate entity it appears as it did not work  and stays on previous value (due to delay on the API I believe). Reloading the integration speeds up this and correct value is shown immediately.
Not sure what was the driver to separate the device but I find the new setup with two climate entities a little more impractical, given the limited control over water heating I believe a simple toggle for HWB and a number entity would be sufficient and less confusing instead of whole climate entity which by nature has way more options then needed.

Hey @janchlebek.

current_temperature does not show real value but the same value as the set value

You caught my shortcut there 😅 Unfortunately, my boiler doesn't have a water temperature sensor, so I had an option of either showing nothing, or pretending the expected temperature is what current temperature is. I went with the later.
If I manage to get an API response for a boiler with water temperature sensor, I'll gladly fix that bug and expose the real current water temperature.

when changing the set value of the climate entity it appears as it did not work and stays on previous value (due to delay on the API I believe).

I'm aware of this and I'll use #21 to track it. I'll have to dig around a bit for HA best practices on this, as it should be a problem most cloud polling integrations face.

I find the new setup with two climate entities a little more impractical

Thank you for the feedback, I really appreciate it. Separating the boiler from the thermostat made it much easier for me to wrap my head around it and I'd encourage you to try it out a bit before making a final judgement on this change 😄

You caught my shortcut there 😅 Unfortunately, my boiler doesn't have a water temperature sensor, so I had an option of either showing nothing, or pretending the expected temperature is what current temperature is. I went with the later.

😇

If I manage to get an API response for a boiler with water temperature sensor, I'll gladly fix that bug and expose the real current water temperature.

let's see if you can find something in the API.

I'm aware of this and I'll use #21 to track it. I'll have to dig around a bit for HA best practices on this, as it should be a problem most cloud polling integrations face.

I just noticed it only happens with the HW climate entity, the main one for heating does not behave like this and the change in UI is instant.

Thank you for the feedback, I really appreciate it. Separating the boiler from the thermostat made it much easier for me to wrap my head around it and I'd encourage you to try it out a bit before making a final judgement on this change 😄

Of course I will give it a go - my opinion is based on the fact that hot water temperature is something that you normally set to a given value and typically never change - basically the only thing needed here in most cases is the HWB activation to override scheduling, especially while the climate entity does not read the real water temperature so it cannot react to actual status (like thermostat). Hence the whole climate entity seems a little too much for that (of course it will do the job as well). 😉
Anyway, don't take the above as complaints, love the integration and big thanks to you for keeping it alive! 😎

Also loving this integration.
I disagree with hot water temperature never change. to reduce gas consumption, I have use cases where I want the temperature to be different, so controllable from remote.
I assume that I have a temperature sensor to my external boiler, so if needed, I can test things out.

@MislavMandaric: I am reverting to my comment above: I understand and in fact like the idea of having the water heating separated from main heating. But having the HWB as a simple toggle was better in my opinion for the reason below, the mode setting of heating being now part of the water heater makes it a little hard:
The problem is that whenever using the new HWB mode setting on the water heater thermostat to (temporarily) override the scheduled water heating you have to first record the actual mode of the water heater in order to be able to put it back where it was.
For example now in winter typically the main thermostat is in Heating mode but in summer it is in hot water only mode. This means that automating HWB would be different in summer or winter since you need to know to which mode to set it when deactivating HWB.
In the Vaillant app HWB simply acts as an optional toggle on top of any existing mode and when turned of it switches back to previous mode automatically. This is now not really possible via with the new entity and makes the logic for automations more complex. Wouldn't it be possible to expose the HWB as a toggle (ON/OFF) like it was before and how it is designed in the app? Or do you have an idea how to work around this?

@MislavMandaric Further to https://github.com/MislavMandaric/home-assistant-vaillant-vsmart/issues/263 if you can provide me some guidence on any quick way I can check the API response on my boiler/system, I'll gladly experiment and see if the NTC tank temp is exposed.

You can try running the example.py from the library repo: https://github.com/MislavMandaric/vaillant-netatmo-api/blob/master/example.py
Just be sure to set all the environment variables from lines 13 to 18.

Just be sure to set all the environment variables from lines 13 to 18.

I ran the following:
pip install vaillant-netatmo-api
nano example.py

I pasted the example.py contents then added the following to the top, from my HA install:-
os.environ['CLIENT_ID'] = "na_client_android_vaillant"
os.environ['CLIENT_SECRET'] = "929a9xxxxxxxxxxxxxxxxx"
os.environ['USERNAME'] = "my email"
os.environ['PASSWORD'] = "my pass"
os.environ['USER_PREFIX'] = "vaillant"
os.environ['APP_VERSION'] = "<IP_ADDRESS>"

when running python3 example.py I get the following error message
Traceback (most recent call last):
  File "example.py", line 3, in <module>
    import asyncio
  File "/usr/lib/python3.8/asyncio/__init__.py", line 8, in <module>
    from .base_events import *
  File "/usr/lib/python3.8/asyncio/base_events.py", line 18, in <module>
    import concurrent.futures
  File "/usr/lib/python3.8/concurrent/futures/__init__.py", line 8, in <module>
    from concurrent.futures._base import (FIRST_COMPLETED,
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 7, in <module>
    import logging
  File "/usr/lib/python3.8/logging/__init__.py", line 26, in <module>
    import sys, os, time, io, re, traceback, warnings, weakref, collections.abc
  File "/usr/lib/python3.8/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.8/linecache.py", line 11, in <module>
    import tokenize
  File "/usr/lib/python3.8/tokenize.py", line 35, in <module>
    from token import EXACT_TOKEN_TYPES
ImportError: cannot import name 'EXACT_TOKEN_TYPES' from 'token' (/home/name/.local/lib/python3.8/site-packages/vaillant_netatmo_api/token.py)

What have I missed doing?

Unfortunately, the docs are misleading. The steps you followed, as written in the readme, are for integrating the library into a separate product, like this HA integration. The steps for cloning the library itself are missing, and I'll need to add those 😄
But for now, this is how you can run the mentioned example:

Clone the repo (follow steps defined in the Github documentation on how to clone a repo)
Run python -m venv venv from the root of the repo directory
Run . venv/bin/activate
Run pip install -r requirements-dev.txt
Create a new file called .env
Put the environment variables inside this new file in the form of NAME=value (ex. CLIENT_ID= na_client_android_vaillant), with one env var per line
Run ./example.py

You need to run those on your local machine, not on your HA instance. The instructions are for Linux or Mac.

But for now, this is how you can run the mentioned example:

Okay, installed as above and the output is three lines, which presumably is the token.access_token, token.refresh_token and measured.temperature from the vSmart room stat?
5cfbexxxxxxxxxxxxxxxxxxxxx|efc037xxxxxxxxxxxxxxxxxxxxx42da
5cfbexxxxxxxxxxxxxxxxxxxxx|1548fexxxxxxxxxxxxxxxxxxxxx86f6
20.7
What do I add in example.py to get the DHW/tank/NTC temperature ? I think it's code d.04 on the boiler so I can verify output against that.


document reset password of logged in user

Coverage remained the same at 92.068% when pulling 94a54139c1d549fea7d349e7bf5eb2cbcabc100c on reset_password into 691f579ca35322bd89d3d3e7ad3883040dbb97e1 on master.


missing log statement

For the logandcontinue there is not log statement. It should be publishing a log statement and ignoring it

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

@rahulbats Thank you for signing the Contributor License Agreement!

@rahulbats Thank you for the PR. Polished and merged upstream.


Completed activity

Checklist
Required changes:

[x] Center the description (Line 17 in HTML file) using a single change in CSS
[x] Fix JS so that when the search is executed, the search engine is not present in query
[x] Add Google Drive, Google Slides and Google Sheets as a provider

Optional changes:

[ ] Add other search providers (GitHub, Spotify, etc)
[ ] Additional CSS styling (as you like)

Site link:
https://aphievel.github.io/multisearch/

Good work, was looking for flexbox specific change in requirement but anything that works is good.


Governance Actions and DRep Metadata fix

List of changes

governance actions and DRep metadata fix
deployment workflows and scripts update

DRep registration with metadata: correct

Check if metadata shows in DRep Directory  correct

Edit DRep correct
Direct Voter  registration - does the transaction go through correct
Governance Actions submission:

 Both: Info i Treasury _correct_

 check if they appear in Gov Actions _info type - correct_  !treasury type not shown

Gov Actions submitted via GovTool should always pass validation (no data missing) correct
Gov Actions not created via GovTool could be getting validation errors (data missing, data formatted incorrectly etc) correct


Label Parts in locker

We need to create a quick organization system and label everything where it goes so it is very easy to clean up and know where everything is.

Thanks to @PaladinEng for bringing in the labeling tool. At Hack Day tonight we can begin organizing and labeling

It took awhile, but we have everything organized and labeled! Let's make sure not to let everyone's effort go to waste and keep it neat


Text/Image highlighting code in browser.js

From line 140 onwards in browser.js. It doesn't make much sense to have code for text/image highlighting in this file.

Maybe add 'highlights' to the historyMap.controller to include all the functions related to create the highlight nodes in historyMap.


Add 2 party approval process for releases

Description
Add 2 party approval process for releases. Makes sure releases are truly intended and go through multiple parties before being cut
Issues Resolved
Closes #691
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[x] All tests pass

[x] yarn lint
[x] yarn test-unit

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Why cant we use Githubs built in feature for this? https://docs.github.com/en/actions/managing-workflow-runs/reviewing-deployments

Why cant we use Githubs built in feature for this? https://docs.github.com/en/actions/managing-workflow-runs/reviewing-deployments

Org-wide approaches investigated here: https://github.com/opensearch-project/opensearch-build/issues/3111


Cemu: can't write in provided home path for "MLC Path"

Describe the bug
Running Cemu, I try to set a custom MLC Path (system dump) to $HOME/ROMS/WiiU/MLC Dump, but the application does not allow it, says path is read-only.
However, if I copy the same content to /var/home/duhow/.var/app/info.cemu.Cemu/data/Cemu/mcl01 (provided by flatpak app default path), it does work.
My home directory has chmod 775 / 664 , but it doesn't seem to do anything.
What did you expect to happen?
Allow setting other path.
Output of rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latest
                   Digest: sha256:0c779386100258771e5947e913348d072935e2683f8301ca5c256d4b8f44bbb0
                  Version: 39.20240116.0 (2024-02-20T17:03:54Z)
            LocalPackages: sunshine-0.21.0-1.x86_64
                Initramfs: '"-I /etc/crypttab /usr/lib/modprobe.d/nvidia.conf"'

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latest
                   Digest: sha256:48c4a0b0e2837e6e1317d889bd2886f964e6b0c396b35756a135ace5a3257135
                  Version: 39.20240116.0 (2024-02-19T07:26:50Z)
            LocalPackages: sunshine-0.21.0-1.x86_64
                Initramfs: '"-I /etc/crypttab /usr/lib/modprobe.d/nvidia.conf"'

Hardware
No response
Extra information or context
No response

Since this is a flatpak, have you whitelisted the path you want the ROMs stored at? We ship flatseal to make this easy.

Ok, enabling flatseal with option filesystem=home works :)


Since v0.6.9 climate can turn on but cannot turn off

Hi!
Climate can turn on without problem but turn off doesn't work. Started to happen on v0.6.9, downgraded back to v0.6.8 went back to normal.
Affected device:
zhimi.aircondition.va1

Upgraded back to v0.6.10 manually by copying the files into custom_components folder seems to be working again.


Text hidden in Header Title

Body hides text in Header Title and wraps text in Subtitle even though there is no content to the Right.
e.g.
<Header>
    <Left>
        <Button transparent onPress={RouterActions.pop}>
            <Icon name="arrow-back" />
        </Button>
    </Left>
    <Body>
        <Title>A Long Header Title</Title>
        <Subtitle>A Long Header Subtitle</Subtitle>
    </Body>
    <Right />
</Header>

renders to:

Removing the Right-tag results in that the Body is not centered:

Shouldn't the Right-tag and Left-tag only take up as much place as needed while the Body takes up as much as possible?
"native-base": "2.0.13",
"react": "15.4.2",
"react-native": "0.42.3",

Duplicate of #605 and #567.

Thanks! That solves it.


Remove prototype taxonomy task in Rummager

This was an initial spike by Finding Things to get early-state taxonomy
data into the search API for convenient retrieval. It is no longer needed
as the approach for taxon data has since changed.
Trello: https://trello.com/c/OYzkJzxZ

:+1: once green.


molecule schema validation doesnt recognize credentials field for docker registry

Issue Type

Bug report

Molecule and Ansible details
[root@b986aafc8d59 ~]# ansible --version && molecule --version
ansible [core 2.13.5]
  config file = /home/gitlab-runner/ansible.cfg
  configured module search path = ['/home/gitlab-runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.2 (default, Mar  3 2021, 09:23:36) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
  jinja version = 3.1.2
  libyaml = True
molecule 4.0.3 using python 3.9
    ansible:2.13.5
    delegated:4.0.3 from molecule
    docker:2.1.0 from molecule_docker requiring collections: community.docker>=3.0.2 ansible.posix>=1.4.0

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Detail any linters or test runners used:
Desired Behavior
A snippet of molecule.yml we use
dependency:
  name: galaxy
driver:
  name: docker
lint: |
        yamllint . && ansible-lint .
platforms:
  - name: httpd_test_instance
    image: middleware/centos-scl-httpd
    registry:
      url: docker.company.com
      credentials:
        username: foo
        password: baar
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    command: "/usr/sbin/init"
provisioner:
  name: ansible
....

Molecule.yml schema validation should recognize the credentials field and a molecule lint should not error out
Actual Behaviour
When i run molecule lint i get the below failure message
[root@b986aafc8d59 java]# molecule --debug lint
DEBUG    Validating schema /home/user1/roles/httpd/molecule/default/molecule.yml.
CRITICAL Failed to validate /home/user1/roles/httpd/molecule/default/molecule.yml

["Additional properties are not allowed ('credentials' was unexpected)"]

The issue is because the molecule.json here doesnt recognize credentials as a field nor does it allow additionalProperties
the registry.credentials is an allowed, if not expected, field in the cookiecutter create.yml in the molecule-docker as given here
Since we use a docker registry which doesnt have anonymous access, it is necessary for us to furnish the credentials. Even if this could be done by having a seperate create.yml it would mean a lot of work refactoring the roles and also we want to stick with the cookiecutter playbooks for molecule testings to keep ourselves up to date with the newest features.
Proposed fix
Add the credentials into the molecule schema so that it is recognized in the molecule.json
Or we could set the "additionalProperties": true, to allow these fields
Please let me know if there is any other details required or any help required in fixing this.

@avictor0826 is this fixed by https://github.com/ansible-community/molecule/commit/c04706c66a9f345473be31e40fde2085c8918452 ? :)

@mnaser that is exactly what i was hoping for.. thanks @TheLastProject  for the fix.. closing the issue.


PHOENIX-7474 Migrate IndexTool tables and make sure they are created

FYI @swaroopak @kadirozde
I provided some description on the ticket about this change and why it is needed https://issues.apache.org/jira/browse/PHOENIX-7474
Let me know if you have any questions.

@richardantal, the PR looks good to me overall. Thank you for fixing this issue. I will approve the PR after a successful build and test run (expect known test failures).

I see that these changes cause some test failures, I'll fix them soon.


Dockerfiles

Perhaps
-> dependency Dockerfile with big binaries, to be cached
-> light weight Dockerfile to be rebuilt each time on circle
More transparent Dockerfiles with all versions and stuff (readable)
(from live conversation)

Some of what we talked today was touched in #179

Slack: On git+ requirements
they could be kept in a requirements.txt file and read from it in the Dockerfile - we should just avoid having them listed in multiple places
[2:49 PM]
berleant +1 to having Dockerfile read requirements.txt
new messages
[2:53 PM]
oesteban that's one of the paramount use cases of a requirements.txt file, so I'm also +1

Nice breakdown of all the layers: https://microbadger.com/images/poldracklab/fmriprep

That is amazing


template struct

I'm just starting using shroud.  I tried to wrap a templated struct.
First, with class template it works as expected, for example
library: abc
declarations:
- decl: template<typename T> class Abc
  cxx_template:
    - instantiation: <float>

but if I try to use struct instead of class:
library: abc
options:
  wrap_struct_as: class
declarations:
- decl: template<typename T> struct Abc
  cxx_template:
    - instantiation: <float>

shroud gives error (regardless of what wrap_struct_as is set to):
RuntimeError: Parse Error
template<typename T> struct Abc
                     ^
Expected TYPE_SPECIFIER, found STRUCT 'struct'

Is there a workaround?
Thanks for this project, it will save me a lot of work.

It looks like a parse error.  class and struct are mostly interchangeable in C++. Shroud does make a distinction in how they're wrapped by default.  Assuming you're creating a Fortran wrapper, a struct creates a bind(C) derived type while a class creates a shadow class. The shadow class saves a pointer to the C++ instance. A templated struct may also require a few more changes since it would have to create multiple Fortran derived types with the template expanded. A struct in Python will create a NumPy type while a class creates a PyObject. The idea is that a struct's memory can be accessed directly in Fortran or Python. This, of course, assumes no virtual functions since that alters the memory layout and will not map to a bind(C) derived type.
There is an option wrap_struct_as. It defaults to struct but can be set to class to create a shadow class for a struct.
To help focus on your specific issue: A you wrapping Fortran or Python? Do you want to treat it as a derived/NumPy type or a shadow class/PyObject?

I'm wrapping Fortran and I use option wrap_struct_as: class as in the example above.
To bypass this error I modified shroud (without deep understanding how it works):
--- a/shroud/declast.py
+++ b/shroud/declast.py
@@ -793,7 +793,7 @@ class Parser(ExprParser):
         while self.token.typ != "GT":
             if self.have("TYPENAME"):
                 name = self.mustbe("ID").value
-            elif self.have("CLASS"):
+            elif self.have("CLASS") or self.have("STRUCT"):
                 name = self.mustbe("ID").value
             else:
                 name = self.mustbe("ID").value
@@ -804,6 +804,8 @@ class Parser(ExprParser):

         if self.token.typ == "CLASS":
             node.decl = self.class_statement()
+        elif self.token.typ == "STRUCT":
+            node.decl = self.struct_statement()
         else:
             self.update_namespace(node)
             node.decl = self.declaration()

Then it runs without error, but I haven't tested the output yet.

Thanks!


\PyTorch-YOLOv3

I have created a folder structure of:
PyTorch-YOLOv3/data/samples
and have 2 folders in it (TextView, ToogleButton) each having 10 images.
I am using the following command to run the code:
python detect.py  --dataset rico --weights_path result/run/rico/yolov3_ckpt.pth --image_folder data/samples/

python detect.py  --dataset rico --weights_path result/run/rico/yolov3_ckpt.pth --image_folder data/samples

But my len(dataloader) is continuously coming 0 and thus nothing is been processed, can you let me know what wong is done here.

Hi,
Do you create a file like val.txt that contains the path of train/test files?


Feature Request: Signal tockloader listen processes

In my experience any tockloader command will fail if another terminal has tockloader listen running. Therefore it would be nice if on any command, tockloader would signal all other tockloader processes, and if those were tockloader listen on the same port, they would release the serial port, wait for the signalling process to finish, and then resume listen. This would make tockloader work seamlessly with itself.
Note: I'm not actually sure what the best way to get tockloader processes to communicate is.

pid file? somewhere in the user's home directory? perhaps named by the serial port as well so it only interrupts processes referring to the same serial port?

Okay, so I spent entirely too long today trying to get this to work (headway in listen-ipc branch), and ended up failing.
The biggest reason I couldn't get this to work is that miniterm isn't designed to be killed by another thread. It's reads are blocking until there's some form of I/O and there's no way to cancel them prematurely without somehow injecting characters into stdin.
The next route I tried to go down was just killing off the process entirely, first by using execvp, but that meant that miniterm's atexit handlers didn't run and your terminal was corrupt. Next I tried some hackery around spawnvping a fresh copy and completely killing off the original process, but that didn't work either.
Despite sounding simple, this feature is proving non-trivial

Aha! Sorry to use github issue as a rubber duck, but the right combination seems to be manually calling miniterm's atexit handlers and then execvp'ing - seems to be working now, just need to clean it up


Reference documentation

Covers further details in addition to the API docs including usage example.

This ticket is only for an initial (and incomplete) version of the reference documentation. Further extensions will by tracked by separate tickets.


"Obect of Type'Interpret.InterpretedObject' doesn't match target type 'Xamarin.Forms.Xaml.IMarkupExtension'(TargetException)

I have followed the steps in the documentations in my Xamarin Forms app, as well as used the sample project.  I get this error every time.  If I step through the process after app initializes, the error is thrown when source is set.  Any suggestions?
Thanks,

https://docs.microsoft.com/en-us/xamarin/tools/live-player/limitations?tabs=android


missing cipher tests

Description

Type: Enhancement
Priority: Major
Missing in-place cipher tests both in cipher and in aes
In addition, AES-CTR  and AES-CFB modes tests are missing from the aes cipher tests.

Enhancement\Feature Request
Justification - why does the library need this feature?
Adding tests will avoid future possible issues
Suggested enhancement
Add CTR, CFB mode tests , and add in-place tests

ARM Internal Ref: IOTSSL-1726


Slight update to documentation

Remove John Doe from AboutUs
Slight update to DG
Replaced AB3 with CinnamonBun in UG

Codecov Report

Merging #27 (b3aa176) into master (ac74e24) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #27   +/-   ##
=========================================
  Coverage     70.19%   70.19%
  Complexity      415      415
=========================================
  Files            75       75
  Lines          1322     1322
  Branches        137      137
=========================================
  Hits            928      928
  Misses          351      351
  Partials         43       43

Continue to review full report at Codecov.

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


Enable Auth.JWTAuth.ServiceAccountRef.Namespace in kind SecretStore

Describe the solution you'd like
Describe the end goal of this proposal. What is this new functionality or the new behaviour (or what problem does it fix)?
I would like to deploy ESO as a service, like shown here
https://external-secrets.io/guides-multi-tenancy/#eso-as-a-service
In order to do so, I would need the SecretStore kind in namespace: foo to be ServiceAccount in the ESO's namespace: bar
currently this seems to not be possible because, as shown here https://github.com/external-secrets/external-secrets/blob/e65658d543a759b1d71f2774951f0d473d6201e2/apis/meta/v1/types.go#L36-L37 the namespace field is

Ignored if referent is not cluster-scoped.

so as SecretStore is namespaced, this field is ignored, and I believe this is proven by this if statement https://github.com/external-secrets/external-secrets/blob/8827e3ab92cdd87800f44d8f8bd995f0ea749476/pkg/provider/aws/auth/auth.go#L162-L164
which shows that the namespace is only set, if the kind is ClusterSecretStoreKind
and further proven by, when you try to use that field anyway like so
apiVersion: external-secrets.io/v1alpha1
kind: SecretStore
#~~~omitted
spec:
  provider:
    aws:
      service: SecretsManager
      region: us-east-2
      role: role-arn
      auth:
        jwt:
          serviceAccountRef:
            name: external-secrets
            namespace: kube-system

Any ExternalSecret that references the above SecretStore, gives this status
Status:
  Conditions:
    Last Transition Time:   2021-09-03T21:49:36Z
    Message:                unable to create session: ServiceAccount "external-secrets" not found
    Reason:                 SecretSyncedError
    Status:                 False
    Type:                   Ready
  Refresh Time:             2021-09-03T21:48:47Z
  Synced Resource Version:  2-2002c35b18294bb8b98d9388d1323a86

This is by design: A namespaced SecretStore should only be able to reference secrets, config-maps or service-accounts from the same namespace. If we give this up a user can easily escalate privileges by using SAs from other namespaces.
We have one proposal that allows a ClusterSecretStore to be scoped to a particular set of namespaces: https://github.com/external-secrets/external-secrets/issues/163#issuecomment-896049333
I'd suggest provisioning the service account into the correct namespace und use a SecretStore to reference it. If you share this service account across multiple i suggest using a ClusterSecretStore.
Would that work for your use-case?

This is by design: A namespaced SecretStore should only be able to reference secrets, config-maps or service-accounts from the same namespace. If we give this up a user can easily escalate privileges by using SAs from other namespaces.

then how would you propose using ESO as a service with AWS IRSA?

Would that work for your use-case?

I don't believe so. However, it could be me misunderstanding something on my part.
We have ESO in its own namespace, with its own service account and IAM role to assume other IAM roles, then we have developers creating their own secret stores, using their own specific IAM roles for the ESO to assume when gathering their secrets from AWS. Where this breaks is the serviceAccountRef as referenced above, as the namespaced secret stores can't reference the ESO service account.

@moolen  we are trying to replicate what I consider to be a perfect scenario for enterprises with the original kubernetes-external-secrets controller from GoDaddy. With that controller:

We deploy it to kube-system, having it auth to AWS using IRSA via ServiceAccount annotations.
We then allow token-file-web-identity (which is what it ends up using in Kubernetes) to use our application-specific pod IAM role, which has access to the secrets. In this way, the controller itself has no access to anything, it only has access to assume the roles which do.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::999999999:oidc-provider/oidc.eks.us-east-2.amazonaws.com/id/XXXXXXXXXXX"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "oidc.eks.us-east-2.amazonaws.com/id/XXXXXXXXXXXXXX:sub": "system:serviceaccount:test-whale:test-whale"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "AROAWCVBJZDDEKCNME2DM:token-file-web-identity"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

So the first block allows the application pod to assume the role, the second block allows the external-secrets controller to assume the role (to go get the secrets).

We then specify this on our ExternalSecret

spec:
    backendType: secretsManager
    data:
    - key: /test/302040/RDS_PASSWORD
      name: RDS_PASSWORD
    - key: /test/302040/RDS_USER
      name: RDS_USER
    region: us-east-2
    roleArn: arn:aws:iam::999999999:role/eks/role-eks-test-302040-whale-us-east-2

So I'm telling the controller to go assume that roleArn to grab the secret, which from step 2, you can see it will have access to do.
This is already providing "external-secrets as a service" via a controller using the GoDaddy variant; does this new variant not offer the same functionality? This link seems to imply it does: https://external-secrets.io/guides-multi-tenancy/#eso-as-a-service
We want to migrate to this new, more widely supported and feature-proofed variant, yet we don't see how that works in the current iteration.

Hey @dfallert-rcd  and @jbilliau-rcd

then how would you propose using ESO as a service with AWS IRSA?

Short answer: ESO itself should run with ZERO AWS permissions. And you create one service-account per namespace that is used in a SecretStore.
Long Answer: Usually we have one namespace per team (or application). This is our organisational, operational and security boundary. Every team (or app) has it's own area within secrets-manager and has only access to this particular area. This means that for each team (or app) you would need to create the following things:

an IAM Policy that allows access to a particular area to secrets-manager (e.g. by restricting by prefix, see example)
an IAM Role that can be used by a particular namespace/service-account using IRSA
the Kubernetes service-account with the well-known IRSA annotation
A SecretStore that uses the service-account from (3)

We have ESO in its own namespace, with its own service account and IAM role to assume other IAM roles
When using IRSA with the above mentioned set-up ESO runs with 0 AWS permissions (no IAM role, no need to assume other roles).

Thank you @jbilliau-rcd for more information about your set-up.
So, when you run ESO "privileged" (i.e. with AWS permissions through IRSA) and assume a role per team (or app) the secret is, that you don't specify the jwt.serviceAccountRef. Here a example:
When defining a SecretStore like this then ESO uses the ambient credentials provided through IRSA (because the service account token is mounted and specific env vars are set from the irsa-mutating-webhook). With these credentials ESO will do a assume-role to role team-b:
apiVersion: external-secrets.io/v1alpha1
kind: SecretStore
metadata:
  name: team-b-store
spec:
  provider:
    aws:
      service: SecretsManager
      region: eu-central-1
      role: team-b

I didn't triple check this example but it should work and if not this is a bug that will be fixed asap. We do not test this feature end-to-end as setting up the testbed is rather complex and costly, but this is on the roadmap.
As you can imagine privilege escalation is pretty easy with this approach, you can mitigate that with a policy tool like OPA/kyverno or don't allow a privileged role like that at all using the approach mentioned at the top.

Thanks for the quick response @moolen . @dfallert-rcd  is testing this now, getting rid of the jwt.serviceAccountRef block. It appears that the ESO controller now tries to assume our pod-specific IAM role via a role with a random "guid" at the end of it, so we are working on configured the trust policy of the pod-speicific IAM role to allow arn:aws:sts::99999999:assumed-role/fallert-dev-99999999-us-east-2-external-secrets/*, of which arn:aws:sts::99999999:assumed-role/fallert-dev-99999999-us-east-2-external-secrets is the actual IAM role.
When you describe steps 1-4 above, and talk about IAM roles/policies/k8 service accounts, are you referring to the resources used by the application pod, or the ESO pod? We already create one namespace per app, and that application has a ServiceAccount created for it that is annotated with an application specific role.
So every application has it's own namespace, IAM Role and ServiceAccount, all with the right permissions to access secrets and whatever else. At this point, we just want ESO to assume that already created/working IAM role to grab the secrets, which is, again, how the GoDaddy variant worked, and worked flawlessly. We'll keep you posted on @dfallert-rcd testing of your idea. Thanks!

Like @jbilliau-rcd stated above, ESO is appending a random string string of digits for the RoleSessionName.
After some investigation, I found that if a RoleSessionName is not provided, the AssumeRoleProvider will use a unix timestamp
Following that lead, I was lead to this repo's auth.go
if prov.Auth.JWTAuth or prov.Auth.SecretRef are not provided, it defaults to using this
https://github.com/external-secrets/external-secrets/blob/867006996753dbd4b96d2e8bf3e22c3d583fbcbc/pkg/provider/aws/auth/auth.go#L108-L111
namely, stscreds.NewCredentialsWithClient which doesn't support a RoleSessionName, and even states that the role  "will be named after a nanosecond timestamp of this operation"
I'm uncertain as to how to structure the IAM trust policy, to account for this randomly generated role name, without doing a blanket "*" allow for the principal.

From my experience in the past the session name usually isn't relevant for a IAM trust policy (we've always used different roles instead of specifying the session principal). You can specify the iam role instead of the specific assumed-role session principal, or do you really care about the principal?
I'm absolutely open to add a new field that allows a SecretStore to specify the session name.

In this case I care about the principal, as I only want the ESO's assumed role to have permission to assume the role specified in the SecretStore. I got it to work using a wildcard principal, and conditional on the aws:SourceArn  like so
{
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLikeIfExists": {
          "aws:SourceArn": "arn:aws:sts::999999999999:assumed-role/fallert-dev-999999999999-us-east-2-external-secrets/*"
        }
      }
}

But I'm not the biggest fan of that, and having a distinct RoleSessionName would be great.

I'm absolutely open to add a new field that allows a SecretStore to specify the session name.

Not only having a RoleSessionsName, but adding a field to make it customizable would be a huge win in my opinion, and would make building trust policies simpler, as you wouldn't necessarily need to build a conditional, you could instead do something like this
{
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:sts::999999999999:assumed-role/fallert-dev-999999999999-us-east-2-external-secrets/my-custom-session-name"
      },
      "Action": "sts:AssumeRole"
}

Agree, i support adding that!
To make it configurable i think we can easily add a field here, add an option here and specify a RoleSessionName with options (aws docs) (plus tests 😉).
Do you feel confident to contribute that? If not can take it, but i can't guarantee when it will be finished.

@moolen I can go ahead and open a PR for @dfallert-rcd request

@moolen So digging into the issue a bit I don't believe any code change is needed (at least for what @dfallert-rcd was talking about above). The RoleSessionName that was causing an issue was in the base config that is generated by the AWS SDK.
This can be resolved by setting the AWS_ROLE_SESSION_NAME environment variable in the ESO container. For example with the Helm chart:
extraEnv:
- name: AWS_ROLE_SESSION_NAME
  value: my-session-name

Setting it here: https://github.com/external-secrets/external-secrets/blob/280964f84ea5584c4d336f8e02f8447592f7a337/pkg/provider/aws/auth/auth.go#L110
Like so:
sess.Config.WithCredentials(stscreds.NewCredentialsWithClient(stsclient, prov.Role, func(provider *stscreds.AssumeRoleProvider){
    provider.RoleSessionName = prov.RoleSessionName
}))

Will set the subsequent session name when that role is used to retrieve a value from Parameter Store/Secrets Manager. So for example if you set the new proposed value of RoleSessionName to banana:

I am not exactly sure on the usefulness of that (at least off the top of my head) but if that is still something you think could potentially be valuable to someone in the future I can continue on with the PR.

For anyone else that comes across this, the specifics of what the fix was we just passed in the AWS_ROLE_SESSION_NAME via the helm chart env block to be "token-file-web-identity", which matches what the GoDaddy kubernetes-secret controller used. Thus, migrating from that one to this one now seems trivial and painless. Score!

I am not exactly sure on the usefulness of that (at least off the top of my head) but if that is still something you think could potentially be valuable to someone in the future I can continue on with the PR.

It is potentially valuable IMO, PRs are definitely welcome. But there's no immediate need as far as i can tell. From my past experience i've never seen the role-session-name used in a policy.
Thanks for digging and documenting the issue here ❤. Can we close this now, or are any things left to do?

I don't believe there is anything left to do and this can be closed. I will PR my changes in anyway since they are already done. 😄


Ascii files

See commit messages for description. I have added these features because I want to use this tool for OGS-5 benchmarking too. The following features are still missing:

[ ] Cell data arrays, see #1
[ ] Vector data arrays
[ ] Compare all data arrays

I copied the three points to the https://github.com/ufz/vtkdiff/issues/1


Require VehiclePosition timestamp

We used the GTFS-realtime validator to analyze https://transitfeeds.com and found 2 agencies that do not provide timestamp in any of their Vehicle Positions entity:

Hillsborough Area Regional Transit
Grand River Transit

In addition, we found that PSTA's feed at http://ridepsta.net/gtfsrt/vehicles?debug has all the Vehicle Positions' timestamps same as the feed header's timestamp.
Should we make timestamp required in VehiclePosition?

I reached out to Clever Devices who confirmed that the timestamp issue in the PSTA feed is a bug, and they will fix it.
This issue is related to the new validator rule that checks to make sure all vehicles timestamps aren't the same - https://github.com/CUTR-at-USF/gtfs-realtime-validator/issues/347.

@minhhpham How many agencies total did we analyze for this issue?  Just want to get a percentage for those not providing timestamps.

We analyzed 52 agencies. So 3.8% does not provide timestamps.

Including the timestamp is currently in the GTFS Realtime Best Practices – all of which should probably be evaluated for inclusion into the specification at regular intervals.

I am making a note that timestamp is a realtime best practice of interest for merging into the spec, and closing this issue so the discussion can be added to google/transit when an iteration is proposed.


Updates for the elixir version of SimEngine

JIRA covered:

DX-1689 - Port shipengine-python to Elixir simengine implementation.

DX-1701 - Related updates on Elixir SimEngine side

[x] Using the SimEngine endpoint: https://shipengine-web-api.herokuapp.com

[x] Update ID/URL/UTC to Id/Url/Utc

[x] Update ids to be base58

[x] Etc/get address/track package tests passing

[x] Note inconsistencies/unexpected values on the Elixir API service that would need to be updated

[x] Determine if when we would expect tracking_result.package.tracking_url to not be null (un-comment and resolve in test or elixir result). In tests/services/test_track_package.py the tests test_track_by_tracking_number_and_carrier_code and test_track_by_package_id the assert tracking_result.package.tracking_url is not None type assertions are commented out

[ ] Update models to handle null values for string fields, and ensure no warnings come up on the tests for RuntimeWarning: NoneType object value of non-optional type phone detected etc. for the name/phone/company address fields

@KaseyCantu The tracking URL tests have been updates and are passing. The only thing left is making it so string variables are also handled as a null type, I figured you would be able to knock that out quicker than me, but let me know if I can help at all on that front!


By/bio

Couldn't figure out why _site/index.html or ryanjones.jpg were touched. I may have just removed spaces from opening and closing?
Tried my best to git rm those files but failed :( Didn't have any conflicts though.

The _site/index.html file (and everything in the _site directory) is updated every time you run "jekyll serve", so you can ignore changes to those directories (i.e. you did the correct thing 👎 ).
(Will let Andrea or another admin merge this, I'm just commenting.)

Looks good! Merging it in. @andrep thanks for checking it out.
:shipit:

And you're live on codehbsclub.com :)


Scaffolding 2.1 RTM in existing MVC application 404 for non overridden pages

From @dotnetshadow on June 1, 2018 5:7
I recently upgraded my ASP.NET Core application 2.1. I used the identity scaffolder to override Login and Register pages. Upon doing this I noticed that routes to logout and manage were incorrect
?page=Account/Manage rather than /Identity/Account/Manage
I then rescaffolded and this time and chose to override all files. This seemed to work.
In my particular case there seems to be an issue with scaffolding just a handful of pages and not being able to find the remaining pages that aren't scaffolded
Just wondering if I'm missing something?
update
I think the issue i have is that i was using AddIdentity instead of AddDefaultIdentity. Unfortunately i am unable to try this yet
Copied from original issue: aspnet/Identity#1809

From @blowdart on June 1, 2018 21:9
@javiercn Does this happen for you?

@vijayrkn @seancpeters Can you take a look at this?

@dotnetshadow Are you upgrading a 2.0 app to 2.1 or starting from a 2.1 app?

@javiercn updating from 2.0 app

@javiercn I can confirm that the issue is indead that I was using services.AddIdentity<ApplicationUser, IdentityRole> as opposed to services.AddDefaultIdentity<ApplicationUser>
After using AddDefaultIdentity, the non scaffolded routes worked

@dotnetshadow Thanks for following up. I will be closing this issue as there’s no action to be taken here.
Thanks!


Error during automated microk8s restart while enabling DNS and metrics-server/RBAC

While executing:
sudo microk8s enable dns storage registry:size=20Gi metrics-server
the following messages are displayed:
    Enabling DNS..
    Applying manifest
    serviceaccount/coredns created
    configmap/coredns created
    deployment.apps/coredns created
    service/kube-dns created
    clusterrole.rbac.authorization.k8s.io/coredns created
    clusterrolebinding.rbac.authorization.k8s.io/coredns created
    Restarting kubelet
    error: error running snapctl: snap "microk8s" has "service-control" change in progress
    Enabling default storage class
    deployment.apps/hostpath-provisioner created
    storageclass.storage.k8s.io/microk8s-hostpath created
    serviceaccount/microk8s-hostpath created
    clusterrole.rbac.authorization.k8s.io/microk8s-hostpath created
    clusterrolebinding.rbac.authorization.k8s.io/microk8s-hostpath created
    Storage will be available soon
    Addon storage is already enabled.
    Enabling the private registry
    Applying registry manifest
    namespace/container-registry created
    persistentvolumeclaim/registry-claim created
    deployment.apps/registry created
    service/registry created
    configmap/local-registry-hosting configured
    The registry is enabled
    The size of the persistent volume is 20Gi
    Enabling Metrics-Server
    clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created
    clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created
    rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created
    Warning: apiregistration.k8s.io/v1beta1 APIService is deprecated in v1.19+, unavailable in v1.22+; use apiregistration.k8s.io/v1 APIService
    apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
    serviceaccount/metrics-server created
    deployment.apps/metrics-server created
    service/metrics-server created
    clusterrole.rbac.authorization.k8s.io/system:metrics-server created
    clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created
    clusterrolebinding.rbac.authorization.k8s.io/microk8s-admin created
    error: error running snapctl: snap "microk8s" has "service-control" change in progress

There appears to be no adverse effect on functionality, and both DNS and the metrics-server run fine.
It also appears that this is in some way related to the node microk8s is deployed on (e.g happens very often on low-spec VMs on GCP, or even "large" spec AWS instances).
Perhaps, introduce a check for change in progress and sleep until available prior to restarting microk8s?

Hi @balchua - I've just done a few deployments with added --advertise-address=<IP_ADDRESS> arg. It appears to work fine now. Is this something that can be implemented upfront without needing the user to modify the args manually?
Perhaps something to note which was not mentioned in the original post (but we did discuss on Slack) is that this issue only occurs with ha-cluster disabled.

Thanks for getting back to us on this topic.
I think in the future there maybe an option to stop the api service kicker from reacting to network changes and reissue certs.  https://github.com/ubuntu/microk8s/pull/2217
I haven't looked at it in detail, but its not something that comes as default i think.

Sorry, please see my updated response above - it seems that there is now another issue as a result of the change.

Oops maybe the advertise-address value is wrong.  I don't remember if <IP_ADDRESS> will work.

Yes, everything works correctly if --bind-address=<IP_ADDRESS> is used instead of --advertise-address.


open

#44

@Ich35 could you add a description and descriptive title to your issues?
Closing this for now.


replaceRange inside folded region without expanding?

When replaceRange causes a change inside a folded region, it automatically expands.
Is there any way to prevent the region from expanding or finding the regions that will be expanded and collapsing them again?

Moving to the help forum, my bad.


Added version support note for Robo 3T

[!NOTE]
Currently, Robo 3T v1.2 and lower are supported with Cosmos DB's API for MongoDB.

@sivethe Please let me know if this needs to be re-worded at all.

@roaror : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@SnehaGunda FYI. I think you were on the Git Issue thread regarding this.
Probably @roaror should use the -pr private repo to give better preview support.

Rohan will close this PR and open a new one to the pr repo shortly.


chore(deps): update analytics dependency

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.95%. Comparing base (8feeaa0) to head (adff80c).
Report is 16 commits behind head on develop.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #325      +/-   ##
===========================================
- Coverage    98.66%   97.95%   -0.71%
===========================================
  Files            2        2
  Lines          673      784     +111
===========================================
+ Hits           664      768     +104
- Misses           5        9       +4
- Partials         4        7       +3

Flag
Coverage Δ

bddtests
97.95% <ø> (-0.71%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


ERROR: DataTables warning: table id=DataTables_Table_0 - Ajax error. For more information about this error, please see http://datatables.net/tn/7

Hello,
I am trying to use datatables package on my laravel 5.7 project and I am facing the following problem:

DataTables warning: table id=DataTables_Table_0 - Ajax error. For more information about this error, please see http://datatables.net/tn/7

And when I open developer network tab I get a 404 errror message. When I click on it and then click on response tab to get more details, I get the following error message.

{
"message": "No query results for model [App\Account].",
"exception": "Symfony\Component\HttpKernel\Exception\NotFoundHttpException",
"file": "/home/developer/PROJECTS/Invoicing/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 200,
"trace": [
{
"file": "/home/developer/PROJECTS/Invoicing/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 176,
"function": "prepareException",
"class": "Illuminate\Foundation\Exceptions\Handler",
"type": "->"
},
...
]
}

Code snippet of problem
Here are the lines of code on my view

            Id
            Account Name
            Billing Name
            Organisation
            Address
            Email
            Phone
             Expiration Date
             Creation Date
             Last Update

Here is what I have on my route
Route::get('accounts/all', ['as'=>'accounts.all', 'uses'=>'AccountController@getAll']);
And here is what I have on my controller
 public function getAll()
    {
        return Datatables::of(Account::all())->make();
    }

and when I try to dd(Datatables::of(Account::all())->make())  function before returning to the view I get the following results
JsonResponse {#246 ▼
  #data: "{"draw":0,"recordsTotal":2,"recordsFiltered":2,"data":[{"id":"1","ac":"kwathu.co.mw","name":"Daniel Justin","organisation":"Malawi SDNP","address":"P. O. Box 31 ▶"
  #callback: null
  #encodingOptions: 0
  +headers: ResponseHeaderBag {#241 ▶}
  #content: "{"draw":0,"recordsTotal":2,"recordsFiltered":2,"data":[{"id":"1","ac":"kwathu.co.mw","name":"Daniel Justin","organisation":"Malawi SDNP","address":"P. O. Box 31 ▶"
  #version: "1.0"
  #statusCode: 200
  #statusText: "OK"
  #charset: null
  +original: array:6 [▶]
  +exception: null
}

which is a JsonResponse containing the desired results I want to be on my table.
I Have tried to go through different discussions but I am failing to come up with a solution to this problem. Please, help me to solve this problem.
System details

Operating System Fedora 29
PHP Version 7.2.12
Laravel Version 5.7
Laravel-Datatables 8.13

i have a large data in my database and when i use datatabe then i give this error!

but h

You have to define columns in AJAX call based on the JSON data that you receive:
$(document).ready(function() {
    $('.datatable').DataTable({
    processing: true,
    serverSide: true,
    ajax: "{{ route('accounts.all') }}",
    columns: [
            { data: 'ID', name: 'ID' },
            { data: 'accountname', name: 'accountname' },
            { data: 'billingname', name: 'billingname' },
            { data: 'organisation', name: 'organisation' },
            { data: 'address', name: 'address' },
            { data: 'email', name: 'email' },
            { data: 'phone', name: 'phone' },
            { data: 'expdate', name: 'expdate' },
            { data: 'createdate', name: 'createdate' },
            { data: 'lastupdate', name: 'lastupdate',}
        ]
    });
});
`

but how if ia have no data on my table ?


Add support for related records in PN

Relationship query is not working in Public Notification, in the popup or in the label, I can't remember if we added support for it, In this test app, All Owners and Occupants have related table, when viewing the popup in map viewer, I can see the related records for this layer but not in PN app. Also in the label, related field values are not showing up.
Test map: https://arcgis4localgov2.maps.arcgis.com/apps/mapviewer/index.html?webmap=20f089c9110b4c738bb24a409b3f05ff
Test app: https://arcgis4localgov2.maps.arcgis.com/apps/instant/notification/index.html?appid=d92ddfe30e024ee09823c4532fedd261

The old app used to have a setting for ‘use related records’ that we had to check on to enable this, I don’t see that at all in the config.
This is the output from the OG PN

The old app used to have a setting for ‘use related records’ that we had to check on to enable this, I don’t see that at all in the config.

@ChrisBuscaglia We decided to go away from the config parameter, the idea was since the related records are configured in the pop-up, any field that is configured in the pop-up will show up in the label regardless of where the field is coming from.
I missed to test this specific scenario before production, I am hopeful that we will be fix this soon.

@MikeTschudi here is a devext map that has related records, the layer pop-up has only related table element and the related table pop-up is configured, PN is exporting labels from the layer, not from the related table
App: https://sg-em-devext.mapsdevext.arcgis.com/apps/instant/notification/index.html?appid=7f9f674f1d40478c95036e9b3c451faf
Map: https://sg-em-devext.mapsdevext.arcgis.com/apps/mapviewer/index.html?webmap=ca71a9348e48400c9896994a2bd05e5a

@ChrisBuscaglia @HeatherEisan Mike added support for related records, but at this moment it works with Classic viewer map only, we need to spend little more time on investigating how to support this in new map viewer, so I am pushing this to next release.

Mike and I discussed last Friday about when to use parent layer pop-up and  when to use related layer pop-up when both layer has pop-up configured, wanted to know your thoughts on this as well .
We have two options

Always use related table layer pop-up when configured, since pop-up are always enabled by default (Field list) for both feature layers and tables and we support field lists as well, I can't think of a way to know whether they are configured intentionally unless we look for specific label structure.
Add a parameter in the config like what we used have in Web Appbuilder. Asked Heather she also mentioned about the parameter.
I am kind of leaning towards the parameter option. Bus asked me before on this and Initially we thought of using the related table pop-up by default.
@chris-fox @ChrisBuscaglia @jmhauck

@HeatherEisan @ChrisBuscaglia @sarahmcdonald7
We have added support for related records using new map viewer pop-up configuration. it works a bit differently that how it used to work with classic map viewer pop-up.
How to set up pop-up to work with related records in Public Notification
Example web map: https://sg-em-devext.mapsdevext.arcgis.com/apps/mapviewer/index.html?webmap=be3f58213d4c43a3be1eab52b81a6b40

In your parent layer pop-up, only add related records element and nothing else

In your related table pop-up, add a text element and configure the address labels in that

Save the map and use it in PN, here is a sample app for you to test
https://sg-em-devext.mapsdevext.arcgis.com/apps/instant/notification/index.html?appid=cb0c9aca35e345b78a89730a4a248b77

Note:

The app can retrieve multiple related records tied to a single feature.
Only known limitation is, if a field being added from parent layer to related table pop-up using arcade expression that field  is not getting resolved. We are planning to fix this in next release.

Verified in devext

I am not a member of the org you linked to above, so I cannot see your map.

https://sg-em-devext.mapsdevext.arcgis.com/apps/mapviewer/index.html?webmap=be3f58213d4c43a3be1eab52b81a6b40

@HeatherEisan could you try again please, the map is publicly shared, it should not ask for credentials, only you have to provide the splash screen credentials for devext

@azizaparveen: Thank you, I can see it now.

@HeatherEisan another known issue is, it does not work with classic map viewer maps pop-up configuration. The way new map viewer works with related record is very different than what we used to have in classic viewer so we had to switch from classic to new.
Test app: https://sg-em-devext.mapsdevext.arcgis.com/apps/instant/notification/index.html?appid=082f01850c884d4b999299ed25817e67
Test map: https://sg-em-devext.mapsdevext.arcgis.com/home/webmap/viewer.html?webmap=36d2a2e2040a47eb98567e342281e8a7


Update milli 0.29

[x] Update milli to 0.29
[x] Integrate charabia
[x] Set disabled_words to default when Index::exact_words returns None
[x] Fix ranking rules integration test

fixes #2375
fixes #2144
fixes #2417
fixes #2407

because windows wasn't ready for the v0.29, let's give it another chance.
bors merge

Three times in a row. 🤔
It begins to be annoying. I will rebase.

bors merge

Seriously? snapshots now? Ok round 9000:
bors merge

bors merge

bors merge

bors merge

last try before investigating:
bors merge

please. 🤞
bors merge


Remove default for onChange handler prop

Codecov Report

Merging #15 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #15   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines           8     11    +3
  Branches        1      2    +1
=====================================
+ Hits            8     11    +3

Impacted Files
Coverage Δ

src/Checkbox.tsx
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Successful example of using MultiZarrToZarr

Not so much an issue, but just some examples of applying this to a large 30 year Sea Surface Temperature (SST) dataset (10576 x 4500 x 6000), chunked in (1, 2250, 3000).
I tested combining the single time reference files into months and years, I found that due to the template parsing monthly aggregates worked the best as compromise between granularity and template parsing overhead. I also tested using zarr or json for the combined references and the difference is negligible. Storage space vs having a single container for the references. Possibly zipped json is the way to go?
Ultimately, using many small workers, using the ReferenceFileSystem, extractions across time took ~15s - this is compared to many hours using THREDDS or via netCDF.
This notebook demonstrates creating aggregated references at monthly and yearly timescales:
https://github.com/pbranson/pixeldrill/blob/main/notebooks/create_agg_index.ipynb
The chunking layout changes in 2016 sporadically, so there is some bespoke code to detect these and stack them together when found. When the in full timeseries is recomposed, a simple sort by time re-orders the data.
This notebook demonstrates using 180 single core workers with 1GB memory per worker to load the data:
https://github.com/pbranson/pixeldrill/blob/main/notebooks/access_via_aggindex.ipynb
Thanks for everyone's work on this library!

@pbranson thanks for sharing this success story!    You were not in a position to rechunk this dataset, right?   At least you had a few chunks in the spatial dimension but (1, 2250, 3000) is still pretty painful for time series extraction, right?

Cool, thanks for this!
Should we have a page or section of the README linking to creation and use notebooks?

due to the template parsing

Templates can be turned off in the combined output (template_count=0 in MultiZarrToZarr), and with decent compression, templates don't seem to help that much anyway. Having said that, simple_templates=True as an argument to ReferenceFileSystem speeds up parsing massively, and all reference templates currently made by reference-maker are "simple".

Opening the full stack in a delayed fashion is too slow

The NWM example showed that it works well to do a two-stage combine with dask: calling MultiZarrToZarr on subsets of the files, and then MultiZarrToZarr again on those intermediate subsets. Indeed, you no longer need to write the files anywhere, you can just have dask pass the results around. @lsterzinger - please link your notebook here.

The chunking layout changes in 2016 sporadically, so there is some bespoke code to detect these and stack them together when found.

@rabernat : this kind of custom processing would make it hard to fit this into a pangeo-forge recipe, at least one that calls the builtin recipe classes.

this kind of custom processing would make it hard to fit this into a pangeo-forge recipe

I'm not sure. I looked at the notebook but can't quite figure out what the custom processing is and where it should happen. In Pangeo Forge, we would like to have whatever customization points are needed to accommodate messy real-world data. It would be fantastic to try to write a recipe for this use case. That would help us figure out where the recipe class needs to be expanded. Could someone open an issue to track that idea: https://github.com/pangeo-forge/staged-recipes/issues/new/choose?

@rsignell-usgs the current delivery model for this (updating) dataset is to netCDF, and the services associated with that. So this was a proof of concept of a possible interim solution to make the data more accessible. Certainly there is a fair whack of redundant data being read, but the chunks are still pretty small and mayby I am being helped by the async reads. I was surprised how well it scaled.
Rechunking is definitely an option as well as translating to Zarr, but these arent a part of the current workflow for this data but it is being considered. There is a fair amount of data so duplication that will come with some cost until there is a transition away from all the tooling around opendap, and I wonder is there an opendap interface to zarr?
I was just trying to catchup on the work being done in pangeo-forge and it seems like if translation is an option that AODN should consider that as an approach. These datasets could definitely be put into the recipies, but they are all in ap-southeast-2 so would need to processed 'down-under'

Templates can be turned off in the combined output (template_count=0 in MultiZarrToZarr), and with decent compression, templates don't seem to help that much anyway. Having said that, simple_templates=True

Thanks @martindurant I was looking for a way to disable the templating and use Zarr with compression but didnt figure out that was what template_count was for. Will definitely try that, as well as the two stage approach. It still seems that for these types of queries across finely chunked dimensions, resolving the dask graph to (a small amount of) concrete values is a reasonable approach. Most people want to get timeseries in their locality

but they are all in ap-southeast-2 so would need to processed 'down-under'

We need to get a bakery deployed in your region! Are you interested in collaborating on this?
https://github.com/pangeo-forge/pangeo-forge-aws-bakery

I looked at the notebook but can't quite figure out what the custom processing is

Its in this notebook (forgot to set xr display to text):
https://github.com/pbranson/pixeldrill/blob/main/notebooks/create_agg_index.ipynb
        #Deal with different chunk sizes - create a separate aggregate file for each chunking layout
        chunking = {}
        for r in references:
            ds=open_dataset('s3://' + r)
            key = ds['sea_surface_temperature'].chunks
            if key in chunking.keys():
                chunking[key].append(r)
            else:
                chunking[key] = [r,]

        #Label each set with a, b, c, ...
        labels = [chr(i) for i in range(97,97+len(chunking.keys()))]
        agg_files=[]
        for i, (chunks, refs) in enumerate(chunking.items()):

            #setup output location
            agg_file = f"{dest}{mask}{suffix}.{extension}".replace(f'.{extension}',f'_{labels[i]}.{extension}')
...

Basically it creates a separate aggregate for each chunking layout, then reorders after the xr.concat

We need to get a bakery deployed in your region! Are you interested in collaborating on this?

I agree that would be great! I'm not really in a position to facilitate that, but will discuss it with a few people who may be. I expect that if the AODN go the route of translating the data to Zarr or ncZarr then it could be on the cards if we could find the right funding. I will try raise it at the next Pangeo-Oceania hook up if I can make it

template_count=0 in MultiZarrToZarr

I have tested this, and it makes about 30% faster than using json with simple_template=true
It also makes opening the larger stacks much faster, however the overall extraction is much slower, I think due to increased graph size and scheduling overhead - possibly I could finetune the dask chunks but it seems that the monthly load is the best way to go in this instance (aside from rechunking on disk)

Keep in mind that you can always override the on-disk chunking when you open with xarray / dask. In particular, it often make sense to use larger dask chunks than the (relatively small) hdf5 chunks. Thanks to fsspec's async capabilities, it should work close to the same speed as if there were one big chunk on disk.

I made a dask report of the load using larger workers, whilst it seems to be using async, a fair amount of time is spent waiting for a sync after 'cat' the references:
I have put the performance reports from the yearly 'delayed' approach, setting large dask chunks (time=180) and a second profile for the monthly 'eager' loading, returning the concrete values. For similar compute resources the monthly-eager approach is ~5x faster
https://gist.github.com/pbranson/18cee7f5f6f19ee578d6c2ac4540f182


Update travis and appveyor ymls of all repos to build for 'rel' branches

Example: https://github.com/aspnet/Caching/commit/a871eff4749f1458b8c4701fa6bde7a65c5448fa#diff-354f30a63fb0907d4ad57269548329e3R19

We're ok doing this on demand as we see it missing in repos.


Guess_a_number.py

Description-A new python project AI game where the AI tries to guess a number chosen by the player. AI will make guesses and adjust its range of guesses based on the player's feedback
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #2281

Type of change
Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirments.
Category:

[ ] Calculators
[x] AI/ML
[x] Scrappers
[ ] Social_Media
[ ] PDF
[ ] Image_Processing
[ ] Video_Processing
[ ] Games
[ ] Networking
[ ] OS_Utilities
[x] Automation
[ ] Cryptography
[ ] Computer_Vision
[ ] Fun
[x] Others

Title: <write script title here>
Folder: <type the folder name that contains your script>
Requirements: <type the name of text file containing the required to install python packages, type None if no file required>
Script: <Enter the name of the .py file (The main entry point of the program)>
Arguments: <enter any arguments that the script needs but - separeted like: h-c-m>
Contributor: <Enter your Github handle/username without url>
Description: <Enter a one line description that describes your script. Also, explain the arguments usage here>

readme.md

I have added the README.md file successfully . Please merge this pull request @avinashkranjan

@avinashkranjan I have updated the readme file


[ALLUXIO-2881] rename test file from TailCommandTest to TailCommandIntegrationTest

https://alluxio.atlassian.net/browse/ALLUXIO-2881

https://alluxio.atlassian.net/browse/ALLUXIO-2881

alluxio-bot, check this please

alluxio-bot, check this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15761/
Test PASSed.


hadoop-lakefs without dedicated s3 client

Removed the s3 client instance
Used reflection to access filesystem's AWS client and kept a reference to getObjectProperties method
The create api - when done

try to call underlaying s3 client to getObjectMetadata
fallback to getFileStatus and lookup etag property

The above functionality is encapsulated into MetadataClent

@arielshaqed do you think I should use the same 'fs' as the 'create' call uses, or the current cached 'fs' from `initialize' will be good enough?

@arielshaqed I prefer the fs instance used by the create call.
so updated the PR - let me know what you think.

@arielshaqed do you think I should use the same 'fs' as the 'create' call use, or the current cached 'fs' from initialize' will be good enough? I can turn MetadataClient` to be just a single method in LakeFSFileSystem.

Using the same fs in create is always better. :-)


Container image tag missing for 7.0.1 on dockerhub

The above mentioned container image is presumably built and pushed with the stable tag, but the convention to also provide release version tags seems to be broken with this release.
Context

What is affected by this bug?
Users of the docker image who want to have tight control of their dependency bumps and thus prefer to refer to the release version tags instead of "stream" tags like "latest" or "stable".
When does this occur?
Looking in https://hub.docker.com/r/tvial/docker-mailserver/tags
How do we replicate the issue?

Browse https://hub.docker.com/r/tvial/docker-mailserver/tags
Look through pages of tags to find out 7.0.1 is missing

Actual Behavior
Recent container image is available with tag "latest", but no clue what version that is.
A little less recent image is available with tag "stable", but I can only guess what version that is.
Expected behavior (i.e. solution)
Container image of version 7.0.1 should be tagged as such, just like the versions before.
Your Environment
n/a

I agree. @fbartels / @tomav any idea why version 7.0.1 was not pushed to docker hub? @tomav also note that I can no longer manually trigger rebuilds in Travis, not sure if it is related but I used to be able to do that.

@erik-wramner sorry. Totally missed that mention. No unfortunately there are not really ways to debug this (at least afaik).
Builds are triggered on push and looking through the build history on the Docker hub the 7.0.1 tag is really missing there. Maybe a small hickup on the Docker side? Apart from creating a new tag I don't think there is a good way to test/repair this.

Thanks for the info @fbartels. If you are positive that this was only a glitch and the next tag should trigger a build, then you may close the issue. For completeness' sake you could re-tag the 7.0.1 though and see whether it gets built.

I didn't find a good way to do this, but eventually I deleted the tag and pushed it again. That seems to have done the job. Hopefully the build succeeds this time.


NO-JIRA: Bump the misc-dependencies group in /hack/tools with 3 updates

Bumps the misc-dependencies group in /hack/tools with 3 updates: github.com/prometheus/prometheus, gotest.tools/gotestsum and honnef.co/go/tools.
Updates github.com/prometheus/prometheus from 0.43.1 to 0.48.1

Release notes
Changelog
Commits

Updates gotest.tools/gotestsum from 1.10.0 to 1.11.0

Release notes
Commits

Updates honnef.co/go/tools from 0.4.3 to 0.4.6

Release notes
Commits

/test images
/test unit
/test verify
/test e2e-aws

/area ci-tooling

This PR should replace https://github.com/openshift/hypershift/pull/3327

I only bumped github.com/prometheus/prometheus to v0.48.0.
There seems to be an issue with the latest v0.48.1. When promtool is ran through the make verify command, there is an error like this:
vendor/github.com/prometheus/prometheus/promql/test.go:134:12: pattern testdata: no matching files found

Note - running promtool cli directly seems to work though.

/test verify
/test images
/test unit

/test verify
/test images
/test unit

/hold
Needs https://github.com/openshift/hypershift/pull/3359

/test verify
/test images
/test unit
/test e2e-aws

/unhold

/test verify

/test verify


feat: allow per-page description customization

Hello @Guts
Thanks for the awesome project.
I use this plugin heavily in my SRE blog.
I figured it would be nice to allow per page customization of the description field, cause at the moment, there's not a lot one can do when the description before <!-- more --> is short and extra detail is desired.
With this change, you can have separate contents for RSS description and your typical content.
An example taken from the Material for Mkdocs Social Cards:
---
date: 2024-06-24
description: >-
  This is the SEO description.
social:
  cards_layout_options:
    description: >-
      This is the social cards description.
rss:
  feed_description: >-
    And I want to have customized RSS description.
---

This idea, I reckon, can easily be extended for other similar use-cases:

#297
#275
#197

can you explain why the description is not enough for your need?

description is used for SEO description and in order to optimize it, you'd normally keep it short in around 140-156 characters.
RSS description, can go a little wild in the length and doesn't have to comply with anything, especially knowing that it will provide more context to the RSS clients before clicking on Continue reading....
I will add the docs and the tests later this week.
Thanks for the feedback.

@Guts
Please have another look and let me know if there's any other change required.

Released as part of https://github.com/Guts/mkdocs-rss-plugin/releases/tag/1.15.0


Best practice to redirect within action creator?

There seems to be two ways to redirect from an action creator (react-redux):

Use withRouter() on component which calls the action creator and pass props.router to the action creator (e.g. dispatch(login(username, password, this.props.router)) and router.push('/success') inside my action creator)

import { browserHistory } from 'react-router' inside the action creator file and browserHistory.push('/success') as mentioned here: https://github.com/reactjs/react-router/blob/master/docs/guides/NavigatingOutsideOfComponents.md

I was wondering which one would be preferable.

You're calling the exact same function in both cases. But since you might use your action outside of the React context, you should probably use browserHistory.

Guys, what about 4.0.0 version?

How do we do this in v4?

Starting with the beta, the answer will be the same. If you need to navigate outside of React, you can create your own history instance and import it throughout your project.

How do we do this in v4???

@wjin0352
The simplest working example:
history.js:
import createHistory from 'history/createHashHistory'

export default createHistory()

actions.js:
import history from './history'

history.push('/abc')

@thekarel unfortunately, react-router-dom does not re-render the component that I pass to a Route when using history this way, but it works (i.e. re-renders the component) when I pass this.context.router.history.push into my action creator...
is that a general problem or only happening in my use case => should I create a simplified test case?

@Aprillion That's the expected behavior. Take a look at: https://github.com/ReactTraining/react-router/issues/4059#issuecomment-254437084

Creating a new browserHistory won't work because BrowserRouter creates its own history instance, and listens for changes on that. So a different instance will change the url but not update the BrowserRouter.

browserHistory is not exposed by react-router in v4, only in v2.

If you want the full history object you can also grab that off context like router.
this.context.history.push('/path')

@m-mik I understand that 2 instances of browserHistory would not communicate, but it was definitely NOT my expectation that creating single instance directly from history module, importing to multiple files, using it as <Router history={myHistory} and then running myHistory.push in another file somehow does not re-render the routed component

Are you sure you're using Router, and not BrowserRouter when passing the history instance? Perhaps, you're importing BrowserRouter as Router?
import { BrowserRouter as Router } from 'react-router-dom'
...
<Router history={history}> // this won't work, BrowserHistory does not accept history property

history.js
import createHistory from 'history/createBrowserHistory'

export default createHistory()

Root.jsx
import { Router } from 'react-router-dom'
import history from './history'
...
<Router history={history}>
 <Route path="/test" component={Test}/>
</Router>

another_file.js
import history from './history'

history.push('/test') // this should change the url and re-render Test component

that was probably it.. I didn't get any proptypes error, so I forgot to check.. thanks @m-mik for the tip, I will try again!

@m-mik i am getting error history.push is not a function from my action creator.

Hey guys, is history navigation inside actions considered a good practice? I try to avoid it at all costs but I'm in a situation where this approach would be easier to implement.

@vvinhas I probably don't understand the question, for me history navigation can ONLY happen as an action.
e.g. <Link>is just a component that wraps the onClick event handler creating a history action (push). so a custom history action would be similar but using a custom component instead of a library-provided one.
I can't imagine when it would make sense to navigate back inside render, constructor, redux reducer, selector or something else, only inside an event handler => action creator.
But if you have a different concrete example..?

Hey @Aprillion! Thanks for your reply!
My case is an auto redirect, based on a response from a Http Request. I know it's easier to put history.push into my thunk, but generally, I let my components decide when to redirect the user based on Redux State, wrapping withRouter around it and using the history prop.
I'm actually asking it honestly, I don't know if it's a common practice to put history.push inside a thunk.

Imagine new team members arriving and copy&pasting some pattern to other places in the code. Then 6 months later you get a bug report that some redirect is incorrect. Will you be able to debug the issue? If yes, then it's a good pattern for you :)
Not speaking for the whole community though, just how I would think about it.

I let my components decide when to redirect the user based on Redux State

I would not recommend that practice. Components are either "dumb" and simply render a view based on data or "higher level" i.e. they connect the store's data to the dumb components. Other than that, your business logic should live in the store and side-effects handled in actions.

Why not just make an static method? Router.push('/admin/')


Launchx1.0.1 seems to be invalid after firetv is automatically updated

There is no way to return to the atv interface by pressing the home button.

this is caused by last update <IP_ADDRESS>, click back button until you are on launcher or press home button and pin the launcher as favorite to Amazon Home to launch the launcher again

New fix by Seen Wolf! https://forum.xda-developers.com/showpost.php?p=83468741&postcount=461

Nice! TechDoctorUK also had the idea of disabling the Amazon launcher but I didn't find the time to even look at all the issues, it's on my list for tomorrow actually... am quite busy with other stuff :-/

Nice! TechDoctorUK also had the idea of disabling the Amazon launcher but I didn't find the time to even look at all the issues, it's on my list for tomorrow actually... am quite busy with other stuff :-/

Yeah I thought of that as well I just didn't know how to intercept it with the other launcher lol.
No problem man. Looking forward to when you can take a look at it. Curious on how you're going to implement it. And whether or not you can get "last used app" to launch on wake instead of just the launcher ;). That would be game changing, I think techdoctoruks app did that.. the old one anyway

the settings app doesn't work for me on my FireTV Stick 4k

the settings app doesn't work for me on my FireTV Stick 4k

The settings app that you installed? What does work exactly? We need more info

I've installed the settings app, started LeanOnFireLauncher and the settings app and selected to disable the amazon launcher, here I get error message about ADB. Adb is on and deployed the apk from my laptop, so adb works.

I've installed the settings app, started LeanOnFireLauncher and the settings app and selected to disable the amazon launcher, here I get error message about ADB. Adb is on and deployed the apk from my laptop, so adb works.

Do not connect anything to adb. I had the same issue. Disconnect your laptop from adb. Then turn off and on adb on the firetv.
Now open the launcher of your choice.
Open the settings app.
Click disable amazon launcher.
Now press home button

Nice! TechDoctorUK also had the idea of disabling the Amazon launcher but I didn't find the time to even look at all the issues, it's on my list for tomorrow actually... am quite busy with other stuff :-/

Did you end up getting anywhere with FTVLaunchx?


Changing file storage settings should warn user in case of existing files

If you change storage settings (http://localhost:8090/_/#/settings/storage), already uploaded files become unavailable. I think it's unreasonable to attempt to copy all files to a new place, and generally this scenario is kinda unsupported - you're expected to set your storage settings before uploading files - but I believe that showing a big scary warning might be a good thing - like when you do some schema changes, UI reminds you that some linked changes might have to be changed elsewhere.

https://github.com/peak/s5cmd Supports mirroring content . Might be a useful thing for when a user changes the s3 endpoint.
You could easily move your file data to wherever as part of any change in settings.

A warning message and suggestions to use rclone or s5cmd was added in v0.2.4 release.
The warning should be visible only when you change the storage type.


Fixes issue with project_default_theme not being cleaned up

Prevents errors on shutdown when using a custom theme due to the project_default_theme global variable not being explicitly dereferenced in the engine cleanup phase.

Thanks!


Really expose warnings

But also make it so that we can continue building.
By exposing them, we see them so we can fix them.
Signed-off-by: Dan Cross<EMAIL_ADDRESS>

Correct; that's intentional, though. I want to work through these warnings and then add -Werror globally.

Fine. Harvey is not for sissies.


Add language checks for Markdown documents

Resolves #59
Description
Changes proposed in this pull request:

Added Language Tool
Added Misspell check

Files Added

spellcheck.yaml @.github\workflows\

Testing
Tested on forked repository
GitAction Test Result log
Results

Known Issues

Language tool may sometimes suggests changes in the CLI commands and yaml manifests written in the documentation .

Sure @pkosiec , I will fix the typos and errors 🙂

That's amazing @yo-404! Feel free to push them directly in the same PR 👍 Thanks a lot!

have done the necessary changes @pkosiec  . Feel free to review it at your convenience


A suspicious condition in 'if' operator

In the function "DiscoveryAllBuckets" we have a suspicious condition in the 'if' operator:
https://github.com/KaymeKaydex/go-vshard-router/blob/84c49a6fdfd472916879a9e6cef22c60df380139/discovery.go#L210
However, nextFrom always has a non-nil value. I guess, this function should be rechecked.

PR to resolve this issue #45


Fix DROPDOWN_ACTIVE_CHILD selector

@smnedelko Please provide a demo or explanation of why the existing code is broken.

Similar PR #17642.

Hey there!
We're automatically closing this issue since the original poster (or another commenter) hasn't yet responded to the question or request made to them 14 days ago. We therefore assume that the user has lost interest or resolved the problem on their own. Closed issues that remain inactive for a long period may get automatically locked.
Don't worry though; if this is in error, let us know with a comment and we'll be happy to reopen the issue.
Thanks!
(Please note that this is an automated comment.)


Allow directives that convert the date before it is written to the model / read from the model

Use the $viewValue instead of the $modelValue.
This change allows us to add directives that change the value before persisting / reading from the model. Those changes are represented in the $viewValue and not in the $modelValue.

Hello, thanks for this I think I would rather allow the render function to be configured to allow any sort of binding to non-date formats in the model.  Have you tried creating your own parsing and validation pipeline directive?  I would have expected that the parsing pipeline would allow one to update the modelvalue accordingly prior to the render step.

Closing some old prs.  $modelValue can be updated based on the parsers and validators pipeline.


Just a question: Could resolvers-check.sh be modified to check servers on line, without cert validity

Hello,
Is there a dnscrypt-proxy switch which could be used to check which resolvers included in dnscrypt-resolvers.csv are on line (lets say ping check), and not to check for -t  checks if the certificate will still be valid in  seconds, since the check with -t takes pretty long time if there are some failing servers (I tried couple of times, and it takes over 4 min, which is too long for router startup script).
I also tried -n 1 switch, but this does not seem to work alone without -t.
Sincerely,
Zenith-Nadir

Errr... not really. If the cert cannot be retrieved, it's impossible to send authenticated DNS queries.

Thank You so much for such an instant response.
This answers my question.
Sincerely,
Zenith-Nadir


docs: Update input_toggle_active example

Objective

Update incomplete example for bevy::input::common_conditions::input_toggle_active.

Solution

Update example.

this example is actually not using input_toggle_active, could you remove it from the imports? and it should show how to use input_just_pressed for that case instead of checking it in system

It's just removing the import, the condition was actually never used in the condition. From my understanding, this specific example is more "you can't use that condition if you need to move the state to your own resource/state/whatever"