Context for Security Considerations

Related to #6, I was just curious if there was a good place to find context around security considerations in general. I have some thoughts/questions regarding this being a privileged action, but before I do that I wanted to know if there was a good sum up of what the potential dangers actually are. Given OTS, do all security concerns basically boil down to fingerprinting? Or is there some additional things to worry about?

Hi again @tolmasky, I'm not aware of a general resource.
I recommend taking a look at the Features restricted to secure contexts site as a starting point to see what other APIs require secure contexts.  Each of those APIs will most likely include in their specifications sections on security and privacy concerns indicating their security considerations.

I have some thoughts/questions regarding this being a privileged action, but before I do that I wanted to know if there was a good sum up of what the potential dangers actually are. Given OTS, do all security concerns basically boil down to fingerprinting? Or is there some additional things to worry about?

Fingerprinting, authenticity of the code executing on behalf of the origin, and secure transmission of user data are at least some of the additional security considerations we have in mind.

Hi @chasephillips,
I've seen that page before, and its partially where my confusion comes from. I can totally understand caring about the authenticity of the code executing on behalf of the origin with relation to payments and push notifications, but I just don't see the danger with something as basic as font enumeration. Getting a list of fonts just doesn't seem to raise any red flags for needing such a heavy-handed restriction as top-level frames and Secure Contexts (with the aforementioned sole exception perhaps of fingerprinting).
Given that there seem to be no explicit easily enumerable "security dangers" beyond fingerprinting, I would much prefer if this was not a restriction that was placed on this feature, which would greatly reduce some of the cooler applications (embedded editors that make use of font-menus, etc.). If the only problem is fingerprinting, we could think of alternate ways of resolving this, whereas if there exist other known problems, then something his heavy-handed may be more justified.
It would also feel weird to the user that a document editing top-level site might have a font menu with all their fonts, but an embedded editor in their blog editor does not. What's worse, is that we already have an entire variety of really hacky ways of establishing installed fonts (loading two divs with different fonts and comparing the sizes). So all this would really accomplish is falling back to these methods for "polyfills", and given that these already exist, it might be perceived that its not even worth it to "upgrade" to this new API: why would you use a new API that only works some of the time, when you can continue using an old script that works "all the time"?

It's great to hear that you're interested in using this API.  However, it appears we differ significantly on our approach to security/privacy.  I wouldn't try to convince you of the potential dangers from fingerprinting on the web platform, but obviously because we consider fingerprinting as potentially dangerous, we've designed this API with protections in mind like a permission prompt, secure context requirement, and only available on the top-most frame by default:

Permission prompt -- the browser will show a permission prompt to a user that gives the user the ability to allow or deny a site access to the list of installed local fonts.  Users can determine for themselves whether they wish to allow a site to get access to this data.  I believe you agree that this feature should only be provided behind a permission prompt.

Secure context -- for the permission prompt the browser shows the user to mean something, the browser has to establish the identity of the site so the user can trust what the browser displays in the permission prompt.  Otherwise a user that would only grant access to a specific verified site could be tricked into granting access to an unverified site claiming to be that verified site.  The secure context grants the permission prompt meaning.  This means unverified sites can't use the feature, but this is a small cost to pay if it means verified sites can establish a trust relationship with browsers and users.  If you're aware of another way to verify a site and to ensure only verified sites can use this API besides a secure context, please let me know.

Top-most frame by default -- this requirement allows a site to ask for the capability while embedding iframes from other sites that the site wouldn't otherwise want to convey the permission to.  In the example you give, an iframe-embedded editor in their blog editor would only not have the list of fonts if the blog editor doesn't convey the local-fonts permission.  Resolving that requires the blog editor to change their iframe element's allow attribute to grant that permission, which I presume they would do if they wanted to use an iframe-embedded editor.  Can you confirm that would resolve the issue you raise with top-most frames?  Are there other use cases that this change restricts?

Hi Chase,
I'm not sure how you've reached the assessment on how much we differ on our approach to privacy and security, given that I have so far mainly been asking about your approach and trying to get a clear idea of what the perceived dangers are, and have only listed capabilities that would be set back for context. I started the conversation wishing to know if there were known issues beyond just fingerprinting, which is completely accomplishable today by doing manual font-detection. Unfortunately, it seems that we are actually still at this extremely early (and theoretically simple) part of the conversation, as I still have no gotten a straight answer on whether fingerprinting is the only concern, or if there are others.
I assure you that if there was a clear place where the actual dangers could be outlined, specifically whether there are any beyond fingerprinting, and additionally how fingerprinting is made any worse with this API given, as I already mentioned, there are already manual techniques for detecting fonts how this API exacerbates fingerprinting in any meaningful way, we might find that our security and privacy approaches actually don't differ at all and I may very well be completely swayed to your side.
Regarding your specific points:

Permission prompt - no, currently I am not convinced at all about permission prompts and in fact believe that it could potentially be destructive for security. Without a clear understanding of the specific security concerns, I think adding a permission prompt for something as seemingly trivial as font detection (to the user) will IMO simply add on to the confusion of the plethora of prompts users already receive and are increasingly trained to not read and simply click OK to. IMO adding a prompt for this (without understanding the security context) could actually decrease the security of other more important features as we've repeatedly seen that user's get trained to just click away these prompts, and if you for example first throw up a font prompt, followed by a camera prompt, the user might just give more permissions to the site than they want as they just try to fight to get to their content. Prompts are only effective (beyond a mere plausible deniability tool for the browser maker) if they are used sparingly and meaningfully.

Secure context - the argument for this rests on the argument for the above. So sure, if I'm convinced we need a permission prompt then I guess I'd be fine requiring a secure context.

I think I am fully satisfied with the allow attribute you mention.

I want to attempt once more in good faith to express my position: I do think security is important, I merely think, lacking context beyond fingerprinting, that the current strategy will encourage more misuse. There are already effective methods for font detection today. Most users end up using browser APIs through other frameworks. If a user has the option between a library that works without user prompt, and is backwards compatible to older browsers, vs. one that has the potential to fail if the user clicks "no", then they will have little to no incentive to use this new API. This is a very different situation that something like the camera API where there was no existing usable standards-based implementation already heavily used in the wild. With the camera API, you could be as onerous as you'd like since 1) it was the only way to get access to the camera, and 2) there are obvious security concerns beyond ad tracking.

There are multiple threads going at once.  To make progress, I propose we break them up and work through them one-by-one.  Let's work on the first thread now: what are the potential dangers with this new API?

Unfortunately, it seems that we are actually still at this extremely early (and theoretically simple) part of the conversation, as I still have not gotten a straight answer on whether fingerprinting is the only concern, or if there are others.

I'm sorry, admittedly, I thought I answered this already in https://github.com/inexorabletash/font-enumeration/issues/7#issuecomment-527764794: Fingerprinting, authenticity of the code executing on behalf of the origin, and secure transmission of user data.  No, fingerprinting is definitely not the only concern!
OTS helps to eliminate some of the danger, but it's possible that a problem could be triggered with a specially-crafted local font that OTS doesn't handle which exposes local font data into a JS-based font stack and that problem triggers a deeper security problem in the JS-based font stack.
Yes, manual font detection exists in the web platform today.  There are multiple techniques to manually detect fonts and success isn't guaranteed... results vary based on approach, the attempted font list, and browser implementation.  This new font enumeration API can give a complete list of local fonts.  Fingerprinting success depends on how many bits of entropy can be gathered, so if a complete list gives more bits of entropy than manual font detection and does so all of the time, the difference causes the fingerprinting danger to increase.  This means that the fingerprinting problem with the font enumeration API should be considered different from fingerprinting with manual font detection techniques.
Some other dangers with the proposed API:

If the permission prompt text doesn't correctly communicate the danger of granting API use to a site, the user may get confused and improperly allow access when it wasn't intended or deny access when it was intended.

Adding any permission prompt requires considering user permission prompt fatigue.  As users become exposed to more prompts, they may not be able to correctly assess the prompt.

Users with many local fonts will trigger enumerating a large number of local fonts in the browser which could overload system resource usage.  The API is designed to mitigate this using async iterators, but there could be performance concerns if an implementation isn't careful, which could lead to security issues like DOS'ing a browser.

Does this address your first question?
Some of these have been mentioned already in the explainer and security/privacy questionnaire.  I'll make a note to add any that aren't there already.

Hey Francisco, gentle ping on https://github.com/inexorabletash/font-enumeration/issues/7#issuecomment-539749438 in case it flew by and you didn't catch it.  Thanks!

Hi @chasephillips, yes I have a longer form response that I haven't had time to finish yet. I'll try to get it posted in the next few days. Thanks!

SG, will keep an eye out.

Hi Francisco, any updates here?

Hey @chasephillips, will attempt to get to this today or tomorrow. Also -- if you are based in the bay happy to meet in person to discuss more or even a phone call.

Hi @chasephillips,
I agree that there are a number of issues floating around here. If you will be attending CAB, I can try to make it to this upcoming one and an in-person dicussion might be more productive. That being said, here are few direct responses:

In my experience, having worked to implement manual font-detection recently, I have found it to be fairly successful. I agree that it's difficult (or perhaps more accurately, annoying) to implement, but you only have to implement it once. Ironically enough, I believe it is more than successful enough for finger-printing, but leaves something to be desired for legitimate use (which is why I think its unfortunate that we will be putting up obstacles for legitimate use that IMO won't really make a difference for the finger-printing case).
The main argument here is that using current methods it is trivial to come up with 100 bits of entropy with fonts. Critically, long-tail information (like a custom font that only one user on earth has) is actually not really useful for finger-printing, since its not likely you will be able to store that "bit" (since, by definition, its a font you've never heard of). A known existing set of less than 1000 "common" (but not installed by everyone) fonts is more than sufficient to efficiently track most people you're interested in. My main point here is that if font finger-printing is really a concern, then it is certainly already in use today, and I remain unconvinced that this API will affect it either way.

The OTS dangers still seems confusing to me. If we are actually worried about this, I feel like there is the more pressing issue that a "specially crafted" font could "trigger a deeper security problem in the JS-stack" just through usage of @font-face right? The local attack vector, if I understand correctly, involves initially tricking a user to install a bad local font which you then hope gets loaded on some website. It seems like it would be much easier to deploy such an attack by hosting such a font on typekit -- you would potentially attack many more users that way too. But again, perhaps I just don't fully understand this attack vector.

I have a number of thoughts regarding the very helpful security/privacy questennairre, but it occurs to me that there may be a more pertinent compromise that may explain the differences of where we're coming from. For some context, I was at Apple when the original @font-face proposals were beginning to be agreed upon and implemented, over 10 years ago, and it is highly disappointing to me that to this day these APIs are so fickle to use that the entire spec more or less really serves as a vehicle to make Adobe money through TypeKit since that is the most reasonable way for most developers to not have to deal with the headache of custom fonts. Even worse, 10 years later, there is a backlash against custom fonts (the "native font stack" movement since the swap-in experience is so poor). I would like to not see something similar happen to this API which I believe could actually be critical for the web.
At the end of the day I just find it very unfortunate that to do something as simple as simple as appropriately use Helvetica or Arial depending on which is installed, we have to go through the same super-secure process as an API that gives you access to a completely custom and secret font the user owns. So perhaps a different framing of the issue is that there's kind of two use cases: a "simple" common fonts query that would be sufficient for a vast majority of websites, and an "advanced" completely comprehensive font query. As long as both of these use cases are meant to be served by one API, it's going to lead to frustrating results IMO. But perhaps there is a way to serve the two uses cases differently.
So, for example, if Chrome has a list of "well known public fonts", such as Helvetica, Arial, SF Pro, Helvetica Neue, Roboto, ..., Zapfino, etc., then all of these would be considered safe and calling fonts.enumerate() would return UsersFonts.intersection(WellKnownPublicFonts). This would on day one safely greatly enhance the experience of many web apps -- anyone making an image-editing tool, presentation software, or word processor would provide an almost first-class experience out of the box. Now, if the user eventually wants to use their very private "My Corporate Font" or whatever, then the website could call fonts.enumerate({ all: true }) which would present the permission dialog, and give them access. This would serve the progressive enhancement model: you get pretty good functionality out of the box, its OK that the user has to work a little harder for a unique situation. Essentially MyGraetDrawingApp could have a user configurable setting of whether to use the advanced enumeration or not. Additionally, Chrome's own settings page could allow the user to add additional fonts to their "global safe fonts" list if the user makes their own custom font that they don't care about being private and don't want to have to go through the trouble of enabling on every website.
A few notes:

The public font check could use name/checksumming of well known fonts to quickly and accurately determine the set of fonts the API returns by default. That is to say, Chrome knows the checksum of Helvetica on Mac for example, so it won't inadvertantly publicize a font that happens to be named Helvetica.
I believe this handles the concerns with DOS as well, as the know font list determines the absolute upper bound of permissionless font enumeration requests.
This means the vast majority of sites will probably never even ask for this permission, which is great since user's won't become accostumed to seeing it a bunch (as has happened with the notifications permission).

Again, I'd be happy to discuss in person if you think it would be helpful.


/hello route to 9080 and not 80.

Change the /foo route port number to 9080

@spencergibb Please review.

I want it to be non-existant for a reason, to show you could supply a port via a query parameter.


make User-Agent cleaner

@rultor release, tag is 0.15.4

@rultor release, tag is 0.15.4

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.15.4

@yegor256 Done! FYI, the full log is here (took me 9min)


Added app version to feedback emails

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


The metric field should be editable after a value is selected

Describe the bug
The Metric field in the Defined Metrics table is currently not editable (and greyed out) once a value is selected from the dropdown. The field should always be editable just like how other fields (e.g. Site, Target) work.
To Reproduce
Steps to reproduce the behavior:

Go to the Experiment Stepper's Metrics step, click on the Metric field and select any value (e.g. totalTimeSeconds).
Try to change the value by clicking on the field again. You won't be able to edit it.

Expected behavior
The Metric field should always be editable just like how other fields (e.g. Site, Target) work. And it should not be greyed out and there shouldn't be a dotted underline below the value.
Screenshots

Current design:

Expected design:

@zackcl  It was similarly implemented earlier in separate monitored metrics page. The reason for this is that the next set of auto complete values depend upon the previously selected value. In case we keep all 3 visible together at once, it might create an issue when a user might click in the last dropdown, which would not load and also if they change the previous dropdown the next dropdown values might become invalid. This is the reason why we do lock or disable any selected Metric or Key and  the user has to delete the metric row in case they want to update the metrics.

A video showing how metrics can be editable. The placeholder "Metric" showing in red color indicates that the user has deleted the previously typed metric name:
https://user-images.githubusercontent.com/90279765/179601533-85b28518-c4e2-456d-98a3-00cd538f940b.mov


Convert strings for example epc(LK-14589) to Bytes for writeEPCword method how do I achieve this in python API?

call bytes.fromhex(hex)
We have added a method in the j421xlib.py called Hex2Bytes() to do that. Get the source code j421xlib.py.
Regards,
Mansur

"LK-14589" is not Hex string, Hex2Bytes() does not work since it accepts hex strings, mine is pure ascii string. I tried many different variations try to convert this but none of my approaches work. could you provide me code snippet to convert ascii string to 2 byte EPC word for WriteEPCWord()

I think you want a method to write a ASCII document as bytes. We will
provide that.
On Thu, Sep 28, 2023, 3:41 AM Krishna-de @.***> wrote:

"LK-14589" is not Hex string, Hex2Bytes() does not work since it accepts
hex strings, mine is pure ascii string. I tried many different variations
try to convert this but none of my approaches work. could you provide me
code snippet to convert ascii string to 2 byte EPC word for WriteEPCWord()
—
Reply to this email directly, view it on GitHub
https://github.com/jence/j4210u-app/issues/22#issuecomment-1738639074,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGODGLY5HKOOA42PF5XNHLX4USZXANCNFSM6AAAAAA5I7YLKI
.
You are receiving this because you commented.Message ID:
@.***>

Thanks would be great

Two new methods have been added:
Ascii2Bytes()
Bytes2Ascii()
These will do the conversions from one type to another.
Regards,
Mansur


23.3.1 - Dark Theme not installable

Description
Using DBeaver on Mac I am not able to install "Darkest Theme" on version 23.3.1.
23.3.0 works without any issues.
DBeaver Version
23.3.1
Operating System
No response
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Linux also:

It is an issue in Darkest Dark plugin - it is not fully compatible with Eclipse 2023-12 platform.
Hopefully they will release a fixed version soon.
Workaround: add Eclipse 2023-09 update site to repositories and enable "Contact all update sites" checkbox.

Got to Install new Software dialog.
Copy paster Eclipse 2023-09 - https://download.eclipse.org/releases/2023-09/ into Work with field.
Click "Add ..."
Go back and select Darkest Dark Theme in Work with.
Turn on "Contact all update sites during install to find required software" enabled
Install

It is an issue in Darkest Dark plugin - it is not fully compatible with Eclipse 2023-12 platform. Hopefully they will release a fixed version soon.
Workaround: add Eclipse 2023-09 update site to repositories and enable "Contact all update sites" checkbox.
* Got to Install new Software dialog.

* Copy paster `Eclipse 2023-09 - https://download.eclipse.org/releases/2023-09/` into Work with field.

* Click "Add ..."

* Go back and select `Darkest Dark Theme` in Work with.

* Turn on "Contact all update sites during install to find required software" enabled

* Install

@serge-rider this worked like a charm :) Thanks!

@valsamis-d As a rule of thumb, DBeaver is mostly using the latest Eclipse version. There may be a 1-2 week delay between Eclipse and DBeaver release, but it's true in most cases.

It is an issue in Darkest Dark plugin - it is not fully compatible with Eclipse 2023-12 platform. Hopefully they will release a fixed version soon.
Workaround: add Eclipse 2023-09 update site to repositories and enable "Contact all update sites" checkbox.
[...]

It worked! Thanks.

I am glad that worked, I am going to convert the issue to discussion due to it being third-party.


Check predict syntax for new album in ML regression lesson (018)

Currently, the track_name column gets dropped before sending the new_album to the predict() function. Is this necessary? Will R throw and error or silently ignore the column? if the latter, can skip the negative subsetting to make the lesson simpler.

Not necessary to exclude the column. Updated in https://github.com/jcoliver/learn-r/commit/b83f64703a6ab666082ba12e4996af182161c4b9.


ComfyUI-Griptape prevents ComfyUI startup due to LMStudio access attempt

ComfyUI-Griptape attempts to access services like LMStudio during startup, but sometimes there's no response, which prevents ComfyUI from launching.
After waiting for more than 10 minutes without successful startup, I commented out the relevant section.
I use Claude, so this part is unnecessary for me.
I was able to launch the application by commenting out the following:
[ComfyUI-Griptape/__init__.py]
# from .nodes.config.gtUILMStudioStructureConfig import gtUILMStudioStructureConfig
# from .nodes.config.gtUIOllamaStructureConfig import gtUIOllamaStructureConfig

# # - LM Studio
# from .nodes.drivers.gtUILMStudioChatPromptDriver import gtUILMStudioChatPromptDriver

# # - Local
# from .nodes.drivers.gtUILocalVectorStoreDriver import gtUILocalVectorStoreDriver

# - Ollama
# from .nodes.drivers.gtUIOllamaEmbeddingDriver import gtUIOllamaEmbeddingDriver
# from .nodes.drivers.gtUIOllamaPromptDriver import gtUIOllamaPromptDriver

    # "Griptape Agent Config: LM Studio": gtUILMStudioStructureConfig,
    # "Griptape Agent Config: Ollama": gtUIOllamaStructureConfig,
    # "Griptape Prompt Driver: LM Studio": gtUILMStudioChatPromptDriver,
    # "Griptape Prompt Driver: Ollama": gtUIOllamaPromptDriver,
    # "Griptape Embedding Driver: Ollama": gtUIOllamaEmbeddingDriver,
    # "Griptape Vector Store Driver: Local": gtUILocalVectorStoreDriver,

Ah, I see the error - will clean it up now & push out a new release shortly. Thank you!

Just pushed a fix!


Only works with gifs

Command that caused the error
all
Image that caused the error
anything other than gifs
Steps to reproduce

try any command on non gif
wait for output
returns error

