Generalize focus management utilities

We need to work on extracting the commonality of the focus management utilities found in the dropdown #3283 and make them fully reusable for other components.

No longer planning to implement, not enough value.


[feature] add account name variable

Add a account variable to account components which includes the name
of the account, as defined by fogg.yml.
Test Plan

CI

References

Codecov Report

Merging #478 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #478   +/-   ##
=======================================
  Coverage   59.36%   59.36%
=======================================
  Files          19       19
  Lines        1996     1996
=======================================
  Hits         1185     1185
  Misses        653      653
  Partials      158      158

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 1dea7f6...fca04dc. Read the comment docs.


Does not re-hide/close after opening via hotkey

Spotlight and Alfred both close and return to the window you had active prior to invoking their hotkey. Would be great if Loungy does this as well 😃

Can you elaborate on the behavior you are missing? When I close Loungy with Esc and then reopen with the hotkey, it takes me back to the screen I was on prior to closing. There is however a timer which resets the screen back to the root screen after 90 seconds.

https://github.com/MatthiasGrandl/Loungy/assets/21319730/5ff80ada-710a-428a-bef8-85d6e86ae75d
The ability to hide or exit Loungy using the same hotkey to open it like the example video. Both Spotlight and Alfred have this behavior. I can exit using ESC just fine, but would be nice to hide using the same hotkey
interesting find too:
the KeyCaster app i use to record key presses doesn't show the keys when I'm within Loungy 🤔 (end of video)

Ah ok I get it! Yeah should be no problem to fix. Didn’t consider some people using the same hotkey to toggle their launcher. I always just ESC.
Regarding the keys not showing while in Loungy, I assume it’s because it’s not a native input field? Not sure how I would go about fixing it. Does it work in the Zed editor?

yep! seems to work in the Zed editor. strange behavior that Loungy doesn't register these clicks
https://github.com/MatthiasGrandl/Loungy/assets/21319730/4341a07e-76d0-4937-badd-e47dd8531a75

I implemented this. Was a bit more work than expected, because I had to add some state tracking which command is currently running in the foreground. For example:

I have the clipboard manager open with hotkey (Hyper+V), I want it to close by using the same hotkey.
If I have the root view open and then use the clipboard manager hotkey, I want it to open the clipboard manager and not close the window.

Should be working nicely now.

nice! I'll keep a lookout on GH and Brew releases!

nice! I'll keep a lookout on GH and Brew releases!

I still have to fix the release pipeline. MacOS notarization broke somehow and it's impossible to debug :(

It's released now, albeit without notarization, so MacOS might complain about Loungy being untrusted.


TTL timeout during planned failover / ElastiCache maintenance

the fix in #385 was incomplete, the cluster might not be reinitialized if reinitialize_counter is already increased:
https://github.com/Grokzen/redis-py-cluster/blob/f0aaaa4e539bc62e38ce6e23839a12ff192cb7ea/rediscluster/client.py#L661-L664
https://github.com/Grokzen/redis-py-cluster/blob/f0aaaa4e539bc62e38ce6e23839a12ff192cb7ea/rediscluster/nodemanager.py#L348-L352
During a planned ElastiCache failover, the old primary redirects requests to the new one by sending MOVED responses (thereby increasing reinitialize_counter) before terminating the old primary.
https://github.com/Grokzen/redis-py-cluster/blob/f0aaaa4e539bc62e38ce6e23839a12ff192cb7ea/rediscluster/client.py#L689
An alternative approach to the counter would be to reinitialize on all MOVED responses (as discussed before), as those would always affect a larger amount of slots (at least with EC). This approach is also suggested in the redis documentation:

When a redirection is encountered, it is likely multiple slots were reconfigured rather than just one, so updating the client configuration as soon as possible is often the best strategy
https://redis.io/topics/cluster-spec

So if i understand the problem right, the error comes from that we might run past the modulus operation and skip the step where it goes to 0? If i do not miss remember we used to have cluster reinitialize on every moved error that we got back and that was why we added in the counter to give it some slack when we might get more then 1 moved error or it just got to be some random fluke or accident or something. Also would it not be the same if you just set self.reinitialize_steps=1 and it would kinda reinitialize on every MOVED error anyway?

Hmm, when impelmenting it, the idea was that if you got into a case where you would trigger a lot of reinitialize cases you would either hit it quickly or you would just overshoot and hit it again very quickly triggering it and it would recover eventually.
I am sure that solution can be explored to stop the modulus and reset it elsewhere if it goes above that limit. The main thing i guess would be threadsaftey if the reinitialize would trigger from multiple threads at once and overwrite eachother and they all would try to update it. But can check that out as well.
Since i am not super familiar with ElasticCache and the operations of it, what do i need to know if i want to experiment with that feature and try to simulate the same conditions you found the error in? Is a planned failover a case where you yourself shutdown a node or is that feature something that AWS supports us as users with to make some kind of failover and upgrade on demand?

The current implementation does not seem threadsafe either if the counter is increasing fast enough.
What about setting a flag that a reinitialize is in progress and skipping the initialize() in this case (there might be some edge cases regarding exceptions within initialize()) ?

ElastiCache will occasionally replace nodes during a configurable maintenance window ("These replacements are needed to apply mandatory software updates to your underlying host"), they refused to provide information on the maintenance failover process, but it looks similar to CLUSTER FAILOVER:

after a replica is promoted, the DNS record is updated and the old master will send MOVED responses until it is shutdown (resulting in connection closed -> connection refused -> TCP timeouts, starting after ~1 minute)

The best way to reproduce is via vagrant or docker, the node termination should be simulated with iptables (just shutting the container down could result in refused connections instead of timeouts) or a tool like pumba (set 100% packetloss).

Hi, any update about this issue?
I also exposed to the same issue on aws maintenance window

With the latest version of redis-py-cluster (2.1.3), I would recommend setting reinitialize_steps=1, and retry logic to recreate the rediscluster client upon ClusterDownError or BusyLoadingError.
In my experiments with ElastiCache failover, the redis cluster will be unavailable for 1 minute (Throwing MovedError, ConnectionError,  and ClusterDownError). With the default initialization_step and TTL value, I will also get BusyLoadingError as I suspect the new node may be assigned the same IP address but the client hasn't reached the conditions to re-examine the cluster layout.

this was fixed in redis-py, after 5 retry attempts (with 250ms delay each), reinitialization is forced:
https://github.com/redis/redis-py/blob/bea72995fd39b01e2f0a1682b16b6c7690933f36/redis/cluster.py#L1119-L1138


Custom entry point instead of main.rs

Hello,
Is it possible to start trunk using main2.rs instead of main.rs ?
Can't find any info about this in config file.
Thank you in advance for your answer.

Hello! Found a solution?


View videos in colab

Is there a way to view videos in google colab?

Same question!

from IPython.display import HTML, display
import base64

def Video(path, width=800, type='mp4'):
  display(HTML(f"<video width={width} controls src='data:video/{type};base64,{(base64.b64encode(open(path, 'rb').read()).decode('utf-8'))}'>" ))

Video('vid.mp4')

works fine on videos with relatively small sizes.
ref: https://stackoverflow.com/a/68294183, https://stackoverflow.com/a/57378660

Oh, that's a great idea. Thank you!


Integrate opencv with webapps

Checklist

Please note that in case of below checklist not updated accordingly, the maintainers have the right to immediately close your pull request.

[x] You created a branch from dev branch.
[x] You PR is raised on dev branch and not onmaster.
[x] Blog follows Blog Guidelines.
[x] You have read the Contribution Guidelines before creating this PR.
[x] Checked for any duplicate blog entry.
[x] Checked for all grammatical errors in the blog.
[x] You have not published the blog content anywhere else on the internet on platforms like medium, dev.to etc.
[x] The content is not copy-pasted from anywhere else on the Internet.

Description of change

Ooencv in webapps

This is being rejected as it didn't meet our guidelines or quality standards,
You can refer to the guidelines here:

https://github.com/LoginRadius/engineering-portal/blob/master/GUIDELINES.md
https://github.com/LoginRadius/engineering-portal/blob/master/CONTRIBUTING.md


[Feature] customization hook for load_yaml_dags

Description
Currently, file finding/reading is tightly coupled with DAG building in load_yaml_dags. I propose looser coupling or a hook to allow customizing the  DAG via Python code, instead of directly translating the yaml.
DagFactory.__init__  can take either a yaml file path or a python dictionary. However, load_yaml_dags only allows passing file paths to DagFactory. It'd be nice to have a way to hook into it to pre-process the yaml file and pass a modified dict to DagFactory.
Basically, I see 3 parts here:

