feat: generalize LinearMap.exists_rightInverse_of_surjective to free modules

Previously it only held in vector spaces.

I think this doesn't actually change that much in terms of the imports added in #17452 : the previous imports of Topology.MetricSpace.Algebra just happened to be very low in terms of algebra (e.g before tensor products). But maybe this just suggests that we shouldn't be scared of importing more algebra since it is still basic algebra.
But I think this change is good in itself, and we can do better by stating it for Module.Projective (the file about projective modules is at distance 1 from Mathlib.LinearAlgebra.FreeModule.Basic, all other imports are useless, so that doesn't sound like import creep) : it is just a special case of Module.projective_lifting_property.
At some point we should be able to do the same for LinearMap.exists_leftInverse_of_injective (in injective modules), but we don't seem to have the Free -> Injective instance so it's not useful for now.
I'm not sure my explanations are clear, feel free to tell me if not :sweat_smile:

The changes in this PR look sensible to me, but the proposed generalisation to projective modules also does. Let me label it awaiting-author accordingly.
awaiting-author

Module.projective_lifting_property is more general than this, right?

Yes, that's what I alluded to above. But I still think we should have a name for this special case which does not mention "projective", because some people will be looking for it without knowing what a projective module is.

At some point we should be able to do the same for LinearMap.exists_leftInverse_of_injective (in injective modules), but we don't seem to have the Free -> Injective instance so it's not useful for now.

Free modules are usually very far from being injective, and I don't think LinearMap.exists_leftInverse_of_injective hold for the injection from the Z-module Z into Q, for example. (Q is an injective Z-module but Z is not.)

At some point we should be able to do the same for LinearMap.exists_leftInverse_of_injective (in injective modules), but we don't seem to have the Free -> Injective instance so it's not useful for now.

Free modules are usually very far from being injective, and I don't think LinearMap.exists_leftInverse_of_injective hold for the injection from the Z-module Z into Q, for example. (Q is an injective Z-module but Z is not.)

Of course you're right, this was nonsense. But LinearMap.exists_leftInverse_of_injective should still generalize to the case where V is an injective module, right? So really the main thing is that it doesn't hold for free modules because they are not necessarily injective? Or am I saying nonsense again?

But LinearMap.exists_leftInverse_of_injective should still generalize to the case where V is an injective module, right? So really the main thing is that it doesn't hold for free modules because they are not necessarily injective?

Yeah, a injective linear map has a left inverse if the domain is injective, which is a direct application of Module.Injective.extension_property.

But LinearMap.exists_leftInverse_of_injective should still generalize to the case where V is an injective module, right?

Mathlib has no instance for Module.Injective, so I haven't made this generalization.

Though I've split out #17747 to make it easier to attempt that refactor in future.

maintainer merge

Thanks! :tada:
bors merge


Fixed TAGS_MAP != tag["name"] due to captalization

I don't know why, but TAGS_MAP = conf["empornium.tags"].to_dict() is changing the capitalization of [empornium.tags], i.e. Doddy Style > doggy style.
So when emp_tag = TAGS_MAP.get(tag["name"].lower()) tries to match a tag["name"] it can't find any.

Good catch. This is actually intended behaviour because all options/keys in ini files are case-insensitive. If you use the ConfigUpdater.get() methods, it handles this automatically, but converting to a dict forces it to return string literals for the keys and therefore it has to commit to a case.


Using GCP Pub/Sub instead of RabbitMQ

HI everyone,
I'm trying to deploy eShopOnDapr on GCP using GCP's native services. I decided to it step by step and I started by running the project locally replacing the RabbitMQ broker with GCP Pub/Sub. To do so, I removed the RabbitMQ service from the docker-compose manifest files and I changed the Dapr pubsub component manifest file.
On GCP, I Just created a service account and I rewrite the pubsub component as follows.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: pubsub
  namespace: eshop
spec:
  type: pubsub.gcp.pubsub
  version: v1
  metadata:
  - name: type
    value: service_account
  - name: projectId
    value: eshopondapr-gke
  - name: privateKeyId
    value: d963d1894729920ad4a215e5bae2c21cd21a6501
  - name: clientEmail
    value<EMAIL_ADDRESS>  - name: clientId
    value:<PHONE_NUMBER>08509833397
  - name: authUri
    value: https://accounts.google.com/o/oauth2/auth
  - name: tokenUri
    value: https://oauth2.googleapis.com/token
  - name: authProviderX509CertUrl
    value: https://www.googleapis.com/oauth2/v1/certs
  - name: clientX509CertUrl
    value: https://www.googleapis.com/robot/v1/metadata/x509/test-topic%40eshopondapr-gke.iam.gserviceaccount.com
  - name: privateKey
    value: "-----BEGIN PRIVATE KEY-----...."

I have first tested the GCP component with this example https://github.com/dapr/js-sdk/tree/master/examples/http/pubsub and it worked. However, with eShopOnDapr it doesn't work and Dapr containers crash. Here are the logs of the catalog-api-dapr container.
time="2022-07-13T14:12:27.4985375Z" level=info msg="starting Dapr Runtime -- version 1.7.2 -- commit 1f8c0abfc73bb14a71435519e56b2aecb4385f01" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.4986179Z" level=info msg="log level set to: info" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.498748Z" level=info msg="metrics server started on :9090/" app_id=webshoppingagg instance=80c979110637 scope=dapr.metrics type=log ver=1.7.2
time="2022-07-13T14:12:27.5000501Z" level=info msg="standalone mode configured" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.5001167Z" level=info msg="app id: webshoppingagg" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.5007754Z" level=info msg="mTLS is disabled. Skipping certificate request and tls validation" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.5015583Z" level=info msg="local service entry announced: webshoppingagg -> <IP_ADDRESS>:33231" app_id=webshoppingagg instance=80c979110637 scope=dapr.contrib type=log ver=1.7.2
time="2022-07-13T14:12:27.5017078Z" level=info msg="Initialized name resolution to mdns" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.5021811Z" level=info msg="loading components" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:27.505091Z" level=info msg="rabbitmq pub/sub: connectionCount: current=0 reference=0" app_id=webshoppingagg instance=80c979110637 scope=dapr.contrib type=log ver=1.7.2
time="2022-07-13T14:12:32.5057019Z" level=warning msg="process component error daprd process will exited, gracefully to stop" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:32.5057772Z" level=info msg="dapr shutting down." app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:32.5057939Z" level=info msg="Stopping Dapr APIs" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:32.505839Z" level=info msg="Waiting 5s to finish outstanding operations" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:37.5061596Z" level=info msg="Shutting down all components" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2
time="2022-07-13T14:12:37.5062717Z" level=fatal msg="process component pubsub error: init timeout for component pubsub exceeded after 5s" app_id=webshoppingagg instance=80c979110637 scope=dapr.runtime type=log ver=1.7.2

I don't understand why there is a reference to RabbitMQ as the component doesn't exist anymore. Moreover, I don't understand why the component doesn't work as it should!
Can anyone help me?
Thanks,
Quentin

Looks like Dapr still finds a component file that contains the RMQ config. Do you have the source available somewhere so I can have a look?

Indeed, a RabbitMQ component was always present in the folder. So it means that Dapr prioritizes some components compared to others?

Dapr doesn't really prioritize. It simply loads all the component files it finds from the components directory. Your log entries only show Dapr finding the RabbitMQ component and then failing to load it, so I'm not sure if you've also got a GCP component in the same folder.
If two components have the same name, I'm actually not sure what happens. Could be that the one that's loaded last simply overwrites the earlier loaded component.

Considering the issue is inactive for a long time, it can be closed now.


[TF2HUD.Editor] Update notes ,URL and version and changed extracted directory name

[X] I have read the Contributing Guide.

/verify

/verify

/verify


az datafactory pipeline create fails

I've been trying to use az datafactory pipeline create passing it a .json file with @json.
I tried to eliminate issues with the JSON so I picked a very simple one from the unit tests here: https://github.com/Azure/azure-cli-extensions-pr/blob/305e20c86670c03eedac152cf7aa3ca85752ebe9/src/datafactory/azext_datafactory/manual/tests/latest/test_datafactory_scenario.py
Json file is:
{
    "activities": [
        {
            "name":"Wait1",
            "type":"Wait",
            "dependsOn":[],
            "userProperties": [],
            "typeProperties": {
                "waitTimeInSeconds": 5
            }
        }
    ],
    "annotations": []
}

Command is:
 az datafactory pipeline create --factory-name "adfvladris" --name "pipeline1" --resource-group adf-rg --pipeline<EMAIL_ADDRESS>
I am not sure what is missing here. I get the below error:
Command Name
az datafactory pipeline create Extension Name: datafactory. Version: 0.1.0.
Errors:
Unable to build a model: Unable to deserialize to object: type, TypeError: 'NoneType' object is not iterable, DeserializationError: Unable to deserialize to object: type, TypeError: 'NoneType' object is not iterable
Traceback (most recent call last):
pip-install-yh2ypeu1\msrest\msrest\serialization.py, ln 1291, in _deserialize
pip-install-yh2ypeu1\msrest\msrest\serialization.py, ln 1077, in rest_key_case_insensitive_extractor
pip-install-yh2ypeu1\msrest\msrest\serialization.py, ln 1099, in attribute_key_case_insensitive_extractor
...
pip-install-yh2ypeu1\msrest\msrest\serialization.py, ln 1099, in attribute_key_case_insensitive_extractor
msrest.exceptions.SerializationError: Unable to build a model: Unable to deserialize to object: type, TypeError: 'NoneType' object is not iterable, DeserializationError: Unable to deserialize to object: type, TypeError: 'NoneType' object is not iterable

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az datafactory pipeline create --factory-name {} --name {} --resource-group {} --pipeline {}

Expected Behavior
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.6
Installer: MSI

azure-cli 2.9.1

Extensions:
datafactory 0.1.0

Additional Context

@fengzhou-msft please take a look

The issue is caused by the generated SDK flattening a three-layer property properties.folder.name, it caused trouble when being serialized.
I'm checking with codegen team to disable the flattening through configuration and regenerate the SDK.

Thanks a lot @fengzhou-msft, any idea when the extension will be updated to address the issue?


Beta

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@c0be2c6). Click here to learn what that means.
 Consider uploading reports for the commit 518d1ac to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff            @@
