Update README.md

Removals
• Removed iRate. Project is deprecated
• Removed appirater - Not using iOS's default app rating ui will now (or soon) result in not passing the App Store review, therefore using this API will ensure your app will not pass review.
Additions
Added my own API for keyboard shortcuts - Line 1780

Project URL

Category

Description

Why it should be included to awesome-ios (optional)
I believe that my api should be included in awesome-ios because it's a versatile, light utility that I've seen all over the App Store. Even Apple Retail uses it when you buy something, and have to input your email address.
Checklist

[ ] Only one project/change is in this pull request
[ ] Addition in chronological order (bottom of category)
[ x] Supports iOS 9 / tvOS 10 or later
[ x] Supports Swift 4 or later
[ x] Has a commit from less than 2 years ago
[ x] Has a clear README in English

          2 Warnings

:warning:
Please update the Pull Request title to contain the library name

:warning:
Found 3 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

2182
301
https://github.com/saeid/GDPersianCalendar redirects tohttps://github.com/saeid/GDCalendar

2998
Error
https://www.objc.io/  getaddrinfo: Name or service not known

3124
Error
https://www.objc.io/books/functional-swift/  getaddrinfo: Name or service not known

  Generated by :no_entry_sign: Danger

I understand that I've broken a guideline rule, but I wanted to be concise and not bombard you guys with emails :)

@chih98 Thanks for contribution.
iRate should be removed. I agree. Thanks.
I cannot see the appirater removing on your commit, maybe you forgot to add the change.
About the mbquicktype can write some tests in your project?  And after this we can add on awesome-iOS.

Closed because of inactivity.


Add glassdoor reviews

Please review, test, and merge. Thank you

@DataUrbanEconGeek thank you! Nice and clean!


Cleanup error reporting in ssl/

Error reporting in ssl/ is changed to make better use of the newer ERR building blocks, and to drop the old function codes everywhere.

I assume the bulk of the changes were done using the script?  That should probably be mentioned in the commit.

I assume the bulk of the changes were done using the script? That should probably be mentioned in the commit.

It got me started, yeah

That should probably be mentioned in the commit.

Done

@paulidale, this one too? :wink:

This pull request is ready to merge

Merged
6849b73ccc38ea95e4b9d50b01e1c94f5ce8bca7 Convert all {NAME}err() in ssl/ to their corresponding ERR_raise() call
e92519b5a6ad5fa1ca36316dd9256e65dcb2c6db SSL: refactor ossl_statem_fatal() and SSLfatal()
c48ffbcca1d0213c6bcbe85de7bb5dd23c76438d SSL: refactor all SSLfatal() calls


Undo changes from "Prevent JDBC creating duplicate spans (#211)"

As pointed out by @pavolloffay  in #210 the method
boolean isWrapperFor(Class<?> iface) throws SQLException
expects an interface not a class. The change in #211 made the JdbcAspect unusable with Oracle JDBC as pointed out by @bromine0x23. Even in the thread #210 it is stated, that it should be rolled back.
So here comes the pull request for rolling back :-)
With best regards,
Lyca

As #275 is on its way I close this PR.


Adopt updated utilities fix in-place Python installs

Description

Picks up fix from https://github.com/nv-morpheus/utilities/pull/81

Closes #1923
By Submitting this PR I confirm:

I am familiar with the Contributing Guidelines.
When the PR is ready for review, new or existing tests cover these changes.
When the PR is ready for review, the documentation is up to date with these changes.

/merge


APEXMALHAR-2244 Use TimeUnifiedManageStateStore for Spillable Data Structure

@davidyan74  Very first version just for SpillableMapImpl, please review

The timeExtractor may be stateless, but is still required after deserialization. By marking the field transient you lost the instance, regardless of whether it is stateless or not. You can mark fields in the extractor stateless, if applicable.

@davidyan74 When you have time, can you please review? Thanks!

@siyuanh  the serialization changes are on the master now. please rebase when you have a chance.

@davidyan74  Please take a look, at least no test failure on my local machine.
But I don't know how to rebase this. There are related change in between commits and can not really apply all the changed after latest master HEAD. I'll try to manually combine them together

Is the diff also outdated? Can I force it to refresh?

Why don't you just squash all the commits?

@davidyan74  This pull request is ready to merge
@tweise There is a commit from malhar in between my commits that is conflict to each other. I could't find a way to squash. What I did is git diff then git apply ;)

Not part of this PR but will this make it very difficult for the time extraction to be from the value in addition to the key?

@davidyan74 I think most of the code will stay same, but we need to have additional code to resolve time in values

LGTM. @tweise If you don't have any issues, I'll merge it on Monday.

@davidyan74 Thomas probably has no time to look at it. Can you please merge this? Thanks!


TLS Authentication fails when using OpenSSL V3.0.2

Issue summary
Generating certificates using OpenSSL v3.0.2 will return the error
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: IOError(Custom { kind: InvalidData, error: ASN1Error { kind: Invalid } })', controller/src/main.rs:45:6

To solve this problem when generating pkcs12 certificates, the -legacy option needs to be set. Once pkcs12 certificates are generated using the -legacy option, it all works fine.
Generating pkcs12 certificate
openssl pkcs12                   \
    -legacy          \
    -export          \
    -inkey user.key  \
    -in user.pem     \
    -out user.p12    \
    -passout pass:""

Resolution
Update the pkcs12 certificate parsing to handle the OpenSSL v3 generated certificates.
Rust details
rustc: rustc 1.69.0 (84c898d65 2023-04-16)
lapin: lapin = { version="2.1.2", features = ["rustls", "rustls-native-certs"] }
System details
Operating System: Ubuntu 22.04
Openssl version: OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
Helpful information
OpenSSL have a migration guide here that deals with the updates to the PKCS#12 API updates

Please fill this issue against https://github.com/hjiayz/p12 as it is the crate used to parse the pkcs12 and which emits this error


complete codecademy "learn python"

[x ] 1. python syntax
[ ] 2. strings and console
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd
[ ] tbd

@michaeldayreads fyi this is my practice

Hurray! 🥇


UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 0: invalid start byte

Traceback (most recent call last):
File "train.py", line 4, in
from models.model_stages import BiSeNet
File "/home/xxx/work/STDC-Seg/models/model_stages.py", line 12, in
from modules.bn import InPlaceABNSync as BatchNorm2d
File "/home/xxxx/work/STDC-Seg/modules/init.py", line 1, in
from .bn import ABN, InPlaceABN, InPlaceABNSync
File "/home/xxxx/work/STDC-Seg/modules/bn.py", line 10, in
from .functions import *
File "/home/xxxx/work/STDC-Seg/modules/functions.py", line 18, in
extra_cuda_cflags=["--expt-extended-lambda"])
File "/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py", line 680, in load
is_python_module)
File "/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py", line 845, in _jit_compile
with_cuda=with_cuda
File "/usr/local/lib/python3.6/dist-packages/torch/utils/_cpp_extension_versioner.py", line 44, in bump_version_if_changed
hash_value = hash_source_files(hash_value, source_files)
File "/usr/local/lib/python3.6/dist-packages/torch/utils/_cpp_extension_versioner.py", line 17, in hash_source_files
hash_value = update_hash(hash_value, file.read())
File "/usr/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 0: invalid start byte

您好，请问这个问题您解决了嘛


No Crash Report?

1、debug：use your demo, it can report the crash, but after android release, can't release the crash
2、add meta-data in androidManifest and replace the appkey;
add "apply plugin:com.bugsnag.android.gradle.BugsnagPlugin" in app/buildgradle;
add "classpath 'com.bugsnag:bugsnag-android-gradle-plugin:2.3.2' " in project/build.gradle;
add "-keepattributes SourceFile,LineNumberTable" in app/proguard-rules.pro;
But can't get the crash,after click the Button ,exit !!

Hi @LiuC520. The crash report should be sent after the app is restarted. Can you confirm that the report is not sent on a later run of the app?
Also, did you add the package to your MainApplication file?

After crash,I restarted the app,but still no report;
I'v added the package below
new MainReactPackage(),
BugsnagReactNative.getPackage(),
new PickerViewPackage(),
new ReactVideoPackage(),
I've already push the code to github:https://github.com/LiuC520/Demo12

Thanks for the demo code, @LiuC520. It looks like Root is imported from index.android.js, but within Root.js, Bugsnag is never imported and used. There is a reference to the Client object in a separate file, Root1.js, but this file does not seem to be imported and used anywhere. Can you try moving the client to the Root file, or importing Root1 instead?

Probably this guy just posted wrong build, but the issue is there. Please see #47

Ah, thanks @Andreyco!

No problem, working on fix, will see what I can do...

Closing this out in favor of #47, updating there with more info.


[LeftNav] Feature/swipe to open

Resolves #848.

@pomerantsev I think it works pretty well. One thing that does feel weird is that the nav menu will open on a left swipe as well as a right swipe. It seems like it should only open on a swipe to the right?
Same issue with closing the menu, it should only close with a swipe to the left. But, that issue seems to have always been there.

@hai-cea I created an issue #900.
The way I fixed it here is I'm just calculating whether the nav panel is more than half way open or not, and I'm opening or closing it based on that.
So no matter which way you're swiping now, the nav will only close if you've swiped sufficiently.
The ratio can be adjusted. Say, you need to swipe 20% or even just one pixel in the desired direction, but implementing it like this (with a middle point) was slightly easier.

@pomerantsev ok looks great :+1: Thanks!

Nice one! Looking forward to the next release :)

I'm getting all kinds of weird behavior with this. I swipe the menu in from the left, I tap next to it (it closes automatically), I tap anywhere again, it pops open again (without the dark background overlay), and then it is in a weird state where tapping on it closes it (without animation).

@CumpsD thanks for noticing it.


Changing visibility of ComboBox after selecting an option from the list results in 'Error HRESULT E_FAIL'

Describe the bug
Changing the visibility of a ComboBox to 'collapsed' after selecting a value causes the following error:
Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.dll
Exception thrown: 'System.Runtime.InteropServices.COMException' in WinRT.Runtime.dll
Exception thrown at 0x763BE062 (KernelBase.dll) in TestComboBox.exe: WinRT originate error - 0x80004005 : 'Error HRESULT E_FAIL has been returned from a call to a COM component.'.
Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.dll
Exception thrown at 0x763BE062 (KernelBase.dll) in TestComboBox.exe: WinRT originate error - 0x80004005 : 'Error HRESULT E_FAIL has been returned from a call to a COM component.'.

