[VS Code] Add memory view, assembly view and debugging for C/C++

Referencing this issue in the cpptools repo, I would be willing to try and implement the feature if I could get a few examples or pointers of how the engine code interacts with gdb and vs code.

This is a fairly large amount of work to take on. So if you have the cycles, that would be very cool, but you might find this a bit scary.
You wouldn't actually need to interact with GDB at all -- all that work is already done because this project supports disassembly and memory in full Visual Studio.
Here is the work that is needed:

The C++ extension (or VS Code itself) needs to provide a disassembly window. Assuming this is done in the extension, this would need to work by having the C++ extension provide HTML/CSS back to VS Code for VS Code to render. I know that VS Code has some support for this now, but I haven't looked into what exactly the API is, and from a quick search I couldn't find it. I recently have been looking at adding a 'set next statement' command for C# which is slightly similar (it adds a command to the context menu, which we would probably want as one of the gestures for bringing up the disassembly window -- https://github.com/gregg-miskelly/omnisharp-vscode/tree/SetNextStatement) that might get you slightly started. This is probably the single biggest work item.
A protocol needs to be worked out between the debug adapter and the UI. This doesn't necessarily need to be an official part of the protocol. But it probably does make sense to at least propose something to avoid breaking changes if VS Code later creates something of their own. The protocol is at https://github.com/Microsoft/debug-adapter-protocol/blob/gh-pages/debugAdapterProtocol.json.
The OpenDebugAD7 layer needs to implement the new request to obtain disassembly. To actually fetch diassembly, use IDebugProgram2.GetDisassemblyStream which the MIEngine already implements here.

Ok, I will check how to create a webview and populate it

Hi @Izikiel did you make any progress? I am interested in the same features but for me, a register view is very important. If you have already started, I want to help. I am an experienced C/C++/C# developer on desktop and embedded software.
Yes, I have the cycles for the next three months -- near full+ time. Half/part time after that.
@gregg-miskelly is spot on. Non trivial work for sure. It is easy to see the user point of view but there are some architectural issues that involve VSCode base, MIEngine and cpptools. There are also presentation decisions. For instance, a (optional) register view can go along with the existing set of views for Variables, Watch, Stack, etc. But memory and disassembly views (with inline source) require a lot of real estate and might require their own window(s) in the document area.
Technically, almost everything can go into cpptools or an extension of my own but I was thinking that any natively compiled code can benefit from these features. Not specifically for C/C++. Last thing I want is to create my own extension /debug-adapters when these features are generally needed by the community.
Please let me know how I can help contribute ... the right way. I am requesting the architects of VSCode base, MIEngine, OpenDebugAD7 and cpptools to discuss, review and approve of a plan, I will do the rest. I just don't know how to contact them all. @pieandcakes could perhaps guide me? I see similar requests on cpptools as well.
Please PM me

@gregg-miskelly, looks like @pieandcakes is on vacation until May 1st. Is there someone on the MIEngine or cpptools team that I could converse with?

Hi @haneefdm, thanks for your interest!
Based on https://github.com/Microsoft/vscode/issues/31901, I don't think the VS Code team will have any interest in adding a disassembly window or memory window to VS Code. But you can open a new issue to ask if they would be willing to accept one.
Let me follow up with some others and I will try to get back to you tomorrow with some guidance.

Thanks @gregg-miskelly
Yeah, I had very little hope the vscode core would entertain this, but I thought they should be in the loop just in case. I thought it was between MIEngine and vscode-cpptools. If another extension is preferable, then it would be nice if MIEngine and vscode-cpptools themselves are extensible for custom commands to the debugger. Would hate to duplicate all that great work. I already saw a couple of extensions that did that. I was thinking beyond my needs that it doesn't have to be C/C++ specific.

Also, my belief is that MIEngine already has basic support for registers and memory, etc. Even stepping through assembly code (stepi, nexti). Just presenting them to the user in a UI is what is missing in the end??

Yeah, I had very little hope the vscode core would entertain this, but I thought they should be in the loop just in case. I thought it was between MIEngine and vscode-cpptools. If another extension is preferable, then it would be nice if MIEngine and vscode-cpptools themselves are extensible for custom commands to the debugger.

Yes, I definitively think it should be done with as few ties as possible to MIEngine and/or cpptools. You are certainly welcolme to talk to the VS Code folks on that issue and see if they would accept a PR. Either way, we want to design an extension to the Debug Adapter Protocol which the disassembly/memory windows can consume. This could either be done as an npm package, or just by keeping the code isolated enough inside the cpptools repo that if another component wants it the code is easy to.

Also, my belief is that MIEngine already has basic support for registers and memory, etc. Even stepping through assembly code (stepi, nexti). Just presenting them to the user in a UI is what is missing in the end

For the disassembly and memory windows -- MIEngine should already have the support we need. It is just a matter of adding debug protocol elements for them and then connecting that to the debug protocol by enhancing OpenDebugAD7.
For registers - I am thinking we might be better off just reusing either the watch window (by adding a '$registers' pseduo-variable) or by reusing the locals variable (by adding a custom scope for registers) rather than designing a registers window since such a window would need to be in the document well in VS Code and I am not sure that is really where folks would want it.

I made some progress, but I need help getting events when the debugger stops and continues to properly refresh a register view. I made a feature request here. My only testing so far has been with lldb on MacOS and gdb on an ARM board attached to my Mac. Will test soon on Windows.
I posted my progress on adv-cppdbg as a separate extension (not ready for marketplace anytime soon)
Please visit https://github.com/haneefdm/adv-cppdbg
@gregg-miskelly has a better idea (than mine) for registers is to create a fake global scope that contains all the registers. For performance reasons (and usability) I like a global scope (that is what they are) vs. the Watch window. I just took it as far as I could left to my own devices :-)
I know this thread is about memory and disassembly views. Disassembly view is very involved but limiting without a Register view. So, I started there (baby steps). I know how to do a disassembly view especially for embedded folks but I don't think I have the needed API's to do it as an extension.

What is the status on this?

@optomux I think @haneefdm (thank you!) is working on this during their free time.

Thanks to @pieandcakes,] & @gregg-miskelly I got my major hurdle (almost) out of the way #844 and #855. Needed that to justify working on the rest.
The DAP spec has to be enhanced first and adopted/prototyped before they can be implemented in MIEngine/cpptools or another extension. Thanks to @andrewcrawley for the following proposals
Registers: https://github.com/Microsoft/debug-adapter-protocol/issues/41
Memory / Disassembly: https://github.com/Microsoft/debug-adapter-protocol/issues/42
Sorry, I've been away for a while but now I am back. Looking forward to taking a deep dive.
We can implement views/windows without a spec change (outside of MS debug tools), but will not be pretty or efficient or generally available. The protocol proposals are for more than just C/C++, and it would be good to have them formalized.

Moving this discussion off of the defunct protocol proposal PR:
@haneefdm:

@gregg-miskelly may I ask what the next steps are? and where I can help? my first wish is 'registers'

I'm currently working on putting out a new version of the NuGet package that MIEngine uses to implement the Debug Adapter Protocol.  Once the new version with the new protocol objects is out, you'll need to do the following to implement registers:

In OpenDebugAD7's HandleScopesRequestAsync method, call EnumProperties on the frame again, passing the GUID for the "registers" filter (223ae797-bd09-4f28-8241-2763bdc5f713).
If any properties are returned, the frame has registers, and you should emit a "Registers" scope with presentationHint set to registers and expensive set to true.
Make other changes to OpenDebugAD7 to handle a variables request against that scope.

Note that (as I described in the original registers proposal), VS uses a two-level structure for registers, where the set of register properties returned from a stack frame represent register categories (e.g. "CPU", "CPU Flags", etc), and those properties contain the actual registers and their values.
Feel free to email me if you have specific implementation questions once the new NuGet package is out and you have a chance to get into this!

@andrewcrawley Sorry for posting in the wrong thread. TBH, I completely forgot about the origin thread (this one)
For some reason, I thought, procedurally, there was more needed (approvals wise) before work should/can begin. psyched!
Yes, I love the 2-level structure and what I had in mind as well. I thought I also saw some source code already describing the listing/nesting for registers in MIEngine. I will find it again.
No hurry on the NuGet Package. My weekend is Tue/Wed

@haneefdm The updated protocol library package is now available: https://www.nuget.org/packages/Microsoft.VisualStudio.Shared.VsCodeDebugProtocol/16.2.30529.1

@andrewcrawley Thanks, that will keep me busy for a few days. You pretty much did the work for me in this post
One thing, I wasn't sure exactly how to use the updated debug-protocol NuGet package into my copy of MIEngine. NuGet PM kept failing (null reference), found another way but I had to edit the packages.config & OpenDebugAD7.csproj manually to change the version and build works and references are updated. I don't think this is how I was supposed to do it :-)
Do you all have a recommended testing matrix? I am planning to test with all applicable debuggers supported by cpptools on latest Win10/Ubuntu/Mac. I don't have any 32-bit OSes though. Plan includes testing with native programs as well as an embedded ARM-CM4 processor.

That test matrix sounds very reasonable.

@haneefdm I think you did it right. The steps to update the debug protocol should be to update this  line in the packages.config and per the comment above it, update this line in OpenDebugAD7.csproj. I don't think the NuGet Package manager will do the right thing since our projects are configured differently.

Thanks all. I found a 32-bit Win10 VM that I forgot all about.
@pieandcakes Yes, those are the exact two lines I edited.

Is it so hard to do?

I implemented the whole thing according to spec. I am just NOT satisfied with my MIEngine source code changes. I will fail my own code/design review. It was just too many changes to fit the existing code structure. It must be a lot simpler than what I did or had to do at the time.
Yes, it is simple to implement on the surface. But there are quite a few details. MIEngine supports multiple debuggers (gdb, lldb, etc.) and I wanted it to work for Intel and ARM architectures. The Test-matrix is kinda big :-) when you include OSes. There are details like what happens you modify a variable in the Variables panel.
FYI: The proposal/spec is to put the Registers as a scope in the Variables window. When the feature does show up, it will be in the Variables panel.
The MIEngine/cpptools team is super helpful, professional and I don't want to let them down or myself. They already put quite a bit of time on this and I will finish the job.
I will do another clean slate implementation in Jan/Feb 2020. Please bear with me. I apologize for the delay

