Is the project dead?

I saw that people keep submitting PRs to fix the same things and you didn't accept any of them in more than 6 months.
Should we use timrc-git/mdbm instead?
Thanks,
Luiz.

@zertyz I'm not sure what's happening at Yahoo these days, especially with the Verizion/Oath transition.
But you're always welcome to make requests against timrc-git/mdbm.
If you do, please split out the Java10 stuff as a separate commit. (Since it's probably not backward compatible, it should go on a different branch, as some users have a fair amount of "inertia" on their software stack.)
Thanks!
.timrc

To save future searches one moment of time, timrc-git's fork is https://github.com/timrc-git/mdbm

Technically, this repo is the fork, and mine is the original. :D
Cheers!
.timrc

@timrc-git If you don't intend to update this fork repo, you can archive this repo to avoid confusion.
https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository

@okuryu I haven't worked for Yahoo! for a number of years now.
Even if I had permissions, it would not be appropriate for me to do so.

I believe @gyehuda can help on this.

I am getting freed up at work soon.  We are still using it internally and will be make some changes to get this project back up to speed.
@timrc-git how out of sync is this repo with yours?

I'm glad to help. Let me know what I can do here.


Output on windows doesn't match correctly

We are seeing a bit of strange behavior in our CI tests only on windows runners.
Given this minimal example:
<!-- !test program
bash -c ">&2 echo foo"
-->

<!-- !test in blah -->
    junk

<!-- !test err blah -->
    foo

The test succeeds on MacOS and Linux (and on my local machine, running Ubuntu) but it fails on windows with
not ok 1 blah: error mismatch
  ---
  expected stderr: |
    foo

  actual stderr: |
    foo

  program: |
    bash -c ">&2 echo foo"
  stdout: ''
  input location: |
    line 21
  error location: |
    line 24
  program location: |
    lines 16-18

Comparison with stdout works as expected.

My mistake: stdout also fails to match correctly.
<!-- !test program
bash -c "echo foo"
-->

<!-- !test in blah -->
    junk

<!-- !test out blah -->
    foo

fails with
  expected stdout: |
    foo

  actual stdout: |
    foo

  program: |
    bash -c "echo foo"
  stderr: ''
  input location: |
    line 21
  output location: |
    line 24
  program location: |
    lines 16-18

Again, only on windows.

Just to make sure it wasn't some problem with bash, I've I tried the example use node from your readme. This also fails on windows:

<!-- !test in simple example -->

    console.log('a')
    console.log(42)
    console.log([1, 2, 3])

The output is:

<!-- !test out simple example -->

    a
    42
    [ 1, 2, 3 ]

fails with
TAP version 13
1..24
not ok 1 simple example: output mismatch
  ---
  expected stdout: |
    a
    42
    [ 1, 2, 3 ]

  actual stdout: |
    a
42
[ 1, 2, 3 ]

  program: |
    node
  stderr: ''
  input location: |
    lines 20-22
  output location: |
    lines 28-30
  program location: |
    line 16

This issue inspired me to write a new feature to make invisible control characters visible whenever they appear in diffs, using Unicode's Control Pictures block. That feels like it needed to be done anyway, but perhaps it also helps diagnosis here?
The change is live on npm, published in<EMAIL_ADDRESS>If you have an occasion to try it, I would be interested in the results.

I'll try this tomorrow! Thanks for the quick feature-add. This seems like it will be quite useful generally!

Great feature! You were spot on with the CR line endings:
not ok 1 non-existent file: error mismatch
  ---
  expected stderr: |
    error: file ../examples/non-existent.file does not exist␍

  actual stderr: |
    error: file ../examples/non-existent.file does not exist

  invisible characters in diff: |
    ␍ represents Carriage Return ("\r") [U+000d]
  program: |
    bash -
  stdout: ''
  input location: |
    line 24
  error location: |
    line 28
  program location: |
    lines 13-15
  exit location: |
    line 26
  ---

The reason my attempts to remediate weren't working before was that I assumed the \r was coming from the output in the windows environment, but it seems that it is instead coming from the expectation in the file, which, however, does not actually have the CR line endings! Somehow I guess node or the windows environment is inserting the CR when it's reading from the file on windows?

I think I'm having the same issue. I have a windows machine available and am happy to be a guinea pig.


Get v<IP_ADDRESS> fix on main

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[X] I have tested this change with a run of GEOSgcm (if non-trivial)
[X] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[X] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

@bena-nasa I pushed a change to get it ready for a release.


[bug] Incorrect fix for D210 (no whitespace surrounding docstring text)

When the summary ends in a double quote, the D210 fix produces invalid Python:
### Before:

def local_image(self, python_version: str) -> str:
    """Generates the local image name, like: "dagster/foo:some-tag" """

### After:
    """Generates the local image name, like: "dagster/foo:some-tag""""

I think ruff should just not apply the fix if the docstring ends in a '"', since it's supposed to end in a period anyway.

These are great cases, thanks for filing.


/host/azure.json path

How does /host/azure.json get set from /etc/kubernetes/azure.json ?

using a hostPath -
apiVersion: extensions/v1beta1
kind: Deployment
...
spec:
  ...
    spec:
      containers:
      - ...
      initContainers:
        ...
        volumeMounts:
        - name: host-sp
          mountPath: /host/azure.json
          readOnly: true

      - name: host-sp
        hostPath:
          # this file contains the cluster service-principal, it exists on every node by default
          path: /etc/kubernetes/azure.json
          type: File

Thanks for the clarification.
I followed README.md, the pod is running, however, I am unable to see the secret:
I saw the folder "secrets" but its empty.
Am I doing something wrong ?

can you upload the YAML you used and the logs from the init-container?

I had a mistake in my code. I figured it out tho. Thanks for the prompt response.


Add scan server prefix to valid zooProp list

Adds the scan server properties prefix to the list of valid zooProps.
This allows the scan server properties to be modified via the shell.

@ddanielr - I looked through the ScanServer code. These need to be added to the fixedProperties. The only properties that are checked at runtime are the ones dealing with the scan executors.
      // sserver fixed properties
      SSERV_CACHED_TABLET_METADATA_EXPIRATION, SSERV_PORTSEARCH, SSERV_DATACACHE_SIZE,
      SSERV_INDEXCACHE_SIZE, SSERV_SUMMARYCACHE_SIZE, SSERV_DEFAULT_BLOCKSIZE,
      SSERVER_SCAN_REFERENCE_EXPIRATION_TIME, SSERV_CLIENTPORT, SSERV_MAX_MESSAGE_SIZE,
      SSERV_MINTHREADS, SSERV_MINTHREADS_TIMEOUT, SSERV_THREADCHECK,

I took that list and also expanded it to include those properties under any other server types.

It would be nice to have an extra attribute on each property that denoted these attributes, so we didn't have to maintain a separate list. I'm not sure that would be a huge improvement, but it might make it easier to keep up-to-date because we'd have to consciously think about these attributes when we create or modify properties, rather than having to add them to a separate hard-coded list somewhere else when they need to be updated.


Visual Studio 2017 Community Edition not supported

Both the nuget and the visx installation file cannot be installed with Visual Studio 2017 Community Edition.

I would suggest trying thru vs 2017 or downloading separately cause its been tested to work with 2017 rtm, now the latest updates might be a different story.


Xerces-c x64

I can successfully compile Xerces-C x64 but cmake fails to find it.
Here are my steps:

vcpkg.exe install  xerces-c:x64-windows
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\vc\Auxiliary\Build\vcvars64.bat"
cmake ..  "-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake"

It then fails with this error:
CMake Error at C:/installed/cmake-3.9.6-win64-x64/share/cmake-3.9/Modules/FindXercesC.cmake:45 (file):
  file STRINGS file
  "c:/vcpkg/installed/x86-windows/include/xercesc/util/XercesVersion.hpp"
  cannot be read.
Call Stack (most recent call first):
  C:/installed/cmake-3.9.6-win64-x64/share/cmake-3.9/Modules/FindXercesC.cmake:87 (_XercesC_GET_VERSION)
  C:/vcpkg/scripts/buildsystems/vcpkg.cmake:192 (_find_package)
  CMakeLists.txt:6 (find_package)

CMake Error at C:/installed/cmake-3.9.6-win64-x64/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Failed to find XercesC (missing: XercesC_VERSION)
Call Stack (most recent call first):
  C:/installed/cmake-3.9.6-win64-x64/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  C:/installed/cmake-3.9.6-win64-x64/share/cmake-3.9/Modules/FindXercesC.cmake:91 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  C:/vcpkg/scripts/buildsystems/vcpkg.cmake:192 (_find_package)
CMakeLists.txt:6 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/CMakeFiles/CMakeOutput.log".
See also "C:/CMakeFiles/CMakeError.log".

Seems to work now.

Now I get
Failed to find XercesC (missing: XercesC_LIBRARY XercesC_INCLUDE_DIR   XercesC_VERSION)

this migth be a cmake problem.

Note that you've installed the x64 xerces, but you're trying to read the x86 version:

c:/vcpkg/installed/x86-windows/include/xercesc/util/XercesVersion.hpp


Updating Braze SDK to latest minor version v2.2 | PLATFORM-3353

Updating the braze SDK to pull the latest minor version. @anoonan can we not pin to just v2 major version so we don't need to hardcode update everytime they release a new minor update?

uhh i have no idea ̄_(ツ)_/ ̄ @ccnixon @CarlosMecha or @gpsamson might know better

I can answer that question for Braze - our "minor" version releases actually contain potentially breaking changes (for instance, the move from 2.1 to 2.2 here removed the previously-deprecated appboy.requestInAppMessageRefresh() method), so only patch version releases are safe to automatically upgrade to - hence, we don't publish the SDK to a "major only" url.

For our (Segment's) reference: https://github.com/Appboy/appboy-web-sdk/blob/master/CHANGELOG.md

Hi @hankim813, as part of the monorepo migration, this issue has been moved to new issue. Our engineers have been notified and will prioritize and work on it ASAP. Thank you!
For more information, see README.md.


TSED LOG redirection to file

Is there a mechanism to redirect all the TSED logs (plus any other logs coming out of libraries used in the project) to a single file.
This is what i have done. is there a better way to do it.
https://gist.github.com/panbhatt/d0abd901752619c133419af5a4cb43cb

Look into this: https://logger.tsed.io/appenders/file.html

but how do i inject the appender into the default $log instance?

Just get the $log variabel from @tsed/common and add your appender :)
import {$log} from "@tsed/common";

$log.appenders.set("file", {
    type: 'file',
    filename: 'all-the-logs.log'
});

Thank you a lot! Worked like a charm.


Add I:E ratio calculation to Arduino Master

The master should calculate the I:E ratio once per breath and pass it to the display nano and the GUI. I is the time from closing valve 1 to opening valve 2. (It should be equal to Inspiration Time). E is the time from opening Valve 2 to Opening Valve 1.

Closed by #108


Gemma-2 with Temperature=0 gives different output

Version: llama-cpp-python==0.2.82
Model: "bartowski/gemma-2-9b-it-GGUF/gemma-2-9b-it-Q8_0.gguf"
When I load the gemma2 model with temperature=0, and run a simple prompt, it always gives the same output.
However, when I enter long, complex prompts, the output changes.
Confusingly, if I repeat the same long prompt multiple times, the first and second results are different, but soon the output becomes same with iteration.
When I loaded the same model directly using the llama-cli in llama.cpp, I didn't have this problem.
Also, I didn't have this problem with llama-3. What could be the problem?
My test code is below
from llama_cpp import Llama

llm = Llama(model_path="~/.cache/huggingface//hub/models--bartowski--gemma-2-9b-it-GGUF/snapshots/d731033f3dc4018261fd39896e50984d398b4ac5/gemma-2-9b-it-Q8_0.gguf", chat_format="gemma", n_batch=512, n_ctx=8192, n_gpu_layers=-1)

output = llm("""You are a renowned historian specializing in ancient civilizations, and you have been invited to give a lecture on the political, social, and technological advancements of the Sumerian civilization, particularly during the Ur III period (circa 2100-2000 BCE). Your audience includes scholars, students, and history enthusiasts. Your lecture should cover the following key areas in detail:
        1.      Political Structure: Describe the centralized administration, the role of the king, and the bureaucratic system.
        2.      Economic Systems: Explain the agricultural innovations, trade networks, and economic policies.
        3.      Social Hierarchy: Discuss the class structure, roles of different social groups, and gender dynamics.
        4.      Technological and Scientific Contributions: Highlight key inventions, advances in mathematics and astronomy, and architectural achievements.
        5.      Cultural and Religious Practices: Explore their religious beliefs, major deities, and cultural contributions like literature and art.
Ensure your lecture is comprehensive, well-researched, and engaging, providing clear examples and drawing connections to how these advancements influenced later civilizations.""", # Prompt
      max_tokens=8192, # Generate up to 32 tokens, set to None to generate up to the end of the context window
      echo=False, # Echo the prompt back in the output
      temperature=0.0
) # Generate a completion, can also call create_completion
print(output)

#When I run same Prompt and get output2, it is different from above output

I'm not confident on the reason of the behavior, but in reality, tempelature=0.0 doesn't means $temperature=0.0$.
The true meaning is
$temperature=\epsilon$
, where $\epsilon$ is very small number. This is to avoid division by zero.


PR: Add new schema

This PR adds new schema to the papyri db,

[x] Renames the connection to the database
[x] Creates two tables, documents and links where the information will be stored
[ ] Adds new logic to add new information to the documents table
[ ] Fixes the current logic to create the entries for the links table
[ ] Adds new logic to remove information from the documents table
[ ] Fixes the current logic to remove the information from the links table

Fixes #86

Thanks ! Merged as part of #98 (had to rebase)


Now frunk / trunk / charger are covers ... it leads to issue in HomeKit, expose lock too?

Hi,
First thanks for the amazing integration.
Is your feature request related to a problem? Please describe.
In v3.0 frunk/trunk/window/charger port are now covers (vs lock before)
My issue is that I map all of those in HomeKit (to do some automation from here and have better access to those functionalities) ... and cover in home assistant are rightfully mapped as HomeKit window covering .... so when you say "open all the window blind in the house" to siri ..... it actually will open my "real" blind, and my whole Tesla ... even if my car is far from home :(
Describe the solution you'd like
keeping everything like it is today ... but adding back the lock entities (in addition to the cover ones) so we can choose by enabling / disabling entities the way we want to handle those elements.
Thanks for reading :) ... and more than happy to assist
BR
Thomas

This may be a case where you need to exclude the cover from Home kit or HA. It also may be an HA enhancement to not expose certain items to Homekit. We are not likely to bring back the old architecture because cover is the most appropriate entity of all the available ha entity types.

Hi,
Yes I can already not expose the covers if I want to homekit it is already possible in HA.
Understood your point of view anyway no pb. Will fork the project, or find a may in yaml to expose a switch entity from a cover if possible.
BR
Thomas

Hi,
Just so you know, I get this solved through a simple YAML solution, so for anyone interested:
-do not expose Tesla cover anymore in HomeKit in your yaml configuration:
-add in your yaml configuration:
`
lock:

platform: template
name: Model 3 de Thomas Charger Door
unique_id: model_3_de_thomas_charger_door_lock_YAML
value_template: "{{ is_state('cover.model_3_de_thomas_charger_door', 'closed') }}"
lock:
service: cover.close_cover
target:
entity_id: cover.model_3_de_thomas_charger_door
unlock:
service: cover.open_cover
target:
entity_id: cover.model_3_de_thomas_charger_door
platform: template
name: Model 3 de Thomas Frunk
unique_id: model_3_de_thomas_frunk_lock_YAML
value_template: "{{ is_state('cover.model_3_de_thomas_frunk', 'closed') }}"
lock:
service: cover.close_cover
target:
entity_id: cover.model_3_de_thomas_frunk
unlock:
service: cover.open_cover
target:
entity_id: cover.model_3_de_thomas_frunk
platform: template
name: Model 3 de Thomas Trunk
unique_id: model_3_de_thomas_trunk_lock_YAML
value_template: "{{ is_state('cover.model_3_de_thomas_trunk', 'closed') }}"
lock:
service: cover.close_cover
target:
entity_id: cover.model_3_de_thomas_trunk
unlock:
service: cover.open_cover
target:
entity_id: cover.model_3_de_thomas_trunk
platform: template
name: Model 3 de Thomas Window
unique_id: model_3_de_thomas_window_lock_YAML
value_template: "{{ is_state('cover.model_3_de_thomas_windows', 'closed') }}"
lock:
service: cover.close_cover
target:
entity_id: cover.model_3_de_thomas_windows
unlock:
service: cover.open_cover
target:
entity_id: cover.model_3_de_thomas_windows
`

So issue can be closed ...


HBASE-25188 Mark all meta znode related methods as deprecated

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 19s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ HBASE-24950 Compile Tests _

+0 :ok:
mvndep
0m 22s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 43s
HBASE-24950 passed

+1 :green_heart:
checkstyle
1m 59s
HBASE-24950 passed

+1 :green_heart:
spotbugs
3m 29s
HBASE-24950 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 13s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 32s
the patch passed

+1 :green_heart:
checkstyle
0m 26s
The patch passed checkstyle in hbase-client

+1 :green_heart:
checkstyle
0m 11s
The patch passed checkstyle in hbase-zookeeper

+1 :green_heart:
checkstyle
1m  2s
The patch passed checkstyle in hbase-server

+1 :green_heart:
checkstyle
0m 17s
hbase-it: The patch generated 0 new + 0 unchanged - 2 fixed = 0 total (was 2)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
20m 12s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.

+1 :green_heart:
spotbugs
5m  0s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 50s
The patch does not generate ASF License warnings.

52m  8s

Subsystem
Report/Notes

Docker
Client=19.03.13 Server=19.03.13 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2545

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux ef1956525425 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
HBASE-24950 / 0223431f23

Max. process+thread count
94 (vs. ulimit of 30000)

modules
C: hbase-client hbase-zookeeper hbase-server hbase-it U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 28s
Docker mode activated.

-0 :warning:
yetus
0m  4s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ HBASE-24950 Compile Tests _

+0 :ok:
mvndep
0m 21s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 11s
HBASE-24950 passed

+1 :green_heart:
compile
2m 22s
HBASE-24950 passed

+1 :green_heart:
shadedjars
6m 39s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 40s
HBASE-24950 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m  0s
the patch passed

+1 :green_heart:
compile
2m 22s
the patch passed

+1 :green_heart:
javac
2m 22s
the patch passed

+1 :green_heart:
shadedjars
6m 38s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 41s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m  6s
hbase-client in the patch passed.

+1 :green_heart:
unit
0m 43s
hbase-zookeeper in the patch passed.

-1 :x:
unit
135m 54s
hbase-server in the patch failed.

+1 :green_heart:
unit
1m  7s
hbase-it in the patch passed.

172m 21s

Subsystem
Report/Notes

Docker
Client=19.03.13 Server=19.03.13 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2545

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 56963fd95533 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
HBASE-24950 / 0223431f23

Default Java
2020-01-14

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/testReport/

Max. process+thread count
4191 (vs. ulimit of 30000)

modules
C: hbase-client hbase-zookeeper hbase-server hbase-it U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 40s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ HBASE-24950 Compile Tests _

+0 :ok:
mvndep
0m 21s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 10s
HBASE-24950 passed

+1 :green_heart:
compile
2m 17s
HBASE-24950 passed

+1 :green_heart:
shadedjars
7m 19s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 30s
HBASE-24950 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 54s
the patch passed

+1 :green_heart:
compile
2m 13s
the patch passed

+1 :green_heart:
javac
2m 13s
the patch passed

+1 :green_heart:
shadedjars
7m  9s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 27s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 14s
hbase-client in the patch passed.

+1 :green_heart:
unit
0m 41s
hbase-zookeeper in the patch passed.

-1 :x:
unit
216m 32s
hbase-server in the patch failed.

+1 :green_heart:
unit
1m  4s
hbase-it in the patch passed.

254m  6s

Subsystem
Report/Notes

Docker
Client=19.03.13 Server=19.03.13 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2545

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux cfac1cc32bde 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
HBASE-24950 / 0223431f23

Default Java
1.8.0_232

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/testReport/

Max. process+thread count
3403 (vs. ulimit of 30000)

modules
C: hbase-client hbase-zookeeper hbase-server hbase-it U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2545/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


Support for .pdf not available as answer, rather than only .png (image)

Tried pdf documents as answer, not working, ok, acceptable, just mentioning here.

Imagine those .pdf's as already prepared small .pdf's with only a few sentences in it, so not a big article or so.


Implement and style vue-select component

This PR adds and customizes a vue-select Component for dropdown filtering. vue-select is a great, feature rich select/dropdown/typeahead component Vue component. I am using it here to allow the user to do filtering using multiple selections, and to add a colored dot next to each selection that matches what is shown for the dots on the map. I also cleaned up some parts of both the Map and Gallery components.

the new component looks great!


feat(lep): implement volume delta copy inside SPDK

There are a couple of options about delta copy implementation in SPDK, I described both so we can discuss together and choose the best one for Longhorn.

The concern of the current design is, if the node is suddenly powered off when a replica/lvol keeps handling write requests, is the last succeed write (retuned to the caller) really flushed into disk rather than cached in SPDK/OS? This determines if we can use that write bitmap recorded in the replica offline period to apply the delta rebuilding.
Regardless of of the above concerns, I raised an alternative for the special case (snapshot creation during the replica offline period) mentioned in LEP option 1. I would explain it with the following example:

Let's say a volume has 2 replicas:

replica 1: existing snapshots lvol -> valid head lvol
replica 2: existing snapshots lvol -> valid head lvol

Suddently, replica 2 is offline. And there are 3 new snapshots created during the offline periods:

replica 1 (healthy): existing snapshots lvol ->     snapshot 1    ---> snapshot 2 -> snapshot 3 -> valid head lvol
replica 2 (offline): existing snapshots lvol -> invalid head lvol

After the replica 2 back, of course there would be mismatching between the replica 2 invalid head lvol and snapshot 1. In this case, we can rely on the bitmap recorded during the replica 2 offline to do delta rebuilding for the replica 2 invalid head lvol.

replica 1 (healthy): existing snapshots lvol ->    snapshot 1   ---> snapshot 2 -> snapshot 3 -> valid head lvol
replica 2 (offline): existing snapshots lvol ->  rebuilding lvol

After finishing the rebuilding for snapshot1, we will make the rebuilding lvol as snapshot1 for replica2. Then a new rebuilding lvol can be created for snapshot 2 rebuilding. But here, there is no need to use bitmap anymore. We can directly copy all data of snapshot 2 to the new rebuilding lvol.

replica 1 (healthy): existing snapshots lvol -> snapshot 1->     snapshot 2     -> snapshot 3 -> valid head lvol
replica 2 (offline): existing snapshots lvol -> snapshot 1 ->  rebuilding lvol

Similar to step 4, we can do full copy when rebuilding snapshot 3

In this case, the bitmap is necessary for snapshot1 rebuilding only. In other words, when the first snapshot of the offline period is created, we can stop modifying the bitmap.

Thanks Shuo for these considerations.

The concern of the current design is, if the node is suddenly powered off when a replica/lvol keeps handling write requests, is the last succeed write (retuned to the caller) really flushed into disk rather than cached in SPDK/OS? This determines if we can use that write bitmap recorded in the replica offline period to apply the delta rebuilding.

Inside SPDK data are not cached, so if we use SPDK NVMe driver to attach SPDK directly to the disk, we can assume data are flushed to the disk. Instead, if we rely on Linux driver using SPDK AIO Bdev, both for NVMe disks and for older disk technologies,  we can't assume this is true.
I think that in this latter case we should perform a checksum of the snapshot to be rebuilt, maybe over all the clusters that are not present in the bitmap.

In this case, the bitmap is necessary for snapshot1 rebuilding only. In other words, when the first snapshot of the offline period is created, we can stop modifying the bitmap.

Ok, so when the bitmap is retrieved by the caller it can be deleted from RAID.

In today's discussion, we confirmed that spdk aio will open the device with flag O_DIRECT. Hence we don't need to worry about the cache issue.

But there is another scenario raised: If the node/spdk_tgt the RAID resides on gets crashed, how do we handle the failed replica on this node after the RAID back? There are 2 issues here:

When the RAID gets crashed, some base bdevs/replicas finish the in-fly writes while others do not. In other words, there may be still inconsistency among the RW replicas. Currently, Longhorn SPDK volumes ignore this issue and consider all healthy replicas as available since there is no inconsistency mechanism (like revision counter for v1 volumes) to protect them. ==> In the upcoming release v1.6, we cannot introduce the mechanism hence we will keep the current behavior for SPDK volumes.
When the RAID gets crashed and restarted, there is nothing for the bitmap. Then the question is, how can we do for the failed replica?
If we need to rebuild the replica, which healthy replica should we use when there is no revision counter to figure out the latest replica? Derek said that we can pick up anyone. Since neither Longhorn nor users should expect that the in-fly IO data is already in any healthy replicas. Typically even if we can pick up the latest replica, it may contain a crashed filesystem. After the fsck repair, the partially writing succeed data may get removed. (And after launching an appropriate inconsistency detection mechanism, we can pick up a random healthy replica then do sync-up for all other healthy replicas). Then the next is, how do we rebuild the failed replica? We can do full rebuilding or use the v1 volume way.
Or we don't need to rebuild the failed replica for the engine crash case at all. If the in-fly writes are not taken into consideration, there is no difference between the failed replica and healthy replicas on other nodes. But the controller plane needs much more effort to figure out if the failed replica and the engine are crashed at the same time. The rebuilding can be skipped in this case only.

Besides, we discussed the bitmap update flow. The basic idea is, setting the bit when there is a write coming, and unsetting the bit when all base bdevs are mode RW and finish that writing. Without the bit cancellation, all bits may be already 1 even if the failed replica just failed for seconds, which means a full rebuilding.

I believe we will update this soon after some following previous discussion?

I have just updated the proposal with all the feedback and suggestions received from @shuo-wu , @derekbit , @innobead and SPDK core maintainers.

@DamiaSan is this refined as per the recent implementation?

@DamiaSan is this refined as per the recent implementation?

Yes, all general concepts don't change, I am only changing the internal implementation of the delta copy handling inside spdk.

Just pushed a new revision with the new APIs for the delta map handling and the decision about the calculation of the snapshot checksum.


(IDEA) homepage - additional space (cosmetics stuff)

Can we add a bit more space under the title?

@klaudia2209 normally we handle such issues in more free time (like between warsaw editions - like in the summer) ... no NO TIME... i add it this to "UX" milestone


Remove -D_WCHAR_T_DEFINED from scripts and parser profiles

Describe the bug
wchar_t has been removed as a keyword in 8c71f9d7fabd4ca2c540cd24e5e6272682810f6c (#5108). -D_WCHAR_T_DEFINED and -D_WCHAR_T should be removed from the following files:
Ghidra/Processors/JVM/ghidra_scripts/CreateJNIGDTArchivesScript.java:116:                               "-D_WCHAR_T",
Ghidra/Processors/JVM/ghidra_scripts/CreateJNIGDTArchivesScript.java:162:                               "-D_WCHAR_T",
Ghidra/Features/Base/ghidra_scripts/CreateExampleGDTArchiveScript.java:476:                             "-D_WCHAR_T_DEFINED",
Ghidra/Features/Base/data/parserprofiles/MacOSX_10.5.prf:210:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/generic_clib_64.prf:234:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/linux_32.prf:531:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/MacOSX_10.9.prf:326:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/VisualStudio12_64.prf:196:-D_WCHAR_T_DEFINED
Ghidra/Features/Base/data/parserprofiles/VisualStudio9.prf:88:-D_WCHAR_T_DEFINED
Ghidra/Features/Base/data/parserprofiles/vs12Local.prf:242:-D_WCHAR_T_DEFINED
Ghidra/Features/Base/data/parserprofiles/VisualStudio12_32.prf:194:-D_WCHAR_T_DEFINED
Ghidra/Features/Base/data/parserprofiles/generic_clib_32.prf:234:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/linux_64.prf:531:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/MacOSX_Cocoa.prf:31:-D_WCHAR_T
Ghidra/Features/Base/data/parserprofiles/clib.prf:90:-D_WCHAR_T

This list is generated by grep -n -r 'D_WCHAR_T'.
Environment (please complete the following information):

Ghidra Version: 10.3 75a185aa9efc65f98b2291c9affaeb92d6163cfd

Agree they should be removed.  The changes were tested to make sure the C parsing can handle a header file defining wchar_t with a typedef or relying on the it already defined internally by the compiler.
wchar_t is replaced with the Ghidra built-in wchar_t to better handle cross data organization conversions.

My hope is you aren't seeing any errors in parsing because of the left in -D_WCHAR_T or -D_WCHAR_T_DEFINED entries noted above?

No, but I haven't used the C Parser after the recent change. I opened this issue because I happened to read the commit 8c71f9d7fabd4ca2c540cd24e5e6272682810f6c, and found that -D_WCHAR_T and -D_WCHAR_T_DEFINED were removed from CreateDefaultGDTArchivesScript.java but not other files.

fixed in 2cdaebf0c350ad10bb005d26a9cdb73cc9d1ba94


Blocked input on Samsung devices

The code below blocks input on Samsung phones:
final mmTextController = MoneyMaskedTextController(
decimalSeparator: DecimalSeparator,
thousandSeparator: ThousandSeparator,
precision: precision,
);
mmTextController.afterChange = (String maskedValue, double rawValue) {
// the line below blocks any further input on Samsung phones
mmTextController.selection = TextSelection.collapsed(offset: mmTextController.text.length);
};

Hey! I have a similar problem. :(
Only in Samsung devices, when trying update the mask, keyboard freezes
I did a example.

import 'package:flutter/material.dart';
import 'package:flutter_masked_text/flutter_masked_text.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  MaskedTextController _controller;

  @override
  void initState() {
    _controller = MaskedTextController(mask: "(00) 0000-0000", text: "");
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(
              keyboardType: TextInputType.number,
              controller: _controller,
              onChanged: (newValue) {
                if (newValue.length >= 15) {
                  _controller.updateMask("(00) 00000-0000");
                } else {
                  _controller.updateMask("(00) 0000-0000");
                }
                _controller.updateText(newValue);
              },
            ),
          ],
        ),
      ),
    );
  }
}