Steps to reproduce the bug
I have provided an example application you can clone from https://github.com/onslauth/TestComboBox
Click the "Show" button to display the ComboBox
Select a value in the ComboBox
Click the "Hide" button to hide the ComboBox
Interestingly, if no value is selecting between displaying/hiding ComboBox, the crash does not occur.
Expected behavior
There shouldn't be an error when hiding the ComboBox after selecting a value.
Screenshots
No response
NuGet package version
1.1.5
Packaging type
Packaged (MSIX)
Windows version
Windows 10 version 21H1 (19043, May 2021 Update)
IDE
Visual Studio 2022
Additional context
No response

You must add a test in ComboBox_SelectionChanged :
        private void ComboBox_SelectionChanged( object sender, SelectionChangedEventArgs e )
        {
            if (e.AddedItems.Count > 0)
            {
                var item = e.AddedItems[0] as Tuple<int, string>;
                this.index = item.Item1;
            }
        }

@castorix Thank you very much for the solution to fixing this. I have tested it and can confirm that it works.
However, I am surprised that the SelectionChanged event is called when the ComboBox visibility changes, and I clearly I did not expect that to be the cause.

@castorix Sorry to bother again, I do have one last question.
Did your VS manage to catch the exception in the SelectionChanged event handler, or did you know the fix because you ran into this issue before?

Did your VS manage to catch the exception in the SelectionChanged event handler, or did you know the fix because you ran into this issue before?

No, I thought there could be a problem with an array, so I added a BP at  var item = e.AddedItems[0] as Tuple<int, string>;
to check when it was called and what was in variables, mainly AddedItems


why I use dints algorithm just got dice 70 on Task04 dataset?

Sent from PPHub

Hi @dirtycomputer , can you share a bit more info? I got about 0.88-0.90 on Task04 in my previous experiments.

hi @dirtycomputer, can you share the details that how you applied the DiNTS algorithms? thanks!


Can you add github link?

Hello, could you add the github source code link, "Domain Specific Batch Normalization for Unsupervised Domain Adaptation" accepted in CVPR 2019 ?
URL: https://github.com/wgchang/DSBN
Many thanks.
WG. Chang

ok，I‘ll add it soon.


set visibleDotCount as even numbers

Firstly, thank you for the project.
I was trying to set the visibleDotCount property as 4 and noticed that on the code force to be an odd number, is there any reason for that? Is there any plans to add this as a feature?

Hi!
Implementation doesn't allow even visibleDotCount now, because center dot is considired selected (when there are actually more dots than visibleDotCount), and for even visibleDotCount there wouldn't be one center dot. So some significant refactoring is needed to allow it.
If you use indicator horizontally centered on screen, you probably wouldn't need even visibleDotCount.   What kind of layout are you going to implement?

I see, I checked the code and tried to change it by myself and found out that it would require a big change.
The idea is to make a pager with the horizontally centered indicator at the bottom, but the designers would like a maximum of four dots to appear, making an analogy with a previous layout. For now I'm using five and it's working fine, but I was also curious to know the reason of this limitation, thank you so much for the answer.


Getter fot the AggregateRootInstance in the testing scenario

This might be handy if you want to check if your apply methods did there job.

What is your use-case exactly?
Wondering because the scenario is used to test emitted events after an action, testing if your aggregate is in the correct state based on given events should be a separate test imo.

I do understand your thinking.
But the scenario tests are very descriptive. So I would prefer to use them even if I want to test the state of my aggregate. I see no reason why I wouldn't.

@bartdezwaan In the event sourced case I don't see much need for it? The idea is that you assert the events emitted and the intermediate state shouldn't really matter? Do you have an example of where you think it does?
If you have an aggregate root that is not event sourced I see that this could be useful, but in that case I'm not sure if this testing scenario is of any help.

@asm89  I don't have a specific case.
But if I want to test my apply methods, I want to test them with an AR in different states.
Why not describe that states with the scenario functionality that is already there.
I just want my tests to read nicely.
If I am not able to use the scenario, I will have to build the AR myself or write a builder for it.

Closing this, as we don't see the use of this in an event-sourced context.


chore: minor clean ups

This PR:

onboards Renovate (instead of dependabot)
updates actions/checkout to v4
updates apache/skywalking-eyes to v0.5.0

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


[ST] Metis and Base transactions No Bids Received

Describe the bug
Transactions involving Metis and Base are not getting bids despite there being a lot of liquidity on both.

Example tx: https://connextscan.io/tx/0x828346b73797f49189332b90aac193757d9510f570d90c38547a6d9139ee0f63
Router with 100+ WETH on Base: https://connextscan.io/router/0x6fd84ba95525c4ccd218f2f16f646a08b4b0a598

Link to ticket in discord
https://discord.com/channels/454734546869551114/1212114342237962250/1212115645039124550

Another transaction: https://discord.com/channels/454734546869551114/1212115837276913705/1212117817227477022
https://connextscan.io/tx/0x29608fec53f32f21ddcece152b0c533ee74e0c6212abd14ed3aef20b7d0651c0

Another one:
https://connextscan.io/tx/0xd1387e4e49a4b5f061efe069ca1b9b779275301c6d68ba08d976a3e51da767f2

closing, stale


[Feature request] Add "Sticky" type of modifier to modifier bucket

The idea is to be able to add "sticky" modifier to the modifier bucket. For example, if you click on modifier while holding Shift key (or with right click or smth) the modifier becomes "sticky" and "sticks" to the player's (or GM's) modifier bucket so it won't disappear after first roll and sticks until the player clears bucket manually. And while there are "sticky" mods in the bucket, player can still add usual mods (or more "sticky" mods) which will be cleared as usual leaving only the "sticky" ones. It could be useful if, for example, you play night battle and vision penalty always applies but other combat mods don't

Do you feel like this issue overlaps with yours to the extent that I can close this one? It looks like a duplicate to me. Sorry, I didn't remember that older one when I asked you to create this one: #405

I thinks mine is indeed different and maybe more usefull and harder to implement. As I can see 405 says about saving the whole bucket after rolls. But I suggest to save only some of modifiers, not every modifier. In other words I suggest to make two "types" of modifiers: Sticky (Lasting) and Temporary.

This is a feature I would very much like to see. In dungeons where there is a constant modifier on Vision, for example, you would put the value in the modifier bucket once and then just forget about it for the rest of the session.

This could be accomplished by creating a Journal entry that contains the various OtF formulas that you share with your players (they only need to be Observers).   And then each player could rotate their Common Modifers (using the buttons under the red arrows)

But we might also be able to add "sticky" modifiers in the "Current Effects" pane (green arrow)... maybe even breaking it up into "Current Effects" and "Sticky Modifiers".    But that will require some coding ;-)