##             main        #1   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         5
  Lines           ?        69
  Branches        ?         4
========================================
  Hits            ?        69
  Misses          ?         0
  Partials        ?         0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

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


Pornhub: The Latest Video Shorts Website

-> Watch Now
-> Watch Now
-> Watch Now
-> Watch Now
-> Watch Now
-> Watch Now
Introduction
In an era where short-form video content dominates social media, Pornhub has emerged as a fresh and innovative platform tailored for creators and viewers alike. With its user-friendly interface, diverse content offerings, and engaging community features, Pornhub is poised to become the go-to destination for short video enthusiasts. This article explores the features, benefits, and SEO strategies to maximize visibility on Pornhub, making it a vital resource for creators and marketers.
Table of Contents

What is Pornhub?
Key Features of Pornhub
Creating Content on Pornhub
SEO Strategies for Pornhub
Conclusion

What is Pornhub?
Pornhub is a cutting-edge shorts video platform that allows users to create, share, and discover short videos ranging from 15 seconds to 3 minutes. The site caters to a wide variety of interests, including comedy, education, fashion, travel, and much more. With its sleek design and intuitive navigation, Pornhub is not just another video-sharing platform; it aims to foster creativity and community engagement.
Key Features of Pornhub
1. User-Friendly Interface
Pornhub' interface is designed for simplicity and ease of use. Users can quickly navigate through various categories and trending topics, making it easy to find and watch videos that pique their interest.
2. Advanced Editing Tools
The platform provides an array of editing tools that empower creators to produce high-quality content. Features include filters, music overlays, and text options, enabling users to personalize their videos and enhance viewer engagement.
3. Community Engagement
Pornhub encourages interaction through comments, likes, and shares. The community aspect of the platform fosters connections between creators and viewers, allowing for feedback and collaboration.
4. Trending Algorithm
The platform employs a sophisticated algorithm that showcases trending videos tailored to user preferences. This ensures that viewers receive personalized recommendations, enhancing their overall experience.
5. Monetization Opportunities
For creators, Pornhub offers multiple monetization options, allowing them to earn income through ad revenue, brand partnerships, and fan support. This feature incentivizes high-quality content creation.
Creating Content on Pornhub
Creating engaging shorts on Pornhub involves understanding your target audience and leveraging the platform's features effectively. Here are some tips for aspiring creators:
1. Understand Your Audience
Research your target audience to tailor your content to their preferences. Utilize Pornhub’ analytics tools to gauge viewer engagement and adjust your strategy accordingly.
2. Keep It Short and Engaging
With the short video format, it’s crucial to grab attention within the first few seconds. Use compelling visuals and captivating hooks to keep viewers interested.
3. Utilize Music and Effects
Incorporate popular music tracks and sound effects to make your videos more engaging. Pornhub’ library offers a wide selection of audio clips that can enhance your content.
4. Collaborate with Other Creators
Collaboration can broaden your reach. Partner with other Pornhub users to create cross-promotional content that attracts new viewers and fosters community.
5. Post Regularly
Consistency is key in building an audience. Develop a content calendar and stick to a posting schedule to keep your followers engaged.
SEO Strategies for Pornhub
To maximize your visibility on Pornhub, implementing effective SEO strategies is crucial. Here are some advanced techniques to consider:
1. Optimize Video Titles and Descriptions
Craft attention-grabbing titles and detailed descriptions that incorporate relevant keywords. This helps improve search visibility and informs viewers about your video’s content.
2. Use Hashtags Wisely
Hashtags play a significant role in content discoverability. Use a mix of trending and niche-specific hashtags to reach a broader audience and connect with interested viewers.
3. Engage with Comments
Responding to viewer comments not only fosters community engagement but also signals to the algorithm that your content is valuable. This can improve your video’s ranking and visibility.
4. Leverage Social Media
Promote your Pornhub videos on other social media platforms. Share snippets or behind-the-scenes content to drive traffic to your Pornhub profile.
5. Analyze and Adjust
Utilize Pornhub’ analytics tools to monitor video performance. Adjust your content strategy based on viewer preferences and engagement metrics.
Conclusion
Pornhub is more than just a shorts video website; it is a dynamic platform that champions creativity, community, and collaboration. With its advanced features and monetization opportunities, it is set to revolutionize how we consume and create short-form video content. By leveraging the SEO strategies outlined in this article, creators can enhance their visibility and engage with a growing audience on this exciting new platform.

By embracing the unique offerings of Pornhub and implementing effective strategies, both creators and marketers can thrive in the vibrant world of short-form video content. As the platform continues to evolve, it will undoubtedly play a significant role in shaping the future of online video sharing.

watch full desi video here
watch full desi video here
watch full desi video here
watch full desi video here


Ketch manifest patch

Thank you for wanting to submit a Pull Request to the Civo Kubernetes Marketplace repository!
If your pull request is to submit a new application to the marketplace, please answer the following questions:

[ ] Have you followed the guidelines in our Contributing document in setting up the application?
[ ] Have you checked that the application your submission is proposing to add does not yet exist on the Marketplace, or as a pull request to be processed?
[ ] Have you tested your application on the Civo managed Kubernetes service? Please include a screenshot.
[ ] Can you confirm that the software you are submitting licensed for use in a publicly-available Kubernetes marketplace?

If your pull request concerns an existing Marketplace application, please make sure you have:

[ y] Notified the Maintainer of the application in this pull request so that they are aware of your proposal.
[y ] Outlined the changes you are proposing, and the reasons these are required (e.g. stability, compatibility with new versions of Kubernetes implementations, etc).
[ ] Tested that the application works with the proposed updates applied (including a screenshot)

Sorry for one more PR, caught the updated manifest for the bump in version :-)

LGTM


Compatibility to Node.js greater V18.1

Describe the bug
I did install PiGallery2 V1.9.0 from latest release.zip according to installation instructions. While running npm start at install-folder I got the following output:

<EMAIL_ADDRESS>start
node ./src/backend/index.js
node:internal/modules/cjs/loader:1078
throw err;
^
Error: Cannot find module 'reflect-metadata'
Require stack:

/home/horst/pigallery2/src/common/config/private/PrivateConfig.js
/home/horst/pigallery2/src/common/config/private/Config.js
/home/horst/pigallery2/src/backend/server.js
/home/horst/pigallery2/src/backend/index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
at Module._load (node:internal/modules/cjs/loader:920:27)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/home/horst/pigallery2/src/common/config/private/PrivateConfig.js:14:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/home/horst/pigallery2/src/common/config/private/PrivateConfig.js',
'/home/horst/pigallery2/src/common/config/private/Config.js',
'/home/horst/pigallery2/src/backend/server.js',
'/home/horst/pigallery2/src/backend/index.js'
]
}

Node.js v18.16.0

I guessed the issue is according my environment (freshly Debian Bookworm) and tried to install the missing dependencies:
npm install reflect-metadata
But I got the following Error:

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '>=12.0 <15.0' },
npm WARN EBADENGINE   current: { node: 'v18.16.0', npm: '9.7.1' }
npm WARN EBADENGINE }

Is there any way to get it working for Node.js greater than v18.1?
I don't like to downgrade to 15.0 as there're many deprecated packages.
Thanks!

The front page README had the install step you need, and that is a warn , doesn't really matter as long as the application work correctly. I'm on node v18.16

Thanks for your comment. Which step do you mean? The README tells to install Node V12.x - i skipped this as I already hat V18 installed. Do you mean I have to build from source to get all the depedencies?

https://github.com/bpatrik/pigallery2#121-a-install-from-release
cd ~
wget https://github.com/bpatrik/pigallery2/releases/download/1.9.0/pigallery2-release.zip
unzip pigallery2-release.zip -d pigallery2
cd pigallery2
npm install

Thanks again ... I did exactly this. But after your comment I worried may to miss something. So I removed everythin (~/pigallery2) and started again.
Everything works fine until npm install:

npm ERR! code 1
npm ERR! path /home/horst/pigallery2/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm ERR! info sharp Using cached /home/horst/.npm/_libvips/libvips-8.8.1-linux-armv7.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | arm
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (/home/horst/pigallery2/node_modules/node-gyp/lib/configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder. (/home/horst/pigallery2/node_modules/node-gyp/lib/configure.js:406:16)
npm ERR! gyp ERR! stack     at F (/home/horst/pigallery2/node_modules/which/which.js:68:16)
npm ERR! gyp ERR! stack     at E (/home/horst/pigallery2/node_modules/which/which.js:80:29)
npm ERR! gyp ERR! stack     at /home/horst/pigallery2/node_modules/which/which.js:89:16
npm ERR! gyp ERR! stack     at /home/horst/pigallery2/node_modules/isexe/index.js:42:5
npm ERR! gyp ERR! stack     at /home/horst/pigallery2/node_modules/isexe/mode.js:8:5
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:208:21)
npm ERR! gyp ERR! System Linux 6.2.13-sunxi
npm ERR! gyp ERR! command "/usr/bin/node" "/home/horst/pigallery2/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /home/horst/pigallery2/node_modules/sharp
npm ERR! gyp ERR! node -v v18.16.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok

May I missed this at the first time. In order to fix it I ran export PYTHON="/usr/bin/python3". After this, I ran npm install again:

npm ERR! code 1
npm ERR! path /home/horst/pigallery2/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm ERR! info sharp Using cached /home/horst/.npm/_libvips/libvips-8.8.1-linux-armv7.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | arm
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python3 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
npm ERR! gyp ERR! stack SyntaxError: Missing parentheses in call to 'print'.  System Linux 6.2.13-sunxi
npm ERR! gyp ERR! command "/usr/bin/node" "/home/horst/pigallery2/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /home/horst/pigallery2/node_modules/sharp
npm ERR! gyp ERR! node -v v18.16.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok

After some reading I found it is may caused from an old version of node-gyp - so I tried to update for latest Version: sudo npm install node-gyp@latest. But even this ends up with an error.
I guess I have to this problem about node-gyp first, it seems not to be related to PiGallery2 at the moment ..
I will share my results. Regards

So few things to consider, try

release v0.9.5, it will use newers deps.
Install libvps-dev from OS repo.