Maybe this issue have associate with this https://github.com/flutter/flutter/issues/42273

I found this issue on Flutter Github.
@flaviup try change to master channel, maybe resolve your problem

@Giuliano-Stravini hi, I have the same problem (on Samsung Note 8). I'm using Flutter Channel stable, v1.17.0
If I use TextFormField without MoneyMaskedTextController, it will be okay. How can MoneyMaskedTextController cause the lagging? Do you know?
Have you fixed your problem yet?

Hi @QkLahpita,
Unfortunately, not yet

This issue has been resolved?

Same problem here. Any updates?

same problem, delay in samsung devices.

same here, delay input in samsung devices's keyboard


encode ProxyAdminOwner exceptions for Base and Unichain

The Standard Rollup Charter, as ratified, has specific exemptions for the ProxyAdminOwner for Base and Unichain. These chains can have their PAO set to a 3/3 instead of the specified 2/2.
We should make sure that these chains have exceptions encoded in the SCR validation checks that match these requirements.

@tessr a few questions for clarification:

Is there a single, standard address for the 3/3 that we should validate against for Base and Unichain ProxyAdminOwner, or is the address different for those two chains? Do you know what the address is?
Is the 3/3 only used for mainnet for Base and Unichain or on sepolia as well?
Should we enshrine the 3/3 address in the standard-roles-*.toml file(s) (e.g. here)?