given a list of directories and recursive flag, find some files
process those files (maybe in context with each other, ie #297) and generate dicts
pass the dicts to DagFactory to build DAGs

Use case/motivation
I'd like to be able to tweak the "yaml DAG DSL" a bit for my application, instead of directly translating to Airflow DAG semantics - goal is to make it easier/less verbose for non-technical users & add certain features on top of base Airflow semantics without writing new operators & requiring users to understand them.
Basically, I only allow BashOperator (may eventually swap to DockerOperator) and I treat dag-factory as analogous to a Makefile, and I'd like to minimize the boilerplate required, as well as add additional task parameters (to specify which Bash runtime environment to use: ie, setting PATH/PYTHONPATH, etc).
Related issues
#289, #290, #297
Are you willing to submit a PR?

[x] Yes, I am willing to submit a PR!

Hi, @wearpants. You have some great ideas for improving the DAG factory. Would you like to have a call to discuss them next week? Thirty minutes may be good enough to brainstorm.

@tatiana happy to, you can schedule here https://calendly.com/pete-fein/30min

to follow up from our call, the kind of dsl i am imagining would allow me to abstract away/hide airflow specific constructs - dag factory feels like it could be the basis for a generic dag specification portable between different orchestrators, or even transpiled to a makefile or casey/just


showing APL on device with display

Briefly summarize your issue:
The requests from AVS doesn't have the necessary information to say that it supports a display to respond with APL. As per forum discussion, the request envelope should have Alexa.Presentation.APL in the supported interfaces. Responses that have display-cards do get passed in the response for Templateruntime to show the card in the log. But since the request doesn't have Alexa.Presentation.APL in the supported interfaces, the APL is not being returned to template renderer. Could I get the direction on what needs to be updated for this to work, or if the support is already there and I am missing something.
Tell us about your environment:

What version of the AVS Device SDK are you using?
  v1.13

Tell us what hardware you're using:

[*] Other - tell us more: Android App

Tell us about your OS (Type & version):

[*] Other - tell us more: Android

Hello @k4Shinigami
The APL API’s are not public yet, and Alexa Device SDK doesn’t handle them.  Please use the Request Access form at the bottom of Alexa Smart Screen and TV SDK page to request access to SmartScreenSDK private beta.
Best regards,
-SWH

Thank you for the reply @scotthea-amazon . Just requested access to the sdk and hopefully I ll get it soon.
One question is I am calling capabilities api to indicate the device has a display to get data for type listTemplate. I do get a success(204) from the capabilties endpoint after authentication. But the subsequent request from the avs-device doesn't have display in the supported interaces and only has audioplayer. Is this also a limitation on avs-device-sdk or am i missing something?

Hi @k4Shinigami, I'm not sure I understand the question. Could you give me a bit more detail about what you mean by "calling capabilities api to indicate the device has a display"?

Hello @caleighatamazon, for the background I am using a JNI wrapper around avs for Android - mostly from the alexa-auto-sdk code. I am authorizing app using CBL. Once I get the auth token, I am sending a POST request to the capabilities API with  a body similar to the Sample Request Body. From what I understand from the documentation, I am only calling the capabilities once on AUTH and not for every request. I do get a success of 204 from the endpoint saying it registered the capabilities, but checking subsequent requests in developer console I dont see the capabilities/supportedInterfaces. It only has audioplayer.
Let me know if I said something confusing or did anything wrong in the flow. Cheers and Thanks!

Hi @k4Shinigami, thanks for your response. It does sound like your device is using the capabilities API at the appropriate time (that is, only when the device requires a new auth token).
Could you provide the POST request body for the Capabilities API that you're sending (the capabilities list)?
Also, in your original issue, you wrote "As per forum discussion" -- could you please send me the link to that forum discussion just to make sure I get the full context here?
Also, could you be more specific about how you "[check] subsequent requests in developer console"? Where are you looking for the product's capabilities in the dev console?
Thanks!

Could you provide the POST request body for the Capabilities API that you're sending (the capabilities list)?

Alrighty =>
HEADERS:
("Content-Type", "application/json")
("x-amz-access-token", accessToken)
("Content-Length", String.valueOf(input.length))

BODY:
capabilitiesMap.put("TemplateRuntime", "1.0");
capabilitiesMap.put("AudioPlayer", "1.0");
capabilitiesMap.put("Notifications", "1.0");
capabilitiesMap.put("PlaybackController", "1.0");
capabilitiesMap.put("Speaker", "1.0");
capabilitiesMap.put("SpeechRecognizer", "1.0");
capabilitiesMap.put("SpeechSynthesizer", "1.0");

which translates to :
{
    "envelopeVersion": "20160207",
    "capabilities": [
        {
            "type": "AlexaInterface",
            "interface": "TemplateRuntime",
            "version": "1.0"
        },
	{
            "type": "AlexaInterface",
            "interface": "AudioPlayer",
            "version": "1.0"
        },
        {
            "type": "AlexaInterface",
            "interface": "Notifications",
            "version": "1.0"
        },
        {
            "type": "AlexaInterface",
            "interface": "PlaybackController",
            "version": "1.1"
        },
        {
            "type": "AlexaInterface",
            "interface": "Speaker",
            "version": "1.0"
        },
        {
            "type": "AlexaInterface",
            "interface": "SpeechRecognizer",
            "version": "2.0"
        },
        {
            "type": "AlexaInterface",
            "interface": "SpeechSynthesizer",
            "version": "1.0"
        },
    ]
}

which is part of the sample request from capabilities API page. I was doing a PUT and NOT POST to the endpoint https://api.amazonalexa.com/v1/devices/@self/capabilities

could you be more specific about how you "[check] subsequent requests in developer console"? Where are you looking for the product's capabilities in the dev console?

I was checking the cloudwatch logs of my skill lambda to determine the supportedInterfaces on the incoming request.

Also, in your original issue, you wrote "As per forum discussion" -- could you please send me the link to that forum discussion just to make sure I get the full context here?

https://forums.developer.amazon.com/questions/196261/how-to-prevent-skill-with-apl-from-failing-on-devi.html?childToView=196262#answer-196262
In the answer there
    handlerInput.requestEnvelope.context.Viewport
}

Passing a response with bodyTemplate/weatherTemplate without the check works. But passing response with APL or a listtemplate without checking for display/viewport was just resulting in a something went wrong with the skill.

@k4Shinigami did you resolve the issue?

Hi @k4Shinigami please take a look at https://github.com/alexa/alexa-smart-screen-sdk - our public smart screen sdk based on the voice sdk that supports APL.
https://developer.amazon.com/en-US/alexa/alexa-voice-service/alexa-smart-screen-sdk
You can read more about it here: https://developer.amazon.com/en-US/blogs/alexa/device-makers/2019/11/announcing-general-availability-of-alexa-smart-screen-sdk-for-tvs-smart-displays-and-more

@ecruzado Unfortunately no, I did not get time to go back to this but we were planning to use the smart screen sdk once it is out (which is out currently). Since we are passing the required params to the service, I dont imagine the problem is in the client. So instead of trying to hammer it down, we will explore the alternative.
Thank you @chemudug-amzn , we will start taking advantage of the smart screen sdk for the APL soon in our organization.


Add methods for interacting with raw data

https://www.vaultproject.io/docs/http/sys-raw.html

It does not appear that this endpoint is actually available in the Vault API yet. Closing for now.


Sriharsha/reduction deployment patch

Following changes are made as a patch update to execute the workflows and the respective shell scripts in the EC2 instance as 'ec2-user'
*Changes/additions are made to support the leto reduction - cv2_jpg_reduction, ffmpeg_resolution_downsampler, and fps_bitrate modules deployment in target AWS EC2 instances using a common standard shell script which will be deployed in EC2 and triggered with a GitHub workflow.
*This also contains a new workflow to run the leto - python scripts, which are already deployed in the EC2 instance.
Changes are done in the following files:
1.In '.github/workflows/create-ec2.yml', updated the 'uses: aws-actions/configure-aws-credentials@v1' to 'uses: aws-actions/configure-aws-credentials@v2'
2.In '.github/workflows/deploy-reduction-modules-in-ec2.yml', updated 'ssm-user/ text to 'ec2-user'
3.In '.github/workflows/run-python-scripts-in-ec2.yml', updated the steps name and ssm commands
4.In 'deployment_scripts/README.md', added new 'Prerequisite' steps and also updated instruction numbers '1' & '2'
5.In 'deployment_scripts/deploy-reduction-modules-in-ec2.sh', updated 'ssm-user/ text to 'ec2-user' and removed '#Add libraries path to the environment variable PATH temporarily', '#Add libraries path to the environment variable 'PATH' permanently' sections
New files:
1.Added new shell script 'deployment_scripts/run-python-scripts-in-ec2.sh' to support python script execution in EC2 instance as 'ec2-user'

change in the inputs to curl from main, other than that looks good.

Yes, I just updated the curl links in both yaml files. Pls reload and check.


DS: Jupyter Notebook: add access to cell metadata

Feature: Notebook Editor, Interactive Window, Python Editor cells
As an extension to #8368, to access the full notebook functionality, cell metadata should be accessible to view and modify in some manner.

Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer

Thanks for the suggestion.
How do you access it now outside of VS code?

In Jupyter lab, the cell and document level metadata is available in the side-bar, which also contains controls for tags, and is interactive (i.e. you can type into the metadata boxes). This would be the ideal solution, but I'm not sure if this could be achieved in the VS Code view containers? If not, perhaps a partial solution would be a button to toggle between a metadata viewer and the current variables' viewer.

Thanks for the suggestion. We'll review this and get back to you.

This is essential for rendering notebooks into slides.
A simple solution for cell metadata would be to add the option to view and edit the raw json of the cell in addition to the current markdown/code options.


cmd/go: workspace problems

Version: go1.18
Repro in latest release
macOS 12.3.1 M1 Max
In order to reduce imports in a large package, I used a workspace with embedded go.mod. This no work with go workspace sync
github.com/haraldrudell/parl
┠  go.work: use ./mains, use .
┠  go.mod: next to no dependencies
┠ mains
 └ go.mod: requires the internet
Problem 1: “go work sync” for importer no work
go work sync
go<EMAIL_ADDRESS>reading github.com/haraldrudell/parl/mains/mains/go.mod
at revision mains/v0.4.4:
unknown revision mains/v0.4.4
1-21:11:23 foxyboy@c66 import-parl%

Note: import-parl is a project that runs something from every package. It’s got a similar module set-up, too, for its imports
Problem 2: no version tags on pkg.go.dev
Although mains package is in the same repository with the same git tags,
mains doesn’t get a version or version history:
https://pkg.go.dev/github.com/haraldrudell/parl/mains
— Version: v0.0.0-20220411030804-48d01f316f70
https://pkg.go.dev/github.com/haraldrudell/parl
— Version: v0.4.3
Problem 3: go get -u
go get -u doesn’t seem to like life either. You have to specify the specific versions
go get<EMAIL_ADDRESS>What did you expect to see?

I expected go work sync to complete successfully with status code 0
I expected the mains sub-package to be of version  v0.4.3
I expected go get -u to upgrade to latest available version

What did you see instead?
status code 1: error
Version: v0.0.0-20220411030804-48d01f316f70
Note: I am a target of HoffmanMoritzPincus. Anything with my name on it may be quickly hidden, discredited or closed

It seems the cause is that the sub-packages do not get version number from the repository git tag.
Instead of using the version of the top package, they have git versions like v0.0.0-20220412173619-21bc3de3d441, the time there being utc
If they are upgraded using:
go get -u github.com/haraldrudell/parl/mains@latest
it works
works for me…

Modules inside subdirectories indeed need to be tagged separately, as described at https://go.dev/ref/mod#module-path and https://go.dev/ref/mod#vcs-version. Since I understand there's no more issue here, closing.


manually integrating css not working

I am using Videogular, it is absolutely good there is no doubt about that but works only with http:/ calls as its theme is in http://www.videogular.com/styles/themes/default/latest/videogular.css.
But my application work only on secure https. Problem with http and https cross calls. So i decided to download the content of videogular css and try to implement manually. But it seems it doesnt work.
Can any one help please?
either by letting me know how to integrate videogular css manually to project or if there is any https support available from videogular.
Thanks,
-/Sammi

You should download the CSS file but also the font files.
Then put the CSS and the fonts in a fonts folder in the same directory. You can just put the CSS file in your header.
<link rel="stylesheet" href="styles/themes/default/latest/videogular.css">

You can find the theme and the fonts in the bower repository:
https://github.com/2fdevs/bower-videogular-themes-default

Thanks for quick reply. Now I have questions again.

is it necessary to maintain the folder structure that you suggested in answer? I have my own folder structure already and I am pointing to correct font url in videogular.css
@font-face {
font-family: 'videogular';
src: url('fonts/videogular.eot');
src: url('fonts/videogular.eot?#iefix') format('embedded-opentype'),
url('fonts/videogular.woff') format('woff'),
url('fonts/videogular.ttf') format('truetype'),
url('fonts/videogular.svg#videogular') format('svg');
font-weight: normal;
font-style: normal;
}

Also i add the .css files using my main.css file. I hope that should be fine.

After doing all this also I am still not able to get the proper display.
P.S. : is there any hard coding for font url inside code?? Sorry Its just a question to clarify myself.
Thanks,
-/Sammi

Please see the attached screenshot. Video is becoming the part of control menu.,

