create check-exposure-has-meta-keys

Describe the feature you'd like
With the addition of exposures, apart from models and sources, it would be great to have a hook to check if they have meta keys defined or not. Like for example the check-model-has-meta-keys or check-source-has-meta-keys we already have.
Similar to what we have for models with the "--allow-extra-keys" flag, might be also very intersting to have for exposures.
Additional context
This would be really useful to enforce exposure governance.

Released in v1.2.1


feat(resolve): Direct people to working around less optimal MSRV-resolver results

What does this PR try to resolve?
In discussing #14414, the general problem of the resolver picking a
version older than a package needs for its MSRV (or lack of one) because of the MSRV of
other packages came up.
This tries to patch over that problem by telling users that a dependency
might be able to be newer than the resolver selected.
The message is fairly generic and might be misread to be about any MSRV
update which an MSRV fallback strategy allows, which would make the
count off.
The reason it is so generic is we don't know with precision why it was
held back

Direct dependents may have a non-semver upper bound on the version as
we aren't trying to unify the version requirements across direct
dependents at this time
A dependency could have removed a feature without making a breaking
change

This seems like it should instead be an error but thats a
conversation for another day

The user enabled -Zminimal-versions

This is now detected and the message skipped

Note: separate from this, we may also print the status suffix for this
case if the package was not selected for update (e.g. passing
--workspace).
How should we test and review this PR?
Additional information

@joshtriplett this is a first pass at supporting a summary message and what wording we might use.

