Windows filepath fix

I was trying to run a SvelteKit + Deno project from a Windows computer and was running into some issues with the file server due to Windows not accepting file paths with a leading slash.
The problem, and a fix for it, was described in this issue: https://github.com/denoland/deno/issues/14605
I tried the fix on my Windows computer and it worked, so I applied the changes and opened this PR.

Hi thanks for the PR. I don't have Windows to test on but this breaks UNIX systems.
fromFileUrl() removes the file:// prefix and throws an error in new URL()
I think instead of:
new URL(fromFileUrl(import.meta.url)).pathname

You could just do:
fromFileUrl(import.meta.url)

UsingfromFileUrl should be enough. Can you test please?

Using just fromFileUrl appears to work on both Windows and Ubuntu (through WSL). I wasn't sure/didn't know how to test with the file:// prefix, but since there is no call to new URL, I assume it will work fine. (I don't think anything in the project I'm using this for uses the file:// prefix, otherwise I may have run into the same issue on Windows anyways).

Thanks this is working for me too!


Fetch siblings

Closes #213
Closes #209
https://share.cleanshot.com/JZ7xRrFD for demo
TODO:

[x] Button styling
[x] Loading state while fetching siblings

Preview:
https://github.com/personaelabs/noun-nyms/assets/95446735/fd7c69a3-ec1e-4f17-956a-ae091bf213dd
Implementation notes:

Created a ShowMore.tsx component that renders the button that handles showing more replies and showing parent replies


Outline view: collapsed by default (introduce optional setting?)

Very simple request: I'd like the outline view tree to be collapsed by default. It'd be great if there were a configuration setting for this. To be clear, I'm referring to the items in the tree, not the panel itself.
Good:

Bad:

Yeah, that's a tricky one. The current logic reveals one level down and that should work well with one-file-one-type languages like Java. In language like JavaScript that might not be ideal. Needs some thinking

Yeah, we can always have a setting

A configuration settings option for the other outline options like 'Follow cursor' or the sort order would be great as well.

@thorstenc Not a configuration, but the sort order can be set via the menu (choice is persisted)

I would enhance this a bit further by saying that outline view should remember the collapsing state. In other words, if I collapse all, then change to Source control view, when I get back into Explorer view the items are expanded again.
This should also work if I collapse all, then expand just one item, then change views. When I come back to explorer view, only that item should be expanded.

@jrieken One thing I have often wished for was a way to organise my code without the constraints of a rigid file structure. Code is a graph, and I often wish there was a way to present me with the bits of code I care about (pinned, adjacent, degrees-of-separation, etc.). When I'm prototyping and doing R&D in general, I end up with large amounts of code I don't want in focus, but creating new files constantly, and managing imports and exports between those files, is extremely inefficient when I don't even know if I'll need to keep a large amount of the code I'm fleshing out. Being able to see a higher-level overview via the outline panel is at least something in the absence of a solution to the above, but when it behaves like a wall of text that doesn't even remember the state of collapsed/expanded nodes, or have any form of contextual link to what I'm doing in the moment, it feels like a missed opportunity to be a really useful tool.

I agree the ideal solution to this problem is to have a configuration setting, which can be customized by file type or project. I'd go farther and say that the ideal configuration isn't just "expanded" vs "collapsed", but instead a depth level, e.g., expand to level 3 of nested structure.

@jrieken - Any updates?

Has this been solved?

@Antisunny - You can see that the issue is still open

In the mean time <Ctrl> + <LeftArrow> will collapse the entire list

@blowsie - That's good to know, but since you have to focus on the outline window first it's no easier than just clicking the "collapse all" button

@jrieken - Why did you delete my comment?

Collapsing items is actually fair easy - the question is what to do when "Follow Cursor" mode is on? That mode always reveal and hence expands the current item and it will leave many expanded items behind. Not sure if auto-closing those elements that where already expanded is in reach...

@jrieken - The issue is that many VS Code users would like an option to have the items in the outline panel collapsed by default so we don't have to click "collapse all" for every file we open when we're browsing through many files in a library

Here's my use case, which may present a proposed behaviour.
I have a javascript file with a number of functions.
I don't want to know about the contense of the functions, but I want to always know what function I'm actually in at a glance.
I guess my request COULD be served by being able to lock the tree so it doesn't expand or contract, but still follow cursor. I'm forever clicking "collapse all"

I would love for a setting where VS Code would collapse all other folders except the currently active file.
Currently as you go through files, it will expand the folders to each of the files and then keep them expanded as you switch files again.
I want VS Code to auto collapse all folders except the current active file.
To have this:

Instead of:

@nikitavoloboev This issue is related to the outline, not the files list. Maybe file a new issue if one doesn't already exist? =]

How can this simple, so logical and requested feature take so long and a myriad of mostly useless or strictly specific things get in updates???

@Rusenec You could re-channel that complaining energy to writing the PR which makes it do what you want. =/ It's free, don't complain. The team that work on this bring HUGE numbers of updates all the time. If you want it to go faster, help.

@Relequestual - This has been assigned to someone for over a year. How do we know we wouldn't be duplicating effort with a branch that's nearly complete?

@Relequestual  ^This

@v-kydela You can add a custom keybinding for Collapse All that works without having to first focus the outline window.
For example using the Commander extension to chain multiple commands together you can add the following to keybindings.json:
{
    "key": "alt+o",
    "command": "commander.runCommands",
    "args": ["outline.focus", "list.collapseAll", "workbench.action.focusFirstEditorGroup"]
}

The macros extension also works. If you'd rather not install an extension, it's possible to chain commands together using tasks: https://github.com/microsoft/vscode/issues/871#issuecomment-488355245.

@johnmellor - That's good to know, but it doesn't solve the issue

It's a nightmare.
I'm editing reactjs files.
Outline gets expanded up to the calls like _.map.
I have to collapse it.
Outline restores its expanded state after git pull.
Very annoying.

This is really annoying; I am using the outline to quickly navigate through (Python) functions, and dont need all the arguments shown.
Ideally, the collapsing can be configured to be by default done to a certain level, so that we can choose to either collapse to the topmost, or e.g. one below.

It says it's resolved here: https://github.com/microsoft/vscode/pull/74026
It just says it looks great but can't see what the actual shortcut is

@Bulletninja Looks like the command is list.collapseAll. See https://github.com/microsoft/vscode/pull/74026/files, line 306.

@johnmellor already said that. And again, it doesn't resolve the issue. That's a one-time action, not a persistent behavior.

@v-kydela yes, you're right. It is still better than nothing though.

I also think this feature would improve my workflow!

Why is the Outline showing me const/let statements, method calls and inline (e.g: anonymous) functions within TypeScript class methods? I would expect this to only show class properties and methods; nothing within those.
Could somebody please give this some JavaScript and TypeScript love and make it work reasonably well for common use cases within those? Right now as other people have indicated this is worthless because it doesn't provide an outline, just a huge scrolling mess of irrelevant details.

Aware that it does not answer the initial question, but here is what I used as a workaround.
multi-command extension with this settings.json config below:
"multiCommand.commands": [
    {
        "command": "multiCommand.collapseSourceControl",
        "sequence": [
            "workbench.actions.treeView.gitlens.views.remotes.collapseAll",
            "workbench.actions.treeView.gitlens.views.repositories.collapseAll",
            "workbench.actions.treeView.gitlens.views.tags.collapseAll",
            "workbench.actions.treeView.issues:github.collapseAll",
            "workbench.actions.treeView.pr:github.collapseAll",
            "workbench.actions.treeView.gitlens.views.branches.collapseAll",
            "workbench.actions.treeView.gitlens.views.commits.collapseAll"
        ]
    }
]

and this Commands extension with the settings.json config below to add some sexy button in the status bar:
"commands.commands": [
    {
        "alignment": "left", // Should the item be placed to the left or right?
        "priority": 0, // The priority of this item. Higher value means the item should be shown more to the left
        "color": "#FFCC00", // The foreground color for this item
        "text": "$(checklist) SourceControl", // The text to show for the entry
        "tooltip": "Collapse some SourceControl menus", // The tooltip text when you hover over this item
        "command": "multiCommand.collapseSourceControl",
        "arguments": [], // Arguments to pass to the command handler
        // "filterLanguageRegex": "markdown", // Show only if current file's language matches this regex. Requires double escaping
        // "filterFileRegex": ".*\\.ext", // Show only if the current file's path matches this regex. Requires double escaping
        // "filterWorskspaceFileRegex": "**/.*\\.ext" // Show only if a file's path that matches this regex is found in the workspace. Requires double escaping
    }
]

For a key binding, you can still use the VSCode native keybindings.json and reference the multiCommand.collapseSourceControl custom command.

@adjogahm: I'm sorry but I don't understand how Source Control and gitlens etc. relate to this issue (Outline) at all?

You can hide all the variables & constants in the outline and have it only show methods/functions.
In settings. Go to Settings > Features > Explorer and turn off the Outline: Show ____.

Cool! I've also disabled Show Functions since that doesn't make sense (at least to me) for JS/TS where you use anonymous callbacks.

Thanks a lot @bwaindwain ! I had no idea that these settings existed!
It makes the outline much lighter and more digest.
Thus, for me the main point of this issue is almost solved :rocket:

I'd like to jump on this bandwagon too. The few times I've used the outline to trace through something it was an extremely helpful tool but since it doesn't remember state and always has to be collapsed manually it's not my go-to but it could be.

If anyone from the VS Code team ever looks at this, I don't want them to deprioritize it because they think workarounds have been provided in the discussion. I want to make it clear @bwaindwain has provided some useful and interesting information, but it does not solve the issue because it does not allow us to have the outline collapsed by default. Some users (like me) still want to have variables and properties show up in the outline anyway.

The use case for this very common developer workflow is as follows:
User is working on function foo as well as bar in file game.py, and has customized the expansion of the outline tree to work between the functions quicky.  The user then needs to reference function zoro in file library.py.  The user switches focuses back to game.py, checks the reference, and use the outline to quickly get to function bar.
The current problem is that when you switch focuses, everything re-expands and the user has to re-customize the outline tree.
When a user switches focus to a different file, and then returns, the outline should be in the same state as when the user left.  It appears that the outline tree is currently being re-built between focuses.  The solution is that the outline window should be persistent between focus changes, including any customization made to the expansions/collapses.

Why not somehow serialize the expanded/closed state of the tree an re-read that when coming back?
The serialized data could even be stored onto disk, just like the list of open editors. This way, the expanded/closes state would survive restarting VS Code.

