Fix #367: Framework automation detection

Describe your changes
PR to allow auto-detecting framework and then configuring for that framework if detected in package.json.
Fixes Issue
Fix #367: Framework automation detection
@ia3andy @holly-cummins  this is what I was thinking to start before adding the code to auto-detect and configure.  Let me know any thoughts before I continue...

OK I have it working as far as it goes. I don't use Angular so that could use some testing but this is what happens with Vite.
2023-06-02 15:40:16,224 INFO  [io.qua.qui.dep.QuinoaProcessor] VITE framework automatically detected from package.json file.
2023-06-02 15:40:16,224 INFO  [io.qua.qui.dep.QuinoaProcessor] VITE framework setting dev server port: 5173
2023-06-02 15:40:16,224 INFO  [io.qua.qui.dep.QuinoaProcessor] VITE framework setting build directory: 'dist'

I have not looked at the code in this PR, but in general, if data needs to be shared by between build steps, it should be "carried" by build items.

@melloware I want to give it a try, it's in my todo list ;-)

OK good suggestions!

OK so changes made.

Don't parse package.json unless all the defaults are in use.
new DetectedFramework carrier object.
DetectedFramework.getBuildDirectory() to get the normal or Angular build directory logic
root.getString("name") now in use for angular dir.

new bug detected :)
Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkiverse.quinoa.deployment.devui.QuinoaDevUIProcessor#createCard threw an exception: java.util.NoSuchElementException: No value present
	at java.base/java.util.Optional.get(Optional.java:143)
	at io.quarkiverse.quinoa.deployment.devui.QuinoaDevUIProcessor.createCard(QuinoaDevUIProcessor.java:79)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:909)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:282)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
	at java.base/java.lang.Thread.run(Thread.java:833)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)

	at io.quarkus.builder.Execution.run(Execution.java:123)
	at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
	at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:160)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:331)
	... 9 more