:umbrella: The latest upstream changes (presumably #14568) made this pull request unmergeable. Please resolve the merge conflicts.


5.15.8 - Libpq turbo

Closes #195
Closes #192
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

arch_ppc_logs.zip
I'm really not sure what is happening with OSX + arm.
Given that this migration affects OSX+arm I need help moving this forward.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Not sure why linux would start failing now. There's no relevant change since 072649b1a9811c8bcd190cefc5535c05f8406c31, where CI was passing.
make[5]: Entering directory '$SRC_DIR/qt-build/qtbase/src/platformsupport/input/xkbcommon'
g++ -c -pipe -O2 -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wextra -Wno-expansion-to-defined -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -D_REENTRANT -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_CAST_FROM_ASCII -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_XKBCOMMON_SUPPORT_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -D_X_INLINE=inline -DXK_dead_currency=0xfe6f -D_FORTIFY_SOURCE=2 -DXK_ISO_Level5_Lock=0xfe13 -DFC_WEIGHT_EXTRABLACK=215 -DFC_WEIGHT_ULTRABLACK=FC_WEIGHT_EXTRABLACK -DGLX_GLXEXT_PROTOTYPES -I$SRC_DIR/qtbase/src/platformsupport/input/xkbcommon -I. -I$SRC_DIR/qtbase/include -I$SRC_DIR/qtbase/include/QtXkbCommonSupport -I$SRC_DIR/qtbase/include/QtXkbCommonSupport/5.15.8 -I$SRC_DIR/qtbase/include/QtXkbCommonSupport/5.15.8/QtXkbCommonSupport -I../../../../include -I../../../../include/QtXkbCommonSupport -I$SRC_DIR/qtbase/include/QtGui/5.15.8 -I$SRC_DIR/qtbase/include/QtGui/5.15.8/QtGui -I../../../../include/QtGui/5.15.8 -I../../../../include/QtGui/5.15.8/QtGui -I$SRC_DIR/qtbase/include/QtCore/5.15.8 -I$SRC_DIR/qtbase/include/QtCore/5.15.8/QtCore -I../../../../include/QtCore/5.15.8 -I../../../../include/QtCore/5.15.8/QtCore -I$SRC_DIR/qtbase/include/QtGui -I../../../../include/QtGui -I$SRC_DIR/qtbase/include/QtCore -I../../../../include/QtCore -I.moc -I$PREFIX/include -I/usr/include/libdrm -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/qtbase/mkspecs/linux-g++ -o .obj/qxkbcommon.o $SRC_DIR/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp
$SRC_DIR/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp:276:16: error: 'XKB_KEY_dead_lowline' was not declared in this scope; did you mean 'XKB_KEY_dead_belowring'?
  276 |         Xkb2Qt<XKB_KEY_dead_lowline,            Qt::Key_Dead_Lowline>,
      |                ^~~~~~~~~~~~~~~~~~~~
      |                XKB_KEY_dead_belowring
$SRC_DIR/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp:276:69: error: template argument 1 is invalid
  276 |         Xkb2Qt<XKB_KEY_dead_lowline,            Qt::Key_Dead_Lowline>,
      |                                                                     ^

But at least osx-arm is passing now...

https://github.com/xkbcommon/libxkbcommon/blob/6073565903488cb5b9a8d37fdc4a7c2f9d7ad04d/NEWS#L11

give me a second, i'm going to patch this out, this is not worth pinning for.

This should be good now @hmaarrfk?

Especially as I just realized that this is (very likely) blocking everything past matplotlib in the py312 migration. 😅

yea.... but somebody needs to find a minute to check and upload the aarch and PPC builds. I have them completed, but I need to upload them.

logs.zip


BACKUP DATABASE is terminating abnormally

Did it and I'm receiving the mentioned error.

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

ID: 0c3875ad-d73a-8f5b-e8ba-8418014fbada
Version Independent ID: 13471101-d549-e73b-fef2-fed92518bfcf
Content: Run Transact-SQL Script Files Using sqlcmd - SQL Server
Content Source: docs/ssms/scripting/sqlcmd-run-transact-sql-script-files.md
Product: sql
Technology: scripting
GitHub Login: @markingmyname
Microsoft Alias: maghan

@SmartNoel -- Thanks for your feedback; we appreciate it. To make sure we have all the information needed to triage your issue, please provide more context around your general task.


What would be the minimum layout and markup?

Question Checklist

[x] Updated Amplitude.js to the latest version
[x] I read the docs
[x] I searched for existing GitHub issues

Question Subject

It would be extremely helpful to have a demo with the minimum markup needed.

Question Description
The examples are somewhat confusing, and needs many adjustments when embed manually into the code.
If jquery and foundation JS aren't needed, and also some CSSs that are in the examples are not a must, it would be super great to have a version to use it when only a simple HTML with simplest CSS and the minimum JS includes and inline script involved in it.

Ahh great idea! I'll add that. Thanks for pointing it out because none of that is needed, just Amplitude and some markup.

On a related note, it'd be great to see an example of a player using the current version of Bootstrap rather than Foundation.

Right now I'm adding these player requests to our roadmap so we can plan them out accordingly. I'll close this issue so we can keep track of them in the roadmap.

I have a bootstrap4 player somewhat working, I'll share it when it's presentable.

@tacman Awesome! That'd be wonderful! Feel free to submit a PR with your example or upload it here and we can add it to the repo!

Can you make a JSON feed and assets publicly available, ideally with full paths?  That would make developing a demo easier for everyone.  Right now, functions.js has
Amplitude.init({
  "songs": [
    {
      "name": "Risin' High (feat Raashan Ahmad)",
      "artist": "Ancient Astronauts",
      "album": "We Are to Answer",
      "url": "../songs/Ancient Astronauts - Risin' High (feat Raashan Ahmad).mp3",
      "cover_art_url": "../album-art/we-are-to-answer.jpg"
    },
    {
      "name": "The Gun",
      "artist": "Lorn",
      "album": "Ask The Dust",
      "url": "../songs/08 The Gun.mp3",
      "cover_art_url": "../album-art/ask-the-dust.jpg"
    },

But of course, no one should be embedding the json in the js file, it'll be opened by a fetch command (which is now enough of a standard in javascript that jquery isn't needed.  But jquery would be fine for an example anyway).
So if the songs.json file had all this same information, ideally with full paths to the mp3 and art, then the demo app could simply load this file, rather than dealing with all the setup of finding songs and art.


HPAT Build: Code style check for C and Python sources

Python sources can not be fully fixed automatically for all rules required by pep8
Excluded E265,W503 rules from style check due to reason above. Can be get them back in future.
Algorithm improvement might be addressed in other PRs
Only build and .git directories and sub directory excluded from search paths

To see documentation please use python ./setup.py --help-commands for new build option and python ./setup.py style --help for its parameter

I addressed part of comments.

I did not change autopep8 to yapf due to yapf provide worse formatting.
I didn't implement Python module based style check/adjustment. Currently it works consistently for C and Pyton sources. If somebody want to do this, please address this in separate PR.


Update rdwiki

Update rdwiki and remove obsolete parts after #140, #141 and #142

Wiki updated on our fork. All mentions to earlier versions of Boost Test/Visual Studio have been removed.
Will merge to this fork upon confirmation/review.

@netspiri looks good :+1:
Two findings:

Pre-Requisites: should be noted that only boost 1.60++ is supported
version history: at least to 1.x versions supported VS and boost versions should be added as pre-requisites. (otherwise it's later on no more reproducible)

Updated as requested.
Following confirmation, we will merge into the ETAS wiki.

Ready to merge

Merged. Closing Issue.


Added some more info in README

Hi, great module! Working with it now for a new website. Just added some more info in the readme to get started. This can save others from searching for it too much

Merging this in and fixing that comment in a separate commit.


Read textual content in docx files

Reading of textual content is done. Need to map with standard styles.

#34


add German noun chunk functionality

This adds an iterator to provide noun chunks also for German.
To make this work with multiple languages, the vocab object now has a lang property that comes from the respective language class that was used to create the vocab object.
The parser uses the lang property to set the appropriate noun chunk iterator when a document is being parsed.
Because of this change, this version is not compatible to the current English model anymore, which will need to be retrained. We probably want to wait with a merge until this is done. (also all the test fail that presuppose the English model)
While I was at it, I also implemented is_bracket, is_quote, is_left_punct, and is_right_punct in orth.pyx and added the respective constants to attrs.pxd. I think this doesn't actually have an effect just yet because these features aren't being used. I think they will help us predict better sentence boundaries around punctuations symbols like quotes and brackets.
oh, and I undid the changes I introduced to init_model.py in a previous PR. It should now work as it used to.

Looks good!
I'm trying to think of a better name for DocIterator. Its name sounds to me like it should be yielding Doc objects, rather than iterating over the Doc.
Also, should the sents iterator be done the same way? It might be a nice way to allow a lightweight SBD, that doesn't require the parse.


[#5547] subtask: support schema pre event for Gravitino server

What changes were proposed in this pull request?
add schema pre event to event listener
Why are the changes needed?
Close: #5547
Does this PR introduce any user-facing change?
no
How was this patch tested?
add Unit Test

@orenccl thanks for your PR, LGTM except minor comments.

Hi @FANNG1
Thanks for the review. I've made the corrections.

@orenccl merged to main, thanks for your contribution!


Add folder and file to .test.ts and .spec.ts from Typescript

Description

update ts-test file icons
add folder-test icon

Issue
Resolves #203
Preview

I think it would just be changing the folder, I really like the way .spec and .test look now with that orange color.
What do you think @miguelsolorio?

I'm not a big fan of the more graphical test tube, most of the theme is singular lines. If you could provide some alternative examples that would be great otherwise I'm happy to design some.

I agree with you. Maybe we should use folder green or folder red for folders tests. But They are only suggestions, I will send a PR with the idea and tell me what you think.

I think it would just be changing the folder, I really like the way .spec and .test look now with that orange color.
What do you think @miguelsolorio?

I like how the folders look with the new icons, I believe that for file icons it is not necessary but for folders I like how they differ from other folders

I would also only add this for folders, files already have an existing pattern of using blue = source and orange = test from previous file icon themes so I'd like to keep to that.

I will revert the file icons and keep the changes to the folder icons

@miguelsolorio I updated the description with an image showing the result

@the-spanish-guy I think you may have missed my original comment about not being a fan of the 3D test tubes, can you provide some different options that fit with the rest of the theme? Otherwise I am happy to add one and close this PR.


[BUG] disable normalizeData axiosInstans

Describe the bug
I use strapi-v4 documentation plugin for creating swagger 3.0 docs, the generated documentation describes responses from strapi in the format: id?: number;   attributes?: attributes;

but in normalizeData in DataProvider I get a different format without attributes

Because of this I can't use the generated documentation
Steps To Reproduce

setup refine project with strapi v4
create strapi project and endpoint with data
in strapi project generate docs
generate types in refine project with swagger-typescript-api
try to use useList to fetch data from strapi
check types of data from useList

Expected behavior
ability to disable normalizeData
Packages
"@refinedev/cli": "^2.16.21",
"@refinedev/core": "^4.47.1",
"@refinedev/devtools": "^1.1.32",
"@refinedev/kbar": "^1.3.6",
"@refinedev/mui": "^5.14.4",
"@refinedev/nextjs-router": "^6.0.0",
"@refinedev/react-hook-form": "^4.8.14",
"@refinedev/strapi-v4": "^6.0.1",
"swagger-typescript-api": "^13.0.22",
"typescript": "^5.5.4"
backend-strapi:
"@strapi/plugin-documentation": "^4.25.9",
"@strapi/strapi": "4.25.9",
Additional Context
No response

Hey @bks-kristin I guess this is not a bug with Refine. You can pass your generated types. UseList has a generic type, you can pass your own. BaseRecord is used as a fallback. You can also use chatbot in our documentation and/or discord server for such questions.


Timeout waiting for headers

Resolved in 2.2.0.
2.1.1 will intermittently fail as the updstream header timeout default setting is only 1 second.  This can be overridden in config.

@markwimpory I'm closing it, because it seems like your issue was already resolved. The repository keycloak-proxy was moved to Keycloak organization and renamed to keycloak-gatekeeper. If you still think this issue is valid, please read https://www.keycloak.org/community.html and report your bug/feature request to https://issues.jboss.org/browse/KEYCLOAK.


SAML back channel SLO not working

Describe the issue:

Configured SAML back channel SLO using the doc [1]
Once logout form one application other application doesn't get logged out.
Getting following errors in the console.

[2020-10-21 11:16:55,811] [24186cc2-8c3c-4ad9-966a-c7ea318b08ad]  INFO {org.wso2.carbon.identity.sso.saml.logout.LogoutRequestSender} - Sending single log out request again with retry count 1 after waiting for 60000 milli seconds to https://localhost:9443/identity/saml/slo
[2020-10-21 11:16:55,818] [24186cc2-8c3c-4ad9-966a-c7ea318b08ad]  WARN {org.wso2.carbon.identity.sso.saml.logout.LogoutRequestSender} - Failed single logout response from https://localhost:9443/identity/saml/slo with status code Internal Server Error

[1] https://is.docs.wso2.com/en/5.11.0/learn/handling-saml-single-logout-requests-from-federated-identity-providers/
How to reproduce:

Configured SAML back channel SLO using the doc [1]
Once logout form one application other application doesn't get logged out.
Getting following errors in the console.

[2020-10-21 11:16:55,811] [24186cc2-8c3c-4ad9-966a-c7ea318b08ad]  INFO {org.wso2.carbon.identity.sso.saml.logout.LogoutRequestSender} - Sending single log out request again with retry count 1 after waiting for 60000 milli seconds to https://localhost:9443/identity/saml/slo
[2020-10-21 11:16:55,818] [24186cc2-8c3c-4ad9-966a-c7ea318b08ad]  WARN {org.wso2.carbon.identity.sso.saml.logout.LogoutRequestSender} - Failed single logout response from https://localhost:9443/identity/saml/slo with status code Internal Server Error

Expected behavior:
First application should automatically logged out
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version:IS-5.11.0-beta2
OS: Linux
Database: POSTGRE
Userstore: JDBC

@nilasini Were you trying SAML backchannel SLO or SAML SLO with Federated Identity Providers as pointed in [1]?
[1] https://is.docs.wso2.com/en/5.11.0/learn/handling-saml-single-logout-requests-from-federated-identity-providers/

Could not reproduce the above issue by configuring SAML SLO with a federated Identity provider as mentioned in [1] with a set up of wso2is-5.11.0-beta4-SNAPSHOT. Hence closing the issue.
[1] https://is.docs.wso2.com/en/5.11.0/learn/handling-saml-single-logout-requests-from-federated-identity-providers/


Update description for --ado-pipeline to explain that its a path

A change was made (I think in v0.18) where the --ado-pipeline arg in rewire-pipeline now accepts a pipeline "path" instead of just a name. If you provide a pipeline name it assumes it's in the root folder, but you can also provide a full pipeline path. E.g. \Services\Finance\MyPipeline
We should add a description on that arg to help customers understand it's usage.

This is the likely cause of this bug report: #452


(vscode.install) fix vscode.install after 1.83

Remove 32-bit checks.
Description
vscode does not provide a 32-bit version anymore after 1.83, so the automatic update checks fail.
Motivation and Context
#2344
How Has this Been Tested?
I wan't able to get the update checks running locally. Since I only removed the 32-bit URLs, I hope this is ok.
Screenshot (if appropriate, usually isn't needed):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[x] My change requires a change to documentation (this usually means the notes in the description of a package).
[x] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[x] I have updated the package description and it is less than 4000 characters.
[x] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

@DanielRose awesome work! Thanks for your contribution!


v0.3.2 refactor

Hello @patrickcleeve2! Thanks for opening this PR.


Update readme to point to docs app

The current readme is out of date and links to 404s.
Instead link to the documentation app.

A couple of other things I've spotted, when you view the docs locally - the release URL and file path are logged to the console:
file path is: /govuk_prototype_kit/docs/documentation/making-pages.md
file path is: govuk_prototype_kit/docs/documentation/setting-up-git.md

There also might be a nodemon error - when starting the app and viewing the docs - I get the following output:
file path is: /govuk_prototype_kit/docs/documentation/tutorials-and-examples.md
[15:19:01] [nodemon] restarting due to changes...
[15:19:01] [nodemon] restarting due to changes...
[15:19:01] [nodemon] starting `node server.js`
[15:19:01] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] starting `node server.js`
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] restarting due to changes...
[15:19:02] [nodemon] starting `node server.js`


Which version of fmt this project denpend on?

I tried fmt 3.0.0, 3.0.2, and 8.0.1, all failed to compiled.

soralog requires a version of fmt before https://github.com/fmtlib/fmt/commit/841aad95b42704ea77e3eb05a2cbb075dc5b1137, which removed the fmt_internal::data::reset_color that soralog is awkwardly relying on in sink_to_console.cpp; using git describe --tags, I think that means 7.1.3 is OK (if you want a release)?
https://github.com/xDimon/soralog/blob/6184419f8d738440ff8395fd2a07b59c0bfcb29b/src/impl/sink_to_console.cpp#L65
However, I'll also note that fmt broke on iOS between https://github.com/fmtlib/fmt/commit/15c10b0c666d274b378cf63429babfa202623db4 and https://github.com/fmtlib/fmt/commit/69bdc20a3c1271b58f0d052ffc6b2466c44ef649 due to https://github.com/fmtlib/fmt/issues/2248 (which I had actually filed), and so I actually use https://github.com/fmtlib/fmt/commit/308510eb4fad9b112ebdd2867b0b96338b0a9a36 for soralog (which is depressing, as it is now a year old).

I am using fmt-7.1.2, which works well. And I have not tried 7.1.3.

Sorry for delay.
Now fmt version 6.1.2 is used. It is default version in current using hunter package manager.
You can't try to use other version by modifying Hunter/config.cmake. It will override default version from hunter.
hunter_config(
    fmt
    URL https://github.com/..../archive.tar.gz
    SHA1 hash-of-provided-archive
)

@xDimon FWIW, if you stop using that one variable from fmt_internal (which I would imagine projects aren't "supposed" to be using at all) we can all upgrade to the latest version of fmt. (I am definitely not building with Hunter, btw: it seems to be riddled with ancient versions of packages? I always do a build system bypass of imported libraries so I can correctly manage all the dependencies and do what I can to force them to master. I might try adding a hack to just disable color or whatever soralog is needing this for so I can make sure to be on the latest fmt code.)

Any hacks is bad way. I'll try to switch to last version of fmt (8.1.1) for next version soralog.

Oh, it was really easy. =)
@Saigut @saurik, look at last soralog. I hope it is so what you needed.

@xDimon That's looks good :)
In fact I don't care if fmt is the newest version. The real problem for me is that I don't know the dependencies of soralog.
I am not using Hunter package manager in my own project. I have trouble to look out what version packages soralog is depending on when I first time look at soralog.

@xDimon Thanks!! This did, in fact, allow me to upgrade to a much newer version of fmt :D.
That said, I'm now ("still"? I feel like I didn't have this before, though? I'm confused a bit ;P) running into two issues preventing me from fully upgrading fmt, but I don't know if these issues are in soralog itself or are in the library that I'm compiling (cpp-libp2p) which is using soralog. Maybe you'd be willing to comment? (I'd appreciate if you don't want to, but the reason I ask is because the code using soralog naively looks reasonable to me and the issues both happen on the "other side" of soralog and seem to be fixable in soralog.)

In https://github.com/fmtlib/fmt/commit/4b8bda25c05d9f959ffed9a0580f0ded623177e5 from Aug 23 2021, fmt replaced a const reference with a forwarding reference in the definition of forward_to_n, supposedly as a fix for https://github.com/fmtlib/fmt/issues/2462; and then in cpp-libp2p, there is a use of SL_DEBUG that is triggering a static_assert in fmt "detail::count() == 0" "passing views as lvalues is disallowed" when soralog attempts to call fmt::v8::basic_format_string.

https://github.com/libp2p/cpp-libp2p/blob/890b53dd73452a555a5c7feaa9f73c5bdca1a9af/src/protocol_muxer/multiselect/multiselect_instance.cpp#L347-L348
      SL_DEBUG(log(), "Failed to negotiate protocols: {}",
               fmt::join(protocols_.begin(), protocols_.end(), ", "));

In file included from cpp-libp2p/src/protocol_muxer/multiselect/multiselect_instance.cpp:11:
In file included from ./cpp-libp2p/include/libp2p/common/trace.hpp:9:
In file included from ./cpp-libp2p/include/libp2p/log/logger.hpp:10:
In file included from ./soralog/include/soralog/logger.hpp:13:
In file included from ./soralog/include/soralog/sink.hpp:14:
In file included from ./soralog/include/soralog/event.hpp:14:
In file included from ./p2p/fmt/include/fmt/format.h:49:
./p2p/fmt/include/fmt/core.h:3067:5: error: static_assert failed due to requirement 'detail::count() == 0' "passing views as lvalues is disallowed"
    static_assert(
    ^
./soralog/include/soralog/event.hpp:62:65: note: in instantiation of function template specialization 'fmt::v8::basic_format_string<char, const fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char> &>::basic_format_string<FMT_COMPILE_STRING, 0>' requested here
            fmt::format_to_n(message_data_, max_message_length, format, args...)
                                                                ^
./soralog/include/soralog/circular_buffer.hpp:41:28: note: in instantiation of function template specialization 'soralog::Event::Event<soralog::Sink::ThreadInfoType, FMT_COMPILE_STRING, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
        new (data_.data()) T(args...);
                           ^
./soralog/include/soralog/circular_buffer.hpp:161:21: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::Node::Node<std::__1::basic_string_view<char, std::__1::char_traits<char>>, soralog::Sink::ThreadInfoType, soralog::Level, FMT_COMPILE_STRING, unsigned long, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
        new (&node) Node(args...);
                    ^
./soralog/include/soralog/sink.hpp:88:31: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::put<std::__1::basic_string_view<char, std::__1::char_traits<char>>, soralog::Sink::ThreadInfoType, soralog::Level, FMT_COMPILE_STRING, unsigned long, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
          auto node = events_.put(name, thread_info_type_, level, format,
                              ^
./soralog/include/soralog/logger.hpp:44:16: note: in instantiation of function template specialization 'soralog::Sink::push<FMT_COMPILE_STRING, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
        sink_->push(name_, level, format, args...);
               ^
./soralog/include/soralog/logger.hpp:65:7: note: in instantiation of function template specialization 'soralog::Logger::push<FMT_COMPILE_STRING, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
      push(level, std::forward<Format>(format), args...);
      ^
./soralog/include/soralog/macro.hpp:30:12: note: in instantiation of function template specialization 'soralog::Logger::log<FMT_COMPILE_STRING, fmt::v8::join_view<boost::container::vec_iterator<std::__1::basic_string<char> *, false>, boost::container::vec_iterator<std::__1::basic_string<char> *, false>, char>>' requested here
      log->log(level, std::forward<Format>(fmt), std::move(args)()...);
           ^
cpp-libp2p/src/protocol_muxer/multiselect/multiselect_instance.cpp:347:7: note: in instantiation of function template specialization 'soralog::macro::proxy<soralog::Logger, FMT_COMPILE_STRING, (lambda at cpp-libp2p/src/protocol_muxer/multiselect/multiselect_instance.cpp:347:7)>' requested here
      SL_DEBUG(log(), "Failed to negotiate protocols: {}",
      ^
./soralog/include/soralog/macro.hpp:122:3: note: expanded from macro 'SL_DEBUG'
  _SL_LOG((LOG), soralog::Level::DEBUG, (FMT), ##__VA_ARGS__, Z)
  ^
./soralog/include/soralog/macro.hpp:75:19: note: expanded from macro '_SL_LOG'
  soralog::macro::proxy(            \
                  ^
1 error generated.

I actually managed to "fix" this one by going through the entire stack of functions on the failed call stack and replacing every const Args &...args with Args &&...args and then using std::forward<Args>(args)... instead of args... or (in the one place) std::move(args)... (check https://github.com/saurik/soralog/commit/0e2abb9121eae2c40ebca2b0eb2e1eaecc70a21a to see what I did), but one function--in soralog::Sink::push--uses its arguments multiple times (which means that I would think I can't safely forward r-values through it, as they might end up getting used after they are moved).
https://github.com/xDimon/soralog/blob/761f1e9a226955a08c5cb33e827e5dc33cb04900/include/soralog/sink.hpp#L87-L89
https://github.com/xDimon/soralog/blob/761f1e9a226955a08c5cb33e827e5dc33cb04900/include/soralog/sink.hpp#L108-L109

In https://github.com/fmtlib/fmt/commit/f055ebbd25243a9d38a3f039e7fd78c238b8b399 from Feb 4 2022, fmt made some "ostream operators opt in to reduce the risk of ODR violations", whcih is now causing a static_assert on "formattable" "Cannot format an argument. To make type T formattable provide a formatter specialization: https://fmt.dev/latest/api.html#udt" while trying to format an std::error_code. This is fixable if I #define FMT_DEPRECATED_OSTREAM, but I don't know if this needs to be done by cpp-libp2p or soralog.

https://github.com/libp2p/cpp-libp2p/blob/890b53dd73452a555a5c7feaa9f73c5bdca1a9af/src/protocol/identify/identify_msg_processor.cpp#L144-L145
      log_->error("cannot read an identify message from peer {}, {}: {}",
                  peer_id_str, peer_addr_str, msg_res.error());

In file included from cpp-libp2p/src/protocol/identify/identify_msg_processor.cpp:6:
In file included from ./cpp-libp2p/include/libp2p/protocol/identify/identify_msg_processor.hpp:16:
In file included from ./cpp-libp2p/include/libp2p/host/host.hpp:14:
In file included from ./cpp-libp2p/include/libp2p/event/bus.hpp:17:
In file included from ./cpp-libp2p/include/libp2p/log/logger.hpp:10:
In file included from ./soralog/include/soralog/logger.hpp:13:
In file included from ./soralog/include/soralog/sink.hpp:14:
In file included from ./soralog/include/soralog/event.hpp:14:
In file included from ./p2p/fmt/include/fmt/format.h:49:
./p2p/fmt/include/fmt/core.h:1711:3: error: static_assert failed due to requirement 'formattable' "Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt"
  static_assert(
  ^
./p2p/fmt/include/fmt/core.h:1837:23: note: in instantiation of function template specialization 'fmt::v8::detail::make_arg<true, fmt::v8::basic_format_context<fmt::v8::appender, char>, fmt::v8::detail::type::custom_type, const std::__1::error_code &, 0>' requested here
        data_{detail::make_arg<
                      ^
./p2p/fmt/include/fmt/core.h:1856:10: note: in instantiation of function template specialization 'fmt::v8::format_arg_store<fmt::v8::basic_format_context<fmt::v8::appender, char>, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>::format_arg_store<const std::__1::basic_string<char> &, const std::__1::basic_string<char> &, const std::__1::error_code &>' requested here
  return {std::forward<Args>(args)...};
         ^
./p2p/fmt/include/fmt/core.h:3189:41: note: in instantiation of function template specialization 'fmt::v8::make_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char>, const std::__1::basic_string<char> &, const std::__1::basic_string<char> &, const std::__1::error_code &>' requested here
  return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
                                        ^
./soralog/include/soralog/event.hpp:62:18: note: in instantiation of function template specialization 'fmt::v8::format_to_n<char *, const std::__1::basic_string<char> &, const std::__1::basic_string<char> &, const std::__1::error_code &, 0>' requested here
            fmt::format_to_n(message_data_, max_message_length, format, args...)
                 ^
./soralog/include/soralog/circular_buffer.hpp:41:28: note: in instantiation of function template specialization 'soralog::Event::Event<soralog::Sink::ThreadInfoType, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
        new (data_.data()) T(args...);
                           ^
./soralog/include/soralog/circular_buffer.hpp:161:21: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::Node::Node<std::__1::basic_string_view<char, std::__1::char_traits<char>>, soralog::Sink::ThreadInfoType, soralog::Level, std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
        new (&node) Node(args...);
                    ^
./soralog/include/soralog/sink.hpp:88:31: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::put<std::__1::basic_string_view<char, std::__1::char_traits<char>>, soralog::Sink::ThreadInfoType, soralog::Level, std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
          auto node = events_.put(name, thread_info_type_, level, format,
                              ^
./soralog/include/soralog/logger.hpp:44:16: note: in instantiation of function template specialization 'soralog::Sink::push<std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
        sink_->push(name_, level, format, args...);
               ^
./soralog/include/soralog/logger.hpp:153:7: note: in instantiation of function template specialization 'soralog::Logger::push<std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
      push(Level::ERROR, format, args...);
      ^
cpp-libp2p/src/protocol/identify/identify_msg_processor.cpp:144:13: note: in instantiation of function template specialization 'soralog::Logger::error<std::__1::basic_string<char>, std::__1::basic_string<char>, std::__1::error_code>' requested here
      log_->error("cannot read an identify message from peer {}, {}: {}",
            ^
1 error generated.

I am now running into the first of those issues in another place in libp2p. :/
In file included from cpp-libp2p/src/basic/scheduler/asio_scheduler_backend.cpp:8:
In file included from ./cpp-libp2p/include/libp2p/log/logger.hpp:10:
In file included from ./soralog/include/soralog/logger.hpp:13:
In file included from ./soralog/include/soralog/sink.hpp:14:
./soralog/include/soralog/event.hpp:62:65: error: call to consteval function 'fmt::basic_format_string<char, const std::basic_string<char> &>::basic_format_string<std::basic_string_view<char>, 0>' is not a constant expression
            fmt::format_to_n(message_data_, max_message_length, format, args...)
                                                                ^
./soralog/include/soralog/circular_buffer.hpp:41:28: note: in instantiation of function template specialization 'soralog::Event::Event<soralog::Sink::ThreadInfoType, std::basic_string_view<char>, std::basic_string<char>>' requested here
        new (data_.data()) T(args...);
                           ^
./soralog/include/soralog/circular_buffer.hpp:161:21: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::Node::Node<std::basic_string_view<char>, soralog::Sink::ThreadInfoType, soralog::Level, std::basic_string_view<char>, unsigned long, std::basic_string<char>>' requested here
        new (&node) Node(args...);
                    ^
./soralog/include/soralog/sink.hpp:88:31: note: in instantiation of function template specialization 'soralog::CircularBuffer<soralog::Event>::put<std::basic_string_view<char>, soralog::Sink::ThreadInfoType, soralog::Level, std::basic_string_view<char>, unsigned long, std::basic_string<char>>' requested here
          auto node = events_.put(name, thread_info_type_, level, format,
                              ^
./soralog/include/soralog/logger.hpp:44:16: note: in instantiation of function template specialization 'soralog::Sink::push<std::basic_string_view<char>, std::basic_string<char>>' requested here
        sink_->push(name_, level, format, args...);
               ^
./soralog/include/soralog/logger.hpp:170:7: note: in instantiation of function template specialization 'soralog::Logger::push<std::basic_string_view<char>, std::basic_string<char>>' requested here
      push(Level::CRITICAL, format, args...);
      ^
cpp-libp2p/src/basic/scheduler/asio_scheduler_backend.cpp:40:12: note: in instantiation of function template specialization 'soralog::Logger::critical<std::basic_string<char>>' requested here
      log->critical("cannot set timer: {}", ec.message());
           ^
./soralog/include/soralog/event.hpp:62:65: note: function parameter 'format' with unknown value cannot be used in a constant expression
            fmt::format_to_n(message_data_, max_message_length, format, args...)
                                                                ^
./soralog/include/soralog/event.hpp:46:25: note: declared here
          const Format &format, size_t max_message_length, const Args &...args)
                        ^
1 error generated.


[Docs] Inconsistent tables in OpenAPI CLI command docs

Is your feature request related to a problem? Please describe.
We've recently simplified the Options table for the bundle command by reducing the amount of columns and moving the relevant information from deleted columns into the Description column.
To make our documentation consistent, we need to do this for all the other OpenAPI CLI commands; namely:

join
lint
login
logout
preview-docs
push
split
stats

Describe the solution you'd like
Every command page should have the Options table formatted the same way as the bundle page currently has.
Additional context
This task is reserved for our OSS tech writer. Please do not (re)assign it to anyone else.

Hi @lornajane, are you still working on this?

It's assigned to me because I think this has been done but I need to check before closing.

Okay. I'm sorry I skipped that part.

Pages have been updated


LowLevelILFunction.expr default 'flags' argument causes assertion failure

Binary Ninja Version
Version 2.4.2997-dev (Build ID 45fa7f79)
Describe the bug
When using functions that call LowLevelILFunction.expr (i.e. set_reg), the flags parameter will be set to architecture.FlagIndex(0) if it's not explicitly passed. However, architecture.FlagIndex returns an int, which cases expr to throw an assertion failure with the message "flags type unsupported."
To Reproduce
current_llil.append(current_llil.set_reg(8, "rax", current_llil.const(8, 0)))

(in python console)
Expected behavior
No assertion failure.
Version and Platform (required):

Binary Ninja: Dev 2.4.2487 (if tested in stable, please also test the development channel via the "update channel" option)
OS: Windows 10
Version: 21H1 (Build 19043)

Additional context
A workaround is simply to pass ILFlag(architecture, 0) to whatever function you're calling.

Gah, just noticed https://github.com/Vector35/binaryninja-api/pull/2644/. Dunno if I should close this or not.

It's fine, we'll just make sure to close this too. Never hurts to have an issue to go with the PR. Thanks for filing.

Thanks for reporting this issue it will be fixed in >= 2.4.2998


cmd/compile: merge temporaries and named variables by GC shape

Once upon a time (~10 years ago) the Go compiler would merge temporaries on the stack (https://golang.org/cl/12829043). At some point, however, this optimization was removed.
Stack space is generally cheap compared to heap space (since it doesn't generally increase the rate of garbage collection), but in some circumstances, the lack of merged temporaries can lead to a substantial amount of stack space waste.
Some applications have a lot of stacks floating around (e.g. Kubernetes' API server, via "watch" requests), in which case the cost is direct: additional memory use. Another cost is that a larger stack may means more stack growth, which takes CPU time. Lastly, the GC has to scan these stacks, and while the cost mostly proportional to the number of live pointers on the stack, the GC would still have less work to do overall for each stack.
Work by Uber and Kubernetes has shown that stack space overheads can be significantly reduced by manually re-scoping named variables.
It would be tricky to change the locations of pointers on the stack mid-function, but we can at least merge stack slots where the pointer/scalar data (GC shape) is the same. Credit to @mdempsky for the idea for reviving this.
This is a more general version of #62077, which focuses on aggregates.

Reopening since the fix in CL 553055 was rolled back in CL 575236.

I have a roll-forward CL currently being tested that should resolve the PPC64/S390x problems that caused the original CL to be reverted.

Postscript on this issue:  the CLs I've submitted enable merging of stack slots for disjointly accessed local variables. The optimization targets regular user-declared variables, variables that are imported into a function as a result of inlining, and most autotmp vars (we stay away from those created late in the SSA backend). The new optimization does not handle stack-allocated vars that are address-taken and read/written indirectly; I have some ideas on how to do this but it is a bit of a larger project.
One other note is that the merging/overlapping algorithm doesn't actually look at GC shape, this turns out to not be necessary. If you have two vars X and Y whose access patterns are entirely disjoint, then it will never be the case that both X and Y are live across a call, so putting them in the same stack slot is fine even if they have different types.
Closing out this issue.


Android util openScopes method

For Android applications ToothPick will be commonly used in Activities and Fragments in the following way:
SampleActivity.java
public class SampleActivity extends Activity {

   @Inject ContextNamer contextNamer;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      scope = Toothpick.openScopes(getApplication(), this);
      scope.installModules(new SmoothieActivityModule(this));
      super.onCreate(savedInstanceState);
      Toothpick.inject(this, scope);

      // ... do something
   }

   // ... more stuff

   @Override
   protected void onDestroy() {
      Toothpick.closeScope(this);
      super.onDestroy();
   }

   // ... more stuff
}

*SampleFragment.java
public class SampleFragment extends Fragment {

   @Inject ContextNamer contextNamer;

   @Override
   public void onCreate(Bundle savedInstanceState) {
      scope = Toothpick.openScopes(getActivity().getApplication(), getActivity(), this);
      scope.installModules(new SmoothieFragmentModule(this));
      super.onCreate(savedInstanceState);
      Toothpick.inject(this, scope);

      // ... do something
   }

   // ... more stuff

   @Override
   protected void onDestroy() {
      Toothpick.closeScope(this);
      super.onDestroy();
   }

   // ... more stuff
}

I have noticed that these two calls will be a constant in every project that uses TP:
// Activity
scope = Toothpick.openScopes(getApplication(), this);
// Fragment
scope = Toothpick.openScopes(getActivity().getApplication(), getActivity(), this);

Would it make sense to have a util ToothPick class for Android that masks this? For instance:
public class ToothpickAndroidUtils {

   public static Scope openActivityScope(Activity activity) {
      final Scope scope = Toothpick.openScopes(activity.getApplication(), activity);
      scope.installModules(new SmoothieActivityModule(activity));
      return scope;
   }

   public static Scope openActivityScope(Activity activity, Object... names) {
      final Scope scope = Toothpick.openScopes(activity.getApplication(), activity, names);
      scope.installModules(new SmoothieActivityModule(activity));
      return scope;
   }

   public static Scope openFragmentScope(Fragment fragment) {
      final Scope scope = Toothpick.openScopes(fragment.getActivity().getApplication(), fragment.getActivity(), fragment);
      scope.installModules(new SmoothieFragmentModule(fragment));
      return scope;
   }

   public static Scope openFragmentScope(Fragment fragment, Object... names) {
      final Scope scope = Toothpick.openScopes(fragment.getActivity().getApplication(), fragment.getActivity(), fragment, names);
      scope.installModules(new SmoothieFragmentModule(fragment));
      return scope;
   }
}

I think it can be a good idea to have these shortcuts for android, as it will be the main usage (no intermediate scopes).
I'm not sure if we should install the smoothie modules by default.
One open question: will this change encourage users not to use nice scope features as presenter or flow scopes?

also in the overload using names I think the compiler will badly interpret the varargs and use the array as an object.

@dlemures @saguinav this could go in the smoothie project. But as @dlemures said, it will be for apps that want a not-so refined injection (no intermediary scopes). There could be 1 example of it, but not all examples should be using it to show the more general & flexible way to open scopes. Not so sure of the real gain here. Moreover, devs would generally do it once per project in base classes.

The code written in the description is just a draft of the proposal. So don't take names, syntax or any other stuff into consideration.

👎 I don't see it very useful.
You can add this to your base activity/fragment if you think is useful for you.

We're kind of average open to this idea. @saguinav if you still think it's worth it, please push a PR.
Closing the issue as there is no followup.


Fixed failing tests

I fixed all the four failing tests in library.test.js

Merged

This is an automated message from Learn to Contribute [BOT].

Thank you for your contribution! Your pull request has been merged. The tests have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


default installer if non admin

./installer.py

=============================
SPINAL CORD TOOLBOX INSTALLER
Modified: 2015-10-24
=============================

Check if administrator permission is needed for installation...
.. Installation path: /usr/local/spinalcordtoolbox
.. sudo needed for adding elements.

Check which Python distribution is running...
2.7.11 |Continuum Analytics, Inc.| (default, Dec  6 2015, 18:57:58)
[GCC 4.2.1 (Apple Inc. build 5577)]
.. conda (OK)

Check if pip is installed...
pip
.. OK!

Check if spinalcordtoolbox is already installed (if so, delete it)...

Create folder: /usr/local/spinalcordtoolbox ...
sudo mkdir /usr/local/spinalcordtoolbox
Password:
Password:
Password:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts

Fetch version of the Spinal Cord Toolbox...
  Version: 2.1

Check online if you have the latest version of SCT...

Copy Spinal Cord Toolbox on your computer...
sudo cp -r spinalcordtoolbox/* /usr/local/spinalcordtoolbox
Password:
Password:
Password:

ERROR!

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
Exit program.

Edit profile files...
Delete previous SCT entries in existing profile files...
.. .bashrc: Found! Deleting previous SCT entries...
awk '!/SCT_DIR|SPINALCORDTOOLBOX|ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS/' ~/.bashrc > .bashrc_temp && > ~/.bashrc && cat .bashrc_temp >> ~/.bashrc && rm .bashrc_temp
.. .profile: Not found.
.. .bash_login: Not found.
.. .bash_profile: Found! Deleting previous SCT entries...
Add entries to .bashrc...
Check if no profile file other than .bashrc exist...
.. OK: Default profile file is:.bash_profile
Check if .bashrc is sourced in default profile...
.. .bashrc seems to be sourced already
Source .bashrc:
. ~/.bashrc

Install dependences... Depending on your internet connection, this may take several minutes.
Traceback (most recent call last):
  File "./installer.py", line 950, in <module>
    Installer()
  File "./installer.py", line 803, in __init__
    os.chdir(self.SCT_DIR+"/install/requirements")
OSError: [Errno 2] No such file or directory: '/usr/local/spinalcordtoolbox/install/requirements'

Solved with new installer


Add Support for Custom Domains in Function App AVM Terraform Module

Description:
I'd like to propose a new feature for the Function App Terraform module that would allow the configuration of custom domains. This would provide greater flexibility when deploying function apps and integrating with external services.
Motivation
Enhanced Branding: Custom domains enable function apps to use consistent branding and URLs aligned with the main web application or service.
Improved SEO: Custom domains can positively impact search engine rankings.
Simplified Integration: Custom domains ease the integration of function apps with other services that might have domain-based restrictions.
Proposed Changes:
I envision adding a new input parameter to the Function App Terraform module, potentially like this:
`locals {
function_app_rg_names = {
for app_key, app_value in var.function_apps :
app_key => var.resource_groups[app_value.resource_group_key].reuse ?
data.azurerm_resource_group.existing[app_value.resource_group_key].name :
azurerm_resource_group.rg[app_value.resource_group_key].name
}
}
data "azurerm_key_vault" "production_keyvault" {
name                = var.custom_domain_config.key_vault.name
resource_group_name = var.custom_domain_config.key_vault.resource_group_name
}
data "azurerm_key_vault_secret" "prod_certificate" {
name         = var.custom_domain_config.certificate.name
key_vault_id = data.azurerm_key_vault.production_keyvault.id
}
resource "azurerm_app_service_certificate" "cert" {
depends_on = [
azurerm_windows_function_app.fa_windows,
azurerm_linux_function_app.fa_linux
]
for_each = var.function_apps
name                = var.custom_domain_config.certificate.name
resource_group_name = local.function_app_rg_names[each.key]
location            = var.global_settings.regions[var.resource_groups[each.value.resource_group_key].region]
pfx_blob            = data.azurerm_key_vault_secret.prod_certificate.value
}
resource "azurerm_app_service_custom_hostname_binding" "function_app_hostname_bind" {
for_each = var.function_apps
depends_on = [
azurerm_app_service_certificate.cert
]
hostname            = var.custom_domain_config.app_service_custom_hostname_binding.hostname
app_service_name    = each.value.os_type == "windows" ? azurerm_windows_function_app.fa_windows[each.key].name : azurerm_linux_function_app.fa_linux[each.key].name
resource_group_name = local.function_app_rg_names[each.key]
ssl_state           = "SniEnabled"
thumbprint          = azurerm_app_service_certificate.cert[each.key].thumbprint
}`

@ethanjenkins1 + myself looking to implement functionality

feat added in v0.1.1

[heart]         Ethan Jenkins reacted to your message:

From: Donovan McCoy @.>
Sent: Tuesday, March 12, 2024 3:51:12 PM
To: Azure/terraform-azurerm-avm-res-web-site @.>
Cc: Ethan Jenkins @.>; Mention @.>
Subject: Re: [Azure/terraform-azurerm-avm-res-web-site] feat: custom domain support for function app (Issue #10)
feat added in v0.1.1
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/terraform-azurerm-avm-res-web-site/issues/10#issuecomment-1991983576, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7C5DOSH6I7MF53MJE2O5P3YX4P7BAVCNFSM6AAAAABDXHQPNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJRHE4DGNJXGY.
You are receiving this because you were mentioned.Message ID: @.***>


Update node-sass to 7.0.0

🚀 What's New
Node-sass updated from 6.0.1 to 7.0.0
Story in Jira: https://emergentworks.atlassian.net/browse/WEB-74
📸 Screenshots (if applicable)

📝 Additional information
https://github.com/sass/node-sass/releases/tag/v7.0.0

No changes were made to the lockfile. I'm not sure if any should have occurred. Interested in your feedback

@YusufBolden How did you install the upgrade? We should use npm upgrade passing along the specific version (check out the docs here for more info!) Or, you can update the package.json to the version you want to use and then run npm install. Does that make sense?


Big number factorial in c++

Can I work on this?

@rishabhsingh20 can you make sure to move all your files to appropriate folders

@rishabhsingh20  can i work on this?

@rishabhsingh20  I would like to work on it .Can you please assign me this.


Introduced a new paradigm

Instead of focusing on the elements to focus we remove the ones not to focus.
This way around has several advantages over the old approach.
Advantages:

We make fewer assumptions and do not interfere with the browser configuration and implementation

A user might have configured another key than "tab" to change focus
0 based tab-index means "follow the system order", which might or might not be "after any positive value" (it should be, but depending on the user and browser configuration, it might not)
Dev tools still work! (e.g. enabling "show tab-order")
Focus can be still moved outside of the document into the browser UI (which is debatable since in the official specs it's also not that way, but I feel that's an issue in the official specifications tbh)
Doesn't break tools like Vinium

We have less logic to maintain
Code is far more testable

A user might have configured another key than "tab" to change focus

valid point although extremely rare edge-case. But I think that is solvable by listening to the "tabChange" event whatsoever (e.g. by mounting a change detector).

0 based tab-index means "follow the system order", which might or might not be "after any positive value" (it should be, but depending on the user and browser configuration, it might not)

can you elaborate?

Dev tools still work! (e.g. enabling "show tab-order")
Could you add a screenshot / reproduction video maybe? That'd help to search a potentially different solution.

Focus can be still moved outside of the document into the browser UI (which is debatable since in the official specs it's also not that way, but I feel that's an issue in the official specifications tbh)

I think we should go with the standards even though we might not personally love them.

Doesn't break tools like Vinium
Valid point that can be adressed.

A user might have configured another key than "tab" to change focus

valid point although extremely rare edge-case. But I think that is solvable by listening to the "tabChange" event whatsoever (e.g. by mounting a change detector).

I will open up an issue.

0 based tab-index means "follow the system order", which might or might not be "after any positive value" (it should be, but depending on the user and browser configuration, it might not)

can you elaborate?

It's not really specified, that the order is any positive value and then 0 valued tab indexes.
https://html.spec.whatwg.org/multipage/interaction.html#the-tabindex-attribute
It's just that 0 valued tabindexes follow the "system order". It's the common order in place when nothing special is configured. It does not necessarily mean, that it needs to come after any positive values. It's just implemented like so.
However, one could potentially have a browser or a configuration having a different approach. We break that since we overwrite that logic.

Dev tools still work! (e.g. enabling "show tab-order")

Could you add a screenshot / reproduction video maybe? That'd help to search for a potentially different solution.

As you can see here, the tab order still displays non-reachable elements as reachable. This is not the case in this approach, since the elements are correctly marked as non-focusable via a negative tabindex-value.

Focus can be still moved outside of the document into the browser UI (which is debatable since in the official specs it's also not that way, but I feel that's an issue in the official specifications tbh)

I think we should go with the standards even though we might not personally love them.

Yeah, you are right. I researched a little bit more and it's really implemented like this everywhere. Also doesn't seem to be that weird anymore considering that the ESC key opens up the context UI again.

Doesn't break tools like Vinium
Valid point that can be addressed.

I will open up an issue.

Will close this PR now such that we can focus on its discussed parts

Opened up two new issues:

https://github.com/activenode/react-use-focus-trap/issues/9
https://github.com/activenode/react-use-focus-trap/issues/10


Logging of slow queries

For troubleshooting, it is possible to log queries that takes more
than a certain amount of time with:
cassandra-journal.log-slow-query = true
cassandra-journal.slow-query-time = 2s

Then if one of the journal or snapshot query takes more than 2 seconds it will be
logged at the DEBUG level to the "com.datastax.driver.core.QueryLogger.SLOW"
slf4j logger.

@masterzen thanks for the PR, looks good to me except for the failing tests. Can you please take a look?
Cheers,
Martin

It was on my Todo list, I was just waiting to see if there would be an interest in the feature. Also, it doesn't seem to fail as much on my laptop, so I need to figure out what is the problem :)
I'll amend the PR once the failing tests will be fixed.

Great, thanks. Would you mind extending the README to document your contribution?

@masterzen looks like a nice feature. What is the status?
I think it will be difficult to migrate the test to the cassandra-3x branch, but I guess we can live without the test there.

@masterzen can you update about the status of this ?  looks a very promising feature.

This code is working in production on our systems, but I lack the time to properly finish this PR. I hope to have a bit more time next week, in which case I'll amend those commits with a working test (I assume the test are failing as a side effect of enabling logging, so I need to separate the slow log test on his own class).

when completing this, please open PR at https://github.com/akka/akka-persistence-cassandra, which is the new home for akka-persistence-cassandra

Thanks @patriknw , I'll do that as soon as I can find some time to finish the work.

thanks, it's a nice feature


feat(mark)!: add set_current_at

BREAKING CHANGE:

filter_nulls(list) renamed to filter_empty_string(list)
swap(a, b) removed
trim() removed
promote() removed
promote_to_front() removed
remove_nils() removed
shorten_list() removed

Fix #10

Doesn't seem like I can add reviewers, so I'll ping you here.
Like we discussed the promote, swap and shorten methods are removed and set_current_at is added.
@ThePrimeagen @brandoncc


Specify the repository where to download the docker images

Docker doesn't always use docker hub as the default repository.
If the configuration contains multiple repositories, the build with reactive will fail because we use the short name of the image.
This issue is about specify the long name of the image, for example:
docker.io/mariadb:10.7.1

@Sanne how come mariadb was the only one causing problems? It's because you already had the other images locally?

Yes. It's the only one that  (I didn't have locally) AND (can be fetched from multiple sources)

N.B. it needs to be docker.io/mariadb:10.7.1 and not docker.io/library/mariadb:10.7.1. I had fixed the description but it seems you reverted it.

Fixed back

Fixed, thanks!


Typo in Code Gen

https://github.com/smapiot/piral/blob/6d97a2baca7ae3e5fb19a754ba55d44b40ed137e/src/framework/piral-core/app.codegen.d.ts#L1
This has got to be at typo.
import type { LoadPiletsOptions } from 'prial-base';

Thanks - indeed. Want to make a PR?

https://github.com/smapiot/piral/pull/600


Video stream is not working in AWS kinesis

Hi Team,
I have installed producer sdk cpp on raspberry pi and created test in kinesis stream.
when I  execute following command it's working on raspberry pi but video stream is not showing in kinesis video stream when I click on test and it's getting an following error.
No fragments found
No video fragments were found. Verify that video is currently being streamed and that the fragment timecodes are correct.
my stream name is : test
I have checked on raspberry pi the camera is supported and detected without any issues.
$ gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! omxh264enc control-rate=1 target-bitrate=5120000 periodicity-idr=45 inline-header=FALSE ! h264parse ! video/x-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1,profile=baseline ! kvssink stream-name="YourStreamName"  access-key="YourAccessKey" secret-key="YourSecretKey"
below are the logs:
essage from syslogd@raspberrypi at Oct 14 15:35:00 ...
kernel:[ 2247.202381] bee0: 7f0ae720 7f0b26bc 7f0ae64c 00e16c04 b5ed0ed0 ad449480 40045612 0000000a
Message from syslogd@raspberrypi at Oct 14 15:35:00 ...
kernel:[ 2247.202399] bf00: a7b5bf7c a7b5bf10 8029e72c 7f0ae658 ad449480 80242adc a7b5bf74 a7b5bf28
Could you please help me on this if any one has any idea on this and it would be great help.
Thanks in advance

@satish0708, it's not immediately clear whether there is an issue on the producer side. Could you please either paste the logs here or email those to<EMAIL_ADDRESS>which can help to understand the root cause.
Could you please also check

Whether you have the correct credentials supplied to the sample application
Whether you are using the correct region in the console that matches the applications region (the default in the application is us-west-2).

Hi,
I have a similar issue. My Raspberry Pi originated stream is not appearing in Kinesis. Please consider the logs attached. Can somebody please help me with this one?
Thanks in advance!
Johan,
log.txt

@johankumps the logs you've attached have the following error:
[DEBUG][2019-02-09 22:25:21] Curl post body write function for stream: test and upload handle: 0 returned: {"EventType":"ERROR","FragmentTimecode":0,"FragmentNumber":"91343852333183680496745165025638096697789402774","ErrorCode":"FRAGMENT_TIMECODE_LESSER_THAN_PREVIOUS","ErrorId":4004}
Could you please try to provide more information about what setup you use on which device? What version of the SDK do you use?

@MushMal
Hi MushMal,
I use a Raspberry Pi 3 + the Pi camera.  This with the SDK from Git : https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
What else do you want to know?
Kind regards,
Johan,

Hi, can you do export DEBUG_DUMP_FRAME_INFO=TRUE and then run the sdk for a minute or two and send us the log? Thanks.

Hi,
I'm afraid we are having some timezone issues here... :) I'm located in belgium so UTC +1. I'll send you the logs tomorrow morning, meaning in about 12 hours as soon as I arrive at my desk.
Thanks in advance for helping me out.
Kind regards,
Johan,

Up

It's this frame that cause all the issue pts: 3966768, dts: 4005977, duration: 10000, size: 26, trackId: 0, isKey: 0. Can you pull the latest sdk and run the sample again? If that didnt get rid of the issue, can you apply this patch and let us know how it goes? Thanks.
patch.txt

@chehefen ,
I first updated from git, executed the install scripts an executed the test. No luck.
Then I applied the path using git apply patch.txt in the /amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build folder. Executed the install script and the test. No luck.
I attached the logging. Can you have a look at it again?
Should I use some stable release branch instead of using the master?
Thanks!

Any updates please?

Hi @johankumps, the patch should be applied at /amazon-kinesis-video-streams-producer-sdk-cpp folder by running git apply patch.txt. If the previous patch still dont work then can you remove that patch by doing git checkout -- . at /amazon-kinesis-video-streams-producer-sdk-cpp folder and apply this patch. Then run the sample app for 1 minute and send us the log so that we can diagnose what that frame was. Thanks
patch.txt

Hi @chehefen,
None of the patches seem to fix the issue. Please find logs in attachment. In the Kinesis console I see this : LIVE-98.0 s. Mind the negative number is that correct?
Thanks for your help. I assume you have Pi installations working fine. Is there a stable build of the SDK that I can use?
Kind regards,
Johan,
25022019_patch2.log

can you add this block of code
(GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DISCONT) && GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_HEADER) && GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT)) ||

after this line https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/kinesis-video-gst-demo/kinesis_video_gstreamer_sample_app.cpp#L351. It should fix the issue for you.

@chehefen I was getting this identical issue also running on a RasPi 3 and a RasPi camera.  I've just implemented this fix and it has worked. Thanks!!

@chehefen This is indeed working! I still have the second patch applied too. Is this as expected?
Maybe this extra block can be added to the source in git too.
Thanks for your help!
Johan,

@johankumps
I'm having a similar issue with the latest version of the Producer SDK. Can you confirm which solution worked for you? I see a couple of patches and one code change. I'm assuming the patch would be already applied in the latest version.

@msjoshi
I didn’t have to apply any of the patches to fix the issue - I only had to make the code change here
Not sure if this fix has made its way into the code base yet...

@BWrites
I'm not using the sample app but using get-launch-1.0 command. If its not made its way in the SDK code it won't work for me.

Hi,
Iam trying to run this
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name="" storage-size=512 access-key="" secret-key="" aws-region=""
WARNING: erroneous pipeline: no element "h264parse"
ater specfying all the keys and stream name it is giving me this error
basically Iam trying to stream video using amazon kinesis

can you tell us how you installed the sdk? Did you use install-script or min-install-script?

Thank You I solved the issue by exporting the path

Hi Iam trying to live stream using gstreamer plugin in amazon kinesis
rohan@rohan-HP-15-Notebook-PC:~/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build$ gst-launch-1.0 autovideosrc ! videoconvert ! video/x-raw,format =I420,width=640,height=480,framerate=30/1 ! vtenc_h264_hw allow-frame-recording=FALSE realtime= TRUE ma-keyframe-interval=45 bitrate=500 ! h264parse ! video/-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1 ! kvssink stream-name= "Aerologiks2" storage-size= 1024 aws-region = us-east-1 log-config=kvslog
WARNING: erroneous pipeline: no element "vtenc_h264_hw"
But Iam stuck here please help me in doing this

@Raghava248 vtenc_h264_hw is a hardware codec which is available on OSx only. Please try your platform specific encoder or use a software encoder like x264

Folks, I am resolving this issue as there are already multiple threads in it. Please open a separate issue to discuss a particular issue.

@chehefen I was getting this identical issue also running on a RasPi 3 and a RasPi camera. I've just implemented this fix and it has worked. Thanks!!

where to add ?
buffer = gst_sample_get_buffer(sample);
isHeader = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_HEADER);
isDroppable = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_CORRUPTED) ||
GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DECODE_ONLY) ||
(GST_BUFFER_FLAGS(buffer) == GST_BUFFER_FLAG_DISCONT) ||
(GST_BUFFER_FLAGS(buffer) == (GST_BUFFER_FLAG_DISCONT | GST_BUFFER_FLAG_HEADER)) ||
// drop if buffer contains header only and has invalid timestamp
(isHeader && (!GST_BUFFER_PTS_IS_VALID(buffer) || !GST_BUFFER_DTS_IS_VALID(buffer)));

You can do this:
buffer = gst_sample_get_buffer(sample);
isHeader = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_HEADER);
isDroppable = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_CORRUPTED) ||
GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DECODE_ONLY) ||
(GST_BUFFER_FLAGS(buffer) == GST_BUFFER_FLAG_DISCONT) ||
(GST_BUFFER_FLAG_IS_SET(GST_BUFFER_FLAG_DISCONT) && GST_BUFFER_FLAG_IS_SET(GST_BUFFER_FLAG_DELTA_UNIT)) ||
// drop if buffer contains header only and has invalid timestamp
(isHeader && (!GST_BUFFER_PTS_IS_VALID(buffer) || !GST_BUFFER_DTS_IS_VALID(buffer)));

You can do this:
buffer = gst_sample_get_buffer(sample);
isHeader = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_HEADER);
isDroppable = GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_CORRUPTED) ||
GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DECODE_ONLY) ||
(GST_BUFFER_FLAGS(buffer) == GST_BUFFER_FLAG_DISCONT) ||
(GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DISCONT) && GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT)) ||
// drop if buffer contains header only and has invalid timestamp
(isHeader && (!GST_BUFFER_PTS_IS_VALID(buffer) || !GST_BUFFER_DTS_IS_VALID(buffer)));

Hello, I have tried to implement this code as well as the others mentioned in this thread but none succeeded.
The error message "FRAGMENT_TIMECODE_LESSER_THAN_PREVIOUS" keeps popping up, and cutting off the video stream. Any other solutions?

@Fernando-Oliveira86 can you open a new issue going over what your video source is and how are you streaming to kvs? Thanks.


fix: use pest_grammars crate

This PR replaces our custom json grammar file with the json grammar file provided by the pest_grammar crate and makes accommodating changes.
That grammar has had more eyeballs on it, so it makes more sense to use it.

The grammar file we use was taken from pest_grammars but we did some custom adaptations to it. For ease of discussion here is the diff:

Thanks for the diff.
My thinking was that it is better to use the upstream grammar and to adapt our code to use that grammar.

I'm not sure I follow: why would we want to redact trailing commas? As i understand it, all the structural characters including commas should be made public. What's the use-case for redacting them?
Or do you mean the trailing comma that comes after the last pair? That comma is illegal from my reading of JSON RFC.

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @


Upgrade nbconvert req; remove jinja2 dependency

Fixes #3403

Has this error come up before?
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 1200, in _at_shutdown
    await self._progressively_terminate_all_children()
GeneratorExit

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 297, in process_control
    await result
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 836, in shutdown_request
    await self._at_shutdown()
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 1206, in _at_shutdown
    self.session.send(
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/jupyter_client/session.py", line 853, in send
    stream.send_multipart(to_send, copy=copy)
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/iostream.py", line 285, in send_multipart
    return self.io_thread.send_multipart(*args, **kwargs)
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/iostream.py", line 225, in send_multipart
    self.schedule(lambda : self._really_send(*args, **kwargs))
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/iostream.py", line 218, in schedule
    f()
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/iostream.py", line 225, in <lambda>
    self.schedule(lambda : self._really_send(*args, **kwargs))
  File "/home/docs/checkouts/readthedocs.org/user_builds/feature-labs-inc-evalml/envs/3411/lib/python3.8/site-packages/ipykernel/iostream.py", line 233, in _really_send
    self.socket.send_multipart(msg, *args, **kwargs)
AttributeError: 'NoneType' object has no attribute 'send_multipart'

@chukarsten ok to merge this in?

Thanks @rwedge !!


Nice plugin

Hey, saw your post on reddit and I though this plugin will be interesting to have! Nice work = )
Creating floats was easy as getting out of them with (with C-w + ..)  but I did struggle a little to navigate back to them until I've found C-w C-w online.. maybe you will want to add that to the README and docs.
Why the need for YodeBufferDelete when we have C-w + c?
Also, I think that YodeBufferDeleteAll will be nice to have.

Thank you @vizcay for the C-w C-w this is what I missed.
Also, is it yet possible to visually select lines and send them into the floating window?
So far I can only send single lines except when I manually enter the YodeCreateSeditorFloating command after visually selecting.
I tried to translate these mappings to lua but this didnt work out.
local map = vim.api.nvim_set_keymap -- keymap
map('n', 'yc', '<CMD>YodeCreateSeditorFloating<CR>', { noremap = true })
map('v', 'yc', "<CMD>YodeCreateSeditorFloating<CR>", { noremap = true })

Anyone an idea?
Very nice plugin indeed :)

@timoleistner please create a new issue if you still have problems

I don't know 🤔

@lucax88x this worked for me:
vim.api.nvim_set_keymap("v", "<Leader>f", ":YodeCreateSeditorFloating<CR>", {noremap = true})

Shilly me, problem was using  at beginning, removing it worked.


AttributeError: 'NoneType' object has no attribute 'recv'

HA core version
2024.8.3
Current integration version
v0.5.7
Last known working integration version
?
Device type and model
Air Conditioner 00000Q1C (44204)
Working mobile app
MSSmarHome
The description of problem
After Installing this fork, see the error below
`Logger: midealocal.device
Quelle: /usr/local/lib/python3.12/site-packages/midealocal/device.py:561
Erstmals aufgetreten: 11:08:34 (2 Vorkommnisse)
Zuletzt protokolliert: 11:08:39
[18691697955959] Unknown error : /usr/local/lib/python3.12/site-packages/midealocal/device.py, 528
[18691697955958] Unknown error : /usr/local/lib/python3.12/site-packages/midealocal/device.py, 528
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/midealocal/device.py", line 528, in run
msg = self._socket.recv(512)
^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'recv'`
The logs
No response

@jove01  thanks for your bug report.
could you help to enable midea_ac_lan and midealocal debug log via README document, and upload a full debug log file with this error msg?
attach a debug log file and NOT paste the log text in issue, thanks.

Logging reports midealocal, I think it should be opened on library side

@jove01
it should be fix with latest release v0.5.8, please upgrade and confirm the result.
close current issue, if the same issue still exist, we can continue update in current issue or reopen it later.

Thanks for the Update


Ubuntu 17.04 normal installation does not work

If I install python for pip3, then install with pip3 install --user thefuck, the binary is placed into an unknown location outside of my path.
If I run sudo pip3 install thefuck, it installs it as expected, but then it's also installed globally.
I believe this relates to #650 and #646

I've updated readme, I guess it would be better to install it globally by default.

Sounds good. Closing this issue.


Add geo_interface protocol

See https://gist.github.com/sgillies/2217756
That would ensure that pygeos.Geometry objects would be recognized in places that use this protocol.

Requires polygon rings to be in proper clockwise / counterclockwise direction, per #71 .

Because Geometry (GeometryObject) is defined in C, I'm not seeing a way to extend that class on the Python side (as suggested here).
I also haven't seen cases of using Cython to extend the class to add methods like this, but still use the underlying class from C in ufuncs.
My sense is that this - and any other methods / properties we want to define on the class - needs to be defined in C.

I'm not seeing a way to extend that class on the Python side

There is some experimentation on that in https://github.com/pygeos/pygeos/pull/104

That seems like that would help this case as well, it would allow us to add a specific __geo_interface__ to each subclass instead of the base class.
This makes sense to tackle after those changes are in place.

As GEOS 3.10 now supports GeoJSON, it should be relatively easy to implement this on the C level; just serialize to string and reconstitute to Python objects with “json.loads”. In the Geometry constructor we could do the reverse.
Only issue I see is the LinearRing, which has no place in GeoJSON.

Even though not supported by the GeoJSON spec, Shapely seems to happily output them:
>>> from shapely.geometry import LinearRing
>>> ring = LinearRing([[0,0], [0,1], [1,1], [1,0], [0,0]])
>>> ring.__geo_interface__
{'type': 'LinearRing', 'coordinates': ((0.0, 0.0), (0.0, 1.0), (1.0, 1.0), (1.0, 0.0), (0.0, 0.0))}

Now we are merging, this is already implemented in Shapely for the scalar subclasses. For example for LineString: https://github.com/Toblerity/Shapely/blob/a0f8a31a18d5384f0a04ee8e8b2d089b37c186cc/shapely/geometry/linestring.py#L72-L77, or for Polygon: https://github.com/Toblerity/Shapely/blob/a0f8a31a18d5384f0a04ee8e8b2d089b37c186cc/shapely/geometry/polygon.py#L271-L281
It's a relatively straightforward implementation, so I don't know if there would be much benefit in refactoring that as parsing the GeoJSON output.

Agreed, closing


Add support for evmconnect

This PR adds support for evmconnect and chosing between it and ethconnect (still the default) with the new  -c, --blockchain-connector flag.
It also moves logging related items to a context which is passed throughout the CLI code, and it creates a new interface for blockchain connectors.
Right now a BlockchainProvider creates the blockchain connector instance, but I feel like it should probably be the other way around in the future. That's a refactor for another day, as it is quite a disruptive code change, with no tangible benefit to the end user (only code maintainability).

Just a note that this PR contains a fix for a timing issue, to do with the IPFS container being terminated during the docker-compose down that happens after installing the contract, at a point that the docker orchestration script of IPFS cannot recover from. The symptoms are provided below for search, as we believe this could happen in a V1.0 stack.
The fix was to add a healthcheck to the IPFS container, and then a service-healthy check on the firefly_core container, so that the initial docker-compose up does not complete until IPFS is fully started.
Changing user to ipfs
ipfs version 0.10.0
generating ED25519 keypair...done
peer identity: 12D3KooWKwJsB6rX8EJ95btpsMvs5Soq6DraPNbPn8xsdPwbve9V
initializing IPFS node at /data/ipfs
to get started, enter:

        ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

Changing user to ipfs
ipfs version 0.10.0
Found IPFS fs-repo at /data/ipfs
Initializing daemon...
go-ipfs version: 0.10.0-64b532f
Repo version: 11
System version: amd64/linux
Golang version: go1.16.7
2022-08-08T03:55:13.585Z        ERROR   p2p-config      config/config.go:107    tried to create a libp2p node with no Private Network Protector but usage of Private Networks is forced by the enviroment
2022-08-08T03:55:13.624Z        ERROR   cmd/ipfs        ipfs/daemon.go:422      error from node construction: could not build arguments for function "github.com/ipfs/go-ipfs/core/node".PeerWith.func1 (/go-ipfs/core/node/peering.go:29): failed to build *peering.PeeringService: could not build arguments for function "github.com/ipfs/go-ipfs/core/node".Peering (/go-ipfs/core/node/peering.go:14): failed to build host.Host: received non-nil error from function "github.com/ipfs/go-ipfs/core/node/libp2p".Host (/go-ipfs/core/node/libp2p/host.go:40): privnet: private network was not configured but is enforced by the environment

Error: could not build arguments for function "github.com/ipfs/go-ipfs/core/node".PeerWith.func1 (/go-ipfs/core/node/peering.go:29): failed to build *peering.PeeringService: could not build arguments for function "github.com/ipfs/go-ipfs/core/node".Peering (/go-ipfs/core/node/peering.go:14): failed to build host.Host: received non-nil error from function "github.com/ipfs/go-ipfs/core/node/libp2p".Host (/go-ipfs/core/node/libp2p/host.go:40): privnet: private network was not configured but is enforced by the environment

I note the ERC-1155 support is currently failing with Error: Method '<constructor>': Requires 1 args (supplied=0)


Possible perf boost

Giuseppe wrote....  Hi all, after some investigation I found a possible perf improvement that should be applied on the MIGraphX side.
On CK if MIGraphX sees a GEMM([G, M, K], [K,N]) it invokes CK like GEMM([1, G*M, K], [K,N])
On rocMLIR if MIGraphX sees a GEMM([G, M, K], [K,N]) it invokes MLIR like GEMM([G, M, K], [Broadcast(G), K, N])
The rocMLIR way is causing a 10% degradation per each single gemm.
On our side, we already handle this case like CK when we transform from MIGraphX to Tosa. The problem is that from MIGraphX we are receiving shapes that are already broadcasted: this happens in  parse_matmul.cpp , where there is this:
            if(not std::equal(
                   s0_lens.rbegin() + 2, s0_lens.rend(), s1_lens.rbegin() + 2, s1_lens.rend()))
            {
                auto l0_it = s0_lens.begin() + s0_lens.size() - 2;
                std::vector<std::size_t> l0_broadcasted_lens(s0_lens.begin(), l0_it);
                auto l1_it = s1_lens.begin() + s1_lens.size() - 2;
                std::vector<std::size_t> l1_broadcasted_lens(s1_lens.begin(), l1_it);
                auto output_lens =
                    compute_broadcasted_lens(l0_broadcasted_lens, l1_broadcasted_lens);
                l0_broadcasted_lens = output_lens;
                l0_broadcasted_lens.insert(l0_broadcasted_lens.end(), l0_it, s0_lens.end());
                l1_broadcasted_lens = output_lens;
                l1_broadcasted_lens.insert(l1_broadcasted_lens.end(), l1_it, s1_lens.end());
                if(s0_lens != l0_broadcasted_lens)
                {
                    ba0 = info.add_instruction(
                        make_op("multibroadcast", {{"out_lens", l0_broadcasted_lens}}), a0);
                }
                if(s1_lens != l1_broadcasted_lens)
                {
                    ba1 = info.add_instruction(
                        make_op("multibroadcast", {{"out_lens", l1_broadcasted_lens}}), a1);
                }
            }

As a very simple thought experiment, I tried to skip this for the case where we have  GEMM([G0, G1, G2, G_l-1, M, K], [K,N]) , but I receive the following error:
/migraphx/check_shapes.hpp:233: same_ndims: dot: Number of dimensions do not match
All in all I see two possible way forwards in MIGraphX:
Either you handle MLIR like CK and do the merge [G,M,K]->[G*M,K] or You leave everything like it is, and let MLIR do the merge

cc @giuseros @krzysz00 @sjw36 @manupak

Yes, this solution works and it was what actually I tried, but somehow MIGraphX does not like the fact that the dot shapes are different

I am not sure what solution you are referring to. You can't give mismatching size to the dot operator they need to be broadcasted.
I am suggesting to do this optimization on the MLIR side since it can handle more cases. However, thinking about it more, we could do this on the migraphx side and just insert reshapes into the IR, that should have the same effect.

@giuseros You'll want GEMM([G, M, K], [1, K, N]) there.
I was about to write out a proposal for a general high-level pattern match in MIGraphX, but @pfultz2 has the valid point that migraphx's reshape requires the ability to meaningfully represent the strides of the result (so that you can't reshape <GxMxKxf32, M*Kx1xM> to <G*MxK, ???xM> (because what would ???? even be), whereas we'd be able to handle this.
Depending on how MIGraphX's validation works, the [G, M, K], [1, K, N]` inputs could work fine, or we could do some rewrites on our end once we're in Tosa or even in Rock to handle this case.

I'm not saying we can't, I'm just suggesting that this transformation could, in principle, be a general MIGraphX rewrite so as to make it not backend-specific.
(But yeah, given the complexities of strides etc. it might be best to do this rewrite on our end)

I was about to write out a proposal for a general high-level pattern match in MIGraphX, but @pfultz2 has the valid point that migraphx's reshape requires the ability to meaningfully represent the strides of the result

We can reshape non-contiguous inputs, but it would require a copy. However, for MLIR it would just collapse the reshape, so that why we could do this transformation before passing the module to MLIR.

I mean we can, the problem is that what will happen is:

Original GEMM is GEMM([G,M,K], [K,N])
MIGraphX will produce GEMM([G,M,K], [broadcast(G), K, N]
rocMLIR will have to go back to GEMM([G,M,K], [broadcast(G), K, N]

So basically you will do things that we will have to undo. And to me it looked more natural if you didn't do the transformation in the first place

@giuseros I suspect the original model also phrases it as GEMM([G, M, K], [broadcast(G}, K, N])

I suspect the original model also phrases it as GEMM([G, M, K], [broadcast(G}, K, N])

In ONNX, the operators have implicit broadcasting so it is likely using GEMM([G,M,K], [K,N] form. However, migraphx's operators do not have implicit broadcasting which makes operators and testing much simpler and it avoids having two ways to represent the same thing which complicates optimization.
MLIR does suffer from the issues of implicit broadcasting as writing equivalent IR using implict vs explicit broadcast causes different codegen. MLIR probably needs a pass to convert all explicit broadcasts to implicit broadcasts(or vice versa) so it can use a more canonicalized version.

@pfultz2 we will add this in 6.2. For 6.1 is there a way to implement the same form that CK uses to do this transformation?


Job/Alert to Test-SQLMonitorLinkedServer

Is your feature request related to a problem? Please describe.
There are times when due to some changes, linked server for each monitored sql_instance stops working. And it is detected very late.
Describe the solution you'd like
Create a procedure, job, table & dashboard that alerts when any SQLMonitor-related linked server is not functioning as expected.

Additional column is_linked_server_working has been added in table dbo.instance_details on inventory server database.
This column is updated using procedure dbo.usp_GetAllServerInfo.
Added same into All Servers Dashboard.

No further action required.


Block zeus pay node for nwc

If a user wants to pay to a zeus pay address explicitly we should allow them but often over nwc they user is just randomly sending payments, not knowing where they are going and this can cause force closures. So lets just stop payments to zeus pay over nwc for now.
Helps with #826

Are you sure it goes to this node and not an intermediary zaplocker one?

this is the node id I got from the invoice when getting from https://zeuspay.com/api/lnurl/pay/benthecarman?amount=1000000

I think this is wise. Perhaps, in the future, mobile users will be able to safely pay hodl invoices. But right now they cannot.
Be aware that there is an easy way to generalize this solution to all zaplocker nodes. (As far as I'm aware, only myself and Evan are currently running zaplocker, but I hope more people join us.) Consider this link: https://zeuspay.com/api/lnurl/pay/benthecarman?amount=1000000
The invoice you get back has a key/value pair that says "hodl_invoice: true"
All (i.e. both) zaplocker nodes show this key/value pair. So consider not paying invoices if retrieved from an endpoint that shares that key/value pair.

I think this is wise. Perhaps, in the future, mobile users will be able to safely pay hodl invoices. But right now they cannot.
Be aware that there is an easy way to generalize this solution to all zaplocker nodes. (As far as I'm aware, only myself and Evan are currently running zaplocker, but I hope more people join us.) Consider this link: https://zeuspay.com/api/lnurl/pay/benthecarman?amount=1000000
The json it serves has a key/value pair that says "hodl_invoice: true"
All (i.e. both) zaplocker nodes show this key/value pair. So consider not paying invoices if retrieved from an endpoint that shares that key/value pair.

This is not an option because we are not pulling the LNURL directly, the invoice is coming from nostr clients.


Issues with Pydantic when installing btrack

Describe the bug
PydanticUserError: If you use @root_validator with pre=False (the default) you MUST specify skip_on_failure=True. Note that @root_validator is deprecated and should be replaced with @model_validator.
Your setup:
Unfortunately I cannot provide btrack.SystemInformation() to report the details of my system since it does not recognize btrack.
Comments
I am working on an apple MacBook Air with M2 chip and installed btrack as indicated in the installation instructions (installing environment, install btrack via pip, install cvxopt via conda-forge), but when I open Spyder and import btrack, I get the above mentioned error. I was trying to change the version of Pydantic, but it did not seem to solve the problem since I get the same errors. Any suggestions on solving this problem would be highly appreciated

Hi @AlishaWayra - thanks for the bug report! I just released btrack v0.6.3 - does that solve the issue for you? A


Add Devendran as assignee to the whitelisting requests

I was thinking that we could take me off and then once Devendran has got the approval we can assign whoever is available to create the PRs and review code as necessary.

Makes sense. I agree.


Not now button do nothing in Pinterest app.

Hi,
I am implementing authentication Pinterest by using this SDK.
I confirmed pressing "Not now" button will do nothing on authentication page in Pinterest iOS app.

On the other hand, pressing "Not now" button on the web browser let me go back my app.
Can I enable "Not now" button in Pinterest app?
Thanks

I got the same issue. Any fix so far?

Hi, any updates on this, I got the same issue