@difosfor my bad, I confused with 2 different threads

@AndrewKnauss , are you sure what you describe is the case? I don't see that. In tab A I can expand the outline to the depth I need, then switch to tab B and expand tab B's outline. When I go back to tab A, the outline is exactly in the state it was before switching tabs.

@themighty1 , I just tried to reproduce the issue it has been resolved in a recent update.  The outline tab is now working as expected.  Either that or the issue was intermittent.  Here's the latest version I tested with where the issue appears to be resolved.
Version: 1.58.2 (user setup)
Commit: c3f126316369cd610563c75b1b1725e0679adfb3
Date: 2021-07-14T22:10:15.214Z

+1
I need outline view to be closed by default or opened at 1 level:

Class/object
-- Method
-- Method
Current "all open" default view makes me to many click to navigate to a certain function:

Click "-" button
Clock ">" box of class
Browse for a function/method of the class
If it is closed by default, it will save me one click :)

Some brilliant comments in here. I haven't seen any extensions perform what's listed here, but I'm free to suggestions.
Always collapsed
Imagine going through a spreadsheet made into a table in html. Each cell contains an image. Image url's can vary from 10-500 characters. Here's an example of a 2x5 table.

You're on one row and want to quickly go 4 rows down using just the outline. In this scenario, having the outline always expanded limits its usefulness.  The image above was created by collapsing the entire outline, Selecting Follow Cursor as seen below, then clicking on a cell.

I would enhance this a bit further by saying that outline view should remember the collapsing state. In other words, if I collapse all, then change to Source control view, when I get back into Explorer view the items are expanded again.
This should also work if I collapse all, then expand just one item, then change views. When I come back to explorer view, only that item should be expanded.

Add an option above the bar in the above screenshot "Always Collapsed" or "Collapsed by Default" or "Remain Collapsed". What this function does is assure the user 'vscode will never expand the outline unless you explicitly tell me'. This function will collapse the entire outline for the file by collapsing the root node, so \/ html  becomes > html.
If Follow Cursor is selected however! Then that closed outline works exactly as if you did what I did above, collapse the root node, then click the code, and it'll look like the image above. If moving through the code, it will auto-collapse all nodes not relevant, and only expand what's needed to Follow Cursor.
My problem before, jumping down 4 rows in html. This is the best way I know howto do this with the outline/breadcrumbs:

For viewing files with less complicated structure, it is rather handy to have the outline to be expanded by default.
Any chance to add setting for this, or at least have a list.expandAll command?

Is there a setting now in end of 2021?

Is there a setting now in end of 2021?

Apparently not :( I was also hoping for that.

You can hide all the variables & constants in the outline and have it only show methods/functions.
In settings. Go to Settings > Features > Explorer and turn off the Outline: Show variables and Outline: Show properties.

seems outline.showTypeParameters checkbox not work with python3 outline.
local variables aways stay in outline.

current:
// outline with too many details (at default view) is not really outline.

ideal look:

I have disabled outline.showVariables in settings. It's good for PHP, outline now shows only classes and their member functions, without inner local variables.
But it's bad for JavaScript. Outline shows empty panel, because JS classes is object variables:
let myPanel = {
func1(){
...}
}

It works well only with class declarations in JS:
class MyClass {
static func2(){
..
}

I need as well a collapsed outline per default. So please devs provide us a function. It is now request since nearly 4 years.

+1

I use the vim integration, and I have a temporary workaround that works for my usage. I focus the outline with <leader>+o and then navigate the outline with j and k.
By adding outline.collapse to my key bind (in vim.normalModeKeyBindings in settings.json), the outline is collapsed when I want to navigate it.
{
    "before" : ["<leader>","o"],
    "commands" : [
        "outline.collapse",
        "outline.focus"
    ]
},

I've probably spent longer reading this thread than I will actually clicking the Collapse All button every time I go to the Outline view, but it would still be nice if there was a setting that made collapsed the default.

+1
A config like 'outline depth = n' would make 90% happy. Quick win... then you can address edge cases

+1, I want an optional setting to default collapsed outline.

I need it too.

Is there still no settings option for collapse all? Loved to have it...

+1

Yes, indeed. This would still be great. :)

You can hide all the variables & constants in the outline and have it only show methods/functions.
In settings. Go to Settings > Features > Explorer and turn off the Outline: Show variables and Outline: Show properties.

Best solution so far, thanks! Really anoying that this things expands all the time.

You can hide all the variables & constants in the outline and have it only show methods/functions.
In settings. Go to Settings > Features > Explorer and turn off the Outline: Show variables and Outline: Show properties.

Best solution so far, thanks! Really anoying that this thing expands all the time.
Unfortunately it doesn't suit for JavaScript objects, declared as variables.

A default: collapsed setting would make studying large source files easier. It would also be nice if the outline window centered symbols when possible. Often, the outline scrolls the minimum amount to bring a symbol into view at the bottom of the screen. When that happens, I have to manually scroll the outline up to see the symbol's context.

I'm so confused. I have the exact opposite problem - the C++ outline is collapsed by default, so the only thing it shows is a namespace. Worse still, it re-collapses every time I switch tabs, and there is no expand all button, only a collapse all button. Am I missing something? Only sirius0xff made a similar comment:

For viewing files with less complicated structure, it is more handy to have the outline to be expanded by default. Now all I can see is c++ namespace after switching between c++ files, which is useless and very annoying.
Any chance to add toggle setting for this, or at least have a list.expandAll command?

I have the exact opposite problem - the C++ outline is collapsed by default, so the only thing it shows is a namespace. Worse still, it re-collapses every time I switch tabs

@taranu while implementing PR #158650 to add a setting that loads outlines collapsed rather than expanded I found and fixed the bug that's probably biting you. To reproduce it:

Start VS Code fresh.
Open two files whose language mode is able to populate the Outline view, For example, tasks.json and launch.json from a .vscode folder.
Initially their outlines will display fully expanded,, but if you switch back and forth between them a couple of times they will suddenly collapse, and will re-collapse on subsequent switches.

@jrieken I'm hoping this PR isn't too late to be considered for 1.71, particularly as it fixes the bug described above.

This will be part of 1.73.x and next insiders and is this setting: outline.collapseItems


Add DO Alarm API

This PR implements the DO Alarm API based off of the signatures found in the storage docs.
I think there's a bug in the way I've implemented the binding for getAlarm. When an alarm does not exist, I expect getAlarm to return null and in rust Ok(None), however I seem to be getting an error instead. When the alarm does exist (set_alarm immediately followed by a get_alarm) I get the expected output.
I haven't been able to test that the alarm does trigger, however everything compiles and it looks like the generated shim has the required methods. I'll be testing later tonight.
Also, I have set_alarm take in a DateTime<Utc> whereas get_alarm returns an i64.

Thoughts on having both a set_alarm and set_alarm_datetime?
Should there also be a get_alarm_datetime for convenience?
Should we have inputs and outputs just be DateTime<Utc>s?

Some changes needed, but overall looks good. The new methods need to have option arguments and we need to add testing for this in worker-sandbox. Miniflare support for DO alarms seems a bit rough right now, but should be good enough for us to get basic testing.
Sorry for the delay on the review.

@zebp Sounds good! I like the idea of using a trait for the argument. No worries on the delayed review too.
I'll also add some tests and those optional arguments as well.
I have some family visiting me right now so aim to get the additional work done sometime next Monday or Tuesday.

@zebp Currently stuck on testing. A few days ago I tried to add some and I didn't get it to really work locally.

Finished up and rebased this PR, thanks for the contribution!


Wrong editor info

The color isn't right and the 1 file unsaved tag appears after I saved all files. Refresh or close-reopen can't fix it.

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.70.0
OS Version: Windows 10.0.19044.1826

Steps to Reproduce:
I don't know, it's probably due to a set of coincidences. But you can ask me what appears when doing something.

That indicates there is still a document that is dirty even though it should be visible. If you run "Log Working Copies" from the command palette and open developer tools console, it should print the URL of the document, can you share it?

Yeah thanks! So this indicates you or an extension made changes to function.md but somehow no editor opens to show this file. When you reload the window, does this editor then open as dirty?
Do you recall how you got into this?

Hm, when you open d:/RM/docs/advanced/function.md and then close it and either save or dont save, does this go away?

Yeah my hope was to remove the "1 unsaved" tag when you open the file and close it without saving.

I wonder if this issue is being caused by an installed extension. Can you try to run VS Code without extensions? From the command line (NOT the integrated terminal in Code), execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines.
Happy Coding!

Feel free to ping me on the extension issue, I would like to reproduce myself.


Add support for logs

Use Case
For ingesting security logs, we need to consume audit and other logs from the 1Password API.
Requirements and desired behavior
Allow to read out signin, usage and audit event logs.
Additional information
I implemented this in https://github.com/hazcod/one2sen/tree/main/pkg/onepassword

Hey @hazcod! This sounds like a very interesting use case for the SDKs. Thank you for also sharing your implementation!
We will consider adding this to the SDKs in the future.


glib::log_set_handler not available

I would like to use glib::log_set_handler as defined here:
https://github.com/gtk-rs/glib/blob/039e7698972fc2b0f77701152d3ed97a795a53f3/src/log.rs#L117
However, this handler is bound to the features feature = "v2_46", feature = "dox". What is the "dox" feature - documentation only? Why is log_set_handler only available in v2_46? I would like to do the exact same thing as mentioned in the second example here:
g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL
                   | G_LOG_FLAG_RECURSION, my_log_handler, NULL);

But glib in Rust does not provide me with any method to set a handler for a particular log_domain. I can only do log_set_default_handler which does not do the same and fails to catch messages from the "Gtk" log domain.

The important part of the cfg is the any. So either you need dox or v2_46 feature activated (or both).
Also, the v2_46 feature matches the minimum version of the GLib library with this function.

What part of the system is responsible for setting the GLib library version? Do I do that manually in my project in Cargo.toml (how?) or does the build system figure that out by itself? My library is past 2.46 but the function is inaccessible:
error[E0425]: cannot find function `log_set_handler` in crate `glib`
    --> src\main.rs:1442:8
     |
1442 |     glib::log_set_handler(None, glib::LogLevels::all(), true, true, printerr2);
     |           ^^^^^^^^^^^^^^^ help: a function with a similar name exists: `log_default_handler`

You have to specify it yourself depending on your needs, nothing automatic there. As for how to specify it, I recommend you to read this part of the cargo book.