We are already working with the solution you suppose. But it still means activly clicking the modifier before rolling the dice.
I was more thinking in the line of adding it to the "Current Effects".
But now, that I am thinking more about it - it might be alot more difficult to do. How would the Bucket "know" which Current Effect should be applied to what roll?
Well, it doesn`t! It just sits there waiting to be clicked. So, actually not much difference to the method we already use.
Let me rethink this. Would it be possible to create a pool where the GM could drop modifiers - lets say "Vision-2". And every time a roll is executed the gaim aid checks wether the roll to be executed corresponds with something in that pool and in that case  applies the modifier.
Sorry for thinking aloud and hijacking this issue, but sometimes doing this helps me thinking.

We talked about that a lot at the beginning... but it got too heavy, to quickly.
Basically, we would have to "classify" each roll (maybe give it some tags), and then modifiers could be assigned to various tags.   So a damage roll might have the tag "damage" and the "+2 Might Blow" would also have the tag "damage", and if it were in the modifier bucket, and a "damage" roll was rolled, it could apply itself.
But this is basically impossible with GURPS.   We don't know what the Skills represent, so we can't classify them.    And in what situations would a "-4 Full Moon" be applied?   To Hit rolls, Perception rolls (maybe... if it were vision based), what about other skill checks... are they affected by "light"?
After about 10 minutes, we dropped this idea like a hot potato.     The best we can do is make the modifiers available to the players as easily as we can, but they have to decide finally if it applies to the roll they are making.

I understand!
Maybe the way I imagine it, it would not be necessary to classify each roll.
As I understand it, many rolls are tagged anyway. At least you can call them up with this tag via OtF.
So I imagine something that works like OtF.
[A:"Shortsword"] check Pool for "Shortsword", if true apply value from Pool, if false roll normally
In the pool, values like the ones from OtF would be entered with a modifier.
"Shortsword-3"
So whenever you make a roll with "Shortsword" in it, the modifier would appply.


COPY statement with deparse not supported?

Thank you for creating this module! I just noticed that COPY statement is not supported for deparser, whilst the parser supports it.

COPY is not sql, it is a part of psql command line if I'm not mistaken? Can you show an example?

COPY is not sql, it is a part of psql command line if I'm not mistaken? Can you show an example?

Yes, I'm using DuckDB and it is using modified psql parser. An example would be:
COPY (SELECT 1) TO 'test.csv' WITH (FORMAT 'CSV');

@pyramation Thank you very much! 👍🏻


[5pt] PR: ras2rem bug fixes and feature improvements

This PR will fix a bug regarding the vertical unit (ft vs m) needed for rating curves results. Also, the PR enhances functionality of ras2rem with multiprocessing capability, a progress bar, and adding extra columns for rating curves.
This PR is related to issues #57 and #50
Changes
Updated src/run_ras2rem.py with following changes:

Fixed a bug regarding the units used for rating_curve.csv output. Now, ras2rem will infer the vertical unit from ras2fim results in 05_hecras_output folder.
Added multi-processing capability for making tif files for rem values.
Added a progress bar to show the progress during above step (making tif files for rem values).
Made the help notes for -p flag more clear, so the user will understand where the ras2rem outputs are created.
Added some extra columns needed for hydroviz into rating_curve.csv output. This involved moving the required changes from src/ras2rem.py file into src/run_ras2rem.py, which allowed removing the src/ras2rem.py altogether.

Removals

src/ras2rem.py

Testing
Checklist
You may update this checklist before and/or after creating the PR. If you're unsure about any of them, please ask, we're here to help! These items are what we are going to look for before merging your code.

[x] Informative and human-readable title, using the format: [_pt] PR: <description>
[x] Links are provided if this PR resolves an issue, or depends on another other PR
[x] If submitting a PR to the dev branch (the default branch), you have a descriptive Feature Branch name using the format: dev-<description-of-change> (e.g.: dev-revise-levee-masking)
[x] Changes are limited to a single goal (no scope creep)
[x] The feature branch you're submitting as a PR is up to date (merged) with the latest dev branch
[x] Changes adhere to PEP-8 Style Guidelines
[x] Any change in functionality is tested
[x] Passes all unit tests locally (inside interactive Docker container, at /foss_fim/, run: pytest unit_tests/)
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[x] Project documentation has been updated (CHANGELOG and/or README)
[x] Reviewers requested

@LauraKeys-NOAA Thanks for the suggestion to add compression. I applied compression for both suggested locations and all additional tests were successful.
This compression could not solve memory issue that we have for 12090301 with 3m spatial resolution. I will address other alternatives to tackle memory issue in another dedicated PR. Maybe, we should also manage the number of processors when using multiprocessing for very large tiff files.
I also experienced your observations about EC2 freezing and losing RD connection with multiprocessing. It is again under the umbrella of memory issue--memory usages proportionally increases with the number of processors.

Ah yes, good point about the 3m situation being the really problematic aspect of memory issues.


New rule to check for container image label values

This rule would check if a given image label has the expected value, driven by rule data. Useful when labels need to have exact values, such as vendor: Red Hat, Inc..

I like it.

Riffing on your example, I could imagine a list of valid arches being specified also.


Using TLS-Storage when CertProvider should be used

Do you want to request a feature or report a bug?
Bug
What did you do?
I am runnig Traefik in Docker Swarm. When I started out, I used wildcard certificates from Let'sEncrypt. This certificate is still being deployed, but only to one service now. There reason being Cloudflare offering so-called Origin Certificates. I'm using these Origin Certificates, but (obviously), they are not usable with mail servers, and I am running one.
Therefore, I use a webmailer (RoundCube) which provides a webinterface, and docker-mailserver as the actual mail server. The situation now is actually simple: The webmailer request a certificate (via Traefik) from Let'sEncrypt. I want this certificate to now be mail.<DOMAIN>.com (whereas previously it was a wildcard cert: main: <DOMAIN>.com   sans: *.<DOMAIN>.com). The acme.json is then mounted into the mail server and everything should be fine.
The Origin Certificates from Cloudflare are valid for main: <DOMAIN>.com   sans: *.<DOMAIN>.com like the original Let'sEncrypt certificates. The TLSStore holds these certificates (as can be seen below in the dynamic configuration).
What did you expect to see?
When Traefik starts and the webmailer too, I expected Traefik to pull a certificate for mail.<DOMAIN>.com via the certresolver (called lcdns).
What did you see instead?
Actually, my best guess is that Traefik uses the TLS-Storage, i.e. the certificates from Cloudflare. Therefore, it comes to the conclusion that no certificate generation is required. These are the logs (captured in loglevel: debug):
Try to challenge certificate for domain [mail.<DOMAIN>.com] found in HostSNI rule" providerName=lcdns.acme routerName=webmailer@docker rule="Host(`mail.<DOMAIN>.com`)

Looking for provided certificate(s) to validate [\"mail.<DOMAIN>.com\"]..." rule="Host(`mail.<DOMAIN>.com`)" providerName=lcdns.acme routerName=webmailer@docker

No ACME certificate generation required for domains [\"mail.<DOMAIN>.com\"]." providerName=lcdns.acme routerName=webmailer@docker rule="Host(`mail.<DOMAIN>.com`)

Is this expected behavior? How could I resolve this?
Output of traefik version:
Version:      2.3.2
Codename:     picodon
Go version:   go1.15.3
Built:        2020-10-19T18:36:22Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
# static configuration
...
certificatesResolvers:  # <-- ISSUES CERTIFICATES FROM LETSENCRYPT
  lcdns:
    acme:
      email<EMAIL_ADDRESS>      storage: /etc/traefik/acme.json
      # caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
      dnsChallenge:
        provider: "cloudflare"
        delayBeforeCheck: 0
        resolvers:
          - "<IP_ADDRESS>:53"
          - "<IP_ADDRESS>:53"

# stack file
traefik:
    image: traefik:v2.3.2
    ports:
      - "80:80"
      - "443:443"
    environment: # <-- SETTINGS UP A DNS-01 CHALLANGE
      -<EMAIL_ADDRESS>      - CLOUDFLARE_DNS_API_TOKEN=<REDACTED>
      - CLOUDFLARE_ZONE_API_TOKEN=<REDACTED>
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik.yml:/etc/traefik/traefik.yml:ro
      - ./dynamic_conf.yml:/etc/traefik/dynamic_conf.yml:ro
      - ./public.pem:/etc/traefik/public.pem:ro
      - ./private.pem:/etc/traefik/private.pem:ro
      - ./acme.json:/etc/traefik/acme.json
    deploy:
      mode: global
      restart_policy:
        condition: any
        delay: 15s
      placement:
        constraints:
          - node.role == manager
          - node.platform.os == linux
...

# dynamic configuration
...
tls:
  options:
    modern:
      minVersion: VersionTLS13
      sniStrict: true
      curvePreferences:
        - secp521r1
        - secp384r1
        - secp256r1
        - x25519

  certificates: # <-- VALID FOR <DOMAIN>.com and *.<DOMAIN>.com
    - certFile: /etc/traefik/public.pem     # <-- THESE ARE THE CLOUDFLARE ORIGIN CERTIFICATES
      keyFile: /etc/traefik/private.pem     # <-- THESE ARE THE CLOUDFLARE ORIGIN CERTIFICATES

# the actual mail-stack.yaml
version: '3.8'

services:

  server:
    image: tvial/docker-mailserver:stable
    ... # (unimportant)

  web:
    image: roundcube/roundcubemail:latest
    environment:
      ...
    deploy:
      mode: global
      restart_policy:
        condition: any
        delay: 15s
      labels:
        - traefik.enable=true
        # ? Router
        - traefik.http.routers.webmailer.rule=Host(`mail.<DOMAIN>.com`)
        - traefik.http.routers.webmailer.entrypoints=https
        # ? TLS
        - traefik.http.routers.webmailer.tls=true
        - traefik.http.routers.webmailer.tls.options=modern@file
        - traefik.http.routers.webmailer.tls.certresolver=lcdns
        # - traefik.http.routers.webmailer.tls.domains[0].main=<DOMAIN>.com   # <-- This was used in the past
        # - traefik.http.routers.webmailer.tls.domains[0].sans=*.<DOMAIN>.com # <-- This was used in the past
        # ? Service
        - traefik.http.services.webmailer.loadbalancer.server.port=80

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
Try to challenge certificate for domain [mail.<DOMAIN>.com] found in HostSNI rule" providerName=lcdns.acme routerName=webmailer@docker rule="Host(`mail.<DOMAIN>.com`)

Looking for provided certificate(s) to validate [\"mail.<DOMAIN>.com\"]..." rule="Host(`mail.<DOMAIN>.com`)" providerName=lcdns.acme routerName=webmailer@docker

No ACME certificate generation required for domains [\"mail.<DOMAIN>.com\"]." providerName=lcdns.acme routerName=webmailer@docker rule="Host(`mail.<DOMAIN>.com`)

Hello,
I think you are looking for https://github.com/ldez/traefik-certs-dumper

Hey @ldez. Thank's for reaching back to me, but this is actually not what I was looking for.
There is no issue with certificate formats or anything like this. It's seems to be related to Traefik looking up certs in the wrong place.
The certdumper is both in two ways not what I need:

The Mailserver can use acme.json natively, so dumping it is not required (anymore). The dumping technique is antiquated for the mail server image
There is no ACME data generated in the first place - it's empty. I mentioned Traefik thinks everything is fine, when it actually isn't.

If you provide a wildcard certificate for a domain, yes Traefik will never try to get a certificate from LE, because you already have a valid certificate for this domain. This is expected.

I expected this to be the case too, but why did Traefik the issue a wildcard certificate from LE in the passt past? Shouldn't this be covered by the other wildcard certificate too?

@ldez in addition, Traefik cannot possibly know that the (fallback) default cert (CF Origin Certificate) is valid (only) behind CF proxies, or can it?
It seems like it uses the default cert without actually knowing that this is valid.
I just can't quite comprehend why there is no new cert issued from LE, i.e. why Traefik thinks there already is a valid certificate (when there actually isn't).

ONE POSSIBLE SOLUTION
I already spoke about this "solution" in a previous post: You can comment the TLS store, start Traefik, let Traefik issue a certificate from LE, stop Traefik, include the TLS store again, und start Traefik again.
Now Traefik should take care of the renewal process.
To me, this seems more like a bug. Feel free to re-open.


CI に Discord への通知を組み込む

https://github.com/sarisia/actions-status-discord

Discord の webhook URL を取得
https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks

[ ] refactor.
[ ] check cli has succeeded or not.
[ ] improve notification UI


Failed constructing descriptor for chaincode chaincodes but query/invoke works

Description
I had a running HF network with a single org Org0 with an installed chaincode which was wroking fine then i have added a new one Org1 with a single peer. I installed and approved the chaincode and when I invoke or query the chaincode from the peer (via CLI) it works just fine BUT when I use a gateway I keep geeting on all peers
[discovery] chaincodeQuery -> Failed constructing descriptor for chaincode chaincodes:<name:"mycc" > : no peer combination can satisfy the endorsement policy
I am runnin HL
peer:
 Version: 2.4.5
 Commit SHA: 7e2a6b9ec
 Go version: go1.18.2
 OS/Arch: linux/amd64

Steps to reproduce
No response

it seems that the issue was related to anchoring peers. The discovering service was malfunctionning.


Is it possible to analyst foxx services as well as AQL with SonarQube?

SonarQube seems to be a code quality tool? https://www.sonarqube.org/
In that case the answer seems to be "yes, if they add support for it or someone in the community creates an integration assuming that is possible".
I'm closing this issue as answered.


Add non-standard port number to device registration command

I'm running Shellhub on a server which is externally accessible via port 8080 (forwarded to port 80 internally). However, the create device dialog does not include the port number in the one-liner to install the agent. Would it be possible to detect this and include the appropriate port or add a setting for appending the appropriate port?

@Pegasystem fixed. It will be available next release


Add copilot icon

It seems feature request for copilot source.

@Shougo I'm the author of copilot.lua and copilot_cmp, I would like to second this request. Currently, I set the kind variable to 15 which corresponds to 'snippet'. There's no way to denote that a completion comes from the copilot source I wrote.
I think a better form of this request would be to allow for adding id's corresponding to custom completion kinds. I'd be willing to PR that if that sounds acceptable to you.

Hm...  The kind is fixed in nvim-cmp?  If so, it is the feature request in nvim-cmp.
Note:  It should be described in the first though.

Since there isn't an official source for it, I think a better form of this request would be to allow for adding id numbers and strings corresponding to custom completion kinds. I'd be willing to PR that if that sounds acceptable to you.

The PR is small and it does not breaks other features and sources, it seems better solution.

Since there isn't an official source for it, I think a better form of this request would be to allow for adding id numbers and strings corresponding to custom completion kinds. I'd be willing to PR that if that sounds acceptable to you.

The PR is small and it does not breaks other features and sources, it seems better solution.

I'm very sorry Shougo, I was reading the updates on cmdheight=0 while responding to this issue post and typed your name instead of @hrsh7th on accident!


HHH-15765 Fix build failure by upgrading nu.studer.credentials to 3.0

Fixes HHH-15765

The build failure is caused by nu.studer:java-ordered-properties:1.0.1, which is used by nu.studer.credentials:2.1, missing from Maven Central (maybe it was previously source from jcenter/bintray?)

Thanks!


fix: clear UI wallet if locking fails with status 401

This PR is a preparation for #157.
Most notable changes:

add a "healthy" state to the websocket, which fixes the linear backoff interval if the token becomes invalid.
socket would be opened correctly and error counter reset, shortly before the connection is closed by the server.
Now, the error counter is reset only if the socket stays open a small amount of time (currently 1000ms).

Cleans the wallet if a user wants to lock the wallet with an invalid token. It will subsequently still display "Invalid Credentials" which might be confusing, but it's better than being trapped with an invalid token.

#157 requires a little more refactoring. Having these changes included in the next bugfix release would help a lot.
Ready for review.


No setting is added to Application Settings list after uploading local settings

OS: Windows
Build Version: 20200514.4
Repro Steps:

Right click the Application Settings node for a environment->Upload Local Settings...
Check the application settings after uploading.

Expect:
The uploaded settings are added to application settings list.
Actual:
No setting is added to Application Settings list after uploading local settings.

Related to https://github.com/microsoft/vscode-azurestaticwebapps/issues/89


feat: change gvg indexes to unique

Description

Checklist

[ ] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Re-reviewed Files changed in the Github PR explorer.

Found an implementation in SP that does not need to use uniqueIndex.


Render power=cable differently than power=line or power:minor_line

Could you use e.g. dotted lines to render "underground" power cables ?

https://openinframap.org/#17.9/46.655673/5.777063
https://www.openstreetmap.org/way/666436876

That already happens for cables which are tagged as location=underground or location=underwater. I haven't decided if it's worth applying this style to everything tagged power=cable

According to the wiki, the default value for location is underground.

You may use dashes for underground cables and dots for others (mainly indoor and overhead).

According to the wiki, the default value for location is underground.

So it is. I've updated the style now so underground is the default.

thank you 😀


Add README.md with description for Pointer Manipulation and Arithmetic code

Pull Request Description
Overview
This PR  #956  introduces an implementation of pointer manipulation and arithmetic in C, essential for effective memory management and optimization.
Problem Statement
Pointers enable direct memory access, crucial for dynamic memory allocation and efficient resource management.
Code Implementation
The implementation covers:

Pointer initialization
Dereferencing
Pointer arithmetic

Example
#include <stdio.h>

int main() {
    int value = 5;
    int *ptr = &value; // Pointer initialization
    printf("Value: %d\n", *ptr); // Dereferencing
    *ptr += 10; // Modify value via pointer
    printf("Updated Value: %d\n", value);
    return 0;
}

Expected Output
Value: 5
Updated Value: 15
Time Complexity
Pointer operations (dereferencing and arithmetic) have a time complexity of O(1).

Not assigned


Question about LV MYO RV values in your paper?

Thanks for your outstanding work. Can you share the version of the test.py code that outputs the values of LV MYO RV? Besides, I have successfully run your code but obtained the values of 12 test cases on the ACDC dataset but still struggling to understand how you obtained the LV MYO RV values.

Hi,
We appreciate your feedback. We log the LV MYO RV values in a text file at "test_log//.txt".


Add counter analytics

Counter is a privacy-friendly way to get some basic analytics on how many users we have, what devices they use, what time they visit and what country they are in. You can also view the public analytics page here.

Counter is a privacy-friendly way to get some basic analytics on how many users we have, what devices they use, what time they visit and what country they are in. You can also view the public analytics page here.

This is no longer necessary since Cloudflare does analytics of this kind of stuff anyway, and is privacy-friendly. Cloudflare analytics allows us to view all request across the meower.org domain, not just individual clients, making analytics more fair. We will post our analytics publicly on somewhere like the forums every month or so.
Also in beta 6 whenever you establish a connection with the Cloudlink (or any other kind of gateway server we'll have) you'll have to provide what OS you're on, then with elasticsearch (which will also be used for searching things on Meower ofc) we'll be able to see analytics of what devices people are connecting with, how long they're connecting for (which will also be used for the parental controls and time limits), and what internal errors our servers are having.


Getting the equivariant representation

Thank you for providing the code, great work!
I'm a bit confused by all the provided output blocks though... How could I get the equivariant features of an input pointcloud?
I'm thinking of modifying RelSO3OutBlockR and instead of
        attention_wts = self.attention_layer(x_out).view(nb, na, na)
        confidence = F.softmax(attention_wts * self.temperature, dim=1)
        y = self.regressor_layer(x_out)

        # return: [nb, na, na], [nb, n_out, na, na]
        return confidence, y

do
        attention_wts = self.attention_layer(x_out).view(nb, na, na)
        embedding = attention_wts @ x_out # Something of that sort (maybe with torch.einsum)
        return self.output_layer(embedding) # To get something like (batch_size, output_dim)

Is there a more straightforward way? Thanks.

Any intermediate feature (e.g. x_out) will be in the equivariant representations. In this case you just need the x_out (probably of shape B, C, A with A being # of anchors without multiplying the attention weights, unless you also want to pay specific attentions to a certain anchors


Adding missing npx command to allow container to build and run properly.

Summary
This PR is to address the bug discovered in #953
Fixes v0.2.28
Depends on: N/A
Test plan

Clone repo
Checked out updated code
Configure the hosts file
Follow the instructions to deploy supabase, langfuse, vector store
Follow the instructions to deploy superagent (i.e. invoke run.sh)

@taylor-schneider Thanks for the PR!


Update config.md

CQ and HTTP changes.

CQ
query_stats_enabled was missing from final config description...for 1.3
HTTP
was missing the max_body_size


Clean up the Makefile

I wrote several rules and tasks to address issues of the moment, with no concern for how they fit each other. Now it is time to clean it up:
Given: The project's Makefile;
When: I change any of the source files;
Then: I have dependency rules that enable me to build the server and client-- later the UI;
Given: The project's Makefile;
When: I need to run an administrative task, like running the server or clean up certain files;
Then: I have standard task rules that enable me to execute my administrative task seamlessly;

See Standard-Targets for a reference

Implemented:

setup
build

build_certificates $(CERT_SERVER_PEM)
build_GRPC $(PB_GO_FILES)
build_server $(GO_SERVER)
build_cient $(GO_CLIENT)

clean

clean_cert
clean_grpc

run_server
run_client


Automator: update<EMAIL_ADDRESS>in<EMAIL_ADDRESS>

Generated by Automator - 2023-08-08T07:21:32+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio_release-1.19
2ea454e9385dfec95bdd007593485d3a97457eae
link
true
/test integ-ambient

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-ambient


reporting - add pgfs compatible functions for common reports

choose location for scripts to live
add target to makefile that calls the scripts/loads the functions

See https://github.com/smnorris/fwapg/tree/main/sql/functions for reference.
Use latest pgfs (may require compiling the go code) when testing to ensure CRS handling is correct

Does bcfishpass/main/wcrp work for the location?

Yes, that is perfect

I think I might actually put them in /reports/wcrp
Everything in /wcrp can probably be shuffled around to other subfolders or removed.

@nickw-CWF @TomasMillaKoch - do we want to expose these functions to all users of the db, or just to pg_featureserv?

WCRP functions are published here: https://features.hillcrestgeo.ca/bcfishpass/functions.html
Give them a test and let me know if there are any issues.

For consistency, the function arguments should probably watershed_group_code rather than watershed_group

@nickw-CWF @TomasMillaKoch - do we want to expose these functions to all users of the db, or just to pg_featureserv?

I don't see any reason to not expose them to all db users.

WCRP functions are published here: https://features.hillcrestgeo.ca/bcfishpass/functions.html
Give them a test and let me know if there are any issues.

When I open up the link, the Functions page is blank. @TomasMillaKoch is this the same for you?

For consistency, I think the function watershed parameter and response should be watershed_group_code rather than watershed_group and watershed respectively.

When @TomasMillaKoch was testing the functions they were throwing errors with watershed_group_code as an input parameter because of duplicate variables of the same name in the query. But maybe this is a solvable issue?

Fixed - sorry. The permissions have to be updated any time the functions are tweaked.
I think they work fine now. I was using watershed_group_code and wondering why I wasn't getting any responses.
This is probably solvable - I had to tweak the first function with a similar issue.

I don't see any reason to not expose them to all db users.

Agreed. I would have done this but it is a bit more work to manage and the code likely gets duplicated. Functions for pgfs must reside in schema postgisftw. For a function to not be listed on all pgfs services using the db, permissions have to be explicitly granted/revoked on individual functions.  A workaround to avoid having to manage these grants is to duplicate the functions in bcfishpass.  This also makes more sense to me from a discovery/user standpoint.
I'll take a closer look when next running a replication of the model to the production dbs.

I've updated the functions to use parameter watershed_group_code.
Looks like the output column name cannot easily be equivalent but within the queries the conflict can be avoided by qualifying the column names with the table alias.
sample query:
https://features.hillcrestgeo.ca/bcfishpass/functions/postgisftw.wcrp_barrier_count/items.json?watershed_group_code=ELKR

All functions are testing successfully for me except for this:
https://features.hillcrestgeo.ca/bcfishpass/functions/postgisftw.wcrp_watershed_connectivity_status/items.json?watershed_group_code=ELKR
We are missing WCT habitat in the connectivity status query. Can you add this @TomasMillaKoch ?

Yes I will send you an updated query.

All functions are testing successfully for me except for this: https://features.hillcrestgeo.ca/bcfishpass/functions/postgisftw.wcrp_watershed_connectivity_status/items.json?watershed_group_code=ELKR
We are missing WCT habitat in the connectivity status query. Can you add this @TomasMillaKoch ?

@smnorris I realized that because of how we handled ELKR for the WCRP (splitting it into separate "units" above Elko dam and below) we will likely need a custom function to generate the connectivity status for each units. Theoretically we wouldn't need to incorporate WCT into wcrp_watershed_connectivity_status at this time, but I supposed in the future we might want to report on WCT watersheds as a whole in other parts of the province. Do you think other users would be interested in that?

It seems valuable to me but maybe not a short term priority. @NewGraphEnvironment may have thoughts re the utility for other users.


Hanging at SSL connection

Hello! Thank you for your time developing this library which I actually have been using unknowingly for a while via this project: https://github.com/greenorca/nextcloud_calcli. I decided to take it back one step and make my own script, and search engines led me here. Anyway, to the issue...
Failure mode: Blinking cursor forever (at least 30mn) when I run python calendar_fetch.py.
`calendar_fetch.py
import sys
from datetime import date
from datetime import datetime
sys.path.insert(0, "..")
sys.path.insert(0, ".")
import caldav
caldav_url = "https://posteo.de:8443"
username =<EMAIL_ADDRESS>password = "x"
with caldav.DAVClient(url=caldav_url, username=username, password=password) as client:
my_principal = client.principal()
calendars = my_principal.calendars()