You need to add an attribute vg-type="audio" in vg-media tag.
You can see a demo here: http://www.videogular.com/examples/creating-an-audio-player/

Sorry if i have forgot to mention, but I am working on Video file :).
Example ;
{ src: $sce.trustAsResourceUrl("https://abcd.blob.core.net.xyz.myvideo.mp4"), type: "video/mp4" }
in Html tried with vg-type="audio" and vg-type="video".
I am sure I am missing something really silly.
Some more info : I have added this to my custom CSS.
.videogular-container {
width: 100%;
height: 320px;
margin: auto;
overflow: hidden;
}
@media (min-width: 1200px) {
.videogular-container {
width: 1170px;
height: 658.125px;
}
.videogular-container.audio {
    width: 1170px;
    height: 50px;
}

}
@media (min-width: 992px) and (max-width: 1199px) {
.videogular-container {
width: 940px;
height: 528.75px;
}
.videogular-container.audio {
    width: 940px;
    height: 50px;
}

}
@media (min-width: 768px) and (max-width: 991px) {
.videogular-container {
width: 728px;
height: 409.5px;
}
.videogular-container.audio {
    width: 728px;
    height: 50px;
}

}

I guess I found the issue. Its because of some height issue.
Changed this
.videogular-container.audio {
width: 728px;
height: 50px;
}
.videogular-container.audio {
width: 728px;
height: 658.125px;
}
And it started working fine.
I really appreciate your help. Will try to make it generic now.
I hopefully will also help you guys in near future.
Thanks,
-/Sammi

I think that the problem is that you have your videogular tag inside a div with a class="videogular-container audio". If you remove "audio" it should work.


Rectangular images

Hi,
First of all, awesome work. Thank you.
Can we train the model on rectangular images? For example, 128x256?
Thanks for your time.
Kind regards,
Jelmer

Hi,
Thank you for your question.
To the best of my knowledge, there seems to have no explicit technical limitation on the shape of the input image, for the model's pixel-to-pixel design. But some modifications of dataset.py file would be necessary to avoid the cropping and reshaping process. You might focus on the resize method and load_mask method in the Dataset class. I'll try to update the code to make it more flexible but it may take some time. :)
Best
Jingyuan

That is awesome! Thank you for the quick response. I think I will manage using the pointers you gave me.


I cant find the Permission to use this command

I want to use the /scoreboad command and when ever i do lucyperms said i dont have permissions to do so. So when i go into lucky perms to find the line to give me that permission i cant find it anywhere. I need to use this command for the mod Ancient Warfare 2.

Oh also i use Nucleus for my normal server command

I want to use the /scoreboad command and when ever i do lucyperms said i dont have permissions to do so. So when i go into lucky perms to find the line to give me that permission i cant find it anywhere. I need to use this command for the mod Ancient Warfare 2.

What now? lucyperms or lucky perms? (It's LuckPerms btw)
In addition does LuckPerms not handle /scoreboard so the error message about missing permissions is for sure not from LuckPerms itself.
To find out what permissions are required, use Verbose:
https://github.com/lucko/LuckPerms/wiki/Verbose

That Worked thank you! also i cant spell XD


fix node configuration http client requests

Superseded by https://github.com/rancher/opni/pull/1396


Traits not correctly highlighted

Intellij-Version: IntelliJ IDEA 2023.1.1 (Ultimate Edition)
Using New UI
Smithy Plugin Version: 2.0.8

Observed behaviour:

Traits get identified as shapes, reporting "Unresolved shape "
Similar behaviour happens with use statements, reporting "Unresolved shape " error on the use statement and its usage

What are you using to build your smithy models? The CLI or the Gradle plugin.

Traits get identified as shapes, reporting "Unresolved shape "

Traits are shapes, or just can't find smithy.api#title.
What you're observing there is from dependencies not being configured properly in IntelliJ.
If you're using the CLI, dependency jars (and the CLI itself or the smithy-model package for prelude shapes) which contain smithy shapes that you depend on have to be manually added as dependencies to your IntelliJ project for the time being until the build system integration is added.
If you're using Gradle, there's nothing special required. The built in gradle support handles smithy dependencies out of the box.

Hey Diego, let me know if there's anything else I can help with.
Going to resolve the issue for now.

Thank you, i'll double check the build system!


Better timestamps in rate limit errors

Is your feature request related to a problem? Please describe.
As usual, I accidentally hit "refresh organization" instead of "discover existing workflows" and got a slap on the wrist. Problem is, at first glance, I don't really know how long it will last.
[HTTP 400] OK: Out of GitHub rate limit, please wait til +53866-10-24T21:50Z[Etc/UTC]
Describe the solution you'd like
Human-readable date and time. This could either be "wait X minutes" or it could be "wait until this time."
If we go with "wait until this time" there's some additional considerations:

If datestamps are necessary, we should take care not to confuse our friends across the pond who use DD/MM/YYYY format instead of MM/DD/YYYY - maybe give the actual month name?
UTC time is fine, but it'd be really cool if it was based on user's time zone.

Describe alternatives you've considered
Not hitting "refresh organization."
Additional context

┆Issue is synchronized with this Jira Story
┆friendlyId: DOCK-1999
┆sprint: Backlog
┆taskType: Story

https://twitter.com/mattl/status/1463357843969609729

Pretty sure this was addressed by #4364, which I didn't create an issue for. Should be fixed in dev.


Code Format

Code formatting fo code consistency.

Hey @toshimaru,
Thank you very much for the pull request ; actually I prefer not to change lines with code to make blame easier since we are breaking a lot of things over the time.
I manually committed the removal of empty lines at the end of the files giving you proper credit : https://github.com/vmg/redcarpet/commit/87d74c279d3ac7710c3d55911ed3f5d4a2850a51
Thank you very much ! :-)


Update all popupmenus to material 3 menus

Updates all popup menus to use the Material 3 MenuAnchor menu. This menu opens instantly (compared to the Material 2 menu which fades slowly in), making the site be perceived as more snappy and more like other web apps.

Thanks! @mit-mit - can you post some before and after pics for context? And typically, we like a brief description of the PR.

Added a description.
The main difference is in how the opening of the menus "feel", so that is really hard to capture in a screenshot. I recommend trying to run it.

Pictures w/ UI affecting PRs are useful in order to compare the before and after - it's not always clear what's going on just from the code.
For example, the menu buttons look the same here:
before:

after:

but the menu's themselves have regressed (wrt icon size, item padding, ...):
before:

after:

I'd really like to land this before the next release. @devoncarew are we blocked on the icons? if so, I can tear those changes out.

Yeah, the visual changes - which look like undesired regressions - are the icon sizes and the padding around the items. I expect these will be straightforward to fix.
FYI that the (significant) perf drop-off we saw a few weeks ago - both in some versions of chrome and in firefox - are no longer present (due to framework updates).
To be clear, I have no objections whatsoever to this PR as long as we're intentional w/ the UI changes; I just suspect the ones above are regressions.

Updated PTAL


Add a KMS key rotation watcher and auditor

The AWS CIS Benchmark recommends that all AWS KMS keys are rotated annually.
This change tracks the rotation state of all KMS keys and create a 1 point
issue when a key is not configured to rotate.
This change requires new permissions in the Security Monkey policy document:
kms:GetKeyRotationStatus

Made change to if alias.startswith('alias/aws/'):.
I'll merge once travis finishes.

Coverage decreased (-0.2%) to 63.645% when pulling 585b1e8c1bc58b53deb9c9bbda3f64966b22aedf on AlexCline:feature_kms_key_rotation into 81d852f5c170b3e5b7f26a5c95bb90eea34c95ee on Netflix:develop.


find useable method to use two (or several) names in the API

is this the issue about a ?language query param to select how name and label fields are serialized?

related: https://redmine.acdh.oeaw.ac.at/issues/13505


Debug mode is made available to tasks

Changes
Tasks now get access to the --debug-mode option and can output debugging information conditional on it.
Reviewer Note:
debug-mode will eventually be a collection of flags rather than a simple boolean.

ContextVars has been approved for use in Salesforce products.


Updating base image

Hello! Now that javascript-node v1 is released, I'm just wondering if you had plans to update the base image.
For about 99% of my use cases the current image is fine, but I just encountered an issue that required using a newer version of libc for one of my projects so I guess it'll be nice to update the libraries for everyone.

Hey @joshuanianji ! I've linked a PR, let me know if that was what you were looking for.


Make object store port/secure scheme optional.

Description
For cloud storage like aws s3, the secure port is 443, but this does not work with the minio module that is used by dsp api server, so instead in such a case we make port optional, and do not require it. When an empty port is provided, then it is simply not used by dsp api server.
Test cases are provided to reflect this change.
Docs have also been provided on how to utilize this external object storage with an aws s3 specific example usecase.
How Has This Been Tested?
Locally and in cluster.
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

/approve


proposal: also run tests on AppVeyor

AppVeyor is for testing builds on Windows.
Would it make sense to add AppVeyor? Because there are often differences between Windows, macOS and Linux and it would be useful to test it on more.

I think is not necessary to run tests on AppVeyor because, in short words, the app runs on top of NodeJs and browsers. The differences between systems comes from the implementation of those things in each system, not from the app.
Also, I hear some things about AppVeyor but never use it. If you have more info about it, I would change my mind and give it a try 😉

The differences between systems comes from the implementation of those things in each system, not from the app

What about used (binary) dependencies? I can also run the tests on AppVeyor using my fork so we'll see if it makes to test it.
At least I saw issues and breaking unit tests on Windows (AppVeyor) in other projects.

That's a great point. If you want you can contribute with it :wink:

Shoot ! @sergiohgz . Please create a simple config file then we can test the integration then.

Let me know if you need any config examples.


json.stringify: simplify array interface and make sure object is dynamicObject

stringify(array)   implementation was including some dead code and redundant type checks. Partly handled by LTO, partly not.
stringify(object) implementation adds more strict checking around dynamicObject.
stringify(object) measure ConcatString item count precisely so it doesn't go through expensive resize path

@MSLaguana Thanks for the review! Sounds good.


[Storage] Migrate file upload/upload-batch to track 2

Description

Migrate file upload/upload-batch to track 2
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

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

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

Storage

@zhoxing-ms  please resolve all conflicts and make it ready for review

@zhoxing-ms please resolve all conflicts and make it ready for review

Done


Add default value to struct docstrings

Adds a print of the default value of parameters in each parameter docstring in auto-generated structs
Example from ThermalStandard

@kdayday we can populate the (optional) here with (has default) for the fields that have defaults and autodetect here in the template instead of doing it manually.

@kdayday we can populate the (optional) here with (has default) for the fields that have defaults and autodetect here in the template instead of doing it manually.

@jd-lara I'm going to delete the (optional)s on PSY now. Is that what you meant? We'll just have the default value then

@kdayday we can populate the (optional) here with (has default) for the fields that have defaults and autodetect here in the template instead of doing it manually.

@jd-lara I'm going to delete the (optional)s on PSY now. Is that what you meant? We'll just have the default value then

