Project Status Page

With Protractor becoming LTS and given the partnership with HeroDevs to provide support past August 2023, we had discussed adding documentation to explain what the future holds.
Happy to collaborate on the messaging, style, or any other aspect! We just wanted to take a swing at it to help with the lift!
Screen shot of change:

Note: This PR builds on #5556 (as it was required to run the site for review)

Given the website is currently deployed off the 5.4 branch, I migrated the work to #5558. All the comments should be addressed, but feel free to raise any issue there.


Error opening terminal: rxvt-unicode-256color

I'm using Debian stretch as my host OS.
I've just installed mutt:
$ sudo snap install mutt

When I try to open it, I get the following error message:
$ which mutt
/snap/bin/mutt

$ mutt
Error opening terminal: rxvt-unicode-256color.

It starts OK when I run mutt as the following:
$ TERM=xterm mutt

However, I'd like to have a way to use the actual terminfo.

Thanks for the bug report. I did a little research. It looks like the terminfo file could be loaded if placed in the home directory of the mutt snap which is ~/snap/mutt/common. I guess this from this blog post. http://alemani.com/urxvt-unknown-terminal-type-with-ssh/
Worth a try?

On Wed, May 15, 2019 at 03:26:05AM -0700, Alan Pope wrote:

Thanks for the bug report. I did a little research. It looks like the terminfo file could be loaded if placed in the home directory of the mutt snap which is ~/snap/mutt/common. I guess this from this blog post. http://alemani.com/urxvt-unknown-terminal-type-with-ssh/
Worth a try?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/snapcrafters/mutt/issues/2#issuecomment-492598275

I've tried to symlinc /usr/share/terminfo to
$HOME/snap/mutt/{common,current}/.terminfo but had no luck running
mutt from my terminal emulator (rxvt-unicode-256color).
I also tried to strace /snap/bin/mutt but there were no mentions of
any terminfo lookups.

Oh, I've just realized that symlinking won't work because the snap has no access to the host filesystem. When I copied the /usr/share/terminfo directory mutt no longer complains on my terminal.

Ok, good to know. Do we need to bundle the terminfo files inside the snap, I wonder?

Fixed in https://github.com/snapcrafters/mutt/commit/f5754bb60ccba4dcc168a5b0f5a4917e96dc3115


Fix clear alias bug

Pull Request Test Coverage Report for Build 214

7 of 7 (100.0%) changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 77.178%

Totals

Change from base Build 212:
0.06%

Covered Lines:
1887

Relevant Lines:
2445

💛  - Coveralls


systemd: setup the tcmu-runner in multi-user.target

This will enable the tcmu-runner service booted when the system
is up.
More detail please see:
https://www.freedesktop.org/software/systemd/man/bootup.html#
Signed-off-by: Xiubo Li<EMAIL_ADDRESS>

@lxbsz I got the intention behind you adding 'multi-user.target'. But what I'm trying to highlight is, the precedence of missing pieces here or the chain.
Say, we had some blocks on the node, and for some reason the node crashed followed by a reboot. If 'multi-user.target' starts tcmu-runner at its run level, before even network comes up, and even storage comes up, it is definitely a problem.
Refer: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Targets.html

Systemd targets are represented by target units. Target units end with the .target file extension and their only purpose is to group together other systemd units through a chain of dependencies. For example, the graphical.target unit, which is used to start a graphical session, starts system services such as the GNOME Display Manager (gdm.service) or Accounts Service (accounts-daemon.service) and also activates the multi-user.target unit. Similarly, the multi-user.target unit starts other essential system services such as NetworkManager (NetworkManager.service) or D-Bus (dbus.service) and activates another target unit named basic.target.

So I fell, if we are taking this patch in, we should also add
After=network.target glusterd.service $(ceph_service)
For me it is more meaning full to add storage units as dependencies to tcmu-runner in the tcmu-runner unit because ceph and gluster are reasonably a layer below tcmu-runner. Because tcmu-runner needs storage before itself gets up, it is important that we defend on the precedence in the runner unit.

@pkalever
Yes, you are right. I have fix and test this and your #296 PR.

@lxbsz Thanks!

@bgly
For file_optical and qcow do you need
After=sys-kernel-config.mount local-fs.target
in the systemd runner unit file or is that guaranteed to be done before multiusr.arget? I thought in one doc it said it would be, but the lio target.service has them.


"Retrieved at" data does not render with some translations

Doesn't work with Russian (Русский) and Serbian (Српски)

@plotka works for me. Can you check it again?

Yeah seems to work now.


SplitPane splitter misbehave

If you have vertical SplitPane and then calls splitPane.setVertical(false); the splitter drawable is not updated appropriately.

You will have to update the style after changing the orientation of the SplitPane. SplitPane doesn't retain a reference to the skin (if one was provided) nor would it know which style to choose if it did.


Agent

Could you please provide a more descriptive title and add a detailed description for this pull request?


5b/6b encoder

Implement a 5b/6b encoder
https://en.wikipedia.org/wiki/8b/10b_encoding#5b/6b_code_(abcdei)

Decided to skip this and just go after the 8b/10b encoder


Cut releases for Node 8.5

I see that some of the changelog content here is not arriving via scriv. I did not check whether what you wrote covers all PRs that were missing their changelog fragments.

Thanks for pointing that out, I updated the PR description to mention that.


Interfaces for MudBlazor classes to facilitate unit testing