events_fetched = my_new_calendar.search(
start=datetime(2021, 1, 1), end=datetime(2024, 1, 1),event=True, expand=True)

print(events_fetched)

`
I know I probably can't print the events like this but I was going to figure that part out once I got an output (I'm a sunday afternoon script kiddie).
This shows up if I press Ctrl+C
Traceback (most recent call last):   File "/home/mrfry/dev_python/caldav/calendar_fetch.py", line 16, in <module>     my_principal = client.principal()   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 412, in principal     self._principal = Principal(client=self, *largs, **kwargs)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/objects.py", line 478, in __init__     cup = self.get_property(dav.CurrentUserPrincipal())   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/objects.py", line 210, in get_property     foo = self.get_properties([prop], **passthrough)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/objects.py", line 235, in get_properties     response = self._query_properties(props, depth)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/objects.py", line 171, in _query_properties     return self._query(root, depth)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/objects.py", line 196, in _query     ret = getattr(self.client, query_method)(url, body, depth)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 460, in propfind     return self.request(url or self.url, "PROPFIND", props, {"Depth": str(depth)})   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 630, in request     return self.request(url, method, body, headers)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 655, in request     return self.request(url, method, body, headers)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 655, in request     return self.request(url, method, body, headers)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 655, in request     return self.request(url, method, body, headers)   [Previous line repeated 28 more times]   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 583, in request     r = self.session.request(   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/requests/sessions.py", line 587, in request     resp = self.send(prep, **send_kwargs)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/requests/sessions.py", line 701, in send     r = adapter.send(request, **kwargs)   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/requests/adapters.py", line 489, in send     resp = conn.urlopen(   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen     httplib_response = self._make_request(   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request     six.raise_from(e, None)   File "<string>", line 3, in raise_from   File "/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request     httplib_response = conn.getresponse()   File "/usr/lib/python3.10/http/client.py", line 1374, in getresponse     response.begin()   File "/usr/lib/python3.10/http/client.py", line 318, in begin     version, status, reason = self._read_status()   File "/usr/lib/python3.10/http/client.py", line 279, in _read_status     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")   File "/usr/lib/python3.10/socket.py", line 705, in readinto     return self._sock.recv_into(b)   File "/usr/lib/python3.10/ssl.py", line 1274, in recv_into     return self.read(nbytes, buffer)   File "/usr/lib/python3.10/ssl.py", line 1130, in read     return self._sslobj.read(len, buffer) KeyboardInterrupt
I also ran the whole thing with strace and I see reads and writes (the output updates about once a second) with some sort of hierarchy of numbers like "/37/2/406/..." and call to a library file that has to do with ssl certificates I imagine: certifi/cacert.pem. Not posted here in case it's sensitive information.
I'm not sure what to do!

First ...
events_fetched = my_new_calendar.search(
start=datetime(2021, 1, 1), end=datetime(2024, 1, 1),event=True, expand=True)

Have you tried specifying a shorter time range, or tried to disable expand?  It could be that the server is struggling to give an answer, perhaps there are too many recurring events?
The traceback doesn't say me much - if there is communication going on, it could be that the server is simply slow giving answers.  Though, 30 minutes is a lot.

Cheers. I just tried from 2021/12/1 to 22/01/01 and expand=false and the same thing is happening. Did I specify the port number in the proper way in the url variable?

I believe that it should work when specified like that, and it seems like I have test code covering it ...
     self.server_params = {"url": "http://%s:%i/" % (xandikos_host, xandikos_port)}

When it just hangs, it could be a firewall issue ... but then it's a bit strange to see reads and writes through strace.
Have you tried to access the URL using curl or wget?
Can you check with tcpdump that there is actually network traffic going both ways?
Do you see any activity in server logs?
Python debugger is probably more suitable than strace.  According to the traceback, line 583 in /home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py is the last point from the caldav library.  You may try to throw in import pdb; pdb.set_trace() before that line.  Press "n" to execute one and one code line (or "s" to dive deeper).  The useful information here would be if the very first web request hangs forever, or if there is any traffic forth and back.  (checking now, I see that it fails already in the first communication with the calendar server, so it never gets to the point where the search request is sent - my previous suggestion to reduce the search span was hence pretty moot).

Hey Tobi,
I did turn off my firewall and my VPN in case they were the reason but without luck.
I ran tcpdump and used the debugger and I have pinpointed the hang to
> /usr/lib/python3.10/ssl.py(1343)do_handshake() -> self._sslobj.do_handshake()
(I proceeded by pressing next until it hanged then starting again, pressing s at the point where I got the hang before. I moved the debugger call to the hanging line in the appropriate file to not have to start from scratch everytime. Hope that's how it's supposed to be done.)
Here is the entire tcpdump. I made sure I had not other programs using the network while I did it.
 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on wlo1, link-type EN10MB (Ethernet), snapshot length 262144 bytes 19:28:40.706045 IP blade.37898 > homerouter.cpe.domain: 60487+ [1au] AAAA? poste.de. (37) 19:28:40.706283 IP blade.36354 > done.poste.de.pcsync-https: Flags [S], seq 128509526, win 64240, options [mss 1460,sackOK,TS val 858849907 ecr 0,nop,wscale 7], length 0 19:28:40.762813 IP blade.50560 > homerouter.cpe.domain: 22255+ [1au] PTR? <IP_ADDRESS>.in-addr.arpa. (53) 19:28:40.766193 IP done.poste.de.pcsync-https > blade.36354: Flags [S.], seq<PHONE_NUMBER>, ack 128509527, win 29832, options [mss 1356,nop,wscale 8,nop,nop,sackOK], length 0 19:28:40.766234 IP blade.36354 > done.poste.de.pcsync-https: Flags [.], ack 1, win 502, length 0 19:28:40.766253 IP homerouter.cpe.domain > blade.37898: 60487 0/1/1 (107) 19:28:40.769521 IP homerouter.cpe.domain > blade.50560: 22255- 1/0/0 OPT UDPsize=1472 (81) 19:28:40.769745 IP blade.50560 > homerouter.cpe.domain: 55630+ PTR? <IP_ADDRESS>.in-addr.arpa. (42) 19:28:40.779538 IP homerouter.cpe.domain > blade.50560: 55630- 1/0/0 PTR homerouter.cpe. (70) 19:28:40.779991 IP blade.41205 > homerouter.cpe.domain: 45598+ PTR? <IP_ADDRESS>.in-addr.arpa. (44) 19:28:40.789551 IP homerouter.cpe.domain > blade.41205: 45598- 1/0/0 PTR blade. (63) 19:28:40.790221 IP blade.44186 > homerouter.cpe.domain: 47272+ [1au] PTR? <IP_ADDRESS>.in-addr.arpa. (56) 19:28:40.790242 IP blade.40640 > homerouter.cpe.domain: 12275+ PTR? <IP_ADDRESS>.in-addr.arpa. (45) 19:28:40.858713 IP homerouter.cpe.domain > blade.44186: 47272 1/0/1 PTR done.poste.de. (83) 19:28:40.858716 IP homerouter.cpe.domain > blade.40640: 12275 1/0/1 PTR done.poste.de. (83) 19:28:45.829143 ARP, Request who-has blade tell homerouter.cpe, length 28 19:28:45.829159 ARP, Reply blade is-at 5c:e4:2a:49:9b:20 (oui Unknown), length 28 19:29:02.044834 IP blade.36354 > done.poste.de.pcsync-https: Flags [P.], seq 1:518, ack 1, win 502, length 517 19:29:02.315756 IP done.poste.de.pcsync-https > blade.36354: Flags [.], ack 518, win 16395, length 0 19:29:04.055937 IP6 fe80::ee4:a0ff:fe22:abda > ff02::1:ff6b:57b: ICMP6, neighbor solicitation, who has fe80::14be:d525:4f6b:57b, length 32 19:29:04.122385 IP blade.46780 > homerouter.cpe.domain: 3800+ [1au] PTR? b.7.5.0.b.6.f.f.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.2.0.f.f.ip6.arpa. (101) 19:29:04.122682 IP blade.39154 > homerouter.cpe.domain: 33204+ PTR? b.7.5.0.b.6.f.f.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.2.0.f.f.ip6.arpa. (90) 19:29:04.772773 IP homerouter.cpe.domain > blade.39154: 33204 NXDomain 0/1/1 (165) 19:29:04.772773 IP homerouter.cpe.domain > blade.46780: 3800 NXDomain 0/1/1 (165) 19:29:04.772998 IP blade.46780 > homerouter.cpe.domain: 3800+ PTR? b.7.5.0.b.6.f.f.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.2.0.f.f.ip6.arpa. (90) 19:29:04.840276 IP homerouter.cpe.domain > blade.46780: 3800 NXDomain 0/1/0 (154)
The man page for openssl says If the underlying BIO is blocking, SSL_do_handshake() will only return once the handshake has been finished or an error occurred.
So I'm trying to investigate this and figure out how to print the error if one occured.
Thanks again for your help and guidance with this. It's a good learning experience for me.

I ran tcpdump and used the debugger and I have pinpointed the hang to > /usr/lib/python3.10/ssl.py(1343)do_handshake() -> self._sslobj.do_handshake()  (I proceeded by pressing next until it hanged then starting again, pressing s at the point where I got the hang before. I moved the debugger call to the hanging line in the appropriate file to not have to start from scratch everytime. Hope that's how it's supposed to be done.)

No idea how things are "supposed to be done", but I would have done the same :-)

Here is the entire tcpdump. I made sure I had not other programs using the network while I did it.

Traffic is flowing both ways, so probably not a firewall issue.
What happens if you visit https://posteo.de:8443/ in your browser?  (If I do it, I get a login prompt - so whatever is there, it communicates https ... and it apparently runs some variant of sabredav, could be that it's nextcloud ...)

I tried to register an account, but they want 12 EUR for that.  Not a lot of money, but I'm not going to pay that just to test their caldav compliance :-)

No idea how things are "supposed to be done", but I would have done the same :-)

No idea how things are "supposed to be done", but I would have done the same :-)
Hahaha! Comforting!

If I go to https://posteo.de:8443/ and fill the login prompt I actually get
<d:error> <s:exception>Sabre_DAV_Exception_NotImplemented</s:exception> <s:message>GET is only implemented on File objects</s:message> </d:error>
But I'm pretty sure that's normal. Thunderbird syncs successfully.
Yeah 12 euros will get you a year membership. It's basically a paying email service with green credentials. It's part of my degoogelisation masterplan :)

So when you mentioned Nextcloud I though, I do have my own Nextcloud instance, I should see if the same issue arises, then I can troubleshoot from the server side!
Sadly it works on my Nextcloud :) I'm happy just migrating even if I am very curious as to what is going on... I'll contact Posteo and see if they have any idea of what might be happening.

Hm ... seems like the problem can be reproduced just like this:
$ python
Python 3.10.9 (main, Dec 19 2022, 17:35:49) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.get('https://posteo.de:8443/')

So there is some kind of incompatibility between posteo and the python requests library.

(this is weird, very weird ... I've never seen anything like this before ...)

Now I get 401 as I'm supposed to.

"/home/mrfry/dev_python/caldav/calendar_fetch/lib/python3.10/site-packages/caldav/davclient.py", line 655, in request return self.request(url, method, body, headers) [Previous line repeated 28 more times] File

Seems to be  a recursion problem.
Could you try with some earlier versions of caldav, like v0.9.2?

This logic was last changed in afdea8021bc9c50cada699fcb9db8edf091c48cb

It doesn't make sense to me ... current code looks like this ...
    def request(...):
      (...)
        elif (
            r.status_code == 401
            and "WWW-Authenticate" in r.headers
            and self.password
            and self.username
            and self.auth
        ):
            (...)
            self.username = None
            self.password = None
            return self.request(url, method, body, headers)

... and your traceback hits the requests line on the bottom there repeatedly (it's probably a red herring that the problem stems from the SSL library ... it's probably rate-limits on the posteo-side that finally causes this to stop up).
However, since self.username and self.password is set to None there, that elif branch is not supposed to strike again.
The code is some explicit exception for sabre (nextcloud) when username and/or password contains UTF8-characters.  Could you try to change your password to something containing only ascii?

I think it's important to figure out of this ... and I have promised to make a new caldav release during the upcoming week.
There seems to be possible to create an account at posteo, choose a non-instant payment scheme, and then they do allow me to start using the account.  It just feels wrong and dishonest ... but perhaps I should do that :-)

I have registered an account with posteo now.  Tests run fine (with some exceptions), I don't have any problems with connecting to the server ... but I choose a very plain password, will try to change it (though, the password policy forbids "umlauts" ... hm)

Hey Tobi, I just gave it another shot as well and it works on my side as well. I have no idea what happened, sorry for the trouble!

It seems like this problem may be triggered by entering the wrong username and password.  Will follow up in #295.


chore(RHTAPWATCH-364): remove o11y e2e tests

Description
Since billing was de-prioritize, we no longer need the test suite to deal with it, as it will become obsolete
RHTAPWATCH-364 - https://issues.redhat.com/browse/RHTAPWATCH-364
Checklist:

[v] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

@Omeramsc in the Run you shared it uses 0.16 version of the release pipeline ,
while in the upstream is 0.17. You have to rebase it to the latest.

/lgtm cancel
Tide is stuck trying to merge this but since 2 approving reviews are required, it can't.

/hold

Hi @Omeramsc (and other interested people, OWNERS, etc)
I holded your PR to make it go away from tide merge pool. You have additional criteria set in gh which tide does not recognize (as far as I know there is no such feature in tide) and it causes tide to loop on a broken merge. Could you remove requirement for 2 approvals? I guess if you want to use tide you can play with /lgtm and /approve labels themselves.
You can visit: https://prow.ci.openshift.org/tide-history to see how it affected tide.

Hi @Omeramsc (and other interested people, OWNERS, etc)
I holded your PR to make it go away from tide merge pool. You have additional criteria set in gh which tide does not recognize (as far as I know there is no such feature in tide) and it causes tide to loop on a broken merge. Could you remove requirement for 2 approvals? I guess if you want to use tide you can play with /lgtm and /approve labels themselves.
You can visit: https://prow.ci.openshift.org/tide-history to see how it affected tide.

@jmguzik Thanks; I don't think I have permissions to remove said requirements? I see the PR did have 2 approvals at one time, so I'm not sure I follow - what is needed in order for it to merge or who can remove the requirement?


unit tests for catmath.py

Up to 98%! Nice work! Looks very familiar ;)

Thanks! Standing on the shoulders of giants...


Fixed the calculation of the combined speed scaling factor

I had to further adjust the hardware interface since the combined scaling factor was not calculated. Also added parts of the internal robot state machine from the ros1 driver since it was relevant for the way the factor is calculated.
There is still some hacky stuff in here because the industrial_robot_interface is not released for foxy. I will create additional issues for this.

@MGBla wrote:

I had to further adjust the hardware interface since the combined scaling factor was not calculated.

out of curiosity: what's the combined scaling factor ?

@gavanderhoorn Since you are already involved here: Currently the code contains a rather hacky re-implementation of the enumerations of your industrial_robot_status_interface, with which I'm not really happy. Are there plans to release them for Foxy in the near future?

I don't really understand how industrial_robot_status_interface (and its controller) are involved in the calculation of the scaling factor.
Afaict, it's not needed.

Oh yeah you're right... Seems I confused something there. Thought it was used the determine if the robot is currently in a ramp up phase when coming from a paused state, which is included in the combined scaling factor.


hugo shortcodes: Sent invalid data to remark.

Hi,
I am trying to write a widget for hugo shortcode for photoswipe (https://github.com/liwenyip/hugo-easy-gallery) and I keep getting the error, though I have no idea what the reason for this error is and why I keep getting it, because from my POV all the data seems to be correct
remarkShortcodes.js:53 Sent invalid data to remark. Plugin: photoswipe_figure. Value: {{< figure link="/img/Blog/2019-05-13_tallinn_2/2019-05-13_001.JPG" thumb="_thumb" size="2720x4096" >}}. Data: {"src":"","link":"/img/Blog/2019-05-13_tallinn_2/2019-05-13_001.JPG"}

My shortcode plugin looks like the following (I have commented out a lot of stuff while trying to narrow down the issue):
CMS.registerEditorComponent({
    id: "photoswipe_figure",
    label: "Photoswipe - Figure",
    fields: [{
        name: "title",
        label: "Title",
        widget: "string"
    },
    {
        name: "src",
        label: "Source",
        widget: "string"
    },
    /*{
        name: "useThumb",
        label: "Use Thumbnail",
        widget: "boolean",
        default: true
    },
    {
        name: "thumbSuffix",
        label: "Thumbnail Suffix",
        widget: "string",
        default: "_thumb"
    },
    {
        name: "caption",
        label: "Caption",
        widget: "string"
    },
    {
        name: "attr",
        label: "Attribution",
        widget: "string"
    },
    {
        name: "attrlink",
        label: "Attribution Link",
        widget: "string"
    },
    {
        name: "alt",
        label: "Alt Text",
        widget: "string"
    },*/
    ],
    //pattern: /{{< figure (src="[a-zA-Z0-9-_/\\.]+")?\s*(link="[a-zA-Z0-9-_/\\.]+")?\s*(thumb="[a-zA-Z0-9-_]+")?\s*(size="[a-zA-Z0-9-_]+")?\s*(title=".*")?\s*(caption=".*")? >}}/,
    pattern: /{{< figure (src="[a-zA-Z0-9-_/\\.]+")?\s*(link="[a-zA-Z0-9-_/\\.]+")?.* >}}/,
    fromBlock: function (match) {
        function isString (obj) {
            return (Object.prototype.toString.call(obj) === '[object String]');
        }

        const srcRegex = `src="([a-zA-Z0-9-_\/\.]+)"`
        const linkRegex = `link="([a-zA-Z0-9-_\/\.]+)"`
        const thumbRegex = `thumb="([a-zA-Z0-9-_]+)"`
        const sizeRegex = `size="([a-zA-Z0-9-_]+)"`
        const titleRegex = `title="(.*)"`
        const captionRegex = `caption="(.*)"`
        const attrRegex = `attr="(.*)"`
        const attrlinkRegex = `attrlink="([a-zA-Z0-9-_\/\.]+)"`
        const altRegex = `alt="(.*)"`

        let src = ""
        let link = ""
        let thumb = ""
        let size = ""
        let title = ""
        let caption = ""
        let attr = ""
        let attrlink = ""
        let alt = ""

        for(let i in match) {
            let m = match[i]
            if (m === null || m === undefined || !isString(m)) {
                continue
            }

            let srcMatch = m.match(new RegExp(srcRegex))
            if (srcMatch !== null && srcMatch.length > 0) {
                src = srcMatch[1]
            }

            let linkMatch = m.match(new RegExp(linkRegex))
            if (linkMatch !== null && linkMatch.length > 0) {
                link = linkMatch[1]
            }

            /*let thumbMatch = m.match(new RegExp(thumbRegex))
            if (thumbMatch !== null && thumbMatch.length > 0) {
                thumb = thumbMatch[1]
            }

            let sizeMatch = m.match(new RegExp(sizeRegex))
            if (sizeMatch !== null && sizeMatch.length > 0) {
                size = sizeMatch[1]
            }

            let titleMatch = m.match(new RegExp(titleRegex))
            if (titleMatch !== null && titleMatch.length > 0) {
                title = titleMatch[1]
            }

            let captionMatch = m.match(new RegExp(captionRegex))
            if (captionMatch !== null && captionMatch.length > 0) {
                caption = captionMatch[1]
            }*/

        }

        /*let useThumb = true
        if (thumb === "" || thumb === null || thumb === undefined) {
            useThumb = false
        }*/

        return {
            src: src,
            link: link,
           /* thumb: thumb,
            useThumb: useThumb,
            size: size,
            title: title,
            caption: caption,
            attr: "",
            attrlink: "",
            alt: "",*/
        };
    },
    toBlock: function (obj) {
        //let thumbString = ""
        //if (obj.useThumb) {
        //    thumbString = `thumb="${obj.thumbSuffix}`
        //}
        //return `{{< figure src="${obj.src}" link="${obj.link}" ${thumbString} size="${obj.size}" title="${obj.title}" caption="${obj.caption}" attr="${obj.attr}" attrlink="${obj.attrlink}" >}}`;
        return `{{< figure >}}`
    },
    toPreview: function (obj) {
        return `<strong>figure</strong>`;
        //return `<figure><img src=${obj.src} alt=${obj.title}><figcaption><strong>${obj.title}</strong> ${obj.caption}</figcaption></figure>`;
    },
});