Self-hosted instance?
Yes
Error file
Message: Magick: no decode delegate for this image format `' @ error/blob.c/BlobToImage/458

Stack Trace: undefined

Additional context
No response

Can you run magick -version and post the output?

Closing until OP responds.


Fargate

This PR updates the fargate deployment example with working end-end.  still WIP and a few parts are still deployed manually that include: codebuild project to build config image.  parameter store secrets used in task definition.   aws terraform user for deployment.

Reference Server Preview is available here:https://anchor-ref-pr366.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr366.previews.kube001.services.stellar-ops.com/


Is there a way that's been documented anywhere for deploying this without building anything locally?

In production environments like docker swarm, you cannot build a container and can only pull containers. Is there a way in which someone could deploy this with environment variables, and it just will sort itself out without having to git clone build and run?

#141 and #142 are feature requests geared towards making this possible from a straight docker pull.
Would it be helpful to have instructions on how to push your own image to your own container registry (like Docker Hub)?

Pushing containers is relatively easy, but maintaining your own private or public containers would litter up the registry with redundancy.  I also wonder how much of the settings for the Postgres container would get pushed from the local compile.


Add Release Drafter for the repository

Current Situation
Each of the layer5 repositories needs releaseDrafter automation as had been done in the meshery project which takes care of drafting release notes.
Desired Situation
Add ReleaseDrafter configuration yaml file & GitHub Action.

Additional context
Release drafter configuration file
Rlease drafter Github action

A PR was merged to this effect 9days ago, so I’ll close now.


Add redis core license change

From: BSD-3-clause
To:  Redis Source Available License (RSALv2) or Server Side Public License (SSPLv1).
On March 20, 2024

For reference:

https://web.archive.org/web/*/https://redis.com/blog/redis-license-bsd-will-remain-bsd/
https://redis.com/blog/redis-adopts-dual-source-available-licensing/

Can you make a PR? https://github.com/caniszczyk/rugpulls.dev/pulls


Please CHECK CHEBI:209271

Hi Adnan,
Please check CHEBI:209271 somaliensene A as it is needed for a Rhea reaction with an EC number.
I have attached a structure that is less messy than the current.
I tested my structure in the submission tool, but there were no warnings even though it has the same InChIKey as the existing structure.
CHEBI_209271.txt
The structure is found in MetaCyc CPD-26715
and is described in pmid:29553734
Best wishes,
Kristian

Now Checked.


Black/White triad/tetrad?

Does it make sense?
In order to dress in black and white.

Closing for now


Font colours are not visible - Enhancing the font colors

Home Page font colors are not getting in sync with the website theme. sometimes, the text and the background colors are the same and then the text gets zero visibility.
Looking on to working on the same. Kindly assign this to me.

You can start working on this issue @shreegowtham27

can i work on these?


tokenise() assumes a specific property enumeration order

In order to run webidl2.js in a JS_MORE_DETERMINISTIC build of SpiderMonkey, I had to change
var ..., types = []
for (var k in re) types.push(k);

to:
var types = ["float", "integer", "identifier", "string", "whitespace", "other"];

http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order


El Capitan Update

I know it's still time til El Capitan will be officially released, but Goofy isn't showing the chat list on the left on El Capitan. Composing is also not working.
Thanks!

I'm having the same issue. Chat history does not show and will not refresh. Though on mine, the last used chat window is open with history intact, but composing a message (new or in the open chat window) are not working.

+1 can confirm this

Latest Patch from Apple fixed the issue for me. El Captain had an issue with 32-bit applications that the latest update resolved. If the others can verify, we can close this problem.

I installed the latest patch as well, but no change for me

Patch installed. Seems fine until now in my case.

Patch installed, no change for me.


BUG FIX: Correct spacing next to symbols when styles switch.

Two nodes were sharing a list of classes, which led to the style
change applying multiple times. Fix that.
(This is my bug, from the original spacing PR.)

Cc @kevinbarabash

@kohler thanks for noticing the issue and fixing it so promptly.


Duplicated --extra-index-url in requirements

I'm utilizing uv to speed up my current dev environment. Basically, I operate on pyproject.toml and plain requirements* files.
I want to use uv to speed up the process of compiling the requirements files via pip-compile.
Minimum reproducible example would be this:
pyproject.toml:
[project]
name = "foo"
version = "0.0.0"
requires-python = ">=3.10"
dependencies = [
    "requests==2.32.3"
]

[project.optional-dependencies]
dev = [
    "ruff==0.6.8",
]

Now, I have two separate requirements files:

requirements.txt which contains my package dependencies
requirements-test.txt which contain my package dependencies + dev dependencies like ruff, mypy etc - for CI jobs (ran via tox, but this doesn't matter)

Okay, so in order to compile/generate those both files I run:
uv pip compile --upgrade --build-isolation --emit-index-url --output-file=requirements.txt pyproject.toml
uv pip compile --upgrade --build-isolation --emit-index-url --extra=dev --constraint=requirements.txt --output-file=requirements-test.txt pyproject.toml

(UV_EXTRA_INDEX_URL env variable defined)
I've added --emit-index-url here, becaue pip-compile adds the index URLs by default and I also want them here with uv.
The requirements.txt comes out just as I want it to:
# This file was autogenerated by uv via the following command:
#    uv pip compile --build-isolation --emit-index-url --output-file=requirements.txt pyproject.toml
--index-url https://pypi.org/simple
--extra-index-url https://foo.bar/simple

certifi==2024.8.30
    # via requests
charset-normalizer==3.4.0
    # via requests
idna==3.10
    # via requests
requests==2.32.3
    # via foo (pyproject.toml)
urllib3==2.2.3
    # via requests

However, the second file has duplicated extra index URLs:
# This file was autogenerated by uv via the following command:
#    uv pip compile --build-isolation --emit-index-url --extra=dev --constraint=requirements.txt --output-file=requirements-test.txt pyproject.toml
--index-url https://pypi.org/simple
--extra-index-url https://foo.bar/simple
--extra-index-url https://foo.bar/simple

certifi==2024.8.30
    # via
    #   -c requirements.txt
    #   requests
charset-normalizer==3.4.0
    # via
    #   -c requirements.txt
    #   requests
idna==3.10
    # via
    #   -c requirements.txt
    #   requests
requests==2.32.3
    # via
    #   -c requirements.txt
    #   foo (pyproject.toml)
ruff==0.6.8
    # via foo (pyproject.toml)
urllib3==2.2.3
    # via
    #   -c requirements.txt
    #   requests

Now, this is probably not a problem per se, but is undesired. If I remove the --extra-index-url line from requirements.txt (after running the first command) and then run the second command, the --extra-index-url lines in requirements-test.txt are not duplicated. It's like uv pip-compile takes that extra index url from the requirements.txt, adds it to the other file, but then also adds the URL from the env variable (or the other way around, but still).
Am I doing something wrong? And if not - would you consider fixing that? I mean, pip-compile doesn't do that, when using pip-compile, I have one --extra-index-url line per requirements file.
It kinda looks like a simple duplication check (when adding --extra-index-url to the requirements file) would suffice.

Yeah what you're seeing is roughly right: when you pass --constraint=requirements.txt, we read the --extra-index-url from the requirements.txt (which is correct), and then we also read the variable from your environment. I think it makes sense to dedupe these, though.

It's not the end of the world, currently I went with this solution and I have these duplicated, but I also agree that this should be deduped (and after I glanced at the code it looks like it could potentially be an easy fix - not a Rust expert tho)


retire an application copilation

Edited and reviewed author's contributions to the new document.
Updated links from build, deploy and maintain apps
created new link on index to include retire an application (instead of the coming soon message)

Hi @NickCorcoran is there a chance you could help us and comment if we are missing any information on the ###communication section of this document with regards to retiring an application process?  Thank you for any information you'd like to add.

Added comments from Nick and revisions! good to go!


Quantization in TVM

This PR introduces a new framework for quantization to TVM. For details and explanation of the code structure, please see https://discuss.tvm.apache.org/t/rfc-quantization-quantization-in-tvm/9161.
Please let me know if you have any questions or comments.
Also, I'd like to thank @mbrookhart and @jwfromm for their mentorship on this project!

@electriclilies Can you add an end to end runnable example? Like importing a pytorch or onnx graph and quantize it.


How to use with third-party software?

Hi there:
The case is that I'm using a webgl engine (BabylonJS) in one of my cross-platform developments.
My code loads textures, in the form of PNG files, using a specific API, like this:
texGeneric=new BABYLON.Texture("assets/textures/Generic.png",_Scene);
...

This works perfectly.
Also, I need to load a cube map/environment in the form of a DDS file, using this other API:
texEnvironment=BABYLON.CubeTexture.CreateFromPrefilteredData("assets/textures/environment.dds",_Scene);

This doesn't work.
Internally CreateFromPrefilteredData uses XHR, so when ported to a plain Cordova-iOS it can´t find the DDS file, as WKWebView appears to treat local files as if they came from a remote server, even though they're in the app itself, and such requests are blocked.
In this case I thought cordova-plugin-wkwebview-file-xhr could make it work but, when used, the app can't find the (previously working) local files as it output in the remote debug console from Safari:
Cross origin requests are only supported for HTTP.
I have also this relevant output in Xcode:
2018-04-02 12:15:30.245199+0200 GRB Technology[1165:700339] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
2018-04-02 12:15:30.248572+0200 GRB Technology[1165:700339] Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service
Any clue on this? Do I need to add "http://" or something at the beginning of PNG paths?
Thanks for your time.

@vortice3D The cordova-plugin-wkwebview-file-xhr has a restriction of only allowing readonly access to files under the "www" folder of the applications bundle.  This is a signed secure part of the file system that cannot be altered once the application is installed.  Is the "asserts" folder located under "www" within the cordova application or is the file located on a remote endpoint?
Try enabling "full" plugin logging.  The logging is made to the JavaScript console log of the webview.

Hi gvanmat, and thank your for your time.
My folder tree is this:
www
└-----/assets
└-----/libs
└-----/scripts
└-----/styles
└ index.html
Best regards.

@vortice3D  The file structure looks good.  You will need to enable full logging to give some insight into what's failing.

Well, gvanmat...excuse my lack of experience in this but, how can I enable such a "full" plugin login?

Excuse me. Wrong button!!

@vortice3D You need to edit your config.xml found in the same root folder as www adding the following parameter:
<preference name="NativeXHRLogging" value="full"/>

Thanks gvanamt.
Is estrange, but the addition of the preference directive seems to do nothing, as I get the same remote console log than I got before (but not show in this thread):
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Monomando.babylon.manifest?1522682768175. Cross origin requests are only supported for HTTP.
checkManifestFile (babylon.3.1.custom.min.js:32:24533)
t (babylon.3.1.custom.min.js:32:23392)
_loadData (babylon.3.1.custom.min.js:32:2007)
Append (babylon.3.1.custom.min.js:32:3894)
_create (vortice3d.grb-bjs.js:121)
Engine3D (vortice3d.grb-bjs.js:845)
(función anónima) (grb.js:57)
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Termostatico.babylon.manifest?1522682768176. Cross origin requests are only supported for HTTP.
checkManifestFile (babylon.3.1.custom.min.js:32:24533)
t (babylon.3.1.custom.min.js:32:23392)
_loadData (babylon.3.1.custom.min.js:32:2007)
Append (babylon.3.1.custom.min.js:32:3894)
_create (vortice3d.grb-bjs.js:122)
Engine3D (vortice3d.grb-bjs.js:845)
(función anónima) (grb.js:57)
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Monomando.babylon.manifest. Cross origin requests are only supported for HTTP.
(función anónima) (babylon.3.1.custom.min.js:32:24505)
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Termostatico.babylon.manifest. Cross origin requests are only supported for HTTP.
(función anónima) (babylon.3.1.custom.min.js:32:24505)
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Monomando.babylon. Cross origin requests are only supported for HTTP.
h (babylon.3.1.custom.min.js:3:12095)
LoadFile (babylon.3.1.custom.min.js:3:12366)
_ (babylon.3.1.custom.min.js:32:1848)
i (babylon.3.1.custom.min.js:32:23856)
(función anónima) (babylon.3.1.custom.min.js:32:24514)
[Error] XMLHttpRequest cannot load file:///var/containers/Bundle/Application/3685B4EA-BF39-4ABD-90B1-514825761447/GRB%20Technology.app/www/assets/models/Termostatico.babylon. Cross origin requests are only supported for HTTP.
h (babylon.3.1.custom.min.js:3:12095)
LoadFile (babylon.3.1.custom.min.js:3:12366)
_ (babylon.3.1.custom.min.js:32:1848)
i (babylon.3.1.custom.min.js:32:23856)
(función anónima) (babylon.3.1.custom.min.js:32:24514)
[Error] BJS - [17:26:08]: Unable to load from ./assets/models/Monomando.babylon: 0
(función anónima) (cordova.js:1731)
_ErrorEnabled (babylon.3.1.custom.min.js:3:19303)
c (babylon.3.1.custom.min.js:32:3794)
(función anónima) (babylon.3.1.custom.min.js:32:1878)
onreadystatechange (babylon.3.1.custom.min.js:3:12081)
[Error] BJS - [17:26:08]: Unable to load from ./assets/models/Termostatico.babylon: 0
(función anónima) (cordova.js:1731)
_ErrorEnabled (babylon.3.1.custom.min.js:3:19303)
c (babylon.3.1.custom.min.js:32:3794)
(función anónima) (babylon.3.1.custom.min.js:32:1878)
onreadystatechange (babylon.3.1.custom.min.js:3:12081)
[Error] ReferenceError: Can't find variable: nulll
_createScene (vortice3d.grb-bjs.js:209)
notifyObservers (babylon.3.1.custom.min.js:3:3626)
_checkIsReady (babylon.3.1.custom.min.js:11:23164)
(función anónima) (babylon.3.1.custom.min.js:11:23041)
The case is that this WebGL Engine uses a specific JSON file in order to describe scenes (meshes + lights + animations +...). In my code I have two of these JSONs, namely Monomando.babylon and Temostatico.babylon.
Well now (with the use of cordova-plugin-wkwebview-file-xhr) I can´t load them, but remember that before adding this plugin I could load them, and also the PNG textures, but not the CubeMap style DDS textures (as this last is loaded by the WebGL Engine using a XHR mechanism). This last issue was the problem who bring me to use cordova-plugin-wkwebview-file-xhr.

@vortice3D Sounds like you are going to need to do some debugging to determine why the cordova-plugin-wkwebview-file-xhr plugin is not being loaded.  It might also be that the babylon script library is loaded before the plugin-wkwebview-file-xhr plugin.  You should be able to attach the Safari browser to the application running in the XCode IDE.

I see.
In index.html I've just changed the  to a position before the , but I get the same console output:
(Excerpt)
"XMLHttpRequest cannot load file:///var/containers/Bundle/Application/E00CC1C9-7EB4-4828-826B-8270625C142C/GRB%20Technology.app/www/assets/models/Monomando.babylon.manifest?1522685023139. Cross origin requests are only supported for HTTP."

BTW, reviewing my config.xml file, I can see the line
<plugin name="cordova-plugin-wkwebview-file-xhr" spec="^2.1.1" />
,
but nothing about the dependent cordova-plugin-wkwebview.
Anyway, the two are listed when a cordova plugin list is done.

@vortice3D I think the issue is the babylon APIs are using synchronous uses of XMLHttpRequest versus async.  I see places in the code like:
var i = new XMLHttpRequest;
i.open("get", r.href, false);
var s = i.responseText.replace....

The third argument async has a value of "false".
The XMHttpRequest polyfill doesn't currently support synchronous calls.  However, it might be possible to implement with Safari 10.1 supporting await.

@vortice3D The snippet of code I posted before is loading CSS. I don't think the images are loaded via XMLHttpRequest but rather some other technique using the browser. Whatever method is being used by this library to load images, it's not XMLHttpRequest or the Fetch API.
Unfortunately, fixing the synchronous send is not going to be a complete solution.

@vortice3D I debugged thru the babylon.js some and found the method it's using to load images. The method is LoadImage.  They are creating an Javascript Image Object, setting the src to the target URI and adding "load" event listeners.  This would be outside the scope of the cordova-plugin-wkwebview-file-xhr.

Hi gvanmat:
First of all I wish to thank you very much your interest and support with this issue.
Ok, I know BJS is using that LoadImage API in order to "load the plain images", when I call BABYLON.Texture but as said I can load that textures (PNG files in my case) w/o problems under browser, Cordova-Android and Cordova-iOS platform.
The problems arises (only on Cordova-iOS), with the loading of environment textures, under the form of a DDS file, by means of BABYLON.CubeTexture.CreateFromPrefilteredData. BJS guys said me this behavior is because the engine is using an XHR loading mechanism in such a case.
Well, I'll let you know any advance on this.
Thanks for your time.


How to set state for Bottomsheet fullscreen

I try to set state of Bottomsheet to fullscreen by set steps = height of screen of device
        var heightScreen = Screen.mainScreen.heightDIPs
        setTimeout(() => {
            let actionBarHeight = evt.object.getActualSize().height
            var height = heightScreen - actionBarHeight
            console.log('heightScreen: ' + heightScreen); //640
            console.log('actionBarHeight: ' + actionBarHeight); //56
            console.log('height: ' + height); //584

            if (isIOS) {
                let bottomSafeArea = application.ios.window.safeAreaInsets.bottom
                height= height - bottomSafeArea - 25
            }
            this.appService.bottomSheetSteps = [75, height / 2, height]
        }, 200);

But bottomSheet show unexpected. I have try in Samsung Galaxy S6 and Pixel 2 Emulator

Expected:

@minhson95th you cant doing that way. The reason is that the persistent bottomsheet is added to the child view beneath the actionbar. So it will never go on top of it.
For that you need a custom actionbar and add the bottomsheet to the parent of the actionbar

No, i don't want bottomsheet on top of action bar, i mean how to calculate height of bottomshet from below of actionbar to down for all device, look like picture

@minhson95th you either use the getMeasuredHeight of the parent use Device.mainScreen.heightDips and removes status bar, action bar, navigation bar...
BTW you should ask that kind of question on Discord, more people could be able to help as it is not a question related to the plugin itself but more to N


Jenkins instance experiencing increased rates of 503s

There's reports that links to development and PR branch jobs pages in Jenkins result in 503s (service unavailable) between March 25 and March 28. Job execution in progress is not blocked, but seems to be preventing contributors from executing or monitoring the status of their builds

We noted that CPU was hitting a sustained 99% usage during this period of time, including increased network usage.

In addition, we're seeing API calls coming from certain IP addresses at increased rates during this time

Blocking the IP addresses that had increased API calls seems to have reduced CPU usage:

503 error rates have also gone down in response
Tracing the IP address and the API calls, It appears to be coming from LF LFX, and I've opened a ticket with their support team to investigate further


[Task]: Create a proposal document for persistent queries and js objects for a triggered workflow.

Notion Doc: https://www.notion.so/appsmith/How-to-persist-archived-actions-once-they-are-deleted-ec210162e3a847d49e39cd2c1862d10c


Support for opening Tunnels (via WebSocket, etc)

Apparently the pod-exec API is WebSocket based, so websockets need to be available for use to make that API work.  https://github.com/cloudydeno/deno-kubernetes_apis/issues/2
The performRequest() interface allows for request and response streaming, so the primary change here might simply be adding an upgrade flag.
The larger work will be supporting kubectl API emulation because it will be API-specific. How the websocket and kubectl both behave will impact how easily the websocket can be emulated on a dev laptop. This will likely be a second pass but might get bundled into the same version if the pod-exec API goes smoothly.

It was brought up in another issue that Deno's WebSocket client does not support attaching arbitrary HTTP headers such as Authorization when opening a connection: https://github.com/denoland/deno/discussions/9891#discussioncomment-1010206
I also suspect that WebSocket doesn't allow passing a Deno.HttpClient which complicates HTTPS validation.
So it's not clear how Deno would be able to connect to basically any Kubernetes control plane with a WebSocket.

Regarding kubectl proxy and WebSocket:
$ kubectl proxy --help | grep exec
      --reject-paths='^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach': Regular expression for paths that the proxy should
reject. Paths specified here will be rejected even accepted by --accept-paths.

The pod/exec and pod/attach APIs are explicitly blocked by default by kubectl proxy. If you pass a different regex then you'll be able to open a pod/exec WebSocket just fine through kubectl proxy.
Given that Deno cannot do WebSocket with an InClusterConfig / token auth until arbitrary ws headers are added, kubectl proxy --reject-paths='^.$' seems like the only way to actually make pod/exec or pod/attach API calls

So, given that Deno Websocket is quite limited and Kubernetes doesn't actually like it (preferring SPDY and eventually h2), it seems it would be best to cut out the middleman and support the k8s 'tunnel' primitive directly. The only other reason to open a websocket would be a /proxy/ API which is really workload specific and doesn't benefit much from this library.
So I'll make this issue here more specific to tunnels, which will then enable kubernetes_apis to return tunnels for attach and exec.
Tunnels will also be easier to polyfill with 'kubectl exec' because there's less pretending to do. Unfortunately things like sizing the remote tty won't be possible in the polyfill.
Tunnels seem to be little more than a bundle of channels: stdin and sizing from the client, then stout/stderr/status from the server. It should be pretty clean to return a bundle of w3c streams and that will be good preparation for WebSocketStream once Demo ships it + header/httpclient flexibility.

Turns out that Kubernetes allows for sending bearer-auth tokens via fake WebSocket subprotocols: https://github.com/kubernetes/kubernetes/pull/47740

Marking this closed since 0.6.0 and 0.7.0 have added a workable amount of tunnel support.


Make TediCross able to forward messages from Discord to a Telegram channel instead of a group

TediCross currently enforces integral Telegram chat IDs. Channels have names, and the bot can therefore not send messages to channels.
This should be an easy fix

I'm having no success adding a bot to my test channel. Is this possible?

Got it into my test channel

Strange thing... Channels are supposed to have chat ID @channelName, but that won't work with my test. Putting the bot in the channel, sending a message, and manually getting updates for the bot reveals that it has an integral chat ID, just like groups. Using this ID works
Aquiring this ID is done as follows:

Stop TediCross (or use another bot)
Go to the channel in question and add the bot as an administrator

Click on the channel's name, and then "Administrators" under "Members", and then "Add administrator" at the bottom
Enter the bot's username and click it. Give it whatever rights you want

Go to the URL https://api.telegram.org/botTOKEN/getUpdates (with your actual bot token substituted for "TOKEN")
In the response you see a chat ID under result[0].channel_post.chat.id. Put this ID into settings.json`