Feature request type
Other
Component name
All of them! MudTabs in particular.
Is your feature request related to a problem?
It's impossible to fully unit-test my code, which has dependencies on MudBlazor components. I can't create instances of these components in code (they throw exceptions in internal code which I can't see/debug), and I can't create dynamic mocks, because they don't use interfaces.
Describe the solution you'd like
Put every component behind an interface that describes it's basic methods. This will allow us to inject mocks and unit-test our code precisely.
For example, change the MudTabs class to implement an interface, IMudTabs, that contains all the public methods that MudTabs exposes.
Have you seen this feature anywhere else?
Seen it in a lot of proprietary code.
Describe alternatives you've considered

Extracting and isolating MudBlazor code as much as possible
Wrapping MudBlazor component classes in my own classes that implement the interface myself (painful and requires constant changes when I upgrade MudBlazor)
Accepting low rates of unit-testability and coverage (eew, no)

Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It's impossible to fully unit-test my code, which has dependencies on MudBlazor components. I can't create instances of these components in code

Can you show a code example? Are you using bUnit to create the instance? If not then it explain the exceptions, since you are not suppose to create component instance without an UI context.

Seen it in a lot of proprietary code.

I have not seen this in Radzen, Blazorise, Fluent UI (MS) or any other Blazor component library.

I can't create dynamic mocks

You are not really suppose to mock UI components, especially 3rd library ones. testing Blazor components comes down that you form UI, invoke interactions such as button button click (as example) and you compare if you get the expected result. The only thing that requires mocking is JS functions.

Hard to give an example since it's all proprietary code and not open-source. We have something like this:

FooBarDialog.razor is a pop-up window, contains a MudDialog tag (and some other nested controls)
It inherits from FooBarDialogBase, which is a plain ol' C# class that extends Component
FoobarDialogBase contains things like [Parameter] and [CascadingParameter] (like the docs), an instance of MuddialogInstance that's injected, and references to an EditContext and some other stuff

One of the easiest methods to identify as not testable is the ValidateAndClose method, which looks like this;
if (this.editContext.Validate())
{
    MudDialog.Close(DialogResult.OK(...));
}

Of course, i would want to write two unit-test cases:

If Validate returns true, Close is invoked on MudDialog.
If Validate returns false, Close is not invoked.

Part of the problem is that MudDialogInstance extends MudComponentBase, and therefore, cannot be easily mocked by dynamic mock frameworks such as Moq. If I create an instance via new Mock<MudDialogInstance>() or new MudDialogInstance(), I end up getting exceptions in MudBlazor code.
This is a microcosm of the kind of issues I've run into with testing. If MudDialogInstance implemented IMudDialogInstance, which contains some or all public methods (e.g. Cancel, CancelAll, Close), it would be trivial to create a mock and verify the appropriate method is called.
I know that this kind of unit test is a white-box, and therefore not very valuable; however, between our code-coverage policy and unit-testing policy, it's not an option for me to not write a test for this.

I do agree about the Dialog point, and that there should be a possibility to easily test whatever the dialog was closed etc, and we had a discussion about this in discord where we agreed to overhaul the dialogs in v8 (there is no ETA tho).
I just don't really agree to have interface for each component.

Hello,
I have the same issue, I see that no answer to fix the problem has been given.
So what is the option for bUnit testing a MudDialog ?
I might do things like a null check :
        protected void Close()         {             MudDialog**?**.Close(DialogResult.Ok());         }
Or changing the accessibility of the MudDialog, in order to be able to mock it :
protected MudDialogInstance MudDialog


Update to ESLint 0.10.0

0.10.0 has been released: http://eslint.org/blog/2014/11/eslint-0.10.0-released!
Please could you update the eslint dependency to use this version?

+1

Closing this as it's now out of date, see #19.


feat(cli): add qps based scaling

Awaiting @ccding to land backend readiness.

re-open when backend is ready


DrawText method should accept a Rect

I'm trying to ween myself off of WPF and have noticed that when rendering text, I can't render to a fixed set of bounds (which I would expect to then wrap the text within those bounds and eventually auto-ellipsis).
Ideally there'd be a MeasureText override that allows bounds to be passed in so that text may be measured in the same way.

This does not seem like something Skia supports, please file that request upstream with Google, and we can bind the API if they make it available.


[WIP] Add gke option

Fixes #30

I signed it!

@dazuma @hxiong388 I have finished adding the tests and doing some cleanup. Feel free to give the GKE implementation a whirl to ensure it's working.

Any update on this ❔


macOS: Gutter TestExplorer Ctrl-Click does not open contextual menu

Hiya! Originally filed in https://github.com/jest-community/vscode-jest/issues/1010, and was directed to recreate hither.

Does this issue occur when all extensions are disabled?: N/A

VS Code Version: Version: 1.76.2
OS Version: macOS 13.2.1

Steps to Reproduce:

In a test file, Ctrl-click a test icon in the TestExplorer gutter while using e.g. the vscode-jest extension.
Expect a contextual menu to appear (on macOS, Ctrl-click is equivalent to a right click)
Instead, a left click is interpreted

Duplicates https://github.com/microsoft/vscode/issues/176492


Add a "Search" or "Apply" button to the text entry field

Summary
Add a "Search" or "Apply" button to submit the search to the backend.
This is so that the search and filters are only applied to the main dataset list when this is pressed, or the enter key is pressed on the open search text.
This issue has been created from backend issue #608

Closed via #1426


[Fix #3847] Introduce node extensions

First of all, sorry for the very large commit. I intended at first, to just do a small part of the node extensions, but whichever end I pulled was attached to some tangled mess down the line, so this change contains a large amount of cop cleanup.
The upside of this is that I has a chance to see whether this approach actually resulted in more understandable code, and I think in a lot of cases, the benefits clearly speak for themselves.
With this approach we can eliminate those long predicate strings of arcane assertions about the node parts, and put them into meaningful methods on the nodes themselves. Anyone with a reasonably powerful text editor can now easily find a method to iterate over the conditions of a when node.
Now. On to some things to note about this change:
Some Rearranging of the AST Related Parts
The RuboCop namespace was getting quite crowded, and I wanted to collect all the parts relating to the AST in one place, and so I created an AST namespace, and moved Node (and all its extensions) there. I also changed the file name (to node.rb) for parity with the class inside.
Performance and Approach to Decorating
The first approach I tried was to mix in a module into the eigenclass of each node. Needless to say, this wasn't very performant. (There are a lot (!) of nodes.) It resulted in about a 10% overhead.
After thinking a bit about it, I reverted to basics, and just made subclasses of Node with good old inheritance. An ArrayNode is, after all, a type of Node.
Using this approach rendered the following results:
master                         feature/node-extensions
------------------------------------------------------
real      0m51.628s  real      0m51.599s
user      0m50.544s  user      0m50.396s
sys       0m0.655s   sys       0m0.692s

Measured back-to-back on my MacBook Pro (Ruby 2.4.0) with a cold cache and power plugged in.

Completeness
Not all nodes have their own class yet. There's definitely a lot that can be improved by introducing them. (Some good candidates would be send and pair.) However, I also did not want to go on forever before making the first PR. 😅
Tests and Documentation
I have documented all the node extensions using YARD, and also added test coverage for all of them. I've been diligent about running the whole test suite and RuboCop itself throughout, and I have fairly high confidence in the code.
I have also been rebasing on top of current master frequently. (No one likes huge merge conflicts. 😀 )
Breakage for 3rd Parties
This might possibly break some cops for @backus, if he uses the any of the utility methods found in Node that were removed. (There were very few of them.)

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Used the same coding conventions as the rest of the project.
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[X] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] All tests are passing.
[X] The new code doesn't generate RuboCop offenses.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[ ] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

@bbatsov: Pushing your suggestion seems to have flushed some cache (?) in Travis, so CI is now passing. 😅

@bbatsov: Yeah. I'm all too aware of the pain of reviewing big PRs. Sorry about that. 😬

This might possibly break some cops for @backus, if he uses the any of the utility methods found in Node that were removed. (There were very few of them.)

Thanks for the heads up.


CLI invalid subcommand returns status code zero

@rabbah commented on Thu Aug 03 2017
Reported by @ptitzler.
The error status is properly reported if the first command name is invalid. However, if an invalid subcommand is specified the returned status code is zero instead of non-zero.
$ wsk pa
Error: unknown command "pa" for "wsk"
Did you mean this?
    package
    api
Run 'wsk --help' for usage.
unknown command "pa" for "wsk"
Did you mean this?
    package
    api
$ echo $?
1
$ wsk package xxx
work with packages
Usage:
  wsk package [command]
Available Commands:
  bind        bind parameters to a package
  create      create a new package
  update      update an existing package, or create a package if it does not exist
  get         get package
  delete      delete package
  list        list all packages
  refresh     refresh package bindings
Global Flags:
      --apihost HOST         whisk API HOST
      --apiversion VERSION   whisk API VERSION
  -u, --auth KEY             authorization KEY
      --cert string          client cert
  -d, --debug                debug level output
  -i, --insecure             bypass certificate checking
      --key string           client key
  -v, --verbose              verbose output
Use "wsk package [command] --help" for more information about a command.
$ echo $?
0

at least in this case, it's fixed.


Navbar Oversizing on Mobile – Requires Responsive Adjustment

Description
On mobile devices, the navbar displays as excessively large, taking up a disproportionate amount of screen space and reducing usability. This issue likely arises from fixed dimensions or lack of responsive CSS properties, causing elements like the logo and menu icon to scale inappropriately. To enhance mobile user experience, the navbar needs adjustments to ensure proper scaling and alignment within smaller viewports. Implementing responsive CSS, such as setting maximum heights for elements and utilizing viewport-relative units, will resolve the issue and create a more user-friendly design on mobile devices.
Steps to Reproduce
Open the website on a mobile device or in a mobile view (e.g., using developer tools to simulate a screen width of 768px or less).
Observe the navbar area, including the logo, menu icon, and any padding/margins around them.
Note how much space the navbar occupies compared to the content below it.
Expected Behavior
The navbar should adjust its height and element sizes to fit proportionally within the mobile viewport.
The logo, menu icon, and any text should scale down appropriately to avoid taking up excessive screen space.
Users should be able to see more of the main content without needing to scroll past an oversized navbar.
Actual Behavior
The navbar appears oversized on mobile screens, occupying too much vertical space.
The logo and menu icon do not scale down adequately, leading to an imbalanced layout.
This affects the user experience by limiting the visible area for main content upon loading.
Screenshots

Additional Information
The issue may be due to fixed dimensions set for the navbar, logo, or menu icon in CSS, which prevents the navbar from adapting to smaller screens.
Implementing responsive CSS with relative units like vw, vh, or % can help scale the navbar correctly.
Testing on various mobile screen sizes is recommended to ensure the navbar is consistently responsive across devices.
What browser are you seeing the problem on?

[ ] Firefox
[X] Chrome
[ ] Safari
[ ] Microsoft Edge

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

I would like to work on this please assign me this issue.

Hi, I have seen many navbar and header based issues, and i have mentioned it before for contributors to not create issues regarding navbar and there should be no more navbar issues, so i have closed this issue, if you have any queries, you can join discord server for further updates and communication.
we are not looking for navbar and header updates for now, as it was done and changes many times before. And for home pages also.
please understand.
And one more thing this project is going to be inactive from today night including me. Reason being due to some of my works.

ok

I understand but if I allow then I will solve this within 1 hour its help me a lot

@Ankul8471 can you fix this within an hour.
this will be the last issue that i am gonna assign you.
will this be okay for you.

this will be the last issue that i am gonna assign you.

ok sir

thank you sir i solve within 1 hours  and trying to solve as soon as possible

@Ankul8471 assigning this issue to you.
Make sure to complete this fast.
this will be the last issue i am assigning you.
As i have said early this project is going to be inactive from today night including me. Reason being due to some of my works.


Fix LoadAddr big offset fallback

I accidentially used addr = offset - fp instead of addr = fp - offset.

Thanks! I'll rebase / fix conflicts.

Actually, since we just merged arm64 to master, could you recreate this as a PR in the main repo?

Done


Support for LEF/DEF

Please add a comment if you need/want LEF/DEF support so we can prioritize asks.

shouldn't that issue be on the main repo? https://github.com/google-research/circuit_training

opened on the wrong repo/fork


[disasters] flask endpoint updates

take a date range instead of a single date when fetching event data
filter out values that are missing the unit for severity

thanks for the review!


Add required Node.js version to package.json and .nvmrc

To prevent errors during project installation (npm run init), the minimum Node.js version should be defined @ .nvmrc file for switching to the required Node.js version.

Closed, duplicate to https://github.com/DeFiCh/app/pull/357

Closed, duplicate to https://github.com/DeFiCh/app/pull/357


Fix SCSS watch mode for 11ty sites

There is something wrong with the build where src/js/components watch mode doesn't work.
Workaround is to do an edit on any file in src/css/sass/index.scss

Looks like 11ty-build-system has been installed on all our remaining sites. Closing.


Add method to auto-orient and DCT decode in one, to save end-users having to write their own.

The Problem
Loading an image to resize it with the correct orientation is quite complicated. There's two choices:

Use SkImage.FromEncodedData, which handles the auto-orientation, but loads the full-res image, which can be time-consuming for large images.
Use the Codec to decode the nearest-size instance of the image, and then manually auto-orient it - per the code here.

I've found that for a 7MB 2952x1944 pixel image, with a target resolution for the thumbnail of just under 800x600, doing the first approach takes an average of about 900ms to load the correctly-oriented image, whereas doing the second approach takes around 150ms (these timings are on my M1 MacBook Pro, so ymmv); so it's nearly an order of magnitude faster to use the codec+orient method, despite being about 200 lines of code instead of two.
The solution
Add a method to SkiaSharp something like LoadOrientedAndScaled( string fileName, int desiredHeight, int desiredWidth )
which wraps up all of the load, decode, and orientation code internally so that callers don't have to implement it themselves, but can take advantage of the performance improvements - as most developers/end users of SkiaSharp are likely to be loading down-scaled images, correctly oriented, for their apps.
Additional context
@Ziriax Described this much better than me here and included some information about the auto-orientation implementation, along with some recommendations on how to use SIMD in-place operations so this could be even faster.

I would just like to add a good ole AOL 'me too.'  Or more like me many, because we have a project running on PI and an internal method to utilize orientation, and scale efficiently would be very welcome.  I'm also seeing that this issue has no commentary in the time since added, and I'm hoping this bump, and knowing that it'd be a worthwhile addition, will gather some interest.
thanks!


formatDateTimeInJodaSyntax support non-const format string

Current priority is low.

Workaround: fall back when format argument is not literal.


`statistics(count)' does not work

Contrary to the help file syntax, using statistics(count) returns an error
count does not correspond to any stat invalid syntax
Using n  or N  instead of count  works as intended, nonetheless.

Thanks for the report. Fixed with https://github.com/matthieugomez/sumup.ado/commit/d627cb5163ab89237577473320e71345e5340bdb


Load secretjs from cdn

This is a feature request. secret.js adds a lot to bundle file size when imported (over 1 MB). It would be great if you could include min.js release versions to the repo, so secret.js can be loaded from a CDN instead of bundling and downloading from every website that uses it. https://www.jsdelivr.com/?docs=gh . Thanks.

+1 for this - in addition to the size, this would also make it much easier for Rust/WASM frontend apps that use trunk.rs or similar, without a JS bundle step, to just include it in a

I see, the only issue is size, the bundle itself is available on CDN e.g<EMAIL_ADDRESS>

Yeah, browser.js is already minified. The size comes from a lot of the dependencies/protobufs not getting efficiently shaken since we're building the library for compatibility over efficiency.
If you want to give it a spin, I compiled a couple of more efficient versions which may or may not work:
https://engfilestorage.blob.core.windows.net/filestorage/browser.js - full secret.js
https://engfilestorage.blob.core.windows.net/filestorage/light.js - contains a SecretNetworkClient with only the bank, compute and auth modules


Request for textured mesh.obj files

Hi, thanks for the awesome dataset and simulator!
I've noticed that the mesh.obj files in the released Gibson dataset used for GibsonEnv don't have texture information in them (only geometry). However, in your main paper there're several BEV / overview pictures of the 3D model that are textured. Is there a possibility that you release a version of mesh.obj with texture (while remaining the same vertices and faces in the original version)?

Could you please confirm if the data path for the mesh.obj file should be "${OBJ_PATH}/${scene}/mesh.obj"? I encountered issues while processing data from the Gibson and 3DSceneGraph datasets using the following command: tools/gen_gibson_semantics.sh /path/to/3DSceneGraph_medium/automated_graph /path/to/GibsonDataset /path/to/output.
I suspect that I might not have downloaded the mesh.obj data correctly.
The gen_gibson_semantics.sh script is as follows:
`#!/bin/bash
Copyright (c) Meta Platforms, Inc. and its affiliates.
This source code is licensed under the MIT license found in the
LICENSE file in the root directory of this source tree.
gen_gibson_semantics.sh - generate semantic scene from .npz data from
https://3dscenegraph.stanford.edu/
NPZ_PATH=$1
OBJ_PATH=$2
OUT_PATH=$3
TOOLS_DIR=$(dirname "$0")
if [ $# -ne 3 ]; then
echo "Usage: $0 NPZ_PATH OBJ_PATH OUT_PATH"
exit 1
fi
echo $OBJ_PATH
for npz in "${NPZ_PATH}"/*.npz; do
filename=$(basename "${npz}")
tmp=${filename#3DSceneGraph_}
scene=${tmp%.npz}
echo "${scene}"
"${TOOLS_DIR}"/npz2ids.py "${npz}" "${OUT_PATH}"/"${scene}".ids
"${TOOLS_DIR}"/npz2scn.py "${npz}" "${OUT_PATH}"/"${scene}".scn
"${TOOLS_DIR}"/../build/utils/datatool/Datatool create_gibson_semantic_mesh "${OBJ_PATH}"/"${scene}"/mesh.obj "${OUT_PATH}"/"${scene}".ids "${OUT_PATH}"/"${scene}"_semantic.ply
done
The error I encountered is as follows:Adairsville
wrote 2528538 bytes
wrote 33569 bytes
ESP_CHECK failed: esp::logging::LoggingContext: No current logging context.
tools/gen_gibson_semantics.sh: line 21: 2931262 Aborted (core dumped) "${TOOLS_DIR}"/../build/utils/datatool/Datatool create_gibson_semantic_mesh "${OBJ_PATH}"/"${scene}"/mesh.obj "${OUT_PATH}"/"${scene}".ids "${OUT_PATH}"/"${scene}"_semantic.ply`
Could you please provide a solution to this issue?


Add slash in homepage of 77 Casks

Update homepage for 77 Casks from the list here.
The only ones remaining from the above list are the ones with the warnings domain and redirect - those are much harder (mainly because I cannot think of a clever way to use sed!) and will (possibly) require comments added/edited above the url stanza.
Ping @victorpopkov.

Thank you, @miccal. The lists are updated.


release: Adapt for ciao-cli instance list change

ciao-cli instance list no longer show all instances details, we
need to call ciao-cli instance list -detail instead.
Signed-off-by: Samuel Ortiz<EMAIL_ADDRESS>

Coverage increased (+0.007%) to 62.676% when pulling e92ffd62f8755e960f0953082e0dbe504cb7be40 on sameo/topic/bat into 58559fb74dbed4c6b13872651ca4f39b14924cc6 on master.


mediasoup compile error after 'yarn' or 'npm install' command on develop branch.

Following error occurring because there is no branch named '3.7.1-build-with-system-openssl'
...
-cpp/abseil-cpp/absl/synchronization/mutex.o
CXX(target) /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/per_thread_sem.o
CXX(target) /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/create_thread_identity.o
CXX(target) /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/waiter.o
CXX(target) /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.o
CXX(target) /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/barrier.o
../deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.cc: In member function ‘void absl::synchronization_internal::GraphCycles::RemoveNode(void*)’:
../deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.cc:450:26: error: ‘numeric_limits’ is not a member of ‘std’
450 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
|                          ^~~~~~~~~~~~~~
../deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.cc:450:49: error: expected primary-expression before ‘>’ token
450 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
|                                                 ^
../deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.cc:450:52: error: ‘::max’ has not been declared; did you mean ‘std::max’?
450 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
|                                                    ^~~
|                                                    std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
from ../deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.cc:38:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
|     ^~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
make[1]: *** [deps/libwebrtc/deps/abseil-cpp/abseil.target.mk:152: /home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out/Release/obj.target/abseil/deps/libwebrtc/deps/abseil-cpp/abseil-cpp/absl/synchronization/internal/graphcycles.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker/out'
make: *** [Makefile:25: default] Error 2
make: Leaving directory '/home/hakan/Desktop/edumeet/server/node_modules/mediasoup/worker'

it's not a branch problem, sory.
But, there is a compilation issue.
No error when tag removed.

Try with gcc version 10.3.0. The problem seems related to some changes in gcc compiler (http://gcc.gnu.org/gcc-11/porting_to.html).

Try with gcc version 10. The problem seems related to some changes in gcc compiler (http://gcc.gnu.org/gcc-11/porting_to.html).

Confirmed, thanks...


Bootstrap Issue On Readhat EC2 Instance

Hi while doing the bootstrap on Redhat Ec2 instance getting below error.
Attached bootstrap script too.
Connecting to ec2-18-188-36-213.us-east-2.compute.amazonaws.com
#<Thread:0x000000000a061b98@C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:471 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
5: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in block in create_with_logging_context'         4: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/net-ssh-multi-1.2.1/lib/net/ssh/multi/session_actions.rb:36:in block (2 levels) in sessions'
3: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/net-ssh-multi-1.2.1/lib/net/ssh/multi/server.rb:138:in session'         2: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/net-ssh-multi-1.2.1/lib/net/ssh/multi/session.rb:488:in next_session'
1: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/net-ssh-multi-1.2.1/lib/net/ssh/multi/server.rb:182:in new_session' C:/opscode/chefdk/embedded/lib/ruby/gems/2.5.0/gems/net-ssh-multi-1.2.1/lib/net/ssh/multi/server.rb:194:in rescue in new_session': Authentication failed for user ec2-user<EMAIL_ADDRESS>(Net::SSH::AuthenticationFailed)
Failed to authenticate ec2-user - trying password auth
Enter your password:
knife bootstrap ec2-18-188-36-213.us-east-2.compute.amazonaws.com -x ec2-user -i C:\Users\sar\Desktop\My keys\MyKey.pem --sudo -N Node01

@abdulrahimdba
Refer issue no #286
Your key path should be in quotes.
Regards
Arun Kumar


hand written IstioEndpoint deepcopy

fix #52446
benchmark result:
goos: darwin
goarch: amd64
pkg: istio.io/istio/pilot/pkg/model
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
                    │    old.txt     │               new.txt               │
                    │     sec/op     │    sec/op     vs base               │
EndpointDeepCopy-12   14235.5n ± 16%   271.2n ± 10%  -98.10% (p=0.002 n=6)

                    │   old.txt   │              new.txt              │
                    │    B/op     │    B/op     vs base               │
EndpointDeepCopy-12   6688.0 ± 0%   624.0 ± 0%  -90.67% (p=0.002 n=6)

                    │   old.txt    │              new.txt              │
                    │  allocs/op   │ allocs/op   vs base               │
EndpointDeepCopy-12   189.000 ± 0%   4.000 ± 0%  -97.88% (p=0.002 n=6)

should we use // +k8s:deepcopy-gen=true go generate it instead of hand writting?

@wulianglongrd: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
22c8c4024a5fa3d1c4addb9d6ad9717af13a5e71
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

should we use // +k8s:deepcopy-gen=true to generate it instead of hand writting?

I am not familiar with this usage, can it be used for any structure? In istio, it is common to write DeepCopy by hand.


Added configuration to fix #108

Added a --path parameter to add a prefix to the url to serve the static assets

Hey @mgoffan,
thanks for the PR. The thing is that it doesn't work for me. I'm running following command:
./bin/frontail --path /test  /var/log/system.log

Then open the browser and see

@mthenw With '--path' specified, frontail won't work without proxying the resources and socket connections.
The main problem is with /socket.io/socket.io.js
In your test you are serving socket.io.js at localhost:9001/socket.io/socket.io.js, requesting at localhost:9001/test/socket.io/socket.io.js and get 404 because there is no such file.
But when you use frontail with nginx, you serve this file at localhost:9001/socket.io/socket.io.js, and when it is requested at localhost:80/test/socket.io/socket.io.js, nginx proxies it to 9001/.. and frontail UI gets it.
It was the main issue to make socket.io.js avaliable at root, but to send socket requests to folder.

@koss789 yeah, thanks for an explanation. I think we need to make both scenarios working before merging. Otherwise, it will be confusing and look like a broken thing.

@mthenw I just pushed a fix for socket.io. It should be working alright now.

@mgoffan thanks for contribution. I've made few more changes and merged it as https://github.com/mthenw/frontail/pull/120.


Token URL in docs example is not correct

The example URL provided in the POST token call appears invalid. I would expect the URL to be documented as follows:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token

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

ID: 836ec1be-7675-d0f1-c861-0520dc3ea01e
Version Independent ID: c6a2a6f6-57fd-20ae-36f7-b6db1987ebe5
Content: Request an access token - Azure Active Directory B2C
Content Source: articles/active-directory-b2c/access-tokens.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@frankkilcommins thanks! I made a pull request to update this https://github.com/MicrosoftDocs/azure-docs-pr/pull/118639


Avoid using a webpack builded file for static build

By using webpack on the fly, we can now pre-render page during
development. And static build is faster.
Will close #23, close #92, close #100, close #106
I stil have 2 things to fix (some tests broken + css file link in static html)
@thangngoc89 you can already take a look and try if you want :)

:+1
Omg.  It's huge

@MoOx there is some bug that prevent react bootstrap on client side:
Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).warning @ (program):45
<IP_ADDRESS>/:46 Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.

Repro:

Fresh clone
npm install
cd docs && npm install
npm i -D raw-loader react-svg-inline
npm install ../
npm start

I have probably forget some deps since static build "works for me" :)
Will double check and update PR.

npm prune to remove unlisted deps

npm pruned, branch rebased, commit updated/amended.
Use "npm test" instead of your combo (npm test use a symlink trick to make the things works properly, like in "real word", when statinamic is at the same level as other deps).

You forgot to remove emitting collection.json in md-collection-loader

Good catch.
I will remove it.
I think I will also add some "funtional" testing using the docs/dist folder. It's not easy to handle a full coverage for this kind of project :)
I have to go for today and will handle that this evening or tomorrow.

Thank you for all of your hard works :+1: . Can't wait until this PR get merged

No HMR for React components ?

It seems that I have introduced a bug. I will review that.

You removed babel-preset-react-hmre from source code

I will add it back in boilerplate. That's because I add to remove it from global config.

I just removed collection.json and fixed hmre.

For npm I don't have anything magic. npm@3 is slow. Did you try latest 3.7.1 which is supposed to be faster?

 This is very annoying. The issue "Cannot read property 'start' of undefined" is still here on another part of the code...

Lock it to 6.4.5 ?

Not a solution. Ok this bug just have been fixed in babel-plugin-webpack-loaders.

Ha. That's why it's faliing on others project of mine

Just use "babel-plugin-webpack-loaders": "^0.2.2".

This may be not related to this PR, but can you add some sourcemap ? It makes debugging much better

No idea how to add that :)

https://webpack.github.io/docs/configuration.html#devtool
tl;dr
Add this to webpack config on development:
devtool: "cheap-module-eval-source-map"

Feel free to make a PR for devtools.


How to know when a modifier is pressed on KeyDown event? WinUI3 repview4

In preview3 of WinUI3 I was using the following code to know whether the Shift key was pressed while listening to the KeyDown event
var cw = CoreWindow.GetForCurrentThread();
return cw.GetAsyncKeyState(VirtualKey.Shift) != CoreVirtualKeyStates.None;

This stopped working on preview4 (for Desktop)
The KeyRoutedEventArgs doesn't come with a KeyModifiers property as the PointerRoutedEventArgs.
How should we detect shift or control pressed in KeyDown event?

You should use the ### Microsoft.UI.Input.KeyboardInput.GetKeyStateForCurrentThread
https://docs.microsoft.com/en-us/windows/winui/api/microsoft.ui.input.keyboardinput?view=winui-3.0-preview

That worked! Thanks.
Is it coherent the PointerRoutedEventArgs comes with the KeyModifiers property but KeyDown doesn't have it? What method should I use to get the modifiers in pointer events. Is there any difference between using the routed event property or the KeyboardInput one?


eventFilter incorrectly affects update events

What did you do?

create a changefeed with config

[filter]
rules = ['test.*']
[[filter.event-filters]]
matcher = ['test.t']
ignore-event = ["delete"] # filter out delete event of table `test.t`

run sql

create table t (a int primary key);
insert into t values (1),(2);
update t set a = 3 where a = 1;

What did you expect to see?
data should be equivalent
What did you see instead?
The following tables contains inconsistent data

+------------+---------+--------------------+----------------+---------+-----------+
|   TABLE    | RESULT  | STRUCTURE EQUALITY | DATA DIFF ROWS | UPCOUNT | DOWNCOUNT |
+------------+---------+--------------------+----------------+---------+-----------+
| `test`.`t` | succeed | true               | +0/-1          |       2 |         3 |
+------------+---------+--------------------+----------------+---------+-----------+

fix sql:
DELETE FROM `test`.`t` WHERE `a` = 1 LIMIT 1;

Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)

Upstream TiKV version (execute tikv-server --version):
(paste TiKV version here)

TiCDC version (execute cdc version):
master

The reason is that update event will be splited into delete event and insert event, and delete event will be ignored.

/severity major

This behavior is mentioned in the official doc: https://arc.net/l/quote/vmuihkck
cc @wk989898 @fubinzh

close with https://github.com/pingcap/docs-cn/pull/18865


HKEY_LOCAL_MACHINE \SYSTEM\ControlSet001\Services\WindowsAzureTelemetryService is no longer there

[Hello Team,
as per the latest VM agent updates the Telemetry service is no longer used
and thus the registry key should not be there
HKEY_LOCAL_MACHINE \SYSTEM\ControlSet001\Services\WindowsAzureTelemetryServic
please update the documents ]

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

ID: dd23dcce-4726-0745-2349-9cf3a17edb3e
Version Independent ID: fffbc417-129a-9c4d-de83-046b328a471d
Content: Install the Azure VM Agent in offline mode
Content Source: articles/virtual-machines/troubleshooting/install-vm-agent-offline.md
Service: virtual-machines-windows
GitHub Login: @genlin
Microsoft Alias: genli

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@haidersabeeh Thanks for the feedback. I will remove it from the article.


Actions with the same export name will be overwritten

For example, I have a projects action in core module for following/commenting projects, I also have a projects action in admin module for adding/editing projects
However, if I export these actions with same name from two different modules, one of them will be overwritten. Probably the better way is to merge them, not to overwrite one of them.
If this is considered as a bug, I can submit a PR to fix it.

@lhz516 Modules should be independent of each other so as action methods.
We need to have module namespacing for these methods while exporting them, so that we will eliminate overwriting existing action method from other module.
May be like this:
import action from admin.js; const admin = { action }; export default admin;

@HaareeKrishna Okay, that makes sense. TY


LeaderLine.captionLabel

Is there a way to swap out the caption label with an image?

Hi @anseki ! I appreciate the support. What I am trying to do is add an image to the middle caption label between my two points (on the line). Rather than the text saying “ROCK” I would like there to be an image of a rock.

I see.
LeaderLine now doesn't support adding an image on a line.
Therefore, you have to add an element.

For example: https://jsfiddle.net/qcfxrkua/
Note that this is not supported by the library.

This is close to what I am trying to achieve. I have multiple Leader Lines that I am trying to add these icons/images to. Here is an example: https://jsfiddle.net/ygop4tqm/1/
How would I add the same icon to the "ROCK1"

You can do that by the same way.
You have to add an element for each image.

Could you please show how I would go about that with my fiddle? I think the issue is that it is only applying to the first .leader-line class. https://jsfiddle.net/zb98hdku/

https://jsfiddle.net/3n4rmsqh/
Replace new LeaderLine(PARAMS...) with newLeaderLine(imageUrl, imageWidth, imageHeight, PARAMS).
BTW, some parameters in your code are meaningless. See above example that is the same as your line.

Thank you so much for all of your help and this awesome tool! I appreciate it big time! Cheers

I'm glad if I could help you. :smile:
Could you close this issue?


Add UX Test for column / Edit cells / Common transforms

This issue is following the work implemented for issue #3423 in PR 3541
The goal is to cover all functionalities under column / edit cells / common transforms

Proposed solution
Write the remaining tests for

Convert Smart quotes with ascii
to titlecase
to uppercase
to lowercase
to text
to null
to empty string

I would like to work on this issue

I think it should not be necessary to test all of them, since they are just using different GREL expressions under the hood. If it is cheap to test them all, fine, but if we want to spare a bit of running time, this menu is a good candidate for skipping items.

I want to work on this

If no one is working on this, I would like to work on it.

@fgiroud How should I test 'Convert Smart quotes with ascii' and to text' should I use fixtures for it?

@S-Harshit, you should be able to use fixtures directly in your test, without using the common food.mini or food.small
See
const fixture = [
      ['a', 'b', 'c'],

      ['0a', '0b', '0c'],
      ['1a', 1b, '1c']
    ];

    cy.loadAndVisitProject(fixture);


GeoLocation - Ivanhoe

Hey Ben,
One of the geopins in Ivanhoe/Alphington is coming up as Cranbourne West

Fixed!


Docker capability CAP_AUDIT_READ is not listed in docs?

File: engine/reference/run.md
CAP_AUDIT_READ isn't listed in either the default on or default off sections of the docker run docs here?
https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
Should it be?

Can't seem to find an answer anywhere as to weather this is default on or off.
I think it should default to off.
The capability was added in kernel version 3.16 so if you run a kernel less than this you won't have access to this anyway (e.g. centos 7).
Although CAP_BLOCK_SUSPEND was added in 3.5 and is in the docker documentation...

My brief searching didn't turn up anything too meaningful either.  This page (https://blog.lizzie.io/linux-containers-in-500-loc.html) seemed to indicate READ is more dangerous than WRITE (the latter of which seems default on), so I'd hazard a guess that it being off by default is reasonable too.  However, I don't know how it's actually implemented (or even which of the docker repos it'd be in)?
Thanks for looking into this!

I think it was omitted by accident. It is not in the default capability set.

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!

Not sure about the refactor you mention, but AUDIT_READ still isn't on the doc page initially mentioned, while AUDIT_WRITE and AUDIT_CONTROL are?  I think it just needs to be added in the appropriate section (either defaulted on or defaulted off).

I don't see a way for me to leave this open, but I suspect it should be left open...though ultimately it's your docs :)


Support -Zui-testing

When running with RUSTFLAGS="-Zui-testing" rustc replaces line numbers in the side by "LL".
Perhaps trybuild could support this? Either by adopting the same format as -Zui-testing, or by supporting stripping the "LL" characters as well? (I think it's just an addition to https://github.com/dtolnay/trybuild/blob/aa98d35bbca8670d74f598a08c4c12177e6bb56e/src/normalize.rs#L420)

I would prefer not to build this into this crate. But it would be reasonable for someone else to maintain a more fully featured ui testing library that could handle this.


feat: use either savers previous address or highest balance xpub address as from

Description
This PR ensures we use either an arbitrary chosen address (the one with the most balance as accumulated UTXOs) or the previously deposited from address as from, meaning UTXOs will be filtered to be the one from it, and they will be used as a change address, see https://github.com/shapeshift/lib/pull/1168
This also brings the notion of either one or two Txs being broadcasted in the same block:

At best, one Tx if the picked address has enough UTXO value
At worst, a pre-Tx to send max to that address, and then the originally intended Tx

Notes:

this only applies to UTXOs, since with other blockchains we support, the account is the address so we don't have such problem.

Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk

None, isolated to savers

Testing

Engineering

It is possible to deposit into UTXO savers

The change is sent to the address which input(s) was/were used

Ensure you can re-deposit into the same savers opportunities and confirm the input(s) address is the same as the original Tx

The change is sent to the address which input(s) was/were used
Send max will not work - gas fee to be deducted for it in a follow-up PR, as well as making sure we send enough dust for one or a few re-deposits/withdraws in a follow-up PR

Operations

Nothing to see here

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #3583

PR #3587

PR #3600

PR #3598

PR #3612

PR #3614

PR #3626

PR #3613

Current dependencies on/for this PR:

develop

PR #3583

PR #3587

PR #3600

PR #3598

PR #3612

PR #3614

PR #3626

PR #3613

Opening for early review


how to delete a row

I try add button to cell for delete a row in table. When click to button, it call priv.deleteClicked with unique of row, and i find row then delete. it's not work. Can you help me.
  priv.deleteClicked = function(e){
        if(typeof priv.options.rowActionDelete == "function"){
            var row = _data.meta.rowsLookup[e.data.unique].row;
            delete _data.row[e.data.unique];
            priv.options.rowActionDelete(e.data.unique);

        }
    };

No I can't.
If you simply want to delete a row, just remove the row from your dataset and assign again.

Thank you, I understand the structure of the table and simple than to contact with dataset


Not working with OS X Yosemite 10.10.5

Not working with OS X Yosemite 10.10.5

Please check whether this is a duplicate of #589 (you'll find some workarounds there too).

I found fix on #600 commenting out 2 lines in file /Applications/Radiant Player.app/Contents/Resources/js/navigation.js comment out lines 70, 71.

This helped a similar issue I had on macOS version 10.11.6. Commenting 70, 71 out fixed it for now.

Please close this issue in favor of #589 unless there you’re sure this is a separate problem (and if so, please provide more detail). Splitting the discussion over several duplicates will makes it harder to find the solutions.


HMAC, porting from Ruby

hey everybody!
i'm diving into crystal and i really like it. i'm trying to port URL signing for AWS services from Ruby to Crystal and i run into a problem with HMAC.
crystal
k_date = hmac("AWS4" + config.secret_key, date[0, 8])
k_region = hmac(k_date, config.region)
k_service = hmac(k_region, service)
k_credentials = hmac(k_service, "aws4_request")
signature = hexhmac(k_credentials, string_to_sign)

def self.hmac(key, value)
  OpenSSL::HMAC.digest(:sha256, key, value)
end

def self.hexhmac(key, value)
  OpenSSL::HMAC.hexdigest(:sha256, key, value)
end

"k_date Slice[131, 133, 185, 75, 106, 107, 107, 45, 219, 107, 188, 171, 108, 58, 27, 199, 236, 239, 55, 188, 111, 1, 7, 231, 100, 1, 225, 104, 11, 39, 239, 26]"
ruby
k_date = hmac("AWS4" + config.secret_key, date[0, 8])
k_region = hmac(k_date, region)
k_service = hmac(k_region, service)
k_credentials = hmac(k_service, "aws4_request")
signature  = hexhmac(k_credentials, string_to_sign)

def hmac(key, value)
  OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), key, value)
end

def hexhmac(key, value)
  OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), key, value)
end

"k_date \xA8>\xD1\x88\xBE_K\aM\x7Ff4\x9FPw\xFB\xCD\xF7\x97\xBF4q\xFB\x9D_2s\x0F\x93mA\xA5"

since this is a long chain of HMAC, i started debugging the first value (k_date) that is used as input for the 2. HMAC. i checked that config.secret_key and date[0, 8] are the same.
just by looking at k_date in ruby and crystal, i don't think they are the same.
i pretty sure that i'm missing something here. could anyone help me to see what i'm missing?
thank you for crystal! it's really amazing!
best,
ben

Ruby's .bytes output compares better:
Ruby:    [168, 62, 209, 136, 190, 95, 75, 7, 77, 127, 102, 52, 159, 80, 119, 251, 205, 247, 151, 191, 52, 113, 251, 157, 95, 50, 115, 15, 147, 109, 65, 165]
Crystal: [131, 133, 185, 75, 106, 107, 107, 45, 219, 107, 188, 171, 108, 58, 27, 199, 236, 239, 55, 188, 111, 1, 7, 231, 100, 1, 225, 104, 11, 39, 239, 26]

So yeah, indeed completely different. However I can not reproduce with some simple stub values:
Ruby:
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), "foo", "bar")
=> "f9320baf0249169e73850cd6156ded0106e2bb6ad8cab01b7bbbebe6d1065317"
Crystal:
OpenSSL::HMAC.hexdigest(:sha256, "foo", "bar")
=> "f9320baf0249169e73850cd6156ded0106e2bb6ad8cab01b7bbbebe6d1065317"

Could you try to create a minimal self contained example that reproduces your issue?

@jhass
thanks for the .bytes hint. i will do some further debugging with that. at least i know that i use the Crystal API correctly, which i wasn't sure about.

@jhass we can close this. HMAC is fine. sorry for the false alert. my problem is that HTTP.parse_time is not preserving the timezone.
should i open another issue for that or is this something known already?
date = "Mon, 09 Sep 2011 23:36:00 GMT"
parsed_date = HTTP.parse_time(date).as(Time)

p parsed_date => 2011-09-09 23:36:00
p parsed_date.to_utc => 2011-09-10 03:36:00 UTC

both dates should be the same, as there is no difference in  GMT and UTC right now.

It's a bug, I'll fix it.

@beanieboi I just fixed it. Can you try again see if it works well now? To have crystal use the standard library you must use bin/crystal from the repo, as explained here


⚠ Bofrost.at has degraded performance

In 9b3b3ca, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1378 ms

Resolved: Bofrost.at performance has improved in 4503b27 after 15 minutes.


.stringType() and .date() in PactDslJsonBody() not working

I am using pact-jvm-provider-junit_2.11 version 3.5.4 and the .stringType() and .date() is not working. It's pretty much acting like .stringValue() method. Here is an example:
            .body(
            		new PactDslJsonBody()
            		.minArrayLike("entities", 1)
            				.object("entityKey")
            					.stringValue("id", "CART1234")
            					.stringType("type")
            					.stringType("owner")
            				.closeObject()
            				.minArrayLike("entityStatus", 1)
            						.stringType("entityVersion")
            						.stringType("status")
            						.date("statusDate", "yyyy-MM-dd'T'HH:mm:ss.SSSZ", new Date(System.currentTimeMillis()))
            					.closeObject()
            				.closeArray()
        				.closeObject()
            		.closeArray()
                 )

Which generates the following Json:
{
"entities": [
{
"entityStatus": [
{
"entityVersion": "string",
"statusDate": "2017-09-29T09:43:19.325-0400",
"status": "string"
}
],
"entityKey": {
"owner": "string",
"id": "CART1234",
"type": "string"
}
}
]
}
In my unit test, I create entityKey object as follows:
    EntityKeyDto expectedEntityKeyDto = new EntityKeyDto();
    expectedEntityKeyDto.setId("CART1234");
    expectedEntityKeyDto.setType("Shopping Cart");
    expectedEntityKeyDto.setOwner("Shopping Cart");

The following test fails:
assertEquals(actualEntityKeyDto.getType(), "Shopping Cart");
ERROR message:
org.junit.ComparisonFailure: expected:<[string]> but was:<[Shopping Cart]>

Also wanted to mention that I'm using pact-jvm-consumer-junit_2.11 version 3.5.4

Nevermind, figured out my issue.

What was the solution for the problem you faced.? Please provide snippets and explain.

I assume the issue is that .stringValue("id", "CART1234") will match the exact value, where .stringType("id", "CART1234") should have been used instead.

@Garame The problem was with the JUnit assertions.  [ . stringType("owner") ] was generating a json result set with "string" as the default value. But in my JUnit, I'd created an object with the value of "owner" field set to "gtata". So it was comparing the string value "gtata" to string value "string" generated by default and was failing. So I had to add a default value like .stringType("owner", "gtata") which allowed my JUnit to pass.


Git Push asking for Git hub credentials and says logon failed

Issue Type: Performance Issue
Never had this, git push asking for git hub user and password, when i enter it, terminal says logon failed, changed password and still did not work. I always had pushed with no problems so I am not sure what has changed.
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-10T23:34:32.027Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz (8 x 3000)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.83GB (8.27GB free)

Process Argv
C:\Users\max96\OneDrive\Desktop\Homework assignment\7 Project 1 yoda astro --crash-reporter-id 7c18b9d1-fb60-4d4b-a545-95193b92450a

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    72	 18356	code main
    0	    18	  1960	   crashpad-handler
    0	    28	  7228	   utility
    0	   282	 11388	   window (Settings - 7 Project 1 yoda astro - Visual Studio Code)
    0	    90	 18240	     extensionHost
    0	   114	  5092	       electron_node tsserver.js
    0	    31	 16016	         electron_node typingsInstaller.js typesMap.js
    0	    88	  7592	       electron_node tsserver.js
    0	    49	 11460	       "C:\Users\max96\AppData\Local\Programs\Microsoft VS Code\Code.exe" "c:\Users\max96\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\html-language-features\server\dist\node\htmlServerMain" --node-ipc --clientProcessId=18240
    0	    46	 14916	       "C:\Users\max96\AppData\Local\Programs\Microsoft VS Code\Code.exe" "c:\Users\max96\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\css-language-features\server\dist\node\cssServerMain" --node-ipc --clientProcessId=18240
    0	    13	 18384	     watcherService
    0	     3	 15572	       console-window-host (Windows internal process)
    0	     8	 21996	     console-window-host (Windows internal process)
    0	    72	 22448	     C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
    0	    57	 17572	   shared-process
    0	    78	 17624	   window (Issue Reporter)
    0	   111	 17744	   gpu-process

Workspace Info
|  Window (Settings - 7 Project 1 yoda astro - Visual Studio Code)
|    Folder (7 Project 1 yoda astro): 50 files
|      File types: png(13) js(6) md(5) html(3) DS_Store(2) jpg(2) gitkeep(1)
|                  css(1) dxf(1) pdf(1)
|      Conf files:;

Extensions (7)

Extension
Author (truncated)
Version

bracket-pair-colorizer
Coe
1.0.61

githistory
don
0.6.13

gitlens
eam
10.2.3

code-runner
for
0.11.1

open-in-browser
tec
2.0.0

vscode-todo-highlight
way
1.0.4

json
Zai
2.0.2

Are you still experiencing this on the latest version? If so, can you provide any more details? Also, if things don't even work on the command line, I don't think this is really a VS Code issue, and you might want to ask a question on StackOverflow about it or open a Git issue.

Are you still experiencing this on the latest version? If so, can you provide any more details? Also, if things don't even work on the command line, I don't think this is really a VS Code issue, and you might want to ask a question on StackOverflow about it or open a Git issue.


Cleanup of documentation

Contact Details
<EMAIL_ADDRESS>Issue category
Documentation
Issue description
Two small documentation errors were detected.
Issue reasoning
Improving documentation for better comprehensibility.
Request
Improve the following two minor documentation issues:

Rename property "transactionType" to "entryType" in AccountTransactionEntry object
Delete title in remittanceInformation property

Proposed change
No response
Affected API's
AIS
Code of Conduct

[X] I agree to follow this project's Contribution Guidelines

Meeting Notes 26.9.24
Simon will investigate on the usage and possible alignment of transactionType in AccountTypeEntry. An update will be provided on next meeting by @simonmeyerm.

Meeting Notes 31.10.24
This issue will be postponed and discussed on the next meeting.

After clarification with the SIX payment standards team, the element "transactionType" corresponds to the "CdtDbtInd" in SPS/ISO-20022 and it is required to be used on C- and D-Level for transactions. It is even recommended to use it for all amount and balance fields like "charges" and "interest" to avoid beeing forced to work with positive or negative amounts (+/-). Reason is that certain transaction types require different

Meeting Notes 12.12.24
The issue will be partially implemented, including part 2 with documentational change. The Pull Request will be prepared and presented for final approval.

Pull request merged into v5 branch.


Add comments for voters

It may be a good idea to add comments when reviewing application

[x] Add model comment (application, user, text, auto_id)
[x] Show comments on vote view (make sure it shows below if mobile)
[ ] Add inline for admin model so that we can see it in Application admin view

Merged in #115 remember to add closes #109 next time so that this gets closed automatically


Error encountered when following installation instructions for foxy

Affected ROS2 Driver version(s)
foxy
Used ROS distribution.
Foxy
Which combination of platform is the ROS driver running on.
Docker
How is the UR ROS2 Driver installed.
Build the driver from source and using the UR Client Library from binary
Which robot platform is the driver connected to.
UR CB3 robot
Robot SW / URSim version(s)
CB3, URSoftware 3.15.1
How is the ROS driver used.
Others
Issue details
Summary
I am trying to follow the instructions on https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/tree/foxy#readme to install the UR ROS2 driver for foxy.
I am running this on a docker image that I got from Nvidia: https://developer.nvidia.com/blog/accelerating-ai-modules-for-ros-and-ros-2-on-jetson/#_1ay9zay9rlbz
Specifically, I am using nvidiajetson/deepstream-ros2-foxy:5.0.1
Steps to Reproduce
When I run: colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release, I get the following error:
Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Starting >>> ur_moveit_config
Finished <<< ur_moveit_config [1.93s]
Finished <<< ur_description [2.06s]
Finished <<< ur_dashboard_msgs [8.18s]
Starting >>> ur_controllers
--- stderr: ur_controllers
CMake Error at CMakeLists.txt:14 (find_package):
  By not providing "Findcontroller_interface.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "controller_interface", but CMake did not find one.

  Could not find a package configuration file provided by
  "controller_interface" with any of the following names:

    controller_interfaceConfig.cmake
    controller_interface-config.cmake

  Add the installation prefix of "controller_interface" to CMAKE_PREFIX_PATH
  or set "controller_interface_DIR" to a directory containing one of the
  above files.  If "controller_interface" provides a separate development
  package or SDK, be sure it has been installed.

---
Failed   <<< ur_controllers [1.66s, exited with code 1]

Summary: 3 packages finished [10.7s]
  1 package failed: ur_controllers
  1 package had stderr output: ur_controllers
  3 packages not processed

At this point, I am stuck and unable to install the UR ROS2 driver for foxy.
Workaround Suggestion
I have yet to find any workaround
Accept Public visibility

[X] I agree to make this context public

Please note that Foxy is end-of-life and therefore not supported anymore. Hence, I'll close this issue with this comment.
However, I've given that a quick try on the ros:foxy docker container and for me the instructions still work fine. Since your build misses a dependency, I assume that you skipped the rosdep install step / there was an error in rosdep install. Try running that command with the -r parameter removed:
rosdep install --ignore-src --from-paths src -y

Note: It might also be necessary to update rosdep's cache using rosdep update --include-eol-distros.
I hope this helps and that you understand we cannot give in-depth support for Foxy anymore. We highly recommend to upgrade to a supported ROS distribution such as Humble.


Running coordmap finder

On the Coordmap setup stage nothing gets filled in.  Opened the code.py in thonny and ran it and get this:
starting keyboard Pico Test Board (01H2BEFRHEMRVMT36SJRKD8P9A)
running coordmap setup
Traceback (most recent call last):
File "", line 42, in
File "kmk/kmk_keyboard.py", line 472, in go
File "kmk/kmk_keyboard.py", line 496, in _init
File "kmk/kmk_keyboard.py", line 336, in _init_matrix
File "kmk/scanners/keypad.py", line 51, in init
TypeError: object of type 'Pin' has no len()
This is on a raspberry pi pico, 4 button test matrix set to 1 row and 4 columns.

Seems I had Notifications for Issues and PRs off my bad, still wanted to answer here. this was an issue where 1 row was not passed as a list properly this has been fixed a few releases back.


[robots.txt] check the request domain is the real prod url

 [TARIFF17] NO robots config files for staging and dev


Crash on startup  after small Hotfix on 1.62

Game had a hotfix update which is not "supported" by RED4ext and causes game to crash. Maybe an update is required for the games addresses.
Relevant Logs:
[RED4ext] [info] RED4ext (v1.11.1) is initializing...
[RED4ext] [info] Game patch: Unknown patch (<IP_ADDRESS>61)
[RED4ext] [info] Product version: 1.62
[RED4ext] [info] File version: <IP_ADDRESS>61
[RED4ext] [error] This game patch (Unknown patch (<IP_ADDRESS>61)) is not supported
[RED4ext] [error] The current version of RED4ext supports only the following patch(es): 1.62

This should be fixed in v1.12.0.


Feature/latest provider

Overview
When loading the map for the first time we are fetching all datasets and then manually deciding which latest endpoints to find. This is slow and tricky to maintain. In the API, on the params and decode params config we thave the URL for the endDate key which we can use to get the latest endpoint.
SO this PR adds a latest provider component which when the layers change on the map goes and gets any new latest endpoint needed (only the first time around) and then updates the params. Benefits:

map will load faster first time around
only fetching the latest endpoints we need
easier to maintain as it is universal for each layer

Testing

go to the map and add and remove forest change layers (glads, forma, terrai)
check loader show first time adding the layer
check timeline doesnt have current date

@blayhem so for example you should see 16th Nov as the last possible date for GLADs?

@blayhem fixed!


Nuxt 3 Server Storage with Redis - problem with / in key

Environment

Operating System: Windows_NT
Node Version:     v18.14.2
Nuxt Version:     3.3.1
Nitro Version:    2.3.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      ssr, css, build, hooks, modules, vite, runtimeConfig, vue, nitro
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
I don't know how to provide a reproduction of this, because it depends on Redis. Also I think the issue is pretty straightforward.
Describe the bug
I have Redis integration implemented as shown in the docs:
https://nuxt.com/docs/guide/directory-structure/server#example-using-redis
Basically it works as intented, but we have spotted that for certain object keys
useStorage().getItem('redis:key')

fails to return value, although the object is present (confirmed through Redis CLI). But we only get null in Nuxt.
We are constructing partly artificial keys with some Base64 encoded part. This is legacy and we have to stick with it.
The examples of working keys:

dmav|xxnovive|AGSPAOCtsWD410JpgCGVhVDlsY0cGA0PBcU3idPesRs=
dmav|xxnovive|AFkAr7bjQ+rb6tb5yV5wBVDlsY0cGA0PBcU3idPesRs=
dmav|xxnovive|ADBMajkT+nQEmjpeVi4UIFDlsY0cGA0PBcU3idPesRs=

The examples of failed keys are:

dmav|xxnovive|AL1nCr5UvG1ZP/pbykebilDlsY0cGA0PBcU3idPesRs=
dmav|xxnovive|ALSaAlmY/55VTtCQlTVwEFDlsY0cGA0PBcU3idPesRs=
dmav|xxnovive|AO4qD/sWKgPQcL67mrvYuFDlsY0cGA0PBcU3idPesRs=

I am nearly 100% sure it is because of the slash / character inside the Base64 part. When it is here, useStorage().getItem() fails to parse it and returns null.
For now we decided to construct another key for our Redis object to aviod encountering / in it, but I wanted to ask here whether there is something that can be done about it or if it is intended to work like that? Might be also an issue belonging to some underlaying system rather than here, but I don't know the ecoystem enough yet.
Additional context
No response
Logs
No response

cc: @pi0

Both : and / are reserved as path separators. you might want to consider using encodeURIComponent to escape the / char.


Often, but not always repeating

This seems to be happening more and more often, maybe one in three it will repeat the text it recently spoke. It will usually start from the beginning of the dialog tree as opposed to where I currently am.
I also don't have that translating plugin installed, which I think I saw mentioned before.

Curious what's causing that for you since I haven't had any problems. Have you tried disabling all the other plugins and seeing if that fixes it? And if it does, you could do the trick of installing half and seeing if it's broken, and if not, then install the other half instead. Then only install half of that half and so on until you're working with a manageable number.
(You can use the in-game plugin installer, but I just cut and paste the folders in the installedplugin folder for bulk removal/installing)

I will absolutely do this. Recently had to do the same folder thing for another addon. Let you know in a few. Small detail...where is the plugin folder located?

I ended up just uninstalling all plugins and running TextToTalk alone and, sadly, it still repeats.

Ah I think I understand what's happening. "Read NPC dialog from the dialogue window" reads out the text boxes when you talk to NPCs or when you're in cutscenes. It seems like you have the NPC dialogue option enabled for the chat in your config and read from dialogue box both enabled at the same time. Which read the text twice, once from the dialogue box and once from the chat box. I would suggest disabling the NPC dialogue channel being read from the chat because it reads what was said after you click to proceed the textbox, and using read from dialogue box instead, which would read the text as soon as it becomes visible.
The difference is that the read text from dialogue box reads directly from the text boxes that pop up when an NPC talks. The read NPC dialogue chat channel option reads the text from the chat when it appears, which is after you click to proceed the text.
#5 should explain more about that.

I thought that too, so I went to each chat log and disabled NPC Dialog. But it didn't stop repeating.  Still repeats if I have the "Read NPC dialog from dialogue window" option checked.


A 1100 lines of Js to perform about 250 milliseconds

A 1100 lines of Js to perform about 250 milliseconds
     Object.defineProperty(Stream, "members", {         get: function () {             if (!Stream._members)                 Stream._members = {};             return Stream._members;         },         enumerable: true,         configurable: true     });

Is it related to #68 ?

It's just a js property definition, and can emit when defined delay, begin to emit such calls


clear() is not correctly clearing the buffers

As you may know there is currently a problem with node-pty having a race condition between its 'data' and 'exit' events. Sometimes, under a linux environment, an 'exit' will be emitted before all the data buffers have been flushed. While sending these data buffers into xterm it's possible for the final write to contain an unfinished ANSI sequence.
An example of an unfinished write:

generate
generate:bundle                         Generates a bundle
generate:command                        Generates a console command
generate:controller

When calling clear after such data I would expect all buffers to be emptied. This is not the case. The next call to write will prefix the first line with the unfinished final line of the previous write.
To reproduce:

write the above, incomplete, data string.
call clear
write any new data string. ("Hello World" for example)

You will see the new terminal contents contain

generate:controllerello World

Duplicate https://github.com/Tyriar/node-pty/issues/72

This is not a duplicate. It is caused by that issue, but the input could very come from a different source.
The fact is, clear should empty all internal buffers, it doesn't. remnants of incomplete writes are prepended even after the call to clear.

My mistake. Re-reading this, I think your saying that parser state should be cleared when you so a clear, but I'm not so sure about that. Isn't the typical case where this would occur be to clear when data is streaming in, in which case you really want the parser to know about the partial escape sequence state, otherwise it would print the escape sequence to the terminal.
I think your actually after Terminal.reset() which does a hard reset of the terminal.

From what I understand, clear or c, should empty the screen and all scrollback buffers. Other setting, like 'font' and 'line wrap' should remain intact.
In the example "[32mgenerate:controller", the 32mgenerate:controller" should print "generate:controller" with a green text. This should then become part of the history and should be cleared and forgotten. Though it's state should be switched to use green text.
The next, incomplete "", is what is causing the problem. At this point the terminal has no idea what this sequence should be. A call to clear should detect this and treat it as an invalid character (think of it as an incomplete utf8 byte sequence or an unprintable char code for example).
If you think about it, streaming data to the terminal will happen in a loop. How often do you clear the terminal during a stream? Usually the clear would be the result of another event, waiting for stdin for example, in which case we can be sure incomplete escape sequences will not exist. Any other calls to clear require a certain level of care, for example detect a new line char and clear everything before it. This burden is imposed on the end developer though.
Another way to think of this, since '[2J' also clears the buffers, what should '[2J' do?

@twifty There are several problems you mentioned that should not been mixed up:

node-pty: The 'data' & 'exit' problem is a misunderstanding of the events. The 'exit' event is coupled to the exit of the process with its exit code and not the end of stream data. If you read the child_process doc carefully you will find the same difference for 'exit' and 'close'. node-pty tries to circumvent this by holding the 'exit' event back until the stream dies. This works properly on linux & OSX and has some problems on Windows. The much bigger problem with node-pty's current implementation is an early end of stream with losing data that already got written to the pipe buffer if the child process finishes very early. Thats currently under investigation.

clear node-pty buffers: Since terminal data is consecutive it is never a good idea to do this as you already know. Dont delete stuff in the middle of a running session. Imagine the slave process started a DCS call, but you misses the introducer because of the clear - hell will break loose.

terminal parser and remnant escape sequences: Should not happen in the first place (see above), but sometimes sequences are malformed or bytes dropped for whatever reason. The spec makes clear what to do if the parser does not understand the bytes - degrade to the initial state - which means print whatever follows until the next escape sequence.

clear terminal content: Thats the right place to "forget" stuff. All data got read and parsed, the terminal is (hopfully) in a sane state - from here on you can delete characters, lines, history, whatever.

Just to be clear, when I mention clear above, I'm talking about the xterm class method not node-pty. Clearing the upstream buffers is not something I would do without good reason.
The current problem with xterm.clear() isn't limited to the incomplete escape sequence. These are the final 3 lines recieved from node-pty before it's exit event:

generate
generate:bundle                         Generates a bundle
generate:command                        Generates a console com

These lines are rendered with xterm.write(). Running xterm.clear() now, does clear the rendered contents leaving the displayed terminal completely empty. Granted xterm.reset() would be better suited, but this is how I discovered this bug.
Calling xterm.write() again, on a cleared terminal, prefixes the first line.
So, first line returned from a fresh node-pty data event:

Symfony 3.2.13 (kernel: app, env: dev, debug: true)

But, xterm actually renders:

generate:command                        Generates a console comSymfony 3.2.13 (kernel: app, env: dev, debug: true)

Ok  gotcha, there is something stuck in the terminal buffers.

I'm not sure this is a bug though, clear is essentially cmd+k on macOS terminals. We don't want to flush the parser state as then doing clear while output is streaming would result in the end of an escape sequence being output.

@Tyriar As far as I understand it the following chars get rendered twice (before and after the clear), but were only once in the input stream:

�[32mgenerate:command�[39m Generates a console com

@Tyriar The example I gave above certainly is a bug. The terminal should not render the same content multiple times. This string "�[32mgenerate:command�[39m Generates a console com" was already rendered once before the clear. This particular string doesn't end in the middle of an escape sequence, so the parsers state should not be affected. Calling the clear method, which should be functionally the same as writing \<ESC\>[2J, should remove all the rendered text from the terminal and empty the scrollback buffers.
The problem is, this isn't being done. The terminal is holding the final line and for some reason rendering it again before the next string input.

The example in my opening thread is different in that it ends in the middle of an escape sequence. IMO, sending a <ESC>[2J at this point should drop the previous opening <ESC>.
The chances of entering new data in the middle of an escape sequence, while streaming data, are remote. Even then it would require two writers to the same terminal. How the parser handles such a situation is not the problem here.

The problem is, this isn't being done. The terminal is holding the final line and for some reason rendering it again before the next string input.

This is as designed. When the terminal is filled:

Calling clear should retain the prompt line:

For it to come out like this would be a bug given the definition the API
provided in the API docs:

Again, I think you want Terminal.reset, or something else that we don't support right now.

@Tyriar My terminal doesn't have a command prompt. Previously written lines of text are being written to the console again, after the clear. This is most definite a bug.
Here is an over simplified example:

Terminal.write("Hello World")  Terminal displays "Hello World"
Terminal.clear() Terminal is empty
Terminal.write("foo") Terminal displays "Hello Worldfoo"

Can you see? It has rendered "Hello World" for a second time.

@twifty of course I understand not all processes are shells, this is what clear was defined for though; it's working exactly as described in the documentation.
This should work around your problem if you don't want to use reset():
// Partial escape
term.write('\x1b')
// First \n will cancel any existing escape or go to new line
// Then the \n\r will put the cursor at the start of the next line
term.write('\n\n\r')
term.clear()

I don't feel like there's sufficient need to expose new API for this so I'll close it off.


Allow Selection of Audio Quality

Currently, you cannot select the audio quality that you want to be played.
For Youtube specifically, I've found that converting the video to an embed link and adding ?vq=medium at the end fixes the issue.
ex:
https://www.youtube.com/watch?v=oPpInGffxgM
becomes
https://www.youtube.com/embed/oPpInGffxgM?vq=medium

The bot always uses the highest quality. I don't see what's really wrong with that.

It's a problem where either resources(low hardware specs) or connectivity(low internet speed) is limited. Not all of us are graced with octacore, 12GB, 30MPBS full duplex connections 😂

A Song that is about 180 seconds long and 20MB big needs an upload rate of nearly 900kbit/s.
But 20MB is really big for a youtube song.
I checked it right now with a Song that's 3:11 long and was uploaded with an FULL-HD video.
[alexander@localhost: ~] youtube-dl -F https://www.youtube.com/watch?v=T-GMow_2fIA [youtube] T-GMow_2fIA: Downloading webpage [youtube] T-GMow_2fIA: Downloading video info webpage [youtube] T-GMow_2fIA: Extracting video information [youtube] T-GMow_2fIA: Downloading MPD manifest [info] Available formats for T-GMow_2fIA: format code  extension  resolution note 249          webm       audio only DASH audio   58k , opus @ 50k (48000Hz), 1.23MiB 250          webm       audio only DASH audio   82k , opus @ 70k (48000Hz), 1.67MiB 140          m4a        audio only DASH audio  128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 2.88MiB 171          webm       audio only DASH audio  136k , vorbis@128k (44100Hz), 2.83MiB 251          webm       audio only DASH audio  157k , opus @160k (48000Hz), 3.23MiB
For the best quality here you need about 170kbit/s. I don't think that shouldn't be the problem for nearly 99% of the people out there. Even in the very little Village we had about 3.29Mbit/s Download and 672kbit/s Upload.
A thing that i didn't calculate was, that if you speak as well. That causes the upload traffic to double. But this shoudln't be a problem as well.

I just checked it on my server with nload.
And as i said earlier, its not more than 170Kbit/s. In fact, the peak was at 156,54kbit/s. avg was below 150Kbit/s.

The problem in my case was not the network connectivity but rather the resources available to the machine. I don't know what the resources for this specific machine I was working with was (Was running on a community member's VPS) but songs that had an available resolution of something like 720p or higher would stutter, and stutter hard.
It's really just a feature request, not a bug so it's not extremely important, I'm just saying there are cases where it would be necessary.

The bot downloads the song files through YouTube. It then streams them through discord at the highest bitrate possible in discord regardless of channel setting. This is an issue with your VPS's internet connection. Try changing your voice region.

@MattBSG , it could be another problem though.
If you have VPS Servers with shared cores (Which the companies call "vCores" or "virtual Cores") some providers put too much machines on a single Hypervisor.
Example:
If a Hypervisor has 4 Cores and 8 Threads, Linux should'nt have a load over 7.80 (0.20 for System Operations reserved).
Now, if a bunch of people (Lets say 8 out of 30 ) starts to "create" some cpu load.
Then the Server takes all 8 "Cores" and schedule "cputime" for each VPS.
When a server is overloaded then all VPS will get very very slow.
"apt-get install vim" for examples took 30 Minutes in my case!
My suggestion is, that ffmpeg is not able to process the amount of data coming from the Soundfile. That means it cannot process the file "live". Stutter begins.
I know this because i own several Hypervisors in Germany and work at a big provider too.

Yes, that is true. I was mostly targeting the fact that he wanted to lower the bitrate. This is also the case. Also stated that he was using a shared VPS with another user, so this is more likely the issue

@MattBSG (for two answers above)
Discord automatically moves users to voice regions for better clarity when their current voice region is bad or slower than another one as of a client update from a month or two ago.

Discord is not the issue.
The bot is not the issue.
The issue is that when running the bot on a machine with super low resources, a lower bitrate is required.
I tested this by using a 1080p max available resolution source, having it stutter massively (unlistenable) and then using a Max 360p source and it working perfectly fine.

@BNolet , ffmpeg needs to have enought resources (CPU and disk mainly) to "convert" the song in real-time. A song with a higher bitrate needs, obviously, more CPU resources than a "low bitrate" Song.
BUT, that shouldn't be the issue. As a said before, only if the Provider wrecks something up or there are too many Clients on a hypervisor ffmpeg has to wait too long for CPU-resources given by (For example) KVM.
The Bot runs on a Raspberry so any pentium 4 should do it.
And again as i said, this is an provider Issue of your VPS, because they overload the Hypervisor in a way that is and will be never recommended.
I suggest that you rent s server at a new provider.
https://www.hetzner.de/ot/hosting/produkte_vserver/cx10 should do a very good job.

Ah so the issue is hardware but moreso the unbalanced virtualization of it.
Is implementing such a feature as originally mentioned something that would be difficult to implement?


Stick figure merge with face extraction

[x] Join the stick figure onto the extracted face.
[x] Put the resultant image on top of a white image.
[ ] convert other image formats to jpeg
[x] Create a .py file that takes an image as input and outputs the resulting image.
[ ] #5

[ ] Stick figure images to have the same resolution

Error handled if couldn't convert image format.

I am using autodraw.com to draw stick figures.

Handles HEIC, HEIF image formats as input as well


Heroku deployment

Motivation
Which issue does this fix?
Allows dockering the application and deploying to heroku (https://konnections.herokuapp.com/). All pushes to the repository should be automatically propagated to the heroku app as well. Note that the deployment process takes a while (around 1 minute). You can monitor it on Actions tab.
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

Note that the changes in controller code files are only of cosmetic nature, they are remnants of my attempts to make the project ID conditional. Function was intact.