The reason I am doing the internal matching is because I want to ensure that it does not matter in which order the attributes are set on the actual shortcode and this is the only way I found, because there is nothing in the documentation about that.
How can I further debug this? The error message that I get only tells me that there is something wrong, but not exactly what is wrong and with the debugger I can also not get any further.
Applicable Versions:

Netlify CMS version:
netlify-cms-app 2.14.14
netlify-cms-core 2.36.13
netlify-cms 2.10.84

Hi @twatzl we have a Hugo shortcodes guide in our docs https://www.netlifycms.org/docs/hugo/#using-hugo-shortcodes-in-the-markdown-editor if that helps.
At the bottom you can find a link to a repo with more shortcodes.

Hi, actually I used one of the shortcodes in that repo as a template for my shortcode. The documentation does not say anything about how I can write my widget such that the order of attributes does not matter.
I try again to fix the issue, but a more verbose error message would be very helpful there. I suspect the regex is the issue, but when I test my regex against the document using regex101 everything works as expected.

So i now found several issues with my code

forgot link field
fogot size field
thumb should have been thumbSuffix
size field was missing

I fixed all of them.
Additionally I noticed that netlify does not detect and parse shortcodes which are nested within other shortcodes. which is somehwhat annoying, but I also built a solution for that. now everything works more or less. I still get hundreds of errors, but tbh without proper error message I have little idea how to fix them. I can post an updated version of my code once i fixed the remaining bugs.