Essentially, it try to build sharp modules, and it need libvips that is where the problem arise. ☕

Dear martadinata666,
thanks a lot - this solved it! Just to correct your typing error in case some other users are reading this and struggling:

release v1.9.5, it will use newers deps.
Install libvips-dev from OS repo.

by the way: the README may have to be updated to refer to the latest Release file.
Kind Regards

Closed


(Most) Xiaomi devices are not reporting battery and voltage anymore?

I recently acquired 3 more AQARA RTCGQ11LM's which after a bit of fiddling and battery pulling made it into the zigbee network. However, I noticed that contrary to the first one I bought about a month ago, they were not reporting battery level and voltage. A bit later I realized neither did the first one anymore, it just kept giving out the values from state.json. My immediate thought was something changed between zigbee2mqtt 1.5.1 and 1.6.0 (I'm running zigbee2mqtt as a hassio addon, btw)
I started debugging by sniffing the zigbee network, but as far as I can tell, the devices only sent "Occupancy Sensing" and "Illuminance Measurement" via Report Attributes, nothing else.
Did something change in 1.6.0 I need to turn on? Did I mess up things by installing 4 human presence sensors? :)
Any hints are welcome.
Edit: Some late addition, zigbee2mqtt assistant is showing the the units having a battery component though, so something/somewhere is aware it exists.
AQARA RTCGQ11LM LUMI | battery illuminance linkquality occupancy

Never mind about the battery reporting, it still does, however at a very low frequency and it simply had not been cache in the state.json...


since V3.12.2 , useCookie cannot be re-rendered on the page after modification, when I run 'npm run generate'

Environment

Operating System: Windows_NT
Node Version:     v20.9.0
Nuxt Version:     3.12.2
CLI Version:      3.12.0
Nitro Version:    2.9.6
Package Manager<EMAIL_ADDRESS>
Reproduction
https://nuxt.com/docs/examples/advanced/use-cookie
Describe the bug
since V3.12.2 , useCookie cannot be re-rendered on the page after modification, when I run 'npm run generate'
Additional context
No response
Logs
No response

When I run 'npm run dev', useCookie works fine, but 'npm run generate' has this problem


Plugin Installation

Hi @pb82
I thought i'd open a conversation before jumping into coding. In regard to plugin installation, I can see your using an init container plugins (note, i'm not aware of whats behind the quay.io/openshift/origin-grafana image), but I was wondering if using the official images and their https://grafana.com/docs/installation/docker/#installing-plugins-for-grafana plugin installation was an idea? ... extending the grafana crd type and adding a []Plugins and using the env to roll the deployment ...
Whats your thoughts?

The openshift/origin-grafana image does not seem to support plugin installation in the way that the official image does. I'd like to keep the operator functional even when using third party images (that is often a requirement for productization or use in internal environments) . That's why its currently implemented using the init container. It works in the following way:

Plugins can be added to dashboard, see for example here
When the operator reconciles the dashboards it builds a list of all plugins that need to be installed (it will also do some sanity checking on the versions)
It passes this list as an env var to the init container when then uses a small Python script to download the plugins and copy them into a volume mounted at the expected Grafana plugins location
Grafana is restarted to load the new Plugins

I've thought about allowing Plugins to be added to the Grafana CR too (instead of only to dashboard CRs) but had no use case yet that would require it.

Hi @pb82 ... makes sense to me :-) .. perhaps one solution to enabled both would be to allow users to add additional envs mapped to the deployment ...

@gambol99 Additional additional env vars via the CR sounds interesting. Do you see any other use cases (besides plugins) that this would allow?

@gambol99 Closing this issue as its more of a feature request. Feel free to reopen if you have a use case for allowing to set the env vars in the CR.

Dear
I think there is a good usecase to make it possible to install grafana plugins via the operator.
Grafana oncall needs a plugin that has nothing to do with a datasource or dashboard.
If there would be a possiblilty to install a plugin via the operator would be a good thing.
Thanks for checking


Accountz-4.1

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."

Pull Request Functional Test Report for #3392 / 4932410f3dc2664464bb02345dc17ae64d72b01c
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

ACCTZ-4.1: Record History Truncation

Cisco 8000E

ACCTZ-4.1: Record History Truncation

Cisco XRd

ACCTZ-4.1: Record History Truncation

Juniper ncPTX

ACCTZ-4.1: Record History Truncation

Nokia SR Linux

ACCTZ-4.1: Record History Truncation

Openconfig Lemming

ACCTZ-4.1: Record History Truncation

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

ACCTZ-4.1: Record History Truncation

Cisco 8808

ACCTZ-4.1: Record History Truncation

Juniper PTX10008

ACCTZ-4.1: Record History Truncation

Nokia 7250 IXR-10e

ACCTZ-4.1: Record History Truncation

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.252%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
1983

Relevant Lines:
3589

💛  - Coveralls


[Feature Request] Remote IP

Hi, is it possible somehow, to put the remote IP into User Environment, or any file or somewhere at all?
I need to get the Remote IP somehow/sowhere for the session...
doesnt matter for me from where i get the Remote IP, just need any ideas...
Cheers

Ive got it, testing here,
ive put into
sesman/env.c
under the line: g_setenv("SHELL", pw_shell, 1);
this new line: g_setenv("R_CLIENT_IP", client_ip, 1);
Testing now and will report back, if anyone wants the same....

Didnt worked...
i get in the environment:
R_CLIENT_IP=/tmp/.X11-unix/X10
dunno what this is, but definitive not the remote ip....
Any Help? :-))

Ive got it working after hours of trying...
I have no clue of c...
I have changed 3 Files:
env.c env.h and session.c
env.c:
LINE 92:
--env_set_user(const char *username, char **passwd_file, int display,
--             const struct list *env_names, const struct list *env_values)
++ env_set_user(const char *username, char **passwd_file, int display,
++             const struct list *env_names, const struct list *env_values,
++             const char *client_ip)

LINE 136:
++            g_setenv("R_CLIENT_IP", client_ip, 1);

env.h:
LINE 53:
--env_set_user(const char *username, char **passwd_file, int display,
--             const struct list *env_names, const struct list *env_values);
++env_set_user(const char *username, char **passwd_file, int display,
++             const struct list *env_names, const struct list *env_values,
++             const char *client_ip);

session.c
LINE 373:
--        env_set_user(username, 0, display,
--                     g_cfg->env_names,
--                     g_cfg->env_values);
++        env_set_user(username, 0, display,
++                     g_cfg->env_names,
++                     g_cfg->env_values,
++                     username);

LINE 573:
--            env_set_user(s->username,
--                         0,
--                         display,
--                         g_cfg->env_names,
--                         g_cfg->env_values);
++            env_set_user(s->username,
++                         0,
++                         display,
++                         g_cfg->env_names,
++                         g_cfg->env_values,
++                         s->client_ip);

LINE 628:
--                    env_set_user(s->username,
--                                 &passwd_file,
--                                 display,
--                                 g_cfg->env_names,
--                                 g_cfg->env_values);
++                    env_set_user(s->username,
++                                 &passwd_file,
++                                 display,
++                                 g_cfg->env_names,
++                                 g_cfg->env_values,
++                                 s->client_ip);

LINE 637:
--                    env_set_user(s->username,
--                                 0,
--                                 display,
--                                 g_cfg->env_names,
--                                 g_cfg->env_values);
++                    env_set_user(s->username,
++                                 0,
++                                 display,
++                                 g_cfg->env_names,
++                                 g_cfg->env_values,
++                                 s->client_ip);

LINE 882:
--        env_set_user(username,
--                     0,
--                     display,
--                     g_cfg->env_names,
--                     g_cfg->env_values);
++        env_set_user(username,
++                     0,
++                     display,
++                     g_cfg->env_names,
++                     g_cfg->env_values,
++                     username);

Sometime i use instead "username" because "s->client_ip" doesnt work there...
However it works now...
If anyone will optimize that, you are welcome :-)
I have no clue of c...
Cheers :-)

You should be able to get the remote IP by reviewing your Router/Firewall logs. You may have to setup a special rule to log the information as connection come in to xrdp port 3389 or what ever port you are using.
You can also see the port loging in by reviewing /var/log/xrdp.log

You can also see the port loging in by reviewing /var/log/xrdp.log

This is not true anymore since this has been merged I believe. The log now always shows the IP+port of the server, not the client.
Before the change:
[20151109-14:50:36] [INFO] An established connection closed to endpoint: <IP_ADDRESS>:3350 - socket: 14
[20151109-14:50:36] [INFO] An established connection closed to endpoint: NULL:NULL - socket: 9
[20151109-14:51:59] [INFO] An established connection closed to endpoint: <IP_ADDRESS>:62770 - socket: 10
[20151109-14:51:59] [DEBUG] xrdp_mm_module_cleanup

After the change:
[20191112-15:36:48] [DEBUG] Closed socket 18 (AF_UNIX)
[20191112-15:36:48] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20191112-15:36:48] [DEBUG] xrdp_mm_module_cleanup
[20191112-15:36:48] [DEBUG] Closed socket 17 (AF_UNIX)

And everything is logged as debug now. For auditing purposes I'd actually prefer seeing this as a warning. Ideally it should be possible to use the log with something like Graylog to gather xrdp-usage metrics.


Broken links to Jupyter notebooks in implementations page

This may be covered by #146 and #122
The section vr-python: GA4GH VR Python Implementation
has links to notebooks that are broken:
The Overview and Extras Jupyter notebooks provide usage examples.

Yes, addressed in #146.


"msg": "Error starting project "host" network_mode is incompatible with port_bindings"

Hello. Thank you very much for developing this great tool and sharing it with the world especially during the time people need real secure and private video conferencing system. It's amazing that you are also maintaining coTurn development. We can't live without coTurn for WebRTC. Thank you again for your generous effort and contribution.
I am in need to build EduMeet server on a VPS, 4VCPU, 8GB RAM, Debian 10, fresh and clean environment.
I chose edumeet-ansible approach because I have been wanting to learn how to use Ansible at the same time. I had thought this would be hitting two birds with one stone. But so far I have been struggling for 24 hours, 8h x 3 days to make this Ansible playbook work. I am starting to feel as if I am the one being hit by a stone while I do not see two birds yet.
After trials and errors, I am very close to the ending stage of this edumeet-ansible installation stage. I have been stack at the 3rd TASK from the last, and getting error message. I searched the solutions but I really can not understand what exactly this error message is telling me.
I would like to ask for any advice from the community on how I could proceed to overcome the error messages shown.
Below are the two error messages obtained from the same TASK.
I replaced actual host name and domain name with [HOSTNAME.DOMAIN] to hide in the error message.
Any comment will be appreciated.
Thank you.
May you, your family and all beings around you be well, happy and peaceful.