Caused by: java.util.NoSuchElementException: No value present
	at java.base/java.util.Optional.get(Optional.java:143)
	at io.quarkiverse.quinoa.deployment.devui.QuinoaDevUIProcessor.createCard(QuinoaDevUIProcessor.java:79)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:909)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:282)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
	at java.base/java.lang.Thread.run(Thread.java:833)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)
	```

Could you rename `getPort()` to `getDevServerPort` in the same go.

OK made the changes tested locally and the Dev UI is working for me now.

@melloware ok I found another bug haha :) (better find them now than later)
When using with vite, vite is detected but  it does not call dev. It calls start instead.
While doing that, I think we should either change the default codestart to use vite (instead of webpack) or support webpack.
The reason behind is that, when you generate your first app now and you then put your webui, you forget that you need to remove the configured port (before it's was required). With this we can avoid having the port defined in the config when generating the starter app and allow auto detection for any coming app..

Ahh yeah I was still requiring the start script but it has me thinking it should use the script it finds first either dev or start?   Because Next and Vite both use dev but others user start right?

Ahh yeah I was still requiring the start script but it has me thinking it should use the script it finds first either dev or start? Because Next and Vite both use dev but others user start right?

I would suggest a double check, which is to make sure the command defined in the FrameworkType.devScript can auto-detect with a warning explaining that it's better to manually set the dev script when it's different from the framework default wdyt?

Agreed that is a good idea.

OK this ended up being a lot of changes but I think all for the good.

I gather up all scripts for any framework like "start" and "dev" into a Set.
I check that Set looking for the first script found that matches.  This will make us future proof if we add more frameworks.
I store that script to the side when found so we know whether it was "start" or "dev" etc.
Refactored the hardcoded "npm start" to "npm run " so it can be dynamic now.

Tested with Vite, NetxJS, and CRA!


Support for ubisys C4, S2, S1

Not sure if any-one is actually using the ubisys C4 with homebridge-hue, but looking at the code, homebridge-hue would only expose the first button, since the change in deCONZ to expose it using only a single ZHASwitch resource, see https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1122.
Also, the S2 switch endpoint is not yet supported by homebridge-hue.
The metering and switch functions of the S1 don't even seem to be supported by deCONZ.

Is there any way to disable those ubisys buttons in homebridge-hue? My problem: Each time I add a connected light to the home favourites, the switch will also appear in the favourites as well.

Yes, use excludeSensorTypes in config.json to exclude all switches, see Wiki, or create a blacklist resourcelink to exclude individual switches, see README.

Thanks! Just for future reference, if someone has a similiar problem: The type attribute to be inserted in config.json for Ubisys devices is ZHASwitch.  For FoH Switches it is ZGPSwitch. The Wiki can be found here.


Substitute in ex mode

https://github.com/prompt-toolkit/pyvim/issues/109

Great, substitute is works.
https://github.com/prompt-toolkit/pyvim/pull/130
Now I want to be able to specify $ (last line) and the mark position instead of the line number.


fix(core): make sure to call setResult before the early bail-out

The initial fix for #6369 (#6431) introduced a regression where we'd always call combine with an empty array initially.
Turns out it was actually on purpose that we didn't call combine in the constructor, but delayed that until the setQueries call - because there, we already have complete query result structures available
However, there is an optimization that bails out early without calling this.#setResult if "nothing changed"; however, if we call useQueries with an empty array, that means nothing every changes, and the #combinedResult is actually never set, leading to structural sharing never having anything to share with, thus yielding a new reference every time (this is the root issue for #6369).
This fix reverts those changes (to avoid calling combine with an empty array every time, thus fixing #6612) and makes sure #setResult is always invoked before bailing out, so that #combinedResult is set correctly even for this case
fixes #6612

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

Comparison is base (639c725) 39.13% compared to head (4e7fe68) 56.18%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #6614       +/-   ##
===========================================
+ Coverage   39.13%   56.18%   +17.05%
===========================================
  Files         161       99       -62
  Lines        6598     4083     -2515
  Branches     1299     1004      -295
===========================================
- Hits         2582     2294      -288
+ Misses       3665     1570     -2095
+ Partials      351      219      -132

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


documentation: Update upload_file python api documentation.

According to the current api documentation
have to use call_endpoint to
upload a file.
According to the example of python-zulip-api
repo can use specific upload_file
endpoint to upload a file.
Update the documentation using
upload_file endpoint.

Testing plan:

manual testing

GIFs or screenshots:
Before update:

After update:

The line-wrapping on your commit message is super narrow -- I think that must be a bug or unusual configuration in your editor.


vendor.js doesn't exist, breaking wp-admin/widgets in wordpress 5.8

[ x] I've read the guidelines for Contributing to Roots Projects
[ x] This request isn't a duplicate of an existing issue
[x ] I've read the docs and followed them (if applicable)
[ x] This is not a personal support request that should be posted on the Roots Discourse community

Description
/wp-admin/widgets.php doesn't render with fresh sage install
Steps to reproduce

Install wp
Install and compile sage 10
Visit widgets

Expected behavior:
see widgets
Actual behavior:
blank page, js stops working
Reproduces how often:
100%
Versions
wp 5.8
sage 10
Additional information
Wordpress 5.8 makes heavy use of JS in the backend.
When vendor doesn't exist, wordpress responds with a redirection.

then javascript stops execution and page displays blank
check: /wp-admin/widgets.php

Temporary solution
webpack.mix.js
remove .extract()
setup.php
change this:
    wp_enqueue_script('sage/vendor.js', asset('scripts/vendor.js')->uri(), ['jquery'], null, true);
    wp_enqueue_script('sage/app.js', asset('scripts/app.js')->uri(), ['sage/vendor.js'], null, true);
    wp_add_inline_script('sage/vendor.js', asset('scripts/manifest.js')->contents(), 'before');

to this:
wp_enqueue_script('sage/app.js', asset('scripts/app.js')->uri(), ['jquery'], null, true);

change this:
    if ($manifest = asset('scripts/manifest.asset.php')->load()) {
        wp_enqueue_script('sage/vendor.js', asset('scripts/vendor.js')->uri(), ...array_values($manifest));
        wp_enqueue_script('sage/editor.js', asset('scripts/editor.js')->uri(), ['sage/vendor.js'], null, true);
        wp_add_inline_script('sage/vendor.js', asset('scripts/manifest.js')->contents(), 'before');
    }

to this:
        wp_enqueue_script('sage/editor.js', asset('scripts/editor.js')->uri(), [], null, true);

I'm not sure what manifest.asset.php does, please edit my code if it's wrong

i have a vendor.js file, but it still dies on the admin widgets page.

For me, the solution was just to remove "import '@wordpress/edit-post';" from the first line of editor.js

I fixed it by creating an empty vendor.js file on /public/scripts folder. 🥺

Same problem here...

Removing this line makes it makes .extract() work again and creates vendor.js on build.
mix
  .js('resources/scripts/app.js', 'scripts')
  .js('resources/scripts/customizer.js', 'scripts')
-  .blocks('resources/scripts/editor.js', 'scripts')
  .autoload({ jquery: ['$', 'window.jQuery'] })
  .extract();

Why not actually fix this instead of pointing people towards a pull request which may or may not get merged soon?

@stephan-v as i mentioned, it's because we're no longer pushing any more changes to the mix setup/config and we do have our own deadlines that we are following to get things wrapped up for sage 10 right now.

In my case that was issue with uBlock and imported url fonts... not Sage and mix assets. So maybe for someone that will be helpful :D


Fix slow metrics provider tests

Only create enough random metric data required by tests
Combine uniform timed metric and non-uniform time metric tests
Remove .js from require
Extract method on mock data creation
Fixes issue https://github.com/FormidableLabs/nodejs-dashboard/issues/80

Agreed, this test change isn’t really about speed. The name is a bit misleading. I’m really focused on the minimum amount of mock data needed to test the features.
I think you might be right about these changes losing a bit from the original. To get specific, do you mean the changes to the _onMetric uniform data and non-uniform data test?
I assume so. The fill method changes do the same as the old method just in a more lazy way. The mock data is created on demand instead of up front. And the tests other than _onMetric all used this interval based filling.
This leaves the _onMetric tests. I really think this was testing 3 things. Saving of all metric data, calculating averages for uniform created data, and averages for non-uniform created data.
If nothing else, I think we should split off the test for saving metric data into its own test. I’ll update the PR to include this change.
Could you expand upon the remaining 2 tests, uniform and non-uniform data? What qualities should we be targeting for these tests?

Thanks Jason.  As long as we're able to prove that the program is able to deal with erratic, even missing data points and produce the correct average, that'll will be good.

How about a test for checking that it fills in the missing averages with 0 values when it gets a late arrival?
Would be

add single data value. (this is to trigger average creation on our next call)
Add single data value to 2nd time bucket
Verify first average was created
Add single data value to 4th time bucket
Verify 2nd average was created and blank
Verify 3rd average was created and it used the time value from the 4th bucket

What do you think of the new test cases @mscottx88 ?

These look awesome! Thanks for putting those in!

If this is acceptable, could you approve the PR? I'll merge it and update the other pending PRs with this change.


Azure Pipelines Archive Task With Missing File Produces Vague Error

I think I have an update on this bug. The ENOENT occurred in a feature branch when the file/folder did not exist. In which case, this is a valid error.
My only suggestion would be to possibly change the "spawnSync" / ENOENT error message so that it mentions "File not found" or "folder not found".
Originally posted by @tinytone in https://github.com/microsoft/azure-pipelines-tasks/issues/8418#issuecomment-634573156

Hi @TanayParikh  thanks for reporting! We are working on more prioritized issues at the moment, but will get back to this one soon.

Refreshing


Use buildx in deploy_docker.sh

Given the changes to how we do cross-compilation in<PHONE_NUMBER>1e75d6cc2d2c966ae4bfd1a357a82f, we now need to use docker buildx build instead of docker build
BuildX provides additional context which is now required by the new Dockerfile (e.g. BUILDPLATFORM and TARGETPLATFORM

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 31.669%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
13031

Relevant Lines:
14791

💛  - Coveralls


No Equalizer support

There is no data-equalizer neither data-equalizer-watch support.
I am not sure if this is the expected behaviour or not, just dropping a line in case it isn't.

:+1:

+2

+1


How to change gitsigns place?

Hello, how i change gitsigns place like this:

please tell me from scratch

A segment like this
{
     sign = { namespace = { "gitsign" }, colwidth = 1, wrap = true },
     click = "v:lua.ScSa"
}

I use Packer

It is visible in your screenshot on the left side, isn't it?

Hey, I use LazyVim and i'm not need it now


Persistent toggle

with this config, which i attach in the lsp on_attach function:
require("lsp_signature").on_attach {
    bind = true,
    doc_lines = 2,
    floating_window = true,
    hint_enable = false,
    use_lspsaga = false,
    hi_parameter = "Search",
    max_height = 12,
    max_width = 150,
    fix_pos = false,
    handler_opts = {
      border = "single",
    },
    always_trigger = false,
    toggle_key = "<C-s>",
  }

With this I would expect that the floating window would only appear when I
press <C-s> and remain there until I either hit <C-e> again or leave insert
mode
Effectively I would expect that I could get a persistent signature help when on
insert mode on demand
But the actual behavior is that the floating window appears always and only
gets toggle off when I hit <C-e> and is toggle back on once I hit <space>.
If this is intended behavior how could I achieve the behavior I expect

Why is this closed? Did you find a solution?


add type hints for probability distributions

does #1368 for probability distributions
required a fix for TensorLike problem for multiple dispatch

typing.Union[], unfortunately, does not play together with the multipledispatch. The multipledispatch package does take tuples; however, if this is used for several arguments this results in generating (number of explicit types in union-type) ^ (number of times this is used) elements. This may slow down dispatch. If we do decide to go for this I think we should include some dispatch timing tests to ensure this does not affect performance significantly.

typing.Union[], unfortunately, does not play together with the multipledispatch, so as it stands this PR is not ready for merging. The multipledispatch package does take tuples; however, if this is used for several arguments this results in generating (number of explicit types in union-type) ^ (number of times this is used) elements. This may slow down dispatch. If we do decide to go for this I think we should include some dispatch timing tests to ensure this does not affect performance significantly.

true. multipledispatch doesn't work with typing.Union, but that's not why the build is failing. Line 8 in kufs.py
@Kuf.register(InducingPoints, Kernel, TensorLike)

worked before for Parameter because TensorLike was defined as object. Had it had been defined using the more specific (tf.Tensor, tf.Variable, np.ndarray) as suggested by the comments we'd see the above. In addition to your question about performance, there's also then the question: should TensorLikeTypes include Parameter, and if not what do we do with Kuf?
Regarding performance, would we expect multiple dispatch to be used in an optimization loop?

should TensorLikeTypes include Parameter?

Yes.

Regarding performance, would we expect multiple dispatch to be used in an optimization loop?

Multiple dispatch is crucial for conditionals() & co which is at the core of every GPflow model... so yes. It may be fine, but I'd want to see a speed comparison before approving these changes.

How about I just do
TensorLikeTypes = (object,) # should be (tf.Tensor, tf.Variable, np.ndarray, Parameter) but waiting on performance test

for now? I'd rather not get bogged down in more details than is needed for now. We'd retain the same level of functionality as before, just with a few extra types

How about I just do TensorLikeTypes = (object,) # should be (tf.Tensor, tf.Variable, np.ndarray, Parameter) but waiting on performance test for now?

I guess that could work. It's a bit unfortunate that it doesn't work as a type signature...!

How about I just do TensorLikeTypes = (object,) # should be (tf.Tensor, tf.Variable, np.ndarray, Parameter) but waiting on performance test for now?

I guess that could work. It's a bit unfortunate that it doesn't work as a type signature...!

This is the risk that one has to accept by taking using third party utilities over the stdlib

This is the risk that one has to accept by using third party utilities over the stdlib

I wish Python would provide multiple dispatch by default (in the stdlib)...
Did you already check whether sphinx pulls in the module level docstrings even without autodata?

I just realised that this is breaking backwards compatibility, if anyone actually used TensorLike to mean object before (e.g. in registering their own implementations for multipledispatch)... how do you think we should handle this ?

We can either:

class it as a bug fix (which is reasonable), and just take the flak for changing it
use TensorLike to refer to the tuple of (np.ndarray, ...), so the change wouldn't be less likely to impact users, and have a different name for the Union

Other ideas?

e.g.
TensorType = Union[np.ndarray, tf.Tensor, tf.Variable, Parameter]
TensorLike = (object,)  # (np.ndarray, tf.Tensor, tf.Variable, Parameter)

or instead of TensorType


Call the callback function without exiting

Just thought I'd extend your minor change with the same thing for callbacks. Merge if you are interested!

I guess this library is dead and I should just close this pull request?

Many thanks. Great work. It's merged now


Add Habana to Azure pipes to support HPU Tests

What does this PR do?

Fixes #<issue_number>
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@raoakarsha seems that this PR does hot include the integration so the testing will fail always...
so I would suggest merging this PR to the #11808


[WIP] closes #5093 - Changing page parameter concept for offset in API operations

Changing page parameter concept for offset in post API operations

This PR is looking great so far, only minor nitpick is to please update the commit message to have a description line like this: https://github.com/TryGhost/Ghost/wiki/Git-workflow#commit-messages as that's what goes in the changelog.

@edsadr sorry for leading you down the garden path with this one. We're not going to pursue this change for the reasons explained in https://github.com/TryGhost/Ghost/issues/5093#issuecomment-146580164.

not a problem will check next week other issues to engage


development language assumptions bad?

I'm wondering if it's "bad" to make so many assumptions on which languages people will want to develop with:
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'typescript', 'help' },
...
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'gopls' }

Granted, on one hand I can see how it's good to have examples, however:

Such assumptions can cause problems. One such example is this one for gopls: https://github.com/nvim-lua/kickstart.nvim/issues/58#issuecomment-1356899810
It's unnecessary to take the time to download and install so many language servers, when it's unlikely that most people will be developing in all those languages.

My opinion is that things should be a lot more minimal and "safe" (dependency-wise):
ensure_installed = { 'lua', 'vim', 'help' },
...
local servers = { 'sumneko_lua', 'vimls' }

Thoughts?

The README states: "This repo is meant to be used as a starting point for a user's own configuration; remove the things you don't use and add what you miss."
I don't think having a few servers and parsers as examples is a bad idea. That being said, I do think that removing gopls might be a good idea because it adds an extra system dependency (golang).

Curious... Does one need python installed for pyright? Or rust installed for rust_analyzer? Or a cc++ compiler for clangd? I'm on Linux, and those tools are by default available for me, so I honestly don't know. Not sure about Windows or Mac users, though.

Curious... Does one need python installed for the pyright language server to at least install (even if it won't "work")? Or rust available for rust_analyzer installation? Or a cc++ compiler available for clangd installation? I'm on Linux, and those tools are by default available for me, so I honestly don't know what would happen to Windows or Mac users if they don't have those tools installed.

Can confirm that I got error messages because  I don't have cc++ ( gcc, clang ) on my PC ( linux, opensuse tumbleweed ) but no issues with gopls ( I don't have go on my PC either ) or any of the others.

I wanted to show out of the box that many languages can be supported easily if you are developing with them. I don't think I'll remove them by default, it's pretty easy to remove.
I'll think about moving it back to a smaller amount of languages though.


add rencfs project

ℹ Repository information
The repository has:

[x] At least three issues with the good first issue label. https://github.com/radumarias/rencfs/issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue"
[x] At least 10 contributors.
[x] Detailed setup instructions for the project.
[x] CONTRIBUTING.md
[x] Actively maintained.

We have a slack channel and there we are 10 contributors. Some prefer to work on their fork that's why not all are visible in projects collaborators page. You can see all here

added some more details.
any update on this


Qt6 support

😢 I tried my best but cannot make Qaterial support both Qt5 and 6 at the same time
In this case, a new branch is needed, to continue working with both 5 and 6.
Since WASM is still under heavy development, I think this PR can be delayed until they stabilize everything in Qt 6.2
See: https://bugreports.qt.io/browse/QTBUG-78647
Changes:

added qt5compat Qt extra module in CI configuration, this is required when using QtGraphicalEffects
find_package now finds Qt6 only
removed all versioned QML imports, Qt6 supports versionless QML import which ensures the latest version is used.
updated QOlm to commit https://github.com/OlivierLDff/QOlm/commit/13a6cf91ee21f3f558fcebf0f3b683e4f21018e9
in qml/Qaterial/ApplicationWindow.qml IDK why overlay should be written as Overlay
removed qtquick_compiler_add_resources and use qt6_add_resources instead, since https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=36b253eebdf5169709475a8e9b4726f3d19a771b
upstream commit https://github.com/OlivierLDff/Qaterial/commit/8ab7d4678586d2afd1085441cc160f48dbe68601 and https://github.com/OlivierLDff/Qaterial/commit/61748ffdf53c8e18955685b72fce15d3da3883bb
in qml/Qaterial/Style.qml the != and == is replaced by !== and === (hell no javascript)
added template type in src/Qaterial/ColorTheme.cpp, float is used since QColor returns floats rather than double
AA_EnableHighDpiScaling attribute is now deprecated and HiDPI scaling is always on

TODOs:

RegExpValidator needs to be replaced by QRegularExpressionValidator https://code.qt.io/cgit/qt/qtdeclarative.git/log/?qt=grep&q=RegExpValidator done

Yes i think we really need 6.2 to merge into master.

My idea is when 6.2 will go out, is to only use Qt6 and drop support for Qt5. Since they said everything should be there.
QtGraphicalEffects will be build as a standalone library if i understand well, so we won't need compat with Qt6

Thanks for preliminary work.
Maybe some stuff can already premerged:

RegExpValidator to RegularExpressionValidator
The QColor stuff
AA_EnableHighDpiScaling

I'm putting back discord of Qaterial here if you are interested : https://discord.gg/Bb5SeCD7

Thanks anyway, but I rarely use Discord, so sorry about that.

just rearranged some commits, probably https://github.com/OlivierLDff/Qaterial/pull/111/commits/0d1b5bb2dd59e451af61550e04a21b2e5b675901 https://github.com/OlivierLDff/Qaterial/pull/111/commits/7e2e4b9fb097c4d58064f620470553559c56b881 https://github.com/OlivierLDff/Qaterial/pull/111/commits/3181e66980a15201650b0c5d981be650085db3dc and https://github.com/OlivierLDff/Qaterial/pull/111/commits/b63b7cc452130cbecb6d4b8a0f28426fd8ba0b06 can be merged now.

Hi, the commit https://github.com/OlivierLDff/Qaterial/pull/111/commits/88209d5225b2cc9fcf5d051e0289b979027e284c removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need or "porting" or "migration".

Hi, the commit 88209d5 removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need for "porting" or "migration".
For now I'll mark this PR ready-to-review but I think it's better to be cherry-picked (as some changes are already merged)

Thanks for this work, i'm looking forward, once Qt 6.2 is out we will also upgrade https://github.com/KomodoPlatform/atomicDEX-Desktop to the last Qaterial !

Thanks a lot, I will wait for 6.2 before moving Qaterial to Qt6 too!

Hi, the commit 88209d5 removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need for "porting" or "migration".
For now I'll mark this PR ready-to-review but I think it's better to be cherry-picked (as some changes are already merged)

This is erroneous, you need to put back the Qt5CompactModule for QtGraphicalEffects, version 6.2 is not usable otherwise.

That's sad. but I was using my personally-built Qt dev branch and found the QtGraphicalEffects is actually working.
https://github.com/moodyhunter/QtSnapshot/actions
I may need further investigation.

That's sad. but I was using my personally-built Qt dev branch and found the QtGraphicalEffects is actually working.
https://github.com/moodyhunter/QtSnapshot/actions
I may need further investigation.

It's likely the unofficial way, atleast i was not able to start my app with Qt6 without the Qt5CompatMode using online installer, so i think the official way is to use the good include

Hi all, sorry for the late update, I was not working on QML within last month.
Just reverted the Core5Compat and the old QtGraphicalEffects module back. https://github.com/OlivierLDff/Qaterial/pull/111/commits/c3b8f695a26b55e1df4303f28214d73ca7d18259

Hi all, sorry for the late update, I was not working on QML within last month.
Just reverted the Core5Compat and the old QtGraphicalEffects module back. c3b8f69

is it also possible to fix the conflict ?

I merged this into my master branch and it worked like a charm! I tested only on Windows so far.

I started to merge:

AA_EnableHighDpiScaling attribute is now deprecated and HiDPI scaling is always on (https://github.com/OlivierLDff/Qaterial/pull/121)
added template type in src/Qaterial/ColorTheme.cpp, float is used since QColor returns floats rather than double (https://github.com/OlivierLDff/Qaterial/pull/122)
The regex stuff (https://github.com/OlivierLDff/Qaterial/pull/120)

Qt 6.3 released. When will Qaterial support Qt 6?
Thanks

No date for now, I'm not working on UI right now

Superseded by https://github.com/OlivierLDff/Qaterial/pull/157.
Feel free to add something in a new PR if something is missing from my pr


Update version to 0.15.8

Current version — 0.15.7 — is published and deleted from the plugin portal. A plugin cannot be re-published with the same version. So, we propagate the version further.

@alexander-yevsyukov, PTAL.


[Bug Report] Invalid log result

Describe the bug
A clear and concise description of what the bug is.
The log function returns an invalid value.
To Reproduce
Steps to reproduce the behavior:

Copy and past below code

# SPDX-FileCopyrightText: © 2023 Tenstorrent Inc.

# SPDX-License-Identifier: Apache-2.0

import torch
import pytest
import tt_lib
from tests.tt_eager.python_api_testing.unit_testing.backward_ops.utility_funcs import data_gen_pt_tt, compare_results

import ttnn
from tests.tt_eager.python_api_testing.sweep_tests import pytorch_ops

def data_gen_pt_tt(input_shapes, device, required_grad=False, val=1):
    pt_tensor = (torch.ones(input_shapes, requires_grad=required_grad) * val).bfloat16()
    tt_tensor = (
        tt_lib.tensor.Tensor(pt_tensor, tt_lib.tensor.DataType.BFLOAT16).to(tt_lib.tensor.Layout.TILE).to(device)
    )
    return pt_tensor, tt_tensor

@pytest.mark.parametrize(
    "input_shapes",
    (
        (torch.Size([1, 1, 32, 32])),
    ),
)
def test1(input_shapes, device):
    val = -1
    in_data, input_tensor = data_gen_pt_tt(input_shapes, device, True, val=val)

    print("input_tensor", input_tensor)

    golden_tensor = pytorch_ops.log(in_data)
    tt_output_tensor_on_device = tt_lib.tensor.log(input_tensor)

    print("tt_output_tensor_on_device", tt_output_tensor_on_device)
    print("golden_tensor", golden_tensor)

Run with pytest

input_tensor ttnn.Tensor([[[[-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               ...,
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000]]]], shape=Shape([1, 1, 32, 32]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
tt_output_tensor_on_device ttnn.Tensor([[[[-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               ...,
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500]]]], shape=Shape([1, 1, 32, 32]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
golden_tensor tensor([[[[nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          ...,
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan]]]], dtype=torch.bfloat16,
       grad_fn=<LogBackward0>)

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following environment information:

OS: [e.g. Ubuntu 20.04]
Version of software (eg. commit 2e5b96fae39079e7d120accec7b5f81c34f3924f)
Device: wormhole_b0

Additional context
Add any other context about the problem here.
It seems like other log operations such as log2 and log10 may also have similar issues.

Hi @hschoi4448 , @eyonland @tt-aho @jliangTT
for fixing this issue, we need to add some conditions in ckernal file, for wh it is located at tt_metal/hw/ckernels/wormhole_b0/metal/llk_api/llk_sfpu/ckernel_sfpu_log.h but it is not available for gh, so the changes are need to be done in submodules.
We tried the same to add the changes in submodules and in PR creation page, those changes are not shown
Can I get some suggestions regarding this?

Hi @hschoi4448 , @eyonland @tt-aho @jliangTT for fixing this issue, we need to add some conditions in ckernal file, for wh it is located at tt_metal/hw/ckernels/wormhole_b0/metal/llk_api/llk_sfpu/ckernel_sfpu_log.h but it is not available for gs, so the changes are need to be done in submodules. We tried the same to add the changes in submodules and in PR creation page, those changes are not shown Can I get some suggestions regarding this?

@Aswinmcw I'm not sure what the issue you're seeing is. Hitting the link you sent I see your changes shown below

You would need to push/merge your changes in the appropriate submodule repos and then update the submodule hashes appropriately

Hi @hschoi4448 , @eyonland @tt-aho @jliangTT for fixing this issue, we need to add some conditions in ckernal file, for wh it is located at tt_metal/hw/ckernels/wormhole_b0/metal/llk_api/llk_sfpu/ckernel_sfpu_log.h but it is not available for gs, so the changes are need to be done in submodules. We tried the same to add the changes in submodules and in PR creation page, those changes are not shown Can I get some suggestions regarding this?

@Aswinmcw I'm not sure what the issue you're seeing is. Hitting the link you sent I see your changes shown below

@tt-aho , i have changed 3 files in total, 1 in tt repo and 2 in submodules, in changes page, those 2 files in submodules is not showing, thats my doubt

Submodule changes only show the hash changes, not the files changed. You would need to click/compare the changes on the submodule repo, but I think you need to push your changes to the actual remote submodule repos first as I can't find the commits you're updating it to in them.

input_tensor ttnn.Tensor([[[[-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               ...,
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000],
               [-1.00000, -1.00000,  ..., -1.00000, -1.00000]]]], shape=Shape([1, 1, 32, 32]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
tt_output_tensor_on_device ttnn.Tensor([[[[-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               ...,
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500],
               [-4.37500, -4.37500,  ..., -4.37500, -4.37500]]]], shape=Shape([1, 1, 32, 32]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
golden_tensor tensor([[[[nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          ...,
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan],
          [nan, nan, nan,  ..., nan, nan, nan]]]], dtype=torch.bfloat16,
       grad_fn=<LogBackward0>)

still has a problem. Please check again. @Aswinmcw  @tt-aho @jliangTT @razorback3
hash: a059360c5f356621d37963009ccd5a8089a71432
arch: wormhole_b0

Hi @rtawfik01 ,
Issues happens due to -ve value hasn't been handled.
Since the file is from third_party we couldn't able to handle such issues from our end and we verified locally after our change.

Merged, hence closed!

@ruthreshx Can you add the description of you observation here?

Hi @umadevimcw , @eyonland , @hschoi4448 ,
The formula is:
power_log = mul (log(x), scalar)
x = -1.5469, scalar = 0.5371
With the above fix.
Step1: log(-1.5469) => NaN
step2: NaN * 0.5 = returns<PHONE_NUMBER>90703847597530955573826158592.00000 expected result is NaN
I noticed one more thing, If NaN multiplies with any decimal value from 0.0 to 0.66 it returns above bigger value.
The fix is proper only, because for the -ve value log should return NaN.
We need to create a separate ticket over there, to handle such issues from the mul_sfpu kernel.

Hi @hschoi4448 , @eyonland ,
Please find the separate ticket for handling NaN issues in mul_sfpu.
Ticket: https://github.com/tenstorrent/tt-metal/issues/12776

Current status: https://github.com/tenstorrent/tt-metal/issues/12776
Need inputs from LLK team


Interface with external memory system

While olympia already has a simple memory system, it would be good to connect it to the gem5 memory system (ruby / m5)
Technical Details: TBD

Related issue: https://github.com/riscv-software-src/riscv-perf-model/issues/60


Seek and Destroy Bug

Challenge Seek and Destroy has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

function destroyer(arr) {
  // Remove all the values
  return arr;
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);

My text:
Where are the arguments that should be passed to the function? In my opinion, it should have at least tree more variables besides arr

@schoebli93 please take a look at the "helpful links" in the "Seek and Destroy" challenge page, especially the "Arguments object" link. That should clear any confusion. If you get stuck or have questions with a challenge in the future, please first ask questions to the Help Room. Happy coding!


ShadowDOM with AMD broken?

monaco-editor version: 0.20.0
Browser: Chrome
OS: Windows
Codepen that shows the issue: https://codepen.io/DrNiels/pen/xxGEjYX
I'm glad to see that Monaco can be used in a ShadowDom now. Unfortunately, I didn't get it to work. I followed steps very similar to the AMD sample (https://github.com/microsoft/monaco-editor-samples/tree/master/browser-amd-editor), but multiple aspects are broken:

The blinking cursor does not move visually when clicking anywhere or writing text
Scrolling breaks the displayed code
Line numbers are not shown
The column where the line numbers should be, ranges into the header

I'm not sure if the issues are due to the AMD loading, but as you have tests for ShadowDOMs that utilize webpack, I thought that could be the difference.
I hope I didn't do some dumb mistake, but the posted Codepen is mostly Copy + Paste from the sample plus some ShadowDOM adjustments.  When I remove the ShadowDOM part, everything works as intended

@DrNiels There is one burden on you which the editor does not handle automatically because it depends from integrator to integrator and from AMD to ESM, etc.
The extra burden is that you need to make sure you load somehow the editor's CSS inside the shadow root. In your sample, the editor.main.css is loaded, but it is loaded in the global document. You would need some more code to copy those styles into the shadow root.
But not even that is sufficient, because font families cannot be defined in the shadow root, so you would need to define our codicon font in the global document.
Here is a sample:
https://github.com/microsoft/monaco-editor/blob/daabff0021fd6d4f5b57479b99b9a8ab900f951a/test/shadow-dom.html#L27-L43
Please let me know if you have any ideas about how this could be simplified for you as an integrator...

I have spend a lot of time trying to get the editor into a web component. Inspired by https://github.com/vanillawc/wc-monaco-editor which unfortunately is on 18.1 only - and did not initially fit what I needed - I tried to get the editor working in a lit-element https://lit-element.polymer-project.org/.
I get similar result as @DrNiels - I have tried the suggestions from the test/shadow-dom.html but haven't been able to get it right. The combination of workers - self environment - web-pack build and web-component shadow dom is simply too complex.
I can get it to work kind of ok - in the normal DOM with lit-element rendering to the non-shadow DOM root - however as soon as you combine multiple shadow DOM components - it gets hard to achieve that combination. I am almost at the stage where I am considering going back to an IFRAME implementation of monaco - which however has other disadvantages (more difficult to work with mutiple instances on same DOM page etc. - it is  possible - but gets hard to follow). Ideally I would love to see a web-component npm version of monaco-editor which could have all the attributes in the custom tag as well as it could have a promise fetch event that could be listened to by a parent component to deliver more complex model objects etc.
Having all the styles specific for monaco isolated in a web components shadow DOM as well as hiding all the underlying complexity of web workers etc. in the component seems ideal as far as I can see. IMO monaco editor as a self served web-component would be a very popular feature that could be used everywhere an editor is needed. In cases where multiple instances are needed - the web-component would allow that too as far as I can see.
It might be my lack of skills not being able to achieve this - but I have tried probably 1-2 weeks all together over the last years to achieve better encapsulation of this great editor in my application.

Thanks for the fast response! I fixed it by just loading the editor.main.css into my shadowDOM. In my productive system, this seems to completely fix the issue. My minimal example on CodePen still has the issue that the marker position is not displayed correctly: https://codepen.io/DrNiels/pen/poJREQo
To make this process simpler for developers, maybe you could add examples with ShadowDOM implementation into the monaco-editor-samples? Another helpful feature could be that you check if the required styles are available when monaco.editor.create is called and provide helpful error messages if something is missing?

I have added a sample at https://github.com/microsoft/monaco-editor-samples/tree/master/browser-amd-shadow-dom
This uses the following tricks:

imports codicon.ttf manually outside the shadow dom
uses 'vs/css': { disabled: true } to disable that the loader imports css globally
imports css inside the shadow dom manually via @import directive


Multiple series in the line chart?

Super useful plugin!
Is there a way to create XY (line charts) with multiple series (i.e., more than one dataset), e.g., something like:
- line black 300
	- Y1
		- 2
		- 4
		- 6
	- Y2
		- 6
		- 4
		- 2
	- Common X
		- 1
		- 2
		- 3

where Y1 and Y2 get plotted in the same chart
Supporting completely different series [e.g., (X1, Y1), (X2, Y2)] would probably be cumbersome, but assuming  series share the same X values [e.g., (X, Y1), (X, Y2)] would already be useful, by extracting Y values from all but the last list.

Hi! There is! Some of the chart formats already support multiple data formats on the same axis, e.g. the percentbar.
It's a matter of time. Will find some time to implement this!

Released in v1.10.0!

What is the syntax? Do you have an example? I don't seem to get it working, and somehow could not get it from the gif in the README

Hi it would be something like the below where in your y-axis, each series is separated by a comma.
line green 400
   x
        jan
        feb
        mar
   y
        200, 300
        300, 200
        400, 400

is there a way on this format to specify a color and a title of the 2 bars?


New Contract: Proxy.sol

Need a proxy contract to bundle transactions between Exchange.sol, Prime.sol, and Pool.sol.
AC:

Create then Sell function that would 1. mint prime, 2. transfer prime to dex, 3. list prime for sale on dex.
Any transactions that take more than 1 for the user should get bundled into this proxy contract.

Multiple tx's are built into contracts now.


无法本地启动服务

我想要部署项目到本地。
按照文档里面 node16 版本pnpm install / start , 提示当前版本需要18，

node  v18.20.4
npm 10.8.1
os window
当我用上面的版本操作，截图报错jest

然后我删除了package.json中的jest部分， 然后删除package.lock.yml
pnpm start 报错加密问题因为升级node18导致的
我用这个命令解决了，$env:NODE_OPTIONS="--openssl-legacy-provider"

但是最后报typescript 版本5.5.3 过高，我实在是想不到方法了

希望能出一个部署教程，方便一下非前端开发人员使用，感谢

I will take a look tonight. Thanks for your report.

BTW, may I ask what your purpose is to host it, why not use regex-vis.com instead?
How about I provide a Vercel Deploy Button to README.md?

It seems I should upgrade create-react-app to version 5. However, create-react-app is not currently under active maintenance. I have decided to migrate to Vite. Maybe this weekend.

BTW, may I ask what your purpose is to host it, why not use regex-vis.com instead?
If you want to deploy this project, how about I provide a Vercel Deploy Button to README.md?

Thank you for your reply. I find this project very interesting and would like to debug it locally.

Thank you! You can track the process in this PR

I believe this issue is fixed at https://github.com/Bowen7/regex-vis/pull/127. Feel free to reopen the issue if you still cannot run the app


[WIP] Fix OFFTK #1783

Description
Further support for Interchange combination using components created by OpenMMForceFields
cc https://github.com/openforcefield/openff-toolkit/issues/1783
companion to https://github.com/openforcefield/openff-toolkit/pull/1817
Checklist

[ ] Add tests
[ ] Lint
[ ] Update docstrings

Now part of #883


Simplify demo day past projects pages & add event details to page

There's a registerOnly variable that can be changed to false to show the project data when we have them.


Demo crashing in release mode [using GCC 13]

The demos work fine in debug mode but just pause and crash in release mode.
I am on fedora 38 and using the newest version of chipmunk and I am compiling with gcc 13.1.1.

I can confirm that, the demo computes fine until the ballBody hits the ground.
I just built the 7.0.3 release on arch linux using gcc 13.2.1
(BTW: As far as I can tell this seems to be the only proper physics library written in pure C, which makes it quite unique and wonderful.)
here is my output:
Time is  0.00. ballBody is at ( 0.00, 15.00). It's velocity is ( 0.00,  0.00)
Time is  0.02. ballBody is at ( 0.00, 15.00). It's velocity is ( 0.00, -1.67)
Time is  0.03. ballBody is at ( 0.00, 14.97). It's velocity is ( 0.00, -3.33)
Time is  0.05. ballBody is at ( 0.00, 14.92). It's velocity is ( 0.00, -5.00)
Time is  0.07. ballBody is at ( 0.00, 14.83). It's velocity is ( 0.00, -6.67)
Time is  0.08. ballBody is at ( 0.00, 14.72). It's velocity is ( 0.00, -8.33)
Time is  0.10. ballBody is at ( 0.00, 14.58). It's velocity is ( 0.00, -10.00)
Time is  0.12. ballBody is at ( 0.00, 14.42). It's velocity is ( 0.00, -11.67)
Time is  0.13. ballBody is at ( 0.00, 14.22). It's velocity is ( 0.00, -13.33)
Time is  0.15. ballBody is at ( 0.00, 14.00). It's velocity is ( 0.00, -15.00)
Time is  0.17. ballBody is at ( 0.00, 13.75). It's velocity is ( 0.00, -16.67)
Time is  0.18. ballBody is at ( 0.00, 13.47). It's velocity is ( 0.00, -18.33)
Time is  0.20. ballBody is at ( 0.00, 13.17). It's velocity is ( 0.00, -20.00)
Time is  0.22. ballBody is at ( 0.00, 12.83). It's velocity is ( 0.00, -21.67)
Time is  0.23. ballBody is at ( 0.00, 12.47). It's velocity is ( 0.00, -23.33)
Time is  0.25. ballBody is at ( 0.00, 12.08). It's velocity is ( 0.00, -25.00)
Time is  0.27. ballBody is at ( 0.00, 11.67). It's velocity is ( 0.00, -26.67)
Time is  0.28. ballBody is at ( 0.00, 11.22). It's velocity is ( 0.00, -28.33)
Time is  0.30. ballBody is at ( 0.00, 10.75). It's velocity is ( 0.00, -30.00)
Time is  0.32. ballBody is at ( 0.00, 10.25). It's velocity is ( 0.00, -31.67)
Time is  0.33. ballBody is at ( 0.00,  9.72). It's velocity is ( 0.00, -33.33)
Time is  0.35. ballBody is at ( 0.00,  9.17). It's velocity is ( 0.00, -35.00)
Time is  0.37. ballBody is at ( 0.00,  8.58). It's velocity is ( 0.00, -36.67)
Time is  0.38. ballBody is at ( 0.00,  7.97). It's velocity is ( 0.00, -38.33)
Time is  0.40. ballBody is at ( 0.00,  7.33). It's velocity is ( 0.00, -40.00)
Time is  0.42. ballBody is at ( 0.00,  6.67). It's velocity is ( 0.00, -41.67)
Time is  0.43. ballBody is at ( 0.00,  5.97). It's velocity is ( 0.00, -43.33)
Time is  0.45. ballBody is at ( 0.00,  5.25). It's velocity is ( 0.00, -45.00)
Time is  0.47. ballBody is at ( 0.00,  4.50). It's velocity is ( 7.32, -1.83)
(here the program hangs indefinitely)

Hmm. It seems to stuck in recursion in cpSpaceProcessComponents(), but only using GCC 13? I poked at it for a while, but not quite sure what's going on yet.

I don't have a fix for this yet, and haven't had much time to work on it.
As a workaround you can do space->sleepTimeThreshold = INFINITY to disable object sleeping as a temporary workaround.

@slembcke You were right that cpSpaceProcessComponents raises this bug. I have debugged code and found problem in FloodFillComponent. In CP_BODY_FOREACH_ARBITER loop replaced as for(cpArbiter *var = bdy->arbiterList; var; var = cpArbiterNext(var, bdy)) cpArbiterNext(var, bdy) never returns NULL value. I think thread_a.next and thread_b.next variables and in struct cpArbiter was not initializing at some moment. I know that in linux(not in windows) variables can filled by junk. Program run many times CP_BODY_FOREACH_CONSTRAINT iterations(this loop doesnt stop) with one cpArbiter pointer. I have not found where thread_a.next and thread_b.next must be equaled by NULL yet.
static inline void
FloodFillComponent(cpBody *root, cpBody *body)
{
	// Kinematic bodies cannot be put to sleep and prevent bodies they are touching from sleeping.
	// Static bodies are effectively sleeping all the time.
	if(cpBodyGetType(body) == CP_BODY_TYPE_DYNAMIC){
		cpBody *other_root = ComponentRoot(body);
		if(other_root == NULL){
			ComponentAdd(root, body);
                        //CP_BODY_FOREACH_ARBITER doesnt stops!!!
//here		        CP_BODY_FOREACH_ARBITER(body, arb) FloodFillComponent(root, (body == arb->body_a ? arb->body_b : arb->body_a));
			CP_BODY_FOREACH_CONSTRAINT(body, constraint) FloodFillComponent(root, (body == constraint->a ? constraint->b : constraint->a));
		} else {
			cpAssertSoft(other_root == root, "Internal Error: Inconsistency dectected in the contact graph.");
		}
	}
}

Thank you for you work. I am looking forward to use chipmunk.

I have merged commit with this bug fix.

@slembcke Check the new commit please.

@slembcke Check the new pull request please.

I tried the workaround, but still get the freeze.
I can not directly access the members of space.
Instead I call cpSpaceSetSleepTimeThreshold(space, INFINITY).
Is there an update on this?

not sure about this but does this have a baring ?
In file included from /home/chris/development/Chipmunk2D/include/chipmunk/chipmunk_private.h:25,                  from /home/chris/development/Chipmunk2D/src/cpBBTree.c:25: /home/chris/development/Chipmunk2D/src/cpBBTree.c: In function 'partitionNodes': /home/chris/development/Chipmunk2D/include/chipmunk/chipmunk.h:72:26: warning: argument 1 range [18446744071562067968,<PHONE_NUMBER>3709551615] exceeds maximum object size<PHONE_NUMBER>854775807 [-Walloc-size-larger-than=]    72 |         #define cpcalloc calloc /home/chris/development/Chipmunk2D/src/cpBBTree.c:760:38: note: in expansion of macro 'cpcalloc'   760 |         cpFloat *bounds = (cpFloat *)cpcalloc(count*2, sizeof(cpFloat));       |                                      ^~~~~~~~ In file included from /home/chris/development/Chipmunk2D/src/cpBBTree.c:22: /usr/include/stdlib.h:675:14: note: in a call to allocation function 'calloc' declared here   675 | extern void *calloc (size_t __nmemb, size_t __size)       |              ^~~~~~

by adding
set(CMAKE_C_COMPILER "clang")
to the cmake config (CMakeLists.txt) and re-running cmake I no longer see that error message (possibly related then??) and I no longer see this issue... GCC bug ??


[Feature Request] Xml in node

Hi, It's me again,
Thanks for your great nodes. I'm using them more and more to control my camera's, all is working great.
What I'm missing now is a XML in node.
It would be handy if you can ask for example the camera if motion detection is enabled or not. Can be used for example to see if the motion detection is enabled in the dashboard by a led or something.
Sending a path /ISAPI/System/Video/inputs/channels/1/motionDetection to the camera and get the XML back.
It should then be very handy if the node outputs the received XML as json.
msg = {   "enabled": true,   "enableHighlight": true,   "samplingInterval": 2, etc.... }
Thanks

Use GET instead of PUT

See the sample on gitHub Readme

Good. Please star my node if not already done.
The new official version will be out tomorrow.
cheers!


fix: use tilde instead of caret for dependencies that could break CI

I'm in dubio here, as using carets (^) won't cause problems like https://github.com/mysticatea/eslint4b/pull/14#issuecomment-903315268
On the other hand, CI will break once one of these packages release a minor update that includes adding/deprecating a rule, because we have scheduled workflow runs.
Tests will also fail once we update locally.
Since adding a new rule to a config is a breaking change (as it can cause more linting errors), I think it's OK to use tilde (~) instead.
@eslint-community/core-team @eslint-community/mysticatea-eslint-plugin WDYT about this?
Do you maybe have a better solution?

Codecov Report
Base: 97.17% // Head: 97.17% // No change to project coverage :thumbsup:

Coverage data is based on head (f91e1ba) compared to base (5bb8f04).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             beta      #29   +/-   ##
=======================================
  Coverage   97.17%   97.17%
=======================================
  Files          39       39
  Lines         389      389
=======================================
  Hits          378      378
  Misses         11       11

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

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


Explicitly pass stream to cudf detail APIs

In preparation for rapidsai/cudf#11967, this updates the code to explicitly pass the stream argument to cudf::detail APIs.  This also fixes a build issue caused by #676 since cudf::default_stream_value is no longer available.

build

build


Dedicated Host Group: ResourceGroup name has wrong case

While working on a new terraform resource for a Dedicated Host Group ( terraform-providers/terraform-provider-azurerm#5048 ) I stumbled across an issue with upper case resource group names.
Step to reproduce:

create a resource group named magodo-rg
create a dedicated host group in this resource group

API request: https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/magodo-rg/providers/Microsoft.Compute/hostGroups/magodo_host_group?api-version=2019-03-01
The API response for the dedicated host group resource is like:
{
  "name": "magodo_host_group",
  "id": "/subscriptions/{{subscriptionId}}/resourceGroups/MAGODO-RG/providers/Microsoft.Compute/hostGroups/magodo_host_group",
  "location": "eastus2",
  "properties": {
    "platformFaultDomainCount": 1
  }
}

The problem is that the resource group is uppercased in the id attribute.
Expected Behaviour:
Having an id with resource group name magodo-rg.
This is the behaviour when creating most other resources in azure.

@tombuildsstuff, this behavior is by design in the API. It is not a bug. Feel free to open a feature request in UserVoice for a design change (aka feature).


Looking for new maintainer

Hello everyone,
I have seen new issues & pull requests since the start of 2015, but had not time to look at it.
I have maintain this gem for a quite a while (since 2013), but I must say I am not using it anymore and do not have the time to maintain it properly now. In most case, sprockets and other new frontend build tools (ex. broccoli) do an excellent job for my needs. Still, I am cool with diversity and keeping sinatra-assetpack alive too, but I do not have personally the time to manage it and keep it up to date.
So I would gladly give the maintainer responsibilities to someone else (with @rstacruz agreement).
Thanks everyone
@evoloshchuk @dgmstuart @Thermatix @idoo @ravicious @aslakhellesoy @FernE97 @rzhou186 @natesalisbury @dhananjaysathe @franzk @Rendez @leoc

:muscle:

Can I ask you a personal question?
As a newcomer to Sinatra (one week, having a great time so far), should I use this gem, or is sprockets a better choice?  (In light of the current availability of maintainers for each.)

@odigity I would personally use Sprocket as there is now a few good integrations with Sinatra.

@j15e I agree.

I vote for eventual deprecation of this gem and making a note to migrate to sprockets.

I think sprockets a little more involved but ultimately worth doing, and meny of the more modern gems make use of it like opal for example.
I agree with @rstacruz.

I'm no expert, but I'm guessing that can be accomplished by:

Adding an all-caps note in the README and repo title.
Adding a puts statement to the gemspec with a deprecation warning that people will see whenever the gemspec is evaluated (when the gem is installed).
Bumping the version and pushing to rubygems.

Right?

@odigity prettymuch.

I found 2 gems that could replace assetpack for a sinatra project :
https://github.com/kalasjocke/sinatra-asset-pipeline
https://github.com/petebrowne/sprockets-helpers
I do not think one of them is a clear winner as one is supporting sprocket 3.0 but the other is more popular & simpler to use. We could refer to both alternatives in the deprecation notice.
I'll try to ask Sinatra maintainers what they think about it on their slack maybe they would have other suggestions.

@odigity I just made a final release with a post install notice as you suggest (thanks).

Thank you so much, @j15e.

I would also like adding note about deprecation to the recipes.sinatrarb.com post.


Controlling Access to the Kubernetes API

Since https://github.com/kubernetes/kubernetes/pull/95856 is merged, following paragraph:
By default, the Kubernetes API server serves HTTP on 2 ports:

localhost port:

is intended for testing and bootstrap, and for other components of the master node (scheduler, controller-manager) to talk to the API
no TLS
default is port 8080, change with --insecure-port flag.
default IP is localhost, change with --insecure-bind-address flag.
request bypasses authentication and authorization modules.
request handled by admission control module(s).
protected by need to have host access

here
is no longer true

Hey hidalgopl, I can work on this. I reviewed #95856. If I get it right, removing "change with --insecure-port flag" is enough. Please let me know if I miss anything.
/assign

Hey hidalgopl, I can work on this. I reviewed #95856. If I get it right, removing "change with --insecure-port flag" is enough. Please let me know if I miss anything.
/assign

sounds good, thank you :+1:

This issue seems okay to be closed, since the PR #29447 is merged.
/close


Make it transparent what happens when hitting the submit button

Some ideas

Show an additional summary page before being able to submit
Rename the submit button to "create note in OSM" or maybe better textually add that "a note will be created and it is up to the community how fast this will be reflected in the map". So that people will not wonder why / when their business will be visible on the map
Add a "thank you for creating ..." banner / page / hint after submitting, so that you know it worked

I like the final summery/ conformation page. It's a good way to catch typing errors and hopefully will reduce duplicate posts (maybe??).
2a. I'm not sure we can make it clearer that you are basically creating a change request that will be handled by a volunteer. Beyond the "dot org" and language that is already present, people can't expect a volunteer non-profit group to jump into action just to make sure they are on map within a certain time-frame. If it is that important to them, they can have a SEO or another advertising profession to add their business immediately.
2b. There is also a lot of language translation overhead involved even with small changes to button and other messages.
Think we have a "thank you" message but have no problem adding one if we don't.


unexpected crash

Crashed when run ./cpu_rec_rs  /bin/bash

Debian 11
rustc 1.70.0

$ RUST_BACKTRACE=1 ./cpu_rec_rs  /bin/bash
Loading corpus from cpu_rec_corpus/*.corpus
thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', src/main.rs:91:26
stack backtrace:
   0: rust_begin_unwind
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
   1: core::panicking::panic_fmt
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14
   2: core::panicking::panic_bounds_check
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:162:5
   3: <usize as core::slice::index::SliceIndex<[T]>>::index
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/index.rs:261:10
   4: core::slice::index::<impl core::ops::index::Index<I> for [T]>::index
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/slice/index.rs:19:9
   5: <alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/vec/mod.rs:2691:9
   6: cpu_rec_rs::predict
             at /home/cpu_rec_rs/src/main.rs:91:26
   7: cpu_rec_rs::guess_with_windows
             at /home/cpu_rec_rs/src/main.rs:109:20
   8: cpu_rec_rs::main
             at /home/cpu_rec_rs/src/main.rs:243:18
   9: core::ops::function::FnOnce::call_once
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Indeed this is a very unhelpful way of bailing out when the corpus_directory is not found. I'll make it clearer soon.

Fixed. Thanks for the report.


Provide audio description information in analytics labels

Description
This PR provides audio description information in analytics labels, as requested elsewhere.
Changes made
Self-explanatory.
Checklist

[x] APIs have been properly documented (if relevant).
[x] The documentation has been updated (if relevant).
[x] New unit tests have been written (if relevant).
[x] The demo has been updated (if relevant).

Pillarbox has been updated similarly.


Avoid globbing (depends on #4)

This merge request is on top of https://github.com/openSUSE/nvidia-driver-G06/pull/4, once that is merged, this can be rebased and the commit contained in the above merge request will disappear.
id globbing everywhere, it makes it very hard to edit and check which file is where. Instead of globbing everything and adding excludes all over the place, do the opposite, explicitly declare where files are.
On top of that, do not ship the nvidia-persistenced-init.tar.bz2 tarball in git and associated scripts, what nvidia-persistenced needs it's just a simple systemd unit.

Rebased.

The diff in 'Avoid globbing' now contains rebase artefacts  - like <<<<<<< HEAD

Fixed, sorry, let's check the opencl one before rebasing again.

Rebased on latest main.

Nope, sorry, 1 second. On our side it was done after many commits bringing up to 560. I missed a few pieces.


How to create user in hello world example? I have problem with DateTime type?

I am trying
mutation {
  createOneUser(data: {
    id: "1",
    email<EMAIL_ADDRESS>    birthDate: "2007-12-03"
  }) {
    id
    email
  }
}

But have error
Argument birthDate: Got invalid value '2007-12-03' on prisma.createOneUser. Provided String, expected DateTime.

I am trying
mutation {
  createOneUser(data: {
    id: "1",
    email<EMAIL_ADDRESS>    birthDate: { year: 2007, month: 12, day: 3}
  }) {
    id
    email
  }
}

But have error
Argument birthDate: Got invalid value
{
  year: 2007,
  month: 12,
  day: 3
}
on prisma.createOneUser. Provided Json, expected DateTime.

This is also invalid
Argument birthDate: Got invalid value
{
  date: '2018-06-29',
  dateTime: '14:30:00.000Z'
}
on prisma.createOneUser. Provided Json, expected DateTime.

Source:
https://medium.com/open-graphql/top-5-graphql-scalars-3f8a38965b53

From:
https://graphql.org/learn/schema/
In most GraphQL service implementations, there is also a way to specify custom scalar types. For example, we could define a Date type:

scalar Date

Then it's up to our implementation to define how that type should be serialized, deserialized, and validated. For example, you could specify that the Date type should always be serialized into an integer timestamp, and your client should know to expect that format for any date fields.

But I can't find any documentation about DateTime used in prisma


Refresh Devices

This solves the issue of refreshing the device list whenever it changes, including headphones being plugged in.
Pulls in SimplyCoreAudio, since it provides a list of functionality including event notifications and consistent ordering of devices when iterating.
SCA does require 10.12 or greater, so this also bump that requirement up a bit.

There will be a merge conflict after #9 is merged. I will resolve it after #9 is merged.

Any update on this? I have to quit the app after connecting to my AirPods every time and relaunch. This seems like it'll resolve it.


Make hops-local-cli extensible

This is my intent (choose one)

[ ] I want to report a bug
[ ] I want to request a feature or change
[X] I want to provide or change a feature

The problem
Currently, hops-local-cli contains all supported commands (except init). It can only be extended by updating its source. We already have a couple of use cases (e.g. optional build/serve commands) in which it could seem desirable to have a more flexible, dynamic solution.
Proposed solution
Move existing commands to the appropriate packages (e.g. hops-express, 'hops-build) and expose them as executables of those packages. Have these executables named hops-, e.g. hops-build, hops-developinnode_modules/.bin` and make them work in standalone-mode, as well.
module.exports = function command (callback) {
  return {
    /* ... */
  };
};