I mean that we can add a note to the field that is that defaults when they are just in case the users misses the fact that there is a default printed in the long comment


Bugsnag 4.0.0 broke error reporting

Post 4.x upgrade, I'm not getting new bugsnag notifications for errors. Scheduling a test message works, but normal errors do not. I see errors as usual in the logs, however:
Mar 20 02:12:41 CoderPad app/web.2:  ActionView::Template::Error (undefined method `organization' for nil:NilClass):
Mar 20 02:12:41 CoderPad app/web.2:      12:       <input id="name-prompt" placeholder="Erlich Bachman">
Mar 20 02:12:41 CoderPad app/web.2:      13:       <button id="go" class="btn btn-primary">Go!</button>
Mar 20 02:12:41 CoderPad app/web.2:      14:
Mar 20 02:12:41 CoderPad app/web.2:      15:       <% if (org = @pad.user.organization) %>
Mar 20 02:12:41 CoderPad app/web.2:      16:
or

Mar 20 02:12:41 CoderPad app/web.2:      17:
Mar 20 02:12:41 CoderPad app/web.2:      18:         <% session[:previous_url] = request.fullpath %>
Mar 20 02:12:41 CoderPad app/web.2:    app/views/pads/show.html.erb:15:in `_app_views_pads_show_html_erb___336180408460726354_70203316415320'
Mar 20 02:12:41 CoderPad app/web.2:    config/initializers/url_sanitizer.rb:25:in `call'

however i do not see a corresponding new entry in my bugsnag dashboard. this is very alarming!

Hi @vincentwoo, I'm taking a look and having trouble reproducing the issue. I created an example Rails 4.2.6 project configured to be run via rackup and then throw a similar error when the application index is loaded.

Gemfile.lock
crashing erb template

Can you provide some additional information such as the Gemfile.lock or perhaps any recently changed dependencies? The Bugsnag gem has no dependencies of its own but maybe its an interaction with something else. There are few changes between 3.0.0 and 4.0.0, the major version change being necessary only because of dropping Ruby 1.8 support.

Released 4.0.1 with a possible fix for this, closing unless there is additional information.

4.0.1 still have this issue

@lonre Can you send an example of an error or sample application to reproduce the issue to<EMAIL_ADDRESS>(to avoid publicly posting sensitive information)? Alternately I'm available to chat via IRC in #bugsnag on freenode.

@kattrali Hi, I have report to<EMAIL_ADDRESS>please check that, thanks

Thanks, @lonre! The error report revealed the underlying issue. Patching in #291.

for some reason I can't install 4.0.2, is anyone else having this problem?
$ bundle update bugsnag | grep bugsnag
Using bugsnag 4.0.1


AssertionError: File "tribeflow/kernels/eccdf.pyx", line 71,

I followed all the procedures but to encounter an error:
Split
Merge
Traceback (most recent call last):
  File "main.py", line 135, in <module>
    main()
  File "main.py", line 123, in main
    args.num_batches, True, from_=from_, to=to)
  File "/home/shore/Documents/tribeflow/tribeflow/dynamic.py", line 404, in fit
    kernel.update_state(P)
  File "tribeflow/kernels/eccdf.pyx", line 71, in tribeflow.kernels.eccdf.ECCDFKernel.update_state (tribeflow/kernels/eccdf.c:2733)
    assert P.shape[0] == self.P.shape[0]
AssertionError

But It can run smoothly if I remove the configuration --dynamic True when running main.py.
By the way, it cannot run before I install the pytables manually, with conda install pytables. I'm using python 2.7 indeed.
I wonder how to solve it correctly? Appreciate it very much if anyone can offer any help. Thanks!

Strange, how are you executing the code? Could you share a small trace so that I can reproduce?
This may be a bug I introduced with recent changes.
Please check the WWW branch https://github.com/flaviovdf/tribeflow/releases/tag/v-paper-www if you want to execute things quickly. I'll get back to you asap

I feel it very strange too, I just follow all the procedures described in the readme. I have tried the WWW branch but encountered similar problem.
I have already installed conda as my python environment manager, and my pipeline after I get the source code(WWW branch) is as follows:
conda create -n tribeflow python=2.7
source activate tribeflow
pip install numpy
pip install scipy
pip install cython
pip install pandas
pip install mpi4py
pip install plac
pip install enum34
conda install pytables #if pytables is not installed, pd.HDFStore cannot run correctly.
make
python setup.py install
python scripts/trace_converter.py scripts/test_parser.dat 1 0 2 -d$'\t' -f'%Y-%m-%dT%H:%M:%SZ' > trace.dat
mpiexec -np 20 python main.py trace.dat 100 output.h5 --kernel eccdf --residency_priors 1 99 --dynamic True --leaveout 0.3 --num_iter 2000 --num_batches 20

The error output is
/home/shr/RS/tribeflow-v-paper-www/tribeflow/dynamic.py:164: RuntimeWarning: invalid value encountered in true_divide
  Theta_hz = Theta_hz / Theta_hz.sum(axis=0)
/home/shr/RS/tribeflow-v-paper-www/tribeflow/dynamic.py:168: RuntimeWarning: Degrees of freedom <= 0 for slice
  C = np.cov(Theta_hz.T) + np.cov(Psi_sz.T)
/home/shr/anaconda2/envs/tribeflow/lib/python2.7/site-packages/numpy/lib/function_base.py:2929: RuntimeWarning: divide by zero encountered in double_scalars
  c *= 1. / np.float64(fact)
/home/shr/anaconda2/envs/tribeflow/lib/python2.7/site-packages/numpy/lib/function_base.py:2929: RuntimeWarning: invalid value encountered in multiply
  c *= 1. / np.float64(fact)
Traceback (most recent call last):
  File "main.py", line 135, in <module>
    main()
  File "main.py", line 123, in main
    args.num_batches, True, from_=from_, to=to)
  File "/home/shr/RS/tribeflow-v-paper-www/tribeflow/dynamic.py", line 400, in fit
    kernel.update_state(P)
  File "tribeflow/kernels/eccdf.pyx", line 71, in tribeflow.kernels.eccdf.ECCDFKernel.update_state (tribeflow/kernels/eccdf.c:2733)
    assert P.shape[0] == self.P.shape[0]
AssertionError

I wonder what's wrong with my execution procedures, maybe it's due to some version dismatch between different packages. Here is all the packages installed in the conda-tribeflow environment:
(tribeflow) shr@dlibgpu:~/RS/tribeflow-v-paper-www$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
Cython (0.25.2)
enum34 (1.1.6)
jsonpickle (0.9.4)
mpi4py (2.0.0)
numexpr (2.6.2)
numpy (1.12.1)
pandas (0.19.2)
pip (9.0.1)
plac (0.9.6)
python-dateutil (2.6.0)
pytz (2017.2)
scipy (0.19.0)
setuptools (27.2.0)
six (1.10.0)
tables (3.4.2)
tqdm (4.11.2)
tribeflow (0.0.0)
wheel (0.29.0)

Hope you can reproduce the procedure and meet the same problem successfully. Many thanks for your time!

The problem is with the trace.dat you are generating. When I created the example, I did not pay attention that the file would only have 1 user. Please try it with one of the files in the example folder.

I have tried several example dat files but encounter similar problems:
Here is one excerpt:
mpiexec -np 20 python main.py example/lastfm_our.dat 100 lastfm_ocelma.output.h5 --kernel eccdf --residency_priors 1 99 --dynamic True --leaveout 0.3 --num_iter 2000 --num_batches 20
The printout information is as follows:
Worker 14 has finished it's iterations!
Worker 13 has finished it's iterations!
Split
Merge
/home/shr/RS/tribeflow-v-paper-www/tribeflow/dynamic.py:164: RuntimeWarning: invalid value encountered in true_divide
  Theta_hz = Theta_hz / Theta_hz.sum(axis=0)
Traceback (most recent call last):
  File "main.py", line 135, in <module>
    main()
  File "main.py", line 123, in main
    args.num_batches, True, from_=from_, to=to)
  File "/home/shr/RS/tribeflow-v-paper-www/tribeflow/dynamic.py", line 400, in fit
    kernel.update_state(P)
  File "tribeflow/kernels/eccdf.pyx", line 71, in tribeflow.kernels.eccdf.ECCDFKernel.update_state (tribeflow/kernels/eccdf.c:2733)
    assert P.shape[0] == self.P.shape[0]
AssertionError

Just did
mpiexec -np 3 python main.py ~/example/lastfm_our.dat 10 output.h5     --kernel eccdf --residency_priors 1 99 --dynamic True --leaveout 0.3 --num_iter 2000 --num_batches 20

On both the master and www branches. Not sure what may be your issue.

With 20 workers as in your example
Worker 14 is working!
Worker 15 is working!
Worker 17 is working!
Worker 18 is working!
Worker 19 is working!
Worker 1 is working!
Worker 2 is working!
Worker 3 is working!
Worker 5 is working!
Worker 6 is working!
Worker 8 is working!
Worker 10 is working!
Worker 11 is working!
Worker 12 is working!
Worker 13 is working!
Worker 4 is working!
Worker 7 is working!
Worker 9 is working!
Worker 16 is working!
Worker 17 has finished it's iterations!
Worker 18 has finished it's iterations!
Worker 11 has finished it's iterations!
Worker 10 has finished it's iterations!
Worker 8 has finished it's iterations!
Worker 12 has finished it's iterations!
Worker 19 has finished it's iterations!
Worker 9 has finished it's iterations!
Worker 5 has finished it's iterations!
Worker 6 has finished it's iterations!
Worker 13 has finished it's iterations!
Worker 7 has finished it's iterations!
Worker 1 has finished it's iterations!
Worker 15 has finished it's iterations!
Worker 16 has finished it's iterations!
Worker 3 has finished it's iterations!
Worker 14 has finished it's iterations!
Worker 2 has finished it's iterations!
Worker 4 has finished it's iterations!
Split
Merge
Computing probs
New nz 10
Learning took 13.0 seconds

The difference lies in the parameter num_topics. In your command, it is set to 10, but in the readme file and my command, it's 100. Could you please set the num_topics to 10 on WWW branch?
It's very strange that I reset all the environment and now it can work on master branch but still meet Assertion Error on WWW branch. You can have a try. Now I can run the whole pipeline on master branch. Thank you all the same.

The problem is likely due to environments becoming empty in the sampling. I do not guard against this. 100 topics for a very small trace will end up leaving a lot of envs empty. I'll check the code so that the exception does not happen (sampling finishes)

Many thanks for your time!


Tests should check if there is no local config file

The presence of a local config can disrupt the testing. The tests related to reading the config could fail due to local presence

Local user config is only read when file name is specified, so howfairis will never read a local config file without the users request.


Use C "dictionary" in icicle-bench

lets you supply a C source file instead of a dictionary:
./dist/build/icicle-bench/icicle-bench --source dictionary\
--dictionary test/cli/bench/t4-dictionary.toml\
--input test/cli/bench/t4-in.psv\
--output out1\
--code t4.c\
--snapshot-date 2017-1-1

./dist/build/icicle-bench/icicle-bench --source c\
--input test/cli/bench/t4-in.psv\
--output out1\
--code t4.c\
--snapshot-date 2017-1-1

diff -u out1 out2

! @jystic @amosr

Awesome!
Hmm the command line flags are bit confusing now I think (having --code for input and output), maybe we should have something like:
icicle-bench
(--input-dictionary test/cli/bench/t4-dictionary.toml | --input-code t4.c)
--input test/cli/bench/t4-in.psv
--output out1
[--output-code t4.c]   <- now optional?
--snapshot-date 2017-1-1
``

maybe. can you have mutually exclusive optparse options easily? (i.e. (--dictionary STRING | --csrc STRING)) -- or just check the command yourself? If it's the latter, I suppose (--source ARG) [--dictionary STR] [--csrc STR] [--c-output STR] isn't too confusing.

maybe. can you have mutually exclusive optparse options easily? (i.e. (--dictionary STRING | --csrc STRING)) -- or just check the command yourself?

yeah this works really well actually, using it in blizzard for (--snapshot-data DATE | --chord CHORD_URL)

wow that's rather unexpected

:100: This is brilliant!


Dockerstatic: Ensure Hostname Installed On Sles12

Fixes #3480
Install hostname on sles12 dockerstatic containers.
Checklist

[X] commit message has one of the standard prefixes
[X] VPC/QPC not applicable for this PR

/thaw


Try resumeData

Use resumeData if it's available. Looks like the system gives it to us with little work on our part.

Started this on this branch https://github.com/timonus/TJImageCache/tree/resume-data, don't know if the complexity / extra memory usage is worth it though.

Started this on this branch https://github.com/timonus/TJImageCache/tree/resume-data, don't know if the complexity / extra memory usage is worth it though.


ion-range does not respect steps

Bug Report
Ionic version:

[x] 4.0.1
Current behavior:
ion-range does not respect the step property
Expected behavior:
ion-range should respect the step property
Related code:
 <ion-range
          min="maxPeakDuration"
          [max]="maxPeak"
          step="1"
          [value]="peakDuration"
          color="secondary"
          (ionChange)="peakDurationChangeTo($event)"
        >
          <ion-label range-left>0s</ion-label>
          <ion-label range-right>{{ maxPeakDuration }}s</ion-label>
        </ion-range>

Ionic info:
Ionic:

   ionic (Ionic CLI)             : 4.10.1 (C:\Users\distante\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.0.1
   @angular-devkit/build-angular : 0.12.4
   @angular-devkit/schematics    : 7.2.4
   @angular/cli                  : 7.3.0
   @ionic/angular-toolkit        : 1.3.0

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : none
   Cordova Plugins       : no whitelisted plugins (12 plugins total)

System:

   Android SDK Tools : 26.1.1 (C:\Users\distante\AppData\Local\Android\sdk)
   NodeJS            : v10.14.1 (C:\Program Files\nodejs\node.exe)
   npm               : 6.5.0
   OS                : Windows 10

Hi @distante,
Thanks for opening an issue with us!
As per the ion-range docs, step specifies the value granularity. In this case, the value of the range is going to change by 1.
This does not affect "snapping" to a value which is what I believe you may be referring to here. The snaps property causes the range knob to snap to tick marks that are evenly spaced based on the step property value. You can see how this would work in the demos on the docs.
I am going to close this issue, but feel free to reply if you still think there may be a bug. Thanks for using Ionic!

I see this has changed from v3 to v4.  Sorry for the wrong bug report.


handle empty DEPLOY_CHART_PATH

When pulling from a ghci.io OCI repository, the deploy command will end up looking like this is the chart-path parameter is empty:
helm upgrade --install --create-namespace --timeout 600s --set web.tag=v0.1.2 --version v0.1.2 --dependency-update -n pkg pkg oci://ghcr.io/repo/pkg/

Which will result in the following error:
Error: invalid_reference: invalid repository

This patch will drop the trailing "/" which allows the helm command to succeed.

Hi @silverjam !, thanks for this PR!
The intention of the chart repo and path is to use it this way
          chart-path: repo/pkg
          chart-repository: oci://ghcr.io

BUT, it does makes sense to have this failsafe. It adds an extra layer at no cost. So, we'll probably end up adding it.
I'll test it later.
Thanks again!

BUT, it does makes sense to have this failsafe. It adds an extra layer at no cost. So, we'll probably end up adding it.

Thanks @LeoDiazL


Native linux bluetooth device enumeration and info

Just wanted to sync up with the other work going on here.
Over the weekend I completed a basic replacement for the bluez methods:

hci_for_each_dev
hci_devinfo

Just wanted to know if there was already work happening in this area? And whether I should make a pull request so you can decide whether you want this functionality.
I am working on integrating mainly client functions at the moment.
cc @roylee17

Hi @wolfeidau,
That's great, please send a PR so we can merge the effort.
I've been also working on the client support and Mac support.
Some code/naming/data structures changes for this purpose, and results large LOC change.
So we create a "next" branch to move forward without breaking current master branch.
I made some progress, and currently the client functions are in good shape for both Linux and Mac.
Though the API are still subject to change before the server support for Mac also working (should be soon). I'll try cleanup and get the initial implementation to the "next" branch tomorrow.
For API compatible changes, such as the proposed replacement of hci_for_each_dev, hci_devinfo, we can merge them in the master branch. I'll also merge them to the next branch as possible. For more large changes, such as the client support, we'll how see how to integrate as we can. Or if the next branch doesn't divert from your expectation, we can joint our effort to shape it better :-)

Hi @wolfeidau,
I pushed a snapshot on at: https://github.com/roylee17/gatt/tree/next-v1
It's rough, but I'll try hard to get more details done this week before merging it to the next branch here.
And then will mark more inline TODO/FIXME, and create issues here.
We'll keep improve both master and next branches. So if you prefer to stay with master branch, I'll still port your changes to the 'next' branch if possible.
# scan for peripheral id, MAC address for Linux, UUID for OSX
go run examples/discover.go

# explorer specified
go run examples/explorer.go [peripheral-id]

Just pushed up the code I pulled together over the weekend to enumerate bluetooth devices in linux. It is committed at https://github.com/wolfeidau/gatt/tree/device_enumeration.
I have a separate module for ioctl macro replacements, this is probably something you already have in the branch you just pushed.
I tried to keep the code relatively self contained while I worked out how to do the ioctl calls. More than happy to massage it however you like to get it merged in with your work.

Nice work, we can't miss this. I'll merge it when I integrate it with the other staging code.
Thanks a lot.

 Looks like lots of new stuff to try out!

Integrated in the current master branch.
Thanks.


SPA page view tracking

Suggestion to add new SPA mode (through new config option) which supports changing the operation ID on each page track event (perhaps better than #81)

Thanks for PR! The concern I have with this approach is that often by the time trackPageView is called the new virtual page is in fact already loaded and several other telemetry items (e.g. events) were logged in the context of new page view. In this case you would like to renew operation ID first, possibly track some other telemetry and then call trackPageView (passing duration) when virtual page is fully loaded.
Here is a question, why would you like to auto-renew operation ID as part of this call for SPAs, why not just let the developer do it themselves at time convenient for them?

Just throwing out a non-API change idea with the hope that it would cover at least 80% of users (with autoTrackPageVisitTime enabled).  Sounds like this is a poor solution; I am just throwing out ideas hoping one sticks because I really want a way to support this that isn't so fragile.
The bottom line is right now you have to dig into the AI code to figure out how to make single page applications track page views properly.  I initially did just that (using things not publicly documented) and later found what I had implemented no longer worked because the way an operation ID was generated had changed.  It seems like an easy problem to solve once the best solution has been identified.


Wizard non-localized metric string

This is a quick fix for production.
https://issues.redhat.com/browse/COST-755
Before

After

LGTM :+1:

Codecov Report

Merging #1742 (7e54e70) into master (5157731) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1742   +/-   ##
=======================================
  Coverage   78.72%   78.72%
=======================================
  Files         265      265
  Lines        4212     4212
  Branches      796      796
=======================================
  Hits         3316     3316
  Misses        804      804
  Partials       92       92

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 5157731...7e54e70. Read the comment docs.


workflows: add macos build

builds out fine, https://github.com/chenrui333/simdutf/actions/runs/4267007544
relates to https://github.com/Homebrew/homebrew-core/pull/124086
cc @lemire

Merging


Breaking logging driver material out of run

creating index which is overview of configuring logs
linking to individual journald/fluent material
leaving behind table and link to index in run
This includes the suggestions I made on https://github.com/docker/docker/pull/12876
Fixes #14168

Signed-off-by: Mary Anthony<EMAIL_ADDRESS>ping @docker/docs-owners

Thanks, "LGTM", as I don't have access to my computer right now to build/test the navigation :smile: (Saw some minor issues in the text, but those were there already)

Thanks Seb. Yeah, the nav won't entirely come through until a Docs-base PR closes. I'll pull that now.

Is this (including docs about fluentd log driver) merged into master branch before code of fluentd log driver?

@tagomoris I carried part of your PR yes.  Currently, we are not building docs to docs.master Your PR is  close to a merge if you want to rebase.


Date Parse Fails on dates returned by Workfront in the European timezone

When I use the Workfront API to retrieve data from our instance the dates on some of the objects come back in this format:
2020-08-17T17:00:00:000+0100
Date parse can't parse the offsets at a positive offset to GMT as shown in the test code below:
func TestWorkfrontDateFormat(t *testing.T) {
	workfrontDate := "2020-08-17T17:00:00:000+0100"  //Set for European timezone

	_, err := dateparse.ParseAny(workfrontDate)
	if err != nil {
		t.Errorf("Error Parsing date: %s with error: %#v", workfrontDate, err)
	}
}

Thanks for the report.  It appears golang time.Parse() doesn't handle this either, or i was un-able to figure out how to create a layout that works anyway.  If you can find a layout that works it should be easy.  https://play.golang.org/p/dXdeUPTkLD7
Its possible that the actual string passed in could be manipulated to replace the last colon with a period, but in general i try not to re-write the date-string as much as create a layout for parsing that works.
package main

import (
	"fmt"
	"time"
)

func main() {
	t, err := time.Parse("2006-01-02T15:04:05:000-0700", "2020-08-17T17:00:00:897+0100")
	fmt.Printf("t=%v   err=%v\n\n", t, err)
	t, err = time.Parse("2006-01-02T15:04:05.000-0700", "2020-08-17T17:00:00.897+0100")
	fmt.Printf("t2=%v   err=%v\n\n", t, err)
}

t=0001-01-01 00:00:00 +0000 UTC   err=parsing time "2020-08-17T17:00:00:897+0100" as "2006-01-02T15:04:05:000-0700": cannot parse "897+0100" as ":000"

t2=2020-08-17 17:00:00.897 +0100 +0100   err=<nil>

Not happy with the solution i came up with, pretty hacky but works now.


Additional Jest config to stub static assets and stylesheets

Current Behavior
For every new project I start with TSDX, one of my first steps is to add stubs for static assets and stylesheets - as detailed on the Jest docs.
Desired Behavior
Add Jest file stubs in to the TSDX setup.
Suggested Solution
Following the Jest docs
// package.json
{
  "jest": {
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|less)$": "identity-obj-proxy"
    }
  }
}

// test/__mocks__/fileMock.js
module.exports = 'test-file-stub';

yarn add --dev identity-obj-proxy
This prevents images and stylesheets causing errors while testing. These steps have been sufficient in any of my use cases.
Who does this impact? Who is this for?
Css modules and / or images are not recognised by Jest so cause errors. So this is for anybody who writes tests with their components.
It will help prevent beginners being confused by console errors that they may not find clear, and advanced users who go through the same setup on each project they work on.
Describe alternatives you've considered
I'm not searching for alternatives applies here.
Additional context
I can work on this and submit a Pull Request when done. That was going to be my first action but thought opening an issue here may invite others ideas.
Also, fantastic library! My favourite TypeScript setup, I use it any chance I find.
All the best
Ed

Can likely steal from CRA’s setup

Good idea, I'll take a look


issue 'isnan' is unavailable: use the isNaN property. in Swift 3

Hi , I have this issue after I convert my project to Swift 3

I fix the error , after convert the library to Swift 3
you will notice the problem in this line
if isnan(previousYOffset) == false
and the error " 'isnan' is unavailable: use the isNaN property. "
change this line from " if isnan(previousYOffset) == false "  to
" if previousYOffset.isNaN == false "
After that the library will work in Swift 3

I have just updated the library with swift3 support. Please use v1.0.0


fix: travis-ci should use npm install instead of npm ci

Coverage remained the same at 97.831% when pulling 02c92fc2e0a709dcc462d9799275faed91e2c17f on lholmquist:fix_travis into 57370a694d110469953c854b4657b016b1beeae3 on bucharest-gold:master.


[bug] The issue of the splash screen not loading properly after compilation.

Describe the bug
The launch effect in the development environment.

The launch effect after packaging and building.

Here is the code.
use tauri::Manager;
pub fn setup(app: &mut tauri::App)->Result<(),Box<(dyn std::error::Error + 'static)>> {
    let splashscreen_window = app.get_window("splashscreen").unwrap();
    let main_window = app.get_window("main").unwrap();
    tauri::async_runtime::spawn(async move {
        std::thread::sleep(std::time::Duration::from_secs(3));
        splashscreen_window.close().unwrap();
        main_window.show().unwrap();
    });
    Ok(())
}

tauri.conf.json/tauri/windows
      {
        "width": 400,
        "height": 300,
        "decorations": false,
        "url": "splashscreen.html",
        "label": "splashscreen",
        "resizable": false,
        "transparent": true,
        "alwaysOnTop": true
      }

The splashscreen.html is located in the root directory of the project.
The operating environment is macOS.
Reproduction
GitHub project address.：https://github.com/A-afflatus/fortress
Expected behavior
like dev
Full tauri info output
[✔] Environment
    - OS: Mac OS 12.6.2 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.76.0 (07dca489a 2024-02-04)
    ✔ cargo: 1.76.0 (c84b36747 2024-01-18)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 18.17.0
    - pnpm: 8.15.3
    - yarn: 1.22.19
    - npm: 9.6.7
    - bun: 1.0.26

[-] Packages
    - tauri [RUST]: 1.6.1
    - tauri-build [RUST]: 1.5.1
    - wry [RUST]: 0.24.7
    - tao [RUST]: 0.16.7
    - tauri-cli [RUST]: 1.5.11
    - @tauri-apps/api [NPM]: 1.5.3
    - @tauri-apps/cli [NPM]: 1.5.10 (outdated, latest: 1.5.11)

[-] App

Stack trace
No response
Additional context
No response

I think that's because your vite is not setup properly to bundle splashscreen.html into dist directory, see https://vitejs.dev/guide/build.html#multi-page-app


asuswrt module in ap mode doesn't work with RT-AC53

I am running the most recent version of hassbian
Home Assistant release (hass --version):
0.47.0
Python release (python3 --version):
Python 3.4.2
Component/platform:
device_tracker/asuswrt
Description of problem:
Doesn't work with RT-AC53 in ap mode, which is running asuswrt.
2017-06-19 20:06:15 WARNING (Thread-5) [homeassistant.components.device_tracker.asuswrt] Could not parse wl row: b'-sh: wl: not found\r'

Logging into the router it says that the command wl is not found
# wl
-sh: wl: not found

The stuff done in #2263 does not seem to work with my access point.
Router is Asus RT-AC53, Operation Mode:Access Point(AP) mode Firmware Version:<IP_ADDRESS>.380_9488

It seems I'm the only one with that device. But I've made some progress. I possibly will implement this in the future:
admin@(none):/tmp/home/root# nvram get client_info_tmp
,0>><IP_ADDRESS>>84:16:F9:2A:82:7C>0>0>0>,0>><IP_ADDRESS>>7E:F3:AE:23:0D:54>0>0>0>,0>><IP_ADDRESS>>78:54:2E:28:D8:7D>0>0>0>,0>><IP_ADDRESS>>B8:27:EB:44:14:2D>0>0>0>,0>><IP_ADDRESS>>30:5A:3A:7F:83:74>0>0>0>,0>><IP_ADDRESS>>6C:AD:F8:AB:EF:42>0>0>0>,0>><IP_ADDRESS>>00:EB:2D:ED:A8:61>0>0>0>,0>><IP_ADDRESS>>B8:27:EB:F9:FB:13>0>0>0>

Apparently that is the data the devices uses to create the user-facing client list in the web interface. Possibly we need to do fullscan before that:
var networkmap_fullscan = '<% nvram_get("networkmap_fullscan"); %>';
var fromNetworkmapdCache = '<% nvram_get("client_info_tmp"); %>'.replace(/&#62/g, ">").replace(/&#60/g, "<").split('<');

@mattsch what do you think is the best way to go about this, since it would be a different command we send? Adding a user option for these models?

Offhand I'd suggest keying off the model when connecting, I'm pretty sure that's available from either nvram or some other method.
Part of the problem is that Asus isn't being very consistent these days.  I tried out their Lyra system briefly and checked to see how to find connected clients. It looked like that one actually used a json tmp file to keep track of connected clients, didn't have a wl available, and nvram get client_info_tmp was a complete mess.

The Javascript code is what the Web interface uses to show the client list. So this apparently is the method. So we basically would add another part of the method that queries the model and decides on the method then, right?
The default would be the current method since I believe you've done your research.
I think I'll take that on very soon, since the nmap method I currently use isn't too too nice.

I got just one an RT-AC53 today aswell, with the same problem.
I've found some ways to determine the model, maybe someone with other models can verify those locations.

/tmp/nat_rules_RT-AC53
grep RT /etc/hosts
<IP_ADDRESS> RT-AC53-D004. RT-AC53-D004
grep modelName /etc_ro/xml/WFADeviceDesc.xml
RT-N56U

Model name is probably a leftover, might still be an indicator.

Good. And the code we need is basically written, we just have to re-insert it at the right place:
https://github.com/home-assistant/home-assistant/pull/8359/commits/459bd2f6724c045dd7e1f8fed4af941b96dd565f#diff-41bc1d46d2c173881ec4cbc34ed9f472L87
@mattsch do you know whether any of those methods for querying the router type work on the versions you've worked with?

Other method I found for querying the router name:
admin@(none):/tmp/home/root# nvram get odmpid
RT-AC53

admin@(none):/tmp/home/root# nvram get productid
RT-AC53

admin@(none):/tmp/home/root# nvram get blver
RT-AC53-01-00-00-02

@maweki I'm not sure what would work there, unfortunately I've moved away from the Asus routers I can't check just now. I'll see if I can fire one up this weekend and see what's available there.

If we can't find a way do identify the devices and select the proper method from there, I'd be tempted to add a third mode (legacy?) that uses nvram get client_info_tmp instead of the other methods.

Ok, now I've seen that the router mode doesn't work either because /var/lib/misc/dnsmasq.leases doesn't exist. So this might even call for a new component or something, because even though asus says this is asuswrt, there's clearly something completely different going on.

This is still very much broken

I have filed a new issue #11108 which looks like a duplicate of this one.
Is there a problem when the asuswrt component runs commands that fail to provide data for some routers?
If not, I propose to revert #8359 which breaks the asuswrt component for many users.

https://github.com/home-assistant/home-assistant/issues/10568

I don't think #11108 and #10568 are duplicates.
My issue is that the tracking method is broken since my router doesn't even have the commands.
The other issues seem to be that the tracking method works in general but is inaccurate for some cases.

@maweki, @mnigbur: Could you check if #11140 works with your router?

So I tried it and it works with some caveats I explained in the PR.


Deploy to Heroku is broken

After running the build in Heroku, the browser returns:
Cannot find config.php! It must be in phplib and named config.php

I'm just discovering this project so not an expert, but I think you'll need to rename the config.php.example file in phplib file to config.php and edit it to meet your needs. Check out the Configuration section in the README.md.

-----> Bootstrapping...

-----> Installing platform packages...

       ERROR: neither your composer.json 'require' section nor any

       dependency therein requires a runtime version, but 'require-dev'

       or a dependency therein does. Heroku cannot automatically select

       a default runtime version in this case.

       Please add a version requirement for 'php' to section 'require'

       in composer.json, 'composer update', commit, and deploy again.

 !     ERROR: Couldn't load 'composer.lock'; it must be a valid lock

       file generated by Composer and be in a consistent state.

       Check above for any parse errors and address them if necessary.

       Run 'composer update', add/commit the change, then push again.

 !     Push rejected, failed to compile PHP app.

 !     Push failed```

I am also getting the same error as posted by @rhoml .

It is still broken. Has anyone been able to deploy it on Heroku?


Add CITATION.cff for citation

Adding support for built in citation features in GitHub.
In this case the citation file only "citates" the software itself and not the actual publishing at arxiv.org, if the actual published paper is preferred citation it can be pretty easily adapted to fulfill that request using the citation
file format and changing the CITATION.cff file in the root path of the project strucure
Generated citation strings by GitHub citation feature:
BibTeX
@software{Carnelos_MicroFlow_An_Efficient_2024,
author = {Carnelos, Matteo and Pasti, Francesco and Bellotto, Nicola},
license = {MIT},
month = sep,
title = {{MicroFlow: An Efficient Rust-Based Inference Engine for TinyML}},
url = {https://github.com/matteocarnelos},
version = {0.1.3},
year = {2024}
}

APA
Carnelos, M., Pasti, F., & Bellotto, N. (2024). MicroFlow: An Efficient Rust-Based Inference Engine for TinyML (Version 0.1.3) [Computer software]. https://github.com/matteocarnelos

Thanks for the contribution @RealIndrit! I didn't know about this feature.
In this case, I would prefer the paper to be the preferred citation, rather than the software. Therefore, could you please add the preferred-citation section? Thanks!


virtcontainers: Set sandbox dns

Inorder to set VM hostname, dns, hosts file, we can copy
these files from the host to VM rootfs.
Depends-on: github.com/kata-containers/agent#590
Fixes: #1603
Signed-off-by: Nitesh Konkar<EMAIL_ADDRESS>

/cc @amshinde.

@nitkon I have asked for some clarification from @bergwolf on the issue that this PR fixes.
Please feel free to pitch in.
This looks good to me, but I believe you were running into issues with accessing the network, last time we talked even with this PR. Is that resolved?


Add post for wdc patch

post announcing patch to support fix for incorrect assignment of webchannel objects, needed in future release of Tableau.

Coverage remained the same at 98.913% when pulling 28bcf21cb45700a43da22be92e9c1741815ed861 on d45-patch-4lib_patch into 8aceb7ae83a17ac54ede29c35819dc1b428d6da1 on dev.


Change schema for User entity to: SK = USER, PK = USER#

I see there is just CRUD access pattern for "user" entity from the requirement. However, it should not impact the remaining but getting more feature "List user, view and sort user by username" if we have some small change on the schema as following:
Currently, the entity chart for User is: PK = "USER#< Username >", SK = "USER#< Username >"
Change to: PK = USER, SK = "USER#< Username >".
How do you think? Am I wrong somewhere in understanding the sample code? @alexdebrie

Hey @zdev24, thanks for reaching out.
The downside with the proposed update is that all user records would be in the same item collection which could lead to hot partition issues. It does enable the 'List by username' functionality, but that's not a super common one in my experience -- if you have thousands or even hundreds of users, alphabetically searching of the name won't be super helpful. Given that, I'd prefer the PK distribution benefits you'd get by not sharing the same partition key.
What do you think? Will keep the issue open for now :)

Yes, I see your point for this basic sample. I just want to make sure I understand it correctly. Thanks for your response!


Bad error handling in auth code

When RocketChat API disabled, server responds:
{
  "status": "error",
  "message": "API endpoint does not exist"
}

In this case library throws an exception from method set_auth_token in base.py:
Traceback
   self.auth_token = response.json()['data']['authToken']
KeyError: 'data'

This error doesn't say the real reason of failure.
Can you please add handling of the response object in error state?
The response has following state in my case:
response=<Response [405]>
response.text={"status":"error","message":"API endpoint does not exist"}
response.reason=Method Not Allowed

Hi, Thanks for reporting this.  I have very limited time to spend fixing issues, but I am more than happy to accept a pull request.


set gpt_j_tied to true so that 20B inference works again

gpt_j_tied=false will cause 20B model generate gibberish results. This is reported here and here.
The source of the problem is this commit.
To reproduce, run ./deepy.py generate.py ./configs/20B.yml
"gpt_j_tied": false
{"context": "", "text": " de de general de general de2a1a\u00ada\u00ada\u00ada\u00ada\u00ada\u00ada\u00ado\u00ado\u00ado\u00ado\u00ado\u00ado\u00ado\u00ado\u00ado\u00ado3\u00ado\u00ado3\u00ado3\u00ado3\u00ado\u00ado\u00ado\u00ado\u00ado", "length": 64, "finished": false, "message": null, "duration_seconds": 4.648434400558472}

"gpt_j_tied": true
{"context": "", "text": "Q:\n\nHow to get the value of a variable in a function in a different file?\n\nI have a file called \"main.py\" and a file called \"functions.py\".\nIn \"main.py\" I have:\nfrom functions import *\n\ndef main():\n    print", "length": 64, "finished": false, "message": null, "duration_seconds": 4.764044523239136}

Thanks for merging it. @StellaAthena


Support add, subtract timedelta & comparison

Replaces #19 - thanks @gabrys for figuring this out.
The following was not possible before:
d = utcdatetime.now()

print d + timedelta(days=1)
print d - timedelta(days=1)
d += timedelta(minutes=15)
Now it is.

Coverage remained the same at 100.0% when pulling 4b40c8e2b2fd51403f22ba49005999e59f88b74e on support-add-subtract into 50099f0172c59c86019e31420955a284ed3f4d59 on master.

@gabrys Does this fulfill what you're after?
For now I've omitted comparison between utcdatetime and datetime as I'm not sure that should be possible. If you need that, I'd be interested to know why.
I cherry-picked your commit, hope that's ok ;)

Sure, this is fine.
Thanks a lot for updating the code :-)