Error 1.
TASK [edumeet : Create and start services] ********************fatal: [HOSTNAME.DOMAIN]: FAILED! => {"changed": false, "errors": [], "module_stderr": "Creating ouroboros ... \nCreating edumeet_redis_1 ... \n\u001b[1A\u001b[2K\nCreating edumeet_redis_1 ... \neet_1 ... \n\u001b[3A\u001b[2K\nCreating ouroboros         ... \n\u001b[3B", "module_stdout": "latest: Pulling from library/redis\nDigest: sha256:0f724af268d0d3f5fb1d6b33fc22127ba5cbca2d58523b286ed3122db0dc5381\nStatus: Downloaded newer image for redis:latest\nlatest: Pulling from pyouroboros/ouroboros\nDigest: sha256:cfa29916459fb8c578fce084ce839a0d3bee478b83a21b6b1d10c6b78bc4a372\nStatus: Downloaded newer image for pyouroboros/ouroboros:latest\n", "msg": "Error starting project "host" network_mode is incompatible with port_bindings"}

Error 2.
TASK [edumeet : Create and start services] *******************
fatal: [HOSTNAME.DOMAIN]: FAILED! => {"changed": false, "errors": [], "module_stderr": "Creating edumeet_redis_1 ... \nCreating ouroboros       ... \n\u001b[2A\u001b[2K\nCreating edumeet_redis_1 ... \neet_1 ... \n\u001b[2A\u001b[2K\nCreating ouroboros         ... \n\u001b[2B", "module_stdout": "", "msg": "Error starting project "host" network_mode is incompatible with port_bindings"}

Hello,

I am almost giving up edumeet-ansible method but still trying to find out the cause of this error message with my very limited knowledge. This is a great opportunity to learn how to use Ansible to me also. So I do not think I have been wasting time to challenge to make this method work on my environment.
By the way, I only have a single target VPS server to run EduMeet, not multiple installations.
In the error message, I can find the word "redis". So is this error caused by redis?
I also searched on part of the error message,
"network_mode is incompatible with port_bindings". Some people were taking about docker's bug but I could not find a very strong base to explain the error message as docker's issue.
The target VPS is fresh and clean so it is not yet setup with any firewall rules. So I assume this is caused by firewall's port settings.

Today I also found out there was a newer package of ansible released. So I upgraded the ansible.
"Unpacking ansible (2.9.16-1ppa~trusty)
over (2.9.15-1ppa~trusty)"

Then I run again
ansible-playbook --user=root playbook.yml -k
and got the same error message.
I may give up edumeet-ansible method and move to manual installation because of the time-pressure reason, but I just leave the error message here as a reference.
I replaced actual host name and domain name with [HOSTNAME.DOMAIN] to hide in the error message.
Any comment will be appreciated.
Thank you.
May you, your family and all beings around you be well, happy and peaceful.
--
TASK [edumeet : Create and start services] *************************************
fatal: [HOSTNAME.DOMAIN]: FAILED! => {"changed": false, "errors": ["ERROR: for edumeet_edumeet_1  "host" network_mode is incompatible with port_bindings"], "module_stderr": "Creating edumeet_redis_1 ... \nCreating ouroboros       ... \n\u001b[2A\u001b[2K\nCreating edumeet_redis_1 ... \neet_1 ... \n\nERROR: for edumeet_edumeet_1  "host" network_mode is incompatible with port_bindings\n\u001b[2A\u001b[2K\nCreating ouroboros         ... \n\u001b[2B", "module_stdout": "", "msg": "Error starting project "host" network_mode is incompatible with port_bindings"}
PLAY RECAP *********************************************************************
[HOSTNAME.DOMAIN]       : ok=46   changed=7    unreachable=0    failed=1    skipped=16   rescued=0    ignored=0

@lovingkindness I think we need from docker-compose file comment out "ports:" lines.

See commit https://github.com/edumeet/edumeet-docker/commit/753e7229b6186304a4eddfc32b07de6c16fb4b6a

@lovingkindness I feel this issue was related more on docker-compose so I move it to edumeet/edumeet-docker


Jumping down feels slower in VR

I am always subject to motion sickness, and this is definitely a case where I am sensitive where other people may not.
Jumping up feels "right", but jumping down feels slower/odd. This makes me pretty sick pretty quickly. Of course my little bunny jumps won't match the larger jumps in the game, but maybe if the default jump was either smaller/ faster or (perhaps) longer, it could alleviate this mismatched feeling?

Did you perhaps post to the wrong repo? This repo is about generating glTF assets for unit testing.


Uwp app: “System.AccessViolationException: Attempted to read or write protected memory”

I have implemented application using Xamarin.Forms <IP_ADDRESS>2894 and CardView 2.1.3
Uwp app: “System.AccessViolationException: Attempted to read or write protected memory”
Above exception throws only on UWP, iOS and Android works fine

Hi, why did you decide, that this issue is related to CardsView ?

@AndreiMisiukevich
I have used same data structure and image url in scroll view, it's working fine.
And also this CardView works fine for iOS and Android.
`
<cards:CarouselView ItemsSource="{Binding Images}" SelectedIndex="{Binding SelectedIndex}">
cards:CarouselView.ItemTemplate

<Grid.RowDefinitions>

</Grid.RowDefinitions>
<ffimageloading:CachedImage Grid.Row="0" Source="{Binding ImgURL}" Margin="5" DownsampleToViewSize="true" Aspect="AspectFit"
VerticalOptions="FillAndExpand" ErrorPlaceholder="noimage.jpg" HorizontalOptions="FillAndExpand">
ffimageloading:CachedImage.GestureRecognizers

</ffimageloading:CachedImage.GestureRecognizers>
</ffimageloading:CachedImage>
                                    <StackLayout Grid.Row="1" BackgroundColor="Transparent" Padding="12">
                                        <Label x:Name="CommentTitle" HorizontalOptions="Start" VerticalOptions="Start" Style="{StaticResource ViewBoldLabel}" Text="Comment" TextColor="Black" />
                                                                                </StackLayout>
                                        </StackLayout>
                                    </StackLayout>
                                </Grid>
                            </ContentView>
                        </DataTemplate>
                    </cards:CarouselView.ItemTemplate>

                    <controls:IndicatorsControl BackgroundColor="Transparent" CascadeInputTransparent="True"
                                                SelectedIndicatorStyle="{StaticResource ActiveIndicator}"
                                                UnselectedIndicatorStyle="{StaticResource InactiveIndicator}"/>

                </cards:CarouselView>
            </StackLayout>`

Hello @AndreiMisiukevich
After I have removed following lines from code, it works.
<!--<controls:IndicatorsControl BackgroundColor="Transparent" CascadeInputTransparent="True"
                                                    SelectedIndicatorStyle="{StaticResource ActiveIndicator}"
                                                    UnselectedIndicatorStyle="{StaticResource InactiveIndicator}"/>-->

But I need indicators...

@vijaypalve this is some kind of XF issue, definitely.
but you can try workaround this issue
maybe copy-paste code from https://github.com/AndreiMisiukevich/CardView/blob/master/PanCardView/Controls/IndicatorsControl.cs
And try to play with it

@vijaypalve https://github.com/xamarin/Xamarin.Forms/issues/1823 ?
is it our case?

@AndreiMisiukevich
Please find the attached project.
And reproduced removed/ adding following lines  from code, it works.
<!--<controls:IndicatorsControl BackgroundColor="Transparent" CascadeInputTransparent="True"
                                                    SelectedIndicatorStyle="{StaticResource ActiveIndicator}"
                                                    UnselectedIndicatorStyle="{StaticResource InactiveIndicator}"/>-->

App1.zip

@vijaypalve hi :)
i'm going to create pre-release version without batching for UWP
https://github.com/xamarin/Xamarin.Forms/issues/1823#issuecomment-501906681
Will you be able to test it ? (unfortunately i work on mac)

@AndreiMisiukevich Please let me know version number.

@vijaypalve i will create it a little bit later and let you know :)
Thanks

@AndreiMisiukevich OK :)
thanks

@vijaypalve please check 2.1.5-pre version

@AndreiMisiukevich
Thank you ,
I will check and let you know.

Hello @AndreiMisiukevich
I have checked after updating plugin, but issue remains same.
Please find the attached screen shots and sample app.

App17062019.zip

Hello @AndreiMisiukevich, any update?

Hello @AndreiMisiukevich, any update?

no) but you can ping XF team on their github.

@vijaypalve here is workaround https://github.com/xamarin/Xamarin.Forms/issues/1823#issuecomment-503072496

So, use workaround :)


Removed ES6 features to be fully ES5 compatible resolves #2

The package is written in mostly ES5 code, with a handful of ES6 features thrown in. The package is not transpiled to ES5, therefore throwing errors in IE11 and older browsers that do not support ES6.
This pull request removes the ES6 features used: This package contains the following ES6 features:

Object.assign
const and let
Default function arguments
Arrow functions
Array destructuring
Object property shorthand

This change will allow users of this package to not have to transpile the package themselves and allow it to work in IE11 and older browsers.

Sorry. Awesome. Thank you.


fix: support userInteraction for didReceiveRemoteNotification

No matter which type of push notification (local or remote) is clicked, I expected the recommended API, didReceiveNotificationResponse, to work.
However, it's not functioning as expected some environment.(maybe firebase integration problem?)
When didReceiveNotificationResponse doesn't work, didReceiveRemoteNotification works even when the notification is clicked. 🤔
Following the guide, I tried to implement it, but userInteraction isn't always present.
Although it's a very hacky, the point of clicking in the background and opening the status bar to click on the push banner is considered an inactive state. So, it works using this approach.
If there's a better way, please let me know. A video is attached for reference.
https://github.com/react-native-push-notification/ios/assets/26326015/714d33d1-e886-4fe4-9206-92dbfcefeba2