if (require.main === module) {
  // load hops local cli if called directly
  var cli = require('hops-local-cli');

  // access exported command definition
  var def = module.exports();

  // use definition to register command in hops-local-cli
  cli.args.command(def);

  // append defined command to have it executed
  cli.run([def.command].concat(process.argv.slice(2)));
}

Adapt hops-local-cli to scan node_modules/.bin to dynamically find and register hops-* commands. Add args to hops-local-cli's exports.

@matthias-reis, @ZauberNerd: PTAL

By the way, this is somewhat similar to what Git is doing.


Define Complex.zeroTangentVectorInitializer.

The Differentiable.zeroTangentVectorInitializer protocol requirement is a closure producing a zero tangent vector, capturing minimal information from self.

Documentation
Default synthesis

Fixes the Complex: Differentiable conformance for master toolchains:
$ swift --version
Apple Swift version 5.3-dev (LLVM f516ac602c, Swift 09ea5fd1f7)
Target: x86_64-apple-darwin19.3.0

$ swift build
swift-numerics/Sources/ComplexModule/Differentiable.swift:15:1: error: implementation of 'Differentiable' cannot be automatically synthesized in an extension in a different file to the type
extension Complex: Differentiable
^
swift-numerics/Sources/ComplexModule/Complex.swift:48:15: note: type declared here
public struct Complex<RealType> where RealType: Real {
              ^

Necessary after https://github.com/apple/swift/pull/31823, which removed the temporary default implementation of Differentiable.zeroTangentVectorInitializer.

cc @rxwei

Why was this broken? I thought we specifically made the patch that added zeroTangentVectorInitializer synthesis be source compatible.

zeroTangentVectorInitializer synthesis is source-compatible, except that cross-file synthesis is disallowed for all existing derived conformances. I think the diagnostic makes that clear.
We could consider lifting the same-file synthesis restriction just for Differentiable.zeroTangentVectorInitializer. I'm not sure if that has negative implications.

@stephentyrone: could you please take a look?
This fix helps unblock apple/swift-numerics users using Swift master toolchains.


Upgrade node to v12.13

This update move the needle to 12.13.0 for the node version that is use to install packages.

@helpscout/javascripters-js Test are still not passing, it's related to the async way of loading svg from a babel plugin. The loading is timing out and causing an error to be thrown. Weird thing is that it's working totally fine when building or running storybook
I tried moving to https://github.com/airbnb/babel-plugin-inline-react-svg but we can't namespace our icon, and it requires refactoring how we inject icons. https://github.com/smooth-code/svgr could be a solution, but it would require running a script to build to icon, or force a svg loader in webpack
I am open to ideas on ways we could resolve the tests not working at all right now with the actual plugin

🤔

Closing the PR. In v3 we did update to node 12.13 and refactors Icon to use https://github.com/airbnb/babel-plugin-inline-react-svg.


Is this project still alive?

@mattupstate friendly ping whether there this project is still active. I've seen several issues without response and the last commit is from > 1yr ago. Discussing the best implementation of RQ with flask in nvie/rq#538.

it is :-)