Thank you, it compiled. I didn't know I had to specify this myself. For anyone else having this issue, this is the line in my Cargo.toml that resolved it:
glib = { version= "0.10.3", features = ["v2_46"] }

By setting this feature, you signal that your application can only be used with a glib version that is 2.46 or higher.

I forgot but you can see the full tutorial there: https://gtk-rs.org/docs-src/tutorial/version
There are a few other tutorials that might be useful to you, so don't hesitate to take a look. ;)


run collectstatic in before_restart block with environment variables

move collectstatic into before_restart as it might depend on symlinked in settings and run with the appropriate environment variables

No longer relevant.


Remove dangling comma

This PR removes the dangling comma on scope names which resulted in package.json  being marked as unknown.
I also actually did remove a dangling comma on the available icons :^)

the "remove my changes" commit just removes extra changes i made earlier

I just noticed this and whatever package you're using that provides the syntax definition is erroneos. Commas have no business being inside scope names since they are operators in scope selectors and afaik cannot be escaped. Outside of that, they don't have any significant meaning other than any other character that isn't a period.
You should raise this issue on the repo of the package.


[feature] PR and Issue templated added

coverage: 99.351%. remained the same
when pulling 65ece180230e866a045cd9c88b3b83c31d98f641 on issuepr
into df6c76ef7cd5082d6955748fd7f1122b85c9c136 on master.


BetterDiscord appears to have @everyone tag broken [BUG]

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by a plugin or theme

Describe the Bug
After looking for about 2 seconds in #issues, I have not found a issue which matches this. When using BetterDiscord, regardless of plugins of themes enabled, the @everyone tag in servers renders are #unknown-user. This does, in fact, mention everyone however.
Below are all the same two posts
BetterDiscord

BetterDiscord no plugins

Vencord (with FakeNitro)

Expected Behavior
The @everyone tag in servers renders properly
Steps To Reproduce

Open Discord with BetterDiscord
Go to any server and @mention everyone
Check if it says 'unknown-user'

Operating System
Windows
Discord Version
PTB
BetterDiscord Version
v1.10.1
Anything else?
No response

This happens without betterdiscord at all, seemingly just a Canary/ptb bug at this moment.

Ok


Login / 2FA / captcha error with 2.8.0. Cannot login anymore!

Describe the bug
Just updated to 2.8.0. After some reboots I've got a notification to insert captcha for Amazon login. I did it several times. The first nothing happens (no error shown/logged) but the notification still there. From the second time an error is showing in the bottom (log attached). So I'm out of my account, cannot use it anymore.
To Reproduce

Amazon should request the captcha, frankly I don't know what to do for it. Maybe some wrong password attempt? (I didn't however)
Reboot HA
A notification will show that request to insert the captcha
Insert the correct captcha
You'll notice that the notification is still there
Reinsert the captcha
The error is shown for a second on the bottom and saved in the log file

Expected behavior
Correct login, all should work then.
System details

Home-assistant (version): 0.110.0
Hassio (Yes/No): yes
alexa_media  (version from const.py or HA startup): 2.8.0
alexapy (version from pip show alexapy or HA startup): cannot verify

Logs
2020-05-21 02:18:44 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2876995792] local variable 'config_id' referenced before assignment
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1253, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1288, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/configurator/__init__.py", line 235, in async_handle_service_call
    await self.hass.async_add_job(callback, call.data.get(ATTR_FIELDS, {}))
  File "/config/custom_components/alexa_media/configurator.py", line 28, in configuration_callback
    setup_platform_callback, hass, config_entry, login, callback_data
  File "/config/custom_components/alexa_media/configurator.py", line 174, in setup_platform_callback
    await test_login_status(hass, config_entry, login, alexa_setup_callback)
  File "/config/custom_components/alexa_media/configurator.py", line 203, in test_login_status
    await hass.async_add_job(request_configuration, hass, config_entry, login)
  File "/config/custom_components/alexa_media/configurator.py", line 143, in request_configuration
    hass.data[DATA_ALEXAMEDIA]["accounts"][email]["configurator"].append(config_id)
UnboundLocalError: local variable 'config_id' referenced before assignment

Additional context
I tried to install 2.7.5 from HACS, reboot. Same problem. Maybe the problem is in HA 0.110.0?
Please help, I'm out of Alexa :(

I also have the same issue. I attempted a full uninstall with no success.

I've tried again today and the problem is even worse: clicking the notification from the web interface this is showing

I'll try to remove the token (I don't know how to do it but I'll investigate) and report here if it works.

Further trials.
I've removed the .pickle file in the .storage directory, restarted no way.
Removed pycache files in alexa_media directory (don't know it that's important).
So I've tried to remove integration and readd it. There is no way!
I'll show you with screenshots step by step:

I insert data (user and password are good, I'm using LastPass and checked with a normal login, they're ok) on the first form.

Insert captcha

I'm requested the verify method, 1 or 0 ??? What's this? Seems not documented... I've tried both 0 or 1, same result

When pressing "send" link on the previous dialog I'm returning to the first one with this error:

Two files are created in the config folder a get and a post html file. I've compared them, they're identical and they looks like this (I can send you privately them, don't know if they contains some data to hide):

So, with the latest update 0.110.x and 2.8.0 alexa is totally broken :( Please help!

Ok, I managed to login and I'm getting Alexa again working with HA.
I had not enabled 2FA on my Amazon account, but at login an SMS request was made (why?).
So I enabled 2FA on my Amazon account with an authenticator app and only then the login in alexa_meda config flow was successful.
So, there should be something not correctly managed if 2FA is not enabled and an SMS verify is requested.
This has to be addressed as many people could remain stuck like I was.

Now it seems to work but in the log I've found many of these errors:
2020-05-21 18:48:14 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/alexa/state_report.py", line 150, in async_send_add_or_update_message
    alexa_entity = ENTITY_ADAPTERS[domain](hass, config, hass.states.get(entity_id))
  File "/usr/src/homeassistant/homeassistant/components/alexa/entities.py", line 211, in __init__
    self.entity_conf = config.entity_config.get(entity.entity_id, {})
AttributeError: 'NoneType' object has no attribute 'entity_id'

The alexa error is from the official component. Also the error message appears to indicate a network error.
Amazon is the one sending you a verification request. By enabling 2FA, it gives Amazon another path to verify.  If you send me the html files I can take a look to see if it's an issue where we're not processing the page correctly. Of course, if you're past that page now, you may not have it anymore.

Also, this is likely a dupe of #733. I'm only keeping it open because of the verification request screen.

I also thinked that could be a duplicate of #733 but I couldn't see the log there so I'm not sure. Furthermore he resolved by deleting the tickle file and reinstalling 2.8.0 while I could not resolve in that way. That lead me to think there could be something different. Maybe amazon.it instead of .com or the account configured differently, who knows.
About the network error I can exclude at 100% that. Every attempt lead to the "Error connecting, check network and retry" label at the login screen, but that's certainly something like a catch all that write that because my HA is connected via LAN, my connection is fiber and my IP addresses are all well ordered, I don't have connection issues (I'm a programmer, I work with networks).
But every attempt lead to network error...
Yeah, you had correct intuition, as I managed to login with 2FA enabled.... my old html are gone.
But that should not so difficult to reproduce, using an account without 2FA enabled.

I dont see the captcha, the image is not loading. Any idea how to fix it ?

@energywave The issue is that Amazon only sometimes sends the verification page. Unless we have an account that is in that state, we can't replicate it. Since you don't have the html file anymore, I'll close this out and pursue this in the other thread.
@lbouriez Click confirm and it should try to reload.

@energywave The issue is that Amazon only sometimes sends the verification page. Unless we have an account that is in that state, we can't replicate it. Since you don't have the html file anymore, I'll close this out and pursue this in the other thread.
@lbouriez Click confirm and it should try to reload.

My account is in that state and updating to 2.8.1 didn't resolve the issue that entered captcha is accepted and I see "local variable 'config_id' referenced before assignment" errors. I don't see any html files in the configuration directory, do I need to enable debug somewhere?

Exactly! You have to enable advanced debug (don't know how it was in english before translation) when you add the account. I don't know if there is (probably so) a YAML parameter to enable that. If you remove and readd the account you can specify the option, you'll find a checkbox for that. You can see it in my screenshots. Maybe those html can help the dev a lot! :)

Checked the sources and found debug in .storage/core.config_entries.

@condemil Logs are necessary to figure out the error. You can access the Advanced Debugging option when you add an integration.


Incompatibility with Vampirism

I am using Vampirism 1.16.4-1.7.4 and RPG-Hud 3.8.3 for 1.16.4 on Forge-35.1.37. I saw this issue occur in an earlier version, however it was noted to report it again if it continued to occur.
I am also using Appleskin-mc1.16.2-forge.1.0.14, though I am unsure if it is at all related to this particular issue.
The hunger does not properly render, and the vanilla level is showing up for some reason despite the vanilla and XP element being otherwise hidden aside from the level itself.

There is also an issue with the "Sunlight Damage". The player icon in the widget disappears while under its effect but returns after its gone.


Permagutter on right side of page on typical wide monitor

As  you can see the width of that container is 100%.
I even tried putting w-100 in the class field of the container divs.
I'm liking boostrap5 so far.  :)

This looks like an issue with Bootstrap 5, not with this specific package.  The best place to ask for help might be StackOverflow.


Configure 4D Radar

Our new 4D radar has ROS "drivers" (nodes that communicate directly with the device and publish messages with data).  We need to include this in the vehicle_interface dockerfile and test that it works.

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Here is the model information:
Smart Micro (SMS-DRVEGRD-169) DRVEGRD 169 Automotive
4D/UHD RADAR - Point Cloud Output
Link to the product information
Which also has a link to the ROS2 driver github

16/9/24 - Notes (Subject to Change)
Observation:

Smartmicro DRVEGRD 169 has a ROS2 Driver available, built for ROS2 Foxy
The driver depends on the Smart Access API and specific ROS2 packages (e.g., point_cloud_msg_wrapper).
I need to modify the Dockerfile to install the required dependencies, clone the driver repository, obtain the Smart Access API, and build the driver.
Compatibility issues may arise due to differences between ROS2 Foxy and Humble, requiring code modifications. (Risk)

Lower Level Analysis of Potential Issues: (Untested)

The smartmicro ROS2 driver is originally built for Foxy. Due to API changes, might encounter build errors or deprecated functions when compiling in Humble.
Since Humble targets Ubuntu 22.04, system libraries and dependencies differ from those in Ubuntu 20.04.
point_cloud_msg_wrapper: The package name or availability might differ between Foxy and Humble. We need to find Humble-compatible versions of certain packages or find alternatives.
Adjustments might be necessary if the driver uses features specific to older versions of Python or C++.
https://answers.ros.org/question/412228/migrate-foxy-to-humble/

does not seem to be a problem (hopeful)

Networking and hardware interface configurations might require updates
Should Drivers fail to build in humble:
Go through drivers and adjust code for ROS2 Humble dependencies
Changing parameter declarations, updating message handling, modifying launch files and configurations.

Status: Actively Coding
Next Steps: Testing and adjusting any configuration, dependent inconsistencies, (Migrating driver from FOXY -> Humble)
Projected Completion: 21. September 2024 (~5 hours)
Update: From this process, I’ve learned the complexities of integrating a radar sensor like Smartmicro DRVEGRD with ROS2, specifically navigating potential conflicts between ROS2 Foxy and Humble. I’ve gained some experience modifying Dockerfiles to install necessary dependencies, clone and build drivers and handle the networking interface configurations for sensor communication. Furthermore, I've researched the nuances of managing potential build errors due to API changes between different ROS2 versions, especially when resolving package dependencies such as the point_cloud_msg_wrapper. Additionally, I’ve become familiar with sensor interfacing via Ethernet and the code flow for processing and publishing sensor data as ROS messages, which involves both real-time data from the sensor and using pre-recorded PCAP files for testing.

23/09/2024 Update:
Status:  Writing dockerfile, and compiling an entrypoint script for the 4D Radar. Roadblocked by VPN malfunctions (temporary), planning to move into occupancy grid activities and msg testing in next week.
Next Steps: Testing new dockerfile
Projected Completion: 25. September
Update:

Created new repository and set up for radar
Realized this is the wrong approach (my bad)
Refactored and investigated Ouster Lidar
Verified new approach
Implementing new approach (VPN wouldn't allow for it )
personally decided that Ethernet is a better choice for the radar for the following reasons:

Bandwidth: Higher throughput, (CAN is 1-5Mbps) (Ethernet 100 Mbps to 1 Gbps)
Lower latency and high reliability: system is critical and relies on timeliness of predictions to make decisions
More complex communication protocols and packet handling, beneficial for the detailed point cloud data we want (CAN is limited in size)
Larger data capacity ensures ML models can be deployed without losing critical detail

Setup installs (hasn't been tested)

30/09/2024 Update:
Status: Finished writing dockerfile configuration, evaluating need for entrypoint shell script, preparing for pcl -> occupancy process
Next Steps: Testing pcl messages/making pull request + commit
Projected Completion: 30. September
Update:

tried several different versions of a dockerfile structure
researched how smart micro is integrated
researched ethernet vs CAN (current setup is configured for both)
researched dockerfiles a bit more ( I had the wrong idea)
Wrote and tested a dockerfile, created subdir 4d_radar, currently has generic structure


[CAPR] Keep any node that either has a matching machine UID label or matching machine status NodeRef during etcd restore

When performing an etcd restore, it is important that we keep nodes that either have a matching machine UID label, or a matching machine status noderef.
There are very few edge cases where we can run into the situation where we need to "fallback" between the two, but the primary edge cases that I can think of are:

Restoring an etcd snapshot that was taken on a different Rancher installation (i.e. a Rancher installation that was migrated from). In this case, the etcd snapshot nodes will have machine UIDs that do not match the existing Rancher installation, and while we have a "InitialRestartCluster" phase that hopefully will reconcile the label, this is not necessarily a reliable method to ensure that the machine UID label is up to date.
Restoring a snapshot that contains a node that has not been backpopulated by the CAPI machine controllers yet -- this is a very low likelihood case, and should realistically not affect much but it is still better to keep the node around.

QA TEST PLAN
Scenarios

Scenario
Test Case

1
Provision a downstream RKE1 node driver cluster, create an etcd snapshot of the cluster, migrate Rancher to a new server, restore the downstream cluster and validate that it restores properly

2
Provision a downstream RKE2 node driver cluster, create an etcd snapshot of the cluster, migrate Rancher to a new server, restore the downstream cluster and validate that it restores properly

3
As a standard user, provision a downstream K3S custom cluster (1 etcd, 1 cp, 1 worker), create an etcd snapshot, replace the etcd node, restore the snapshot and validate that it restores properly

4
As a standard user, provision a downstream K3S custom cluster (1 etcd/cp, 1 worker), create an etcd snapshot, replace the etcd/cp node, restore the snapshot and validate that it restores properly

Tested this against v2.7-head https://github.com/rancher/rancher/commit/6ce75a0b57ad9e88cf135254a9b3b40082788eb6.
ENVIRONMENT DETAILS

Rancher install: Docker
Rancher version: v2.7-head https://github.com/rancher/rancher/commit/6ce75a0b57ad9e88cf135254a9b3b40082788eb6
Browser: Chrome

TEST RESULT

Scenario
Test Case
Result

1
Provision a downstream RKE2 node driver cluster, create an etcd snapshot of the cluster, backup/restore Rancher on the same server, restore the downstream cluster and validate that it restores properly
:white_check_mark:

2
Provision a downstream RKE2 node driver cluster, create an etcd snapshot of the cluster, migrate Rancher to a new server, restore the downstream cluster and validate that it restores properly
:x:

VALIDATION STEPS
Scenario 1

As a standard user, provisioned a downstream RKE2 v1.26.4+rke2r1 node driver cluster.

Validated that the cluster and nodes came up as Active in Cluster Management and Cluster Explorer.

Created an etcd snapshot of this downstream cluster.
In the local cluster, installed the Rancher Backup chart.
Created a Rancher backup to my pre-defined AWS S3 bucket.

Validated that my backup properly appears in my S3 bucket in the S3 Management Console.

Successfully restored the Rancher backup on my same server.
Successfully restored my downstream cluster's snapshot using options cluster configuration, Kubernetes version and etcd.

Cluster and nodes are in a state of Active in Cluster Management and Cluster Explorer.

Scenario 2

Repeated scenario 1 steps 1-4.
On a new client machine, followed the Rancher migration documentation on a new server that will act as my new Rancher server.
Navigated to the migrated Rancher in a browser and validated the following:

Rancher successfully stood up.
Rancher restore successfully completed:

My provisioned downstream RKE2 cluster migrated to the new Rancher server.

While my downstream RKE2 cluster migrated over, it is not Active; only the etcd node is stuck in a Reconciling state.

This is an issue as I expect the cluster to come up as Active after I performed this migration.

In terms of this issue, the migration does actually take place and I am not seeing the issue described in scenario two. However, I have marked it as failure as I expected the cluster to come up as Active after I migrated. Seeing as it did not pass that test step, I marked the test scenario as a failure.
If this is a separate issue that needs a separate issue, please let me know. For now, I will be reopening this issue.

Spoke offline with the team of this. Scenario 2 was found to be an unsupported workflow as we more so are looking to migrate the Rancher cluster and not the actual Rancher server URL. Please see below with the updated test results:
ENVIRONMENT DETAILS

Rancher install: Docker
Rancher version: v2.7-head https://github.com/rancher/rancher/commit/fbca7c34e5aeae36b85d8b0e9af12a2f6f13e0ea
Browser: Chrome

TEST RESULT

Scenario
Test Case
Result

1
Provision a downstream RKE2 node driver cluster, create an etcd snapshot of the cluster, backup/restore Rancher on the same server, restore the downstream cluster and validate that it restores properly
:white_check_mark:

2
Provision a downstream RKE2 node driver cluster, create an etcd snapshot of the cluster, migrate Rancher to a new cluster, restore the downstream cluster and validate that it restores properly
:white_check_mark:

VALIDATION STEPS
Scenario 1

As a standard user, provisioned a downstream RKE2 v1.26.4+rke2r1 node driver cluster.

Validated that the cluster and nodes came up as Active in Cluster Management and Cluster Explorer.

Created an etcd snapshot of this downstream cluster.
In the local cluster, installed the Rancher Backup chart.
Created a Rancher backup to my pre-defined AWS S3 bucket.

Validated that my backup properly appears in my S3 bucket in the S3 Management Console.

Successfully restored the Rancher backup on my same server.
Successfully restored my downstream cluster's snapshot using options cluster configuration, Kubernetes version and etcd.

Cluster and nodes are in a state of Active in Cluster Management and Cluster Explorer.

Scenario 2

Repeated scenario 1 steps 1-4.
On a new client machine, followed the Rancher migration documentation and migrated Rancher to a new cluster.
Validated that my same Rancher server URL is accessible with the cluster migration.
Performed a restore operation using my created backup; this was successful.
Successfully restored my downstream cluster's snapshot using options cluster configuration, Kubernetes version and etcd.

Cluster and nodes are in a state of Active in Cluster Management and Cluster Explorer.


cmd/sync: the sync command adds the session token feature

close #2780

Codecov Report
Base: 59.35% // Head: 59.21% // Decreases project coverage by -0.14% :warning:

Coverage data is based on head (ad25a6b) compared to base (9af5a48).
Patch coverage: 0.00% of modified lines in pull request are covered.

:exclamation: Current head ad25a6b differs from pull request most recent head 65f1216. Consider uploading reports for the commit 65f1216 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2875      +/-   ##
==========================================
- Coverage   59.35%   59.21%   -0.15%
==========================================
  Files         140      140
  Lines       24338    24342       +4
==========================================
- Hits        14446    14414      -32
- Misses       8041     8070      +29
- Partials     1851     1858       +7

Impacted Files
Coverage Δ

cmd/sync.go
54.35% <0.00%> (-0.92%)
:arrow_down:

pkg/chunk/utils_unix.go
66.66% <0.00%> (-25.00%)
:arrow_down:

pkg/vfs/reader.go
75.42% <0.00%> (-3.79%)
:arrow_down:

pkg/meta/tkv_etcd.go
71.57% <0.00%> (-1.06%)
:arrow_down:

pkg/meta/tkv.go
75.02% <0.00%> (-0.46%)
:arrow_down:

pkg/meta/sql.go
64.16% <0.00%> (-0.34%)
:arrow_down:

pkg/meta/redis.go
70.44% <0.00%> (+0.13%)
:arrow_up:

pkg/vfs/writer.go
77.77% <0.00%> (+1.19%)
:arrow_up:

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

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


Foto

Rafael Assis Santos' GitHub Stats
B
Total Stars Earned:
130
Total Commits (2024):
312
Total PRs:
0
Total Issues:
1
Contributed to (last year):


Slow EXI conversion during CurrentDemandResponse in DIN

According to DIN specification Table 75 CurrentDemandRes should take 25ms. Looking on the log on the EVSE side (DC charging) it looks like it takes ~250ms to respond to CurrentDemandRequest in DIN-based data exchange. i.e.:

DEBUG    2022-11-06 00:56:20,985 - iso15118.shared.exi_codec (282): EXI-encoded message (ns=urn:din:70121:2012:MsgDef): 809a0219ba2bf5b89f4c5ad0d1401200881e0192d8080323e8109463c2019004464b602000
DEBUG    2022-11-06 00:56:21,161 - iso15118.shared.exi_codec (299): Decoded message (ns=urn:din:70121:2012:MsgDef): {"V2G_Message":{"Header":{"SessionID":"66E8AFD6E27D316B"},"Body":{"CurrentDemandReq":{"DC_EVStatus":{"EVReady":true,"EVErrorCode":"NO_ERROR","EVRESSSOC":72},"EVTargetCurrent":{"Multiplier":-1,"Value":15},"EVMaximumVoltageLimit":{"Multiplier":0,"Value":310},"EVMaximumCurrentLimit":{"Multiplier":0,"Value":125},"EVMaximumPowerLimit":{"Multiplier":1,"Value":3875},"ChargingComplete":false,"RemainingTimeToFullSoC":{"Multiplier":0,"Value":1},"EVTargetVoltage":{"Multiplier":0,"Value":310}}}}}
INFO    2022-11-06 00:56:21,162 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:56:21,163 - root (782): Send Charging Command
DEBUG    2022-11-06 00:56:21,167 - iso15118.shared.exi_codec (245): Message to encode (ns=urn:din:70121:2012:MsgDef): {"V2G_Message": {"Header": {"SessionID": "66E8AFD6E27D316B"}, "Body": {"CurrentDemandRes": {"ResponseCode": "OK", "DC_EVSEStatus": {"NotificationMaxDelay": 0, "EVSENotification": "None", "EVSEIsolationStatus": "Valid", "EVSEStatusCode": "EVSE_Ready"}, "EVSEPresentVoltage": {"Value": 2857, "Multiplier": -1, "Unit": "V"}, "EVSEPresentCurrent": {"Value": 34, "Multiplier": -1, "Unit": "A"}, "EVSECurrentLimitAchieved": false, "EVSEVoltageLimitAchieved": false, "EVSEPowerLimitAchieved": false}}}}
DEBUG    2022-11-06 00:56:21,403 - iso15118.shared.exi_codec (256): EXI-encoded message: 809a0219ba2bf5b89f4c5ad0e00040800001028548b01018110000c0
INFO    2022-11-06 00:56:21,404 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
DEBUG    2022-11-06 00:56:21,552 - iso15118.shared.exi_codec (282): EXI-encoded message (ns=urn:din:70121:2012:MsgDef): 809a0219ba2bf5b89f4c5ad0d1401200881e0192d8080323e8109463c2019004464b602000

DEBUG    2022-11-06 00:56:21,736 - iso15118.shared.exi_codec (299): Decoded message (ns=urn:din:70121:2012:MsgDef): {"V2G_Message":{"Header":{"SessionID":"66E8AFD6E27D316B"},"Body":{"CurrentDemandReq":{"DC_EVStatus":{"EVReady":true,"EVErrorCode":"NO_ERROR","EVRESSSOC":72},"EVTargetCurrent":{"Multiplier":-1,"Value":15},"EVMaximumVoltageLimit":{"Multiplier":0,"Value":310},"EVMaximumCurrentLimit":{"Multiplier":0,"Value":125},"EVMaximumPowerLimit":{"Multiplier":1,"Value":3875},"ChargingComplete":false,"RemainingTimeToFullSoC":{"Multiplier":0,"Value":1},"EVTargetVoltage":{"Multiplier":0,"Value":310}}}}}
INFO    2022-11-06 00:56:21,738 - iso15118.shared.comm_session (231): CurrentDemandReq received

Unfortunately, after 5 seconds from the first CurrentDemandReq / Res, the car reports "ReadyToChargeState": false, which causes the charging to stop, even though the charging parameters are met by the power unit during these 5 seconds.
Could the duration of the response be the reason why the EV disconnects?
Is 250ms conversion time okay? It was tested on RPi CM4, clean debian, no additional programs running in the background.

I'll try and give this a go on my raspberry pi and see what I get and update it here. As a test, could you switch LOG_LEVEL to INFO in the .env file and also set MESSAGE_LOG_EXI to False and retry, please? I believe you have already checked if there is anything else consuming memory, disabled GUI etc.
In Josev_pro we use a Rust version of the EXI codec (which is blazing fast) which is available with Josev_pro.

@shalinnijel2 yes, I checked if logging in anyway slowed down the conversion performance and it looks like it doesn't have a big impact. I didn't mention it before, but I run it natively, not in a container.
Log below:

INFO    2022-11-06 00:33:24,317 - iso15118.shared.comm_session (231): PreChargeReq received
INFO    2022-11-06 00:33:24,522 - iso15118.shared.comm_session (415): Sending PreChargeRes
INFO    2022-11-06 00:33:24,843 - iso15118.shared.comm_session (231): PowerDeliveryReq received
INFO    2022-11-06 00:33:24,844 - iso15118.shared.states (137): Entered state PowerDelivery
INFO    2022-11-06 00:33:24,845 - iso15118.shared.states (141): Waiting for up to 60.0 s
DEBUG    2022-11-06 00:33:24,845 - iso15118.secc.states.din_spec_states (652): ChargeProgress set to Ready
INFO    2022-11-06 00:33:25,067 - iso15118.shared.comm_session (415): Sending PowerDeliveryRes
INFO    2022-11-06 00:33:25,070 - iso15118.shared.states (137): Entered state CurrentDemand
INFO    2022-11-06 00:33:25,072 - iso15118.shared.states (141): Waiting for up to 60.0 s
INFO    2022-11-06 00:33:25,311 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:25,564 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:25,833 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:26,082 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:26,415 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:26,645 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:26,981 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:27,157 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:27,505 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:27,685 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:27,983 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:28,164 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:28,464 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:28,696 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:29,009 - iso15118.shared.comm_session (231): CurrentDemandReq received
INFO    2022-11-06 00:33:29,119 - iso15118.shared.comm_session (415): Sending CurrentDemandRes
INFO    2022-11-06 00:33:29,281 - iso15118.shared.comm_session (231): PowerDeliveryReq received
INFO    2022-11-06 00:33:29,283 - iso15118.shared.states (137): Entered state PowerDelivery
INFO    2022-11-06 00:33:29,285 - iso15118.shared.states (141): Waiting for up to 60.0 s
DEBUG    2022-11-06 00:33:29,286 - iso15118.secc.states.din_spec_states (652): ChargeProgress set to Stopping
DEBUG    2022-11-06 00:33:29,287 - iso15118.secc.states.din_spec_states (669): PowerDeliveryReq ready_to_charge field set to false. Stay in this state and expect WeldingDetectionReq/SessionStopReq

Hello there, same issue from my side. Especially during a tesla charge, average timing of a currentDemandRes is 100ms in a dual core celeron.
Digging up a little bit with the code, the most demanding thing in term of timing is the exi conversion (obviously..)
Tesla waits circa 4 minutes and after stops the charge without saying anything, simply turning up the CP value to 9V.
The timings with the ISO protocol are pretty similar and the charging process runs smoothly.
Any suggestion?

Hi @lovalova1991, the fact is that the Java EXI codec is too slow to keep up with the DC timing constraints...the community version primarily intention was to provide a reference implementation of the ISO and DIN and in terms of performance is not suitable for field testing. As mentioned, by Shalin, in the josev_pro version we are using a proprietary battle tested Rust version of the codec, which outperforms the Java version.
I have the intention of, in the near future, to include bindings to the OpenV2G C based EXI codec: https://github.com/chargebyte/openv2g for the community version, but for now I would suggest the following:

Test with Python 3.11 - Python 3.11 has a big performance boost in comparison to its predecessors: https://docs.python.org/3/whatsnew/3.11.html#summary-release-highlights
Try testing it in a more powerful target

A question around this. Is the exificient coded as implemented in the JAR file a "plain vanilla" implementation?
One of the guys in our team might be able to work in the reference implementation of exificient that's available in C++....but if the jar file has changes from the plain vanilla exificient implementation then he'd need to know about them.


Databricks Diagnostic Logs

I believe the entry for the Azure Databricks Schema is missing in the table on this page.
Link to the Azure Databricks Diagnostic Log page: https://docs.microsoft.com/en-us/azure/databricks/administration-guide/account-settings/azure-diagnostic-logs

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

ID: daf3e121-6ca8-4e35-ff35-1b6151d26a16
Version Independent ID: 3efd2282-db7f-02e3-9a09-08187c3cfa3a
Content: Azure Resource Logs supported services and schemas - Azure Monitor
Content Source: articles/azure-monitor/platform/resource-logs-schema.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @rboucher
Microsoft Alias: robb

@pnarsi Thanks for your contribution, I've addressed this issue in PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/127008
The changes should be live EOD or tomorrow. In future, if you see any minor bug fixes in the doc, feel free to click on the edit button and submit a PR to update. we love to take community contributions.


Unable to build membirch

As per instructions in README.md, trying to run ./configure --prefix /usr/local. I am getting the following error:
checking for eigen3/unsupported/Eigen/SpecialFunctions... no
checking for unsupported/Eigen/SpecialFunctions... no
configure: error: required Eigen header not found.

What could be the problem? I installed Eigen (versions 2 and 3) using MacPorts
$ port installed | grep eigen
  eigen @2.0.17_0 (active)
  eigen3 @3.4.0_1 (active)

Can you provide the output of echo $CPATH and also see if you can find where MacPorts has installed Eigen? My guess is /opt/local/include.

@lawmurray
echo $CPATH is empty
I was able to solve the problem by setting CPPATH and LDFLAGS environment variables.
$echo $LDFLAGS                                                                                ─╯
-L/usr/local/lib -L/opt/local/lib

$ echo $CPPFLAGS                                                                                ─╯
-I/opt/local/include/eigen3 -I/opt/local/include

Perfect, glad you have it fixed!


Improvements to our utilities so that we can start using them more right now

Changes

Swaps spacing values from rem to em units – this means that the spacing utilities can be safely used in IE 8, although it does make spacing slightly less consistent for now. We can swap back once we've dropped support for IE 8.

NB: the Grid component still calculates some values using rem but I wasn't sure what the knock-on effect of changing that would be, so I've left it for now.

Adds a 0 value to the spacing standard scale so that we have utility classes for zeroing out margins and padding.

Adds an fa-white colour value for both background and text colours. We need these occasionally, and I think it's worth having them available.

Code looks good @paddyduke. Just dropped in a question about 0 vs zero naming.
Also...

Should we add the new fa-white as a utility class, so (for example) it's easy to give a table a white background when required?
Can we get rid of any code in the app that fixes our current rem situation? (Such as app/assets/stylesheets/talaria/components/_navbar--desktop.scss#L13)

Thanks, @joshuahughes!

This branch does add fa-white to the utility classes.
We will be able to get rid of a few of the temporary fixes, although not that particular example because that's not a colour in Origin (yet?).

Using none rather than 0 or zero is a wise move.
Regarding my question about getting rid of code, I managed to link to completely the wrong line. My example should've been this, which sets an em to overwrite Origin's rems.
Anyhoo, this gets a pass from me! 👍

Thanks. Yes, for a bunch of cases this will mean we can remove IE overrides. I've also just had a thought about a better way to support IE8 in future. I'll get this release out for now though.


Loading 2 schema from 2 different sources

I have a base schema defined in my app directory, while a client defines a schema which references my app's schema using allOf.  the client uploads the schema through the network, while I retrieve the base schema locally.
How do I load both from memory / strings, such that the client schema correctly validates data?

@FinalFortune while I can't comment on how this implementation works, I'd like to note that we're trying to clarify this sort of schema loading question and provide better guidance on it in the next draft, as discussed at https://github.com/json-schema-org/json-schema-spec/issues/849
Feedback would be welcome!


WFLY-14324 Replace 'Java Servlet, Java Authentication Service Provide…

Issue: https://issues.redhat.com/browse/WFLY-14324
(Replace "Java Servlet, Java Authentication Service Provider Interface for Containers|JASPIC, Java Authorization Contract for Containers|JACC, Java Transaction API|JTA" references in java doc with corresponding Jakarta EE ones)
Link with: https://github.com/wildfly/wildfly/pull/13808

CC- @asoldano @scottmarlow

Have you checked if any equivalents are needed in WildFly Core?

Yes I'll revert the copyright header as it was before.
No, I haven't .. as of now I'm only checking the replacements for Wildlfy.
@darranl

@RanabirChakraborty thank you.
@asoldano FYI Java EE is also integrated in WildFly Core in addition to WildFly.

@darranl Thanks for the review :) I have done the changes now.

@darranl , are you fine with the changes here / can we merge this?
As for WildFly Core, we should deal with that as well, as soon as we're done with WildFly.

According to the discussion, the changes are done :)

Regarding Jakarta Transactions and JTA, generally I think "JTA"->"Jakarta Transactions" and not to use "Jakarta Transaction".
When referring to a transaction created with Jakarta Transactions I think "Jakarta Transactions transaction" or "Jakarta Transactions tx" are preferred depending on what already existed.


Endpoint to download a Certificate

Motivation
There are also cases where we need to be able to download one certificate directly from the Proxy.
Proposal
Adds an endpoint for downloading a certificate given it's hash
Test Plan
CI for now, will replace chain info queries in following PR

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2090  👈
#2089
#2084 : 1 other dependent PR (#2085 )
#2081
#2079
#2074
main

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

Join @andresilva91 and the rest of your teammates on  Graphite

Merge activity

Jun 18, 8:14 AM EDT: @andresilva91 started a stack merge that includes this pull request via Graphite.


Can't click button correctly, because the new window is showing gradually.

Hello,
I'm testing a WPF project with FlaUI, and I know that "Retry" methods can wait for elements' presenting. However, I meet an amazing issue when i try to click a button in the new window which is showing gradually.
As the code below, after I click the "Load" button, there is a new "LoadWindow" showing gradually, and the second line will execute then and I get the new window. There is nothing abnormal till now.
Nevertheless, when the third line execute, the mouse click in a wrong place, which is left the button and it make my test code doesn't work, as the picture shows below.
CODE:
  mainWindow.FindFirstDescendant(cf.ByName("Load")).AsButton().Click();
  var LoadWindow = Retry.WhileNull(() => mainWindow.FindFirstDescendant(cf.ByName("LoadWindow")).AsWindow(), TimeSpan.FromSeconds(60)).Result;
  LoadWindow.FindFirstDescendant(cf.ByName("Browse")).AsButton().Click();

The LoadWindow:

After thinking a lot, I guess maybe the computer click at the point showing below, but at this point the window is not present completely and the button is not avaliable either.
Of course adding thread.sleep before the third line does work, is there any solution here?
The computer click the browse button at the below point:

Expect for your replies, thanks very much!

Does it mean if new window loads gradually that control's position change over time during loading? Just a guess, but will it help to use Invoke() instead of Click()?

Does it mean if new window loads gradually that control's position change over time during loading? Just a guess, but will it help to use Invoke() instead of Click()?

Does it mean if new window loads gradually that control's position change over time during loading? Just a guess, but will it help to use Invoke() instead of Click()?

The Invoke() does really work, thank you kungfux O(∩_∩)O.

Does it mean if new window loads gradually that control's position change over time during loading? Just a guess, but will it help to use Invoke() instead of Click()?

The Invoke() does really work, thank you kungfux O(∩_∩)O.


Fix a showing of title text

Fix a showing of title text when text width is larger than the width of the title and centered or right aligned

Thanks!


Fix "modules" import

"modules" is now emitted via TypeScript, so it uses a different module system, update import to handle new module system export type.

Due to recent TypeScript file change: https://github.com/EclipseTrading/hypergrid/pull/62/files#diff-7d7544fdaf73e45e7c2e8b060ccf4f8e437238fe6bbd1599f0fafaa328daf688

Looks good


[0.43.0] webostv component keeps on connecting / spamming the logs

Home Assistant release (hass --version):
0.43.0
Python release (python3 --version):
Python 3.5.2
Component/platform:
webostv
Description of problem:
Since upgrading to 0.43 my logs are being flooded with:
17-04-22 14:22:39 ERROR (Thread-4) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000
17-04-22 14:23:00 ERROR (Thread-12) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000
17-04-22 14:23:22 ERROR (Thread-1) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000
17-04-22 14:23:44 ERROR (Thread-1) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000
17-04-22 14:24:06 ERROR (Thread-4) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000
17-04-22 14:24:28 ERROR (Thread-6) [pylgtv.webos_client] command failed to connect to ws://192.168.xxx.xxx:3000

Expected:
Logs not being flooded with repeated connection attempts

I have the same issue after upgrading to 0.43.0

@hmn thoughts on this? It looks like this is due to the new asyncio and exception handling you put in place for 0.43.
Can we handle this differently so logs don't get spammed every 20 seconds?

I guess the best way to solve it would be to change the pylgtv to log it as debug
for now I think it would be possible to change the log level for the module with logger

until it is updated you can suppress the errors with something like this
logger:
default: warn
logs:
pylgtv.webos_client: critical


Release 0.13.1

Description

First release of 2024. This is a bugfix release.

License Acceptance

[x] This repository is Apache version 2.0 licensed and by making this PR, I am contributing my changes to the repository under the terms of the Apache 2 license.

Type of changes

[ ] Add/update a helper script
[ ] Add/update link to an external resource like a blog post or video
[ ] Bug fix
[ ] New feature
[ ] Test updates
[ ] Text cleanups/updates

Checklist

[x] I have read the CONTRIBUTING document.
[x] All new and existing tests pass.
[ ] Any scripts added use #!/usr/bin/env interpreter instead of potentially platform-specific direct paths (#!/bin/sh is an allowed exception)
[ ] Scripts added/updated in this PR are all marked executable.
[ ] Scripts added/updated in this PR do not have a language file extension unless they are meant to be sourced and not run standalone. No one should have to know if a script was written in bash, python, ruby or whatever. Not including file extensions makes it easier to rewrite the script in another language later without having to change every reference to the previous version.
[ ] I have confirmed that any links added or updated in my PR are valid.

🦙 MegaLinter status: ⚠ WARNING

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ COPYPASTE
jscpd
yes

no
1.93s

✅ EDITORCONFIG
editorconfig-checker
17

0
0.08s

✅ PYTHON
bandit
5

0
1.0s

✅ PYTHON
black
16

0
1.9s

✅ PYTHON
flake8
16

0
0.57s

⚠ PYTHON
isort
16

4
0.19s

✅ PYTHON
pylint
16

0
9.02s

✅ PYTHON
ruff
16

0
0.02s

⚠ REPOSITORY
gitleaks
yes

5
0.33s

✅ REPOSITORY
git_diff
yes

no
0.01s

✅ REPOSITORY
grype
yes

no
11.07s

✅ REPOSITORY
secretlint
yes

no
0.8s

✅ REPOSITORY
trivy
yes

no
5.02s

✅ REPOSITORY
trivy-sbom
yes

no
3.8s

✅ REPOSITORY
trufflehog
yes

no
3.93s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by


Fix table sort issue

Fix issue #1764

What's the root cause of this problem?
Is a.accuracy or b.accuracy undefined when it's expected to have value?

What's the root cause of this problem?
Is a.accuracy or b.accuracy undefined when it's expected to have value?

a.accuracy means trial's final metric. but default metric column also has intermediate result.

What's the root cause of this problem?
Is a.accuracy or b.accuracy undefined when it's expected to have value?

a.accuracy means trial's final metric. but default metric column also has intermediate result.

What's the root cause of this problem?
Is a.accuracy or b.accuracy undefined when it's expected to have value?

a.accuracy means trial's final metric. but default metric column also has intermediate result.


[Perf] Have you tuned the performance of single-node all-to-all communication？

I tested on the DGX A100 and found that, when nbytes ranges from 1M to 32M, the performance of NCCL's all-to-all is far faster to that of MSCCLPP.

Our current all-to-all communication implementation is basic and serves primarily as a demonstration of using MSCCL++ in kernel code, rather than being optimized for performance. For high-performance requirements, it is advisable to utilize the smChannel and to develop your own kernel using the MSCCL++ API. Contributions to enhance this are welcome.

For high-performance requirements, it is advisable to utilize the smChannel and to develop your own kernel using the MSCCL++ API. Contributions to enhance this are welcome.

Thanks. I'll give it a try


Create a framework for reference docs on the Kubeflow website

We need an index page and a framework that the engineering team can use to publish reference docs.

/assign

/close


Canvas returns null after cropping image iOS

I'm having some issues when cropping an image taken from an iOS device, specially iPhones.
Apparently, the canvas width and height, after cropping, are greater than the original image and there's also
a canvas size limit on iOS devices, thus, the canvas.toBlob returns null because there's no actual canvas.
I've also tried the sanbBox demo and the same issue occurs.
How could I solve it? is there a way to resize the dimensions so it fits in the canvas? maintaining the proportions of the crop area.
My code below:
  const getCroppedImg = () => {
    const { crop, image } = cropRef.current.getCroppedArea();

    return new Promise(resolve => {
      const canvas = document.createElement('canvas');

      const ctx = canvas.getContext('2d');

      if (!ctx) {
        throw new Error('No 2d context');
      }

      const scaleX = image.naturalWidth / image.width;
      const scaleY = image.naturalHeight / image.height;
      const pixelRatio = window.devicePixelRatio;

      if (crop.unit === '%') {
        canvas.width = (image.naturalWidth * crop.width) / 100;
        canvas.height = (image.naturalHeight * crop.height) / 100;
      } else {
        canvas.width = Math.floor(crop.width * scaleX * pixelRatio);
        canvas.height = Math.floor(crop.height * scaleY * pixelRatio);
        ctx.scale(pixelRatio, pixelRatio);
      }

      ctx.imageSmoothingQuality = 'high';

      const cropX = crop.x * scaleX;
      const cropY = crop.y * scaleY;

      const rotate = 0;

      const rotateRads = rotate * TO_RADIANS;

      const centerX = image.naturalWidth / 2;
      const centerY = image.naturalHeight / 2;

      ctx.save();

      ctx.translate(-cropX, -cropY);
      ctx.translate(centerX, centerY);
      ctx.rotate(rotateRads);
      ctx.scale(1, 1);
      ctx.translate(-centerX, -centerY);
      ctx.drawImage(
        image,
        0,
        0,
        image.naturalWidth,
        image.naturalHeight,
        0,
        0,
        image.naturalWidth,
        image.naturalHeight
      );

      ctx.restore();

      canvas.toBlob(blobFile => {
        const croppedImageUrl = URL.createObjectURL(blobFile);
        resolve({ file: blobFile, src: croppedImageUrl });
        URL.revokeObjectURL(croppedImageUrl);
      }, 'image/jpeg');
    });
  };

I struggled all day with this problem and I found a solution. Basically, IOS limit the memory for a canvas, and pictures of the iphones always pass that limit. So, you have to compress the image that you are loading to the canvas. My function to select the image looks like this:
  import imageCompression from 'browser-image-compression'

  ...

  const onSelectFile = async (e1: React.ChangeEvent<HTMLInputElement>) => {
    setFieldTouched(name, true)
    const file = e1?.target?.files?.[0]

    if (!file) return

    const reader = new FileReader()

    reader.addEventListener('load', () => {
      const imgElement = new Image()
      const imgUrl = reader.result?.toString() || ''
      imgElement.src = imgUrl

      setShowCrop(true)
      setImgSrc(imgUrl)
    })

    // must compress to avoid iphone failing for canvas over sized
    const compressedBlob = await imageCompression(file as File, {
      maxSizeMB: 1,
      maxWidthOrHeight: 1400,
      useWebWorker: true,
    })

    const compressedFile = new File([compressedBlob], file.name, {
      type: file.type,
      lastModified: file.lastModified,
    })

    reader.readAsDataURL(compressedFile)
  }

imgUrl will be then enought compressed to be cropped by the canvas. By the way, since I did it, the crop is a lot faster for Android too. Canvas cropping is quite heavy.

massimopibiri

Hi , thx it truly worked  .


Inspect Symbolic Links / Aliases files

Great software! :-)
Is there a way to inspect an alias / symlink file (without resolving) ?

Currently no, but I added a preference to allow disabling alias resolving when opening file. This will let you access the "bookmark" data now.
For symbolic links I don't think there's a way to read the symbolic link as a file, but you can use readlink on the command line to view their contents.

Thanks :-)


check email proof regardless of the value of prevUpdate

@daniel-ziegler @andres-erbsen please review

What is the reason for this change?

CLA is valid!

with the current logic, won't email proof check be skipped for the first update of a user?
the diff looks weird, but the only thing changed in this PR is removal of if at  https://github.com/yahoo/coname/pull/55/files#diff-2d77dfe3774d2b209ad7e5207d392fd9L57

I think it was the other way around before, right? The email proof check was only done for the initial registration. After that, we assume that the requirement to sign updates with a key from the previous version ensures that only the user (or Yahoo, for the less-secure mode) has done any updates, so it shouldn't be necessary to also do another email proof. Maybe it doesn't hurt, though. What do you think?

I think it was the other way around before, right?

Yes. This is what happens when you're doing two things at a time :)

Maybe it doesn't hurt, though. What do you think?

Yes, I think it keeps things consistent - always require email proof for an update.

Quoting Daniel Ziegler (2016-03-23 10:48:17)

I think it was the other way around before, right? The email proof check was
only done for the initial registration. After that, we assume that the
requirement to sign updates with a key from the previous version ensures that
only the user (or Yahoo, for the less-secure mode) has done any updates, so it
shouldn't be necessary to also do another email proof. Maybe it doesn't hurt,
though. What do you think?

Not requiring email proof after the initial registration would make
developing clients much simpler. IIRC, the current .proto spec says that
initial registration procedure is provider-defined, but all future
client-server interactions are defined in the spec. This means that one
can (and I am in fact planning to) build a general-purpose command line
client that can look up and modify profiles on all coname servers (given
the secret key, of course). Provider-specific registration would be
supported by importing the key from a provider-specific client (e.g., a
javascript snippet to run in the context of the E2E extension). If other
profile updates than the first require provider-defined interaction,
implementing a client like described will be a daunting task...
Just to make sure that we are on the same page about this, I will go
over why I think not requiring email verification on future profile
updates is totally okay.
Each user is either in "fail-open" mode where the user's key and the
service provider's key can change the profile, or in "fail-closed" mode
where only the user's key can change the profile. This difference is
encoded in the user's profile by listing two or one keys in the
update_policy field respectively.

When a user changes their profile during normal use (not key reset /
account recovery), they sign the entry update using their own key.
By the assumption that the user is the only one who controls that key,
verifying the signature is sufficient to check that the update is
authorized by the user.
When a user would like to change their profile but does not have
access to their update signing key, they need to go through the
service provider account recovery process. This does not happen during
normal use, and does not do anything if the user has opted out from
key reset by choosing "fail-closed" mode. I do not know the details of
the Yahoo account recovery proccess, but these details really should
not be relevant to the keyserver: through some rigorous process the
user convinces the service provider that they indeed are the rightful
owner of the account, and in response to this the service provider
uses a key it controls to sign an update to the user's profile,
installing a new key provided by the user. This process that vets the
user's appeal and issues a signature if satisfied should live outside
coname.

There is another benefit of this separation that I consider quite
imporant: when Alice's device sees that Bob has a new key, it would
normally display a warning that users would probably just learn to click
through (regular key rotations are a good idea). I think Signal might
require one to remove and re-add the contact. However, when Alice's
device can verify that the signature that authorized the change was
indeed given by Alice (and not by a third party), it would be safe to
skip the message (which would avoid training users to click through
security warnings). We may not implement this fine-grained warning logic
in the first client, but I really don't want to set us on a path towards
regular click-through warnings a la HTTPS.
Another possible benefit: if the service provider keys on "fail-open"
users' profile are different and "fail-closed" users list two keys out
of courtesy, then an adversary cannot trivially tell whether a user is
in "fail-closed" or "fail-open" mode without taking control of the
service provider first. How useful this obfuscation is is debatable, but
one could argue that this can deter attacks against service providers
(even when the targeted user is "fail-open").

Fair point.
cc @adon-at-work this also requires changes to the extension. Specifically, the mode currently supported by extension is not really "fail-open" mode.


Playwright is not supported on non-Ubuntu Linux distros -- perhaps can be replaced?

Issue
Playwright is heavyweight and not supported on Fedora and other non-Ubuntu linux distros. Therefore, /web functionality mostly doesn't work. Perhaps it can be replaced with a more lightweight solution like Trafilatura?
Version and model info
Aider 0.52.1, Fedora 40

Thanks for trying aider and filing this issue.
Aider falls back to httpx if playwright is not available.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


[WIP] added ZippedImageDataset and MultiZippedImageDataset

ZippedImageDataset to mitigate load caused by small file access. Especially on NFS environment it works far better than ordinary ImageDataset (4x faster in a simple benchmark in our environment).
unit test code is not yet written. Simple benchmark is in the following gist.
https://gist.github.com/d0i/d18518262069288f836a8cb2214a1f11

Please check travis result.

I checked zipfile module. So, we have to use lock for multi-thread iterator.
Cloud you fix it?

flake8
.\chainer\datasets\image_dataset.py:253:1: W391 blank line at end of file

jenkins, test this please.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@699c34c). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #4127   +/-   ##
=========================================
  Coverage          ?   90.48%
=========================================
  Files             ?      314
  Lines             ?    21101
  Branches          ?        0
=========================================
  Hits              ?    19093
  Misses            ?     2008
  Partials          ?        0

Impacted Files
Coverage Δ

chainer/datasets/__init__.py
100% <100%> (ø)

chainer/datasets/image_dataset.py
99.07% <100%> (ø)

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 699c34c...ddc6731. Read the comment docs.


Environment variable handler

Same as text-classifier (https://github.com/QwantResearch/text-classifier/issues/21), we want to add ENV variable handler to set API parameters.
These parameters can be overloaded using switches.
It is particularly useful as we can set ENV variables in the docker-compose.yml.

Done


Add union example to ThriftTest

This simply adds a union definition to ThriftTest.thrift.

Do I have to create a ticket number for this?
Also, I decided to separate simply defining the union from actually using it in a service call.

Thanks @Jens-G

If I understand correctly - this is merged now? If so - thanks @Jens-G, and I'll get the second half of the patch in later this week. Sorry about the slow turnaround time.

Correct. I merged it, but left the ticket open. The idea is to have it act as an umbrella ticket to cover all languages after some suitable call has been added to the service and a test definition has been formulated.
Since this will break the cross test until all relevant languages are integrated we should either have  a feature branch. I could do that and coordinate the patches via my personal Thrift fork, then finally merge the whole feature branch back into Apache Thrift master.
@jfarrell Does that sound like a plan to you?

I just rebased the release candidate against master and fixed the broken haskel tests so if parts of this are committed all ready then they will be apart of the release candidate. I would advocate for committing  as portions become available and not hiding in a branch or personal fork and try and structure the commits as logical groups which do not break anything as they go in

But adding a service function will break things?

could use a stub with a successful return and a TODO comment

Ok. Should I put notes in the ticket as to what would make a good candidate service call?
On Mon, Dec 12, 2016 at 9:07 PM -0500, "jfarrell"<EMAIL_ADDRESS>wrote:
could use a stub with a successful return and a TODO comment
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The calls are documented in ThiftTest.thrift. I'd suggest to follow the model we have. Maybe a bit more verbose. What should become claer is the expected inputs and the expected returns. Needed in order to have all server/client pairs run successfully during cross tests or the like.


create monitor for certificate expirations

Which issue this PR addresses:

Fixes ARO-2916
What this PR does / why we need it:

Creates a monitor to report expiration dates of certificates that are managed by the RP. The Geneva certificate is always monitored, ingress and API certificates are only monitored if the cluster's domain is not custom.
Test plan for issue:

Unit tests for both managed and unmanaged domains.
Is there any documentation that needs to be updated for this PR?

lgtm, but I think we need some type of manual test plan as well. Some ideas:

Use https://github.com/Azure/ARO-RP/blob/master/docs/unit-testing-for-monitoring-metrics.md to test. You could get rid of the if dns.IsManagedDomain check in your PR and then follow https://docs.openshift.com/container-platform/4.13/security/certificates/replacing-default-ingress-certificate.html with a short-lived certificate to get it to fire and ensure metrics are collected as expected.
Deploy this to INT or PROD with a modification to your PR's validity check so that it will fire even with new signed certs. If we do it this way, we could set up a test monitor in INT to ensure that we're getting the metrics presented the way we want them.
Just deploy to INT as-is, ensure that we're getting a green signal from clusters at a minimum.

Thoughts?

@dem4gus Great work so far. As per our discussions I think it would really nice if we can export the number of days before certificate expiry as additional value inside the metric along with actual date of certificate expiry. It will be easy to configure Alerting in Geneva Monitor as its very limited when it comes to customization.

@cadenmarchese

Just getting rid of the dns.IsManagedDomain check wouldn't be enough, because there isn't any guarantee of the secret names and namespaces following the assumptions I've made for managed certificates.
I updated the code to also calculate the number of days until the certificate expires (thanks to @mhsreddy), which will help when writing the actual Geneva monitor for alerting. This code is just emitting metrics for all the certificates it cares about and not filtering any of them out, so we will still get metrics for newly created and renewed certificates.
Just deploying as-is is effectively the same as the above.

Given that we now emit days until expiration, it would be easiest to deploy to INT and confirm that we're getting certificateExpirationMetric as expected. We can also delete the secrets in the test cluster to confirm that secretMissingMetric fires. I agree there's now no need to modify the PR to fake up a test in INT/prod. Thanks for the changes!

/azp run ci

There was one failing e2e check, but it was the admin portal flake being worked on in https://github.com/Azure/ARO-RP/pull/3168. I've merged this so that work on https://github.com/Azure/ARO-RP/pull/3124 can proceed.


[Snyk] Upgrade eslint-plugin-import from 2.27.4 to 2.27.5

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade eslint-plugin-import from 2.27.4 to 2.27.5.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 22 days ago, on 2023-01-16.

Release notes

Package name: eslint-plugin-import

2.27.5 - 2023-01-16v2.27.5

2.27.4 - 2023-01-12v2.27.4

    from eslint-plugin-import GitHub release notes

Commit messages

Package name: eslint-plugin-import

5ff9e45 Bump to v2.27.5
ee6e1be [Refactor] minor performance refactors
3cb966e [Deps] update `array.prototype.flatmap`
0778b03 [Fix] `order`: Fix group ranks order when alphabetizing
af8fd26 [eslint] configure `no-extraneous-dependencies` rule properly, to prevent today’s bugs

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

LGTM


Website crashes on Client navigation.

Current Behavior
The website crashes when navigating through the docs.
Here is the error trace from the console:

Expected Behavior
Should not crash, and load the page correctly. It works with no issues when navigated directly through the link
Tamagui Version
Latest

Platform (Web, iOS, Android)
Web

Reproduction
Open www.tamagui.dev

Click on `Docs` from the header.

On the sidebar click `installation` in the **Compiler** section that takes us to https://tamagui.dev/docs/intro/compiler-install

Please note: The link works when navigated directly, but doesn't work when client side rendering.

System Info
MacOS
Tested on
MS Edge: Version 126.0.2592.87
Safari: Version 17.5

Similar to #2765

Closing as I can't repro anymore, we did land a variety of things that I could see fixing that


SquadV2 results are not reproducible for Llama2-7B

We are working on replicating the Reading Comprehension tasks from the Llama2 paper and have yet to be able to replicate the results reported for the Squad 2.0 task (both 0-shot and few-shot). Currently, the paper does not specify any settings for generation, so we let it run with default settings.
Here is the command we have run:
python main.py --model hf-causal-experimental --model_args pretrained=meta-llama/Llama-2-7b-hf,use_accelerate=True,dtype=bfloat16 --no_cache --tasks squad2

Here are the Exact Match (EM) scores below for 0-shot.

Task
Reported
Reproduced

Squad2
67.2
18.6

facing the same issue, for llama-2-13b-hf, the EM score for Squad2 is 21.8732, and for llama-2-13b-chat-hf, the score is 9.3574.

LLaMA and LLaMA 2 results are, in general, irreproducible. Both papers use custom prompts and other formatting changes that they do not disclose. We have tried to work with Meta to replicate their work using their custom prompts, but they don't want to disclose them.
The severity of this problem can be seen by comparing the LLaMA 1 results reported in the LLaMA 1 and LLaMA 2 papers: LLaMA results are not even reproducible within Meta.

@gupta-abhay
this might be relevant for you: https://github.com/facebookresearch/llama/issues/867
however, I tried a bunch of things and could not get above a 60 EM score

@StellaAthena @perlitz I have been able to reproduce the EM score for LLama2 using the squad dataset, follow the instructions carefully mentioned in the facebook issue#867

@StellaAthena @perlitz I have been able to reproduce the EM score for LLama2 using the squad dataset, follow the instructions carefully mentioned in the facebook issue#867

Thats awesome! Thanks.

@StellaAthena @perlitz I have been able to reproduce the EM score for LLama2 using the squad dataset, follow the instructions carefully mentioned in the facebook issue#867

Hello, can you share the script you reproduced? I tried to reproduce using llama-7b, and the results obtained were significantly different from those in the paper.
{
  "exact": 44.091636486145035,
  "f1": 50.06427500339087,
  "total": 11873,
  "HasAns_exact": 40.958164642375166,
  "HasAns_f1": 52.92056968880849,
  "HasAns_total": 5928,
  "NoAns_exact": 47.2161480235492,
  "NoAns_f1": 47.2161480235492,
  "NoAns_total": 5945
}

I assume they used a custom prompt and/or scoring method? But +1 to "please share how exactly you did that."

I assume they used a custom prompt and/or scoring method? But +1 to "please share how exactly you did that."

I used the InstructionGPT prompt format and the demo sample from the llama github project "example_text_completion. py", to test my results.

I used the InstructionGPT prompt format and the demo sample from the llama github project "example_text_completion. py", to test my results.

Please post the exact code to reproduce their scores.

have you fixed it?
I'm trying to test gpt 4-o on squad v2 using this command:
lm_eval --model openai-chat-completions --model_args model=gpt-4o --tasks squadv2

it returns 0.26 exact score
I also test open source models like llama 3 mistral nemo but it seems random for me.
should I change the script or something?


container geometry: support cone frustum

many wells actually turn out to be frustums of cylinders, not cylinders directly.

https://www.celltreat.com/wp-content/uploads/6-Well-Plate.pdf
https://www.corning.com/catalog/cls/documents/drawings/MicroplateDimensions96-384-1536.pdf

I was thinking this would be kinda neat:
well = Well(
  ...,
  sections=[
    Cylinder(
      height=10,
      diameter=20,
    ),
    CylinderFrustum(
      height=10,
      top_diameter=20,
      bottom_diameter=10,
    ),
  ]
)

and we could generate compute_volume_from_height and compute_height_from_volume quite easily from the sections' own definitions.
But, as @BioCam showed in https://github.com/PyLabRobot/pylabrobot/pull/168, sometimes people might want to define their own compute_volume_from_height and compute_height_from_volume. While this is doable with the above api as so:
class CustomSection(Section):
  def __init__(...):
    ...

  def compute_volume_from_height(self, height):
    return some_formula(height)

  def compute_height_from_volume(self, volume):
    return some_other_formula(volume)

this is not as nice. And all you really care about in the end is compute_volume_from_height and compute_height_from_volume.
I think the best we can do is provide nice volume_functions, as @BioCam wrote, but maybe further decompose these:

compute_pyramid_volume
compute_cone_volume
compute_cuboid_volume
etc.

so that we can easily allow users to write more complex geometries by just functions:
def calculate_liquid_volume_container_2segments_square_vbottom(
  x: float,
  y: float,
  h_pyramid: float,
  h_cube: float,
  liquid_height: float
) -> float:
  if liquid_height <= h_pyramid:
    return compute_pyramid_volume(base_area=x*y, h_pyramid=h_pyramid, liquid_height=liquid_height)

  # Liquid height extends into the cuboid
  return compute_pyramid_volume(base_area=x*y, h_pyramid=h_pyramid, liquid_height=h_pyramid) + \
    compute_cuboid_volume(x=x, y=y, z=h_cube, liquid_height=liquid_height - h_pyramid)

The downside is having to do both compute_volume_from_height and compute_height_from_volume, rather than a list of sections. But I think there is more flexibility, and ultimately less code when you want to do custom stuff.

turns out @fderop has already written some of these and will PR them soon. <3

as @BioCam pointed out, frustrum of a cone, frustrums of cylinders are also cylinders smh

as @BioCam pointed out, frustrum of a cone, frustrums of cylinders are also cylinders smh

I will also point out that it's a frustum, not frustRum 😂

closing this bc we have implemented as above: volume<>height bijections, no explicit geometry


sync the upstream main branch

Sync the upstream changes from csi-addons/kubernetes-csi-addons:main into the
main branch. The most important recent change that we want included is:

reclaimspace: detect Kubernetes version for right StagingTargetPath

/refresh