For those searching for the answer:
The issue with didReceiveNotificationResponse not working was a bug in Notifee
https://github.com/invertase/notifee/issues/925


Support for Array.new with an argument

We were trying to do Array.new(n) to get an array with n elements, but it's not supported.

I'll implement this.

@lara it's been implemented in #832


Rollerbeds

Credit to Topy for doing most of the OG work.
:cl: Topy

add: Add rollerbeds to roll people around!

Only a few progress reports delayed we gucci.

The area you need to click on to interact with a roller bed seems like it needs to be adjusted. Currently in order to buckle people you need to drag them to the space above a roller bed, not onto it.
2021-12-25-15-41-06.mp4

I'm pretty sure that's just clickmaps being funky (which have been funky for like 9 months) but I'll take a look.

Okay I'm pretty sure it's just because it's noRot the clickmap is fucky soooo out of scope and I'll look at it at some stage.


Added support in ZInfo msg to include status of config items and any errors

. Proto file change to add ConfigItems, both current status and any errors, to ZInfo msg

Committing Generated files for Proto file changes to add config items to
info msg.

Added support in zedagent to send ConfigItems errorsin Info msg

The actual code in ParseConfig to store ConfigItem related errors in GlobalConfig is in PR:
https://github.com/lf-edge/eve/pull/356
Once both of these merge, the functionality would be operational.
Tests Done:

Hacked up code to artificaially add some errors into globalConfig.Errors, added some temp. debug messages to dump ReportDeviceInfo and verified they show up in debug messages on the device. Not committing these hacked debugs.

To see these errors, cloud needs to be upgraded as well to use the new proto..

I don't know if you are done with this and it is ready for re-review, but the code in parseConfigItems is wrong on so many ways:

looking at errStr at the top of the loop means you'll miss any error for the last item
only applying this to the new item doesn't make sense; it should be applied to all of the items and associated errors
having the new parse code return errStr and update by value argument is inconsistent with the existing code, where the functions return (val, error); the latter is also the normal go style for error returns.

Having all of the cases do a break instead of continue when err != nil, and putting the handling of err at the end of the loop will allow you to handle all of the errors.

Hi Erik,
I Initially set about changing everything - then realized that we need a simpler way of handling these config items and hence wrote that proposal to fix it. Aarchismaan is looking into it.
I only just did minimal changes to get going for the new item. Since the switch statement is anyway going to go away, I did not make those changes.
Yes.. Currently only one item will flag the error. But Archismaan's Changes should come some time soon and will fix the rest of the items.
If I have to change this - I need to change all the items to remove the continue, add error string to be logged as well as added to Errors slice. Thought it is not worth it.
I did move the setting of slice to the end of the switch statement.
Is this state ok with you - with the understanding that the revamp of Global config will fix it the right way? Or Should I just fixup the existing code right now? It would be good to get the proto changes in so that cloud can also catchup on storing the error.
Thanks,
Kalyan

I don't know if you are done with this and it is ready for re-review, but the code in parseConfigItems is wrong on so many ways:

looking at errStr at the top of the loop means you'll miss any error for the last item
only applying this to the new item doesn't make sense; it should be applied to all of the items and associated errors
having the new parse code return errStr and update by value argument is inconsistent with the existing code, where the functions return (val, error); the latter is also the normal go style for error returns.

Having all of the cases do a break instead of continue when err != nil, and putting the handling of err at the end of the loop will allow you to handle all of the errors.

Hi Erik,
I Initially set about changing everything - then realized that we need a simpler way of handling these config items and hence wrote that proposal to fix it. Aarchismaan is looking into it.
I only just did minimal changes to get going for the new item. Since the switch statement is anyway going to go away, I did not make those changes.
Yes.. Currently only one item will flag the error. But Archismaan's Changes should come some time soon and will fix the rest of the items.
If I have to change this - I need to change all the items to remove the continue, add error string to be logged as well as added to Errors slice. Thought it is not worth it.
I did move the setting of slice to the end of the switch statement.
Is this state ok with you - with the understanding that the revamp of Global config will fix it the right way? Or Should I just fixup the existing code right now? It would be good to get the proto changes in so that cloud can also catchup on storing the error.
Thanks,
Kalyan

Hi Erik, Thinking more, I think I was making it complex in the interim by not making changes to other config items..
So I just went ahead and made all the config items return errors / Removed continue statements etc and cleaned it up. Please take a look. - Thx

This needs another pass before its done. See detailed comments.

With the introduction of status you end up with an odditity since the code (both on zedagent and nim) first read the status from a file (and in the case of zedagent, get updates from the controller), but then go ahead and modify config (by applying defaults and min/max).
If we read the code today with these changes that will look odd; reading it a few months from now it will look even odder.
Thus I think the code to apply defaults and min/max checks in nim and zedagent should apply to status instead of config.

[Kalyan] Yes.. Missed these. Hmm. So, We have values before registration and after registration - right?

Before registration, nim / zedagent can read from /config/global.json and make adjustments and use it as their GlobalConfig..

After registration - Both of them have to cut over to whatever is sent by the cloud.

So, the conundrum occurs as to what we do with Status?
If we leave the config to be used by all agents - Zedagent is responsible for publishing a sanitized config - and all other agents use it - it would be consistent. And Status would be used only by zedagent to send config to zedcloud. But then ,we should ask - whats the use of Status at all. Its mainly to maintain the error as to have errors in config sounds odd.
If we make Nim read the Config - Convert it into Status - and then let it be over-ridden by GlobalStatus from zedagent ( Which can also read from file / also from zedcloud ). I think this looks saner - as you said -  convert nim also to use Global Status..
Or may be:

Start Zedagent first - it reads and publishes Global Status - Then waits for Nim to Publish DeviceNetworkStatus

nim Starts - Consumes globalStatus - does its thing and publishes Device network Status

Zedagent continues after consuming the DeviceNetworkStatus.

I think this would be the cleanest .. Comments?

But there is still a hard part for which I don't know the answer: today's master applies defaults and min/max and then writes the result to /persist. If we cleanly do what I suggest above, we would merely write the config received from the controller to /persist, meaning that we'd apply defaults and min/max on each reboot.

[Kalyan] Why? We can always write only Sanitized config ( Defaults / Min-Max applied ) to /persist. Why should we not do that?

I do not know whether that would make any difference in the ease vs. risk in introducing bugs when we add new config items over time. Thoughts?

[Kalyan] If we keep writing the Sanitized config - there should not be any issues.. right?


Updated chatbot #789

Solved the problem that was coming due to chatbot. #789

@RitiChandak earlier i was given level 3 for this issue but you changed to level 1. I have created a completely new working chatbot. It answers users queries using AI as well as given knowledge base. Also it works according to user intent.
Please consider giving it higher level.

that depends on the PR according to that PR i changed the level

can we decrease the response time?

 can we decrease the response time?

@RitiChandak no we can't control the response time. It takes its own time to check through the knowledge base and respond.

after yes i am still waiting

 after yes i am still waiting

@RitiChandak after typing yes you need to straight away write your question. Then it will answer


_parse_downloaded_items throws AttributeError: module 'aiofiles' has no attribute 'ospath'

Describe the bug
I grabbed the latest DEV build and compiled.  When my weekly job to download recent videos ran it threw this error.
File "/XXX/env/lib/python3.9/site-packages/blinkpy/blinkpy.py", line 415, in _parse_downloaded_items
    if await aiofiles.ospath.isfile(filename):
AttributeError: module 'aiofiles' has no attribute 'ospath'

Reviewed the function:
https://github.com/fronzbot/blinkpy/blob/dev/blinkpy/blinkpy.py#L415
I had to add the following changes to get it resolved.  This could be due to the VENV I am running but thought I would at least log a ticket just in case.
diff --git a/blinkpy/blinkpy.py b/blinkpy/blinkpy.py
index 027e2ff..e46a2c5 100644
--- a/blinkpy/blinkpy.py
+++ b/blinkpy/blinkpy.py
@@ -17,6 +17,7 @@ import time
 import logging
 import datetime
 import aiofiles
+import aiofiles.ospath
 from requests.structures import CaseInsensitiveDict
 from dateutil.parser import parse
 from slugify import slugify

Home Assistant version (if applicable): N/A
blinkpy version (not needed if filling out Home Assistant version): DEV latest

You need aiofiles >=  23.1.0
https://github.com/fronzbot/blinkpy/blob/eeac769ddf6aec0765a87cf7e264068306743713/requirements.txt#L6

Or change ospath to aiofiles.ospath.   I suppose we missed one?

Here's my PIP list, first thing I tried was a forced reinstall of aiofiles, then did a fresh venv...
(env) XX@YY:~/$ pip list --local
Package            Version
------------------ ----------
aiofiles           23.2.1
aiohttp            3.9.1
aiosignal          1.3.1
astral             3.2
async-timeout      4.0.3
attrs              23.2.0
blinkpy            0.23.0b7
certifi            2023.11.17
charset-normalizer 3.3.2
frozenlist         1.4.1
idna               3.6
multidict          6.0.4
pillow             10.2.0
pip                24.0
python-dateutil    2.8.2
python-slugify     8.0.1
requests           2.31.0
requests-toolbelt  1.0.0
setuptools         58.1.0
six                1.16.0
sortedcontainers   2.4.0
text-unidecode     1.3
urllib3            2.1.0
yarl               1.9.4

It's VERY odd that aiofiles.ospath is not there, but you can import it. Such fun with libraies :(

Looks like this isn't an "easy" fix for everyone.  They moved these into aiofiles.os OR directly import as you did.  Unfortunately, this will fail for older versions of aiofiles.
Thanks for sharing the issue


Feature Request: Clear Console After Kernel Restart

The previous behaviour of spyder was to clear the console after a kernel restart whereas now it simply prints a Restarting kernel... and a horizontal line but leaves the full history in the console:

Whilst this may sometimes be desirable, at other times the history of the previous session is simply noise and makes it difficult to determine where the output from the new session started. This would be less of an issue if there were a way to clear the console manually but the %clear magic just scrolls down and doesn't actually clear the contents of the console.
It would be nice if there were a configuration setting so you could choose whether or not to clear the console after a kernel restart.