This does mean it has apparently always worked, so no code update is necessary

but I get {"ok":false,"error_code":404,"description":"Not Found"} when I went to URL https://api.telegram.org/botTOKEN/getUpdates with my bot token

The issue @amirnilchi2017 had was resolved in chat. He substituted the whole botTOKEN instead of just TOKEN with the token

For future readers, the approach for getting the char ID of a channel has been massively simplified. It now works the same way as getting the chat ID for any other chat


No events detection for buttons on RPi

Just bought this product: http://www.adafruit.com/product/1110
It works like a charm but something is bugging me..
Right now it seems that the only possible way to detect button presses is by using is_pressed() on a busy waiting loop. Needless to say this is highly inefficient.
This request involves 2 projects (this one and Adafruit_GPIO). I've looked into both the code of this project and of Adafruit_GPIO, and it seems that the use of  GPIO.RPiGPIOAdapter in the MCP (instead of GPIO.BaseGPIO) would be more appropriate in the case of using a RPi, because it supports the events features not included in the current code.
I've tried to do this myself but I don't quite understand the code in Adafruit_GPIO/MCP230xx.py since it's my first time playing around the gpio. I'm not quite sure if it's a valid request or if I should submit it on the Adafruit_GPIO project instead.

yeah ideally we should have designed it with an interrupt output :/