I am currently getting the same error of "Sent invalid data to remark":
Sent invalid data to remark. Plugin: twitter. Value: {{< twitter<PHONE_NUMBER>611051520 >}}. Data: {"tid":"1034811356611051520"} 2 remarkShortcodes.js:53:16

I'm seeing this error as well, seemingly at random times. I believe this is because the markdown parser is choking on the hugo shortcode characters but are not sure what to do about it :/

believe this is because the markdown parser is choking on the hugo shortcode characters

Yes, that's what I think. It seems one has to provide a remark plugin for shortcodes. There's mention of a beta feature for that: https://www.netlifycms.org/docs/beta-features/#remark-plugins and there is a remark-shortcodes plugin (that does not support nested shortcodes).
I'm quite surprised that there is very little action surrounding this issue. I'd have thought that Hugo shortcodes are a commodity and Netifly provides full support, but currently there is still a lot of room for improvement. My  no. 1 would be support for inline shortcodes...

Hi @doompadee and all, we cover some of that in our docs https://www.netlifycms.org/docs/hugo/#using-hugo-shortcodes-in-the-markdown-editor and also link to an external repo with Hugo short codes.
Having those built-in could be tricky as it might break non-Hugo sites.
Maybe we can be smart about it and automatically add editor components based on a detected framework/site (or initially have the user configure it via presets).