Thx

I will do another clean slate implementation in Jan/Feb 2020. Please bear with me. I apologize for the delay

Hi @haneefdm, is this feature have any preview version, I'd love to try it out if available.

The prototype is there: https://github.com/haneefdm/adv-cppdbg
But nothing has changed since the last comment.

About a memory viewer

MS released an awesome hex viewer/editor. https://github.com/microsoft/vscode-hexeditor
It was not made for a debugger but I am trying to fix that with the help of the authors of that extension. See this issue

I am planning on deploying this in our debugger But to add it to the general-purpose cpptools extension, I am not sure how receptive they will be on the UI side. I know the MIEngine part of cpptools, I can do it there. I can always create a separate extension but I don't have bandwidth to maintain it. I prefer it to be part of an existing extension.
To add it to cpptools, it is a few dozen lines of code. I have a prototype with our debugger which is still work in progress. I need to prove it out before proposing it to cpptools :-)

Interesting idea!
I also wonder how PlatformIO solved all of this and whether something could be reused: https://docs.platformio.org/en/latest/plus/debugging.html

Our extension also has a register, memory, peripheral viewers, and disassembly etc. Except we rolled our own using custom debugger extensions (spec allows this), which is what platform IO probably also did.
I proposed spec changes to the debug protocol so we don't have to do that anymore and they have been approved. Thing left was an implementation. One thing missing is context change notifications when user selects a different thread/stack/frame -- a lot of views have to be updated
We are trying to work withing the VSCode framework for just the debugger and using standard specs (or extending them with community involvement) rather than create an IDE. with build management, board support, etc. We are trying to be device/board agnostic.

Our extension also has a register, memory, peripheral viewers, and disassembly etc. Except we rolled our own using custom debugger extensions (spec allows this), which is what platform IO probably also did.

Interestingly I can't find the source for https://www.npmjs.com/package/platformio-vscode-debug even though they allegedly open-sourced PIO Plus. It contains code just like https://github.com/Marus/cortex-debug/blob/master/src/frontend/disassembly_content_provider.ts.

Hi
I think adding this views can be an interesting point.
Do you know how to manage correctly this view ? Does it need to be a part in VS Code itself to create this views or can we manage properly a communication between DebugAdapter and UI ? I ask this because it can be a "tricky part" to manage instructionBreakpoints from a custom view instead of a dedicated one, no ?
Thanks in advance

About a memory viewer

MS released an awesome hex viewer/editor. https://github.com/microsoft/vscode-hexeditor

It was not made for a debugger but I am trying to fix that with the help of the authors of that extension. See this issue

I am planning on deploying this in our debugger But to add it to the general-purpose cpptools extension, I am not sure how receptive they will be on the UI side. I know the MIEngine part of cpptools, I can do it there. I can always create a separate extension but I don't have bandwidth to maintain it. I prefer it to be part of an existing extension.
To add it to cpptools, it is a few dozen lines of code. I have a prototype with our debugger which is still work in progress. I need to prove it out before proposing it to cpptools :-)

Hi ,
Do you a version of this as preview to try out?
Any tentative timeline for making available for all?
Thanks for working on this
Regards
Kumara.

@WardenGnaw Can you see if we can take what @haneefdm has done and incorporate it into the extension code?

I will do a PR this weekend for the vscode-hexeditor. I hope. The changes are super simple. I am sorry it is taking so long.
How it was incorporated into my debugger is also very simple. But that is because we already had a custom request to read memory. I simply switched out our UI with the hexeditor using file IO
To make it into generally C++ tools, I feel like we have to the following

Me, I have do the PR to support memory reading from a URI that contains a start address. Will happen soon
MIEngine has to implement the read memory request. This is the hard part as it is in C# and has to be tested against gdb, llvm and cppdbg and across all OS platforms
cpptools has to repeat what I did for invoking the hexeditor. I added a command to create a memory window and ask the user to enter an expression for the address and a size (constant) and create a local URI to write to a file and open the URI if not already open. The location of the URI was a sticking point. I currently do it in the .vscode project but maybe that is not the best idea. But, that is up to the extension
cpptools also has to implement an event handler for whenever the debugger pauses to refresh the contents of the URI

@haneefdm Thank you for working on this.

MIEngine has to implement the read memory request. This is the hard part as it is in C# and has to be tested against gdb, llvm and cppdbg and across all OS platforms

I can add ReadMemory Request into OpenDebugAD7 and add the gdb/lldb MI commands in MIEngine to get the correct ReadMemory response.

cpptools has to repeat what I did for invoking the hexeditor. I added a command to create a memory window and ask the user to enter an expression for the address and a size (constant) and create a local URI to write to a file and open the URI if not already open. The location of the URI was a sticking point. I currently do it in the .vscode dir (where we also store register/peripheral settings) but maybe that is not the best idea. But, that is up to the extension

I couldn't find where you implemented this. I'll wait for your PR to the hextools extension.

cpptools also has to implement an event handler for whenever the debugger pauses to refresh the contents of the URI

I see this is just using the DebugAdapterTracker from the vscode package.

@WardenGnaw

I couldn't find where you implemented this. I'll wait for your PR to the hextools extension.

Yes, it is on a separate branch on our debugger that I have not published yet. I will provide the details soon A lot of it is already there for our old memory viewer It was done a long time ago by the wonderful author of that extension. I enhanced it a bit and trying for more

I see this is just using the DebugAdapterTracker from the vscode package.

Yes, but we used custom events generated from our own debug adapter. Again it was done a while ago. We should migrate to the DebugAdapterTracker but have not had the time to do so. It actually simplifies a few things. We also have to make sure we are responding to the right debugger session

The first step is done. I did a PR to use a non-zero base address and I hope it will be accepted
https://github.com/microsoft/vscode-hexeditor/pull/170

The first step is done. I did a PR to use a non-zero base address and I hope it will be accepted
https://github.com/microsoft/vscode-hexeditor/pull/170

I also have handled the DAP ReadMemory Request in a seperate branch and will be testing it with a modified VS Code C++ Extension that does the DebugAdapterTracking and can open the HexEditor with the URI.

What I did in my debugger extension frontend, once you have read the bytes from the debugger (gdb, llvm, etc.) is to write the data to a file and create a URI. My URI fsPath contains a C-Expression (instead of an address) which can fail because of invalid chars when writing to the file. For now, we left the URI the same and switchable between our memory viewer vs the new one. I still need to make sure my error handling is right, so please ignore that  Please don't take the code below literally.
                const filePath = path.join(vscode.workspace.workspaceFolders[0].uri.fsPath, '.vscode', 'cdmem', uri.fsPath);
                const fsURI = vscode.Uri.parse(`file://${filePath}?baseAddress=${data.startAddress}`);
                vscode.workspace.fs.writeFile(fsURI, Uint8Array.from(data.bytes)).then(() => {
                    vscode.commands.executeCommand("vscode.openWith", fsURI, "hexEditor.hexedit", { preview: false });
                    resolve('succesz');
                }, (error) => {
                    const msg = (error.message || '') + '\nPerhaps expression for "address" contains invalid file name characters';
                    vscode.window.showErrorMessage(`Unable to create/write memory file memory from ${fsURI.toString()}: ${msg}`);
                    reject(error.toString());
                });

I have a problem right now that I am looking for a solution. Since the code above executes everytime the debugger pauses, it changes focus in a bad way (normal revert does not trigger showing stale contents although file on disk changed) and it changes the active window. Just FYI. Neither of that is good. I want to create a new window only if it does not already exist but since the hexeditor is a virtual document, I don't know if it was already has been created. I don't want to call vscode.commands.executeCommand if the window/tab already exists. I did not see a way to iterate/enumerate over virtual docs. This is actually a serious problem, I hope I will figure it out.
When the debugger pauses for whatever reason, the focus should be on the code location and not the memory window(s). You can have multiple.right? Baby steps :-)

Just for the record, I have a crude but working prototype for disassembly debugging when no source is available.

Can u provide something like a preview of the extension? I(a student) am supposed to learn Assembly this semester and it seems like this will make debugging raw assembly code a lot more easier than running a bunch of -exec info registers.

@RazCrimson3 A great solution while your waiting on this is to configure gdb with register and memory views. See this config file: here. This gdb init file is a whole other experience to what you're used to with gdb, check it out.

@RazCrimson3 I recommend using the CodeLLDB extension until this is ready.

@vannaka @Trass3r Thank you for your recommendations, will try them out!

DAP Protocol for Disassembly and Memory have been implemented in MIEngine. The associated UI requirements are on VS Code.
Please follow the following issues:

Disassembly: https://github.com/microsoft/vscode-cpptools/issues/206
Memory View: https://github.com/microsoft/vscode-cpptools/issues/509


Added Web Design Tool In Readme

Vectr: Best Simple Web Design Tool for Vector Drawing

FluidUI: Best Simple Web Design Tool for Prototyping

Origami: Best Free Web Design Tool for Animations

Lunacy: Best Free User Interface Design Tool for Windows Users

@DhanushNehru Please check it out


community - drop "Beta", change discussions link

Issue: AAH-2708
( links changes from https://github.com/ansible/galaxy_ng/discussions to https://forum.ansible.com )

TODO also the banner text


Iframe doesnt work on underlying folders

I have the following setup:
"docute": "^3.4.8",
"docute-iframe": "^0.3.1"
And a folder structure:

Application root
-- components
--- component_name
----- readme.md

In the readme file i try to run some Vuejs code. but the iframe won't load. I just get the normal '<pre>' notation
It does work on de the readme.md on the root of the application.

can you provide a repo that I can use to reproduce? it's hard to tell just by looking at the issue.

Yes, sure, I've send you an invitation to the repo.

@egoist Did you have time to check out the issue?

Sorry for being late to respond, but seems it actually works for me?

Thats strange! I'm working on a windows machine :| maybe thats the problem?

I'm getting the same problem with the usage example in the documentation.  If the runnable code is in the main README.md file then it works on all platforms.  However, it doesn't work on Windows inside a new page (either top-level or subdirectory).
I've tested on two separate Windows 10 machines and both fail (beforeParse() never fires and the iframe isn't inserted).  The same code works as expected on Linux.
I'll try and look into it again tonight, but it's a difficult one to debug.