So %clear is not working on Windows? And does this happen only after a kernel or always?

%clear doesn't work before or after a kernel restart and I don't think it ever has for me

It's probably a behaviour inherited from the qtconsole:


feature request: add a required version check option

uv version 0.4.27 added support for PEP 735 – Dependency Groups in pyproject.toml, which I very much appreciate. However, if any of our developers are still using an older version of uv locally, they may have issues with projects that start using the new standard syntax for dependency groups.
Please add a required-version option (akin to the option for Ruff) with the following semantics:

required-version
Enforce a requirement on the version of uv, to enforce at runtime. If the version of uv does not meet the requirement, uv will exit with an error.
Useful for unifying results across many environments, e.g., with a pyproject.toml file.
Accepts a PEP 440 specifier, like ==0.3.1 or >=0.3.1.
Default value: null
Type: str
Example usage:
# pyproject.toml
[tool.uv]
required-version = ">=0.4.27"

# uv.toml
required-version = ">=0.4.27"

Duplicate of https://github.com/astral-sh/uv/issues/8605.


Add analytics to WalletConnect flow

Description
This adds analytics events to the WalletConnect flow.
It allows answering the following questions:

what dapps are being connected?
how often users connect dapps?
what permissions are requested?
how reliable the different actions are (success/error)?
what methods are requested? for instance eth_signTransaction, personal_decrypt, eth_sendTransaction, etc
Are there unsupported methods which we should add?

Tested
Tested new events are tracked.
How others should test
No need for QA to test this.
Related issues

Fixes #1067

Backwards compatibility
Yes

FYI: We have skipped this Test Cases as we don't need to test anything here


aprilis quizi-hr

Hello,
This tool is something that is meant to be run as a web application. You'll need to talk with your IT department about getting this set up as per the README on the main page of this project.


:sparkles: Feat: Add support for more networks

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

#1420  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on  Graphite


Logs flooded with "dropped sample" errors

Bug Description
System logs are flooded with the following error leading to high disk utilization:
caller=dedupe.go:112 agent=prometheus level=info url=http://<IP_ADDRESS>/cos-prometheus-0/api/v1/write msg="Dropped sample for series that was not explicitly dropped via relabelling"

There should be a way to trim these down or filter them.
To Reproduce

Deploy grafana-agent charm.
Relate to compatible machine charm.
Watch /var/log/syslog for error.

Environment
Grafana-agent is related to machine charms in an openstack cloud.
Relevant log output
caller=dedupe.go:112 agent=prometheus level=info url=http://<IP_ADDRESS>/cos-prometheus-0/api/v1/write msg="Dropped sample for series that was not explicitly dropped via relabelling"

Additional context
No response

*edit find these logs in the grafana-agent logs

Might be related https://github.com/prometheus/prometheus/issues/11589

The linked issue form @IbraAoad suggests the problem is backpressure (good summary comment here).  I tried to reproduce this but was unable to get "Sample dropped" errors.
First I tried just using a simple machine charm (ubuntu) but that didn't cause any issues for the grafana-agent machine charm.
  I artificially created backpressure by continually killed prometheus and loki (while true; do kubectl delete pod prometheus-0; kubectl delete pod loki-0; sleep 1; done), but still couldn't reproduce the "Sample dropped" errors.
Do you have a minimal reproduction environment I could use?
Also, within your environment, it would be useful to have:

the grafana-agent config file
these metrics when the problem is occurring:

curl -s <grafana-agent-unit>:12345/metrics | grep "prometheus_remote_storage_enqueue_retries_total"
curl -s <grafana-agent-unit>:12345/metrics | grep "prometheus_remote_storage_shards_max"

Which revision of the charm are you using?  A related fix upstream was posted in agent 0.35.2, but that version is only in our agent charm

If you could also include the output of the following at normal operation and at time of failure, that could be interesting.
juju ssh grafana-agent/0 curl -s localhost:12345/metrics | grep -E "wal|agent_inflight_requests|log_messages_total|failed" | grep -v "^# "

juju ssh gragna-agent/0 df -h

I might have been wrong about where this patch landed.  the fix commit is tagged >=v0.36.0, but looks like it was also cherry-picked into v0.35.2 and shows up in the v0.35.2 changelog.  So probably it is fixed in v0.35.2.
Either way, the next steps are:

@slapcat: if you can, provide a good reproduction case
observability: update grafana-agent to something more recent (~0.40.x)

I'm working on (2) now

To address this, we've done the following:

bump the grafana-agent workload to 0.40.4 for k8s and machine charms.  Now all charms and architectures are all on the same 0.40.4 version
some other updates, like pinning the grafana-agent workload in machine charms so the grafana-agent workload version is predictable

Based on those fixes, we're closing this issue as we think it should be addressed.  We were unsuccessful in actually reproducing the issue, however, so please reopen if you face this again!


How do I actually use this?

What happened?
Hi thanks for this awesome free plugin, but I am wondring how to use this as this does not comes with a migration. So I was wondering how to get started and what table structures it needed.
How to reproduce the bug
none
Package Version
1
PHP Version
8.2
Laravel Version
10
Which operating systems does with happen with?
No response
Notes
No response

This is designed to be flexible and ready to use with your own models.
In the simplest form, you need "status" and "title" columns on some model. Then you create a new kanban page for that model, and the generated class has comments for you to get started.
Please check out the readme and let me know if you have a more specific question.

I had some confusion as well, honestly, that's why I created this PL #7

Found your plugin on the Filament plugins page and it's exactly what I need, but I don't have enough experience with Filament to be able to finish the implementation. I found this issue thread because I'm in the same place - I want a kanban style To Do board but I don't have an existing Model to use. I tried following your suggestions and made one and I got the board to appear, but there's no button to create a new model.
I wonder if it would be useful and easy to include an example Board that's already coded to match one of the example screenshots? Then developers could choose to either modify it (which might be easier than writing from scratch, especially if they aren't as experienced) or just delete it.
Just an idea - thanks for contributing to the open source community!!

@neverender24 @mkwsra @gmgarrison I'm creating some videos to help with this:
https://github.com/mokhosh/filament-kanban#video-tutorial
let me know what you think.
maybe I can improve the docs as well.

I have 2 panels including admin and user. How to create kanban on user panel?

@vutasoftvn have you watched the video tutorials?
https://github.com/mokhosh/filament-kanban#video-tutorial

@neverender24 @mkwsra @gmgarrison I'm creating some videos to help with this:
https://github.com/mokhosh/filament-kanban#video-tutorial
let me know what you think. maybe I can improve the docs as well.

Just wanted to let you know I've worked through the video series and they helped me get everything done that I wanted - thank you so much for producing them!!!

@gmgarrison that's great. thanks for letting me know.

@vutasoftvn have you watched the video tutorials? https://github.com/mokhosh/filament-kanban#video-tutorial

How to customize icon for view? Thank you!


Hi Guys

added a support to the Mail Module as well.

I pulled this in and added tests/updated the readme.
https://github.com/freerobby/sendgrid_toolkit/commit/67635be18330424783e3e68d54e35869d54371b0


chore: add issue and pull requests templates

Signed-off-by: Otieno Calvine<EMAIL_ADDRESS>

Codecov Report

Merging #2 (eb50b5e) into main (44f07eb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   75.83%   75.83%
=======================================
  Files           1        1
  Lines         298      298
=======================================
  Hits          226      226
  Misses         57       57
  Partials       15       15

Continue to review full report at Codecov.

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


Add trivial improvements to transaction pool

The changes in this PR are all trivial improvements to the client transaction pool:

Use Self.
Replace a loop with while let.
Simplify the Debug impl for tags.
Avoid clone() on Copy element.

bot merge

bot merge

@liuchengxu could you please fix the failing tests.

Ty
bot merge

bot merge


Unable to parse mining info, received http status code 502