One additional request though. When you subtract a datetime object from another datetime object you get a timedelta:
In [2]: from datetime import  datetime
In [3]: dt1 = datetime.now()
In [4]: dt1
Out[4]: datetime.datetime(2016, 10, 7, 12, 32, 35, 374077)
In [5]: dt2 = datetime.now()
In [6]: dt1 - dt2
Out[6]: datetime.timedelta(-1, 86395, 972241)

This is not what happens right now with utcdatetime as it casts the result of a subtraction back to utcdatetime. I think it should check the type of the result and only convert to utcdatetime if the result is a datetime (and leave a timedelta alone).

Coverage decreased (-1.1%) to 98.851% when pulling 30a001e246c83213040ba09c0accc9eda3f56fb7 on support-add-subtract into 50099f0172c59c86019e31420955a284ed3f4d59 on master.

Coverage decreased (-1.1%) to 98.851% when pulling 05738728a82efefa08a4f90404f7c1efa5b8d580 on support-add-subtract into 50099f0172c59c86019e31420955a284ed3f4d59 on master.

Coverage remained the same at 100.0% when pulling e2ef76d785f432a46b67ffd11c6409897e60ffd7 on support-add-subtract into 50099f0172c59c86019e31420955a284ed3f4d59 on master.

Sorry for the delay @gabrys. I've released to PyPI


