Problem with DS and AmbientSounds?

Mod Version:
1.10.2-<IP_ADDRESS>
Forge Version:
2477
Description:
I have AmbientSounds with DS, causing the sound to mute when I go near water with many entities swimming, that would normally cause the water bobbing sound. I have tested without AmbientSounds, and everything works without it installed. I think it might be a conflict issue between DS and AmbientSounds because I have a modpack with both of them installed, and other mod sounds are working, except for DS. I have also tested with just DS and AmbientSounds, that is when the issue happens.
Example vid of AmbientSounds and DS
Example vid of just DS

DS has built in some logic that detects when the max number of sounds are queued up in the sound engine and does not play further sounds until there is room.  With all that sound occuring it could be that max sounds have been reached.
To check you can turn on debug logging in DS, and then hit F3 when hear the water where all the mobs are located.  DS enumerates all the sounds that are playing in the debug display along with their counts.  IIRC the threshold for "self muting" is about 176 sounds or so.

So how would I go about fixing the problem?

Well, in this particular case you can tag the bubble sound to be culled.  It will reduce the frequency that the sound will play.  This assumes, of course, the situation I outline above is what is happening.

After playing for a bit longer, this happened.

I see that the max number of sounds is 32.  You change the configuration any?  If not I will need a client log - there is a mod conflict somewhere.

From what I can tell, the config for Ambient Sounds only is for enabling or disabling sounds and a debugging option, nothing else. Log

So I did another test to see if I could change the max amount of sounds that could play at once. By what you said earlier, I would assume that the sound system was not meant to be a max of 32 sounds. So I went ahead and disabled Ambient Sounds to see if that number would change. The max after that was 192 sounds. Then is the problem with DS not working with Ambient Sounds, or the other way around?

Default vanilla configures the sound engine to a max of 32 sounds.  Dynamic Surroundings ups it to some fraction of the max sound channels for the players hardware.  (Modern sound systems allow on average 256 sound channels.)  Ambient Sounds configures the number of sound channels as well and looks to be overriding what DS sets.  Ideally Ambient Sounds should allow for tuning these values rather than hard coding them.

So there is no way for me, nor you, to be able to fix this unless the developer for Ambient Sounds allows for the amount of channels to be changed?

At the moment I can't think of anything you can do to make it work.  I will have to think on what I could do on my end to work around it.

@ShadowSonic42 Try out this test jar located (here)[https://github.com/OreCruncher/DynamicSurroundings/releases/tag/v<IP_ADDRESS>T3].  I changed how the sound system is initialized so it should help.

I have tested with the new jar, and I still have the same results.
Results with AS
Results with only DS

@CreativeMD At this point, then, I would think a change would have to be made in Ambient Sounds.

fml client latest
lastest log

[10:33:58] [Client thread/INFO] [dsurround/]: Sound channels: 176 normal, 16 streaming (total avail: 192)
[10:33:58] [Client thread/INFO] [dsurround/]: Stream buffers: 3 x 131072

My mod set the channels the way it expects.  I suspect that AS is changing them back at some point after.

DS is setting the amount of channels, then AS later changes them? If that is the case, is there a way to make it so AS loads first then DS overrides that?

Its not a question of mod loading, its a question as to when what code runs.  DS sets the number of channels after the normal sound setup event.  I believe the AS code is executing sometime after that under some other conditions.  I haven't had a chance to trace actual execution in my debug environment.

Made another tweak to see if I can alter the flow.  Find it here.

Tested, and sadly still same results.
Results

I have done some more tests on the second issue, and it seems to be with sound physics. The sounds do play, they are just very quiet, Mod Version: v<IP_ADDRESS>T4

I have just revert to an older version of DS, version <IP_ADDRESS>, and the problem with with sound physics was fixed, but the AS problem was still broken.

From what I recall Sound Physics does funky things with sound volumes.  In general I say its not compatible.  I personally use Sound Filters.

@OreCruncher The sound engine has 4 streaming channels per default , which is not enough for AmbientSounds, so i changed it (forum thread). Once I found that DS does change those values as well, I added @SubscribeEvent(priority = EventPriority.LOW) to my method, so my configuration will be set after yours. Otherwise there would have been many issues if DS is installed (would ruin compatibility).
I added a config option for streaming and normal channels count (versions should be available soon). Hope this fixes this issue.

@CreativeMD I have updated AS to the lastest version, v2.0.8,  and I also changed the config. I have set the normal and streaming channels to the values that DS, v<IP_ADDRESS>, would have set them to.
AS config
But, I got the same results as before I updated.
Look at the soundsystem on the side

The sound engine configuration says that they may only be 32 channels in total. So maybe you don't have 176 normal channels, but 16. Just try to use less streaming channels and see if this fixes it.

I think his system has more than 32.  I looked at a provided log and based on the trace it appears to have 256 channels for the system.

@CreativeMD I changed the values to be lower than 32 to see if the config is working, or my system wasn't powerful enough.
New Config
As you can see, the total amount of channels should be less than 32.
But that didn't change the value

@ShadowSonic42 Not less than 32, but 32 in total meaning something like: 8 streaming channels and 24 normal channels.

But if I changed the values to be less than 32, shouldn't they change to that instead?

If you only have 32 channels available and set 16 streaming channels. There are only 16 channels left. Setting the config to 16 normal channels will not change anything either, since the engine can also have less than 32 channels. So just increase this number to 24 and see if something changes.
In my eyes it's rather obvious that this issue is caused by a lack of available normal channels, so increasing those should fix it. You could also try out the vanilla configuration, of 4 streaming and 28 normal channels.

@CreativeMD Problem still exists with 24 normal channels and 8 streaming (your recommended)
DS sounds aren't playing when many sounds are in the area
And problem still exists with 28 normal channels and 4 streaming  (default)
Same result as above
But without AS installed the issue goes away and I have 176 normal and 16 streaming (DS settings)
Total amount of sounds on left side
But as you saw earlier, changing the amount of channels in the config to be more than 32, did not change it to that value, which could be the problem.

That is weird, but i don't think there is any way for me to fix it. I think those are just the limit of the sounds engine :(

@CreativeMD Maybe you could ask @OreCruncher on what he did with DS or figure out how to make it so DS algorithm is prioritized over AS. IDK just a suggestion.

I'm sorry to disappoint you, but i doubt that there is an easy way to fix it.

Hey man, did you mange to find a way fixing your problem?
I got similar issue that in-game music don't play (like ever), possibly due to AS and DS taking up streaming channel always?
Maybe I should increasing the number of channels signed to streaming and test a bit .

FYI - I am going to be doing some testing with Ambient Sounds and DS this week.  I will see if it still occurs with the latest mod versions.


Increasing visibility of roll results (degrees of success)

For this proposed change I could make a PR, but I'd like an opinion / green light for the idea itself.
Current default display of degrees of success in chat messages presenting roll results is quite underwhelming, but with a small addition in CSS:
  font-weight: bold;
  font-size: larger;

this most important information could be highlighted and made distinctively visible, which would enhance the user experience.
BEFORE:

AFTER:

I don’t have an issue with bolding but making the text larger is not a great UI move since

Just bolding for reference:

Show a comparison from the player, not the GM POV. I'm not sure whether or not this is a big improvement, but if you give me the player visual I'll post it to our UI/UX dev channel for discussion

Show a comparison from the player, not the GM POV. I'm not sure whether or not this is a big improvement, but if you give me the player visual I'll post it to our UI/UX dev channel for discussion

Sure thing. Also - larger images for better representation of how it looks on screen - its not a full screen but a snippet from 2560x1440 resolution, but should be enough (I hope).
PLAYER PERSPECTIVE, BOLD ONLY:

PLAYER PERSPECTIVE, BOLD+LARGER:

By the way, someone even mentioned it on Reddit once: https://www.reddit.com/r/FoundryVTT/comments/122wt1g/making_parts_of_chat_messages_bigger_in_pf2e/


Revisit \DeclareMathOperator

amsopn does some mathcode manipulation for some analphabetic symbols to improve their appearance in math operators (\sin, \cos, etc.). All I've done for unicode-math is to fix the compilation error from that package, I haven't double-checked if there's new code I should be inserting in there to duplicate/improve what's done in 8-bit amsmath.

amsopn now has Unicode-aware code in-built and I'm not aware of anything else that makes sense to add, so closing this now (finally).


Any plan to enhance candle dataset?

It's still too simple compared to huggingface/dataset. I wonder if there's any plan or roadmap to enhance that?

Actually I'm working on some new dataset api that will be a bit independent of candle so likely to live outside of this project. It's already in a workeable state but will require at least a couple weeks before we're able to open-source it so I don't think there would be much plans in the candle-dataset front in the meantime.

Maybe you can have a look at my candle-distributed repo. The whole project  is at very early stage but I have already implemented a pytorch style dataloader. Currently I have done multi workers and pre-fetch (pin-memory not yet).

@chenwanqq it seems the link is unavailable

@chenwanqq it seems the link is unavailable

fixed hahaha


Build an API to check common passwords?

Hi,
I was thinking about building a simple API to allow web developers to check a password provided by a user against the top-n list. It would be provided free to the community. As in, either me or my company would build and host it for free.
It raises some important questions;

You have put all this effort in to collating these lists, and I would not build anything like this without your explicit approval.
I have been thinking about whether there is a downside to building this as an API and I would really like someone else's opinion on whether this could potentially be abused.

If this API is indeed built, there are a couple of things to think about;

There is something unnerving about a site sending a user's new password to this random API on the internet to check whether it is in the most-commonly-used. If the API was nefarious, it could potentially store the data and correlate it to the site, thus providing an easier attack vector. That may be the thing that kills the idea dead :) Unless there is a way to ensure the data cannot be correlated and provide assurances around that.
The API would return the position on the list, i.e "1000th most commonly used". It is then up to the calling site to determine what they consider acceptable.

This may be a stupid idea, but I thought I'd put it out there to see what other people think.

sounds like a cool idea but it looks like the haveibeenpwned site with a rating system

I would recommend not building such a tool. It's bad for reasons outside of what you said as well, but those reasons you said kill the idea already.
Another reason why it won't work is latency. Assuming your service is super fast and responds in 150-250ms, it's still easily beaten by even the most naive attempts in memory/from a file.

@DarrenRainey Yes, Haveibeenpwned is a big inspiration for this :) The difference is that haveibeenpwned list email addresses of people that have been compromised, whereas this would have an anonymous list of the most common passwords in use.