Ah yep looking at the schematic unfortunately the interrupt pins aren't routed to GPIO on the Pi that we could read.  However, I wouldn't fret too much about the performance of polling for button presses.  Since the calls are made over the I2C bus which only runs at 100khz the Pi CPU will be waiting for IO from the bus most of the time so there shouldn't be too much of a CPU hit while polling.

Thank you for the quick response.
I didn't know about the I2C restrictions, but still, thank you for checking it up.
Hmm, I was planning to use my Pi as a headless mini server, using this display as a limited physical interface. That's why I would have prefered a more cpu-efficient way to deal with inputs since they are really secondary in my case...
I think I'll just make some sort of "input sleep mode" in my application where it takes some long sleep cycles between input checkups, until it's waked up by a button's long press.. then it'll switch to active polling... and go back to sleep mode after some time of inactivity. :)


armadillo: 10.5.3 -> 10.6.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/armadillo/versions.
meta.description for armadillo is: "C++ linear algebra library"
meta.homepage for armadillo is: "http://arma.sourceforge.net"
meta.changelog for armadillo is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 10.6.1 with grep in /nix/store/8h8vyy739qicvdfs3lxdbqsmagpw2vyx-armadillo-10.6.1

found 10.6.1 in filename of file in /nix/store/8h8vyy739qicvdfs3lxdbqsmagpw2vyx-armadillo-10.6.1

directory tree listing: https://gist.github.com/ae2c9be98e929c22a2150aa3271a52f7

du listing: https://gist.github.com/a28656602c8dffd1338ff77fe8e10e49

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
armadillo
gnss-sdr
openmolcas

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8h8vyy739qicvdfs3lxdbqsmagpw2vyx-armadillo-10.6.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A armadillo https://github.com/r-ryantm/nixpkgs/archive/6ff4bc5883218ec8c4ad97e161238ac8c49ed14c.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8h8vyy739qicvdfs3lxdbqsmagpw2vyx-armadillo-10.6.1
ls -la /nix/store/8h8vyy739qicvdfs3lxdbqsmagpw2vyx-armadillo-10.6.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

armadillo
gnss-sdr
openmolcas

Maintainer pings
cc @juliendehos @knedlsepp for testing.

Result of nixpkgs-review pr 130741 at 6ff4bc58 run on aarch64-linux 1

2 packages built successfully:

armadillo
gnss-sdr

Tested. LGTM


collate

Coverage remained the same at 78.72% when pulling 502ea096a8a8a703b8160d6592f0202493d64011 on Pengyuz:master into 35cbb0442fcae12ae4869475f2f3a93c02bf8e52 on CS2103AUG2017-W09-B3:master.


Fix value of CMAKE_SYSTEM_PROCESSOR on windows when using CMake < 2.8.11

This commit had a workaround implemented in CMake 2.8.11 (Kitware/CMake@add8d22a)
to ensure the variable is properly set with older version of CMake.

Integrated in 6868bdec6


Custom strongly typed property sets

Hello there,
I have a question about property sets. Currently, getting things out of a property set involves calling one of the TryGet* Methods that takes an out parameter. Is the reason for not having a single overload or throwing is because of compatibility with the other Uwp languages?
I made a small extension method for getting values directly since i cant use out parameters in a c# expression, but it would be nicer to be able to create your own subclasses of CompositionPropertySet  with strongly typed properties. So my main question is, is there anything special going on with CompositionPropertySet (or CompositionObject) that has to be done in order to make a property animatable? Like registration similar to dependency properties or something like that. Or is it just a regular property? I tried to do some reflecting but i cant see past the winmd files :/ I assume its possible somehow since i suppose that is what the Insert* methods are doing.

Looking into this a bit more this doesnt seem possible at the moment, CompositionPropertySet is sealed, since its a WinRT class but CompositionObject doesnt seem to have a public constructor, there doesn't seem to be any deriving from that either.. Is there a particular reason that is not allowed?

The reason why creating your own CompositionObjects isn't allowed is the unique way the Composition API is structured, which has to do with one of its strengths. The reason we are able to render everything quickly and efficiently yet still providing a flexibility of options is because all the work is done in the system compositor, the DWM. However in order to do that, there needs to be a communication mechanism between a user's application and the compositor process. This communication mechanism is the API itself. Most objects created with the API are tracked by the application and the DWM. This is nearly the same architecture used in the v1 of the composition API named Direct Composition (although the entire system has been evolving over time). You can read more about the basic ideas of the architecture here. Note that the article is still in reference to Direct Composition, but it is still an interesting read.

I see, thanks for the link!
I do think there is value in having statically typed properties though, but i think i can do that with a wrapper class that you can derive from. That could also be a place to put setter methods, since at the moment it seems like the only way to change a value in a propertyset is to animate it. (right?)

You should be able to call Insert again using the same name it should update the value without having to write an animation. Thanks for the feedback, we'll keep it in mind!

ah, cool :)


Add support for inline comments

Hi,
It would be nice to add the rule for:
https://github.com/twigphp/Twig/pull/4349
I have an error:
Unable to tokenize file: Unexpected character "#" at line
Thanks!

Could you try the PR https://github.com/VincentLanglet/Twig-CS-Fixer/pull/341 ?
Does it work for all your inline comments ?


container.registerForStoryboard subclass of AVPlayerViewController fails

On tvOS, I have several view controllers that I inject into. This is from latest xcode7.1 branch.
        container.registerForStoryboard(MainViewController.self) { r, c in
            c.app = r.resolve(App.self)
        }

        container.registerForStoryboard(VideoViewController.self) { r, c in
            c.app = r.resolve(App.self)
            c.video = r.resolve(VideoService.self)
        }

        container.registerForStoryboard(MetadataViewController.self) { r, c in
            c.app = r.resolve(App.self)
        }

        container.registerForStoryboard(ChannelsGuideViewController.self) { r, c in
            c.app = r.resolve(App.self)
        }

and then
        let storyboard = SwinjectStoryboard.create(name: "Main", bundle: bundle, container: container)
        window.rootViewController = storyboard.instantiateInitialViewController()

VideoViewController, MetadataViewcontroller, and ChannelsGuideViewController are all embedded in MainViewController. Injection fails on VideoViewController if it subclasses from AVPlayerViewController. Inside of     internal func runInitCompleted<C: Controller>(controllerType: C.Type, controller: C, name: String? = nil) I can see that normally, controllerType is set, however it is nil for the subclass of VideoViewController.
This seems related to https://github.com/Swinject/Swinject/issues/10

What does "injection fails" mean? Did the container return nil or crash? Can you provide a small simplified project to reproduce the issue?

I'll investigate this issue after Nimble issue 208 is resolved because it's easier to write a unit test for tvOS after the issue is fixed.

Reproduced by changing the super class of AnimalViewController to AVPlayerViewController defined in the unit tests.
Only tvOS target reproduces the issue. controllerType in runInitCompleted method does not resolved to AnimalViewController type if the super class is AVPlayerViewController. It looks dynamicType property does not return the actual type at runtime.

tvOS with Xcode 7.2 beta 1 still has the issue.

Merged. Version 0.4.1 will include the fix. Thanks, @jondwillis, for submitting the issue.


Optimize storybook

I want to merge this change because it shortens the time needed to build storybook by ~30%.
Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Database queries are optimized and the number of queries is constant.
[ ] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] GraphQL schema and type definitions are up to date.


STARTUP BACKEND & SERVE CLIENT

STARTUP BACKEND & SERVE CLIENT
Acceptance Criteria
GIVEN a text editor web application
WHEN I run npm run start from the root directory
THEN I find that my application should start up the backend and serve the client

Application starts up the backend and serve the client.