file:///C:/Users/Lenovo/Downloads/2.html

Environment (please complete the following information):

OS (e.g., Windows 10):
Extension version (e.g., 1.2.3):

Describe the bug:

Repro steps:

Expected behavior:

Additional context:

file:///C:/Users/Lenovo/Downloads/2.html


How I do change cursor shape?

How do I change cursor shape?
I have tried change cursor setting in settings json file to "solid",it does not react.

You've gotten far enough as to find the code, build the code, and find out that there's a cursorShape setting, and that's all fine and well...
The cursor shapes are filledBox, emptyBox, bar, underscore, and vintage.

@DHowett-MSFT Which file should I see to list of values of settings?

@KiYugadgeter I'm sure you could figure out how to search some text files for the words that Dustin listed above, no/ :)

Can I change the thickness of cursor if I set the cursorShape as "bar"?

Is there a way I can change the thickness of the cursor? I like it a bit thicker than "bar" and less than "filledBox".

@SanePai Check out the cursorHeight setting

@SanePai Check out the cursorHeight setting

I tried that. It works only with the "vintage" shape and a height of 100 is just the same as the "filledBox" shape.

Okay did you try other cursor heights? Like, 25 will be smaller than a filled box...

Okay did you try other cursor heights? Like, 25 will be smaller than a filled box...