Hi,
I am trying jminer version 0.4.12 for Burst mining on fastpool.info from an iMac. This seems to work well, however, an annoying and persistent error clogs the log file:
2018-05-11 20:31:23.045  WARN 13490 --- [skExecutor-9711] b.j.c.n.t.NetworkRequestMiningInfoTask   : Unable to parse mining info, received http status code 502
2018-05-11 20:31:23.045  WARN 13490 --- [skExecutor-9711] b.j.c.n.t.NetworkRequestMiningInfoTask   : Unable to parse mining info:
Followed by several pages of errors. Then the mining continues. The messages are almost every round (but not always - some rounds have no error (1% or so).
I have seen this issue reported before, and considered solved. Appreciate any tip to resolve this.
With regards

Hello de-Luxe, thanks for your steer - I tried https://0-100pool.burstcoin.ro/ and seems to work without any problems. No errors detected, other than the plot size is not correctly reflected in the pool (underestimated by a factor 50). I'll stick with this pool for a while as the plot size appears to be corrected upward every round. With regards,
Piet

@pvanmastrigt guess it takes at least 24h for the pool to estimate your size more accurate. You may set
'dynamicTargetDeadline=true' while using pocc pool ... and jminer will use their formular
targetDL = 720 * netDifficulty / yourPlotSize


Update to fvdycore v1.1.5

This pulls in fvdycore v1.1.5 which adds an option to the CMake step where you can add:
cmake ... -DHYDROSTATIC=ON/OFF

The default is ON which is currently what GEOS builds FV3 as. If you choose OFF then the FV core is built with extra preprocessor variables, MOIST_CAPPA and USE_COND.

OK, so, this is going to get interesting, because with the NH build options, we can only run NH (hydrostatic runs with that build are completely invalid). So we are going to have to think through what we do to facilitate hydrostatic/nonhydrostatic options for build/run

Perhaps look into using run time parameters?

OK, so, this is going to get interesting, because with the NH build options, we can only run NH (hydrostatic runs with that build are completely invalid). So we are going to have to think through what we do to facilitate hydrostatic/nonhydrostatic options for build/run

You aren't kidding. I just tried running C12->C720 with the NH build and, uh, they all failed to run. Should that be? I mean, I understand for C12, but C720? My fvcore_layout.rc has:
&fv_core_nml
  k_split     = 2
  Make_NH     = .T.
  hydrostatic = .F.
  do_sat_adj = .F.
  z_tracer    = .T.
  nwat       =  3
/

which I think is right for what I see in gcm_setup.
Do I perhaps need to spin up new restarts using an NH build of FV3?

OK, so, this is going to get interesting, because with the NH build options, we can only run NH (hydrostatic runs with that build are completely invalid). So we are going to have to think through what we do to facilitate hydrostatic/nonhydrostatic options for build/run

You aren't kidding. I just tried running C12->C720 with the NH build and, uh, they all failed to run. Should that be? I mean, I understand for C12, but C720? My fvcore_layout.rc has:
&fv_core_nml
  k_split     = 2
  Make_NH     = .T.
  hydrostatic = .F.
  do_sat_adj = .F.
  z_tracer    = .T.
  nwat       =  3
/

which I think is right for what I see in gcm_setup.
Do I perhaps need to spin up new restarts using an NH build of FV3?

Did you try coldstart?

An update. It turns out the reason all my runs failed is that my restarts seem to be "too old". I apparently regridded them long enough ago (years?) and I've pushed my luck as far as it'll go.
If I regrid the restarts using the latest model, I can indeed run non-hydrostatic! Even at C12 it looks like. So that is good.

And now more questions for @wmputman (and @sdrabenh ). In my testing it looks like if you build for non-hydrostatic, you should not select hydrostatic in gcm_setup. Model will crash! (I think if you build for hydrostatic, the gcm_setup NH selection might work...though the results are probably garbage?)
So, I suppose a question is: Should the gcm_setup hydrostatic question default to what the build is? That is, if you build -DHYDROSTATIC=ON then the default answer in gcm_setup is Hydrostatic=YES, and vice versa?
And I guess, should I add a new option to parallel_build.csh for hydro/nonhydro?

As can be seen above, I've make draft PRs in App, FV3 GC, and env for more support of this.


KeyPad Not shown in first page

Hi,
Thanks for your Component.
I have a issue when I use your component in android the keypad is not shown in first page. and after I click the county picker and select country and return to first page the Verification button text is removed. please help me.

Hmm, I'll try to reproduce it

Oh yes I see what you mean. Do you know if this only isn't working on an emulator or if it is also a problem on a physical phone? I don't have an android but on iOS it's fine

Hi,
both of it . on emulator and real phone. in real phone (Galaxy j7 prime) some times keypad not shown

A short update for anybody who may be seeing this...
the problem is that on Android calling the focus() method on a TextInput ref does not always focus on the TextInput and show the keyboard. But for some odd reason this is only a problem on Android. I'm definitely open to accepting pull requests and I have been trying to solve this problem for a couple of days but not getting much luck so far...
Thank you shayegh for exposing this really bad bug

Alright! As of version 0.1.3 this issue is resolved, all i did was simply change
this.setState({countryInfo: e}, () => {
  this._ref.focus();
});

to
this._ref.focus();
this.setState({countryInfo: e});

How to upgrade my code?
I use npm update
but the problem still exist

In your package.json how is your semantic versioning for the dependency? Is it prefixed with ^ or ~? Another way to update dependencies is to npm install like normal but add a @latest to the end like so:
npm i --save react-native-phone-auth-component@latest
and if none of these work you I suppose you could just uninstall it and install it again


Reworked Particle Turbulence

This is a rebase of #64606
@QbieShay asked me if I could rebase the original PR and have a final look over it as @KdotJPG was not responding and 4.1 comes closer ;)
Everthing works, looks good and I adjusted some mismatches between default values and values in the docs.
I also changed the default value for the turbulence_noise_speed_random as it made no sense to have no movement by default - And it also had default movement in the old version of the turbulence.

Thanks!

Does this break compatibility for existing projects that use particle turbulence? Thanks.

Does this break compatibility for existing projects that use particle turbulence? Thanks.

Nope

@KdotJPG thanks to you for all the back and forth before!


Completed syncloop

logging and checks fixes
log_prefix passed across stages
sync_context injection
implemented logic for unwind and prune

Forgot to adjust stage progress dependency in test. Awfk now


Persisting serializers/deserializers to an assembly for better startup time

This is a great library. I have a suggestion for an issue we're seeing in a production environment with a decent-sized object graph.
Here's the scenario:

On startup, the app performs serialization/deserialization pairs on dummy object graphs (async in a Task)
This process takes several seconds, is heavy on CPU, and memory usage climbs to over 1GB.
Once done, most of the memory is reclaimed and serialization/deserialization performance is excellent as would be expected.

What I'd like to accomplish:

During the build process, I want to launch a step that generates the serializers/deserializers I need and write them to an assembly.
At runtime, I want to specify this assembly in some type of Jil initialization method. Jil would then look first to this assembly and use the prebuilt serializers/deserializers as needed.
I will assume all risks for impedance between the object in question and the prebuilt assembly.

I can take a crack at this change and send a pull request, unless you see a problem with this request or advise against it for whatever reason. The end goal is to reduce the startup initialization time so how that's done isn't particularly important.

How about using weaver like Fody and provide a plugin which does that? Having one assembly instead of *.Serializers is better imho.

I'd also like something like this, but for a slightly different use case, .net native. If you could pre-generate the serializers and put them in an assembly and then reference that, .net native would have an easier time using them.
i'd love to take a stab at it but i cant commit to a timeframe unfortunately :/

The work required to do this, at the current time, is ... extensive. You
can't do it using the platform-specific builds, as many (core-clr, etc)
lack emit to dll options. You can't do it using the regular .NET 4.* build,
as IL-emit doesn't allow cross-targeting (it will reference the wrong
runtimes). The way I do it in protobuf-net is to use IKVM as a bridge, as
that has a cloned IL-emit API that permits cross-targeting... but to do
that would require a rewrite of Sigil, or the removal of Sigil completely.
In the general case, at that point, I'm (from bitter-sweet experience)
reaching the conclusion that the better option is C# code generation. There
aren't currently any friendly ways to deploy code-gen tools, though, if you
expect them to work in various build tools.
On 9 December 2015 at 08:41, Allan Lindqvist<EMAIL_ADDRESS>wrote:

I'd also like something like this, but for a slightly different use case,
.net native. If you could pre-generate the serializers and put them in an
assembly and then reference that, .net native would have an easier time
using them.
i'd love to take a stab at it but i cant commit to a timeframe
unfortunately :/
—
Reply to this email directly or view it on GitHub
https://github.com/kevin-montrose/Jil/issues/88#issuecomment-163151237.

--
Regards,
Marc

I havent looked super closely at the code yet, but do you think it would be possible to codegen all the tricks that jil does to speed up serialization? i have my own internal hobby project were i've been thinking about codegening serializers but it hasnt really materialized into something useful and i wasn't aware of jil at the time, so i'm curious to learn from this project :)

Can it be done? yes, mostly (see below)
Can it be done with the existing code: no
Code-gen is radically different to il-emit, and it would essentially be a
rewrite of the core. I'm not saying that rules it out, but it at least sets
the context.
Note also that code-gen doesn't allow all the tricks, because the
compiler is going to want to enforce things like accessibility rules. If
Jil currently allows access to private members (and I can't remember
whether or not it does), that won't work. Also, some of what Jil does: it
does by performing IL analysis of code that isn't necessarily in the
current project. For example, it actually does magic to figure out whether
the return value from a property is going to be constant value, and it
does analysis of things like constructors to determine intent. Those things
won't necessarily work the same, unless a way can be found to do equivalent
functionality. Core-CLR already has to make some compromises here, because
IL of other methods isn't as readily available (although I have some code I
need to try, there) - so it won't be a first. Likewise, Rosyln potentially
provides access to much of that info, but only for in-project code.
On 9 December 2015 at 15:24, Allan Lindqvist<EMAIL_ADDRESS>wrote:

I havent looked super closely at the code yet, but do you think it would
be possible to codegen all the tricks that jil does to speed up
serialization? i have my own internal hobby project were i've been thinking
about codegening serializers but it hasnt really materialized into
something useful and i wasn't aware of jil at the time, so i'm curious to
learn from this project :)
—
Reply to this email directly or view it on GitHub
https://github.com/kevin-montrose/Jil/issues/88#issuecomment-163289914.

--
Regards,
Marc


Remove incubator

What is the purpose of the change
remove incubator
Brief changelog
some config files
Verifying this change
ci pass
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

I think maybe there are also "incubating" that should be removed :)

done by https://github.com/apache/dubbo/pull/4161/commits/5365219d530efe68cf8f5c0e817d4306accb699a

Please take a look at  https://github.com/apache/dubbo/blob/master/DISCLAIMER
@beiwei30


Conflict detection for one object (for one DynamoDB table)

Is this feature request related to a new or existing Amplify category?
api
Is this related to another service?
No response
Describe the feature you'd like to request
Hi,
Is it possible to set Conflict Detection just for one object (for one DynamoDB table) ?
Because currently it is ON / OFF for the whole schema.
Describe the solution you'd like
Custom configuration.
Describe alternatives you've considered
Manual DynamoDB configuration modification.
Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request

Would this feature include a breaking change?

[ ] ⚠ This feature might incur a breaking change

I just realized that we can set a _version member to a GraphQL object and use this to query or update with _version equality checking.

Hey @rudyhadoux, we recommend using the Datastore API for updates and can you please let us know your exact use case so that we can recommend you the better approach?
Also, please call the Get operation before the update operation.

GraphQL API suits me. But the conflict detection is ON / OFF for all objects. Why all objects ?

Hi @rudyhadoux, We offer the capability to sync one model through selective sync feature. Could you please refer to the selective sync feature and let us know if it works for your scenario.

Yes but with DataStore. I have to continue with GraphQL API.
Why is this feature not available for GraphQL API ?

Hi @rudyhadoux, we currently only provide out-of-the-box conflict detection and resolution for all the @model objects in the schema which is meant to be used together with Amplify DataStore.


Update to Glide-Symfony 2

I have updated PR with github actions and updated tests. All actions are failing for now as this package requires glide-symfony, which is not tagged yet.

@reinink can we get a release at some point or is this package abandoned?

This package isn't abandoned, we'll release.

When will this be merged? This is blocking us from updating your CMS to support Laravel 9.0

When will this be merged? This is blocking us from updating your CMS to support Laravel 9.0