Connect on server via IP:PORT

Please tell me where to fix the code so that I can connect the bot to my real server via IP: PORT? I beg you very much.

You can't.


⚠ Bofrost.es has degraded performance

In 918d13c, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1526 ms

Resolved: Bofrost.es performance has improved in f18861e after 6 minutes.


False positives

Your framework is very well built. I'm using the framework on both video and images and while single faces are ok...when using multiple faces or videos i get a lot of false positives.
is there a way to fine tune the detection ?

Hi karneaud,
there are several ways to reduce the number of false positives:

Limit detector resolution: Set the size of the canvas you want to perform detection on as small as possible (i.e. increase the minimum size of the faces you want to detect).

Threshold by confidence value: For each detected face, the detector returns an array [x, y, width, height, confidence]. The confidence is an integer starting from 1 indicating the number of nearby individual detections that have been grouped together into one result. You could eliminate detected faces with a confidence value below a certain threshold (see https://github.com/swozniak/googlifier for an example). The threshold could e.g. depend on detector canvas resolution and your stepsize.

Separate detection from tracking: E.g. use a high threshold to detect new faces and a low threshold to track a face that has already been detected (see file:///C:/Users/Martin/git/js-objectdetect/examples/example_gesture_input.htm). Bayesian filtering could come in handy to determine which detection at time step t+1 corresponds to an already confirmed detection at timestep t. Alternatively, use the camshift algorithm for tracking (see https://github.com/auduno/headtrackr for an implementation) once you have detected a new face with high confidence.

Use skin color information: Similar to the camshift algorithm, you could make use of color information (js-objectdetect runs on grayscale images only). Skin color can e.g. be defined as a specific range of RGB-values or inferred via histogram backprojection from an already detected face with high confidence value. See http://staff.eng.bahcesehir.edu.tr/~cigdemeroglu/papers/international_conference_papers/C_ICASSP2011.pdf for the simple but seemingly effective RGB based method, as well as the camshift algorithm mentioned above (which also shows you how to do histogram backprojection).

There are some additional parameters to tune, e.g. enable histogram equalization or make use of the canny edge detector and eliminate detections within regions of low edge density. While these functions are already builtin to the library, they are not available yet through the relatively simple detector interface since the performance or precision gain is usually low.


TOC Scroll

TOC won't scroll properly to the Header clicked on.

Check to see what the window value is before and after the lazily-loaded component's load. Compare the height's and go from there.


Making FinRL use GPU

FinRL doesn't seem to recognise and use a GPU on my PC. Other machine learning algorithms based on Tensorflow do recognise and use it. Any word of advice on how to force FinRL to use a GPU for DRL model training?

From which library you are using the RL models? SB3, RLlib or ElegantRL

I believe it's SB3 - as per here
https://github.com/AI4Finance-Foundation/FinRL/blob/master/FinRL_StockTrading_NeurIPS_2018.ipynb

Then it must be using GPU or Cuda enabled device. As per https://github.com/DLR-RM/stable-baselines3/blob/master/stable_baselines3/ppo/ppo.py#L90, you can see the default is auto which is for GPU. If it is not detecting for a certain reason, then you can pass the device argument while declaring the model. For example
PPO(policy,env...., device='cuda')
But it should detect if Cuda-enabled GPU is present or not. If you are running on a local machine, make sure you have a proper torch with cudnn and cuda installed.

Then it must be using GPU or Cuda enabled device. As per https://github.com/DLR-RM/stable-baselines3/blob/master/stable_baselines3/ppo/ppo.py#L90, you can see the default is auto which is for GPU. If it is not detecting for a certain reason, then you can pass the device argument while declaring the model. For example PPO(policy,env...., device='cuda') But it should detect if Cuda-enabled GPU is present or not. If you are running on a local machine, make sure you have a proper torch with cudnn and cuda installed.

Thank you. It's still not working. I am on a local machine. Torch is reporting NO cuda even though there is cuda on the system.


PERF: Omit SELECT @@ROWCOUNT; when we are executing just a single statement

Should be able to use ExecuteCommand and check rowsAffected instead of ExecuteReader.

If we decide to do this, let's check it will make an actual perf difference.


Null reference exception in JobDriver_ExtractGrowerProduct

Describe the bug
A user experienced a NullReferenceException message when extracting a pawn from the vat. The report from Steam Workshop gave this stacktrace:
JobDriver threw exception in initAction for pawn Grub driver=JobDriver_ExtractGrowerProduct (toilIndex=3) driver.job=(QE_ExtractFromGrowerJob (Job_4563749) A=Thing_QE_PawnVat928027) lastJobGiver=Verse.AI.ThinkNode_QueuedJob
System.NullReferenceException: Object reference not set to an instance of an object
at QEthics.Building_PawnVatGrower.ExtractProduct (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
at QEthics.JobDriver_ExtractGrowerProduct.<MakeNewToils>b__1_0 () [0x00000] in <filename unknown>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00000] in <filename unknown>:0

Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Expected behavior
All pawn extractions from the cloning vat should either work or fail giving the user an error message with info on why it failed. More nulll validation checks are needed.
To Reproduce
Unknown.
Additional context
Thanks to 'dragonslayer' on Steam Workshop for reporting.

I've found a way to reproduce this error and have updated the Issue description. Working on a fix.

bc3513a61f8d8917e695749ae55ca3f1803c5179 and f56435932c8e5f16bc2ac735d9acb068c9688d9d should fix this issue.


Jamendo "WARNING: unable to extract duration"

Checklist

[x] I've verified and I assure that I'm running youtube-dl 2018.12.17
[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Output
$ youtube-dl -v https://www.jamendo.com/track/592180/winter-dreams
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.jamendo.com/track/592180/winter-dreams']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.12.09
[debug] Python version 3.7.1 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[Jamendo] winter-dreams: Downloading webpage
WARNING: unable to extract duration; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://flac.jamendo.com/?trackid=592180&format=flac&from=app-97dab294'
[download] Vladimir Sterzer - Winter Dreams-592180.flac has already been downloaded
[download] 100% of 12.62MiB

$ youtube-dl -v -g https://www.jamendo.com/track/592180/winter-dreams
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-g', 'https://www.jamendo.com/track/592180/winter-dreams']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.12.09
[debug] Python version 3.7.1 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
WARNING: unable to extract duration; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[debug] Default format spec: bestvideo+bestaudio/best
https://flac.jamendo.com/?trackid=592180&format=flac&from=app-97dab294

Description of your issue, suggested solution and other information
youtube-dl is warning me that it can't find a duration. It still manages to download the file and show its URL.

I guess I've fixed it in 615b0193b80ff63fdd5036f3ccde4bd80591cbd0, however it's my first contribution to youtube-dl and I'm not sure what I did is perfect (but tests pass)
Note that the duration could also be found in a json in the webpage. However I've encountered issue with this.
I've tested two songs (one of them was already in the youtube-dl tests), and the relevant variable in the json was PT0.21S for the one lasting 210s, and PT0.141S for the other, lasting 141s. This seem very inconsistent and I don't really understand what's going on. It may be a problem internal to Jamendo.
However, the duration is also in another place in the page, in a more convenient format (210 or 141 for example) and I've decided to use this instead.
I'm writing this in case the duration extraction break again.


Automate creation of open-mic anouncements and sessions

It was partially done here -- Post open-mic announcement

@blcham So this can be closed, right?

Yes, thanks.


Suggestion: the command choc without option or json file executes Usage fonction

the  output of the command choc without option or json file isn't explicit

Return the output of the help command should be confortable.

fix in 0.1.10


feat: allow importing all items of a module with *

Feature Request
Describe the Feature Request
Allow this feature:
fn f(){}
fn h(){}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_f(){
       f()
    }
 }

This would reduce a lot the amount of LOC required to simply have all the required items to perform unit tests. The requirement to handle manually all imports to day is a deterrent to implement a proper module-based structure for unit tests

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

[ ] Yes
[ ] No

+1

Done on 2.9.0 already.


Improve tooling detection of file changes caused by generation

This issue follows up on https://github.com/prisma-labs/nexus/pull/230#discussion_r329192399. If there is a better way for file changes caused by generation to be picked up by VSCode than what we're currently doing, let's definitely do that.
@Weakky can you share more about this?

We found that for VSCode to properly refresh generated typings, it's best to first delete the file and then write it again. Deleting/writing seems to trigger a vscode hook that removes the bug where vscode would not properly refresh the typegen unless you manually walked into that file

Since we don't have plugins with typegen integration yet we should also port this idea to nexus-prisma.


Feed entries must contain

If no author is set, this will output <author><name></name></author>.
Feed validator will recommend not having a blank name, but this will validate where previously it would not, because <author> is a required child of <entry>
Fixes #146
/cc: @dret @zixia

@jekyllbot: merge +minor


Narcotics Audit for Chicago Reader

Some data visualization using D3, a paginated version of CSV to HTML, links to all our checks in clickable URLs and a writeup about our results.

Do we want this merged into master before the checks list is updated?

I am okay with this being on our main site for now. The text on the webpage does mention that this is a live document and a work in progress.

Looks good - merging in


Increase refresh interval

I was wondering, why everyone is making requests to prices every 30 seconds, now i see that from your config. Please, increase it to 1 hour.

No need


Chat Statefulness

Adds statefulness for Chat

moves URLs to /w/[wId]/u/chat/[cid]
a new chat session id is created when opening the app (but chat not stored until there is a response from the assistant)
chats can be accessed by other users from the workspace (in readonly mode)
a title for the chat is generated after each assistant response

Next step in follow-up PR:

list previous chats in the landing of the app

Deploy:

run initdb
deploy front
Run on front DB: DROP INDEX runs_workspace_id_app_id_run_type;

@lasryaric r? look I used ajv !

Also added an index on ..., createdAt on Run which is probably the one where we really need an index as there might be a lot of runs. That makes up a big-ish (4 dimensions) but I guess that's fine.
Sequelize won't drop the index for us so updated the deploy procedure.


Should provide useful information on capture

Some useful information should be available after a form has been captured, this way direct links to the CMS could be provided in an email etc.

Added this in new versions. (2.2.0 & 1.1.0)


Add the Free Internet Chrome Plugin

@hackernoon have recently released a Chrome plugin that removes paywalled articles from Google's search results.
The suggestion is to also add it to the respective section in this list.

I don't think this is quite in the spirit of "breaking paywalls" so it's not a constructive tool for combatting paywalls, i.e. https://github.com/iamadamdev/bypass-paywalls-chrome


[CHORE]: SystemD script for starting Chroma at boot time

Description of changes
Summarize the changes made by this PR.

New functionality

New example of a systemd script to start Chroma (with docker compose) upon system boot

Test plan

[x] Tested in EC2 Debian 12

Documentation Changes
Examples updated
Ref: https://discord.com/channels/1073293645303795742/1239966987593977909

#2198  👈
main

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

Join @tazarov and the rest of your teammates on  Graphite


Issue with theme/token colors, css variables are not defined

Current Behavior
Theme/Token colors with the same key/name appear to be "not defined" in CSS, breaking previously working websites
Expected Behavior
No response
Tamagui Version
Broke in 1.109

Platform (Web, iOS, Android)
Web

Reproduction
https://codesandbox.io/p/devbox/rough-firefly-n9kltc?workspaceId=e575660c-ea91-4cf2-a255-d6014a7e15ee&layout=%257B%2522sidebarPanel%2522%253A%2522GIT%2522%252C%2522rootPanelGroup%2522%253A%257B%2522direction%2522%253A%2522horizontal%2522%252C%2522contentType%2522%253A%2522UNKNOWN%2522%252C%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522id%2522%253A%2522ROOT_LAYOUT%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522UNKNOWN%2522%252C%2522direction%2522%253A%2522vertical%2522%252C%2522id%2522%253A%2522clq4t6azo00063b6hajbkj1be%2522%252C%2522sizes%2522%253A%255B70%252C30%255D%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522EDITOR%2522%252C%2522direction%2522%253A%2522horizontal%2522%252C%2522id%2522%253A%2522EDITOR%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522EDITOR%2522%252C%2522id%2522%253A%2522clq4t6azo00023b6hthoisote%2522%257D%255D%257D%252C%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522SHELLS%2522%252C%2522direction%2522%253A%2522horizontal%2522%252C%2522id%2522%253A%2522SHELLS%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522SHELLS%2522%252C%2522id%2522%253A%2522clq4t6azo00033b6h28fo02rl%2522%257D%255D%252C%2522sizes%2522%253A%255B100%255D%257D%255D%257D%252C%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522DEVTOOLS%2522%252C%2522direction%2522%253A%2522vertical%2522%252C%2522id%2522%253A%2522DEVTOOLS%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522DEVTOOLS%2522%252C%2522id%2522%253A%2522clq4t6azo00053b6h0htynuqv%2522%257D%255D%252C%2522sizes%2522%253A%255B100%255D%257D%255D%252C%2522sizes%2522%253A%255B50%252C50%255D%257D%252C%2522tabbedPanels%2522%253A%257B%2522clq4t6azo00023b6hthoisote%2522%253A%257B%2522id%2522%253A%2522clq4t6azo00023b6hthoisote%2522%252C%2522tabs%2522%253A%255B%257B%2522id%2522%253A%2522cm0oc0aoe00023b6jdwd9u7m9%2522%252C%2522mode%2522%253A%2522permanent%2522%252C%2522type%2522%253A%2522FILE%2522%252C%2522filepath%2522%253A%2522%252F.devcontainer%252Fdevcontainer.json%2522%252C%2522state%2522%253A%2522IDLE%2522%257D%252C%257B%2522id%2522%253A%2522cm0oc1cvr00023b6ihsxj2w4x%2522%252C%2522mode%2522%253A%2522permanent%2522%252C%2522type%2522%253A%2522FILE%2522%252C%2522initialSelections%2522%253A%255B%257B%2522startLineNumber%2522%253A13%252C%2522startColumn%2522%253A25%252C%2522endLineNumber%2522%253A13%252C%2522endColumn%2522%253A30%257D%255D%252C%2522filepath%2522%253A%2522%252Fapps%252Fnext%252Fpackage.json%2522%252C%2522state%2522%253A%2522IDLE%2522%257D%255D%252C%2522activeTabId%2522%253A%2522cm0oc1cvr00023b6ihsxj2w4x%2522%257D%252C%2522clq4t6azo00053b6h0htynuqv%2522%253A%257B%2522id%2522%253A%2522clq4t6azo00053b6h0htynuqv%2522%252C%2522activeTabId%2522%253A%2522cm0oc3nd1000l3b6i1wynpaqs%2522%252C%2522tabs%2522%253A%255B%257B%2522id%2522%253A%2522clq4t6azo00043b6h40mtr8e7%2522%252C%2522mode%2522%253A%2522permanent%2522%252C%2522type%2522%253A%2522UNASSIGNED_PORT%2522%252C%2522port%2522%253A0%252C%2522path%2522%253A%2522%2522%257D%252C%257B%2522type%2522%253A%2522PROJECT_SETUP%2522%252C%2522id%2522%253A%2522cm0obzx7w002w3b6jcrbwyp5f%2522%252C%2522mode%2522%253A%2522permanent%2522%257D%252C%257B%2522type%2522%253A%2522UNASSIGNED_PORT%2522%252C%2522port%2522%253A3000%252C%2522id%2522%253A%2522cm0oc3nd1000l3b6i1wynpaqs%2522%252C%2522mode%2522%253A%2522permanent%2522%257D%255D%257D%252C%2522clq4t6azo00033b6h28fo02rl%2522%253A%257B%2522id%2522%253A%2522clq4t6azo00033b6h28fo02rl%2522%252C%2522activeTabId%2522%253A%2522cm0oc0wir000z3b6jdqolur22%2522%252C%2522tabs%2522%253A%255B%257B%2522type%2522%253A%2522TASK_LOG%2522%252C%2522taskId%2522%253A%2522Development%2522%252C%2522id%2522%253A%2522cm0oc0wir000z3b6jdqolur22%2522%252C%2522mode%2522%253A%2522permanent%2522%257D%255D%257D%257D%252C%2522showDevtools%2522%253Atrue%252C%2522showShells%2522%253Atrue%252C%2522showSidebar%2522%253Atrue%252C%2522sidebarPanelSize%2522%253A15.462962962962962%257D

System Info
No response

See https://discord.com/channels/909986013848412191/974145843919716412/1279459780376920190 for more info

Fixed in 1.111.8.
Thanks Nate!


NotificationEventArgs what is this?

var evtData = (NotificationEventArgs)eventArgs;
What is NotificationEventArgs? Cannot use this tutorial. Can somenody explain this?

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

ID: e1d97b06-848b-73b1-0330-f57662b5c09a
Version Independent ID: 9bb5fb04-4426-6b7a-4332-3ce86ff21b76
Content: Xamarin.Forms local notifications - Xamarin
Content Source: docs/xamarin-forms/app-fundamentals/local-notifications.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @profexorgeek
Microsoft Alias: jusjohns

Hi @edmlbox
I suggest you look at the sample that the local notifications page links to.


Error while updating the Data

i was adding a Ui to the watch and worked fine when i updated the UI with a $number variable also showed correctly.
but when sending values to the variable using updateWatchData getting some errors.
Accessing StateObject's object without being installed on a View. This will create a new instance each time.
can you just write a bit more in detail how to update with an example. this will help us better.

i get the same errors, value update works fine for me as well. only thing im having an issue with is getting more than one component to display.


feat: :bug: Do not crash if get_enclosing_chapter returns nil

Fixes https://github.com/asciidoctor/asciidoctor-epub3/issues/470
Probably not the best approach, but enough to protect from the crash.

Could we modify get_enclosing_chapter so that if it hits the inner document of an AsciiDoc table cell that it continues looking above that? This is related to (but not limited by) the point made in https://github.com/asciidoctor/asciidoctor/issues/4380.
You can find an example of accessing the parent document from a table cell here:

https://github.com/asciidoctor/asciidoctor/blob/main/lib/asciidoctor/converter/html5.rb#L1355-L1360

Please lock gepub to 1.0.15 instead as 1.0.16 is clearly broken.

In order for this to be merged, the code needs to find the chapter when starting from an AsciiDoc table cell, not just skip it. Otherwise, the metadata won't be right.

I don't see how to fix this without https://github.com/asciidoctor/asciidoctor/issues/4380. See https://github.com/asciidoctor/asciidoctor-epub3/pull/473 for an ugly workaround.

WRT gepub issue, see https://github.com/asciidoctor/asciidoctor-epub3/pull/474 and https://github.com/skoji/gepub/pull/140#issuecomment-2106238457


Fix threshold text overlapping

Move 'Bleaching Threshold' text to above the line, and move 'Historical Max' text to below the line. That way they are not overlapping.
@ericboucher

@drewjgray Even with this approach, there are cases that these two overlap. I thought of some approaches like the following:

Let me know what you think :slightly_smiling_face:


Multi-region support

Can we have multi-region support instead of supplying the region via Profile or Env variable? This will be usfull for accounts having multiple regions

I'm going to close this out as I'm not actively maintaining the tool anymore. If you need multi-region support without running it against all regions manually I would consider a more advanced tool like cloudmapper: https://github.com/duo-labs/cloudmapper


[BUG] Issue and regression with libcxx

Description / Steps to reproduce the issue
I've identified a couple of issues when using LLVM libcxx and userspace applications. This is reproducible on rv-virt:knsh with the addition of:
CONFIG_HAVE_CXX=y
CONFIG_EXAMPLES_HELLOXX=m
CONFIG_HAVE_CXX=y
CONFIG_LIBCXX=y
CONFIG_TLS_NELEM=4

The first issue is that the static constructor isn't called. For example, when running the helloxx application:
nsh> helloxx
[68719476736000.001000] CHelloWorld: Constructor: mSecret=42
helloxx_main: Saying hello from the dynamically constructed instance
[77309411328000.001000] HelloWorld: HelloWorld: mSecret=42
CHelloWorld::HelloWorld: Hello, World!!
[77309411328000.001000] CHelloWorld: Constructor: mSecret=42
helloxx_main: Saying hello from the instance constructed on the stack
[77309411328000.001000] HelloWorld: HelloWorld: mSecret=42
CHelloWorld::HelloWorld: Hello, World!!
helloxx_main: Saying hello from the statically constructed instance
[81604378624000.001000] HelloWorld: HelloWorld: mSecret=0
CHelloWorld::HelloWorld: CONSTRUCTION FAILED!
[81604378624000.001000] ~CHelloWorld: Destructor
[85899345920000.001000] ~CHelloWorld: Destructor

However, if I change the cxx standard version to CONFIG_CXX_STANDARD="c++2b", the static construct is called:
nsh> helloxx
[914828034048000.001000] CHelloWorld: Constructor: mSecret=42
[923417968640000.001000] CHelloWorld: Constructor: mSecret=42
helloxx_main: Saying hello from the dynamically constructed instance
[923417968640000.001000] HelloWorld: HelloWorld: mSecret=42
CHelloWorld::HelloWorld: Hello, World!!
[927712935936000.001000] CHelloWorld: Constructor: mSecret=42
helloxx_main: Saying hello from the instance constructed on the stack
[927712935936000.001000] HelloWorld: HelloWorld: mSecret=42
CHelloWorld::HelloWorld: Hello, World!!
helloxx_main: Saying hello from the statically constructed instance
[932007903232000.001000] HelloWorld: HelloWorld: mSecret=42
CHelloWorld::HelloWorld: Hello, World!!
[932007903232000.001000] ~CHelloWorld: Destructor
[936302870528000.001000] ~CHelloWorld: Destructor

The second issue seems to be a regression with #13110, in which exceptions are always enabled for libcxx, after this change, running any c++ application results in an IPC:
nsh> helloxx
[    2.271000] riscv_exception: EXCEPTION: Instruction page fault. MCAUSE: 0000000c, EPC: 018c0000, MTVAL: 018c0000
[    2.271000] riscv_exception: Segmentation fault in PID 3: helloxx

This is only an issue when static constructors are called, (so enabling c++2b in this example).  Reverting #13110 seems to fix this behaviour.
Running addr2line on the faulting instruction yields to results. My assumption is that there is an additional static constructor called for exception support, and this is what is causing the issue. However, I don't know enough about these layers to be sure.
Enabling CONFIG_CXX_EXCEPTION doesn't resolve the issue.
Possibly a reasonable solution to the second issue would be to revert the change which removed the CONFIG_CXX_EXCEPTION change from the libcxx build and let targets which need the library build with exception support add this option in the defconfigs?
On which OS does this issue occur?
[Linux]
What is the version of your OS?
Ubuntu 22.04 (Docker)
NuttX Version
NuttX 12.6.0-RC1 f5b50be05e Sep 17 2024 05:07:45 risc-v rv-virt
Issue Architecture
[risc-v]
Issue Area
[OS Components]
Verification

[X] I have verified before submitting the report.

@g2gps only kernel mode has this problem?

@g2gps only kernel mode has this problem?

Yes, it seems to be just kernel mode. It works with  rv-virt:libcxx using c++2b and gnu++20.

@xiaoxiang781216 could you try this patch: https://github.com/apache/nuttx/pull/13721 which restore c++ exception change.

@xiaoxiang781216 Apologies I was out of the NuttX space.
I've update our local mirror to include #13721 and can confirm that it resolves this issue.


Initial port of HintController from SJ

Mostly the same as the one from Strawberry Jam, difference being that hint dialog is now selected with a counter instead of a flag, allowing for more than two hints.  It can also optionally cycle through these automatically.

Should be good to go.  It doesn't touch any other entities etc. so if there's an issue with it we can fix it as required.


No warning generated when highway=footway (footpath, not sidewalk) is crossing another footpath

Description
I was drawing footpaths, and when I draw two separate ones that cross each other or one that crosses itself, no warning is generated that prompts me to connect these
Screenshots
No response
Version
2.2.5
What browser are you seeing the problem on? What version are you running?
Chrome 115.0.5790.173 64-bit
The OS you're using
No response
Steps to reproduce
Add a footpath to the map, then add another one that crosses it, check warnings
The browser URL at the time you encountered the bug
https://rapideditor.org/edit?#background=Mapbox&datasets=fbRoads,msBuildings&disable_features=buildings,boundaries,points&gpx=https://mwai-tasking-manager-production-api.mapwith.ai/api/v2/projects/166/tasks/queries/gpx/%3Ftasks%3D81&map=20.20/34.06410/-118.23106&photo_overlay=streetside
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
No response

I'm having trouble reproducing this.. When I draw a new footpath it does show a warning if it is crossing over other ones?

@cbeddow have you seen this recently? Pretty sure I have encountered the same issue, but haven't reproduced in the last couple of months.


[PE-D][Tester E] App - [add mod] Better error message

Steps to reproduce

Launch the app
Type add  mod CS1234 -n "Customised module" -c 2 into the command box

Expected
Error message of:
Invalid prefix / Invalid command format / Invalid command
Actual
Error message of "Code should contain alphanumeric characters and no white space"
Notes
Error message does not match the behaviour
Even though the Usage message is available after the error message, the error message might not be intuitive for users as it is not telling the users the correct reason of what is wrong with the command.
Screenshot:

Labels: severity.Low type.FunctionalityBug
original: yuxuanleong/ped#3

This looks like a bug where JCommander is trying to parse -c as the module code instead of recognizing it as an invalid flag.
Thanks for the bug report, tracking this issue with #199.


CreateTableProfileRequest requires columnProfile to be instantiated even though it is an Optional Field

Affected module
Ingestion Framework
Describe the bug
CreateTableProfileRequest has the following attributes:
class CreateTableProfileRequest(BaseModel):
    class Config:
        extra = Extra.forbid

    tableProfile: table.TableProfile = Field(..., description='Table Profile.')
    columnProfile: Optional[List[table.ColumnProfile]] = Field(
        None, description='List of local column profiles of the table.'
    )

If columnProfile is passed as null, the ingestion task fails with a 500 Internal Server Error.
Paste: https://pasteio.com/xQRDzEIkKu9B
Expected behavior
Passing null columnProfile should not cause Ingestion to fail
Version:

Python version: 3.8
OpenMetadata version: 0.12.1

@abcabhishek are you actively passing columnProfile as None or not passing the field? Given its optional field, you don't need to pass that. Which case are you getting NPE?

This works in my tests

Added a unit test here https://github.com/open-metadata/OpenMetadata/pull/9038


update readme

Signed-off-by: Dominik-Pinsel<EMAIL_ADDRESS>

I closed this PR, because we already moved to eclipse-tractusx/tractusx-edc


Integration tests

I want to create tests that have common gulp uses in order to make sure we don't break the use cases like I did in a few versions of orchestrator.

Examples include common things that people do in gulpfiles.  The tests/integration.js file already has some examples of things people do, just need more things.
I don't have a set number or anything, but the more the better

This should be good for now.  We can add regression tests when we encounter integration problems.


Allows System to access VirtualMedia in Sushy

After DMTF release a new version of their guide[1], there was an update in VirtualMedia URI.
Deprecated: /redfish/v1/Managers/{ManagerId}/VirtualMedia/{VirtualMediaId} New: /redfish/v1/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}
So, it is needed that System has access to VirtualMedia in Sushy lib to later Ironic may be able to handle this. This way, i added a property in System that it can have access to VirtualMedia instance.
[1]https://www.dmtf.org/sites/default/files/standards/documents/DSP2046_2023.2.pdf
Partial-Bug: #2039458
Change-Id: I7bd7db539eab158c283524aecdaa9ebebd033cf6

/lgtm


Wrong src if angular.js used

If you use data-src="{{ var }}"  you have to use (eg. jquery docready)
$(document).ready(function() {
var bLazy = new Blazy();
}

data-src somehow initialize element.src, so images loaded before scope.load and
after var dataSrc = ele.getAttribute(source) || ele.getAttribute(options.src);
dataSrc is this string: {[var}} (and not the value of the var)
It seems, that the problem is data-src attribute, because if I use this, it works well.
data-src2="{{var}}"
blazy.js
scope.options.src = source = options.src || 'data-src2';
I created a demo ( http://jsfiddle.net/ryo2vg88/3/ ), so it seems its an angular specific bug, and data-src is involved.
Anyway I report this issue https://github.com/angular/angular.js/issues/13081

If i use ng-src instead of src offsetHeight = 0
Need force=true to load image:
if (force || (ele.offsetWidth > 0 && ele.offsetHeight > 0))

hey @tsamu
I see the issue. A workaround here and now is to change where the src is stored on an image. There is already an option for that called "src" (http://dinbror.dk/blog/blazy/#Options):
var bLazy = new Blazy({
   src: 'data-blazy'
});

Closing the issue since it has nothing to do with blazy.js.


VP8Depayloader.Write error case not guarded

https://github.com/elixir-webrtc/ex_webrtc/blob/e6c8dadb2ee8ad2db5b5b9ae103917733cee804c/lib/ex_webrtc/rtp/vp8_depayloader.ex#L29
You have only the happy path. But with .... else ?? to guard for example {:error, :invalid_packet}  returned from VP8Payload.parse.
so maybe you want this:
else
    {:error, msg}  ->
      Logger.warning("#{inspect(msg)}")
      {:ok, depayloader}
end

I saw when I tried to VP8Deplayload a packet with Safari: VP8Payload.parse failed. This does not happen with Chrome !?
An invalid packet (at least as seen by parse):
packet.payload == <<>>
but also this one:
%ExRTP.Packet{
  payload_type: 102,
  sequence_number: 15628,
  timestamp:<PHONE_NUMBER>,
  ssrc:<PHONE_NUMBER>,
  payload: <<56, 0, 21, 39, 66, 192, 30, 137, 138, 22, 4, 193, 79, 47, 53, 2, 2,
    2, 182, 30, 17, 8, 197, 192, 0, 4, 40, 206, 60, 128>>,
  version: 2,
  padding: false,
  extension: true,
  marker: false,
  csrc: [],
  extension_profile: 48862,
  extensions: [
    %ExRTP.Packet.Extension{id: 3, data: <<0, 4>>},
    %ExRTP.Packet.Extension{id: 4, data: "1"}
  ],
  padding_size: 0
}

Hi @ndrean, sorry fo the late reply :c Yeah, it looks like we have a bug. I will try to fix that

@ndrean
The second packet can't be parsed as R bit in its first byte is not equal to 0.
I checked what Pion does and it just ignores this bit without even checking its value. This is here
Before modyfing our code I have a couple of question:

Did this occur when running one of our examples or demo applications or when running your own code?
What is your Safari version?
Are you sure that payload type 102 is really an VP8 codec?

I also checked Reco example on Safari and it works correctly to me

Are you sure that payload type 102 is really an VP8 codec?

You are right: ["a=rtpmap:102 H264", "102 H264"].
I will check all this again, if it works for you..

Hi @ndrean, I am closing this issue for now as we merged #123 and it also looks like the problem is with invalid codec. However, please feel free to reopen if still encounter the problem!