we cover some of that in our docs https://www.netlifycms.org/docs/hugo/#using-hugo-shortcodes-in-the-markdown-editor and also link to an external repo with Hugo short codes.

The problem is not how to use the provided infrastructure, but that it is lacking! This invalid data warning creeps up every now and then and if I'm not mistaken, shows a general issue with the current shortcode support. I tried with several of my shortcodes and all seem to show this warning message for seemingly no reason which is confusing at first and annoying afterwards. My editor components are working, the shortcodes are correctly "parsed" and serialized, yet I still receive warnings (Here is a typical regex for a block shortcode: /{{< schedule(.*?)>}}(.*?){{< \/schedule >}}/s). What purpose does the attempted tokenization in remarkShortcodes.js serve when the parser does not understand shortcodes?
And why only blocklevel shortcodes? For me shortcodes are an essential building block to enable non-technical writers to perform their tasks. If I can't get visual editing for my inline shortcodes working, Netlify looses its appeal. Are inline shortcodes that rare among your user base that there is not even an attempt to support them?

Having those built-in could be tricky as it might break non-Hugo sites.

While I don't see how such build-ins might break sites, I don't think that supporting a few popular shortcodes is really the point - although it could serve as a showcase how to properly add custom shortcodes and might bring awareness for the current shortcomings in the process and would therefore be a worthwhile exercise.
Making it simple and convenient for developers to add custom shortcodes should be the goal instead! While a full fledged solution that actually parses shortcodes and gives developers a proper API for the editor integration (no more regexes!)  might be too specific, at least some support methods to deal with attributes and serialization should not be out of reach and could avoid erroneous attempts like in the opening post.

I think this is related to #5065 too.


Add support for logging

It would be useful to be able to see long term history in group monitor. There should be a preference for retention period and a cut-off value for realtime browsing, for when your sort the group monitor according to criteria other than time.
In addition to group monitor there could be object view like Schneider Wiser for KNX, where you can browse/filter group addresses and can see the last value seen on bus for that group address and when it was seen.
You're doing magnificent work with the integration.

Hi 👋!
Regarding long term history: Have you seen #92 ?
You can "filter" for group addresses with the search bar. It's not really the most handy way to solve that, but for general debug purposes it should be good enough imho.
This object view sounds interesting. Maybe it can be combined with #76 one day 🤔

I commented on #92 and clarified the use case and possible solution there.
The current filtering is no worse than what's in ETS, so everyone is accustomed to it anyway :)
The cut-off time limit for realtime browsing would be useful to avoid loading entire, possibly very long history in memory and on page.
And yes, such object view would also solve #76 .

current max history is 5000 Telegrams - that's about 2MB of data. I don't think this would lead to problems regarding loading times or responsiveness, but it is indeed not very handy to have it on one page.
Maybe we can add pagination to the group monitor somehow... but I'm not sure how to handle that with incoming live data 😬

Hope this is the right "forum" to discuss, if not, please redirect me.
Have been moving away from my current KNX platform during the last half year and am very pleased with the combination HA+NR, thanks!!!
The last feature for finally getting rid of the old platform is long-term logging and easy searchability of historical data (AKA extensions of the group monitor):

Log ALL KNX messages to (I guess) InfluxDB, with everything contained in the telegrams plus the dpts available in HA.
Easy user interface where one can add multiple filters to get a narrowed-down list of telegrams for analyzing: data and time periods, source, destination
Filters can be saved and are clickable for en-/disabling
This implies a way to dis-/enable realtime monitoring.

My first impression is that the out-of-the-box InfluxDB integration is too limited, e.g. because it does not support multiple targets as far as I understood. Was looking into knx2influx, but that's too limited in terms of functionality at this point in time and seems abandoned. Plus totally unclear how to build a good UI... don't think grafana would be suitable.
Given my limited programming experience, I would rather support a community effort with testing etc. than trying to build something on my own.
How does the above sound to you?

Hi 👋!
Having DB-connectors in the HA KNX integration would be out of scope imho.
I don't think logging to databases like influxdb should be a concern of the HA KNX integration. This could probably be done by a HA automation using knx_event or knx.telegram trigger (once it is merged) or the interface device trigger. Otherwise I guess there are better tools out there for exactly this purpose (Telegraf etc.).
For the better UI, I am 100% with you. Since HA data table was revised recently (2024.4), it may be possible to leverage its new filter methods for the group monitor.
Saving filter options sounds like a lot of work for a feature that is quite rarely used. For me the HA group monitor is a tool to quickly test things or look up addresses - it was not meant to be a full fledged KNX logging and debugging tool. That said, if anyone cares to contribute to push it that direction, I'm fine with it too 😉

Hm... you need to import ETS project files for HA as well. Maybe have a look here https://github.com/svsool/knx-telegraf-config-generator
Anyway I'm not sure if an influx connector would work solely from the frontend - without any backend-part.
How many telegrams would you plan to store there? Days, months or years?