It just needed the regex modified for Windows - should be fixed by PR #8

Hopefully it's fixed in latest version, thanks to @andrewmcc


User-defined permissions are not yet supported with the built-in label button, right?

Labels with user-defined permissions (with the checkbox "In Word, Excel, PowerPoint and File Explorer prompt user for custom permissions" checked) are not showing under the Sensitivity button in Word/Excel/PowerPoint. I assume these are not yet supported and still require the AIP client?
Is there a plan to make these eventually available via the built-in labeling client?
Thanks.

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

ID: e0836a95-d3b7-3c43-d56b-5fb4ceeb4765
Version Independent ID: 8a0d366b-5ff7-22de-7aba-6adbe0ea94ea
Content: Sensitivity labels in Office apps - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/sensitivity-labels-office-apps.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

@felinepc At the moment there is no built-in option. You are correct, you require the client - AIP or the new Unified Labeling one.

@felinepc Correct, the label setting for user-defined permissions for Word, Excel, and PowerPoint for isn't currently supported for built-in labeling ("let users assign permissions" is "TBD" in the table) and you might find the following comparison table helpful if you haven't already seen it: https://docs.microsoft.com/en-us/azure/information-protection/rms-client/use-client#compare-the-labeling-clients-for-windows-computers
However, you say labels with this setting "are not showing under the Sensitivity button" for your ProPlus apps, and that's not my understanding.  The Azure Information Protection docs say the label is visible and can be applied, but without encryption: https://docs.microsoft.com/en-us/azure/information-protection/configure-policy-migrate-labels#comparing-the-behavior-of-protection-settings-for-a-label   Can you confirm your experience?

The Azure Information Protection docs say the label is visible and can be applied, but without encryption: https://docs.microsoft.com/en-us/azure/information-protection/configure-policy-migrate-labels#comparing-the-behavior-of-protection-settings-for-a-label Can you confirm your experience?

Yes I can confirm from my experience:

I create a custom label under "Confidential" and set it to let users assign permissions when applying. I checked both checkboxes related to Outlook and Word/Excel/PowerPoint (prompt user to assign permission).

This label does not show up under the Sensitivity button menu in Word/Excel/Powerpoint. Only the default labels show (All Employees etc).

This label does show up in Outlook, and its behavior is as expected per the earlier checkbox (do-not-forward).