Currently blocked on Unichain launch, TBD on Base.

Currently blocked on Unichain launch, will become urgent once ready.


Add production image to README

Aren't these changes already in develop?

@simonprickett yeah this is for a merge to master

brings in some of richards error handling and better advertising photo

Going to close this and will just move develop -> master instead.


Improvement required in the footer section.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

Please assign me this task so that I can work on it under GSSOC'24.

Please assign me this task so that I can make required changes under GSSOC'24

@Braj-01
This has been fixed in the PR https://github.com/sk66641/Random-Disco-Light-Simulator/pull/243. To keep our issue tracker organized, this issue will be closed.


Capstone future

Creating a Budget App with Rails
In this capstone project, I built a mobile web app that allows users to manage their budgets.

💻 Development Process

Setup a new Rails app with Postgres database

Created a user authentication system with device

Created models and database schema based on this ERD diagram

Added splash screen and authentication forms (home)

Created the following pages:

group- displays the list of all categories

entities-page- displays the list of all transactions for a category

created the following forms:

group#new- to add a new category

category#new- to add a new expense

Implemented #create and #destroy actions for categories and expenses

Added side menu

Added unit tests for models' validations and associations

Added request specs to test HTTP requests and responses

Added feature specs to test user interactions

Deployed the app on Render