Yeah. I did.
But that reduces the vertical dimension. I prefer mine full-sized vertically. I wanted to change the width of the cursor.

Ah, that's where the miscommunication was. I read "thickness" as "height". My bad!
We're tracking that feature request over in #3167

Oh okay. np.
Thanks. Ill keep an eye on that.


 Nope I'm just a complete fool, we don't. At all. This PR completely removes it and changes the default tab audio behaviour option from "nothing" to "pause".

WTF. I also reviewed the chrome.tabs docs for that PR and missed it as well. It's right there...

The majority of the chrome.tabs API can be used without declaring any permission. However, the "tabs" permission is required in order to populate the url, pendingUrl, title, and favIconUrl properties of Tab.

I just checked the Wayback Machine in case that was a recent clarification but no, it's always been there 🤡🤣

I swear I got a permission error too when I tried it without the perms, but I guess I was doing something different back then.


Symfony 6 compatibility

Hi,
I recently upgraded an app to Symfony 6.0 that uses spatie/browsershot, which itself requires spatie/image. Both state compatibility with several versions of symfony/process, but not with version ^6.0 of it. I managed to fix this with the following require line in my app's composer.json:
"symfony/process": "6.0.0 as 5.4",

That works fine, so it should be safe to allow version ^6.0 of symfony/process in both spatie/image and spatie/browsershot.
Greets!