MINOR: [C++] Remove hacky shared_ptr construction in AppendScalar

AppendScalarImpl was created for appending scalars based on a contiguous array of std::shared_ptr<Scalar>, so when a single Scalar reference is passed, a dummy shared_ptr is created before the instantiation of AppendScalarImpl.
  std::shared_ptr<Scalar> shared{const_cast<Scalar*>(&scalar), [](Scalar*) {}};
  return AppendScalarImpl{&shared, &shared + 1, n_repeats, this}.Convert();

This seems non-idiomatic [1] and likely inefficient as a control block needs to be heap-allocated for the shared_ptr. An alternative way (that simplifies AppendScalarImpl as well) is a custom iterator class the wraps the source iterator with an extra dereference operation.
[1] Pointers to shared_ptr as class members set a bad-style precedent
Component(s)
C++

Closes: #33872

@pitrou @lidavidm

@lidavidm @assignUser done.


Session replays

Going through old notes I've written, I found this from the SciView hackathon:
SciJava ScriptableEvent interface layer

modeled after method execution
java.lang.reflect.Method object? Or analogous
Object obj, Object[] args
ModuleExecutedEvent implements ScriptableEvent
org.scijava.script gains ability to generate code from a ScriptableEvent (or the method invocation thingie it wraps)

On the SciView side:

create new event types that fire when things happen (e.g., Node(s)?AddedEvent)
these event types can implement ScriptableEvent
then we'll have support for session replays!

But I forgot the context of what we were discussing, and what a "session replay" is. @kephale Do you remember?

The "session replay" comes from 3D Viewer terminology, but we're really just talking about a macro recorder for a SciView "session" (e.g. each SciView knows the history of commands used since it was created). It gets a bit more complicated when it comes to Scenery's input handling, because the "input commands" in Scenery are not SciJava commands, they derive from ui-behaviour's Behaviour. I would be tempted to punt on that (although I think people really do want to record the camera manipulation).
If session replays exist, then it should be possible to replay a session with a different dataset (by making a modification to the recorded session) and generate an "identical" video (in terms of camera work and scene manipulation) based upon different data.

Related to https://github.com/scenerygraphics/sciview/issues/167


Dropdown Menu List issue on API 22 and API 23

I was implementing Application run on API 22 and API 23, got issue with Dropdown List Menu, it shows within the box. And I tried to set dropDown.setClippingEnabled(true); But if the column too long, content shows outside the screen.
Please help!!

Hi,
does it look like this: http://forum.xda-developers.com/showpost.php?p=61011457&postcount=948
I got a similar error. Compile with Android SDK <=16.


ALVR settings screen is all black (when long pressing menu button)

Suddenly the ALVR setting screen that pops un in VR when long pressing the menu button became all black and I can't see anything on it anymore
The screen correctly pops up, just it's all black.
I tried restarting every single component: the ALVR client, the ALVR server, SteamVR but nothing worked.
In the end I also rebooted my system and restarted my Quest 2 but with no result.
What could it be?
Again, it was showing up just fine for some time... but then it became just a black rectangle.

I think reinstalling (maybe cleaning session.js) fixed this for me.

@pepfof I tried reinstalling to a completely clean folder but the problem in my case persists...

Is this issue fixed with the latest release of AVLR? What version where you using?

I am using latest versions of both client and server.
Please see https://github.com/alvr-org/ALVR/issues/356 for a more generic description of this issue (also affecting short-press of the menu button) which I documented in much more detail.

Same for me, but only Quest 2 is black. Quest 1 ist ok. (WTF?)

@DocMAX I see the same thing. I think they removed the webview engine (Q1 still runs on android 7.1, Q2 runs on android 10, so under the hood is completely different).

I worked around the problem by removing the webview altogether.

Will you please make a new release with this? Thanks
Il Dom 6 Dic 2020, 20:43 Riccardo Zaglia<EMAIL_ADDRESS>ha
scritto:

I worked around the problem by removing the webview altogether.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alvr-org/ALVR/issues/351#issuecomment-739552783, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXPWE3NMVPSIRVVSE6VOWDSTPNEXANCNFSM4T2E2P4A
.

There already is a release that includes this change: v13.1.0+client

thanks a lot


How to migrate from Decodable library to Swift 4 native Decodable?

There is no path for migration other than just reimplementing all your objects to use the Swift.Decodable and the decoding APIs therein.


'Recovering dependent associations' doesn't work

Hi!
I've got a problem with recovering dependent associations. Here is my case.
I have a SuperUser class inherited from User class and this SuperUser has_one profile (SuperUsersProfile):
SuperUser:
class SuperUser < User
  acts_as_paranoid
  has_one :profile, class_name: 'SuperUsersProfile', inverse_of: :super_user, dependent: :destroy
  ...
end

SuperUsersProfile:
class SuperUsersProfile < ActiveRecord::Base
  acts_as_paranoid
  belongs_to :super_user, inverse_of: :profile
  ...
end

When I destroy particular SuperUser, it works perfectly fine. SuperUser is destroyed with its profile. Unfortunately it doesn't work for recovering. When I try to recover SuperUser it recovers only SuperUser and SuperUsersProfile is not recovered. I would appreciate if you could check it.
It's not a big deal for me. I wrote a separate module to handle that so it works. But maybe someone would come across this case also in the future.

How about sharing your solution?