🚀 Live Demo

You can visit the live website here:
live website
🎥 Presentation
This is my project presentation:
 Presentation

and bro I can't see any issues with my loom video too, please make sure any changes you request me. it's even working for my others machine also!

thanks


Display correct error message when embargo date exceeds collection manager imposed end date

I set a collection to only allow embargoes up to a year out. When I tried to deposit an item with an embargo farther out than that, an error message was displayed at the top of the page with inaccurate info indicating the limit was 3 years. The error message needs to match the limitation that was set.

Also displays incorrectly in red near the form field:

Also displays incorrectly in red near the form field:


dedup error - umi's of different length

error running umi dedup -
AssertionError: not all umis are the same length(!):  47 - 48
need to handle error, present alternative pathway

decided to create two paths - one for those internally demux and those not. if internal it will continue to look for the "rbc:" flag; can determine if another demux method is better at another point. if it's external it will assume "_".
resolved with commit eef47b3040cb1bda6c6f8bfbb48b1d283ea796db


Add docs for using Jib behind a proxy.

Solution by @chanseokoh : https://github.com/GoogleContainerTools/jib/issues/525#issuecomment-404176907

Let's add this to the FAQ?


Fails at parkour

If I wanted to contribute the ability to "parkour" to this module, would you be able to point me in the correct direction to do so?  What would it take in order to allow the program to make jumps?

There are 2 steps for adding special moves:

Make the pathfinder aware that move is valid (and assign it a cost to compare it to other possible moves)
Implement a control algorithm to execute that move (or more likely modify the existing control algorithm)

First step is done by generating the move in the getNeighbors function: https://github.com/PrismarineJS/mineflayer-pathfinder/blob/master/lib/movements.js#L333
Second step is done here https://github.com/PrismarineJS/mineflayer-pathfinder/blob/master/index.js#L327 by adjusting the control states and heading direction.
At the moment, only basic parkour is implemented (1 blocks gaps, towering,..). It would be interesting to add more complex movements (>1 block jumps, fall in water (place bucket), ladders and vines).

So, not sure if this deserves a new issue or is under this catergory, but sometimes I see the bot failing at making a simple single block horizontal jump, e.g:
https://v2.femto.pw/d4wy.mp4
It doesn't always happen, take this similary single block jump from standing:
https://v2.femto.pw/4upj.mp4
Here the bot succeeds on the first jump, but then fails the second:
https://v2.femto.pw/m5iw.mp4
All of these are reproducible failures, given the same environment.

Yeah, that says the control algorithm need to be improved. Feel free to play with it.


Chore: Adding lint workflow and fixing format issues

Tasks Done

Added TS linting, formating and typecheck workflow
Updated scripts in package.json for formatting the files
Formatted several files by the added command.

Issue Number:
#539
Screenshots/videos:
N/A
If relevant, did you update the documentation?

N/A
Summary
Code files are now formatted

Thank You @frouioui I have made the required changes, currently the workflow is failing since some files are not formatted and due to failing type checks.
Looking forward to fix these in upcoming PRs.
This one is ready to merge : )

Hello @DhairyaMajmudar, there are many conflicts, could you fix them before I merge this?

Hello @DhairyaMajmudar, there are many conflicts, could you fix them before I merge this?

Sure thing : )

@frouioui @notfelineit a kind ping for PR review.


Turnstile bypass does not work on Docker

It seems that cloudflare turnsitle bypass is not working on Docker. It just does not check it.
Working on windows.
1.3.9 version with headless:false
Example site freebitcoin:

It works, but the site has increased the width of the div containing the Cloudflare Captcha. For this reason, it clicks in the wrong place. Since the solving system cannot be integrated into every css changing site, you need to update it.
For example, for the password reset page, you can make the width of the div covering the Turnstile 300px as below.
document.querySelector("#forgot_password_cf_turnstile > div").setAttribute('style','width:300px')

So

It works, but the site has increased the width of the div containing the Cloudflare Captcha. For this reason, it clicks in the wrong place. Since the solving system cannot be integrated into every css changing site, you need to update it. For example, for the password reset page, you can make the width of the div covering the Turnstile 300px as below. document.querySelector("#forgot_password_cf_turnstile > div").setAttribute('style','width:300px')

Sorry but this is not the issue. On windows machine is working.
I added the "fix" but its the same. Its not working

So

It works, but the site has increased the width of the div containing the Cloudflare Captcha. For this reason, it clicks in the wrong place. Since the solving system cannot be integrated into every css changing site, you need to update it. For example, for the password reset page, you can make the width of the div covering the Turnstile 300px as below. document.querySelector("#forgot_password_cf_turnstile > div").setAttribute('style','width:300px')

Sorry but this is not the issue. On windows machine is working. I added the "fix" but its the same. Its not working on Docker

Can you provide a code example that can reproduce this error?

Just login with any email and password and and load the home page. It wont check the captcha


Question: How to get kubernetes pods fields as Environment varibales

Is this a BUG REPORT or FEATURE REQUEST?:
Question
What happened:
I am trying to fetch the node name of current POD execution similar to below
https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#use-pod-fields-as-values-for-environment-variables
What you expected to happen:
i could not able to figure out a way to get this info during workflow execution

I don't think we currently expose this

This is possible, you can use env vars.


Nick: Watch https://selar.co

Nick requests the watch of the watch_keyword https://selar\.co. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

https://selar\.co has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Jeff Schaller in Charcoal HQ. Reason: 'incorrectly includes the https part; corrected in 8655'


support SQLite

Will there be support   SQLite?

I need it too

https://gist.github.com/xsduan/09fb145da3da3a78f5ca844b155f27aa
Maybe you should take the implementation from here?

Hello @blshkv, there's a bug when using the atomic context manager:
peewee_async.py:915: RuntimeWarning: coroutine 'AsyncSqliteConnection.release' was never awaited
  self._async_conn.release(conn)
Object allocated at (most recent call last):
  File "/home/guido/socialtrading/etl/venv/lib/python3.9/site-packages/peewee_async.py", lineno 915
    self._async_conn.release(conn)

Actually, peewee_async calls release as a normal function and not as a coroutine (no await).
I can't think of a fix as the release behavior in the patch is deeply bounded to other coroutines (and obv different from the peewee-async connection interfaces, in which release is a function).

The patch seems was adopted from postsql module, feel free to check it out and suggest the fix.

There's a huge chain of coroutines under release, so the patch cannot be changed.
Instead, I modified peewee_async

I encourage 05bit to release official SQLite support: it's crucial for unit testing.
My PR: https://github.com/05bit/peewee-async/pull/172

If you need sync calls you can try to use conn._conn property:
conn._conn.close()
conn._conn.commit() # btw i doutbt this line should be in release function

Unfortunately there are no plans for support sqlite yet


Fe: Click to copy address

small feature request to be able to click to copy the address on profile pages

similar idea to opensea profile page