Feel free to send a PR to add this!


Poor private key practices in repo

I know this is an example repo, but I can see a world where someone changes the .env files and accidentally exposes their private key to the world (which has happened in the past in other similar repos) when doing a PR

.env files must be untracked


tests: add rscTransform internal function tests

[x] server env: static 'use client'
[x] server env: static 'use server'
[x] server env: dynamic 'use server'
[x] client env: static 'use server'

Maybe I should rename test file name to avoid conflicting with #759.


Mechanic stuff (week 2)

We added a bunch of stuff

Lives and scores
Updated maze layout
Exclusive game mechanics

To be added

Winning state and losing state
AI for the enemy

yeah


Duplicated Event Definitions

Following the step-by-step, I've copied the Kaju Classes folder into my project. When I compile I get the following errors:
KajuUpdateWindow.hsSocket.ReceiveProgress Declaration
hsSocket on KajuUpdateWindow implements the event "ReceiveProgress," but its superclass Kaju.HTTPSSocket has already implemented the event.
Sub ReceiveProgress(bytesReceived as integer, totalBytes as integer, newData as string)
KajuUpdateWindow.hsSocket.DownloadComplete Declaration
hsSocket on KajuUpdateWindow implements the event "DownloadComplete," but its superclass Kaju.HTTPSSocket has already implemented the event.
Sub DownloadComplete(url as string, httpStatus as integer, headers as internetHeaders, file as folderItem)
KajuUpdateWindow.hsSocket.Error Declaration
hsSocket on KajuUpdateWindow implements the event "Error," but its superclass Kaju.HTTPSSocket has already implemented the event.
Sub Error(code as integer)
KajuUpdateWindow.shZipper.DecompressCompleted Declaration
shZipper on KajuUpdateWindow implements the event "DecompressCompleted," but its superclass Kaju.ZipShell has already implemented the event.
Sub DecompressCompleted(zipFile As FolderItem, containingFolder As FolderItem)
KajuUpdateWindow.shZipper.Error Declaration
shZipper on KajuUpdateWindow implements the event "Error," but its superclass Kaju.ZipShell has already implemented the event.
Sub Error()