Thanks for your thinking along and patience.
Would be at least a year with ability for more. That's what I am used to from the current KNX platform... (and has proven good to have in those rare circumstances)
I see your point on the backend (shows my level of experience :()...
From our earlier chat (which I just remembered, https://community.home-assistant.io/t/knx-cookbook/230972/447), a "catch all" would work as well without importing the ETS project file (which of course I do for 99% of the installation)?
Question might come down to: Is a KNX group (and potentially bus) monitor with historical data based on HA a feature more HA users would want/need? Or is that something more for e.g. system integrators (likely with the related price tag)?
I am afraid that the learning curve would be a bit too steep for me the coming months to tackle this on my own.

You can't build a bus monitor with a tunnelling data link layer connection - only a group monitor.
I don't know how many users would need this feature - can't think of a situation where I would like to find a specific telegram that was sent on the bus 2 months ago. But your milage may vary.

Thanks for the clarification, I'll leave the bus monitor to the old platform then (with built-in KNX interface).
Regarding the group monitor: mileage varies indeed, I've had these situations. And even for debugging for the current and past few days, it's an absolutely brilliant feature: Why was a certain light suddenly turned on? Was that from the visu? Or through a motion detector? Or from an NR flow? etc. etc. Once you have the feature, the use cases are numerous.
I'll put it on my to-do list for the coming months/year.

For the past few days, you can already see that in HAs Group monitor. Just set the retained telegrams to a higher count in the Knx integration settings.


Release 2.2 out-of-memory when using onKeep in filter on minimal query

With Influx 2.2, the following minimal query generates 100% CPU and RAM leading to OOM.
Same query is running fine if I downgrade to 2.1. Tried also with system with 64GB RAM.
Steps to reproduce:
Run this query in 2.2 (it completely freezes my system, so you are warned)
import "experimental/array"

table=array.from(rows: [{_measurement: "m0", myvalue1: 0, myvalue2: 1, _time: 2020-01-01T00:00:00Z,},
                        {_measurement: "m0", myvalue1: 0, myvalue2: 1, _time: 2020-01-02T00:00:00Z}])

check = table
  |> filter(fn: (r) => r.myvalue1 >= r.myvalue2, onEmpty: "keep" )
  |> sort(columns: ["myvalue2"], desc: true)
  |> limit(n: 1)
  |> yield(name:"check")

Expected behavior:
Query generates no results
Actual behavior:
Query generates 100% CPU and RAM leading to OOM.
Query runs fine (no results) If I remove onEmpty:"keep" in the filter.
Alternatively I can leave the filter unchanged and remove the  |> limit(n: 1) to also avoid OOM (not what I want)
Same query (and all the other combinations) run fine if I downgrade to 2.1.
Environment info:

System info: Linux 5.4.0-109-generic x86_64
InfluxDB version: InfluxDB v2.2.0 (git: a2f8538837) build_date: 2022-04-06T17:36:40Z

Config:
bolt-path = "/var/lib/influxdb/influxd.bolt"
engine-path = "/var/lib/influxdb/engine"
http-bind-address = ":8086"
log-level = "error"
query-concurrency = 10
query-queue-size = 10
reporting-disabled = true
secret-store = "bolt"
session-length = 60
storage-retention-check-interval = "30m0s"
tls-cert = "/etc/ssl/influxdb-selfsigned.crt"
tls-key =  "/etc/ssl/influxdb-selfsigned.key"
tls-min-version = "1.1"
tls-strict-ciphers = true

Performance:
Could not generate profiles during bug because system is unusable due to 100% CPU and RAM.

same query on 2.3.0 works fine. So I will just update without knowing what was wrong in 2.2.0.


Add support for input slider and toggle button

Feature Request
Problem description
We need support for adding

input slider for controlling volume in device panel
toggle button to toggle for scenarios like enable system audio, private viewing etc.

Fixed by https://github.com/stardust-ui/react/pull/1559 and https://github.com/stardust-ui/react/pull/1405


Late variable error when disabling global type inference

While debugging another issue, I encountered this odd case. This simple program works fine when we run the global type inference, but not when it's disabled:
class A {
  late final _t;
  A() {
    _t = 1;
  }
}
main () {
  print(new A()._t);
}

Running with --disable-type-inference this program produces this error:
LateInitializationError: Field '_t' has already been initialized.
    at Object.wrapException (/tmp/out.js:336:17)
    at Object._lateWriteOnceCheck (/tmp/out.js:2205:15)
    at Object.A$ (/tmp/out.js:2170:9)
    at main (/tmp/out.js:2175:34)
    at action (/usr/local/google/home/sigmund/dart/git_all/sdk/sdk/lib/_internal/js_runtime/lib/preambles/d8.js:275:31)
    at eventLoop (/usr/local/google/home/sigmund/dart/git_all/sdk/sdk/lib/_internal/js_runtime/lib/preambles/d8.js:258:9)
    at self.dartMainRunner (/usr/local/google/home/sigmund/dart/git_all/sdk/sdk/lib/_internal/js_runtime/lib/preambles/d8.js:276:5)
    at /tmp/out.js:2687:7
    at /tmp/out.js:2672:7
    at dartProgram (/tmp/out.js:2683:5)

Ah, I hadn't even considered that we might run with global type inference disabled. This may be tricky and I'll have to think about how to handle this - type inference establishes some of the invariants related to late variables that we use later on.
/cc @rakudrama

Closing since this seems to be fixed with the improvements to inference and late lowering. Feel free to reopen if we run into this again.


Improvement: Make time property optional

A user in the OData newsgroup wants to use the plugin without time property.
See: https://groups.google.com/g/odata-discussion/c/KwnOSWpBGu4
Currently the use of the time property is mandatory.

+1

Make time property optional please

Hi, the changes have not been released yet.
We cant name an exact release date but hope/expect it to happen before the christmas days.

+1

Is this completed? When will you guys release it?

Hello, when is the planned release date for the upcoming version ?

Hi, sorry it took us so long, but we finally released the new version yesterday. Today it went through grafana's review process and is now generally available.


VMAlertmanagerConfig: EmailConfig.require_tls always set to true

EmailConfig.require_tls always set to true, regardless of EmailConfig.require_tls value in a VMAlertmanagerConfig manifest.
https://docs.victoriametrics.com/operator/api.html#emailconfig
It seems that it is not checked in the buildEmail func.
https://github.com/VictoriaMetrics/operator/blob/933987a2a5fc3d6fe76b59b15f2e8c324d92ee22/controllers/factory/alertmanager/config.go#L799-L844
Therefore, global.smtp_require_tls value is always used, which is set to true by default.
https://prometheus.io/docs/alerting/latest/configuration/

Looks like vm don't want us to set require_tls to false because Go does not support unencrypted connections to remote SMTP endpoints.
But the doc doesn't describe it clearly.
And if user need to set require_tls to false to test something, it will be a bug.


Fix memory leak in Program::ReadFromFile()

The code in runtime/vm/kernel_binary.cc:

Program* Program::ReadFromFile(const char* script_uri, const char** error /* = nullptr */) {
    ...
    uint8_t* kernel_buffer;
    intptr_t kernel_buffer_size;
    ...
    kernel_buffer = reinterpret_cast<uint8_t*>(malloc(kernel_buffer_size));
    memmove(kernel_buffer, data, kernel_buffer_size);
    ....
}

Seems to never get freed.
The usage of this buffer is in runtime/vm/isolate_reload.cc.
Notice that in the else branch we do attach a finalizer to an artificially created ExternalTypedData to ensure it's freed (at isolate shutdown time - we keep it around longer than necessary).

    // ReadKernelFromFile checks to see if the file at
    // root_script_url is a valid .dill file. If that's the case, a Program*
    // is returned. Otherwise, this is likely a source file that needs to be
    // compiled, so ReadKernelFromFile returns NULL.
    kernel_program.set(kernel::Program::ReadFromFile(root_script_url));
    ...
    if (kernel_program.get() != NULL) {
      num_received_libs_ = kernel_program.get()->library_count();
      bytes_received_libs_ = kernel_program.get()->kernel_data_size();
      p_num_received_classes = &num_received_classes_;
      p_num_received_procedures = &num_received_procedures_;
    } else {
      ...
      // The ownership of the kernel buffer goes now to the VM.
      const ExternalTypedData& typed_data = ExternalTypedData::Handle(
          Z,
          ExternalTypedData::New(kExternalTypedDataUint8ArrayCid, retval.kernel,
                                 retval.kernel_size, Heap::kOld));
      typed_data.AddFinalizer(
          retval.kernel,
          [](void* isolate_callback_data, Dart_WeakPersistentHandle handle,
             void* data) { free(data); },
          retval.kernel_size);

      // TODO(dartbug.com/33973): Change the heap objects to have a proper
      // retaining path to the kernel blob and ensure the finalizer will free it
      // once there are no longer references to it.
      // (The [ExternalTypedData] currently referenced by e.g. functions point
      // into the middle of c-allocated buffer and don't have a finalizer).
      I->RetainKernelBlob(typed_data);
      ...
    }

But if the hot-reload blob is loaded from the file, we don't do this.

See also https://github.com/dart-lang/sdk/issues/33973 which tracks the fact that we don't want to keep the memory alive until isolate shutdown but rather want to keep it alive until it's not needed anymore.

The lifecycle of the kernel_data is complicated. It's passed to the Program, but then other things take references to the kernel_data (or views into the middle of it) that outlive the Program. It's a bit of a mess. Hopefully there's a single object somewhere (maybe the Library?) that has the same lifespan as the kernel_data that can conditionally take ownership of it (but only if it was constructed by an isolate_reload).


wfastcgi 2.2 + IIS 8 + Flask 0.10.1 + Python 3.5.1 = error

I am running a flask webapp of which standalone script runs fine. When it is integrated into IIS 8 with wfastcgi we get this error:
Error occurred while reading WSGI handler:

Traceback (most recent call last):
  File "c:\python\python34\lib\site-packages\wfastcgi.py", line 779, in main
    env, handler = read_wsgi_handler(response.physical_path)
  File "c:\python\python34\lib\site-packages\wfastcgi.py", line 621, in read_wsgi_handler
    handler = get_wsgi_handler(os.getenv('WSGI_HANDLER'))
  File "c:\python\python34\lib\site-packages\wfastcgi.py", line 594, in get_wsgi_handler
    handler = handler()
TypeError: __call__() missing 2 required positional arguments: 'environ' and 'start_response'

StdOut:

StdErr:

web.config file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="app.app()" />
    <add key="PYTHONPATH" value="C:\Flaskapp" />
  </appSettings>
  <system.webServer>
    <!--<handlers accessPolicy="Read, Execute, Script" />-->
    <modules runAllManagedModulesForAllRequests="true" />
    <handlers>
      	    <add name="Python FastCGI"
			path="*" verb="*"
			modules="FastCgiModule"
			scriptProcessor="C:\python\python34\python.exe|c:\python\python34\lib\site-packages\wfastcgi.py"
			resourceType="Unspecified" requireAccess="Script" />
    </handlers>
  </system.webServer>
</configuration>

How can this be fixed? Thanks.

At a guess, your WSGI_HANDLER app setting should be app.app (without the trailing ()). That way, wfastcgi will do:
handler = __import__("app")
handler = getattr(handler, "app")
handler(environ, start_response)

Currently, it's doing this:
handler = __import__("app")
handler = getattr(handler, "app")
handler = handler()  # Call here is missing arguments
#handler(environ, start_response)  never reached

Great! It works.
We could not distinguish the different between app and app().
Thanks a lot Steve.

Just out of interest, can you tell me where you looked to try and figure this out? I want to go through the places that people are actually looking at and make these answers more obvious.

The major document I read was wfastcgi on pypi: https://pypi.python.org/pypi/wfastcgi
I also googled with these key words "python flask iis"
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-classic-python-django-web-app/
http://netdot.co/2015/03/09/flask-on-iis/
https://heejune.me/2015/04/22/running-python-flask-on-a-local-iis-not-azure-with-wfastcgi-py/
Most of the examples I have gone through were with blankets in WSGI_HANDLER value. We followed that and failed.

Awesome, thanks! That's valuable info. 👍


[move-prover][BUG?]

The file tests/sources/functional/generic_bug has a reduced version of a
problem I ran into in association.move.  It is probably the case that
spec schema and apply do exactly what we said we wanted them to do, but
maybe that's not what we want.
This file has generic functions to add and remove "Privileges" (which
are just resources). "apply_for_privilege" creates the
resource PrivilegedCapability and stores it at the sender's
address, and "remove_privilege" removes that if the sender
== root_address().
"initialize" stores a PrivilegedCapability at the root_address().
I tried to specify and prove an invariant that "the root address
always has a PrivilegedCapability", which the Prover happily proved.
I don't think it understands that someone could call
remove_privilegeGenericBug::T to remove the privilege.
There is a commented-out function stupid_root that does
remove_privilege(root_address()).  If this function is commented in,
the prover reports a violation of the invariant.
I don't fully understand this behavior. I think it has something to do
with universal quantification over generic parameters, but haven't
thought through the details.  The key is that remove_privilege can be
used to remove any PrivilegedCapability if the sender is root,
including the PrivilegedCapability that appears in the specified
property, but I'm not sure how to tell Boogie about that.

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

No need to merge this. I copied the example and have a fix.

Fixed with #3952 which also includes the example. Closing.


Fix device-orientation example

device-orientation example is broken  in production mode because ol.math.toRadians is not exported.

This was a problem with the 4.6.4 release.  See https://github.com/openlayers/openlayers/blob/v4.6.4/src/ol/math.js#L166-L174 and http://openlayers.org/en/v4.6.4/examples/device-orientation.html.  The example was broken with 34428cfea618bb3991d41ec0c7499df9dcfc9f5c.  The master branch is quite far ahead of 4.6.4 at this point, and toRadians is correctly exported from the ol/math module.
I don't think it is worth issuing a 4.6 patch release to fix this example.  We'll be publishing an updated version of the hosted examples when we're closer to the 5.0 release.

ok