Closing outdated issue. The new website has the copy address feature.


SecretsManager missing pop() override on SecretsStore when using delete_secret with "ForceDeleteWithoutRecovery=True"

SecretsManager delete_secret returns "An error occurred (ResourceNotFoundException) when calling the DeleteSecret operation: Secrets Manager can't find the specified secret." when passing an ARN as SecretId and "ForceDeleteWithoutRecovery=True"
The reason for this is that when ForceDeleteWithoutRecovery is set to true, it tries to "pop" off the secret id without running get_secret_name_from_arn to get the correct secret id.
secrets_manager.delete_secret(
    SecretId='arn:aws:secretsmanager:us-west-2:1234567890:secret:2d33b720-68cb-4ee1-a804-ee4ad4357c9a-CxruW',
    ForceDeleteWithoutRecovery=True
)

This was fixed in #3057, and now available in moto >= 1.3.15.dev889


chore: change permissions to 644

Remove erroneous executable permissions and group write permissions.

Looks good. Is this comprehensive?

Yep!


Do not close session when closing rule manager link if using single session

Follow up to https://github.com/Azure/azure-sdk-for-net/pull/28351

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


[JS] Add login configuration for EasyAuth

Login endpoint updates for EasyAuth
Added AlternateLoginHost and LoginPrefixUri for routing requests to non default login endpoints

Merged into new repo


Implement the abstract class for the mirror

Similar to issue #166. The mirrors require an abstract class that should include the following:
-[ ] Get/Set position (already implemented but needs to be written in the abstract class)
-[ ] Get/Set relative position
-[ ]Get/Set Movement Limits
-[ ] Get/Set step resolution
-[ ] Set Home()
-[ ] Set Origin(). Do you think this should be per axis?
Should we standardize this to a specific unit of measurement (i.e deg or um)?
Should we have a position buffer or do we just generate that with some np.linspace()?
@AhmetCanSolak @YangLiujames

@edyoshikun  what do you mean by Movement Limits and Origin exactly?

@AhmetCanSolak  for the movement limits I meant the min/max range on the axis (i.e the optotune has some max degree of rotation, and the galvos also have a maximum scan angle).
For Origin, I guess that's a convenient function to move to the origin. Most devices probably to (0,0) or center?

@edyoshikun The maximum moment limits already built in and if you read the docstring carefully it also explains a bit which why we have a limit of 1.

@YangLiujames the abstract class as it states is for global use not just for the optotune mirror. These should be exposed at a higher level. Currently, the optotune only has the position() and none of the mentioned above.

We should either do some sort of normalization like optotune or convert it back to degree or voltage. in that case


Add error message

When trying to use the render_template and render_template_string functions outside of the context of an application, a silly None error occurs that does not tell the user that this function only works when there is a flask application. I just fixed it.
I decided not to create a problem report about this, because this seems to be a fairly simple and small matter. Plus it's just like #4333 , which I've already fixed. Sorry, if this is still necessary, I will immediately create this message so that everything goes "by the rules".

Checklist:

[ ] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[ ] Add or update relevant docs, in the docs folder and in code.
[x] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[ ] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[ ] Run pytest and tox, no tests failed.

This is no longer needed, it's completely refactored in 2.2.


Cancel order and it's permits in ORDER_CANCELLED-event

Description
Cancel order and it's permits when Talpa sends ORDER_CANCELLED-event.
Update unit-test accordingly.
Context
PV-785
How Has This Been Tested?
Through updated unit test.

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (be9acf5) 84.23% compared to head (0c22020) 84.25%.
Report is 1 commits behind head on develop.

Files
Patch %
Lines

parking_permits/views.py
83.33%
2 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #476      +/-   ##
===========================================
+ Coverage    84.23%   84.25%   +0.01%
===========================================
  Files          160      160
  Lines         9809     9830      +21
===========================================
+ Hits          8263     8282      +19
- Misses        1546     1548       +2

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


package log

First sketch of basic logging features.

@ChrisHines some high-level questions first, so I can better understand the context...

Can you explain the motivation for defining the API with interface{} parameters for label dimensions? Could these keyvals be reified to a more concrete type, e.g. metrics.Field?
Why the split between Handler and Encoder? Could these be combined to a single Writer, or even replaced altogether by io.Writer?
Is Logger.New semantically equivalent to e.g. Counter.With? That is, it creates and returns a new Logger with some specific context?

Good questions @peterbourgon. The overall design follows most closely to log15, so reading its docs will likely help.

Can you explain the motivation for defining the API with interface{} parameters for label dimensions? Could these keyvals be reified to a more concrete type, e.g. metrics.Field?

I don't know what you mean by a "label dimension", but I will explain my thinking behind interface{} based key-value pairs.
Logrus, lager, and log15 all use string keys and interface{} values. But, at least in log15, string based keys resulted in a kind of hacky approach to overriding default keys, see inconshreveable/log15#4. So with gokit/log I took some inspiration from package context which uses interface{} keys for reasons explained in the blog post. The main benefit is that we can define unambiguously unique keys for things like levels and timestamps or other things we haven't thought of yet.
Having keys that cannot accidentally conflict with keys from other packages allows handlers to confidently operate on the known key and still let apps make the final call on how those keys are emitted to the backend, thus the ReplaceKeys handler.

Why the split between Handler and Encoder? Could these be combined to a single Writer, or even replaced altogether by io.Writer?

Conceptually a Handler filters and routes structured log records in key-value form. Handlers compose with other Handlers to form arbitrarily sophisticated logging pipelines. An Encoder converts a structured log record to unstructured form ([]byte). Encoders will only appear at the end of the logging pipeline.
I have gone back and forth on this question myself. I agree that it feels like all we should need are Handlers and package io interfaces, but my attempts in that direction have resulted in less orthogonal components. So I consider it an open question. I have some thoughts on the topic written down in inconshreveable/log15#38. Also, this comment in a log15 PR discussion talks about a use case where a single encoder (format in log15 lingo) is used by multiple handlers.

Is Logger.New semantically equivalent to e.g. Counter.With? That is, it creates and returns a new Logger with some specific context?

I'm not sure. I haven't found good documentation for the semantics of Counter.With yet, and I'm not familiar enough with the metrics domain to make a good guess. Logger.New in this PR has the same semantics as Logger.New in the package docs for log15.

I don't know what you mean by a "label dimension",

Given log.Log("message", "k1", "v1", "k2", "v2"), I mean k1=v1 and k2=v2 as label-pairs on "message".

but I will explain my thinking behind interface{} based key-value pairs.
Logrus, lager, and log15 all use string keys and interface{} values. But, at least in log15, string based keys resulted in a kind of hacky approach to overriding default keys, see inconshreveable/log15#4. So with gokit/log I took some inspiration from package context which uses interface{} keys for reasons explained in the blog post. The main benefit is that we can define unambiguously unique keys for things like levels and timestamps or other things we haven't thought of yet.
Having keys that cannot accidentally conflict with keys from other packages allows handlers to confidently operate on the known key and still let apps make the final call on how those keys are emitted to the backend, thus the ReplaceKeys handler.

Thanks for the context. I have a few thoughts here that I'm struggling to put into a coherent narrative, so please forgive me as I just kind of dump them out :)

I'm concerned about the performance cost of N type assertions for every Log invocation. I own and operate services that can become CPU bound based on log output even without this additional penalty.
Relatedly, I'm not sure why KeyVal is a sort of blessed interface type, which receives special treatment in the core logger implementation. If we have label-pairs (keyvals) which are mandatory, my intuition is they should be explicit, typed parameters to either the constructor or Log method. Otherwise, I would expect package log to treat all label-pairs (keyvals) as user-domain and operate on them blindly, without introspection. (It could be that I'm just not grokking the use case here; please feel free to educate me.)
If KeyVal and the type assertions go away, then so too disappears the concept of "default keys", and your problem is defined out of existence :)

Perhaps I'm thinking too naïvely, but I expected an API like
type Logger interface {
	With(Field) Logger
	Log(format string, args ...interface{})
}

type Field struct {
	Key, Value string
}

Conceptually a Handler filters and routes structured log records in key-value form. Handlers compose with other Handlers to form arbitrarily sophisticated logging pipelines. An Encoder converts a structured log record to unstructured form ([]byte). Encoders will only appear at the end of the logging pipeline.

I see. Do we actually want "arbitrarily sophisticated logging pipelines" within a single process -- especially encoded into the base type definitions? I know people who'd consider that to be an antipattern. Could those semantics rather be expressed as an opt-in abstraction layer? For example, taking my type Logger interface from above, if we wanted to implement a Splitting and Filtering logger, we could do...
func Split(next1, next2 Logger) Logger {
	return split{next1, next2}
}

func (s split) Log(format string, args ...interface[}) {
	s.next1.Log(format, args...)
	s.next2.Log(format, args...)
}

func Filter(matchRegex string, next Logger) Logger {
	return filter{regexp.MustCompile(matchRegex), next}
}

func (f filter) Log(format string, args ...interface{}) {
	if !s.re.Match(fmt.Sprintf(format, args...)) {
		return
	}
	f.next.Log(format, args...)
}

Sorry again for my rambling nature, and thanks in advance for your feedback. I'd also like to hear opinions from @taotetek and @tsenart on this...

I'm concerned about the performance cost of N type assertions for every Log invocation.

I agree that it is important for Log to have minimal overhead. I did some benchmarking, and the type assertions are not a problem, but memory allocations are. I was surprised how many allocations were happening. I now see the impact of this line from the Go 1.4 release notes: "...as of 1.4 interface values always hold a pointer ... programs that store integers (for example) in interfaces will see more allocations."

Relatedly, I'm not sure why KeyVal is a sort of blessed interface type ...

I'm not sure if that is a good idea yet either. That is the biggest experiment in this sketch.

I would expect package log to treat all label-pairs (keyvals) as user-domain and operate on them blindly, without introspection.