It sounds like you dragged the raw files/folders into your project rather than opening one of the Kaju projects to copy-and-paste them into your project. Could that be it?

Yes, indeed, that could be it! lol.  But when I saw the word "folder" in "Copy the Kaju Classes folder into your project" I did not think of a Xojo "folder", I thought of a Finder folder. Maybe that could be made a little more explicit in the docs, e.g.: "In the IDE, copy the Kaju Classes folder from an example project into your project. " Thanks :)


x thread

I envision 2 possibilities for threads.

interactive mode.

$ x thread

Hello world

If you press enter it prompts you:
Press `space` to continue with 1/1 and add a new line
Press `enter` to continue with 2/2
Press `shift + enter` to send thread
Press `esc` to restart 1/1

I'd replace the -t command with this functionality and just tweet without any param like currently does but it's not documented btw.
May be feasible to implement color highlight when going above max char.

Reply to last tweet.
x -r "text"

So you can:
x "Hello"
x -r "world!"
Hello  tweet 1/2
world! tweet 2/2

Reply to id
x -r [id] "text"

Which can be combined with
x "Hello world!" ~> outputing the ID

These are some pretty neat ideas!
for the thread command
I like the interactive mode for creating a thread and I'm thinking about making it a separate command to be just x thread to enter the interactive mode and start typing as you mentioned.
I also like the color feature when exceeding the tweet limit and I'm gonna implement it.
About 2. (replying to the last tweet). It would be a useful successor to x thread if a tweet for example needs to be added to the thread after posting. Got it. It might as well include a reverse index (staring from 0) to be x reply -n 5 -c "text" to reply to the 4th most recent tweet.
for 3. what about a separate command x reply? Ex: x reply -i <tweet-id> -c <reply-text> or x reply -n <reverse-index> -c <reply-text> ( -n indicates the tweet number in recent order starting from 0, Ex: 1 for the 2nd most recent tweet in profile.
That said, I'm planning to change the structure of the whole tool to be more professional and add some features to be more complete instead of just posting a simple tweet.
first I would change the -t flag thing to be a longer command as follows
x tweet -c "hi" -w 2d5h6m7s -d 2024-12-12 -t 3:34pm
-c for tweet content

-w This is a wait flag that is optional for scheduling future tweets, in the previous example it's set to schedule the tweet to be posted after 2 days, 5 hours, 6 minutes, and 7 seconds (I might exclude the seconds). It also accepts multiple syntaxes like for example 5h, 2h6m, or 10m. As I said it's an optional flag and its default value is 0 indicating that the tweet should be posted now.
-d and -t: date and time is an alternative for -w to indicate the day and time to post the tweets. Also, the default value if they don't get passed is now. You can't also enter -w with them, You gotta choose one, either the -w flag or -d and -t. If you entered just -t I'm assuming you want the tweet to be posted today in the specified time. and ofc errors will rise if you entered a date in the past.

So, the only required flag is -c for the content. Ex: x -c "Hello" so that's replacing the -t flag which is gone now.
I might as well include an optional flag --output-id to show the tweet id as you said.

example
behavior
terminal output

x tweet -c "Hello"
Hello tweet gets posted
tweet  posted!

x tweet -c "Hello" --output-id
Hello tweet gets posted
tweet posted! \n id:

`x tweet -c "Hello" -d 12
posting a tweet on the 12th of the current month at the current time of the machine
tweet posted!

`x tweet -c "Hello" -d 5-15
posting a tweet on the 15th of May at the current time of the machine
tweet posted!

you might as well make an alias for x tweet -c to be tw for easier usage
So now we have 3 main commands
x tweet, x reply and x thread
any changes to the current commands or suggestions for new commands are welcomed
Thanks for your contribution

I agree with mostly everything you said but I have a couple remarks:
I would love to preserve the option to tweet like x "Hello world! so everything else should go under -param, -reply / -r, -thread / -t instead of x thread I do feel like non - params in cli is confusing. Most common use-case will be simply tweeting, so that being the no parameter option is so ergonomic.
Additionally you can add simply x that being a simplistic "tui" that let's you choose your option.
Option A
$ x

⦿ tweet
o reply
o thread

Option B
$ x

1. tweet
2. reply
3. thread

That would initiate the same interactive mode we mentioned earlier.
So you could do $ x -> enter(Option A) or 1(Option B) and be in the tweeting mode, it's so simple you just get muscle memory doing it twice.
Either option is fine, the numbers give you the same number of keys for all the options, but the other one feels more interactive and inviting, and probably both can be combined now that I think of it.
And of course TUI's have so many possibilities and are a slippery slope that may overcomplicate the project depending of what you want, but since you like Go, I suggest taking a look at https://github.com/charmbracelet/bubbletea
Regarding the options of scheduling, which I don't need but totally understand others might, I want to point out that it creates some complications when designing the UX, for instance, if creating threads is mainly interactive, params are stale and can not be used, or have to be used before knowing if you actually are sending it or not, feels a bit odd, perhaps scheduling only being available for regular tweets or replies which are more simple is totally fine for now, just be aware of this.
I would also say that if you are going to implement scheduling one feature that I don't know if it's implemented or not would be a character check instead of just failing to send, so that it fails right when you make the schedule tweet command, not when it tries to send it and fails(assuming char length error).
Let me know what you think ;)

For the non-params thing, I was following the syntax of the GitHub CLI tool if you are familiar with it. For example, it creates a GitHub repo like this gh repo create REPONAME --public --clone --gitignore Go --license it and it has other utilities you can check out their docs, it's pretty handy.
I also agree with you the x "Hello world!" should be preserved.
For the TUI x command, It's a great idea for taking the tool to the next level. I'm going with Option A with arrow navigation. Might as well create a combination of the two options or provide multiple ways for doing the same task to be more convenient.
About scheduling tweets idk I feel like I want to post something but I don't feel like posting it now, maybe in a few hours. Or, maybe I want to schedule something to be posted every day at a specific time. Some people may use the tool for advertising as example, on an enterprise level. This would be helpful and easily automated to post on its own when linked with some other software.
Also, I don't understand how the conflict is gonna happen in threads while scheduling tweets. Can you clarify? how params are could stale and what params exactly are you talking about? The initial idea was for regular tweets but might extend to threads as well. So, How exactly could this be odd?
No, character length checking is not implemented yet, but for sure I'm going to implement all sorts of validation before scheduling to be sure that the tweet is valid. I might also add a check for X Premium users and based on that I would add the necessary configurations for the logged-in user. All that said, It's going to be shipped with the text turning red feature when exceeding the limit we talked about later.

For the non-params thing, I was following the syntax of the GitHub CLI tool if you are familiar with it. For example, it creates a GitHub repo like this gh repo create REPONAME --public --clone --gitignore Go --license it and it has other utilities you can check out their docs, it's pretty handy.
I also agree with you the x "Hello world!" should be preserved.