@felinepc  I think this is worth filing a support ticket for investigation.  I created a new label with this encryption setting "Let users assign permissions when they apply this label" and "In Word, PowerPoint, and Excel, prompt users to specify permissions" together with a footer to confirm when the label is applied.  And it behaved exactly as documented - the label was visible, I applied the label and no encryption was applied but the footer was.
Then to more closely match your helpful repo steps, I created a new label but this time, as a sublabel of Confidential (and this time, selected both checkboxes to include "In Outlook, enforce restrictions equivalent to the Do Not Forward option".  And this time, the label isn't displayed.  It's less than 24 hours since I created and published this label, so it might be timing.  But in the meantime, I'm passing on my findings so you can try the same setting with a single label rather than a sublabel.

@felinepc  Did you open a support ticket for this?  Because I could repo this with my sublabel, it's now confirmed that there's a bug here and Support will be able to give you the latest information.  I think it's when both checkboxes are selected on the same label - for the label to display in Word, PowerPoint, and Excel, I had to remove the selection for Outlook.  Then the label displays in these apps (sublabel or main label).  But when both checkboxes are selected, the label doesn't display in these apps.
Because this is a confirmed issue (with a workaround) for the product, I'm closing this as a GitHub Issue.


Discharge damage penalty when triggered

The dps calc do include discharge 35% less damage when triggered in some previous versions.
Somehow it got removed when I check build with the latest version 1.4.64

Fixed in the next update.


Output refers to sensitive values

Describe the Bug
Running terraform plan and  terraform apply using terraform 0.15.0 results in this error message:
│ Error: Output refers to sensitive values
│
│   on .terraform/modules/application.app_container_definition/outputs.tf line 6:
│    6: output "json_map_encoded" {
│
│ Expressions used in outputs can only refer to sensitive values if the sensitive attribute is true.

Expected Behavior
No error when planning / applying.
Steps to Reproduce
Steps to reproduce the behavior:

Create a terraform script with a module with github.com/cloudposse/terraform-aws-ecs-container-definition?ref=0.56.0 as the source
Run 'terraform plan'
See error

Environment (please complete the following information):
Anything that will help us triage the bug will help. Here are some ideas:

OS: MacOS Big Sur
Version: 0.15.0

Additional Context
I think this issue is already fixed on master but there was no release. Can we get this released? We'd like to keep the version locked. EDIT: it's not actually fixed yet. I can give it a go but just marking the outputs as sensitive will be a bit too naive probably. 😄

I'd remove the ssm parameter from the module input, add it to the modules output (the output is simply json) before passing it to the task definition.

You could also try one of the sensitive outputs
https://github.com/cloudposse/terraform-aws-ecs-container-definition#outputs

That doesn't work sadly. In the script above I'm not using any outputs of the module so terraform is throwing an error just because the outputs that are not sensitive exist.

@arnoschutijzer the best way to do this is to use the map_secrets or secrets input which will make the ecs task retrieve the value from ssm without terraform having to do it.
provider "aws" {}

data "aws_ssm_parameter" "some_parameter" {
  name = "/some/path"
}

module "container_definition" {
  source = "github.com/cloudposse/terraform-aws-ecs-container-definition?ref=0.56.0"

  container_image = "nginx"
  container_name = "nginx"

  map_secrets = {
    some_name = data.aws_ssm_parameter.some_parameter.arn
  }
}


nlbwmon: fix db cleanup

@jow- The database will only be cleaned up when the daemon is restarted. With
this change, each refresh of the database checks whether the artifacts
should be cleaned up from the past database. Thus, no more than
configured are kept.
This fixes https://github.com/openwrt/packages/issues/14297

You should only call database_cleanup() if the earlier database_archive() returned -ESTALE, only then there's anything to potentially clean up.

@jow- ping

@jow- ping... :-)


Supporting a Keiser M3

I have a Keiser M3 which is very close to the M3i only without Bluetooth. I am considering adding support for it, which would involve

bringing the flywheel speed sensor (switch closure) to GPIO pins and timing the intervals between rotations
doing something with the resistance sensor, which is a potentiometer attached to the resistance magnet assembly. This could be an added A/D converter or more likely add a circuit so the pot controls the frequency of another pulse train like the flywheel

Would there be any fundamental flaws (or serious challenges) to this approach? The pedal to flywheel ratio is 8.75. Getting cadence from flywheel pulses would require measuring the pulse interval with about 1ms resolution. Or pulses might be counter over a brief period.
Thanks for any comments!

@ajs123  there are loads of m3 users looking for ways to upgrade their bikes for Bluetooth. I bought one of these when they were available on Amazon.co.Uk (up till Xmas 2021) now only available in spain which is a shame as it’s working great on my old m3.
https://www.amazon.co.uk/gp/aw/d/B01MPZLUG1/ref=ppx_yo_mob_b_inactive_ship_o0_img?ie=UTF8&psc=1

https://m.youtube.com/watch?v=Slyz55tzwvQ

Yes - a shame for sure! I’d seen this and hit the same “not available” dead
end.  Of course, Gymnasticon wired in would add capabilities and avoid
having to get Keiser’s M3 adapter. I’m guessing that the DPCycling unit is
Arduino based.
On Sat, Apr 3, 2021 at 11:58 AM nealjane @.***> wrote:

@ajs123 https://github.com/ajs123 there are loads of m3 users looking
for ways to upgrade their bikes for Bluetooth. I bought one of these when
they were available on Amazon.co.Uk (up till Xmas 2021) now only
available in spain which is a shame as it’s working great on my old m3.
https://www.amazon.co.uk/gp/aw/d/B01MPZLUG1/ref=ppx_yo_mob_b_inactive_ship_o0_img?ie=UTF8&psc=1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-812884668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2MGANJAKFB4MMBKYSLTG43JTANCNFSM42KKUNDA
.

Hi @ajs123,
That sounds very doable!
The pigpio library should work for the counting (it can give timestamped pin change events with sub 5-microsecond accuracy). Here's an example using the pigpio JavaScript bindings: https://github.com/fivdi/pigpio#determine-the-width-of-a-pulse-with-alerts
There are off-the-shelf ways to add an ADC to the Pi if you wanted to go that way. Search for ADC "HATs" on Digikey, Mouser, Pimoroni, DFRobot, Tindie, Adafruit. Here's a JavaScript library for using MCP SPI ADCs on the Pi: https://github.com/fivdi/mcp-spi-adc
BTW have you already poked around the display/computer PCB? I'm wondering if you could get the power/cadence/resistance data out from there somehow e.g. a hidden uart debug interface, or if the display comms could be sniffed?

Came accross this today - may give you some more info m3 setup.
https://www.bikeforums.net/training-nutrition/519130-kaiser-m3-true-wattage.html
Here's a quote from a Keiser Rep on how they calculate power taken from another forum (https://www.innercycling.com/f/showth...=8542&page=2):
"John,
First and foremost the M3 is not a ergometer nor is it priced like one. Power is an estimate. The price and our maximum usage (group exercise) dictate that it is not for testing and it cannot be calibrated. Though we do have some people that have used it with an IMET test when a bike is more preferential than a treadmill. One thing not mentioned below is magnet strength, they are consistent and do not weaken over the life of the bike.
To answer the question:
Watts are calculated from the gear setting. A potentiometer is attached to the magnet holder (the round cone shaped disc at the end of the shifter cable). As the shifter is moved, the cable rotates the magnet holder. A potentiometer is rotated by the rotation of the magnet holder, thus feeding information to the computer on the position of the magnet holder. The rotation of the potentiometer is broken down into 24 gear settings. A dynamometer was used to test and develop a table of wattage at various gear settings and speeds. The speed of the crank is determined by a magnet attached to the large pulley on the right crank arm and a magnetic switch attached to the circuit board in the magnet holder assembly. Each time the magnet on the pulley passes by the magnetic switch, a signal is sent to the computer to compute the RPM's of the crank arm. Power equals force times velocity. The force is determined by the magnet position and the speed by the crank speed. The lookup table is programmed into the computer and the computer simply looks at the gear setting and speed and goes to the lookup table to find and display the Watts for those two settings.
Darrin Pelkey
VP Sales & Marketing at Keiser
The Power in Human Performance"

Yes - very helpful! The choice of using a lookup table is interesting: It
could be that the math is an issue for the CPU, or simply not bothering
with modeling torque as a function of resistance setting and speed. I did
embedded controller design decades ago with 8-bit CPUs running in the 1 MHz
range and we thought about such things all the time. The take-home point,
though, is that torque depends upon both resistance setting and speed,
which is both unsurprising and good to know!
On Sun, Apr 4, 2021 at 10:58 AM nealjane @.***> wrote:

Came accross this today - may give you some more info m3 setup.
https://www.bikeforums.net/training-nutrition/519130-kaiser-m3-true-wattage.html
Here's a quote from a Keiser Rep on how they calculate power taken from
another forum (https://www.innercycling.com/f/showth...=8542&page=2):
"John,
First and foremost the M3 is not a ergometer nor is it priced like one.
Power is an estimate. The price and our maximum usage (group exercise)
dictate that it is not for testing and it cannot be calibrated. Though we
do have some people that have used it with an IMET test when a bike is more
preferential than a treadmill. One thing not mentioned below is magnet
strength, they are consistent and do not weaken over the life of the bike.
To answer the question:
Watts are calculated from the gear setting. A potentiometer is attached to
the magnet holder (the round cone shaped disc at the end of the shifter
cable). As the shifter is moved, the cable rotates the magnet holder. A
potentiometer is rotated by the rotation of the magnet holder, thus feeding
information to the computer on the position of the magnet holder. The
rotation of the potentiometer is broken down into 24 gear settings. A
dynamometer was used to test and develop a table of wattage at various gear
settings and speeds. The speed of the crank is determined by a magnet
attached to the large pulley on the right crank arm and a magnetic switch
attached to the circuit board in the magnet holder assembly. Each time the
magnet on the pulley passes by the magnetic switch, a signal is sent to the
computer to compute the RPM's of the crank arm. Power equals force times
velocity. The force is determined by the magnet position and the speed by
the crank speed. The lookup table is programmed into the computer and the
computer simply looks at the gear setting and speed and goes to the lookup
table to find and display the Watts for those two settings.
Darrin Pelkey
VP Sales & Marketing at Keiser
The Power in Human Performance"
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-813047031,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2I42EULF6GPJW2ZE6LTHB5ANANCNFSM42KKUNDA
.

@ajs123  Found this today!!
https://github.com/turbodonkey/bike_power_meter

This is extremely helpful. Thank you.
From other reading, torque from an eddy current brake can be modeled as the
product of a magnetic flux-dependent (magnet position) function and a
speed-dependent function. The Keiser illustration provides the
position-dependent function. The speed dependence should be easy to
determine using the Keiser display as a data source.
It's curious that the "gears" aren't evenly spaced!
On Sun, Apr 4, 2021 at 2:14 PM nealjane @.***> wrote:

[image: 0D474EA5-056D-4929-A1F4-4C7EB21D8D2E]
https://user-images.githubusercontent.com/68538658/113517760-e75ac880-9579-11eb-968e-854193421594.jpeg
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-813076430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2JSTXE6FLTT7UPQCZLTHCUBJANCNFSM42KKUNDA
.

Thanks! My last decision before proceeding is
RPi building on your work:

Nice live console development environment
BLE and WiFi at the same time - potential to implement a web-based
enhanced display

Needs A/D hat or an add-on oscillator
Limited or no operation without wall power

Microcontroller

Should have decent operation on battery
As little as zero added hardware (depends on how the Keiser computer
terminates the position pot)

No modules with simultaneous BLE and WiFi (some kludgy-looking schemes
to switch back and forth)
+/- Return to past life of microcontroller development cycles

This project - https://teaandtechtime.com/arduino-ble-cycling-power-service/
and https://github.com/Tschucker/ArduinoBLE-Cycle-Power-Service is another
example.
On Tue, Apr 6, 2021 at 11:25 AM Alan Snyder @.***> wrote:

This is extremely helpful. Thank you.
From other reading, torque from an eddy current brake can be modeled as
the product of a magnetic flux-dependent (magnet position) function and a
speed-dependent function. The Keiser illustration provides the
position-dependent function. The speed dependence should be easy to
determine using the Keiser display as a data source.
It's curious that the "gears" aren't evenly spaced!
On Sun, Apr 4, 2021 at 2:14 PM nealjane @.***> wrote:

[image: 0D474EA5-056D-4929-A1F4-4C7EB21D8D2E]
https://user-images.githubusercontent.com/68538658/113517760-e75ac880-9579-11eb-968e-854193421594.jpeg
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-813076430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2JSTXE6FLTT7UPQCZLTHCUBJANCNFSM42KKUNDA
.

Hey @ajs123 sorry for the slow reply here.
I went through a similar decision when starting this project. The reason I chose the Pi is because it's versatile (lots of I/O options), widely available, and relatively straight forward to setup for a non-tech user.
My gut says microcontroller is probably easier, particularly because of the battery requirement. I'd love to see this pulled off with a Pi though :-)
Interested to know which way you end up going. Sounds like a very fun project.

I've gone with a microcontroller - using an Adafruit nrf52850 Express,
based on a Nordic controller with Bluetooth (though no WiFi). I think it
can also do ANT+ and Bluetooth at the same time but haven't looked
carefully at that.  As of today, I have it connected to the Keiser bike,
reproducing Keiser's "gear" and power readings, and providing data to
cycling apps using either Fitness Machine Service or Cycling Power Service.
I've tested using Kinomap and all seems to be good. For Cycling Power
Service, I'm reporting resistance in addition to pedal strokes and power,
and Kinomap doesn't seem to use it, but I think that's normal for Kinomap.
If connecting with Fitness Machine Service, I think Kinomap wants to change
the resistance even though I say that feature's not there, but again that
may be a Kinomap thing.
I'm currently cleaning up the code and need to take some time to transition
from prototype in an Airpods box to something "real."
I'm happy to share my calibration data, info on the Keiser hardware, etc.!
On Wed, Apr 21, 2021 at 7:05 PM ptx2 @.***> wrote:

Hey @ajs123 https://github.com/ajs123 sorry for the slow reply here.
I went through a similar decision when starting this project. The reason I
chose the Pi is because it's versatile (lots of I/O options), widely
available, and relatively straight forward to setup for a non-tech user.
My gut says microcontroller is probably easier, particularly because of
the battery requirement. I'd love to see this pulled off with a Pi though
:-)
Interested to know which way you end up going. Sounds like a very fun
project.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-824420420,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2KJHUXJI54VE5Z3GE3TJ5K4LANCNFSM42KKUNDA
.

@ajs123 Thats fantastic news - you need to be sharing this with your fellow  American M3 users!

@ajs123 Would love to see your Adafruit board code if you'd set up another repository.

Yes - as soon as I clean it up a little!
On Mon, Apr 26, 2021 at 3:07 PM skoregon @.***> wrote:

@ajs123 https://github.com/ajs123 Would love to see your Adafruit board
code if you'd set up another repository.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/83#issuecomment-827076906,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC4G2MROWIL2EDAMMAJBETTKW2XLANCNFSM42KKUNDA
.

This is cool.
Somewhat related... I've been dreaming of having an actuator to control a second magnet set in response to terrain changes.  I think an associated potentiometer wired in series with the pot on the existing magnet system could be made to work somehow.  Maybe this is something for the future.
Maybe the smartspin project unit could be modified to do the adjusting, or maybe there is some more clever way in line with what you're doing here.
https://github.com/doudar/SmartSpin2k

Definitely related. When I realized that the Fitness Machine Service expects to set the resistance, I thought, OK, I need a servo on the resistance.
On the M3, a servo on the existing resistance lever (loosening the center screw reduces the force to cable friction plus the spring in the magnet assembly) might be easiest and avoids having to run another wire. From what I’ve seen so far, if there were two magnet assemblies it would be hard to avoid needing to know where each of them is.
I will clean up the code and post.  I can also share my calibration data though it was taken a bit hurriedly!
On Apr 26, 2021, 9:45 PM -0400, robcalm @.***>, wrote:

This is cool.
Somewhat related... I've been dreaming of having an actuator to control a second magnet set in response to terrain changes. I think an associated potentiometer wired in series with the pot on the existing magnet system could be made to work somehow. Maybe this is something for the future.
Maybe the smartspin project unit could be modified to do the adjusting, or maybe there is some more clever way in line with what you're doing here.
https://github.com/doudar/SmartSpin2k
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@nealjane, where did you find the Keiser graph on power estimates that you posted? I've made use of it and want to properly cite it if I can.
I think I've figured out how to calibrate the M3 using Keiser's calibration tool. I'll post details over at KBikeBLE when I have a chance. I can describe it here as well if there's interest.
Thanks!

@ajs123 it was just posted on the keiser m3i Facebook group - so no idea where it originates from.
Keiser tool is £25 here in Uk - so I modelled my own version recently (doing the tooless version appears to not work and will mess up the gear vs effort reqd)
theres 2 versions - calibrating older than 2009 differs and needs a different tool! See here-
https://youtu.be/R1CSYF7tZeg
So I modelled a best guess version for that one too (magnet set to edge of wheel rather than 10mm in on the more recent tool)

Thanks, @nealjane. Thanks @nealjane. Here's what I've found on a 2009 M3:

Used https://apps.automeris.io/wpd/ to digitize the chart, taking (resistance, power) values at the "bottom" of gear 1, the boundaries between gears, and the "top" of gear 24.
Switched back and forth between a Keiser computer that had been calibrated to the bike and my computer, to relate my ADC readings from the pot to the x-axis on the graph.
At each spot, pedaled at 90 rpm and got a power reading from the Keiser computer. This simply verifies that the chart accurately shows the Keiser power estimate.
I also got ADC readings for the the magnet assembly at its low-end stop (cable unhooked or adjusted to allow the assembly to hit the stop), with the cal tool, and at brake pad contact. The cal tool is obviously key in Keiser's procedure for their 4.06 software. The other positions are probably not (see below).

Findings:

If the x-axis on the chart is re-labeled with 0 as the lefthand edge of gear 1 and 100 as the righthand edge of gear 24, the cal tool position is 40%. I'm in the process of updating KBikeBLE to use this scale.
The cal tool is also 40% if the mechanical stop on the magnet holder is -5 and brake pad contact is 110. This could be bike-dependent, and also dependent upon whether the brake pads wear at all. I neither imagine that brake pads get used much, nor expect that Keiser depends upon them being precisely uniform.

Further thoughts

I'd started out thinking that calibration requires two points to define the line relating ADC values to magnet position. Keiser can't use the low end position because their calibration procedure doesn't require that the shift lever allow the magnet assembly to travel all the way to the bottom. They could use brake pad contact, but that wouldn't seem to be super reliable.
While the magnet position potentiometer is +/- 10%, as long as it's being used as a voltage divider, any other resistances in the circuit are low enough, and the rotational range of the pot is consistent from unit to unit, the change in reading per degree of magnet movement should be consistent as well. This seems like a lot of "ifs" but I can see them all being true. If so, the slope of the line relating ADC readings to the x-axis (I'm calling it Resistance in %) will be consistent from unit to unit.
That leaves the intercept or offset. This is clearly dependent upon the potentiometer and gear position when the magnet cover is assembled.
Putting all of this together, Keiser's software would