Can you explain what you consider the boundaries of the user-domain from gokit's perspective? In the context of the log API I've sketched out, I consider the Handlers and Encoders part of the user-domain because the main program has control over them, injects them into the Loggers via SetHandler(), and in fact may provide custom Handlers from outside package log.
More concretely, Gokit RFC004 says, "Log SHALL include severity as a k/v pair and allow setting it through the same mechanism as any other k/v pair." If an application wants to filter log records based on severity then introspecting the severity value in the k/v set seems the most obvious approach to me (see log15.LvlFilterHandler. Which leads to the problem of finding the severity without having some reserved keywords that callers to Log must avoid. That led me to create the explicit key consts. At that point a typical call to Log might look like this:
l.Log(log.LvlKey, log.Info, "msg", "Hello, world!")

Which seems rather verbose, so the introduction of the (admittedly magical) KeyVal interface allows for:
l.Log(log.Info, "msg", "Hello, world!")

Which isn't so bad, and actually not far from the typical l.Info("msg", "Hello, world!") of other logging packages. But it has the benefit of making severity levels optional when not doing diagnostic logging.

Perhaps I'm thinking too naïvely, but I expected an API like ... [see above for API].

What would a call sequence equivalent to mine above look like with that API?

Do we actually want "arbitrarily sophisticated logging pipelines" within a single process -- especially encoded into the base type definitions? I know people who'd consider that to be an antipattern.

I am having trouble parsing the phrase "encoded into the base type definitions" in this context, please explain.
The logging pipelines are completely under application control and may do anything from discard every log record, to asynchronously write to a network end point, with fail-over to local disk on error. One of my favorite Handlers from log15 for diagnostic logging is the EscalateErrHandler, which elevates the severity of a log record to Error if any of the k/v pairs has a non-nil error value (the link has more details and a code example). It is especially powerful when combined with the LvlFilterHandler mentioned above.
My goal is for a structured log API with composability on par with package io or net/http. I think it would be strange to consider those packages as antipatterns.

For example, taking my type Logger interface from above, if we wanted to implement a Splitting and Filtering logger, we could do...

It seems to me that approach combines the duties of the Logger and the Handler. It could work. It may pose a challenge handling a common requirement in diagnostic logging—although I didn't include it in my PR yet—to collect the source file and line number (or the stack trace) for each log record. Once you start wrapping Loggers around each other it becomes tricky to know how many layers up the stack to go before finding the last application stack frame. A thin Logger layer makes it easy to control the stack depth for the calls to Log so that we can pass a constant integer to runtime.Caller(). The logger then defers the layers of abstraction to the Handler chain in the same fashion that you have done with the Loggers.

I would expect package log to treat all label-pairs (keyvals) as user-domain and operate on them blindly, without introspection.
Can you explain what you consider the boundaries of the user-domain from gokit's perspective?

I meant only that it seemed like a violation of bounded context to have package log introspect on user-provided keyvals. But, as you rightly point out,

Log SHALL include severity as a k/v pair and allow setting it through the same mechanism as any other k/v pair.

creates an opportunity for confusion. The intention there, I believe, was to have contractual enumerations for severity that can be relied upon within gokit itself. But I anticipated that would take the form of
var (
    SeverityKey   = "severity"
    SeverityDebug = "debug"
    SeverityInfo  = "info"
    SeverityError = "error"
)

and be utilized like
func (t type) internalGokitFunction() {
    t.logger.With(log.SeverityKey, log.SeverityDebug).Log("something's happening") // or...
    t.debug.Log("something's happening") // t.debug being a pre-contextified log.Logger
}

What would a call sequence equivalent to mine above look like with that API?

(I believe I answer that with the above code excerpt. Please let me know if anything is still unclear.)

I consider the Handlers and Encoders part of the user-domain because the main program has control over them, injects them into the Loggers via SetHandler() . . .

My intuition is that handling should be composed from, rather than injected into, Loggers. You get at my meaning here, too:

It seems to me that approach combines the duties of the Logger and the Handler.

Indeed I don't (presently) understand why there should be a distinction between Loggers and Handler. They're both things that implement Log. Maybe you mean to parallel http.ServeMux and http.Handler?

It could work. It may pose a challenge handling a common requirement in diagnostic logging—although I didn't include it in my PR yet—to collect the source file and line number (or the stack trace) for each log record. Once you start wrapping Loggers around each other it becomes tricky to know how many layers up the stack to go before finding the last application stack frame. A thin Logger layer makes it easy to control the stack depth for the calls to Log so that we can pass a constant integer to runtime.Caller(). The logger then defers the layers of abstraction to the Handler chain in the same fashion that you have done with the Loggers.

That's fair. I'm biased toward functional composition whenever possible, and prefer to start there and be forced to concede to other methods when necessary. Of course — e.g. w/ threading context.Context through request handlers — sometimes it's necessary.

I've drafted a quick summary of my ideas about package log over in #21

#21 is merged so we'll close this one—thanks for the comments and feedback!


求解

05-24 08:55:12 [INFO] meme_generator.log | Config file path: /root/.config/meme_generator/config.toml
root@VM-8-7-ubuntu:~# meme run
05-24 08:55:24 [INFO] meme_generator.log | Config file path: /root/.config/meme_generator/config.toml
05-24 08:55:24 [INFO] uvicorn.server | Started server process [961196]       05-24 08:55:24 [INFO] uvicorn.lifespan.on | Waiting for application startup.
05-24 08:55:24 [INFO] uvicorn.lifespan.on | Application startup complete.
05-24 08:55:24 [INFO] uvicorn.server | Uvicorn running on http://<IP_ADDRESS>:2233 (Press CTRL+C to quit)
05-24 08:55:32 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:37682 - "POST /memes/do/ HTTP/1.1" 404
05-24 08:56:00 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:50650 - "POST /memes/hammer/ HTTP/1.1" 200
05-24 08:56:07 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:50664 - "POST /memes/kirby_hammer/ HTTP/1.1" 200                                        05-24 08:56:20 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:42234 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:09:59 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:36290 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:13:55 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:50950 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:15:50 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:33684 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:17:41 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:60148 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:18:03 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:46042 - "POST /memes/do/ HTTP/1.1" 404                                                  05-24 09:18:07 [INFO] uvicorn.protocols.http.h11_impl | <IP_ADDRESS>:46052 - "POST /memes/petpet/ HTTP/1.1" 200                                              ^C05-24 09:20:09 [INFO] uvicorn.server | Shutting down
05-24 09:20:10 [INFO] uvicorn.lifespan.on | Waiting for application shutdown.05-24 09:20:10 [INFO] uvicorn.lifespan.on | Application shutdown complete.
05-24 09:20:10 [INFO] uvicorn.server | Finished server process [961196]
root@VM-8-7-ubuntu:~# meme run
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 511, in loads
ret = decoder.load_line(line, currentlevel, multikey,
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 778, in load_line
value, vtype = self.load_value(pair[1], strictly_valid)
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 880, in load_value
return (self.load_array(v), "array")
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 1026, in load_array
nval, ntype = self.load_value(a[i])
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 910, in load_value
raise ValueError("This float doesn't have a leading "
ValueError: This float doesn't have a leading digit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/meme", line 5, in
from meme_generator.cli import main
File "/usr/local/lib/python3.10/dist-packages/meme_generator/init.py", line 3, in
from meme_generator.config import meme_config as config
File "/usr/local/lib/python3.10/dist-packages/meme_generator/config.py", line 72, in
meme_config = Config.load()
File "/usr/local/lib/python3.10/dist-packages/meme_generator/config.py", line 61, in load
return cls.parse_obj(toml.load(config_file_path))
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 134, in load
return loads(ffile.read(), _dict, decoder)
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 514, in loads
raise TomlDecodeError(str(err), original, pos)
toml.decoder.TomlDecodeError: This float doesn't have a leading digit (line 3 column 1 char 46)
root@VM-8-7-ubuntu:~# meme run
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 511, in loads
ret = decoder.load_line(line, currentlevel, multikey,
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 778, in load_line
value, vtype = self.load_value(pair[1], strictly_valid)
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 880, in load_value
return (self.load_array(v), "array")
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 1026, in load_array
nval, ntype = self.load_value(a[i])
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 910, in load_value
raise ValueError("This float doesn't have a leading "
ValueError: This float doesn't have a leading digit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/meme", line 5, in
from meme_generator.cli import main
File "/usr/local/lib/python3.10/dist-packages/meme_generator/init.py", line 3, in
from meme_generator.config import meme_config as config
File "/usr/local/lib/python3.10/dist-packages/meme_generator/config.py", line 72, in
meme_config = Config.load()
File "/usr/local/lib/python3.10/dist-packages/meme_generator/config.py", line 61, in load
return cls.parse_obj(toml.load(config_file_path))
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 134, in load
return loads(ffile.read(), _dict, decoder)
File "/usr/local/lib/python3.10/dist-packages/toml/decoder.py", line 514, in loads
raise TomlDecodeError(str(err), original, pos)
toml.decoder.TomlDecodeError: This float doesn't have a leading digit (line 3 column 1 char 46)

删了配置文件就好了


open() is not a function

Following the example from npm runkit https://npm.runkit.com/capacitor-email-composer and modifying the code to be as such:
require("@capacitor/core/package.json"); // @capacitor/core is a peer dependency.
var capacitorEmailComposer = require("capacitor-email-composer")
capacitorEmailComposer.open({})

I receive the error 'TypeError: capacitorEmailComposer.open is not a function’
When importing and using like this:
import { EmailComposerPlugin } from 'capacitor-email-composer';
EmailComposerPlugin.open({})

I receive the same error 'TypeError: capacitorEmailComposer.open is not a function’
Thank you for your help.

This plugin has no web implementation. Please open a new issue if you have problems in an native environment.


Texture Extensions

Resize and Reformat textures. Shows you how to render to texture to accomplish this. Also included a function that will grab the Source-file of an asset. Can be used to decompressed a texture by reading it directly from the disk.

@Idomeneas1970, thanks again, but this time we have some conflict. You need to merge first current toolkit to your branch, resolve to conflict and then you can push back to this PR 🙂. Probably I was also doing some refactoring before your PR..


Update humans

Thought this was getting out of date :)

Didn't know that there is a such a file, thanks for addition :+1: -> merge


feat: Add middleware (preprocessors) to mjml parser

Closes #42
Fixes #874
Fixes #457
This pull request adds a preprocessors feature to mjml parser. From now on, you can pass preprocessors as an option to MJMLParser to preprocess XML before it will generate final HTML elements.
MJMLParser(mjml, {
    keepComments: true,
    components,
    preprocessors: [
      data =>
        template(data)({
          buttons: [{ title: 'Title' }, { title: 'Title2' }],
        }),
    ],
  })

Each middleware has such (xml: string) => string; interface. This code also works when you do <mj-include pathh="other.mjml" />.
Test file: node packages/mjml-parser-xml/test/test-preprocessors.js

Probably, it also fixes #459

Please, let's merge that. We also really need this fix!

The feature looks great i'm not sure about the middleware naming, pre-processor might suits better here ?

@iRyusa I was also struggling around naming :) preprocessors sounds good to me. Changing.

@iRyusa due to the way you made this repo, there is no way to install the package from the feature branch (lerna + babel). Will you be able to make a release after the merge? Thanks

I should have some spare time next week to merge this & merge my own modifications on mj-column.
Will try to sync with @kmcb777 to merge his patch too and we should be able to release it :)

@kmcb777 I'll let you give a 2nd review and we'll merge it then

any updates? @iRyusa @kmcb777

@kmcb777 was in holiday, he should be back tomorow. I  won't have any time for review because of family issue but it should be OK to merge in 4.6 for  me

Hi @iRyusa, thanks for the merge. Will you publish new version npm? Thanks

Yup we're working on it will be available on 4.6

Will it work to generate tags in django. I don't want to preprocess and insert data, I want to add tags into the generated HTML which will be used by jinja template.


Monorepo Setup

According to this post, our monorepo is built incorrectly:
https://javascript.plainenglish.io/monorepo-setup-with-npm-and-typescript-90b329ba7275
Have a look on this docs to:
https://docs.npmjs.com/cli/v7/using-npm/workspaces
https://monorepo.tools/#monorepo-features
Check if we need to fix this!

We're using pnpm to manage our monorepo. The implementation differs a bit from npm workspaces so I'd not consider this a bug.
https://pnpm.io/workspaces


feat: modify_user functions added

Signed-off-by: ffyuanda<EMAIL_ADDRESS>

@hsluoyz @techoner plz review

lgtm


Property maxAge shouldn't brutally crash on runtime when set to a very large number

When invoking res.cookie with Number.MAX_SAFE_INTEGER, it crashes on runtime with the following error:
TypeError: option expires is invalid
    at Object.serialize (/client/node_modules/express/node_modules/cookie/index.js:161:13)
    at ServerResponse.res.cookie (/client/node_modules/express/lib/response.js:884:36)

If an error is thrown, A runtime validation should be performed on the API (which is the maxAge property). The option expires is an implementation detail.
Ideally, IMHO, an error should not be thrown (runtime errors are never acceptable). A sane default should be used as a fallback and a warning should be logged. The documentation should emphasise that maxAge expects a natural with a maximum limit.

Hello, and sorry to hear that. Throwing on invalid method / function arguments is the standard API in Node.js . You will find usage of any Node.js core API to do the same. We keep our API styles consistent with code.
You can test this with res.setHeader('\n'), which will throw and is not an Express.js API, but rather part of Node.js: https://nodejs.org/dist/latest-v18.x/docs/api/http.html#responsesetheadername-value


[Bug] Unique id is already in use

The problem
For me the 0.17.1 can not start:
ValueError: Unique id 'asusrouter_04:42:1a:79:0d:c0_temperature_cpu' is already in use by 'sensor.tuf_ax5400_temperature_cpu'
Your device model
TUF-AX5400
Firmware type
Stock
Firmware version
<IP_ADDRESS>.388_21224-g702a50f
Integration version with the issue
0.17.1
Method of the integration installation
HACS
What version and type of Home Assistant installation do you use
2023.1.2
Is there anything useful in the logs?
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 382, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/asusrouter/__init__.py", line 24, in async_setup_entry
    await router.setup()
  File "/config/custom_components/asusrouter/router.py", line 680, in setup
    entity_reg.async_update_entity(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_registry.py", line 749, in async_update_entity
    return self._async_update_entity(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_registry.py", line 695, in _async_update_entity
    raise ValueError(
ValueError: Unique id 'asusrouter_04:42:1a:79:0d:c0_temperature_cpu' is already in use by 'sensor.tuf_ax5400_temperature_cpu'

Diagnostics information
No response
Additional information
No response

Hello. Unfortunately, it seems like your configuration did not manage to migrate between the integration versions. The easiest way would be to remove and setup again this device.
Sorry for this. It was working well on both the testing environments I have and most of users do not experience any problems. But it was already once reported in #443
Sorry once more

Please, let me know, whether you went with the suggested step and if afterwords integration works fine

Hi,
thank you for the suggestion. With the reinstall it works fine.
On Mon, 9 Jan 2023, 14:05 Yevhenii Vaskivskyi, @.***>
wrote:

Please, let me know, whether you went with the suggested step and if
afterwords integration works fine
—
Reply to this email directly, view it on GitHub
https://github.com/Vaskivskyi/ha-asusrouter/issues/450#issuecomment-1375596098,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALHH3LIWEOV7YNFO6VF7JKLWRQEK3ANCNFSM6AAAAAATVD6VVI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Great! Thanks!


Move StringSegment to primitives

Working on adding some tests....

Where will this be used?

Routing

https://github.com/aspnet/Routing/pull/215

This is another one of those things like StringValues that's way more generate purpose than just our usage :laughing:

:watch: for tests

@Tratcher updated - do you have any concerns about adding parameter validation here?

Updated

:shipit:

:shipit:


How to use with dynamic content?

First, thanks for this library!
How to use it with dynamic content? For example, with images.
http://jsbin.com/tudevubive/edit?html,css,output

I think you need to use CSS for image. like .grid-item img {width:100%;}

@Mustafaoeztuerk not really 😀
@theaqua because you're loading images asynchronously you do need a lazy loading. I did a simple example here http://output.jsbin.com/ladilo
Note the display: inline-block in the .grid-item for this case where the content is dynamic.
Finally the last thing to note is that Minigrid won't work well with different width sizes. This is something I'm going to add to its documentation. I did this having in mind "cards" with equal widths but different heights. For anything else I'd recommend Isotope.

hmmm yeah I saw. I didn't look at carefully.

@Mustafaoeztuerk no worries 😊

@henriquea  can you check my issue for me ?

@henriquea thanks!


Add Blizzard OAuth instructions

Hi,
Would it be possible to add instructions for Blizzard OAuth?
Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5f869636-630e-2542-b029-199154ef70c3
Version Independent ID: cea7e5a6-383f-aeb5-2476-7c7d0a8bb851
Content: External OAuth authentication providers
Content Source: aspnetcore/security/authentication/social/other-logins.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Blazor?

This one ... https://develop.battle.net/documentation/guides/using-oauth
There are things out there for it with ASP.NET Core:

https://us.battle.net/forums/en/bnet/topic/20743755853 (shows someone using UseOpenIdConnectAuthentication)
Some discussion, link, info here :point_right: https://us.battle.net/forums/en/bnet/topic/14728823854
WOOT! :point_right: https://www.nuget.org/packages/AspNet.Security.OAuth.BattleNet/ with TOP community devs working on that! :+1:

@Rick-Anderson aspnet-contrib is already in the topic ... very first paragraph ... links off and lists that package with the rest ...

... I don't think that there's anything else for this issue.

Yes, thank you very much for your replies.
I meant mostly that links should be added on the Blazor tutorials list page.

I don't understand ... that's not a "Blazor tutorials list page." That's the External OAuth authentication providers page, and the providers there aren't Blazor-specific.

Well, you're right. It's not really relevant but I thought I was still on the Blazor.net website for some reason... Maybe I was, maybe I wasn't. Can't remember much of that night 🤣


Role is at new namespace (weareinteractive) on Galaxy

The install instructions for Galaxy are incorrect in the README, as this role is now available at https://galaxy.ansible.com/weareinteractive/newrelic — so it should be like ansible-galaxy install weareinteractive.newrelic.

Well... if I run that I get:
- downloading role 'newrelic', owned by weareinteractive
[WARNING]: - weareinteractive.newrelic was NOT installed successfully: - sorry, weareinteractive.newrelic was not found
on https://galaxy.ansible.com/api/.

So the instructions in the README are still correct, but Galaxy is not showing that role as being available under the franklinkim namespace, and is showing the command in the original comment here.
Seems confusing either way :/

Hi, haven't had the time to update all my roles yet and doing it more or less on request...
The new release (v1.8.0) should do the trick.

@franklinkim - Great, thanks! I can confirm it is working in the new namespace now:
$ ansible-galaxy install --force weareinteractive.newrelic
- downloading role 'newrelic', owned by weareinteractive
- downloading role from https://github.com/weareinteractive/ansible-newrelic/archive/1.8.0.tar.gz
- extracting weareinteractive.newrelic to /Users/jgeerling/Dropbox/Development/GitHub/drupal-vm/provisioning/roles/weareinteractive.newrelic
- weareinteractive.newrelic (1.8.0) was installed successfully


VisionOS Support for RN Pods

Description
Currently, when running pod install on a React Native Project, you get an error prompting that 'React-RCTAppDelegate' is not compatible with visionos as a platform.
Cocoapods is set to release visionos support as a platform in v1.13 (this has already been merged to master and can be used with the unreleased version of Cocoapods). It would be good to support VisionOS with RN's pods.
React Native Version
0.72.3
Output of npx react-native info
System:
  OS: macOS 13.5
  CPU: (8) arm64 Apple M1
  Memory: 96.89 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 16.20.0
    path: ~/.nvm/versions/node/v16.20.0/bin/node
  Yarn:
    version: 1.22.19
    path: ~/.yarn/bin/yarn
  npm:
    version: 9.8.0
    path: ~/.nvm/versions/node/v16.20.0/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.12.1
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 22.4
      - iOS 16.4
      - macOS 13.3
      - tvOS 16.4
      - watchOS 9.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.1 AI-221.6008.13.2211.9619390
  Xcode:
    version: 14.3.1/14E300c
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.18
    path: /usr/bin/javac
  Ruby:
    version: 2.7.8
    path<EMAIL_ADDRESS>npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native:
    installed: 0.72.3
    wanted: ^0.72.3
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: true
  newArchEnabled: false

Steps to reproduce

Create an empty VisionOS app.
Move it to an ios directory and create a barebones RN app.
Create a basic default Podfile inside the ios directory.
Create a Gemfile in the ios directory to point to Cocoapods's master branch:

gem 'cocoapods', git: 'https://github.com/CocoaPods/CocoaPods', ref: '400f290cb9269ea342948f629525a5542933627f'
gem 'cocoapods-core', git: 'https://github.com/CocoaPods/Core', ref: '9320bf557741d7ae80eda4415bc6fb2b0b3a8b9c'

Run bundle install in the ios directory
Run bundle exec pod install.
See error below:

Snack, screenshot, or link to a repository

@mojavad, thanks for opening the issue.
We don't have immediate plans to supporting the VisionOS APIs and we are prioritizing other work. React Native can already execute iOS apps on the VisionPro in compatibility mode.
However, we are very open in accepting contributions that can enable the community creating wrappers around the VisionPRO APIs. Feel free to open a PR with the changes needed to support the VisionPRO and we will be super happy to review and land it.
Likely, you just have to update this line: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec#L69

Hi @cipolleschi , thanks for the quick reply.
I'll take a quick look and see if I can get it up and working with just changing the Podspec, and open up a PR if I can :)

@cipolleschi, just wondering what the best way is to test this. I was hoping to build from source and point it to my local build of RN in a VisionOS project, but it seems like the docs on building from source are Android only:
https://reactnative.dev/contributing/how-to-build-from-source
Any suggestions on how to go about testing it?

React Native for iOS always builds from source.
If you are using a custom app, you can go into the node_modules/react-native/packages/react-native and there yyou have the repo. If you modify the iOS code in React or ReactCommon, you'll see it reflected in your app.
Notice that:

as soon as you yarn you'll lose all your changes
once you are happy, you'll have to copy all the changes in the React Native repo. :(

Otherwise, you can clone the React Native repo and use the app in packages/rn-tester. This is an app that builds React Native from source and every change you perform in the React Native code are reflected in RNTester.
There is a Readme on how to build RNTester in packages/rn-tester/README.md.
NOTE: to build RNTester you'll need CMake. We need it to build Hermes. brew install cmake will help! :D

Thanks for the feedback @cipolleschi.
Makes sense.
I've gone ahead and changed AppDelegate and unsurprisingly, there's far more than needs the platform changed. Here's the full list of files that need modification for their platform:
hermes-engine.podspec
hermes-utils.rb
hermes-engine.podspec
Yoga.podspec
React-logger.podspec
React-jsinspector.podspec
React-cxxreact.podspec
React-jsi.podspec
React-rncore.podspec
React-Fabric.podspec
React-perflogger.podspec
React-runtimeexecutor.podspec
ReactCommon.podspec
React-hermes.podspec
React-callinvoker.podspec
React-jsc.podspec
React-NativeModulesApple.podspec
ReactCommon-Samples.podspec
React-ImageManager.podspec
React-graphics.podspec
React-utils.podspec
React-debug.podspec
FBLazyVector.podspec
React-RCTActionSheet.podspec
RCTRequired.podspec
RCTTypeSafety.podspec
React-RCTPushNotification.podspec
codegen_utils.rb
boost.podspec
RCT-Folly.podspec
DoubleConversion.podspec
glog.podspec
FBReactNativeSpec.podspec
React-RCTFabric.podspec

At this point, we've hit two external dependencies that don't support visionos as a platform.

For React-Core, we need to have SocketRocket support. I'm going to see if I can get it working on VisionOS and open up a PR.
For hermes, we need libevent to support visionos. This seems like a harder task, not sure if you have any idea on this?

Opened an issue with libevent. I'll have a crack at SocketRocket soon and see if I can get it up and running. :)
My one question:
Given VisionOS support not been released to Cocoapods yet (i'm working off an unreleased branch), what's the best way of adding VisionOS as a platform to Podfiles without breaking it for users not on the latest version of Cocoapods?
Is this something the RN team has faced in the past?

@mojavad no, I never faced that issue, unfortunately.
What I think you can do is to check whether the VisionOS platform is a recognized symbol in the Cocoapods DSL (Ruby has a good reflection support). If yes, you can add it as additional platform. If not, you don't add it.
How does this sound?

ffgfgfgd


Add "funded by the EU" logos

This project is partly funded by the EU and the European Cybersecurity Competence Center. Adding the logos to acknowledge it.

LGTM!

Website updated as well


Registering an op twice from Python raises an exception

This isn't necessarily a bug, but it currently manifests as one. For example, pipelines.detect_faces registers a BBoxNMS kernel every time it's called, which means multiple calls to pipelines.detect_faces will fail after the first. There are a few options here:

Have some form of checking if a kernel is registered, and add that check everywhere in the current examples that use kernel registration.
Don't raise an exception, just print a warning.
Instead of adding an explicit check, just catch the ScannerException.

What do you think @apoms?

The two scenarios we want to differentiate between is:

Two Ops/Kernels registering with the same name but with different implementations
Re-registering the same Op/Kernel

The first should definitely be an error, but the latter is fine (maybe just a warning). This basically only comes up in the case of Python kernels (since C++ kernels are registered at file scope) so a Python specific solution should be ok.
Two solutions:

Unregister kernels. In the case of the detect pipeline, we would just unregister the kernel after use and then reregister it again when we need it.
Temporary Kernels. Instead of registering kernels, we can provide a way to have a 'temporary' kernel which only exists for the pipeline it is defined in, and not part of the 'registry'. This is more complex but means we don't have the issue of dealing with registered kernel state.

TODO: have kernel registrations in Python stdlib check if op is registered first


[MINOR] Fix doctests of Expanding.Groupy to work properly

the existing doctests of Expanding.Groupby are only for sum().
so fix them to work properly for each function.

Codecov Report

Merging #1030 into master will decrease coverage by 2.4%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1030      +/-   ##
==========================================
- Coverage   94.92%   92.51%   -2.41%
==========================================
  Files          34       34
  Lines        6697     6697
==========================================
- Hits         6357     6196     -161
- Misses        340      501     +161

Impacted Files
Coverage Δ

databricks/koalas/window.py
94.97% <ø> (+2.01%)
:arrow_up:

databricks/koalas/usage_logging/__init__.py
24.54% <0%> (-72.73%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50% <0%> (-50%)
:arrow_down:

databricks/koalas/__init__.py
78.72% <0%> (-8.52%)
:arrow_down:

databricks/conftest.py
92% <0%> (-6%)
:arrow_down:

databricks/koalas/utils.py
95% <0%> (-3.13%)
:arrow_down:

databricks/koalas/frame.py
93.98% <0%> (-2.36%)
:arrow_down:

databricks/koalas/groupby.py
89.34% <0%> (-2.05%)
:arrow_down:

databricks/koalas/namespace.py
85.75% <0%> (-1.55%)
:arrow_down:

databricks/koalas/plot.py
93.33% <0%> (-0.96%)
:arrow_down:

... and 2 more

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 42758e6...33c0b2f. Read the comment docs.

there is some issue at groupby when MultiIndex column like:
>>> kdf.groupby(kdf.a.x)
Traceback (most recent call last):
...
ValueError: Cannot combine the series because it comes from a different dataframe. In order to allow this operation, enable 'compute.ops_on_diff_frames' option.
>>> get_option('compute.ops_on_diff_frames')
True

it raises error even compute.ops_on_diff_frames option is True.


Raise ethereum-address-metrics-exporter ServiceMonitor interval

Default chart value for ServiceMonitor config is set with interval less than scrapeTimeout, which Grafana Alloy doesn't like:
ts=2024-05-28T23:57:50.491815865Z level=error msg="error generating scrapeconfig from serviceMonitor" component_path=/ component_id=prometheus.operator.servicemonitors.service_monitors name=mainnet-mon-exporter err="scrape timeout greater than scrape interval for scrape config with job name \"serviceMonitor/default/mainnet-mon-exporter/0\""

Hey @eskp . Sorry for the super late reply 🙏 Can you run make docs  or manually update the version on the Readme from 0.1.4 to 0.1.5 ? Then it will pass the CI tests.

Done thanks @skylenet


Unable to preview in browser.

Describe the bug
After executing “:PeekOpen", the preview cannot be opened in the browser.
It seems to be always loading.
To Reproduce
As described above.
Expected behavior
Just preview md file.
Screenshots

Desktop (please complete the following information):

OS: macOS 13.3.1
nvim --version:

NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3

deno --version:

deno 1.32.4 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 5.0.3

plugin setup:

return {
	{
	'toppair/peek.nvim',
	build = 'deno task --quiet build:fast',
	ft = 'markdown',
	config = function()
		vim.api.nvim_create_user_command('PeekOpen', require('peek').open, {})
		vim.api.nvim_create_user_command('PeekClose', require('peek').close, {})
		require('peek').setup ({
			theme = 'light',
			app = 'browser',
		})
	end
	}
}

Additional context
None.

You can get more information if you open Console in Developer tools, usually Ctrl+Shift+I. Check #31, the symptoms are the same.

I am seeing this same behavior, but opening up the console does not show the same errors as described in #31

In session storage I have session with the "{"base":"http://localhost:35241/?theme=dark","html":"\n

\n    "}".
The network panel shows no additional activity after the first websocket frame.
The Console is empty.


Clear md_data only when necessary

PR #17255 fixed a bug in EVP_DigestInit_ex(). While backporting the PR
to 1.1.1 (see #17472) I spotted an error in the original patch. This fixes
it.

This pull request is ready to merge

Pushed to master and 3.0. Thanks.