sounds like a cool idea if you want I could help you with this as instead of sending a password why not send a password hash and compare it with a database of other password hashes that way you don't have to worry as much about a man in the middle attack

@adamdecaf Thanks for the response. I think you are right that latency would be a problem - in reality, one of the reasons I'd like to build this is a technical exercise to see how low I could get that latency :)
That said, even 250ms latency probably isn't really a problem as this would only be checked when the user is changing their password, so quite infrequently. You still have to wait ~500ms for the password to be hashed so you could probably run the two in parallel.
The comparison to in-memory/file is very valid for the people who care enough to roll their own. But I suspect most people don't. The thinking here is to do something that is very easy to just add a single call and not worry about it any more than that.
I do worry deeply about whether there are any security implications I haven't thought about, though.

@DarrenRainey sending a hash is a great idea to mitigate MIM, thank you.
People should of course still worry about me knowing what the hash relates to :)
Also thanks for the offer of help! If @danielmiessler agrees to let us use the data in this way and I can secure the hosting funding my end (shouldn't be a problem) then this would all certainly be OSS and I'd love your input.

No problem it should be pretty simple to build server side maybe just a php script that receives the hash looks it up in a database and sends a response back. As for the client side you could build a custom app or ui or just use curl with something like md5sum, sha256sum etc.

@flytzen It's not really "just adding a call". By sending this data off to a third party the site is likely violating implied and explicit privacy protections of consumers. How would this work with EU data export laws? Why should a site be sending off the most private information about an account/login to a third party? I wouldn't use any site that sent the password off to a third party knowingly.
What happens if the call to this verification site failed? Or was slow? Are users of this expected to fail-open or fail-closed?
I hope you understand that this site would only become a target for being broken into. The access logs alone would be a goldmine. It's easier to check a dictionary of 10k, 100k passwords in your app than rely on external network calls to do the same thing.
Please, don't make this a public site.

@DarrenRainey How are you going to protect the hashes going forward? What happens when whatever hash function(s) used are broken/weakened? Are the clients and this site going to each agree on unique salts per req/resp? If you're just hashing the passwords and sending them over the wire they can be captured and stored for later (or offline brute force attempts).

There are many examples of what a tool like hashcat can do on modest hardware and unsalted passwords (especially "average" consumer passwords) really don't stand a chance against determined attacks.
(search "hashcat" in the transcripts)
https://www.grc.com/sn/sn-593.htm
https://www.grc.com/sn/sn-594.htm

@adamdecat That is a good point but with all security there is a degree of risk and its only a matter of time until it is broken or cracked by the ever increasing amount of computer power but as long as the hashes are sent in a secure way such as https or even tor this shouldn't be too much of a problem and there will always have to be some amount of trust in the sites operators not to do anything malicious.

@adamdecaf I think you are making a very good point about the access logs, that I hadn't thought about, thank you.
I can make sure the API itself doesn't log anything, but it's not so easy to stop the underlying hosting infrastructure from logging it. And if I want to keep it simple and use a GET then the password (or the hash) would be in the querystring and therefore probably in the logs.
I think I'll instead write an example microservice for people to deploy themselves, but not actually offer a hosted version of it - unless I can figure out a way to avoid any access logs :)

pkill syslogd and rm -rf /var/logs :)

I think Troy Hunt beat us to it ;) https://www.troyhunt.com/introducing-306-million-freely-downloadable-pwned-passwords/


Consider updating the dependency to domain 0.2

It seems that domain 0.1 can't be built automatically by Cargo. See Could not compile domain #11. Is it possible to update the dependency so that it's possible to build the package w/o manually fixing the dependency issue?

I have already upgraded it to 0.2 long time ago. https://github.com/zonyitoo/shadowsocks-rust/blob/master/Cargo.toml#L50

Ouch. It seems that the one (v1.2.1) on crates.io is not synchronized with the master branch of repo.

Ah, I see. Just published v1.3.0. Please try it out.


MWPW-147716: Disabled background scroll for filter dialog

Disabled body scroll for merch-sidenav web component used in the catalog filter (on small screens it gets opened in a modal).
The AEM PSI check fails because the merch-card JS execution time is too long (around 1,057 ms), so the TBT score is too low.
The change in the PR is related only to merch-sidenav, which is not a culprit of low TBT, thus we can merge it, and should address the TBT score of the merch-card in a separate PR.
Corresponding tacocat PR: https://git.corp.adobe.com/wcms/tacocat.js/pull/613
Corresponding mas PR: https://github.com/adobecom/mas/pull/20
Resolves: MWPW-147716
Test URLs:
Before: https://main--cc--adobecom.hlx.live/products/catalog?martech=off&georouting=off&mep=off
After: https://mwpw-147716-merch-sidenav-scroll-lock--cc--adobecom.hlx.live/products/animate/free-trial-download
Here is a page for testing for QA (remove the space, I added it to make the PSI check to ignore this link):
https://mwpw-147716-merch-sidenav-scroll-lock --cc--adobecom.hlx.live/products/catalog?martech=off&georouting=off&mep=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.23%. Comparing base (4e8b5df) to head (d09f109).
Report is 9 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #335      +/-   ##
==========================================
- Coverage   90.26%   89.23%   -1.04%
==========================================
  Files          17       17
  Lines        2301     2322      +21
==========================================
- Hits         2077     2072       -5
- Misses        224      250      +26

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

@mirafedas please link your mas/tacocat ticket that fixes this, currently the sidenav dependency is built from your feature branch.

@yesil I will rebuild from the main branch when this mas PR is merged: https://github.com/adobecom/mas/pull/20

@npeltier @mirafedas  Could you help get this change verified and unblock it form merge ?

@aishwaryamathuria sure, asked @Roycethan to verify this

https://mwpw-147716-merch-sidenav-scroll-lock--cc--adobecom.hlx.live/products/animate/free-trial-download

@aishwaryamathuria @mirafedas  Verified it (fixed -background scroll is now disabled). I did not got access to add labels to this repo. hence was not able to, but plz feel free to add it and also if possible grant access thanks

Adding verified label as confirmed by @Roycethan


The "Field Name" listed in the tables & Screenshots show the name in the wrong case in many areas on https://docs.microsoft.com/en-us/azure/iot-central/core/tutorial-define-device-type

🛑 IMPORTANT: You can get your feedback addressed faster if you use the comment section for the article in which you encountered a problem (if available).
Link to article:
https://docs.microsoft.com/en-us/azure/iot-central/core/tutorial-define-device-type
Problem:
When actually running the IoT Central, "Field Name" IS case-sensitive & needs to match the "Display Name".
Using the wrong case will make it fail.
There are many areas on this page that show the "Field Name" has a lowercase first letter & the "Display Name" has an uppercase first letter.
There may be many others on this page, but here are 4 of them (in both the table & Screenshot):
-- temperature
-- fanmotorerr
-- fanmode
-- setTemperature

@dominicbetts Can you take a look?

@Jeff-Schafer Thanks for taking the time to leave us feedback. I've flagged the issue to a member of the IoT docs team for awareness and potential resolution.
Appreciate your contribution to our community.

Hi @Jeff-Schafer - can you clarify where you're seeing an error in your IoT Central application when you follow this tutorial? The Field Names are case-sensitive and need to match the field names in any device code - such as the sample code shown in https://docs.microsoft.com/azure/iot-central/core/tutorial-add-device. The Display Names are not case-sensitive and are only used as labels in the IoT Central UI.
Thanks, Dominic

It was failing to draw the chart.
I was told the Field Name & Display Name fields have to match.
Once I did this, the chart was drawn.
If the Display Name is not case-sensitive, but the Field Name is, the required format should be displayed.
Also, the link you mention is not the correct one.
It is https://docs.microsoft.com/en-us/azure/iot-central/core/tutorial-define-device-type.
If these are User Defined, they should not be case-sensitive.
An example from the link above:
Setting | Value
Display Name | Temperature
Field Name | temperature
The Screenshot for this example is https://docs.microsoft.com/en-us/azure/iot-central/core/media/tutorial-define-device-type/temperaturesimulation.png.
There are also many others on this page.

Hi @Jeff-Schafer - apologies, I must be missing something. To test things out I created a device template with three telemetry types:

Display Name
Field Name

Humidity
Humidity

Temperature
temperature

External Temperature
somethingelse

I then added a chart to the dashboard for the device template to plot the three telemetry values over the last 30 minutes. All three values show up as expected for me, using the display names as labels:

If I then skipped ahead to the 5th tutorial Add a device, I would have to make sure that my Node.js code sent three telemetry values called: Humidity, temperature, and somethingelse. It's the names of the fields in the telemetry message sent by a device that must exactly match the field names defined in the device template.
Can you tell me where you heard that the Display Name and Field Name must match?

Hi @dominicbetts - I found out that we are using different IoT Central Sample Apps which have the first letter in uppercase for the "Field Name" & that's why it isn't consistent with this tutorial: https://docs.microsoft.com/en-us/azure/iot-central/core/tutorial-define-device-type.
Closing bug.

@Jeff-Schafer - thanks for letting me know.


This script is not very optimized, that's why you have very little chance to get a valid token. But in the next version, it will be much better!


how to use the  in nuxt.js ?

hi, i has two page,
one is timeline, other is feed-detail
i hope the effect

enter website (default timeline page), load data (feeds) from api-server at hook mounted.

scroll some feeds... click one feed and enter feed-detail page.

click back up button of browser and return timeline page. now timeline reload the feeds and remount the page... scroll on top.

i hope the timeline page is not remount on back up.
i try such as:
<keep-alive>
    <nuxt>
</keep-alive>

but it is no effect, i'm inquisitive what the different between  and  of vue-router ?
should me to do ?

how to cache the page-components ?

Hi @kid-wumeng
Please take a look at my answer on this issue: https://github.com/nuxt/nuxt.js/issues/91#issuecomment-269782787

@Atinux hi, i seen the example and have a question:
the home page of example is seem cache the data but the components?
i assume the home page has a long vertical-list ( maybe 100 items ) and the user browsing the 60st. this moment he go home -> about -> home. when he return (or reenter) home page, the page will reload data (no matter where come from server or client-cacheData), the list component of home page will remounted, the user will see from the beginning.
this is a different effect with
please tell me how to do and implement the effect ? ( I realize the  in client do not work same as in vue/vue-router? )

I'm closing it since it has no activity for a long time and we have to filter the issues since some of them are here for a while. Feel free to re-open after 1.0 release ;)