You can just use the symfony adapter. All this package does is providing an alias.

@tgalopin @reinink Is it possible to get this merged in and released? I have a package that depends on this and I'd prefer just to have to update the version rather than refactor to the symfony adapter :-). Thanks!


Issue with failed rows for checks like duplicates

This is causing the sync with Soda Cloud.

I was able to replicate this issue using the reference data check:
checks for retail_customers:
  - values in country_code must exist in ref_countries iso:
    name: Ensure valid country codes

Gives this output:
(soda-cl-v3.0.0b15) $soda scan -d aws_postgres_retail uploaderror.yml
Soda Core 3.0.0b15
Empty file upload detected, not sending Content-Length header
No fileId received in response: {'code': 'invalid_empty_upload', 'message': 'File uploads may not be empty'}
Soda cloud error: Could not upload sample failed_rows
  | 'fileId'
Scan summary:
1/1 check PASSED:
    retail_customers in aws_postgres_retail
      values in country_code must exist in ref_countries iso [PASSED]
1 errors.
Oops! 1 error. 0 failures. 0 warnings. 1 pass.
ERRORS:
Soda cloud error: Could not upload sample failed_rows
  | 'fileId'
Sending results to Soda Cloud

Another example:
checks for dim_gift:
   - row_count = 551573989
   - duplicate_count(transaction_id) = 0

Results in this:
soda scan -V -d dwh_2020 -c C:\Users\dasher\.soda\configuration.yml C:\Users\dasher\soda_bigquery\checks.yml
Soda Core 3.0.0b15
Reading configuration file "C:\Users\dasher\.soda\configuration.yml"
Reading SodaCL file "C:\Users\dasher\soda_bigquery\checks.yml"
Scan execution starts
C:\Users\dasher\.venv\lib\site-packages\google\cloud\bigquery\client.py:535: UserWarning: Cannot create BigQuery Storage client, the dependency google-cloud-bigquery-storage is not installed.
  warnings.warn(
Query dwh_2020.dim_gift.aggregation[0]:
SELECT
  COUNT(*)
FROM dim_gift
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Making request: POST https://oauth2.googleapis.com/token
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Query dwh_2020.dim_gift.transaction_id.duplicate_count:
WITH frequencies AS (
  SELECT transaction_id, COUNT(*) AS frequency
  FROM dim_gift
  WHERE transaction_id IS NOT NULL
  GROUP BY transaction_id)
SELECT *
FROM frequencies
WHERE frequency > 1;
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Empty file upload detected, not sending Content-Length header
No fileId received in response: {'code': 'invalid_empty_upload', 'message': 'File uploads may not be empty'}
Soda cloud error: Could not upload sample dim_gift_transaction_id_failed_rows
  | 'fileId'
  | Stacktrace:
  | Traceback (most recent call last):
  |   File "C:\Users\dasher\.venv\lib\site-packages\soda\soda_cloud\soda_cloud.py", line 113, in upload_sample
  |     file_id = self._upload_sample_http(scan_definition_name, file_path, temp_file, temp_file_size_in_bytes)
  |   File "C:\Users\dasher\.venv\lib\site-packages\soda\soda_cloud\soda_cloud.py", line 143, in _upload_sample_http
  |     return upload_response_json["fileId"]
  | KeyError: 'fileId'
Scan summary:
2/2 queries OK
  dwh_2020.dim_gift.aggregation[0] [OK] 0:00:01.630912
  dwh_2020.dim_gift.transaction_id.duplicate_count [OK] 0:00:01.610153
1/2 checks PASSED:
    dim_gift in dwh_2020
      duplicate_count(transaction_id) = 0 [PASSED]
        check_value: 0
        failed_rows_sample_ref: soda_cloud 2x(0/0)
1/2 checks FAILED:
    dim_gift in dwh_2020
      row_count = 551573989 [FAILED]
        check_value: 438952718
1 errors.
Oops! 1 error. 1 failures. 0 warnings. 1 pass.
ERRORS:
Soda cloud error: Could not upload sample dim_gift_transaction_id_failed_rows
  | 'fileId'
  | Stacktrace:
  | Traceback (most recent call last):
  |   File "C:\Users\dasher\.venv\lib\site-packages\soda\soda_cloud\soda_cloud.py", line 113, in upload_sample
  |     file_id = self._upload_sample_http(scan_definition_name, file_path, temp_file, temp_file_size_in_bytes)
  |   File "C:\Users\dasher\.venv\lib\site-packages\soda\soda_cloud\soda_cloud.py", line 143, in _upload_sample_http
  |     return upload_response_json["fileId"]
  | KeyError: 'fileId'
Sending results to Soda Cloud
Error while executing Soda Cloud command response code: 400
{
  "code": "invalid_request",
  "message": "Failed request validation on the following properties:\nchecks[1].diagnostics.failedRowsFile.reference: may not be null\nchecks[1].diagnostics.failedRowsFile.reference: may not be null"
}
Open Telemetry: Skipping non-soda span 'BigQuery.job.begin'.
Open Telemetry: Skipping non-soda span 'BigQuery.getQueryResults'.
Open Telemetry: Skipping non-soda span 'BigQuery.job.begin'.
Open Telemetry: Skipping non-soda span 'BigQuery.getQueryResults'.

Already have a PR for
No fileId received in response: {'code': 'invalid_empty_upload', 'message': 'File uploads may not be empty'}

I'm not sure the fix also fixes:
Error while executing Soda Cloud command response code: 400
{
  "code": "invalid_request",
  "message": "Failed request validation on the following properties:\nchecks[1].diagnostics.failedRowsFile.reference: may not be null\nchecks[1].diagnostics.failedRowsFile.reference: may not be null"
}

I'll check that later
@albinkjellin Are these also things I should look into?
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types

Open Telemetry: Skipping non-soda span 'BigQuery.job.begin'.
Open Telemetry: Skipping non-soda span 'BigQuery.getQueryResults'.
Open Telemetry: Skipping non-soda span 'BigQuery.job.begin'.
Open Telemetry: Skipping non-soda span 'BigQuery.getQueryResults'.

Note to self: use tests/integration/test_samples_integration.py to try and reproduce the
Error while executing Soda Cloud command response code: 400
{
  "code": "invalid_request",
  "message": "Failed request validation on the following properties:\nchecks[1].diagnostics.failedRowsFile.reference: may not be null\nchecks[1].diagnostics.failedRowsFile.reference: may not be null"
}

Thanks for the quick response on this! The:
Invalid type NoneType for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
Is not as urgent.

@albinkjellin I couldn't reproduce Invalid type NoneType for attribute value, Is there a way you can provide the configuration.yml?

@albinkjellin  can you please test/check with 3.0.12 and re-open if this is still not working?


Default API sorting

Hi guys. I was requesting a change in another project for default Trakt list sorting and the developer informed that the Trakt list returned is fixed by the Trakt api and it doesn't allow requesting sort methods other than "Watch list".
Basically the problem is when a list is requested from Trakt it is sorted by "Rank" which must be the api default however "Recently Added" is the preferred sort option which is also the Trakt website default.
Can you please consider changing your api default sort from "Rank" to ""Recently Added". Thanks

Couldn't un-link mention in post. Closing issue and re-opening duplicate.


how to query route table use admin interface

when i use RDS to create the route table dynamic， but i want to know the route table in envoy runtime, how can i do that?

You can't, this is a feature request.


How do I debug if I am getting 'Error' ?

Guys,
I am trying this plugin today, but I am at loss of trying to debug the error I am getting. How do I debug if there is any issue? All I am seeing is 'Error'.
Here is the code I am using (straight copy from sample)
window.plugins.intentShim.startActivity(
        {
            action: "window.plugins.intentShim.ACTION_VIEW",
            url: 'http://www.google.co.uk',
        },
        function() {},
        function(param) {
            alert('Failed to open URL via Android Intent: ' + JSON.stringify(param));
        }
    );

All I am getting is: Failed to open URL via Android Intent: "Error". I open adb logcat but not seeing anything there either.
  Please see the startActivityBrowser() method at https://github.com/darryncampbell/plugin-intent-api-exerciser/blob/master/www/js/index.js#L119 for an example.

Lol... that's embarassing... it works but that's not my app actual use case... I need to open 3rd party app, here is a code sample from the app developer...
//java code sample from developer
Intent sendIntent = new Intent("mpay.apps.mpayconnect.REQUEST");
sendIntent.setType("text/plain");
sendIntent.putExtra("CALLBACK", "action.yourapp.CALLBACK");
startActivity(sendIntent);

How would I do this using this plugin? I asked the developer but they couldn't care less about cordova integration...
Btw, your plugin works with the standard actions ... feel free to close this if you think it is not appropriate to ask this question here... this is an excellent plugin.

Something like the following should work based on your java code:
window.plugins.intentShim.startActivity(
        {
            action: "mpay.apps.mpayconnect.REQUEST",
            type: 'text/plain',
            extras: {
               'CALLBACK': 'action.yourapp.CALLBACK' //  the callback is a string?
            }
        },
        function() {},
        function(param) {
            alert('Failed to open URL via Android Intent: ' + JSON.stringify(param));
        }
    );

Hmm..., that's actually my first try... before I changed it to window.plugins.intentShim.ACTION_VIEW to test whether the plugin is functioning... (which proven working because it is able to open the browser)..
When I use the code above all I got is Failed to open URL via Android Intent: "Error"
No exception or error log in adb logcat either. It would be helpful if there is stacktrace or exception thrown so that it is easier to see what the issue is.

That could happen if no application has registered to receive mpay.apps.mpayconnect.REQUEST (https://github.com/darryncampbell/darryncampbell-cordova-plugin-intent/blob/master/src/android/IntentShim.java#L417) but you might want to run the application in Android Studio and debug it to be sure what is going on - most of the other errors I can see have associated logcat messages

Okay... I will find another way to debug this... I am suspicious about that action too...
I am actually a C# developer, and I want to avoid going to Android Studio and debug the plugin as I am really know nothing about Android development... setting up the development environment alone could take a day (if I am lucky)... I have even abandoned Java almost 10 years ago... ... but I probably have no choice I guess...
I will close this as this is not an issue with the plugin... I will update this thread if I found something that is related to the plugin...  thanks for your time... really appreciate it...