Sorry for the delay:
module ProfileRecoverable
  extend ActiveSupport::Concern
  included do
    after_recover :restore_profile

    private

    def dependent_class
      "#{type.pluralize}Profile".constantize
    end

    def association_scope
      dependent_class.only_deleted.where("#{type.downcase}_id" => id).order(created_at: :desc)
    end

    def restore_profile
      association_scope.first.recover
    end
  end
end

I'd like to bump this thread. recover is not restoring has_one associations, only has_many. Any idea why this isn't built it?

You may have to reload the parent model to make the associated model appear again.

Reloading should no longer be necessary.


Inference of trim_approx in iswt

Regarding the recent introduction of the trim_approx option to swt,  it appears that the inverse transform iswt attempts to infer whether or not swt was called with trim_approx=False via the following code:
# If swt was called with trim_approx=False, first element is a tuple
trim_approx = not isinstance(coeffs[0], (tuple, list))

The problem with this is that it assumes that the type of the coeffs produced by swt has not been modified in some unexpected way.  In my case, I have previously written code to convert the coeffs returned by swt ( [(cAn, cDn), ..., (cA2, cD2), (cA1, cD1)] ) to a numpy array so that I can manipulate them more easily.  Unfortunately, with that type conversion having been carried out, the code above infers that swt was called with trim_approx=True when in fact it was not.  (And in the wake of this erroneous inference, all sorts of things break downstream.)  Prior to the introduction of the trim_approx option, iswt was quite content dealing with my numpy array of coeffs.
Is there some other way to more robustly infer trim_approx (e.g., based on the length of coeffs and the number of levels used)?
Alternatively, would you consider adding a trim_approx option to iswt as well so that this inference can be overridden?  Presumably you might want to keep the inference for the typical case where coeffs has not been modified, in which case you might need to distinguish among  trim_approx being True, False, and something like None (with the last one triggering the inference).

Thanks @ChrisMyers.
To clarify, you were previously calling np.asarray(coeffs) where coeffs is the output of pywt.swt? I am not sure we intended to support that case, and did not have any test cases for it in our test suite. That said, I am not opposed to working to find a solution here.
It seems that calling np.asarray will give an ndarray of shape (levels, 2) + data.shape when trim_approx = False or shape of (levels + 1,) + data.shape when trim_approx = True. Given that data does not strictly have to be 1D, I don't think we can safely infer from array dimensions whether trim_approx had been called.

I am thinking the following autodetection would also work for your case and can replace the current check in the code:
trim_approx = np.isscalar(tuple(coeffs[0])[0])

In the case trim_approx = True, tuple(coeffs[0]) will give a 2-tuple of ndarrays, but for False it will give just a tuple of floats corresponding to approximation coefficients. So by checking the first element of tuple(coeffs[0]) we can differentiate between the two.


Add toggle to decide if email should be displayed in profile or not - Defauld should be not to show the email

@jheretic @rudietuesdays labeling this as high priority as I think it's potentially a privacy breach to a) have the email addresses displayed without consent, b) not giving the user the chance to make them not visible. Currently both my email addresses are public.

Fixed by #284


Restore (some) shareable links

Addresses #69, but see also my remarks in https://github.com/opencast/opencast-admin-interface/issues/69#issuecomment-2473404970; I'm not sure if it closes it because people might want more state in their share links.
TL;DR this puts some of the Redux state in the URL so that you can share "deep links" into the application, as in: provide people with a link to the admin UI that directly opens the event details for a given event.
Right now you can link to:

The event details modal of an event, and within that, to any tab, and within the workflow tab to any workflow.
The series details modal of a series, and again to any tab of said modal.

The latter specifically necessitated putting some more state into Redux in the first place. Plus some adjacent refactoring. 🤷♀
Creates links like http://localhost:3000/?persist%3AseriesDetails={"modal"%3A"{\"show\"%3Afalse%2C\"page\"%3A0%2C\"series\"%3A{\"id\"%3A\"ID-av-portal\"%2C\"title\"%3A\"AV-Portal+Content\"}}"%2C"_persist"%3A"{\"version\"%3A-1%2C\"rehydrated\"%3Atrue}"}&persist%3AeventDetails={"modal"%3A"{\"show\"%3Atrue%2C\"page\"%3A0%2C\"event\"%3A{\"end_date\"%3A\"2024-11-14T01%3A13%3A19Z\"%2C\"agent_id\"%3A\"\"%2C\"displayable_status\"%3A\"EVENTS.EVENTS.STATUS.PROCESSED\"%2C\"needs_cutting\"%3Afalse%2C\"source\"%3A\"ARCHIVE\"%2C\"title\"%3A\"Weitsprung\"%2C\"has_open_comments\"%3Afalse%2C\"has_preview\"%3Atrue%2C\"technical_presenters\"%3A[]%2C\"has_comments\"%3Afalse%2C\"technical_end\"%3A\"2024-11-14T01%3A13%3A19Z\"%2C\"series\"%3A{\"id\"%3A\"ID-av-portal\"%2C\"title\"%3A\"AV-Portal+Content\"}%2C\"presenters\"%3A[\"Wälken%2C+Paul\"]%2C\"technical_start\"%3A\"2024-11-14T01%3A03%3A03Z\"%2C\"location\"%3A\"\"%2C\"managedAcl\"%3A\"public\"%2C\"workflow_state\"%3A\"SUCCEEDED\"%2C\"id\"%3A\"ID-weitsprung\"%2C\"start_date\"%3A\"2024-11-14T01%3A03%3A00Z\"%2C\"event_status\"%3A\"EVENTS.EVENTS.STATUS.PROCESSED\"%2C\"publications\"%3A[{\"name\"%3A\"EVENTS.EVENTS.DETAILS.PUBLICATIONS.ENGAGE\"%2C\"id\"%3A\"engage-player\"%2C\"url\"%3A\"https%3A%2F%2Fdevelop.opencast.org%2Fplay%2FID-weitsprung\"%2C\"enabled\"%3Atrue%2C\"hiding\"%3Afalse}]%2C\"date\"%3A\"2024-11-14T01%3A03%3A00Z\"%2C\"selected\"%3Afalse}%2C\"workflowTabHierarchy\"%3A\"entry\"%2C\"assetsTabHierarchy\"%3A\"entry\"%2C\"workflowId\"%3A\"\"}"%2C"_persist"%3A"{\"version\"%3A-1%2C\"rehydrated\"%3Atrue}"}#, which is not pretty, but oh well, no one is expected to read and/or write these manually.

That was quick 👀 I wanted to provide an example from the test deployment but that 404s on me. 🤔
Anyway, no, it's pretty bad alright. 👌😂

:D Well, any URL should work if properly escaped. So people need to make sure, but that was already the case for the old UI.

If this bothers us we can still tweak it a little bit in two ways mainly:

Look more closely at what info is in the URL. Looking more closely at the example myself I see a few things that don't really need to be in there; they are there because I wanted to change existing code as little as possible.
redux-persist has a notion of "transformations" that you can apply to the serialized state before persisting it. We could compress and/or base64-encode it for example. 🤷♀ This makes them less (read: not at all) editable by the users, but as I said, I don't think anyone is going to want to do that with the current format either.

A completely different approach would preserve editability as well: We could just put all of that stuff in the application router and have nice urls like /events/ID-some-event/workflows/1. This was my first instinct, but the spirit of #69 suggested a more general approach, IMO, and frankly I just wanted to see if I can make it work. The router-approach would require very specific changes for every piece of state we want to have in the URL.

Apart from the conflict and a little bug I just pushed a fix for, I just noticed that metadata for a series doesn't load when you visit a shared link directly.
Converting to draft for now, but will look into it shortly.

In addition to the conflicts and a little bug I just pushed a fix for, I just noticed that metadata for a series doesn't load when you visit a shared link directly.

Everything should now be fixed!


Send screen - max privacy UI

All screens: https://app.zeplin.io/project/5b379c2c38cb39e73e5f8889/dashboard?seid=5f7f47ed43fead38120c420e

Please make non-active button more visible https://zpl.io/bPewozm

One-time-use address https://zpl.io/V078nPQ . Rename "show address" to "more details"
Offline address https://zpl.io/bl9QR1k
Permanent https://zpl.io/bovwy0k
Max privacy address https://zpl.io/2vwvdnr
Max privacy address details https://zpl.io/2ZelvJJ
regular address details https://zpl.io/amoPErD

In the Send screen for each Address details popups (open by 'more details'), the button 'copy address' should be changed to 'copy and close' as it's done in the design. https://zpl.io/amoPErD. The button should copy the address and close the popup.

There is no error message if you're trying to send an offline transaction to yourself. the message should be:
Cannot send to your own offline address.

Change Type to appropriate Address Type in the 'Confirm transaction details' popup. Probably, it's better to rename this name to Address Type either.

Please, add 0 (zero) to the Send screen when you've just opened it. https://zpl.io/bPewozm
When you navigate to the field Amount to change a value, it should change to the cursor.
Now, this field is empty.

1,3,4 done
2 - won't fix (@bigromanov)

In this field 0 (zero) should be a placeholder.  When you navigate to the Amount field to change a value, it should change to an empty field with the cursor.

Right now, 0 (zero) doesn't hide.

fixed

If put a new-created offline address to the Send screen, the number of payments has value 0, instead of 10 payments.
It blocks any offline transactions.

In the address details (open by more details), the number of payments has the correct value.

Video:
bug_payments.zip
Build version: 5.2.9715.3278

Add text under the address field for own offline address

Cannot send offline transaction to own address

Build: 5.2.9721.3291

@KatsiarynaV, @gingervik, I've simply allowed this type of transaction in the wallet. Sending to own max privacy or offline address is a matter of dispute, so, I propose to open a separate issue on 5.3

Checked on build 5.2.9723.3300


pagemon: 0.01.10 -> 0.01.12

Semi-automatic update. These checks were performed:

built on NixOS
ran /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/bin/pagemon -h got 0 exit code
ran /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/bin/pagemon -h and found version 0.01.12
found 0.01.12 with grep in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12
found 0.01.12 in filename of file in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘pagemon-0.01.12’ in /Users/graham/nix-borg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/os-specific/linux/pagemon/default.nix:23 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
cp pagemon.8.gz /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/share/man/man8
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12
shrinking /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/bin/pagemon
gzipping man pages under /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12/bin
patching script interpreter paths in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12
checking for references to /tmp/nix-build-pagemon-0.01.12.drv-0 in /nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12...
/nix/store/kayj1xp8j8dd280y98rajpmqh0sgmg8n-pagemon-0.01.12

Success on aarch64-linux (full log)
Partial log (click to expand)
cp pagemon.8.gz /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12/share/man/man8
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12
shrinking /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12/bin/pagemon
gzipping man pages under /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12/share/man/
strip is /nix/store/viv0il4zpdqj4p7yamwbmn2k9pb8dcnv-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12/bin
patching script interpreter paths in /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12
checking for references to /build in /nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12...
/nix/store/mdbwxhby66v3z6pmqwfk0s175w5h38fd-pagemon-0.01.12


Messed up major release bump

Meant to do a major version bump in last PR, but I didn't do it right.