Array.prototype.some() returns " /_next/on-demand-entries-ping is not a function"

Bug report
I'm using Next with the custom server. I wished to check if some value exists in a pathArray in order to trigger the custom route process. Sadly the console returns me :
Describe the bug

Array.prototype.some() returns " /_next/on-demand-entries-ping is not a  function"

A clear and concise description of what the bug is.
So I don't know what happens.
To Reproduce
Here my snippet.js:
const array = ["a","b","c"]
app.prepare().then(() => {
  createServer((req, res) => {
    // Be sure to pass `true` as the second argument to `url.parse`.
    // This tells it to parse the query portion of the URL.
    const parsedUrl = parse(req.url, true)
    const { pathname, query } = parsedUrl

    if (array.some(pathname))  {
      app.render(req, res, '/post', query)
    }

When you will run "node server.js" the console will return the above-mentioned message.

.some takes in a matcher function, not the value itself: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some#Parameters


Chance shard

I had the problem that everytime I get a chance shard droped that it isnt displayed as a valuable item to collect so maybe you could ad this shard to your list?

Was fixed :)


[MM-48099] Update app manifest structure

Summary
https://github.com/mattermost/mattermost-plugin-apps/pull/259 did change the structure of the app manifest file. In the past, the build pipeline of our apps had a version of the legacy manifest, so there was no need to update the App Cloud Deployer.
Let's remove this technical dept and update the manifest structure that is accepted here.
Ticket Link
https://mattermost.atlassian.net/browse/MM-48099

@stylianosrigas Gentle reminder to review this PR


Support iOS ProxyController？

Thank the author for providing such a good library.
Will the author add a ProxyController for iOS

Thanks!
Unfortunately, there is no such class as the same as Android for the iOS native WKWebVie.


Removing CSS in favor of slots/individual components

This PR removes CSS variables from the Mux Uploader package to simplify the styling and improve the maintainability of the code. Changes include:
Changes to mux-uploader-file-select.ts

Removed CSS variables for button background color, border, padding, and border radius in favor of hardcoded values.
Removed CSS variables for button hover text and background in favor of hardcoded values.
Removed CSS variables for button active text and background in favor of hardcoded values.

Changes to mux-uploader.ts

Removed the :host block that contained CSS variables for font family, font size, and background color.

@davekiss I think you'll need to force push here or push an empty commit or so to restart Vercel builds.
let me know if you want me to bypass branch protections and merge


driver callbacks and user mode

Is your enhancement proposal related to a problem? Please describe.
It's common to want to run some application code in response to driver events. Many of our driver subsystems (and our k_timer() API, which is essentially a timer driver callback) allow the user to install a callback handler (and in many cases a context pointer) to run when the event happens. The event is typically in the context of an ISR.
In our current MPU-based protection model, we've specifically forbidden providing access to driver callback installation from user mode, because such callback code runs in supervisor mode in the context of an ISR. We can't allow user mode to install program text which doesn't itself run in user mode for any reason.
The current workaround for this is as follows: in the early stages of the application, like in main() which starts in supervisor mode, is to install these callbacks here, before the application drops its privileges. The callback running under its parent ISR can access any memory it likes, including user memory; it's possible, for example, for the callback to fill user-accessible buffers with data. A user thread which has those buffers in its memory domain may later access them, perhaps using a k_sem shared between the user thread and the callback to synchronize.
With the upcoming planned changes to introduce virtual memory semantics to systems that have an MMU, some of the assumptions in this workaround fall over.
The VM scheme we have in mind is typical; the address space is split into a kernel and user half, where the kernel side is a constant mapping and the mappings in the user half depend on what thread (really what process, where a process is a group of threads all in the same address space) is scheduled:

ISR callbacks can't use any pointers in the user half, ever. We have no idea what user address space is active when the ISR fires, and it may or may not be the address space when the callback was installed.
The code for ISR callbacks must be in the kernel half as well, for the same reasons.

Describe the solution you'd like
I would like an efficient way for a user application to set up driver callbacks for kernel events that originate from ISRs. The callback should be able to access memory in the process that installed the callback. The callback should run with the CPU in user mode, with the ability to sleep or make syscalls.
Internally, I imagine infrastructure such that a callback has two parts:

The actual code that runs on behalf of the ISR, which obtains any relevant data and then releases an IPC object (like a k_sem or something) to wake up some user thread for further processing.
The user part, which wakes up and runs the actual callback function logic, and has full access to the data posted by the ISR.

For the particular case of data buffers, we'd like to minimize the amount of copying done. But since the relevant user address space might not even be active, we'd either have to do copies or come up with some mechanism for mapping these buffers on the kernel side. I'm really waving my arms here, more contemplation of the specifics is needed.
I'd like the application-facing parts of this to be very simple to use. Particularly since this has implications for our driver APIs. Since this looks like it will require additional considerations to the current callback APIs we have, like mapping buffer memory, IPC objects, handler threads, etc, I'm wondering if the interface for this could be something like a workqueue API which takes a driver's callback installation API as a parameter.
Describe alternatives you've considered
This currently isn't a full solution spec, more like a problem statement with a few nebulous notions on how to think about addressing it. Open to ideas.

I would like an efficient way for a user application to set up driver callbacks for kernel events that originate from ISRs. The callback should be able to access memory in the process that installed the callback. The callback should run with the CPU in user mode, with the ability to sleep or make syscalls.

 Instead of function callback that is called from ISR, could we pass data from ISR to user mode application via IPC like k_msgq, fifo, queue etc. That would be very inefficient of course but would avoid direct function call.

sys_notify is intended to do this for non-user-mode applications.  The model assumes that the structure may be contained within another structure which the callback can access, which doesn't work with vrfy wrappers that copy data into/out of user memory.  A way to integrate this with any new user mode callback infrastructure would be nice: then we could use this generic API to support async operations regardless of how the caller wants to receive the result.

@jukkar I think there may be a subset of current callback APIs where providing an IPC object, instead of a function, may actually be sufficient for everyone. But need to study this really carefully. I want to make sure that for users who are not using memory protection, there are no performance or footprint implications.
@pabigot thanks I'll study sys_notify and assess how it could fit into a solution for this.
Miscellaneous side note: Microkernels take this one step further, where almost the entirety of ISR processing is bounced down to thread context. EOI is not sent to the interrupt controller until the thread-level processing completes. Zephyr is not a microkernel but there may be some value in allowing control on when EOI is sent. Something to think about anyway.
Another side note: need to consider how Meta-IRQs fit in here.

With the upcoming planned changes to introduce virtual memory semantics to systems that have an MMU, some of the assumptions in this workaround fall over.

The current plan for MMU support is to have a single view of memory from an ISR perspective, and this problem goes away. Details in #27819.

I'm going to leave this open but de-scope for 2.5 and drop to "low".
I can certainly see it being useful to offer some kind of common infrastructure for bouncing down interrupt callback handling tasks to an unprivileged threads, but this isn't a dealbreaker with the current plan for MMUs.

That's disappointing.
I'd hoped this would be fairly simple, and would allow us to start using sys_notify in general API.  If it's not going to happen we remain limited to k_poll_signal as the only way to notify completion of asynchronous operations in API that needs to support unprivileged execution.  It also prevents us from having a single API that works in both thread and non-thread contexts.


users mention and task manager

Describe the feature you'd like
I would like to be able to mention a user in the way of : "@user"
This is the minimal feature.
The complete feature would be to be able to detect if mentions are on a checkbox line, then create a menu in each user account, to list "checked" tasks as finish, and "unchecked" tasks as todo.
Even better, possibility to add a entire module which creates a table with task status tracking.
Like that one : https://www.dokuwiki.org/plugin:task
Describe the benefits this would bring to existing BookStack users
Possibility to manage tasks in a wiki is a killer feature.
You could then follow project roadmap like

[x] @user read that feature request : 21-01-2023
[ ] @user code that feature request : 21-01-2023

or

Who
When
What
State

@user
21-01-2023
read that feature request
done

@user
21-01-2023
code that feature request
todo

Can the goal of this request already be achieved via other means?
Not really.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
Not using yet, just scoping
Additional context
No response

Thanks for the request @eoli3n.
I'm going to close this off though for the following reasons:

Issues already exist to cover the functionality of mentioning users (#953, #560).
Two-part/request issues are hard to manage.
The secondary task manager part is something I'd probably view as out of scope really as I don't want to spread our focus into what really is are todo or project management responsibilities.


gradient of KL in CatVAE

Hi, kaixhin.
Recently, I am reading your code for CatVAE and find that the gradients seems to be reverse. Is it right? Thanks

The line
local gradKLLoss = softmax:backward(Model.encoder.output:view(-1, Model.k), math.log(1 / Model.k) - logZ - 1):view(-1, Model.N * Model.k)

Should not be,
logZ + 1 - math.log(1/Model.k) ?

Yes, this does seem like a mistake. Empirically, the samples come out much more diverse too, which is encouraging. Thanks for spotting!


How to see the training plots?

Now the log for python run_job.py -n 5 -g 60 -c 12 --simulator_procs 10 --use_sync --name breakout --short looks better. But I don't know how to view the plots.
I noticed that in the experiments/breakout_1517329773.87/storage/atari_trainlog there are 4 directories corresponding to workers and each of them has a TensorBoard events file, e.g. events.out.tfevents.1517329790.p0112.
I downloaded with scp the whole experiments directory and run tensorboard --logdir=experiments to view it in the browser:

After 40 minutes of training on 4 workers I would expect to see the full mean_score plot, not only 1 data point with value 1.8 for step 100. Whereas one can see from the log that each worker made about 1800 steps.
How to see the training plots?

I tried to save stats to TensorBoard event files, but adding that requires more effort. So, I switched to the idea of using Neptune UI.

We never used tensorboard for viewing these the plots. We have our own in-house tool for this (https://neptune.ml/. We handle the distributed setup by aggregating all the datapoints from all the workers in a single worker using sockets. The implementation can be found here.

Ok, the code is running a ZeroMQ server that aggregates all the data from the workers. Then it is logging ##### Sending to neptune:  online_score :  0.241437337531 , 1.4 ##### and it saves stats to 16 CSV files. How  to view the plots in Neptune UI? I have a Neptune account.

This project was completed using the neptune version 1.4, which is no longer supported. I guess you could port it all to neptune 2.0 (which should not be that hard since the API haven't changed substantially).
Otherwise you could just plot the CSV files using some other tool like matplotlib.

I added saving online score to tenserboard events file: https://github.com/deepsense-ai/Distributed-BA3C/pull/7.
With this, I tried to reproduce the results on Breakout-v0 and Seaquest-v0 from your research paper:

The plots show only max scores, right? In further comparisons I will guess so. (Because near Table 3 it's written "Best stable score and time (in hours) to achieve it are given".)
Breakout, after 6 hours and ~50k global steps:

After 22 minutes I got 320 max_score. This matches your plot.
Seaquest, also after 6 hours and ~50k global steps:

After 43 minutes I got 1940 and later 1840. You achieved 1840 in 20 minutes. Maybe mine training run was unlucky.

All evaluation scores in the paper are mean scores from 50 consecutive games. Please DO NOT compare online scores with evaluation scores since they are achieved using a different algorithm and will be different. If you want to reproduce the results from the paper you'll have to get the evaluation score by using the evaluation node and saving the data from it.
Moreover, this setup requires extensive tuning to run efficiently. Especially important hyperparameters:

learning rate: 0.001
number of workers: 64
number of parameter servers: 4
synchronous training
epsilon for Adam optimizer: 1e-8

Also please make sure you're using a TensorFlow version that supporst SIMD instructions for CPU, especially AVX-2. We were using the optimized version provided by Intel.

One more thing -- there's a possibility that due to some race conditions not all of the workers started the computations correctly. Unfortunately the setup is not as stable as I'd like it to be.
There's a data channel called 'active_workers' somewhere, it says how many workers are currently participating in computations. After a few minutes of training all workers should be working correctly, if not you can try restarting the training from scratch.
Should you like to debug the situation to make the training more stable you can count on my help :)

All evaluation scores in the paper are mean scores from 50 consecutive games.

This is the mean_score (saved to mean_score.csv and now mean_score in tensorboard). Please correct me if I'm wrong.

Please DO NOT compare online scores with evaluation scores since they are achieved using a different algorithm and will be different.

Sure, I understand the difference, I didn't compare those.

If you want to reproduce the results from the paper you'll have to get the evaluation score by using the evaluation node and saving the data from it.

This is mean_score as this line is executed. args.eval_node is False, we can't pass --eval_node, otherwise InvalidArgumentError is raised, https://github.com/deepsense-ai/Distributed-BA3C/issues/2.

Especially important hyperparameters:

Oh, in my previous post I forgot to include the full command I used:
python run_job.py -n 71 -g 60 -c 12 -o adam --use_sync -l 0.001 -b 32 --fc_neurons 128 --simulator_procs 10 --ps 4 --fc_init u
niform --conv_init normal --fc_splits 4 --epsilon 1e-8 --beta1 0.8 --beta2 0.75 --save_every 1000 -e Seaquest-v0 --name seaque
st

So the hyperparams are exactly the same, I took them from README.

Also please make sure you're using a TensorFlow version that supports SIMD instructions for CPU, especially AVX-2. We were using the optimized version provided by Intel.

Ah, I'm sorry, I missed this completely. With this it will be probably much faster - will try it. Thanks!

One more thing -- there's a possibility that due to some race conditions not all of the workers started the computations correctly.

I think I saw this once. One line was repeated over and over in the log, workers didn't start. I thought I did something wrong, killed it, checked and started again and it was fine.

Should you like to debug the situation to make the training more stable you can count on my help :)

So far it happened to me once on ~30 runs, it's not biting me hard enough. Prefer to spend time on other things.
If you or anybody else would like to debug it - I can offer some guidance here. A good first step would be:
Create a small script starting about 50 run_job.py with 4-10 workers and 1 ps, pipe outputs to {1..50} log files, tail -f all of them to find the faulty one. Paste that full output log here.

With Intel's TensorFlow, same command as before, after 6 hours both runs reached ~150k global steps (3x more than before):
Breakout, mean_score 292 after 28 minutes, quite close to ~330 from the paper, but a huge drop after:

Seaquest, mean_score 1690 after 23 minutes, also close to paper's 1840, also the plot shape is similar:

The differences perhaps could be due to variance in between runs, i.e. if I run Breakout training more times, maybe there would be a plot very close to the one from the paper.

The Seaquest results look good to me. Setup for Breakout might be somewhat unstable in a sense that the 'catastrophic forgetting' is quite common for this game and learning rate. Also the training should be a bit faster (our mean time (average from 10 experiments) to mean score of 300 was 21 minutes). I suggest running more experiments and seeing if these issues persist.
Please bear in mind that our experiments from the paper did not use any learning rate scheduling. If you're really after getting very high scores for these games, or very stable learning without catastrophes, I suggest you play with the 'schedule_hyper' parameter. The schedule for annealing the learning rate and exploration factor can be found here, by using it you could start with a high learning rate of 0.001 at the beginning and then drop it after ~15 minutes of training to avoid catastrophes and get much higher scores in some games (especially breakout).


Decimal and NSDecimal

I use Decimal type, on Linux it is Decimal in the schema, but when running on macOS it is NSDecimal in the schema. Is it possible to fix this so that it would be Decimal regardless of the operating system?

Hi @ZirgVoice, could you provide a code snippet that demonstrates how you're using Decimal? If you can give me something that would give warnings or errors, that'd be bonus points! I see that this package and GraphQL do use Decimal and NSDecimal in different places, but it's a little hard for me to figure out what you're trying to do.
Thanks!

I will use this type as an input argument to create the transaction.
struct CreateTransaction: Codable {
    var fee: Decimal
    var userID: ID?
    ...
}

class TransactionSchema: PartialSchema<GraphQLResolver, Context> {
    @TypeDefinitions
    override var types: Types {
        Scalar(Decimal.self)
    }
}

Since I'm using gateway and federation, I add to the sdl
scalar Decimal

extend type Mutation {
    createTransaction(
        fee: Decimal!
        userID: ID
        ...
    ): Transaction!
...
}

If we don't use the gateway, NSDecimal doesn't cause any problems, on macOS it is displayed in the schema as NSDecimal type, and in Linux it is Decimal. But the gateway takes the schema from sdl and accordingly sets the fee field to Decimal type, again on Linux there are no problems with this, on macOS the payment service is waiting for NSDecimal type and the gateway sends it Decimal type, so I get a type mismatch error. Having written in sdl scalar  NSDecimal, the gateway uses it and everything works on macOS.

Hmm, the short-term workaround is probably to use a Double in place of Decimal, which is definitely the more typical usage (and built-in for GraphQL Float type). Another alternative could be to write custom serialize, parseValue, and parseLiteral functions for your scalar using the initializer introduced in this recent MR. And then finally there's the option of fixing the underlying issue in the GraphQL repo itself, which is a bit complex because NSDecimal is (as far as I've investigated) used to efficiently decode using NSObject.


Code reformatting

I did this because I find quite a lot of the code sorta hard to read through. Hopefully you're okay with this reformatting.

@Dar9586 Hmm, I'll see about those later.

@Dar9586 Hmm, I'll see about those later.

Thanks!

Thanks!


Add ability to get tagged classes of given implementation

@h4kuna current state. I'll try to do a MR to Laravel (later)


Not getting ids

I stuck one thing I want to get ids for all models as well how can I do this for example currently if I run
=> rake db:seed:dump
I just get code like this
=> Product.create(title: "title", description: "text")
but I want this
=> Product.create(id: 1, title: "title", description: "text")
how can i do that?

@asnad Have you tried overriding exclude option?
exclude: Attributes to be excluded from the dump.Pass a comma-separated list to the Rake task (i.e. name,age) and an array on the console (i.e. [:name, :age]). Default: [:id, :created_at, :updated_at] (this default can be overridden by just setting this option)

What didn't work for me was
rake db:seed:dump WITH_ID=1

What works is
rake db:seed:dump EXCLUDE=[]


Make alpaka platforms full objects

Since 41e9956 in Alpaka the platforms are actual objects and a couple of commits later they have been renamed from Pltf to Platform.
This PR propagates these changes to alpaka and alpakatest.
It also replaces cms::alpakatools::enumerate() with alpaka::getDevs() (thanks @fwyzard).

What are the thread-safety guarantees of the Platform objects?

Most platform types (all but SYCL IIRC) are empty objects, so they are implicitly thread safe.
I think the SYCL platforms are thread safe because the underlying SYCL objects are thread safe - but I have not thought too much about this.


Add new version of aks-preview in index.json

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

This PR adds new aks-preview version in index.json

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/norshtein/azure-cli-extensions.git@aks-preview-new-version#subdirectory=src/$EXT&egg=$EXT"

@tjprescott any idea when this can be merged ?


ceph-installer.spec: update for python package

Remove the old Ruby packaging and package the Python application instead.
This .spec file contains placeholders for the %commitdate and %commit macros and the "Version:" field. They are set to strings: "COMMITDATE", "COMMIT", and "VERSION". We can make a Jenkins build script replace these strings with real values.

Ideally we'd have Jenkins do nightly builds from master, replacing these values.

agreed, we need to start making nightly builds on this


Cannot get mail from batch query

Hello, i'm trying tick script
var every = 20s
var period = 5h
var total = batch
|query('select "Mails" from "DB"."RB"."MailsMeasurement" ORDER BY DESC LIMIT 1')
.every(every)
.period(period)
var mail =  '{{ index .Fields "Mails" }}'
total
|log()
|alert()
.crit(lambda: TRUE)
.message(mail)
.email(mail)
Where
Mails: Can be array of mails (but for tests i put in field one mail, i know that for arrays i can use '.to()')
When i watch logs of script, i see that message resolves and<EMAIL_ADDRESS>appears, but i recieve nothing.
[smtp] section configured, when i specify mail in TICK like " .email(MyMail@ForTest.com)" i recieve it
What am I missing?
Thanks a lot!

the .email(mail) field doesn't support templating, unfortunately.  We should add this feature.

@docmerlin Hi! When i specify value 'mail' like this:  var mail<EMAIL_ADDRESS>and pass it in .email(mail) it works! Maybe there is a type mismatch?

It just means it can't template out the string, but must have the fully realized string to work.  I'll have to add templating to it to do what you want.

@docmerlin Hello and thanks for Your replies!
Want to share my thoughts and experiments on this functionality.
I've succeeded in substituting emails to array and then passing them to .emails() of batch-query.
Watch this script:
var emails_group=<EMAIL_ADDRESS><EMAIL_ADDRESS>var data = batch
    |query(...)
    |alert(...)
        .email(emails_group)

If You are calling this as a template, then it's already working. Sorry for misunderstanding if I am not right.
The real reason this issue is created is to get emails from InfluxDb during select-query.
Imagine we have a table with tag-column Product and field-column ManagerEmail.
I want to query data about product from another table, group by data by Product and email alerts to ManagerEmail.
And it is not working at all. I am guessing type of batch.field-variable is not the same as if I've created same variable as string-array.
Here is a sample of script I want to create:
var managerData = batch
    |query(...)

var productData = batch
    |query(...)
        .groupby('Product')
    |join(managerData) // here joining is done by 'product'
    |alert(...)
        .email(managerData.ManagerEmail) // substituting email-array taken from db

Thanks in advance


change the way files are found; now searches relative to basedir only…

… if it does not already reference it

I test your code , but it seems that it doesn't work , there's something wrong? @teddytree


Autocmd

I have a problem with autocmds :

Case 1

I start nvim
run a command from a test plugging (ex SetLine)
trigger an event (ex: BufEnter)
=> it works

Case 2

I start nvim
no command call
trigger an event
=> autocmd has not effect

Thanks for the report. I'm assuming the autocmd is defined in the same plugin as the command in case 1, number 2?

If possible please try again on neovim master.

Works for me! Thanks all.


Load heatmap data asynchronously?

I am getting invalid heatmap data <heatmap-layer id="hmap" data="vm.restos"> while loading my page, and thus no heatmapLayers property on my map, which then leads a to second error as the NgMap promise resolves.
How should I configure this as the website example is for synchronously loaded data
		Promise.all([NgMap.getMap(), $http.get('/api/restos/heatmap')])
		.then( results => {
			this.map = results[0];
			this.heatmap = this.map.heatmapLayers.hmap;

			this.restos =
				results[1].data
				.map( r => ({
					location: new google.maps.LatLng(r.lat, r.lng),
					weight: r.rating
				}) );

			var heatmap = new google.maps.visualization.HeatmapLayer({
				data: this.restos
			});
			heatmap.setMap(this.map);
		});

hmm. you are doing ES6?
Have you tried ng-if?
If not work, please provide me a plunker example with google heat map example data, which is used here or any public heatmap data.

Closing, if not works, please reopen it with an example


Added some metrics for celery task completion time

Pre-Flight checklist

[x] Testing

[x] Changes have been manually tested

What are the relevant tickets?
N/A
What's this PR do?
This adds some logging for metrics that we'll use to monitor how quickly sites are being published after the user requests them.
How should this be manually tested?
Run docker-compose up, you should see output like this for the cron tasks:
celery_1        | [2022-03-31 17:00:05,823: INFO/ForkPoolWorker-3] task_event=log_task_deltatime task_name=videos.tasks.update_transcripts_for_updated_videos task_id=9cdc679b-5266-4ddb-97ce-620126a2bf94 task_state=SUCCESS task_sent_timestamp=1648746005.336164 task_postrun_timstamp=1648746005.8233888 task_deltatime=0.487224817276001

Codecov Report

Merging #1187 (10c8a73) into master (0c0f3e6) will increase coverage by 4.46%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1187      +/-   ##
==========================================
+ Coverage   90.92%   95.38%   +4.46%
==========================================
  Files         210       98     -112
  Lines        8398     2689    -5709
  Branches     1441      554     -887
==========================================
- Hits         7636     2565    -5071
+ Misses        661      124     -537
+ Partials      101        0     -101

Impacted Files
Coverage Δ

main/celery.py

content_sync/factories.py

websites/admin.py

fixtures/common.py

content_sync/backends/github.py

news/views.py

conftest.py

gdrive_sync/__init__.py

...tes/management/commands/markdown_cleaning/utils.py

gdrive_sync/models.py

... and 102 more

Continue to review full report at Codecov.

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


Android - Room- Room chat logo appears after add attachment

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Lunch the app
Log in with expensifail account
Tap on Fub menu - Room
Name the room and select workspace
Tap create room
After room created add attachment

Expected Result:
Room chat logo should appears after create a room
Actual Result:
Room chat logo appears after add attachment
Workaround:
Uknown
Platform:

Where is this issue occurring?

Android

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/148577267-0378af32-7ae9-4b15-b3d1-8d94b61b40ef.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @deetergp (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

This definitely seems like something an external contributor could work on.

Triggered auto assignment to @kadiealexander (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Proposal

So I found out that we recently change the icons on report data to have [' '] for chat rooms. https://github.com/Expensify/App/commit/02918f0fbf3f5f3c5804ca1375b82ee1236aa003. I basically do not understand the purpose of this. cc: @TomatoToaster .

In the same PR, we updated the EmptyStateAvatar https://github.com/Expensify/App/blob/e5f44024539e9276adfa6815a2682a3e04f3bf14/src/components/EmptyStateAvatars.js#L28.
But as HeaderView does not take the option same as LHN. we need to correct the MultipleAvatar component as well https://github.com/Expensify/App/blob/60671001cc6e01cda69d8fcffd7e8eec13fb0f75/src/components/MultipleAvatars.js#L46.
So that it renders the images for Rooms.
We need to add another check for props.isChatRoom  to the condition.
But I would like to ask @TomatoToaster about  https://github.com/Expensify/App/commit/02918f0fbf3f5f3c5804ca1375b82ee1236aa003. Why is this necessary?

@parasharrajat It has been the case for a while that chatRooms like defaultRooms used [''] for their reportIcons
Chat rooms always use the default lounge chair icon (or the archived icon if they are archived) that's why they never need to look at personalDetails of their members. I added that line because for private User Created Policy Rooms, it is possible to have no other members in the chat room. So in that line of code, personalDetail.avatar would throw an undefined TypeError because personalDetail = personalDetailList[0]

In the same PR, we updated the EmptyStateAvatar

This was not really updated, previously this was the case for defaultRooms already so it was just updating to use chatRooms so User Created Policy Rooms could also get this behavior.

But as HeaderView does not take the option same as LHN. we need to correct the MultipleAvatar component as well
So that it renders the images for Rooms.
We need to add another check for props.isChatRoom to the condition.
But I think
is also needs to be changed. As it will fail for the same reason as before does not take the option same as LHN..
We have to update this condition and allow to pass the control to next condition via adding !props.isChatRoom to it.

I'm a little confused about this part, wouldn't these work fine since [''].length = 1?  I think I might be misunderstanding this part could you clarify.

@deetergp did you mean to remove me from assignment here?

Thanks for the context @TomatoToaster.

I'm a little confused about this part, wouldn't these work fine since [''].length = 1? I think I might be misunderstanding this part could you clarify.

I was planning to clean up the code.

I tested the solution but It seems to be that LHN Is getting the icons property but ReportScreen and HeaderView do not.
A possible theory is that due to https://github.com/Expensify/App/blob/60671001cc6e01cda69d8fcffd7e8eec13fb0f75/src/libs/actions/PersonalDetails.js#L162 , icons are not updated at all on the report data as the participant's list is empty.
LHN calls getOptions where you added code to create the icons but how will the main report data get this? I think a better solution would be to directly render the Room icon when props.isChatRoom is true. So for this, I was suggesting removing the https://github.com/Expensify/App/blob/e5f44024539e9276adfa6815a2682a3e04f3bf14/src/components/EmptyStateAvatars.js#L24 check for props.isChatRoom= true.

Issue not reproducible during KI retests. (First week)

Oh no, @kadiealexander, un-assigning you was completely by accident. I must have "unassigned everybody" around the same time the External label added you.
According to @mvtglobally this issue is no longer reproducible during the KI retests. Let's let it ride through next week and if that is still the case, I will close it.

Issue not reproducible during KI retests. (Second week)

Not reproducible after two weeks, so I am closing it.


Cells can't be changed in runtime in a Tilemap using TileSetScenesCollectionSource

Godot version
4.0-stable
System information
Windows 10, Forward+, Intel HD 620
Issue description
A Tilemap2D with scene tiles in a TileSetScenesCollectionSource is not affected by set_cell, erase or similar functions.
The tiles can be looped through with get_used_tiles, but can't be updated from script.
Steps to reproduce
Create a tile scene and a tilemap. Add a tileset and add a TileSetScenesCollectionSource. Add the scene to the tileset.
Draw tiles.
Add a script to the tilemap.
In the process function do a clear()
Expected result: the tiles disappear when you run the game
Actual result: the tiles are not affected.
If you try the same thing with a regular TileSet, everything works as expected.
Minimal reproduction project
N/A

Related #74867


Add Text behind Clock

is it possible to add a text behind the Clock?

What do you mean exactly with that?

Text behind the clock time (Text in Red :))

If you just want static text, you can do this by escaping the string in the config.
For example, above would be:
firstLineFormat: "T 'Clock'"


Filtering, Max Files and Supporting URLs

Hi! We've been playing with your module for the last few days and were hoping to include it in Stremio's local streaming server.
I wanted to share our experience with it. 😄
Specifically this code gave us a bit of trouble: https://github.com/doom-fish/rar-stream/blob/caf795311b47a4cc866895ca06088a9d25a7ea05/src/rar-files-package.ts#L55-L75
This is used to traverse the archive in order to read the file headers and prepare the file chunks.
We stress tested it with some cases, one being a 175gb archive with many files included, which would take many tens of seconds until it finished parsing the file list due to the code linked above.
We thus added some options:
{
  "fileIdx": 1,
  "fileMustInclude": ["hello world", "/dexter/i"]
}

These were added so we can stop parsing when we find the file that we require, and also to skip adding the file chunks for all files we do not require. (you can see the changes here: https://github.com/Stremio/rar-stream/blob/ee358ffe86b7060e554aa326a14d15e6f0cb739d/src/rar-files-package.ts#L55-L95 )
As far as we can tell the traversal to get the file list needs to be sequential and there is no shortcut to this method.
We were thinking that one way that we could continue using this module (and not a fork of it) would be to possibly simplify these options so they could be useful for more users, such as:
{
  "maxFiles": 1,
  "filter": (filename, fileIdx) => {
    return filename.includes('hello world')
  }
}

Otherwise, you did absolutely amazing work! I kept stumbling over your module through the years and kept disregarding it because I couldn't wrap my mind around what missing decompression means for RAR archives, and it randomly came to me recently that we don't need decompression at all for our usecase.
Our experiments lead to making this module: https://github.com/stremio/rar-http
It adds support for URLs and uses an HTTP API. I believe that support for URLs could also be added directly to your module, but if we want to keep the spirit of a self-contained (no dependencies) module, it may be hassle to use the http / https modules directly for this task.
We're mostly curious about your opinion on all of this, and if you would even accept PRs for such changes.
Thank you for building rar-stream!

I also found the readme of unzip-stream interesting: https://www.npmjs.com/package/unzip-stream
As it also has a method of giving the user of the module control over the traversal of the archive's file list.

Hello 👋 so nice to hear that you find use of this library!
Hehe I had the same discovery that most media related cases uses rar just for file splitting. As a retired warez scener I know the reasons for splitting files like this but it makes less sense from the outside. Anyhow, nice to be able to stream things directly without having to have all the content locally.
I am a bit busy at the moment, but your suggestions are reasonable and sound. I will assess things more closely tomorrow.
Happy to receive PRs.
Cheers and thanks for the kind words!

When I think of it I think we can optimize it further and calculate the chunks with some arithmetics. As we know the file size and the intermediate chunks should have a constant size for file heads.
I'll do some digging. Filtering is not a bad idea either, especially with a lot of smaller files.

@1313 sorry for the late reply, i have been hunting for a new apartment lately

When I think of it I think we can optimize it further and calculate the chunks with some arithmetics.

That would be great, I have many test cases if you need anything tested, and we are also willing to assist with development for improving the module. Should we wait to see what results your current attempts lead to? Or do you have any details of how you think some features should be best implemented?

Haha when revisiting the code I see that the optimisation is already there.
Sorry for a late reply here as well. Short on free time with two toddlers to run after. I hope the apartment hung bares fruit.
Anyhow, I think a filtering solution would be great, if you want to give it a shot I'm happy to review a PR and we can take the discussion from there.
Cheers

although off-topic, another interesting case i ran into is the way that the FileMedia interface works: https://github.com/doom-fish/rar-stream?tab=readme-ov-file#innerfile-api
it expects createReadStream() to be synchronous, which only creates an issue if I try to use node-fetch instead of needle, as the expected way of using node-fetch would be:
const createReadStream = async () => {
  const fetch = require('node-fetch');
  const resp = await fetch(url, opts);
  return resp.body; // this is a stream
}

so node-fetch can only be used in an async function, using await file.createReadStream() should work for both sync and async cases.
this is outside of our need, i just thought that using node-fetch would have been interesting because it can easily be swapped with the browser's own HTML5 fetch, and there is a good chance that rar-stream could be browserified to unpack and play a video straight in the browser when combined with something like: https://www.npmjs.com/package/videostream
just something to think about 😄

I'll look into making the lib browser ready as well. I suspect that the binary dependency used for reading the headers requires node.


H

[Enter feedback here]

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

ID: c892f468-4b1f-ab7d-ef5a-4abe7f1e3b7f
Version Independent ID: 1fb5401d-88d2-1c30-0312-4c8b7d7377f6
Content: What's new in Azure Cognitive Search
Content Source: articles/search/whats-new.md
Service: cognitive-search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

@HUIIIM
Could you please elaborate the query for better understanding. So, we can assist you further.

@HUIIIM,  Just checking in to see if you have had a chance to see the previous response. Kindly let us know if you need further assistance on this issue or is good to be closed.  // @SaibabaBalapur-MSFT

@HUIIIM
Since we have not heard back from you, we will now proceed to close this thread.If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


fix Send / Sync (typos)

I think I found a couple copy-paste errors.

How does HashMap in std implement Send and Sync bounds?

I actually don’t think that Iter can be Send because it holds a reference to the map. If I recall those bounds were intentional.

Hi @carllerche.  I'm not sure if Iter should be Send or not.
But if that's the case, wouldn't Drain, IterMut, and ValueIterMut have the same bounds?
https://github.com/hyperium/http/blob/8d45bd56007ef341686a54cf092446fe8f988123/src/header/map.rs#L2002-L2003
https://github.com/hyperium/http/blob/8d45bd56007ef341686a54cf092446fe8f988123/src/header/map.rs#L2102-L2103
https://github.com/hyperium/http/blob/8d45bd56007ef341686a54cf092446fe8f988123/src/header/map.rs#L2531-L2532

...
https://github.com/hyperium/http/blob/8d45bd56007ef341686a54cf092446fe8f988123/src/header/map.rs#L1941-L1942

@carllerche you're right! This pattern is also in the rust core libraries.  Still feels like a typo (and if not, that it needs a nice fat comment).
https://github.com/rust-lang/rust/blob/917945d662c42053383fe3e71cb0f313d585e459/src/liballoc/collections/linked_list.rs#L1202-L1218
https://github.com/rust-lang/rust/blob/917945d662c42053383fe3e71cb0f313d585e459/src/libcore/slice/mod.rs#L2650-L2653
https://github.com/rust-lang/rust/blob/master/src/libstd/collections/hash/table.rs#L916-L917

@carllerche You're right, the pattern of sync-implies-ref-is-send is deep in the rust type system.

Would you mind adding a comment including your findings for the next person?

Well, I think I understand why Iter<T: Sync> is Sync + Send, but I don't understand why Iter<T: Send> is not Send, nor why IterMut/Drain etc... don't follow the same pattern.
If a good explanation appears in rust#53625, I'll can open this with a nice comment.


Fix function signatures

Hello,
When I compile box2d with gcc-13.2 on 32 bit target (SH4 CPU, Dreamcast) I got compilation errors, like 'error: passing argument 4 of ‘b2DynamicTree_RayCast’ from incompatible pointer type [-Werror=incompatible-pointer-types]/A' because some function signature don't match. With this fix compilation works fine for gcc-13.2 and AppleClang 16.0.0

I'll address some of these in a separate PR. It looks like you just did a global search and replace in the PR.
I'm actually slowly eliminating int32_t from the library as much as I can.


Python 3 support with single codebase

Modify library to stop using deprecated distribute and use_2to3 shim and instead support both Python 2 and Python 3 within a single codebase.
This adds six as a requirement, but ends the hidden dependency on distribute>=0.6.49.

I went ahead and tested this and it works well.  Worse case maybe make a fork?

This no longer merges cleanly. Can you please rebase from master?

I just setup Travis CI to run tests for Python 3.2, 3.3, 3.3, 3.4, and 3.5.
If you rebase and force push, Travis will tell us whether tests are passing on each of those Python releases, as well as ensuring that it continues to work on Python 2.7.

I rebased this branch locally. The tests pass on Python 2.7, 3.3, 3.4, 3.5, and pypy but fail on 3.2 with the error:
ERROR: Failure: SyntaxError (invalid syntax (hashconversions.py, line 42))

Is that intended?

@ellenkoenig If you have a moment, could you please give this a second set of :eyes:? Dankeschön!

@sferik Looks fine to me :+1: . No idea what is causing the 3.2 failure though.

Rebased, merged, and released in version 0.5.0.


Oauth2 Unit Tests

Signed-off-by: Dominik Pinsel<EMAIL_ADDRESS>

Shouldn't switch back to the upstream oauth2 module since they are feature-equivalent right now, after this PR: https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/pull/2000
On the upstream the code is already well covered with tests.
Will come up with a dedicated PR

Shouldn't we switch back to the upstream oauth2 module since they are feature-equivalent right now? That happened with this PR: eclipse-dataspaceconnector/DataSpaceConnector#2000
On the upstream the code is already well covered with tests.
Will come up with a dedicated PR

As long as we have and support our custom oauth2-extension and as someone volunteered to write test we should merge them. But yeah, going back to an equivalent oauth2 extension coming from upstream is desired.


Error message if no entity available for generation

Can you add a test for that?

Wow! I just expected a functional test to prevent from so many mocks. Thanks a lot! :)


Separate rule definitions from checker body

Currently we're storing rules definitions inside checker body, ie:
https://github.com/MarketSquare/robotframework-robocop/blob/52d97f8c765566185f7aae2875a927b744d6ad61/robocop/checkers/misc.py#L75-L80
With completion of #353 or rewriting rule as a class we can separate it and put it at the beginning of the file:
rules = {
    'rule-name': (...)
}

ThisOrThatChecker(VisitorChecker):
    reported_rules = ('rule-name')

Thanks for this design we would be able to reuse rules between checkers without need of checking the same place twice (report the same issue from two checkers or two different modules).
@mnojek what do you think? With all changes to our design we would need to go with 2.0 version though.

I agree, good idea. I see that more work awaits for us than I previously thought 😜


adjustment of node props time format

Codecov Report

Merging #168 (a834ce9) into master (34180a1) will not change coverage.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##           master     #168   +/-   ##
=======================================
  Coverage   67.10%   67.10%
=======================================
  Files          75       75
  Lines        4909     4909
=======================================
  Hits         3294     3294
  Misses       1217     1217
  Partials      398      398

Impacted Files
Coverage Δ

service/node.go
54.11% <50.00%> (ø)

Continue to review full report at Codecov.

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


WIKI - TEMPLATE() ExportJson

in your exemple he have a mistake on options
local filename = "ExportFile.JSON"
local drives = Root().Temp.DriveCollect
local sep = GetPathSeparator()
local selectedDrive -- users selected drive
local options       -- popup options wrong
local options = {}       -- popup options good

Right you are! I updated
https://github.com/hossimo/GMA3Plugins/wiki/ExportJson
https://github.com/hossimo/GMA3Plugins/wiki/ExportCSV
Thanks.

Also, I can add you as a contributor if you wanted to make wiki edits.

Yes with pleasure

There you go.


[bug] Various Troubles Cross-Compiling to Android

Describe the bug
I have a project I have been successfully compiling on Windows for a desktop application, but when trying to compile to Android it fails. I have followed all steps on the alpha docs several times. It seems that my issues are related to the NDK and how they work compiling with:

Reqwest and its cc dependency. I MAY have fixed this by using rustls as instructed by @FabianLars.
Diesel with the Postgres feature. It fails when trying to access libpq.

Reproduction

Download the Tauri project on my GitHub
Follow all steps for Android app on the alpha docs
Run cargo tauri android init, and cargo tauri android dev

At my current state, the build fails with note: ld: error: unable to find library -llibpq
Please note my comments in the additional context section about troubles overriding the .cargo/config.toml file.
Expected behavior
Since my application builds on Windows and I have followed the steps to compile on Android, it should work.
Platform and versions
Using Windows...
[package]
name = "app"
version = "0.1.0"
description = "A Tauri App"
authors = ["you"]
license = ""
repository = ""
default-run = "app"
edition = "2021"
rust-version = "1.59"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[build-dependencies]
tauri-build = { version = "2.0.0-alpha.0", features = [] }
cc = { version = "1.0.79", features = ["parallel"] }

[lib]
crate-type = ["staticlib", "cdylib", "rlib"]

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "2.0.0-alpha.0", features = [] }
chrono = "0.4.23"
sha2 = "0.9.3"
base64-url = "1.4.13"
dotenv = "0.15.0"
hyper = "0.14.13"
reqwest = { version = "0.11.14", default-features = false, features = [
    "rustls-tls",
] }
diesel = { version = "2.0.0", features = [
    "postgres",
    "chrono",
    "uuid",
    "r2d2",
] }

[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
default = ["custom-protocol"]
# this feature is used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = ["tauri/custom-protocol"]

Stack trace
Compiling app v0.1.0 (C:\Users\xxgun\Documents\pdantonio\Rust\tauri\fitbit\src-tauri)
error: linking with `C:/AndroidSDK/ndk/25.0.8775105\toolchains/llvm/prebuilt/windows-x86_64\bin\aarch64-linux-android24-clang.cmd` failed: exit code: 1
  |app:rustBuildArm64Debug
  = note: "C:/AndroidSDK/ndk/25.0.8775105\\toolchains/llvm/prebuilt/windows-x86_64\\bin\\aarch64-linux-android24-clang.cmd"

........ *150 lines worth of other addresses ........

"C:\\Users\\xxgun\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\aarch64-linux-android\\lib\\libcompiler_builtins-60bcd280e935af09.rlib" "-Wl,-Bdynamic" "-llibpq" "-landroid" "-ldl" "-llog" "-lgcc" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "C:\\Users\\xxgun\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\aarch64-linux-android\\lib" "-o" "C:\\Users\\xxgun\\Documents\\pdantonio\\Rust\\tauri\\fitbit\\src-tauri\\target\\aarch64-linux-android\\debug\\deps\\libapp.so" "-Wl,--gc-sections" "-shared" "-Wl,-zrelro,-znow" "-nodefaultlibs" "-landroid" "-llog" "-lOpenSLES"
  = note: ld: error: unable to find library -llibpq
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `app` due to previous error
       Error `Failed to run `cargo build`: Command "cargo build --package app --manifest-path C:\\Users\\xxgun\\Documents\\pdantonio\\Rust\\tauri\\fitbit\\src-tauri\\Cargo.toml --target aarch64-linux-android --no-default-features --color always" didn't complete successfully, exiting with code 101.

Additional context
When I run the command cargo build --package app --manifest-path C:\\Users\\xxgun\\Documents\\pdantonio\\Rust\\tauri\\fitbit\\src-tauri\\Cargo.toml --target aarch64-linux-android --no-default-features --color always
I get:
Compiling sha2 v0.9.9
Compiling diesel v2.0.3
Compiling app v0.1.0 (C:\Users\xxgun\Documents\pdantonio\Rust\tauri\fitbit\src-tauri)
Compiling base64-url v1.4.13
Compiling dotenv v0.15.0
error: linker cc not found
|
= note: program not found
Also, I attempted to modify my config.toml file at src-tauri/.cargo/config.toml and noticed that my changes are overwritten when attempting to build again via cargo tauri android dev. I was attempting to add lines under one of the targets. I was following a guide here to see if I could fix my problems:  https://github.com/diesel-rs/diesel/issues/587
[target.armv7-linux-androideabi]
linker = 'C:/AndroidSDK/ndk/25.0.8775105\toolchains/llvm/prebuilt/windows-x86_64\bin\armv7a-linux-androideabi24-clang.cmd'
rustc-link-search = ["C:\Program Files\PostgreSQL\15\lib"] (added line)
rustc-link-lib = ["libpq"] (added line)
rustflags = [
'-L',
'C:\Users\xxgun\Documents\pdantonio\Rust\tauri\fitbit\src-tauri/.cargo',
'-Clink-arg=-landroid',
'-Clink-arg=-llog',
'-Clink-arg=-lOpenSLES',
]
I also tried to add a config.coml at my directory C://users/myusername/.cargo/config.toml. I added the whole text as shown above and it did not merge with the config.toml in the src-tauri/.cargo directory.

Could you give this another try with latest version of NDK and Tauri? It should be solved. Let me know if the issue persists.

Sorry to revive @amrbashir, but I'm having basically this same issue with sqlite, and this is the closest thing I could find to a similar issue.  Besides sqlite vs pg and mac vs windows, this basically matches the issue I'm having.  Was wondering if there was anything specific done to make this llibpq work?
ld.lld: error: unable to find library -lsqlite3
NDK: 26.1.10909125
tauri: 2.0.0-alpha.21

Oops!  Seems like this was an unrelated issue.  Sorry about that!  There was a solution already in the discord that I missed:
https://discord.com/channels/616186924390023171/1193577317491036312/1193840512822673498
basically just adding to cargo.toml deps:
libsqlite3-sys = { version = ">=0.17.2, <0.28.0", features = ["bundled"] }


Support Anonymous Subsidized Users

Support anonymous users that get subsidized usage. This is something @namesty is working on during his work on #485

This has been deemed out of scope, as it's hard to limit subsidies without being exploited.


[BUGFIX] Oneway keyword

[TASK] update gradle
[BUGFIX] oneway keyword has been moved to method level

I signed it!

Hello, thanks for the contribution.
Do you have a reference to where this change took place? I can't find it in the Android docs, and the current implementation isn't raising any warnings in my build.

The "oneway" keyword has been moved to the method level.
Android Studio tells me, that there is an error.
",  or AidlTokenType.import expected, got 'oneway'"
So moving the keyword to method level has fixed it for me.
I also don't found any reference in the docs. The only reference I found was on stackoverflow https://stackoverflow.com/questions/38632897/aidl-oneway-keyword-error

Here's the documentation reference:
The oneway keyword modifies the behavior of remote calls. When it is used, a remote call does not block. It sends the transaction data and immediately returns. The implementation of the interface eventually receives this as a regular call from the Binder thread pool as a normal remote call. If oneway is used with a local call, there is no impact, and the call is still synchronous.
https://developer.android.com/guide/components/aidl
I think this changes it from a synchronous call to an asynchronous one-shot call, but since the AIDL already has that oneway keyword, then this shouldn't pose an issue.
I do note that the interface method name has changed from: verifyLicense to checkLicense. Is this intended? Wouldn't it be a breaking change if so?
This PR might be obselete

This thing is so old. I dont even remember the pupose of this lib.
Opinion: Lets create a bunch of libs unmaintained. make it open source. So it will receive PRs. Oh no one review them.


Errors in reloading ckpt.th

During the mesh export phase, a reload issue arises, with errors occurring at L66 I believe this is due to a discrepancy between the imported parameters and the stored parameters.

Currently, we have not updated the export_mesh function to work with RBF models. We may add this support later.

The export_mesh function has been updated and now works with RBF models.


Remove precompression option from docs & UI

Once #222 is merged, remove option before releasing 1.2.14. Double closes #219

Need to update precompression default value and maybe description on the site


Slow sync() process when memory buff/cache is high.

I noticed that when memory buff/cache is high (as seen in "free" command output), the sync() process took a long time. This can be seen in mfu_sync_all("Syncing data to disk.") as well as mfu_sync_all("Syncing directory updates to disk."). This happens even in situation where there is zero file copied using dsync. See an example below:
[2022-08-10T23:23:16] Walking source path
[2022-08-10T23:23:16] Walking /path/to/source
[2022-08-10T23:23:16] Walked 3 items in 0.013 secs (223.431 items/sec) ...
[2022-08-10T23:23:16] Walked 3 items in 0.016 seconds (186.631 items/sec)
[2022-08-10T23:23:16] Walking destination path
[2022-08-10T23:23:16] Walking /path/to/destination
[2022-08-10T23:23:16] Walked 1 items in 0.006 secs (156.974 items/sec) ...
[2022-08-10T23:23:16] Walked 1 items in 0.008 seconds (118.084 items/sec)
[2022-08-10T23:23:16] Started   : Aug-10-2022, 23:23:16
[2022-08-10T23:23:16] Completed : Aug-10-2022, 23:23:16
[2022-08-10T23:23:16] Seconds   : 0.002
[2022-08-10T23:23:16] Items     : 0
[2022-08-10T23:23:16] Item Rate : 0 items in 0.001805 seconds (0.000000 items/sec)
[2022-08-10T23:23:16] Copying items to destination
[2022-08-10T23:23:16] Copying to /path/to/destination
[2022-08-10T23:23:16] Items: 2
[2022-08-10T23:23:16]   Directories: 2
[2022-08-10T23:23:16]   Files: 0
[2022-08-10T23:23:16]   Links: 0
[2022-08-10T23:23:16] Data: 0.000 B (0.000 B per file)
[2022-08-10T23:23:16] Creating 2 directories
[2022-08-10T23:23:16] Copying data.
[2022-08-10T23:23:16] Copy data: 0.000 B (0 bytes)
[2022-08-10T23:23:16] Copy rate: 0.000 B/s (0 bytes in 0.165 seconds)
[2022-08-10T23:23:16] Syncing data to disk.
[2022-08-10T23:23:41] Sync completed in 25.435 seconds.
[2022-08-10T23:23:41] Setting ownership, permissions, and timestamps.
[2022-08-10T23:23:41] Updated 2 items in 0.005 seconds (409.988 items/sec)
[2022-08-10T23:23:41] Syncing directory updates to disk.
[2022-08-10T23:24:07] Sync completed in 26.117 seconds.
[2022-08-10T23:24:07] Started: Aug-10-2022,23:23:16
[2022-08-10T23:24:07] Completed: Aug-10-2022,23:24:07
[2022-08-10T23:24:07] Seconds: 51.733
[2022-08-10T23:24:07] Items: 2
[2022-08-10T23:24:07]   Directories: 2
[2022-08-10T23:24:07]   Files: 0
[2022-08-10T23:24:07]   Links: 0
[2022-08-10T23:24:07] Data: 0.000 B (0 bytes)
[2022-08-10T23:24:07] Rate: 0.000 B/s (000 bytes in 51.733 seconds)
[2022-08-10T23:24:07] Updating timestamps on newly copied files
[2022-08-10T23:24:07] Completed updating timestamps
[2022-08-10T23:24:07] Completed sync

To mitigate this issue, I ended up have to manually trigger sync; echo 3 > /proc/sys/vm/drop_caches to clear the cache, and the sync() will complete very quickly, just few seconds even for over a million of files. Of course, I have to become root to do this, which is not generally available for a standard normal user.
Is this a known issue, or there is some tuning that can be applied?

Thanks for the report and the timing info, @hwleong .
The slowdown happens because sync() flushes buffered data from cache for all files on all file systems.  From man 2 sync:

sync() causes all pending modifications to filesystem metadata and cached file data to be written to the underlying filesystems.

With a full buffer cache, this could take a long time, especially if data needs to be flushed to slow file systems.
Calling sync() here is probably overkill.  When using dsync, we really just need to flush data for any files that it copies or at least just we could limit things to the destination file system(s).
There are a couple reasons why it may have been added.  When copying many files, a single call to sync may be faster than calling fsync individually for each file.  A second reason sync may be due to an old problem with Lustre, based on this commit: https://github.com/hpc/mpifileutils/commit/d1ebddb0707b269aa9d51259101175d39d837f90
As a future fix, we'd need to investigate whether sync can be avoided altogether, and remove it if it is not needed.  Another option would be to define a command-line option to let a user disable the calls to sync.
For now, we don't have any way to disable the sync call.  As a short term workaround, you could comment out those calls and rebuild.


[DISSASM] x64 and x86 toggles are reversed

Desktop (please complete the following information):

OS: Win11 [Version 10.0.22631.4169]
AppCUI Version: Version : 0.351.0

Describe the bug
The toggles for x64 and x86 are reversed in dissasm view

Fixed. Thank you, @tanlorik!


[AEM‐24] Stored Cross‐Site Scripting in Sidekick Options

Description
The Helix Sidekick web browser application is vulnerable to multiple instances of stored cross‐site scripting (XSS) vulnerabilities. The options page reflected user‐controlled data without properly encoding it, potentially allowing execution of malicious script.
Impact Rationale:
An attacker could create a malicious Helix project that, once added by a user with the Helix Sidekick extension installed, could result in malicious JavaScript executed in the victim’s web browser.
Likelihood Rationale:
The attack requires the victim to add a malicious project, either manually in the options page or by visiting a malicious project hosted online. Furthermore, the CSP increases the complexity of exploiting the XSS.
Mitigation:
Generally, avoid the use of potentially dangerous functions such as innerHTML, unless this is strictly required, in which case all user‐controlled input must be carefully encoded.
Consider using .text or .textContent instead of .innerHTML to insert user‐controlled values into the page.

:tada: This issue has been resolved in version 6.10.0 :tada:
The release is available on:

GitHub release
v6.10.0

Your semantic-release bot :package::rocket:


rust-bitcoin rolling release

As soon as primitives 0.101.0 releases (requires units, io, and hashes releases) I rekon we should do a rolling release of bitcoin (as new crate bitcoin-rolling). This was a shower thought this morning because I'd like to use #3424 and release it in psbt-v2.
I'm happy to take on the release work if you (@apoelstra) want, happy to raise PRs and let you do it also. My idea was release from either a separate branch on this repo or from my own fork. The idea being there should be zero changes from rust-bitcoin master branch.
Then release every month in lockstep with primitives.

We could also call it v0.33.0-alphaX and do it here, I suppose it makes no difference apart from if we do it as alpha you have to take on the release work.

I'd prefer to use the alpha naming. We can't really do "rolling releases" with crates.io.

The alpha naming would prevent us from doing backports or non-breaking changes. But I think if we were dutiful about releasing every mnoth, and yanking versions we thought were insecure, it'd be fine.

Why would it prevent it? E.g we could release, in order:

0.32.2
0.33.0-alpha.0 (tracking master)
0.33.0-alpha.1
0.32.3 (with backported stuff)
0.33.0-alpha.2 (still tracking master)

0.33.0-alpha.1 to 0.33.0-alpha.2 is a major version increase. (No, this cannot be explained as a "semver variant"; it's just cargo being cargo).

Excuse me for being slow, I'm still not understanding the problem. The point of the alpha is just to make the release yellow on crates.io to signal to folk not to use them unless they want bleeding edge, right? That was also my reasoning for releasing as a different crate bitcoin-rolling, then no one could get confused.

Yes, but a side-effect of this is that if users depend on one version of the alpha, their code will not be compatible with others' who use a different version.

Yes, I imagined that the releases were basically only useful for testing, maybe its not that useful at all and we are better just patching manifests locally to test - but that is super painful once there are a bunch of crates involved.

By "testing" I mean testing everything goes together correctly, for example in the psbt-v2 crate I could use the rolling release because it only depends on bitcoin and miniscript and nothing else higher up that would cause version problems.

I guess the question is how many crates are there like that for which this would be useful, or does everyone else write crates that have a bunch of dependencies that all use bitcoin?

Most of my binary crates depend on bitcoin then use the dependency re-exports from bitcoin. So I would use this sequence of alpha releases. But I wouldn't ever release a library that used an alpha release because it'd be too much work to keep up to date.

Yep cool, that meshes with what I had in mind. So in that case it doesn't matter that each alpha release is a new major version, right?

why not naming the "alpha" as "unstable" ? Like, it says that shouldn't be used in production and may have bugs on new features and... its idiomatic, everyone who messes with rust will get the same idea of "unstable", that's what @tcharding wants to do, right ?

I am happy with that, if cargo will let us do it. It might have whitelisted the names "alpha" and "beta". @jaoleal can you find an example of another crate using unstable?

Only rustc 👍

alpha implies that its bleeding edge and don't come whinging to us, which is what we are after, right? And it early adopters can jump right on in.
Closing this, I think we have in mind what we are doing - release as we have something that we can test. (To be explicit 0.33.0 won't be coming out for a long time.)


README Has Broken Links Due to Referencing .md Instead of .adoc

[kind/Documentation]
What did you find missing in the documentation?
Links under the Additional documentation section in the main README.adoc for the project have broken links due to the .md to .adoc conversion for documentation.
What is the relevance of it?
The Additional documentation links in the main README.md come back as 404s due to incorrect references.

/priority high
/assign @Preeticp
@Preeticp Please check the doc links associated with https://github.com/openshift/odo/blob/master/README.adoc#additional-documentation

/assign @danielhelfand

/unassign @Preeticp

/kind Documentation


ORV2-588 Remove Sliding Panel, Implement new Add Power Unit screen

Description

Removed Sliding Panel component
Added new AddVehicleDashboard component
Moved snackbar to App.js with React Context         *** Please check this ****
Disabled unimplemented features in Vehicle Inventory Table

Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Successfully added a Power Unit
[x] Snackbar appears and auto hides

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have already been accepted and merged

Further comments

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend - Vehicles available
Frontend available
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend - Vehicles available
Frontend available
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

@dependabot rebase


Java-security library does not support adding additional trusted IDs

Is your feature request related to a problem? Please describe.
Yes, please refer to https://jtrack.wdf.sap.corp/browse/NGPBUG-183290 for more details
Describe the solution you'd like
We hope that java-security can provide an API or other way so that we can add additional trusted client IDs to "JwtAudienceValidator" besides "clientid" and "xsappname".

@Alan5156 thanks a lot for your feature request.

Hi @Alan5156
while trying to find a good implementation I've looked again into your NGPBUG ticket and left a question there...

an initial API enhancement is provided with PR #877

close as alternative ideas should be considered first. See NGPBUG-183290


Why don't use webpack?

This is how we decided to approach to the problem initially. For a webpack starter take a look at:

angular2-webpack-starter
angular2-seed

For anyone searching this project's issues for "webpack" I wanted to add a couple more suggestions.
Angular-CLI switched from System.js to Webpack. Initially, it limited access to Webpack configurations which upset a lot of people but they opened that up too. Power to the people! :)
Here is an Angular-CLI project of mine and a comparison to some others. It uses Webpack.
Also, here is a nice collection of Angular 2 project starters that lists the build tools.
@mgechev have you had any new thoughts about Webpack lately?


CI Update AutoAWQ version to fix CI

Currently, the CI fails because awq tries to import a non-existing function from transformers (presumably it was there at one point but no longer is):

from transformers.modeling_utils import shard_checkpoint

E   ImportError: cannot import name 'shard_checkpoint' from 'transformers.modeling_utils' (/opt/conda/envs/peft/lib/python3.11/site-packages/transformers/modeling_utils.py)

This has been fixed in awq v0.2.7. Therefore, this newer version is now used in CI.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

no problem for me!


Add tutorial for preprocessing API

@sbalandi please include notebook to README.md
https://github.com/openvinotoolkit/openvino_notebooks/blob/main/README.md
https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/README.md

@sbalandi please include notebook to README.md https://github.com/openvinotoolkit/openvino_notebooks/blob/main/README.md https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/README.md

done

@sbalandi 117 used for model-server, please move to 118


feat: Add Canyon support

Blocked until a version including https://github.com/bluealloy/revm/pull/1065 is released.


太厉害了，感谢大佬

feature request 关联到现有issue么
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
你希望的解决方案
A clear and concise description of what you want to happen.
你是基于什么考虑需要这个的
A clear and concise description of any alternative solutions or features you've considered.
其它信息
Add any other context or screenshots about the feature request here.

客气，我只是拿github-plus改的，感谢原作者。


add org.uberfire.domain

Added an explanaiton for org.uberfire.domain system property.
TBH, I doubt that the value 'ApplicationRealm' is a good default. 'ApplicationRealm' is not a security-domain name so it falls back to 'other'. I'll raise a JIRA for it.

merged into both master and 6.2.x, thanks!


Add PriorityClass to Application Connetor deployments

Description
Changes proposed in this pull request:

Add PriorityClass to the Application Connector yaml file used in the Manager

Related issue(s)
https://github.com/kyma-project/kyma/issues/18090
https://github.com/kyma-project/kyma/issues/18091

/retest


Share find clipboard across workspaces

I'd like to be able to share the find text between different workspaces. If I search for fooBarBaz in one workspace, I want to be able to switch to another and see the same search text. Support for this seems like it may be possible given the "editor.find.globalFindClipboard" preference, but I want to synchronize only within vscode, not with the OS at large.
Thanks!

In case anyone every goes looking for this, there is a way to do it; details here:
https://stackoverflow.com/a/77504043/45978