I think these 2 are incompatible with each other, at least in a clean and convenient way.

The github CLI has several commands in which none of them seems to be more important than the rest so it makes sense to have different keywords, but not in this case, if you preserve x tweet and x thread what happens when you want to tweet that starts with tweet, x tweet does this produce a tweet with the word tweet or does it fails since it's a command without content? I just rather do -thread or -t to preserve the lack of - and assume whatever follows x is the tweet body.

About scheduling tweets idk I feel like I want to post something but I don't feel like posting it now, maybe in a few hours. Or, maybe I want to schedule something to be posted every day at a specific time. Some people may use the tool for advertising as example, on an enterprise level. This would be helpful and easily automated to post on its own when linked with some other software.
Also, I don't understand how the conflict is gonna happen in threads while scheduling tweets. Can you clarify? how params are could stale and what params exactly are you talking about? The initial idea was for regular tweets but might extend to threads as well. So, How exactly could this be odd?

Let me recap to make clear what I mean:

You can schedule like so:x "Hello world" -d 12

posting a tweet on the 12th of the current month at the current time of the machine

You can start interactive thread mode like so: x -t (or x thread it doesn't matter for this argument, but you know I favor the former)
Which starts the interactive mode in where you create you thread as we explained earlier in this issue,

Then imagine you wanted to combine the 2, you gotta first think of the scheduling and then on the content of the thread, it's backwards to me, in fact until I wrote every piece of the thread I don't even know if I want to publish it. so in my mind, doing x -t -d 12 feels odd because I scheduled a tweet that's yet to be written and that it may not be written(aborted).
So it makes more sense to me, that interactive mode... let's you specify the schedule... interactively through another option in the interactive flow... just like you can press a keyword/option for sending, appending a new one or aborting, you can just have another one for scheduling.
Also, addressing your scheduling design, let me give you my thoughts there too.

first I would change the -t flag thing to be a longer command as follows
x tweet -c "hi" -w 2d5h6m7s -d 2024-12-12 -t 3:34pm

-c for tweet content

-w This is a wait flag that is optional for scheduling future tweets, in the previous example it's set to schedule the tweet to be posted after 2 days, 5 hours, 6 minutes, and 7 seconds (I might exclude the seconds). It also accepts multiple syntaxes like for example 5h, 2h6m, or 10m. As I said it's an optional flag and its default value is 0 indicating that the tweet should be posted now.
-d and -t: date and time is an alternative for -w to indicate the day and time to post the tweets. Also, the default value if they don't get passed is now. You can't also enter -w with them, You gotta choose one, either the > -w flag or -d and -t. If you entered just -t I'm assuming you want the tweet to be posted today in the specified time. and ofc errors will rise if you entered a date in the past.

I think you can combine all this into one and do better parsing, I've seen plenty examples
For instance I much rather have a single param for scheduling that I have to remember that let's me:
now tomorrow mon/monday
now+5h
today,12:00
2024-12-12,12:00
1st 2nd
eoy end of year eom end of month
soy start of the year som start of the month
I think -s is the right one for scheduling
So tweeting hello world next monday becomes
x -s monday hello world or just for readability x -s monday "hello world"
I see perhaps some problems if people want to use any param inside the tweet for a completely unrelated reason, but that could be handled by forcing the use of "" quotes on the tweet body when using params, to ensure none of the inside of the quotes get's parsed as params.
And of course, all this may be a bit too much to implement, so can be incrementally adopted, I just think 1 single param for scheduling is better than 3, both for a cleaner code base, to streamline usage and to remember easily.


UserControl missing

there's a missing component definition for a CustomChromeUserControl

there's a missing component definition for a CustomChromeUserControl

What is CustomChromeUserControl?


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_f3adbcd5-4d54-4a83-a398-f380402f8e9c/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_f3adbcd5-4d54-4a83-a398-f380402f8e9c.git

Docs Build status updates of commit 28fa28b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: RepositoryUnauthorizedWithSourceCommit] Git data access to 'https://github.com/opstest2/docs-archive-test-source' (branch: Release_Archive_main_2022-02-08-05-29-55) is not authorized.. It looks like this might be the first time user: v-alji submitted a pull request to this repo. Before user can run builds in a pull request, he/she can enable 'v-alji' GitHub account in Docs by visiting Docs Portal (https://ops.microsoft.com). After enabling his/her account (v-alji), close and then reopen this pull request to start another build.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[B.Tech Tea Shop] "About Us" Section content and enhancing component styling

Describe the Feature you want to end
using html,css THis goes far better in users perspective

Expected behavior
THis helps in enganging much customers and contributors on to this site.

Screenshots (optional)

Additional context (optional )

@MohitGupta121 Kindly, assign this to me.


Improve performance by using the xxHash64 algorithm from the hash-wasm package

Hello @pi0.
I suggest to use:

the xxHash64 algorithm instead of MurmurHash3 or SHA-256 algorithms;
WebAssembly version instead of JavaScript version.

Hash functions speed benchmark

Package and function
Size

32 Bytes, MB/s
1 MB, MB/s

crypto-js 4.1.1 sha256
3.38
32.11

hash-wasm 4.9.0 sha256()
25.30
206.53

hash-wasm 4.9.0 createSHA256()
23.20
205.00

xxhash-wasm 0.4.2
21.80
9331.32

hash-wasm 4.9.0 xxhash64()
41.10
9639.89

hash-wasm 4.9.0 createXXHash64()
54.62
9946.82

CPU: Intel i7-8750H 2.2GHz (up to 3.9 GHz).
Information

hash-wasm

hash-wasm benchmark

SMhasher — Hash function quality and speed tests:

❌ MurMurHash3 — poor
https://github.com/rurban/smhasher/blob/master/doc/Murmur3A.txt
❌ SHA-256 — poor
https://github.com/rurban/smhasher/blob/master/doc/sha2-256.txt
✔ xxHash64 — good
https://github.com/rurban/smhasher/blob/master/doc/xxHash64.txt

Variants of breaking changes
Because createXXHash64() or xxHash64() functions is returns a promise.
A.
import { hash } from 'ohash';

const key = await hash(args);

B.
import { useHash } from 'ohash';

const hash = await useHash();
const key = hash(args);

Best wishes,
Sergey.

Hi @mrauhu thanks for the suggestion and detailed explanation.
For the time being, i prefer to keep using sha256 for two reasons:

There is native API support both from node crypto and Web Crypto without the need to additional WASM to migrate
Sha algorithms are much more widely adopted and tested

Speed concerns can be addressed in the following significant hash versions by moving to use native implementation and as you mentioned promise API in order to leverage Web Crypto.


Update README.md

some changes

Hi! Thanks for the changes suggested, but we are not accepting such small changes to the readme. To contribute, choose from the good first issues. A lot of them are easy to get started with. Please read the contribution guidelines for more details: https://github.com/appsmithorg/appsmith/discussions/863


backdropAlpha does not change when layout changes without calling invalidateLayout

Description
When moving from compact to a regular size class and switching layouts as detailed in the README.md, the backdropAlpha method is not called until the floating panel is interacted with.
Expected behavior
Upon setting a new layout with the layoutFor newCollection method, backdropAlpha would be called and applied.
Actual behavior
It is not called or applied
Steps to reproduce
Open the Maps example project and slide the floating panel to the .full position, note the dimmed backdrop. Now rotate to landscape, and note how the backdrop is still dimmed, until it is interacted with then snaps to 0.

Thank you for your report. I acknowledged this issue and I'm working on iss-572 branch. I'm going to include a bug fix for this issue on 2.5.5.


Export (single) chat: improve dialog

Requirements:

[x] Inspect the path that leads to export of a chat
[x] Narrow down the options to only the mobile export
[x] Change the title to be a single chat.


XML attribute access expression xmlVal@ returns a map?

Purpose
This PR fixes https://github.com/ballerina-platform/ballerina-lang/issues/13947
var x1 = xml `<child xmlns:p1="http://wso2.com/" xmlns:p2="http://sample.com/wso2/a1/" p1:foo="bar"/>`;
map<string>? s = x1@;

s is a map containing namespace p1, p2 and attribute p1:foo.
function nonSingletonXmlAttributeAccess() returns boolean {
    xml x = xml `<someEle>cont</someEle>`;
    xml y = xml `<elem>More-Stuff</elem>`;
    xml nonSingleton = x + y;
    if (nonSingleton@ is ()) {
        return true;
    }
    return false;
}

nonSingletonXmlAttributeAccess returns true as nonSingleton is a xml sequence.

Codecov Report

Merging #14350 into master will decrease coverage by 0.4%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master   #14350      +/-   ##
============================================
- Coverage     64.67%   64.27%   -0.41%
  Complexity      425      425
============================================
  Files          2187     2187
  Lines         96939    96959      +20
  Branches      12967    12968       +1
============================================
- Hits          62699    62323     -376
- Misses        29236    29674     +438
+ Partials       5004     4962      -42

Impacted Files
Coverage Δ
Complexity Δ

...g/wso2/ballerinalang/compiler/desugar/Desugar.java
92.4% <100%> (+0.06%)
0 <0> (ø)
:arrow_down:

...a/org/ballerinalang/model/values/BXMLSequence.java
64.58% <100%> (+0.52%)
0 <0> (ø)
:arrow_down:

...alang/compiler/semantics/analyzer/TypeChecker.java
86.09% <100%> (ø)
0 <0> (ø)
:arrow_down:

.../ballerinalang/net/jms/AbstractBlockingAction.java
0% <0%> (-100%)
0% <0%> (ø)

...ic/durable/subscriber/RegisterMessageListener.java
0% <0%> (-100%)
0% <0%> (ø)

...allerinalang/net/jms/LoggingExceptionListener.java
0% <0%> (-100%)
0% <0%> (ø)

...oint/topic/subscriber/RegisterMessageListener.java
0% <0%> (-100%)
0% <0%> (ø)

...tiveimpl/endpoint/topic/publisher/action/Send.java
0% <0%> (-100%)
0% <0%> (ø)

...dpoint/queue/receiver/RegisterMessageListener.java
0% <0%> (-100%)
0% <0%> (ø)

.../jms/nativeimpl/endpoint/session/InitEndpoint.java
0% <0%> (-100%)
0% <0%> (ø)

... and 77 more

Continue to review full report at Codecov.

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

If an update is done on top of the resulting map, should that reflect in the original xml as well?

Updated the PR to propagate attribute map updates back to BXMLItem.