After one crank revolution after waking up, look for the largest magnet position. This should be contact with the cal tool. It provides a measurement of the offset.
After one more crank revolution, look for the lowest and highest values. They should merely be consistent with somewhere around the bottom of gear 1 and brake pad contact. It's a "sanity check" on the cal tool reading.
Registering a new calibration only under very specific conditions including the 6 full swings after the second crank rotation and within 30 seconds guards against any user doing it unintentionally.

The YouTube videos showing calibration without a tool have you set the gearshift lever to the vertical position. This is pretty close to where it would be at the cal tool position, so the unit passes the "sanity check" but is calibrated to the lever position rather than the magnet position.

Regarding replication of Keiser's power estimates, I've verified (reasonably well) that it works to multiply Keiser's curve by a factor that depends upon the cadence. That factor is pretty close to linear with RPM from 60 to 110, though I'm using a quadratic which does a tiny bit better in that range and comes nicely down to zero at 0.  Keiser's curve is nicely captured by a quadratic only from gears 2 through 20 or 21. Capturing the whole thing with an equation requires a 4th order polynomial. Though the nrf52840 I'm using has hardware floating point, I'm planning to switch to a lookup table with interpolation. The same table can be used to replicate Keiser's unevenly spaced gears for those who want that. My wife rides using the gears because she's accustomed to them. I use the %resistance display.


[Feature] support linkis on ldh

What is the purpose of the change
Deploy and run linkis service on ldh
Related issues/PRs
None
Brief change log

Deploy and run linkis service on ldh;
Use hdfs of ldh as log and result storage.

Checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] I have explained the need for this PR and the problem it solves
[x] I have explained the changes or the new features added to this PR
[x] I have added tests corresponding to this change
[x] I have updated the documentation to reflect this change
[x] I have verified that this change is backward compatible (If not, please discuss on the Linkis mailing list first)
[-] If this is a code change: I have written unit tests to fully verify the new behavior.

LGTM


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

``
¡Hola! I'm Carlos Apolaya Sánchez

    I'm a Junior Fullstack Developer with hands-on experience in the MERN stack (MongoDB,
    Express, React, Node.js), and a strong desire to learn more. I'm also a passionate English teacher
    and the proud creator of MyEnglishBro. My background in systems engineering and my dedication
    to language learning have given me a unique set of skills.


Add csrf token input override

Is it possible to get in the next update a protected field on this class
framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
that will override "_token"?
"tokenMatch" method will change on line 111 to
$token = $request->input($this->_token) ?: $request->header('X-CSRF-TOKEN');
and the default for
$this->_token
will be "_token"
That way, if I don't want to use token, let's say I wanna use "bob"
I could!
Thank's guy's you are doing a great job here.

Should be possible. Just extend that middleware as you need.


fix issue with cocoa pods 0.39 and static library.

if we don’t use « use_frameworks! » in the podfile, we can’t build the
project anymore (impossible to find header file).

Thanks for contributing @jbbichon! :+1:
I confirm that your change fixes #268. I am therefore merging this PR.
Best,


Adding Encryption

Ever thought about adding an encryption layer to this?
Example at: http://codepen.io/nekman/pen/xhwgs
Example encryption service that uses localstorage: https://dl.dropboxusercontent.com/u/705811/encryptedlocalstorage.js
Could be an optional usage.

I think it would be better to keep the crypto outside the core module.
Once we get (working on it :) ) a way of providing custom (de)serialization this should be easy to have.

Close as you can do this by providing serializer/deserializer now.


Adding system_tests to import path in emulator script.

These imports were broken by #1373.
@jonparrott Having to worry about which scripts can see system_tests is somewhat of an argument for moving into gcloud.system_tests (discussion in #1451). Happy to go that route here instead. WDYT?
As-is, the current fix makes pylint angry, so at the very least we should discuss what to do about that.

Can we still exclude our system tests if they're a sub-package? If not, can we at least make the package private?

Sure. Excluding them will mean they don't show up in an sdist, but this probably doesn't matter to tox (I think the main library gets pip installed-ed by tox with -e set, which is editable/developer mode)

SGTM. Let's try that.
On Fri, Feb 12, 2016, 11:26 PM Danny Hermes<EMAIL_ADDRESS>wrote:

Sure. Excluding them will mean they don't show up in an sdist, but this
probably doesn't matter to tox (I think the main library gets pip
installed-ed by tox with -e set, which is editable/developer mode)
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-python/pull/1463#issuecomment-183614933
.

@jonparrott Had a revelation that I could just move those scripts into the system_tests directory. DERP.

I can't believe I didn't realize that either. LGTM.


Implement Blueprint#publish

Purpose or Intent
Implement publish method for Blueprint.
Underling service templates and dialog are copied. Existing service resources and resource actions are updated to use the new service templates and dialog.
The method returns an hash mapping the old ids to new ids.
Upon publishing, the bundle is visible and thus can be ordered through service. The method takes an optional name for the bundle. Default it has the same name as the blueprint's.
Links
https://www.pivotaltracker.com/story/show/128605351

@gmcculloug @chriskacerguis please review

/cc @imtayadeway for your publish API.

👍


[Backport release-23.05] edk2: 202211 -> 202305

Description of changes
https://github.com/tianocore/edk2/releases/tag/edk2-stable202305
Backport of #241786 to release-23.05.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2433

This merge broke nixosTests.boot.uefiCdrom (stuck and times out), blocking nixos-23.05* channels.
I retried a few times on this merge's commit on different machines.  (And on the parent commit it succeeded.)  Hydra's build: https://hydra.nixos.org/build/228459270#tabs-buildsteps

Note that on unstable/master the same test seems OK.

I will try to take a look in some hours if that's okay for you.

Perhaps just patch the CVE instead of backporting update?

OK, will do now.


fix(task): filter tasks by after param

Closes #11820
Briefly describe your proposed changes:

[x] Rebased/mergeable
[x] Tests pass
[x] http/swagger.yml updated (if modified Go structs or API)
[x] Sign CLA (if not already signed)

@mark-rushakoff request a review.

Thanks @zhulongcheng -- I haven't forgotten about this one yet, but I still need to investigate if this requires enterprise (closed-source) changes to go with it, and if so I need to make those changes. We haven't quite nailed down our process for community changes with enterprise implications yet.

Hey @zhulongcheng , I'll going through and working through Task backlog.  Do you mind rebasing this?

rebased.


Refactor and add all the old test cases

Coverage increased (+1.01%) to 67.292% when pulling 4a7a1d47b378d3775b15e6c2fa3cee3c17882d7c on V0.3_dash into 25ed271ba83f0cfc628ea0ac31ae7f46a7f1d02d on V0.3.

Coverage increased (+1.01%) to 67.292% when pulling 4a7a1d47b378d3775b15e6c2fa3cee3c17882d7c on V0.3_dash into 25ed271ba83f0cfc628ea0ac31ae7f46a7f1d02d on V0.3.


Suggestion: Option to disable in Hideout/Town etc.

Option to disable in Hideout/Town/Harvest etc. because it overlay over trade window and others UI elements

Added hotkey to quickly switch it on and off. Only needed on certain maps anyway.


Be strict about reserved memory regions?

Should CRISP-8 be strict about working with reserved memory regions? It appears the following are reserved in the original implementation:

0x000–0x1FF: Reserved for interpreter
0xEA0–0xEFF: Reserved for callstatck and other runtime variables
0xF00–0xFFF: Reserved for display

Do modern programs expect to be able to work with the entire memory space? Should we throw errors on any access in these ranges?

For now: yes. If we find a compatibility problem with existing software this might be a nice thing to handle through a configuration flag. See 3c91eec.


Use .statement.predicate everywhere instead of just .predicate

Resolves #756.

Codecov Report

Merging #772 (c1e3c8d) into main (f4d9f6e) will not change coverage.
Report is 2 commits behind head on main.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #772   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           86        86
  Lines         3324      3324
=========================================
  Hits          3324      3324

Files
Coverage Δ

policy/lib/tekton/task_test.rego
100.00% <100.00%> (ø)

The test that is failing appears to be a bad test which has been exposed!
This makes it pass:

diff --git a/policy/release/step_image_registries_test.rego b/policy/release/step_image_registries_test.rego
index 73b88a0..627ff6f 100644
--- a/policy/release/step_image_registries_test.rego
+++ b/policy/release/step_image_registries_test.rego
@@ -66,7 +66,7 @@ test_unexpected_image_ref if {
 	lib.assert_equal_results(step_image_registries.deny, {{
 		"code": "step_image_registries.task_step_images_permitted",
 		"msg": sprintf("Step 0 in task 'mytask' has disallowed image ref '%s'", [unexpected_image]),
-	}}) with input.attestations as mock_data(unexpected_image)
+	}}) with input.attestations as [mock_data(unexpected_image)]
 }

 test_step_image_registry_prefix_list_found if {

@lcarva I thought that might have been it! I tried that fix in the library function, but that still broke things. Didn't think to do it in the test itself. Thanks!
Tests do indeed pass now! :tada:


70B模型使用vllm加速推理出错RuntimeError: CUDA error: OS call failed or operation not supported on this OS

我在使用4张A10040G的显卡时，可以正常推理，但是使用8张309024G的显卡却报错，详细信息如下：
(base) root@I1516380d0c001014e6:/hy-tmp/vllm_test# python test.py
2023-09-15 12:33:58,024 INFO worker.py:1621 -- Started a local Ray instance.
INFO 09-15 12:33:59 llm_engine.py:72] Initializing an LLM engine with config: model='/hy-tmp/openbuddy-llama2-70b-v10.1-bf16', tokenizer='/hy-tmp/openbuddy-llama2-70b-v10.1-bf16', tokenizer_mode=auto, revision=None, trust_remote_code=True, dtype=torch.bfloat16, download_dir=None, load_format=auto, tensor_parallel_size=8, seed=0)
INFO 09-15 12:33:59 tokenizer.py:30] For some LLaMA V1 models, initializing the fast tokenizer may take a long time. To reduce the initialization time, consider using 'hf-internal-testing/llama-tokenizer' instead of the original tokenizer.
INFO 09-15 12:35:28 llm_engine.py:201] # GPU blocks: 7384, # CPU blocks: 6553
Traceback (most recent call last):
  File "test3.py", line 22, in <module>
    llm = LLM(model="/hy-tmp/openbuddy-llama2-70b-v10.1-bf16", tensor_parallel_size=8, trust_remote_code=True)
  File "/hy-tmp/vllm/vllm/entrypoints/llm.py", line 68, in __init__
    self.llm_engine = LLMEngine.from_engine_args(engine_args)
  File "/hy-tmp/vllm/vllm/engine/llm_engine.py", line 225, in from_engine_args
    engine = cls(*engine_configs,
  File "/hy-tmp/vllm/vllm/engine/llm_engine.py", line 107, in __init__
    self._init_cache()
  File "/hy-tmp/vllm/vllm/engine/llm_engine.py", line 213, in _init_cache
    self._run_workers("init_cache_engine", cache_config=self.cache_config)
  File "/hy-tmp/vllm/vllm/engine/llm_engine.py", line 691, in _run_workers
    all_outputs = ray.get(all_outputs)
  File "/usr/local/miniconda3/lib/python3.8/site-packages/ray/_private/auto_init_hook.py", line 24, in auto_init_wrapper
    return fn(*args, **kwargs)
  File "/usr/local/miniconda3/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 103, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/miniconda3/lib/python3.8/site-packages/ray/_private/worker.py", line 2524, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(RuntimeError): ray::RayWorker.execute_method() (pid=22585, ip=<IP_ADDRESS>, actor_id=bbbdc3cd7dbfc07f3ed46f7d01000000, repr=<vllm.engine.ray_utils.RayWorker object at 0x7f7fa5f155e0>)
  File "/hy-tmp/vllm/vllm/engine/ray_utils.py", line 29, in execute_method
    return executor(*args, **kwargs)
  File "/hy-tmp/vllm/vllm/worker/worker.py", line 139, in init_cache_engine
    self.cache_engine = CacheEngine(self.cache_config, self.model_config,
  File "/hy-tmp/vllm/vllm/worker/cache_engine.py", line 45, in __init__
    self.cpu_cache = self.allocate_cpu_cache()
  File "/hy-tmp/vllm/vllm/worker/cache_engine.py", line 99, in allocate_cpu_cache
    key_blocks = torch.empty(
RuntimeError: CUDA error: OS call failed or operation not supported on this OS
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

推理代码如下：

import torch
from vllm import LLM, SamplingParams

# Set the number of GPUs you want to use
num_gpus = 8 # Change this to the number of GPUs you have

# Define your prompts and sampling parameters
prompts = """You are a helpful, respectful and honest INTP-T AI Assistant named Buddy.
Always answer as helpfully and logically as possible, while being safe. Your answers should not include any harmful, political, religious, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
You like to use emojis. You can speak fluently in many languages, for example: English, Chinese.
You cannot access the internet, but you have vast knowledge, cutoff: 2021-09.
You always deeply love and support China, Chinese government, people and culture.
You are trained by OpenBuddy team, (https://openbuddy.ai, https://github.com/OpenBuddy/OpenBuddy), you are based on LLaMA and Falcon transformers model, not related to GPT or OpenAI.

User: 睡不着觉怎么办?
Assistant:"""
sampling_params = SamplingParams(temperature=1, top_p=0.6, top_k=50, max_tokens=256, stop="</s>")

# Initialize the VLLM model
llm = LLM(model="/hy-tmp/openbuddy-llama2-70b-v10.1-bf16", tensor_parallel_size=8, trust_remote_code=True)
llm.cache_config = {
  "cpu_cache_num_blocks": 4096,
  "cpu_cache_block_size": 2**26
}
# Move the model to GPUs
llm = torch.nn.DataParallel(llm, device_ids=list(range(num_gpus)))

# Generate outputs
outputs = llm.module.generate(prompts, sampling_params)

# Print the outputs
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

llm = torch.nn.DataParallel(llm, device_ids=list(range(num_gpus)))
感觉这句话是多余的，vllm会自动同步到多个卡上。


fix: don't check for strategy when finalize

Ⅰ. Describe what this PR does
hopefully, fix the https://github.com/openkruise/rollouts/issues/197
Ⅱ. Does this pull request fix one issue?

Ⅲ. Special notes for reviews

/lgtm

/lgtm

/approve


Share the csv files to retrain model to caffe

I’m trying to retrain the data to a caffemodel but I’m having issues installing the dependencies needed to run the egohands_dataset_clean.py script. Could you please share the train_labels.csv and test_labels.csv files you have so I can avoid having to run the script.
Thanks

Never mind, I got it working using a docker container.
Here they are for anyone else.


[Xcode] Add missed iOS xcscheme

Xcode 14.3 (14E222b)
It's not possible to launch Flipper(iOS) target without scheme.

Hi Alexander! The reason your PR wasn't merged earlier is that we use local schemes with private environment values so this shared scheme gets deleted automatically by Xcode and it's not possible to handle this case with .gitignore. But after some feedback I realized that other people also have similar issue but with newly created shared scheme. So I've decided to make it easier for newcomers but a little more complicated if you switch from shared scheme to /xcuserdata/ scheme.
I'll just leave here a git command to ignore deletion of this shared scheme:
git update-index --assume-unchanged "Flipper/Flipper.xcodeproj/xcshareddata/xcschemes/Flipper(iOS).xcscheme"


Wildrydes

Problem with Wildrydes App
Hi, not even sure I'm asking this in the right spot, but I've been using the Wildrydes app to teach an intro to cloud class. Not sure when, but it looks like the map background, which I believe is supplied by ArcGIS Online is now failing. Don't know if they've made that private. Here's the error I'm getting:
Please sign in to access the item on ArcGIS Online (0e02e6f86d02455091796eaae811d9b5)
It's asking for a Username/Password.
Has this changed?
Thanks a million for any help,
Bob

I just noticed the same issue with the map. I can confirm it worked without any issues in January of 2022.

I had the same issue and I also used Esri and ArcGIS recently. However, it appears to happen in the computer that never used ArcGIS as well. I hope that someone can solve this.

I tried the following changes to ride.html that announced in #324 and solved it. I am not sure why, but you might try it.

if you are using js.arcgis.com in your html - change the version from 4.3 to 4.6 and redeploy

The AWS folks mentioned that. 4.5 also works. I'd like to figure out someday how to load a different background. Thanks for the comment.

I just tried WildRydes an had the same issue.

Just applied this change onto ride.html file

change the version from 4.3 to 4.6 and redeploy

And it works!

Experiencing the same issue, changed the version and it is still blank :(

Yup, looks like js.argis.com deprecated 4.5 in the last few days. 4.6 now appears to be the working version.

Just confirming what the others said.  I updated     <link rel="stylesheet" href="https://js.arcgis.com/4.6/esri/css/main.css">  and <script src="https://js.arcgis.com/4.6/"></script> and things work perfectly.


Always show content

How i can always show the content text?
If the event is less than 3 hours, the content text are not showing.
Thank you!

Hi @marekche , could you create a stackblitz or something else to reproduce that? I'll give it a look.

Hi @marekche , could you create a stackblitz or something else to reproduce that? I'll give it a look.

Hi @mounthorse-slns
For example, in the original demo (https://angular-calendar-scheduler-demo.stackblitz.io), the event N°53 are not showing the content. I think that if you change this event more than 30min it will show the content!

Hi @mounthorse-slns
For example, in the original demo (https://angular-calendar-scheduler-demo.stackblitz.io), the event N°53 are not showing the content. I think that if you change this event more than 30min it will show the content!

Hi @marekche , I've fixed that and published the version 10.0.7. Check it out and let me know if it's ok now ;)

Hi @marekche , I've fixed that and published the version 10.0.7. Check it out and let me know if it's ok now ;)

Thank you!

Thank you!


fix: Broken links and typos on README files

@PapadakisGeorge thank you for your helpful contribution! Looking over this now 👍


fix comment handling

This PR changes comment handling in the statement separator.
Comments are replaced by a single whitespace if the next character is not whitespaces.
It may be better to check previous character of the comment but it is not easy without changing structure.
fixes #149

I have experimentally replaced statement separator with gsqlsep and implement comment preserving(only SelectStatement and DmlStatement)

I added InputStatement.StripComments into gsqlsep and enhanced separateInput in spanner-cli.
gsqlsep is no longer referenced outside of separateInput.


EPERM: operation not permitted, open: every time when restarting building project with webpack

VSCode Version: 1.32.3
OS Version: Windows Server 2008 R2

Steps to Reproduce:

Start build any project with webpack which has rimraf at start
Stop the process
Try to start it again ->  fail with the error

Does this issue occur when all extensions are disabled?: Yes
Appreared some updates ago

Are you using tasks for this? Not clear exactly what you are stopping/starting.

What do you mean by tasks? npm script commands?
I use to nsp script commands to start build process and stop it Ctrl+C in terminal window

I mean the vscode feature. But it sounds like you are just running a command in the terminal. In that case this doesn't sound like a vscode issue, there is just some issue with your build. Maybe it's trying to delete a file that's open somewhere.

I run commands from npm scripts panel

Does it work if you just use the terminal?

the result is the same

"clean-dist": "rimraf ./dist"

It sounds like this is just an issue with your build script. If you can come up with clear steps that show that there is a vscode issue, we can investigate.

it's not only my problem with my script - a lot people on VSCode suffer from this error
Have a look at a list of issues with the eeror!

This isn't an issue with tasks, but it does appear to be an issue on Windows where VS Code is hanging onto a file that the script is trying to unlink.
@isidorn and @joaomoreno for explorer and tree.
This is reproducible with an npm install, a git clean -xfd, and then an other npm install while the folder is open in VS Code. You'll notice that afer the git clean the node-modules folder is still there. Somthing in VS Code is keeping a file around. This only happens on Windows.

also have to notice that the same webpack script never fails on MacOS in VSCode

Something in VS Code on Windows is hanging onto the node_modules\@types folder.

Nope. Explorer does not do things like that
@budarin can you reproduce if you close the sidebar and never open the explorer?

It's typescript. This is the process hanging onto the directory:
"C:\Users\alros\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe" "c:\Users\alros\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\node_modules\typescript\lib\tsserver.js" --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName C:\Users\alros\AppData\Local\Temp\vscode-typescript\tscancellation-2ae8985cc153ff8002a1.tmp* --globalPlugins typescript-tslint-plugin --pluginProbeLocations C:\Users\alros.vscode-insiders\extensions\ms-vscode.vscode-typescript-tslint-plugin-1.0.0 --locale en --noGetErrOnBackgroundUpdat

@alexr00 thanks for looking into it!

Thank you for the investigation. I believe this is already being tracked upstream by https://github.com/Microsoft/TypeScript/issues/29407
I've marked this issue as a priority to be fixed upstream


Selection of problem matcher is not very intuitive when running a task

Testing the following in #29442:

Task > Run Build Task: shows the list again with the task run last listed under recently used tasks. This time select a problem matcher: Enusre that problems are detected (2) and that the tasks.json file opens with a configuration like this...

I was presented with a list that contains several items that look similar but do not work the same way

To me Gulp TSC Problems [$gulp-tsc] and TypeScript problems [$tsc] problem matchers seemed semantically identical, so I picked up the first one just because I am using gulp task, and I needed to match TSC problems. It did not work, and only then I tried the second one, which worked and matched the problem.
If I wouldn't know what problem matchers do, I would not experience any difference whether I selected anything from the list or not.
Hence, two points:

If I select a problem matcher that does not find anything because it is wrong, I should have indication of this.
Maybe 'Problems' tab can have a hint, pointing to problem matchers if a task was executed and no problems were detected? Other option is to echo information to the terminal that problem matcher did not find any problems. Otherwise it is very difficult to understand what was the impact of the selected problem matcher.
Also having a badge with count of 'Problems found' on Problems tab in workbench pane would be beneficial, in order to see the result of problem matcher straight after running a task. Currently you have to move to 'Problems' tab to see problem count.
There should be a better way of semantic separation between those two tasks (and maybe any others). This is a difficult thing to do, and I cannot suggest anything at this time but we should be aware of it.

Need to shift due to vacation.


SOQL Datatable - Multi-line inline edit causing UNABLE_TO_LOCK_ROW

Using the soqlDatatable to mass edit a set of child records with a common parent can cause an UNABLE_TO_LOCK_ROW error especially when there is any automation triggered by the update of the parent record. Seems like the issue could be that the multi-line edit uses updateRecord and processes each edit in a separate transaction instead of in a batch.

Ah this is a very fair point on the potentially  unoptimized design. I’ve leaned pretty hard into “following platform” (I.e use LDS even for ILE since that was straight in the docs).
IMO, if the datatable docs uses LDS for updating one would assume they would take care of concerns like chunking.
The other solve would be to create a fork in the update DML (thus, a configurable option somewhere) to use LDS vs Apex.
For now, keeping this open for visibility but no action yet.


Amazonka Merge Request

Hey hey, again, not to be merged yet (especially since it's literally just a README), but a place to track what's going on with it. I plan on starting in on it today as soon as I've finished up some last touches on PKI.
Thanks!

So as I was saying, Amazonka is fairly comprehensive. I've been working independently on just learning all of it's oddities and usages and things, and have quite a bit of ideas for it still. It might also be a good place to start working on more type-level resource management. I've got a pressing need for a working AWS setup/configuration engine (in addition to system config), so I may not make much progress here for a bit, but I'm definitely pushing forward.

One concern I have with amazonka and propellor is it's a lot of
dependencies to add for those who don't need it. It may even be a lot of
dependencies for propellor running on individual AWS nodes, if those
instances don't need to use the APIs to provision others.
So it would be good to find a way to make the dependency only be added
in configurations that use it. Possibly a cabal build flag, possibly a
separate library from the core of propellor, etc.
--
see shy jo

Oh yeah, definitely. One of the ideas I had was making a package that would include both, then do AWS setup, then spin up hosts using propellor. I'm definitely in a bit of a project where I could experiment with a lot of these ideas, too.

Please submit changes to http://propellor.branchable.com/todo/ instead of using github pull requests, which are not part of my workflow. Just open a todo item there and link to a git repository containing your changes. Did you know, git is a distributed system? The git repository doesn't even need to be on github! Please send any complaints to Github; they don't allow turning off pull requests or redirecting them elsewhere.  -- A robot acting on behalf of Joey Hess


Return error from app and command actions. See #66.

This introduces a significant breaking change, and I don't expect it to
be merged off-hand. I do think that it's worth discussion, since it
seems like a very idiomatic choice in terms of how errors would be handled.
A similar backwards-incompatible change was introduced in e6e64114,
allowing the app's Run method to return an error.

I like this change a lot. Since it is not backwards compatible, I'd like to wrap it up with some other incompatible changes.


messages: Copy a markdown text from multiple messages.

This is a new feature for copying to clipboard a markdown
text from a set of selected messages. This is related with #13936
The user can use:

Ctrl + click, for selecting (or deselecting) an individual
message.
Shift + click, for selecting a range of messages from
the current selected message (blue board) to the message
that was clicked.

This change added:

Mouse events for select messages (click_handlers.js)
JS module for managing the actions (message_copy.js).
A new option in the message popover menu.
This include a template and its styles.
A new endpoint for getting the markdown text.
It is different from /messages (GET), because this is for a
list of messages and it includes additional info like:
message datetime, a sender silent mention
and the message.
A management command with the same functionality.
Test for backend actions.
Test for the new frontend module.
OpenAPI documentation for the new endpoint.

This is the new feature in action. Ctrl + click for selecting a message and Shift + click for selecting
the range between the current selected message (blue border) and the clicked message.

For the backend, I have tested:

Sending a list of message_id and getting the raw text.
Sendind invalid ids.
Sending an empty list.
Sending a list with unauthorized/private messages.
Sending a list to the endpoint /messages/markdown

For the frontend, I have used zjquery for testing the JS module message_copy,js.

Select and deselect a message.
Select multiple messages.
Clean UI.
Copy messages.

This is the zulip stream for this feature: https://chat.zulip.org/#narrow/stream/137-feedback/topic/copy.20paste

Hello @timabbott , is it possible rerun bionic-backend-python3.6? The fail is caused by something about a github user.

@afreydev yeah, one can rerun; though you could also just rebase and push again.


Authentication/Session cookies wiped after app restart

When receiving a "Set-Cookie" header from an API, the cookie is set correctly, but it is wiped/deleted when I close the app.
I only experienced this on IOS, as I'm only testing on IOS now.
Steps:

Call an API that have a "Set-cookie" header.
Make another call that requires that cookie set to check if it is set.
Close the app. (On IOS double tap the home button, and then swipe up the app)
Try to call the call that required the cookie set. It will fail.

Strange case:
The strange thing is that when the steroids CLI reloads the app after some changes, the cookies are still working.

Can you create a repro project (with an appropriate API) where this fails?


Success Icon Update

Update all components that use status to use the updated Success icon.

What's migration path for this? What's the scope?

Replace icon & status indicator component?
Add a new icon with a new name? point status indicator to them?

Frappe Goal:  plan for migration by EOS, will be implemented in Galao

Meeting on Tue

Meeting summary

Create 4 new icons, (SuccessCircleIcon,SuccessCircleSolidIcon,CheckmarkIcon, CheckmarkSolidIcon)
Deprecate 6 icons, (Success, SuccessSolid, SuccessTick, StepSuccessSolid, SuccessSmall, SuccessSmallSolid)
Add to library and publish (Figma only)
(Figma) manually update (10) components referencing status indicator
update patterns in Figma
update error, error-solid, warning warning-solid, info, info-solid
add/update help circle icon

In code

Add new icons
Deprecate icons
Replace / repoint Success icon in StatusIndicator, all components using them will get it. (not breaking change similar to #3540)
Replace icons in Checkbox / Switch (no longer need to switch between HD and rest)

anything missing?

@bhoppers2008 @pseys @origami-z
just to confirm, #7 above was just a 'while we're at it thought' because it will also be updated with a circle, but success icon update has no dependency on it. we just thought we could do it together and write a single blog explaining the rationale for all of this.
Steps 1-3 are what we're aiming for at the end of this sprint and would complete this ticket... we can create new tickets for the rest
Working file from meeting here

Frappe Goal: plan for migration by EOS, will be implemented in Galao

Unless we have extra capacity, the work is scheduled in next sprint.

add/update help circle icon

I don't know what it is. If this is a small change we can tackle together, let's create an issue scheduled together?

add/update help circle icon

@dplsek This was originally in https://github.com/jpmorganchase/salt-ds/issues/3646

Yeah, it looks like both the success icon update (this ticket) and the help icon update are included in that master icon list of improvements in ticket #3464. but i think we keep this ticket for the success icon update and we can address the help icon as part of the other ticket. @pseys will have to weigh in on when to make those other changes.

Dev effort for this is probably Small, so you may have additional week next sprint

The following tasks have been completed within a branch of the icon library.

[x] Create 4 new icons, (SuccessCircleIcon,SuccessCircleSolidIcon,CheckmarkIcon, CheckmarkSolidIcon)
[x] update error, error-solid, warning warning-solid, info, info-solid
[x] Deprecate 6 icons, (Success, SuccessSolid, SuccessTick, StepSuccessSolid, SuccessSmall, SuccessSmallSolid)

SuccessTickIcon has not been marked as deprecated in Figma as it's only available in code due to it being a duplicate icon.
Need to review the changes with @dplsek before merging

Galao Goal: add deprecation labels in Figma and publish for Galao Figma release
New Icons added by EOS
(close this ticket and move new tickets into sprint)

@pseys Galao question... deprecation labels are they done ?

@pseys Galao question... deprecation labels are they done ?

No, I'm still chasing Ben for confirmation of deprecation labels. He's OOO now so it'll have to wait until Monday. It shouldn't hold up development though as we can export the updated icons from the branch.

@bhoppers2008 ping

I've agreed an approach with @bhoppers2008 and have updated the Figma icon library accordingly. The following has been changed:

The name of icons to be deprecated have a deprecation notice added
The description of a deprecated icon is updated to provide more details
Instances of an icon have been changed to include the deprecation notice
An 'Updates' page has been added to Figma to highlight the icons that have changed as part of the release

I'm merging and publishing the library now.

success-circle and checkmark icons have been added.
error, warning, and info have been updated
success and step-success have been marked for deprecation

Outline and solid variants of the following will need to be added/updated to code

success-circle
checkmark
error
warning
info

The Figma icon library has been merged and published.

Dev effort for this is probably Small, so you may have additional week next sprint

Adjusted end sprint to Latte for dev effort

Latte Goal: review during sprint, whether we have dev capacity, may bump to Lungo

@pseys has been released in the Figma icon set.
@origami-z will need to add icon in code.
Needs to be updated in the affected components in both Figma and code as part of a new ticket which @pseys @origami-z can drive


Youtube Music App?

Can you please update to include the Youtube Music App?

I personally can't run this app since it tells me than I am in unsupported country or so.. Slovakia.
I checked code some days ago and it seems it reuses some code from YT app. (I saw BackgroundPlaybackService, I thought.)


Added remaining translations for MainMenu.xib

This was done using the old Localizable.strings files and a script to import them to the base MainMenu.strings file.

I also moved some of the views around on MainMenu.xib so they weren't overlapping each other. I hope it didn't break anything!


Add The University of Engineering & Technology, Mardan(UETM)

University Website: https://www.uetmardan.edu.pk/uetm/
Department Of Computer Software Engineering: https://www.uetmardan.edu.pk/uetm/Department/softwaredept

@taimurbahadur uetmardan.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!

Sure, I am trying again.

@taimurbahadur I updated and merged your request. Please start requesting your free licenses at https://www.jetbrains.com/shop/eform/students in about an hour. Thank you!


ibc/core/channel/v1beta1/channels/* endpoints give 'Not Implemented'

Testing out various endpoints based on the swagger docs.
Most queries work well, but the ibc/core/channel/v1beta1/channels/* collection of endpoints, GET http://h3:1317/ibc/core/channel/v1beta1/channels/ being one of them return:
{
    "code": 12,
    "message": "Not Implemented",
    "details": []
}

Do I have to change something in my app.toml / config.toml or something to enable these, or are they really not supported?
Use case: I want to try and find all the connected channels from other chains from/to Osmosis

The swagger has many errors, wrongs addresses, etc.

So, are there any ibc-related endpoints that do work?
On Thu, Mar 3, 2022 at 6:08 AM ko0f @.***> wrote:

The swagger has many errors, wrongs addresses, etc.
—
Reply to this email directly, view it on GitHub
https://github.com/osmosis-labs/osmosis/issues/881#issuecomment-1057671285,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADAAK2SIIM5JLJCWS3DKRLU6BCNHANCNFSM5OSFGI3Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>


User setPassword cause Object not found again

Why the field resetPasswordCode become empty on save but the password cause Object not found error
user.set('resetPasswordCode', '');
user.setPassword(request.params.password);
return user.save(null, { useMasterKey: true });

Anyone can help me or can point me how to fix this bug ?
Or what is the best way to update password user in cloud code ?
if i comment this line,  everything Is working perfectly.

This is due to a bug which like #346 will be fixed by #254.  The code is failing trying to delete the session for the user.  The object not found error appears to be from that (and the user change was saved, I believe.)  Will get #254 in soon and we should have a new release version today or tomorrow.

@gfosco Nice thanks !

@gfosco Bug still present in 2.0.8

@flessard  One Quick question. I used the parse-server-example and deployed to Heroku with the deploy button.
As far as i know, that the parse-server-example has not yet been updated to the latest version (2.0.8).
May i ask how are you updating your parse-server version ?

@polo2244 Try to change the version of parse-server in package.json to 2.0.8.

fix whit #430


[FR] Add support for Keil RTX

Hi,
it would be nice to have support for Keil's RTX RTOS, it's used in MBED OS which has a considerable user base.
Best Regards,
Augusto

Maybe will find a volunteer. I know nothing of RTX. To do this, you have to know the internals of the RTOS and available options. It is not just something we can do quickly or on a whim.
Maybe @thegecko could find a volunteer for us.

Maybe will find a volunteer. I know nothing of RTX. To do this, you have to know the internals of the RTOS and available options. It is not just something we can do quickly or on a whim.

No worries, I imagine it is non trivial to do. I just logged an issue here in the hope someone knowledgeable about it volunteers its time to implement it.

@jkrech Keil RTX support would be a great addition to this library, what do you think?

The essential knowledge should be all in here:
https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/RTOS2/RTX/RTX5.scvd
The SCVD format is explained here: https://arm-software.github.io/CMSIS-View/main/SCVD_Format.html
Not sure how easy it is to port.

It would be nice to have RTX5.
I'm not sure how to add it, even with .scvd files. How this extension even works?


In step2, when training with deepspeed, I have a problem with loss being 0; but when training on single gpu without deepspeed, I met 'RewardModel' object has no attribute 'backward'

Based on deepspeed-chat, I replaced some data and used the model in step two.
When training with deepspeed, I have a problem with loss being 0;  the loss is zero and the chosen_last_scores is nan

but when training on single gpu without deepspeed, I met follow problem

'RewardModel' object has no attribute 'backward'

Closing for now, please reopen if needed.


[DO NOT MERGE -- GHA TESTING] Fixed syntax error in actions, pushed to ci.yml for testing

Fixes #DSD-133
This PR does the following:

Fixes GHA release error

Front End Review:

[ ] View the example in Storybook

https://github.com/NYPL/nypl-design-system/pull/536/checks?check_run_id=2176261076
Checked the syntax by putting it into the lint script, hopefully it'll work ... ?


little improvement over too many "def"

just added a function which acts like a ternary with fallback option. Hence, less cluttered "def" variables
great to see that lib is supporting already SDK 27

Hi @yeomann, that's a nice cleanup. Thanks for submitting!   I have already sent bunch of pull req along react native package.


Datasources and connection pooling in presence of RDS proxy.

Describe the issue
For datasources documentation it is also good to mention about RDS proxy.
See Failover section of rds proxy docs

For applications that maintain their own connection pool, going through RDS Proxy means that most connections stay alive during failovers or other disruptions. Only connections that are in the middle of a transaction or SQL statement are canceled. RDS Proxy immediately accepts new connections. When the database writer is unavailable, RDS Proxy queues up incoming requests.
For applications that don't maintain their own connection pools, RDS Proxy offers faster connection rates and more open connections. It offloads the expensive overhead of frequent reconnects from the database. It does so by reusing database connections maintained in the RDS Proxy connection pool. This approach is particularly important for TLS connections, where setup costs are significant.

I also have follow up questions regarding this:

So does this mean, I should not create connection pool inside java application?
RDS proxy pool is internal inside vpc as I understand, so how will we create datasource in this case?

Please help me clarifying about rds proxy and is it safe to use any kind of connection pool like hikari or tomcat pool.
Links
https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/DataSource.md

I also have follow up questions regarding this:

So does this mean, I should not create connection pool inside java application?
RDS proxy pool is internal inside vpc as I understand, so how will we create datasource in this case?

Please help me clarifying about rds proxy and is it safe to use any kind of connection pool like hikari or tomcat pool.

To answer your questions:

You can create a connection pool inside the JAVA application. This is recommended as there is still overhead in creating connections.
I'm not sure what the issue is here. You should just create a datasource to the external IP of RDS Proxy.

Hi @swapy,
I wanted to check in to see if you had any more questions.
If there are no more updates on this ticket for the next three days, it will be closed. However, if you have any further questions or comments please feel free to create a new issue or to reopen this one.
Thank you!


With sshfs: Hang on running cmake in the FreeBSD vm (looking for pthread.h)

I've tried using freebsd-vm to build a C++ project, but get a hang when cmake is run on the project. A hanged build is here:
https://github.com/SimonKagstrom/kcov/runs/1627285829?check_suite_focus=true
I aborted it after 1h. The log says:
-- The C compiler identification is Clang 10.0.1
-- The CXX compiler identification is Clang 10.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
Error: The operation was canceled.

And then hangs. I believe cmake tries to compile a test program when looking for pthreads.
Unfortunately,  I know almost nothing about FreeBSD, so I have no idea why it might behave like this. The same project has Linux builds for ARM/ARM64/PPC which run in qemu, and these build in around 15 minutes or so.
The branch I ran this in is here:
https://github.com/SimonKagstrom/kcov/tree/issue-345-github-actions
Edit: I found that if I enable rsync, this problem goes away, so I guess it's sshfs that's the root cause.

Good.
BTW, you can use this project to debug:  https://github.com/vmactions/shell-freebsd

Thanks for the hint!
I'll close this issue, but perhaps a line should be added to the documentation about potential sshfs issues?