Add Banners (unchecked) to supported components

@MidnightDesign What's the reasoning behind this change?

It’s adding to the list of components an MD2 component that we don’t currently support.
I’m not sure there’s anything unique enough about it to warrant a new component though. Perhaps it should be marked as “can be composed”?

Should we add a documentation page with a demo then?

It’s adding to the list of components an MD2 component that we don’t currently support.
I’m not sure there’s anything unique enough about it to warrant a new component though. Perhaps it should be marked as “can be composed”?

I mean react is about composition. If it's a named material component I don't see a reason not to add an implementation for it.

@eps1lon There are a couple of other already marked as "can be constructed" ('composed' might be better, but the precedent is what I"m referring to.
@oliviertassinari A demo is a good compromise.

even if it's just a composition of other components (which implies that it should be simple to write), why not have an implementation?

Maintenance overhead for something that doesn't otherwise add significant value as a standalone component, since unlike a demo, it requires tests, types, and documentation.

Maintenance overhead for something that doesn't otherwise add significant value as a standalone component, since unlike a demo, it requires tests, types, and documentation.

Well that's the point. It's a full component documented in the material design guidelines so we should add tests to verify that it's working. If it's just a composition of other components then we shouldn't require unit tests to begin with and only a couple of integration tests.

Well, I see @oliviertassinari has an implementation documented in this blog post: https://medium.com/material-ui/introducing-material-ui-design-system-93e921beb8df, so we're a step closer to ticking checking the box.
In the meantime it is still missing from the list, which this PR was intended to address. I suggest we change it (and all the others that read "can be constructed" to "can be composed", with that being a link to the blog post in the case of Banner, and then if at some point it gets added as a demo or a full component, the box an be checked.
That's pretty much how this list was always intended to be used.

@mbrookes Sounds good to me 👍

@MidnightDesign, sorry for the back and forth on what probably seemed such a simple PR!
Are you happy to update it along those lines?

I don't exactly know what I'm supposed to do. Change all of the "Can be constructed" to "Can be composed", remove the check mark and link the Banner entry to the blog post?

Change all of the "Can be constructed" to "Can be composed"

✅

remove the check mark

The two existing "Can be constructed" (Simple dialog, Dropdown menu) have a docs demo, so I think the check mark can stay.

link the Banner entry to the blog post?

✅ (Link from the "Can be composed" text...)
Also, Toggle Button is now in the lab, but hasn't been updated (you could follow the Speed Dial example, but I think this one is stable enough to be checked.)
Thanks for working in it!

There are a couple other things that need updating on the supported components page as well https://github.com/mui-org/material-ui/issues/13631
Is it worth doing them in this PR? @mbrookes

@joshwooding 	Sure, why not, if @MidnightDesign is happy to work on it. 👍


Adding the "Required" property to connector:RuleViolation

In the final step of updating a model, the connector now detects and deletes rule violations involving elements that a) were skipped by a prior update and b) that were caused by external elements that have since been deleted. To support this, I added the "Required" property to connector:RuleViolation. See the description in the schema.

/azp run

/azp run


Run CATs as part of CI

Run the Cloud Foundry Acceptance Tests as part of our pipeline.
This is not about making everything green, just run it. We'll likely have follow up issues for green-ness.

@mook-as have you already started with this?

@jimmykarily I've started on getting CATS to run, but I haven't started on doing any CI yet.

Moving to icebox until we get CATS passing. Fixing those issues take precedence :)

Once we get CATS to pass, let's make sure we run all tests on both Diego and Eirini deployments. @f0rmiga is already aware based on recent conversation.

Implemented on https://github.com/SUSE/kubecf/pull/209.


Adding MAKE_ITEM_GROUP

Search before asking

[X] I searched the issues and found no similar issues.

Description
We need to make an item_group array that gets data from the database (DoFieldExchange(CFieldExchange), then tie it to
AIServer npc.cpp.
Openko has implemented this, here is a link that serves as an example.

_MAKE_ITEM_GROUP * pGroup = g_pMain->m_MakeItemGroupArray.GetData(pItem->iItem[j]);
https://github.com/srmeier/KnightOnline/blob/80268e2fa971389a3e94c430966a7943c2631dbf/Server/AIServer/Npc.cpp#L3389

Use case
Item_groups consist of around 30 columns of drops that ties it to the monster item drop's.
Currently we are missing out on a lot of drops.

Are you willing to work on and submit a PR to address the issue?

[ ] Yes I am willing to submit a PR!

What do you think about improving the item_group a bit so that in this table we could also set the drop percentage for each of the 30 items? This way, we would have greater control over the drop in the item group.

I wouldn't mind but this is typical korean RNG.
If we add specific drop rates in there it will require additional work not just code but also DB wise.
But if you want to go for it it's not a bad idea tbh.

@xGuTeK I like the idea, the more control, the better. However we need to think on some scenarios. What would the table layout looks like? that means now instead of 30 columns, we got 60? and what precedent? The ITEM_GROUP percent or the K_MONSTER_ITEM?

@stevewgr
The item_group table will have 61 columns:
groupindex
iItem_01 to iItem_30
sPercent_01 to sPercent_30

In the k_monster_item table, item groups are simply assigned lower IDs. For example, if the items consist of a 9-digit number, the item groups will have IDs with a maximum of 8 digits.
The sPercent will represent the length of the range for each item. Here's how it works:
If iItem_01 has sPercent_01 set to 200, the range for the first item will be from 1 to 200.
If iItem_02 has sPercent_02 set to 100, the range for the second item will be from 201 to 300.
If iItem_03 has sPercent_03 set to 111, the range for the third item will be from 301 to 411.

The server will then generate a random number within the total range and select the item based on where that number falls:
1–200 → iItem_01
201–300 → iItem_02
301–411 → iItem_03

Sounds great. We can work and shape this idea further through a PR, something that we can test and try out, because I might not fully get the idea behind this due to the lack of my understanding about item drops, but the way you describe it, it sounds like something simple to implement.
I can see where this idea can really shine, is when we want within the 30 items in the item group to set one very special item to 1%, like GM trophy or something 😆

I almost finish it ;)


"Nonexistent signal" error message on every single frame in Godot4.3

I'm using the latest official stable release of Godot4.3 along with EIRTeam.FFmpeg Auto-Build 2024-06-07 on a Windows11 system.
This extension produces the following error message on every single frame that I'm playing a video stream. (Tested with mp4 and webm.)
E 0:00:01:0366   connect: In Object of type 'RefCounted': Attempt to connect nonexistent signal 'return_frame' to callable '<CallableCustom>'.
  <C++ Error>    Condition "!signal_is_valid" is true. Returning: ERR_INVALID_PARAMETER
  <C++ Source>   core/object/object.cpp:1390 @ connect()

On top of that it prints the number zero to the console on every single frame. Might be related.

Same problem. I tested only with .mp4 files.
For me, instead of the number zero, is prints the number "5".
Third image is for where the problem is the source code Godot is pointing at.
Godot 4.3, Windows 11
Addon version:
Auto-Build 2024-06-07 02:57

Godot Source line:
https://github.com/godotengine/godot/blob/77dcf97d82cbfe4e4615475fa52ca03da645dbd8/core/object/object.cpp#L1390

How do I fix that?
This plugin is perfect for my project, I'm currently not using it because of this error
Thanks for your time

Hi!
Rendering method
must be  forward+ or Mobile.
Doesn't work Compatibility

I'm just user too, but maybe you can try again with the latest release, I had similar issues that were fixed in #40

Oh yeah I forgot to mention it, it's fixed now.


Chore : workflow setup for fetching and incorporating deployment considerations

PR description :
This workflow is designed to monitor changes in the deployment considerations file and automatically push those changes to the "uptaneDocs" branch of the "uptane.github.io" repository. By doing so, it ensures that the new site remains up-to-date with the latest deployment considerations updates. With this workflow in place, any modifications made to the deployment considerations will be promptly reflected on the "uptane.github.io" website.
NOTE : Before merging this PR or executing the workflow, it is essential to set up a personal token within the repository. This token will grant the necessary permissions to the workflow, enabling it to function effectively.

We decided in the 2024-02-27 meeting that we will close this repo, and put deployment considerations in the uptane.github.io repo. Therefore, we don't need this automation anymore.


Make torch optional

Summary
Torch is a huge dependency it pulls in a ~700MB wheel from pypi and when
extracted it takes multiple gigabytes of disk space. It is only directly
used in the neural_network module and since it doesn't work on windows
we alread have a check to see if it's installed or not and handle that
gracefully. Instead of requiring it be installed and every aqua install
we should make this optional with a setuptools extras_require. So you
can just run: pip install qiskit-aqua[neural-network] to install torch
if you are using that component.
Details and comments

Fixes #539


doc/cross-compilation: fix typo

Motivation for this change
Add missing verb.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Thanks!


rejection error: relation "____" does not exist - Probably a simple case-sensitive issue

Whenever i try to subscribe on a table I get the following error:
rejection error: relation "tableName" does not exist.
My table name are written with an uppercase first letter like so : Events. But the error return the table name in lowercase => events .
It sounds like a simple case-sensitive issue.
Anyway you did a great lib and probably deserve more upvote on PH !

I appreciate your support!
I have just fixed this issue in v1.0.33
Let me know if you run into other issues
Many thanks!

Works like a charm ! Thank you !


App not starting when current working dir contains '#'

Preflight Checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project follows, as appropriate.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

Electron Forge Version:

5.2.4

Electron Version:

4.0.0

Operating System:

Windows 10 1909+Mac OS 10.15.1

Last Known Working Electron Forge version::

none

Expected Behavior
Application should not produce an error when started from a directory containing 'x'
Actual Behavior
Error message shown:
Not allowed to load local resource: file:///Users/brew/Documents/#/my-app/src/index.html
To Reproduce
Brews-Macbook-2:# brew$ pwd /Users/brew/Documents/# yarn create electron-app my-app cd my-app yarn start Error message: Not allowed to load local resource: file:///Users/brew/Documents/#/my-app/src/index.html
Additional Information
Originally this popped up on our app installed on a Windows system with username #1. So the shortcut was in his home directory and the app didn't work.

The default template will be fixed in the next beta. However, as a workaround, you can replace loadURL with loadFile: https://github.com/electron-userland/electron-forge/commit/51fbf71550123d8b329214d819aa72ca2a6d9ba1#diff-6350bc176d2ede20ead4d529489626dd

That was quick!


Improve i18n Support

📦 Pull Request
Add list of newly-supported i18n languages.
⚠ Don't forget to add a semver label!

patch: Bug Fix?
minor: New Feature?
major: Breaking Change?
skip-release: It's unnecessary to publish this change.

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


viewport for mobile

I need to zoom in when open with mobile
Try add this tag inside head tag
<meta name="viewport" content="width=device-width, initial-scale=1">

Thanks for the suggestion. I will look into it :)

Hey look this :)


Create Selected View API Endpoint for Global [Official] View

As an ECMPS system, I need to support the selected view template in the global [official] view of the emissions workspace, so that users can view data emissions data.
Given a user navigates to the ECMPS application's global view
When the user is in on the emissions page
They will be able to view emissions data via the selected view drop down

Fails, will be resolved with bug ticket #4473

Sample parameters:
viewCode - dailycal
monitorPlanId - GO619-E38--25E39413591C41A0B396309D03A7A207
unitIds - 1
reporting quarter - 2021 Q1


NoSubstitution mark/reason

Should it be on TreatmentLine?
It's definitely on prescription, but I'd think it should also be on TreatmentLine.

If 'no substitution' is a clinical attribute that may relate to anything
beyond the dispensing, then yes. For example when 'do not substitute'
applies to the several prescriptions that are derived from a line.
I think we should indeed have 'no substitution' at the treatment line.
On Tue, 1 Aug 2023, 12:34 Rutt Lindström, @.***> wrote:

Should it be on TreatmentLine?
It's definitely on prescription, but I'd think it should also be on
TreatmentLine.
Rutt
—
Reply to this email directly, view it on GitHub
https://github.com/IHE/pharm-meow/issues/17, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD3HUUEF2ZD4S6WLSJGEAXTXTDLRXANCNFSM6AAAAAA27RTRAE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

No substitution mark and reason added to the treatment line logical model, reason can be coded or textual.
For the group to review.

continued in #40


How is the information passed to a keras loss function, with Theano backend

I am fairly new to keras and DL and I am trying to build a loss function but I have questions about how the data from my network is passed through y_pred and y_true of the loss function.
As an example, my network has 3 different outputs here is one:
SEC5 = merge( [SEC1_up, SEC2_up, SEC3_up, SEC4_up], mode='concat', concat_axis=1 )
SEC5 = Convolution2D( 2,1,1, subsample=(1, 1), border_mode='same', activation="sigmoid" )( SEC5 )
SEC5 is now a 2 channel tensor that is predicting edges in one channel and non-edges in the other.
My model is created with the following line:
model = Model( input=inputs, output=[Final, ILLP2, SEC5] )
Where I perform binary cross entropy on Final, Squared loss on ILLP2, and then a custom loss for the SEC layer. When building the custom loss I have come across something that I don't understand. How are multiple channel layers (like SEC5) passed to the loss function? This is particularly important in my edge loss as I need to calculate the number of edges in the edge layer, and the number of non edges in the non edge layer.
What I don't understand is the actual variable in the loss function (y_true and y_pred) when I do this:
print 'y_true data'
print y_true.ndim
print y_true.type
print 'y_pred data'
print y_pred.ndim
print y_pred.type
I get the following values (which make sense to me):
y_true data
2
TensorType(float32, matrix)
y_pred data
2
TensorType(float32, matrix)
And this is where i get really confused by everything. As I understand it, tensortypes of matrix can only be 2 dimensional, but I essentially have 3 dimensions? How does it deal with this information?
I feel like I should understand this before I go making elaborate loss functions of my own, any information you could provide me with would be greatly appreciated.
Cheers,
Michael

When you fit or train your model, what shape is your "true output data"? Do you have a separate set for each of the [Final, ILLP2, SEC5]?

Hi pechersky,
My true data is as follows, Final [NumbeData, 18, 104, 152], ILLP2 [NumberData, 18], and SEC is [NumberData, 2, 104, 152]

@michallhal ,Does you solve it? thanks.


feat(formly-field): Adds parser for keys that contain arrays

What
This adds a deep assign function to formly-field that allows for keys that contain array indexes to properly create the array if it does not exist. It also adds a flag to formlyConfig.extras to enable this parser lowering the impact on existing installations.
Why
angular.$parse (used in the setter) does not differentiate between object and array when setting values. In the case where a key points to an array that has not already been set in the model it will create an object with a key of the index. This issue has been discussed many times in the angular project with the decision each time that they will not fix it. i.e. https://github.com/angular/angular.js/pull/9850
How
In formly-field the function deepAssign has been added which recursively follows the path provided in the key establishing the proper object/array nodes if they do not exist, there is also a check function added to identify keys that contain array indexes. In formlyConfig.extras a flag called parseKeyArrays (defaulted to false) controls whether or not to utilize the deepAssign function in the setter so that existing implementations will not be affected.
For issue #706
Checklist:

[x] Follows the commit message conventions
[x] Is rebased with master
[x] Is only one (maybe two) commits

angular.$parse does not (and will not https://github.com/angular/angular.js/pull/9850) properly
handle arrays in keys unless they have already been created in the model. This fix/feature adds a
separate parser for these circumstances and a formlyConfig.extras flag to control its use. The flag
is in place to minimize impact on current functionality of the setter.
This is in support of https://github.com/formly-js/angular-formly/issues/706

Current coverage is 95.93% (diff: 100%)

Merging #709 into master will increase coverage by 0.04%

@@             master       #709   diff @@
==========================================
  Files            17         17
  Lines          1169       1181    +12
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1121       1133    +12
  Misses           48         48
  Partials          0          0

Powered by Codecov. Last update 2073a91...7f8601c

LGTM! I'll let someone from @formly-js/angular-formly-collaborators-read give the thumbs up and someone from @formly-js/angular-formly-collaborators merge the PR.

LGTM :+1:

Looks good. I would even suggest to include this as default behavior.

Agreed. We could make that a breaking change in a future release.


RD - issue #180 - local variable attributes referenced before assignment

All Submissions:

[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[ ] Have you added an explanation of what problem you are trying to solve with this PR?
[ ] Have you added information on what your changes do and why you chose this as your solution?
[ ] Have you written new tests for your changes?
[ ] Does your submission pass tests?
[ ] This project follows PEP8 style guide.

Issue #180 -
The variable is used before assigning a value to it, this is happened due to omitting Enable the SAML2 front end but omit the config:idp_config:service:idp:policy key from the configuration. (as described)
We may choose to initialise the variable with empty dictionary and then the problem would be resolved.


[direnv/codefresh] add initializer

what

Add a script to initialize codefresh environment from direnv (cf_export)

why

We use direnv consistent across multiple platforms
This allows us to use our use ... stdlib helpers in codefresh to facilitate terraform usage

How is this going to impact use outside of codefresh? Is this going to require us to add use codefresh to all the .envrc? Is this going to cf_export everything in our interactive builds?

@Nuru this is used as a BASH_ENV initializer and only used explicitly.
Here's how we use it with atlantis.
When we use it with codefresh, it's also explicit. In other words, this file never gets loaded implicitly/automatically.


Approach to make named mode default

Assuming my current understanding of this package is sufficient. Let us say (for simplicity) we want to assign two modes to an example_node: mode A and mode B. In both modes, we would like to redefine a long list of parameters. The package needs a __DEFAULT__ mode to be defined that is actually named as such, assume that we choose mode A to be default, the current working approaches that I found is to either:

Rename mode A to __DEFAULT__, meaning our example_node has modes __DEFAULT__ and B. Effective, but not very idiomatic.
Define an additional __DEFAULT__ mode, meaning our example_node has modes A, B, __DEFAULT__. To ensure that A and __DEFAULT__ are effectively the same, it is necessary to keep the parameters in their configuration are identical. Especially when there are many parameters this becomes tedious.

I'm not sure how to do this most effectively. But it would be nice if we can define modes A and B and choose the default in some other way, perhaps through another key in the yaml file (next to type and modes)?

@nielsvd Would you prefer that

the first mode defined for a part (system or node) in the SMH file is considered the default mode or
at least one of the modes defined for a part (system or node) in the SMH file has to be marked default?

I actually think both options would be fine. Perhaps 2, with a fall-back to 1 in case the explicit choice is missing (also for backwards compatibility)?


This link is not working; replacement?

https://github.com/Watts-College/cpp-526-template/blob/bde25101c47927f3c0c4b50753c477c2e0b23228/labs/final-project-instructions.rmd#L57

@lecy is this the preferred way for me to ask questions about updates to the template?

Sure, this works.
Go ahead and make changes if you have fixes or preferences.
If you have questions about how something works then feel free to ping me in this way. Keeps each issue as discrete and manageable.


Recent versions were not published in Opera Extensions gallery

Last 3 versions were not published in Opera Extensions gallery. Version 2.2.2 being the last which got published.
If there's something I can help with, let me know. But it's probably just about having credentials for the account and uploading a new package via the site.

There is also this: https://github.com/sindresorhus/notifier-for-github-chrome/issues/62

@sindresorhus can you pass me the credentials to Opera Extensions gallery so I can update the entry to the most recent release?

@jansokoly I don't want to share my credentials, but share/email me you Opera addons username and I'll request the extension transferred to you ;)

@sindresorhus yes, that's better. I've sent it to your gmail. Thanks.

I never heard back from the Opera people...

In June, I pointed you to http://forums.opera.com/discussion/comment/15243581#Comment_15243581. You didn't write the request on extension wall as they suggested.


0.6.0: MeteorComponent.autorun() not bound to zone when run from subscribe() callback

Previously to updating angular2-meteor to the latest published versions I tracked changes to server-side-state as follows:
this.subscribe('order', this.orderId, () => {
        this.loading = false;
        this.order = Orders.findOne(this.orderId);
        if (this.order) {
            this.history.addAsMostRecent(this.order._id);
        } // if
    }, true)
});

This worked fine, but now the autorun() callback won't run in the NgZone any more, causing change-detection to miss this. The following works, though:
this.subscribe('order', this.orderId);
this.autorun(() => {
    this.loading = false;
    this.order = Orders.findOne(this.orderId);
    if (this.order) {
        this.history.addAsMostRecent(this.order._id);
    } // if
}, true);

Also it's possible to force the zone, then autorun works as well:
this.subscribe('order', this.orderId, () => zone.run(() => {
    this.autorun(() => {
        this.loading = false;
        this.order = Orders.findOne(this.orderId);
        if (this.order) {
            this.history.addAsMostRecent(this.order._id);
        } // if
    }, true)
}));

I think, that somewhere in MeteorComponent.subscribe() the binding to the current NgZone is lost, but I could not yet track down where.
Testing with the other commands in the callback of  subscribe() it seems that the callback is not executed in the NgZone at all (regardless if last parameter is boolean, true, or false). autorun() uses current zone on true or default, but since the current zone is not the NgZone, the connection to angular2 is lost.

Yes, that was missed. Will be fixed in the next version.
BTW, autoBind is true by default from 0.6.0.

Thanks a lot for the quick fix!


ClusterLoadAssignment for istiod not working in-cluster

To reproduce, make sure you have at least two Istiod pods.  Port forward to one of them.  Ask for ClusterLoadAssignment.  Should get back address of each pod.
kubectl -n istio-system patch horizontalpodautoscaler istiod --type=json --patch='[{"op": "replace", "path": "/spec/minReplicas", "value": 2 }]'
kubectl -n istio-system port-forward $(kubectl -n istio-system get pods -l istio=pilot -o jsonpath="{.items[0].metadata.name}") 15010
grpcurl -d @ -plaintext localhost:15010 envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources <<EOM
{
   "node": {
      "id": "sidecar~<IP_ADDRESS>~debug~cluster.local"
   },
   "typeUrl": "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment",
   "resourceNames": [
      "outbound|15012||istiod.istio-system.svc.cluster.local"
   ]
}
EOM

Assigning to John Howard because of our Wednesday conversation.  If this is invalid please close.

grpcurl -d @ -plaintext localhost:15010 envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources <<EOM
{
   "node": {
      "id": "sidecar~<IP_ADDRESS>~debug~cluster.local",
      "metadata": {
          "CLUSTER_ID": "Kubernetes"
      }
   },
   "typeUrl": "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment",
   "resourceNames": [
      "outbound|15012||istiod.istio-system.svc.cluster.local"
   ]
}
EOM

Try this
@nmittler this is cause by cluster local svc. we may need some more debug-ability around this area maybe? Or, maybe we should make it so if cluster id is not specified it gets all endpoints, even if they are cluster local?

@howardjohn would there be any consequence of just making it ignore cluster-local for this call?

None that I can think of, but probably :slightly_smiling_face:. It does seem like clusterid=="" should mean "give me stuff for any cluster" rather than "give me nothing" though?

Sounds reasonable to me ... maybe just try it and see if anything breaks?


separating notebook improvements to different PR

@bendichter Easiest way to view these changes would just be the direct notebook
Main changes are addition of two sections to end of pipeline

Quick save option; requires session description, some chosen sorting extractor, and then writes the minimal information from the notebook using a single operation. To complete the full conversion, user must use external script after the notebook file has completed creating the NWBFile

Full save option; essentially the code of the external script, but formatted in an even more slightly user friendly way. First cell involves all user-specific metainfo required for full conversion, second cell performs full run of both local environment objects as well as external files sources

Looks good, as soon as we settle on the location of quick_save

Updated with non-static usage of quick_write

Looks good to me @CodyCBakerPhD

@bendichter Good to merge?


[RFR] [BC Break] Refactor Auth side effects to Saga

[x] Create LOGIN, LOGOUT, CHECK, and ERROR actions
[x] Remove authClient injection in <Menu>, <Restricted>, <Logout> (use actions instead)
[x] Create auth saga to handle side auth effects
[x] [BC Break] Move HTTP to REST error mapping to authClient (closes #523)
[x] Document changes to authClient
[x] Display login errors
[x] Redirect to required page after login
[x] Fix tests

Switching to RFR


Consider promoting bevy::render::primitives::Aabb to bevy_math for interop

What problem does this solve or what need does it fill?
This is similar to #5575 which was already merged, but this time for the 3D counterpart. There is no common Aabb type that can be easily reused and shared among crates, like Vec3 or other math types. The current bevy::render::primitives::Aabb is in the render module, but it's generic enough to be used elsewhere.
What solution would you like?
Either or all of, in order of priority:

"Promote" bevy::render::primitives::Aabb, which is a center-half-extent AABB with SIMD support (Vec3A) so is fairly general, to the bevy_math crate for sharing and reuse, without having to depend on an optional part of Bevy.

Add useful methods similar to what was done for Rect on #5575.

Evaluate if the center-half-extent is the best option. Min-max is an alternative with other nice properties. See for example https://fgiesen.wordpress.com/2013/01/14/min-max-under-negation-and-an-aabb-trick/ -- note that if changing the representation, we might have to keep a render-only copy if the render library requires the current representation for optimization purpose.

What alternative(s) have you considered?
Roll my own :'( -- see also #5575, same concerns.

It seems I missed this issue when working on bounding. The Aabb3d type in bounding matches solution 3 so this should be done. In the future the bounding volume types from bevy_render should get replaced by the ones from bevy_math.


Basic XML support

Pull Request Description
This PR includes

Reading XML from a file, stream, or string
Reading XML via Data.fetch
Accessing the root element, element children, and attributes
Accessing tag text contents
Get tags by name
Inner / Outer XML string

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

to_display_string and to_js_object:


all of the explorer is selected

Unsure how I got into this state but changing different files doesn't fix it

Joao maybe you have an idea.

Sure, drag a file from the desktop over the explorer and press Escape. ;)

@joaomoreno DOM.addDisposableListener(window, 'dragleave', (e) => this.onDragOver(e)) looks suspicious in https://github.com/Microsoft/vscode/blob/master/src/vs/base/parts/tree/browser/treeView.ts#L549 though changing that to call onDragEnd() seems to break within-tree-dnd.

@bpasero This code is treacherous since it's full of hacks to make it work across all browsers Monaco used to support.


pprof: How to profile goroutines?

What version of Go are you using (go version)?

$ go version
1.12.5

What operating system and processor architecture are you using (go env)?
linux/amd64
I have a Go program in which several goroutines are calling a database querying function concurrently. I want to log the memory and cpu usage every time that function is called. Currently pprof package only consists of StartCPUProfile() and WriteHeapProfile() functions, but I can't use them because they return per-process statistics.
Is there a way to get the same functionality per-goroutine?

One approach is to use the WithLabels (https://golang.org/pkg/runtime/pprof/#WithLabels) function to pass an appropriate label to each goroutine you want to profile.  Then look for the labels in the resulting profile.
In general you are likely to get better answers for this kind of question in a forum.  See https://golang.org/wiki/Questions.


Saving the ESDF map

I want to save the ESDF map generated by FIESTA. Is there a way to do it?

If you just want to save ESDF map itself, you can only dump the distance_buffer_ array.
If you want the saved map can be reused in FIESTA, I suggest you save the following vectors
// data are saved in vector#ifdef PROBABILISTIC  std::vector<double> occupancy_buffer_;  // 0 is free, 1 is occupied#else  std::vector<unsigned char> occupancy_buffer_;  // 0 is free, 1 is occupied#endif  std::vector<double> distance_buffer_;  std::vector<int> num_hit_, num_miss_;  std::vector<Eigen::Vector3i> closest_obstacle_;  std::vector<int> head_, prev_, next_;


[ISSUE #5063] Polish the put message result process in SendMessageProcessor and EndTransactionProcessor

Make sure set the target branch to develop
What is the purpose of the change
Close #5063
Polish the put message result process in SendMessageProcessor and EndTransactionProcessor
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #5064 (e61bfb0) into develop (49e2367) will decrease coverage by 0.06%.
The diff coverage is 5.00%.

@@              Coverage Diff              @@
##             develop    #5064      +/-   ##
=============================================
- Coverage      43.26%   43.19%   -0.07%
+ Complexity      7767     7760       -7
=============================================
  Files            995      995
  Lines          69125    69142      +17
  Branches        9152     9152
=============================================
- Hits           29904    29864      -40
- Misses         35465    35519      +54
- Partials        3756     3759       +3

Impacted Files
Coverage Δ

...etmq/broker/processor/EndTransactionProcessor.java
45.91% <0.00%> (-5.50%)
:arrow_down:

...ocketmq/broker/processor/SendMessageProcessor.java
44.63% <0.00%> (ø)

...e/rocketmq/namesrv/routeinfo/RouteInfoManager.java
63.98% <100.00%> (ø)

...apache/rocketmq/remoting/netty/ResponseFuture.java
77.55% <0.00%> (-4.09%)
:arrow_down:

...rocketmq/remoting/netty/NettyRemotingAbstract.java
49.27% <0.00%> (-3.63%)
:arrow_down:

...org/apache/rocketmq/common/stats/StatsItemSet.java
41.79% <0.00%> (-2.99%)
:arrow_down:

...a/org/apache/rocketmq/broker/BrokerController.java
43.84% <0.00%> (-2.93%)
:arrow_down:

...e/rocketmq/remoting/netty/NettyRemotingClient.java
41.09% <0.00%> (-2.64%)
:arrow_down:

...ent/impl/consumer/DefaultLitePullConsumerImpl.java
69.21% <0.00%> (-0.63%)
:arrow_down:

.../apache/rocketmq/logging/inner/LoggingBuilder.java
63.60% <0.00%> (-0.32%)
:arrow_down:

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Change friend class to friend in GenProto.cpp

@jckarter

Awesome, thanks @hughbe!
@swift-ci Please smoke test and merge


Add back training with a disability section with a feature flag

Context
We want to add back the Training with a disability section but just for staging.

PR for when we added the section https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/480
PR for when we removed the section https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/526

Changes proposed in this pull request
This PR reverts the commit which removed the Training with a disability section (see https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/commit/18667997de21cc789192d42bc74e9b60572f402a) and then:

fixes showing Yes when a No was selected for Do you want to disclose a disability?
updates the TrainingWithADisabilityReviewComponent to have editable and missing_error parameters
adds a training_with_a_disability feature flag

Screenshots

Guidance to review

Best to go through commit by commit.
Please test the feature flag by activating it in support

As I'm away tomorrow, feel free to hop onto this branch for any updates and merge this in without me.
Link to Trello card
645 - Add 'training with a disability' into staging

When the feature flag is disabled, we still require training with a disability validation:


[codemod][FN] nuxt/4/migration-recipe

Original
./app.config.ts

Expected
./app/app.config.ts

File is moved into the app directory
Actual
./app.config.ts

(the file is not moved).
Estimated impact
Numbers about your specific codemod run:

Total number of files/instances transformed: X
Number of files/instances missed by the codemod (FN): 1
Number of files/instances mistakenly transformed (FP): 0

Logs:
// Please insert the contents of a log file generated by the codemod run here.
Additional context
app.config.ts (usually containing defineAppConfig) should be migrated into the app directory - but is missed.
Now i can manually move this in - but in my case, it caused no errors - i just noticed that the app-title (which i'm setting through app.config.ts no longer appeared correctly, instead the generic fallback value was set).
Based on the nuxt migration to v4 - this should be moved into the app directory.

command used: npx codemod@latest nuxt/4/migration-recipe
selecting nuxt/4/file-structure - which will play in version 1.0.1
edit This is twice as interesting as the codemod does seem to include it - it just isn't acted on.
https://github.com/codemod-com/codemod/blob/a02ae784dd3e8dbce41b370d6e99ab3ec6128c2e/packages/codemods/nuxt/4/file-structure/src/index.ts#L86

Thank you for found issue @xmatthias , I created a PR and will let you know once it will be merged.


scale down pipeline-metrics-exporter until we fix scaling/perf issues

See https://redhat-internal.slack.com/archives/C02FTKEMBU1/p1684350155144749
/assign @adambkaplan
/assign @Roming22

Given we are in code freeze, we should:

Have a JIRA issue to track this, and get PM and Engineering approvals
Have someone another +1 - perhaps @amfred

Given we are in code freeze, we should:
1. Have a JIRA issue to track this, and get PM and Engineering approvals

2. Have someone another +1 - perhaps @amfred

Jira opened and associated with this PR.
@sbose78 - is the process that our architect solicits the PM etc. approval, like you did with the recent sprayproxy item?

All that said, I still see an exporter pod in the artifacts:  https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/redhat-appstudio_infra-deployments/1826/pull-ci-redhat-appstudio-infra-deployments-main-appstudio-e2e-tests/1658927029027868672/artifacts/appstudio-e2e-tests/redhat-appstudio-hypershift-gather/artifacts/pods/openshift-pipelines_pipeline-metrics-exporter-7f7b94549b-2fldh_pipeline-metrics-exporter.log
I'll confirm with a local test tomorrow, switch to strategic merge patch approach if need be per https://github.com/redhat-appstudio/infra-deployments/pull/1826#pullrequestreview-1431571237 while approvals are sorted out

/hold

@gabemontero Yes, either that, or a slack post.

confirmed no metrics exporter pods in https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/redhat-appstudio_infra-deployments/1826/pull-ci-redhat-appstudio-infra-deployments-main-appstudio-e2e-tests/1659264729928962048/artifacts/appstudio-e2e-tests/redhat-appstudio-hypershift-gather/artifacts/pods/


CT-279 Use netty-based AsyncHttpClient in AddEventsClient

Switch for Apache HTTP client to Netty-based AsyncHttpClient for improved performance and throughput.

Ready for another look.  Made the following changes:

Addressed issues with AsyncHttpClient life cycle.  Life cycle should be based on the connector life cycle and not the task life cycle.
Change retry delay to use ScheduledExecutorService instead of Uninterruptibles.sleepUninterruptibly, so thread will not be blocked during the sleep.  Also changed the http request async listener to run on the IO thread, since this listener no longer contains blocking / long running operations.

Ready for another look.  Made the following changes:

Addressed issues with AsyncHttpClient life cycle.  Life cycle should be based on the connector life cycle and not the task life cycle.
Change retry delay to use ScheduledExecutorService instead of Uninterruptibles.sleepUninterruptibly, so thread will not be blocked during the sleep.  Also changed the http request async listener to run on the IO thread, since this listener no longer contains blocking / long running operations.

Yes, I think it would be good to perform some benchmarks before making a Github release.

Yes, I think it would be good to perform some benchmarks before making a Github release.


Create a basic report template we can use for all of our reports

Once you click on a report, we will want to have a basic template that the reports can be written in.

Completed.


Add sound effect

Fixes Issue🛠
Closes #16
Description👨💻

I have added sound effects on each item button on the edible items page.
Sounds folder added and script.js file updated.

Type of change📄

[] New feature (non-breaking change which adds functionality)

How this has been tested✅
I have played with each edible item and the test is a success on trial.
Checklist✅

[] My code follows the style guidelines of this project
[] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have added demonstration in the form of GIF/video file
[] I am an Open Source Contributor

Screenshots/GIF📷

Sharing link for mentor to check the functioning.
https://aditi-2003.github.io/Click-The-Edible-Game/

Pls update the code locally first, then push the changes. @ADITI-2003

ok, thank you for telling about the issue.


can't get same result as compute-mfcc-feats.

compute-mfcc-feats --window-type=hamming --dither=0.0 --use-energy=false --sample-frequency=8000 --num-mel-bins=40 --num-ceps=40  --low-freq=40  --raw-energy=false --remove-dc-offset=false --high-freq=3800 scp:wav.scp ark,scp:feats.ark,feats.scp
mfcc(signal=sig, samplerate=rate, winlen=0.025, winstep=0.01, numcep=40, nfilt=40, lowfreq=40, highfreq=3800,
appendEnergy=False, winfunc = lambda x: np.hamming(x) )
is there some difference ?

In general, most mfcc programs wont give identical features due to offset
and/or scaling differences, as well as any of a number of other
implementation differences.  When building features though, these
differences won't matter, since the classifier will learn the supplied
features just fine. The real test is whether you get similar accuracies at
the output of the classifier, which should be the case.
If you are actually looking for binary compatibility with your other
feature generation script,  it will likely be a pretty difficult job.
On 27 Sep 2017 11:05 AM, "Tommy Chen"<EMAIL_ADDRESS>wrote:

compute-mfcc-feats --window-type=hamming --dither=0.0 --use-energy=false
--sample-frequency=8000 --num-mel-bins=40 --num-ceps=40 --low-freq=40
--raw-energy=false --remove-dc-offset=false --high-freq=3800 scp:wav.scp
ark,scp:feats.ark,feats.scp
mfcc(signal=sig, samplerate=rate, winlen=0.025, winstep=0.01, numcep=40,
nfilt=40, lowfreq=40, highfreq=3800,
appendEnergy=False, winfunc = lambda x: np.hamming(x) )
is there some difference ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jameslyons/python_speech_features/issues/50, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABn1QUUruvDvS6D1Zk9IBNWS3KEtUdyiks5smZ88gaJpZM4PlFA5
.


Your Vigenere Cipher is broken

Basically what the title says...
Change it, please.
Thank you

Please elaborate and provide an example conversion (input & settings) to reproduce it. Thank you!


Failing E2E: language-my-account-pages.e2e-spec.ts

Fails on Jenkins and locally.

PR: https://github.com/SAP/cloud-commerce-spartacus-storefront/pull/3719


Turn off RTL for syntactical characters in bidi lines

I am editing a document that has English, Hebrew, and Arabic in it.  The cursor movement is based on the language the cursor is on so it jumps in different directions.  Inserting and appending text is also unpredictable.
For example, if a line is:
Peace | שלום |
and I paste at the end of the line :
سلام
It will become:
Peace | שלום | سلام
I want it to be:
Peace | سلام | שלום
Editing the line is also difficult.
Here is a similar request on SO:
https://stackoverflow.com/questions/54538844/disable-right-to-left-editing-in-vscode-in-mixed-language-files
I'd like the ability to easily turn on and off RTL while I'm editing or have the ability to override RTL for the entire document.

@alex @otseng Hi , I am facing the same issue.  I need to use both English AND Hebrew AND parenthesizes all the time but when you mix LTR and RTL language on a same line, things dont work well and the parenthesizes are swapped.
This is what I want to achieve :

(this is from Textmate)
This is what you get on vscode:
many editor can't handle this . Sublime can't handle it. Vscode can't either.  Even the display on Github here is swapped/wrong (that is why I am screenshoting it).

@zspitz not sure what you are saying here. My second screenshot is NOT fine. yours is not fine either by the way ! I want the write what is written in my first screenshot (textmate) and it is not what appears neither in your screenshot nor what I write the line on VSCODE. @alexdima

@jb6 Yes, you're right. I was focusing on the word order, but the problem is in the braces.

@alexdima

The characters: (, ), {, }, | have the directionality defined as DIRECTIONALITY_OTHER_NEUTRALS, which I believe means they take the directionality of their context, so e.g. | placed inside RTL text becomes RTL, | placed in LTR text becomes LTR.

That explains everything except the leftmost opening parenthesis and the rightmost closing curly brace, which still appears to resolve to LTR.
AFAICT the first step in the Unicode Bidirectional Algorithm is to split the text into paragraphs, and assign a direction to each paragraph based on the first strong character (see 3.3 Embedding Levels and 3.3.1 The Paragraph Level in the Unicode Bidirectional Algorithm spec.
VS Code (as of version 1.42.0-insider) still has no notion of an RTL paragraph. For example, if I understand correctly, the following paragraph:

should be identified as an RTL paragraph, which means both the space after the letters and the period should be considered part of the RTL run:
. DCBA

And the first parenthesis in jb6 's text above should be treated the same way -- the first strong character (א) is RTL, so the paragraph is an RTL paragraph, and thus the neutral first parenthesis should resolve to RTL.
Something similar is happening to the end brace: it's being treated as LTR even though it's a neutral following an RTL run.

NB. Since the first parenthesis is the opening bracket of a bracket pair within an RTL run, the visual direction is reversed. IOW, even though the LTR would look like this:
(abcd)
123456

a bracket pair in an RTL direction, causes the first character to look different:
(DCBA)
654321

The solution would be to define the paragraph as RTL, and everything else should fall into place.
@jb6 Does this seem correct to you?

Sorry for not replying before @zspitz @alexdima . I am not sure that is the solution above by @zspitz will work well if you want to Mix 1) DIRECTIONALITY_OTHER_NEUTRALS ,  2) RTL and 3) LTR languages in the same line. It  would great to have the user do a sort of casting to DIRECTIONALITY_OTHER_NEUTRALS  characters according to whether he wants LTR or RTL after the DIRECTIONALITY_OTHER_NEUTRALS character.

What do you think @zspitz @alexdima ?
@alexdima where does this task stand now ?

Hi, I'm doing regular expressions on mixed content of (arabic, latin and numbers). It drove me completely crazy until I started using sublime for that. I would love to do it in vscode :)

Sublime sadly does not work for what I xq want to do, aka mix parenthesis
with Hebrew (RTL language). Can't wait to have vscode for this.
On Tue, Feb 18, 2020, 12:15 Selim Achour<EMAIL_ADDRESS>wrote:

Hi, I'm doing regular expressions on mixed content of (arabic, latin and
numbers). It drove me completely crazy until I started using sublime for
that. I would love to do it in vscode :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/83365?email_source=notifications&email_token=ABSYPPTTLNNJMTRCL65L67TRDO7ORA5CNFSM4JFPHS72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMBS7MQ#issuecomment-587411378,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSYPPTRTWTVCVN6CCH457DRDO7ORANCNFSM4JFPHS7Q
.

No updates on this after 2 years?
This makes any line of code that has both English and RTL languages in it completely confusing.
The behavior should be just like Visual Studio.
It's strange that you haven't given much attention to this issue.

I did it by removing English text and just editing Hebrew text at first. once Hebrew is edited then I added the English text again. here is the output video.
https://user-images.githubusercontent.com/22388017/157378941-17eaa868-474e-4374-9553-4465598e3758.mov

Can you please provide a status on the resolution of this issue? Thanks

try Sublime 2。version 2.0.2


Add unit test task to Konflux config

Description

We want to run unit tests as part of Konflux build pipeline

Checklist ☑

[x] PR only fixes one issue or story
[x] Change reviewed for extraneous code
[x] UI best practices adhered to
[x] Commits squashed and meaningfully named
[x] All PR checks pass locally (build, lint, test, E2E)

[-] (Optional) QE: Needs QE attention (OUIA changed, perceived impact to tests, no test coverage)
[-] (Optional) QE: Has been mentioned
[-] (Optional) UX: Needs UX attention (end user UX modified, missing designs)
[-] (Optional) UX: Has been mentioned

/retest


Using the agent for interacting with ollama models

thank you for simplifying programatic access to whisper.cpp.  I really appreciate your kind gift to the community.  Please forgive my question, however.  I can't seem to figure out how to call ollama from your agent module.  I assume I need to modify the callback parameter and use langchain's LLM module's ollama function, but I can't find any example code.  Will you be publishing example code?  The documentation seems to suggest you will.  I would very much appreciate some direction.  Thank you again for sharing your wonderful code.

Nevermind. ;) from pywhispercpp.examples.assistant import Assistant
import subprocess
from langchain.llms import Ollama
llm = Ollama(model="llama2")
def chatter(inputter):
res = llm.predict(inputter)
print (res)
newres = "Umm" + "umm" + res
subprocess.run(["say", newres])
my_assistant = Assistant(commands_callback=chatter, n_threads=4)
my_assistant.start()

You are welcome @MikeyBeez, `Glad you found the project useful :)
I saw you've already found your way through the assistant module, good job :+1:
You define a function that will take a string as input (whatever whisper has transcribed) and the Assistant will execute that function whenever some speech is detected. It's a simple example based on pywhispercpp and a vad, I just made it  easy for people to create their own assistants out of the box.
a quick additional tip is that you can use bigger whisper models (if you have a powerful machine) to get better transcription results, because by default just the tiny model is used
For example:
my_assistant = Assistant(model='small', commands_callback=chatter, n_threads=4, model_log_level=logging.ERROR)
#  you can turn off the logs if you want to print the results from `ollama` by setting the `model_log_level` to # #
 # `logging.ERROR`:
my_assistant.start()

this way the small model will be used instead of the tiny one.
The idea I had in mind when I created this module is similar to what you are trying to achieve now, live transcription with whisper, feed the transcription to a LLM and use a TTS model to convert the result to speech, but unfortunately I didn't find enough time to do it yet, that's why I didn't share any code, sorry for that!
However let me know if you need any help, I'll be more that happy to do so.

I made a change:
from pywhispercpp.examples.assistant import Assistant
from pywhispercpp.model import Model
import subprocess
from langchain.llms import Ollama
llm = Ollama(model="llama2")
whisper = Model('base.en', n_threads=6)
def chatter(inputter):
res = llm.predict(inputter)
print (res)
newres = "Umm" + "umm" + res
subprocess.run(["say", newres])
my_assistant = Assistant(commands_callback=chatter, n_threads=4)
my_assistant.start()
As you can see, I started using the base model.  It's much faster.  Still, this program doesn't use streaming, so I need to wait a long time for a reply.  It's not like a natural conversation.  I've been trying quantized GGUF models, but so far, they're pretty bad compared to un-quantized llama2.  It would be great if the model could stream results through your callback.  I'll work on that.  After all, Ollama streams when run from the command line.    So I can do without that.  Apple is just awful for any API for STT or TTS.  Even their MLX stuff can't use the ANE.  I think all the MacOS programmers  are on drugs. ;)  Cheers!

This seems better:  from pywhispercpp.examples.assistant import Assistant
from pywhispercpp.model import Model
from langchain.llms import Ollama
llm = Ollama(model="llama2")
whisper = Model('base.en', n_threads=6)
def chatter(inputter):
print(inputter)
res = llm.predict(inputter)
print (res)
responses = []
def process_responses():
for response in responses:
print(response)
my_assistant = Assistant(commands_callback=chatter, n_threads=4)
my_assistant.start()
while True:
response = responses.pop(0)
if response is None:
break
process_responses()

Is there a switch to turn down verbosity?  I only want to see my print statements?  This is really very good!

I made a change:
from pywhispercpp.examples.assistant import Assistant from pywhispercpp.model import Model import subprocess from langchain.llms import Ollama
llm = Ollama(model="llama2") whisper = Model('base.en', n_threads=6)
def chatter(inputter): res = llm.predict(inputter) print (res) newres = "Umm" + "umm" + res subprocess.run(["say", newres])
my_assistant = Assistant(commands_callback=chatter, n_threads=4) my_assistant.start()
As you can see, I started using the base model. It's much faster. Still,

You have to use the base model inside the Assistant class because that class is creating a whisper model internally, so you have to remove this line:
whisper = Model('base.en', n_threads=6)

and use the code I provided above, because you are creating two instances in that case.
And if you use bigger models and your machine is not powerful, the processing will take longer, if you want fast inference use smaller models: tiny.en.

this program doesn't use streaming, so I need to wait a long time for a reply. It's not like a natural conversation. I've been trying quantized GGUF models, but so far, they're pretty bad compared to un-quantized llama2. It would be great if the model could stream results through your callback. I'll work on that.

quantized GGUF models should give descent results and they are much faster compared to the original llama2 models unless you have a powerful GPU that can run them all without a problem.
For streaming, you need to use the streamcallback in langchain to get the tokens as they get generated, you can then execute the TTS. But I don't know how far we can get close to a natural conversation. I'll try to reserve some time and try to create a script if you like.

After all, Ollama streams when run from the command line.  So I can do without that. Apple is just awful for any API for STT or TTS. Even their MLX stuff can't use the ANE. I think all their MacOS programmers are on drugs. ;) Cheers!

"MacOS programmers are on drugs" You made my day  :joy:
I am not a Mac user so I cannot tell, if the say command sucks, just use TTS AI models directly from python.

Is there a switch to turn down verbosity? I only want to see my print statements? This is really very good!

Yes, set the model_log_level to  logging.ERROR for example to reduce the verbosity
import logging

my_assistant = Assistant(model_log_level=logging.ERROR, commands_callback=chatter, n_threads=4)
my_assistant.start()

LOL!  I'm glad I made you laugh.  I did try setting the log level to error.  It helped a bit, but I'm still getting lots of messages that I'd rather not see.  I did discover that it's bluetooth that is causing problems with the say command.    So I will probably write an applescript to switch to my hdmi speakers when the assistant runs.  Quantized models run much faster, but their responses are moronic.  I'm using Ollama's create switch to convert Huggingface quantized models to Ollama's format.  The conversion may be lossy.  https://www.youtube.com/watch?v=7BH4C6-HP14

I also sent error to /dev/null . . .

Oops!  I forgot.  I'm also finding that I only have a few seconds to create a prompt.  If I have a complex thought, I can't express it fast enough.  Is there a way to increase the time for speaking?

Here's the current version:
from pywhispercpp.examples.assistant import Assistant
from pywhispercpp.model import Model
from langchain.llms import Ollama
from colorama import init, Fore, Style
from gtts import gTTS
import os
import time
import logging

# Initialize colorama
init()

llm = Ollama(model="llama2")
#whisper = Model('base.en', n_threads=6, speed_up=True)
#whisper = Model('base.en', n_threads=6, speed_up=True, print_realtime=False, print_progress=False, print_timestamps=False)

def chatter(inputter):
    print(Fore.CYAN + inputter + Style.RESET_ALL)
    res = llm.predict(inputter)
    print (Fore.RED + Fore.YELLOW + res + Style.RESET_ALL)
    tts = gTTS(res)
    tts.save("output.mp3")
    time.sleep(2)
    #os.system("play -n -c1 synth sin %-12 sin %-9 sin %-5 sin %-2 fade h 0.1 1 0.1")
    os.system("play output.mp3")

#my_assistant = Assistant(commands_callback=chatter, n_threads=4, model_log_level=logging.ERROR)
my_assistant = Assistant(model='tiny', commands_callback=chatter, n_threads=4, model_log_level=logging.ERROR)
my_assistant.start()

with logging set to error 2>/dev/null gives me the quiet experience.  So that's solved too.  I run it from a shell script:
`#!/usr/bin/env zsh
/Users/bard/miniforge3/envs/whisper/bin/python /Users/bard/Code/whisper.cpp/mikey/test6.py 2>/dev/null
`

I also sent error to /dev/null . . .

Yes, just send the output to /dev/null to get rid of the remaining whisper.cpp logs

Oops! I forgot. I'm also finding that I only have a few seconds to create a prompt. If I have a complex thought, I can't express it fast enough. Is there a way to increase the time for speaking?

Yes I thought about that  at that time as well, you can increase the silence threshold so you can get more time before the inference, use it as follows:
my_assistant = Assistant(model='tiny', commands_callback=chatter, n_threads=4, silence_threshold=120)

silence_threshold takes an int, the larger the number the more time you will have before the inference.

Here's the current version:
from pywhispercpp.examples.assistant import Assistant
from pywhispercpp.model import Model
from langchain.llms import Ollama
from colorama import init, Fore, Style
from gtts import gTTS
import os
import time
import logging

# Initialize colorama
init()

llm = Ollama(model="llama2")
#whisper = Model('base.en', n_threads=6, speed_up=True)
#whisper = Model('base.en', n_threads=6, speed_up=True, print_realtime=False, print_progress=False, print_timestamps=False)

def chatter(inputter):
    print(Fore.CYAN + inputter + Style.RESET_ALL)
    res = llm.predict(inputter)
    print (Fore.RED + Fore.YELLOW + res + Style.RESET_ALL)
    tts = gTTS(res)
    tts.save("output.mp3")
    time.sleep(2)
    #os.system("play -n -c1 synth sin %-12 sin %-9 sin %-5 sin %-2 fade h 0.1 1 0.1")
    os.system("play output.mp3")

#my_assistant = Assistant(commands_callback=chatter, n_threads=4, model_log_level=logging.ERROR)
my_assistant = Assistant(model='tiny', commands_callback=chatter, n_threads=4, model_log_level=logging.ERROR)
my_assistant.start()

Yes, this is much better version than the previous one, combined with the small shell script will be great, great work :+1:

Hello @MikeyBeez,
here is a quick elaborated example script that uses the Assistant module with langchain, with a bit of dirty multi-threading it supports streaming and talking at the same time, once a sentence has been generated.
You can find the source code here if you want to try it out.
You can follow the instructions on the readme page.
Of course it's not prefect, but you can take it as a starting point.
Hope it helps.

This is fantastic.  I’ll need to work a bit on the tts as it’s a bit strange on my funny little mac.  Thank you so much!  May I share it in my repo?  This way more people will have access.  I’m looking into something called semantic router that can choose from different models.  I hope to find something that uses LoRA adapters with a base model so that the semantic router can choose the right adapter.  The semantic router works with langchain which we’re already using.

On Jan 10, 2024, at 9:45 PM, Abdeladim Sadiki @.***> wrote:
Hello @MikeyBeez https://github.com/MikeyBeez,
here is a quick elaborated example script that uses the Assistant module with langchain, with a bit of dirty multi-threading it supports streaming and talking at the same time, once a sentence has been generated.
You can find the source code here https://github.com/abdeladim-s/llm-chatter/blob/main/llm_chatter/main.py if you want to try it out.
You can follow the instructions on the readme page.
Of course it's not prefect, but you can take it as a starting point.
Hope it helps.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886177279, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQCGNQH45A6VI62XNHDYN5N4PAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGE3TOMRXHE.
You are receiving this because you were mentioned.

This is really beautiful code!

On Jan 10, 2024, at 9:45 PM, Abdeladim Sadiki @.***> wrote:
Hello @MikeyBeez https://github.com/MikeyBeez,
here is a quick elaborated example script that uses the Assistant module with langchain, with a bit of dirty multi-threading it supports streaming and talking at the same time, once a sentence has been generated.
You can find the source code here https://github.com/abdeladim-s/llm-chatter/blob/main/llm_chatter/main.py if you want to try it out.
You can follow the instructions on the readme page.
Of course it's not prefect, but you can take it as a starting point.
Hope it helps.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886177279, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQCGNQH45A6VI62XNHDYN5N4PAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGE3TOMRXHE.
You are receiving this because you were mentioned.

BTW, what version of python did you use?

On Jan 10, 2024, at 9:45 PM, Abdeladim Sadiki @.***> wrote:
Hello @MikeyBeez https://github.com/MikeyBeez,
here is a quick elaborated example script that uses the Assistant module with langchain, with a bit of dirty multi-threading it supports streaming and talking at the same time, once a sentence has been generated.
You can find the source code here https://github.com/abdeladim-s/llm-chatter/blob/main/llm_chatter/main.py if you want to try it out.
You can follow the instructions on the readme page.
Of course it's not prefect, but you can take it as a starting point.
Hope it helps.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886177279, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQCGNQH45A6VI62XNHDYN5N4PAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGE3TOMRXHE.
You are receiving this because you were mentioned.

I’ll need to think about this.  Two things are happening.  The tts is stuttering and it’s being picked up and processed by the microphone for stt.  I suspect we need to use asyncio to serialize the speaking thread and also to serialize the listening and speaking methods.  It will take me a while to figure this out.  You’re obviously a much better programmer.  My background is mostly system and db administration.  Cheers!

On Jan 10, 2024, at 9:45 PM, Abdeladim Sadiki @.***> wrote:
Hello @MikeyBeez https://github.com/MikeyBeez,
here is a quick elaborated example script that uses the Assistant module with langchain, with a bit of dirty multi-threading it supports streaming and talking at the same time, once a sentence has been generated.
You can find the source code here https://github.com/abdeladim-s/llm-chatter/blob/main/llm_chatter/main.py if you want to try it out.
You can follow the instructions on the readme page.
Of course it's not prefect, but you can take it as a starting point.
Hope it helps.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886177279, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQCGNQH45A6VI62XNHDYN5N4PAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGE3TOMRXHE.
You are receiving this because you were mentioned.

This is fantastic.  I’ll need to work a bit on the tts as it’s a bit strange on my funny little mac.  Thank you so much!  May I share it in my repo?  This way more people will have access.  I’m looking into something called semantic router that can choose from different models.  I hope to find something that uses LoRA adapters with a base model so that the semantic router can choose the right adapter.  The semantic router works with langchain which we’re already using.

Sure, feel free to fork it, share or modify it :)
BTW, I just figured out that I am a fan of your Youtube channel and I've watched you developing Julie-Julie a long time ago when I was doing some research about how vocal assistants are made. Life is mysterious lol keep up uploading your awesome videos.

BTW, what version of python did you use?

I am using Python 3.10

I’ll need to think about this. Two things are happening. The tts is stuttering and it’s being picked up and processed by the microphone for stt. I suspect we need to use asyncio to serialize the speaking thread and also to serialize the listening and speaking methods. It will take me a while to figure this out. You’re obviously a much better programmer. My background is mostly system and db administration. Cheers!

No, I am no much better programmer, you do have tons of experience than I do, I am just doing my best.
Yeah, I noticed this issue as well, I think there is a problem with sounddevice, (the package I used for  getting input and for output as well) but because there is so much threading I didn't dig deeper to see what's wrong, that's why I am checking inside the callback if the play_back event is set before running the llm again.
Also try to use an external good microphone ans dome headsets, it helped with that issue.

That’s so nice of you.  I didn’t think anyone liked my videos.  It’s really wonderful to hear that.  :)

On Jan 10, 2024, at 11:38 PM, Abdeladim Sadiki @.***> wrote:
This is fantastic. I’ll need to work a bit on the tts as it’s a bit strange on my funny little mac. Thank you so much! May I share it in my repo? This way more people will have access. I’m looking into something called semantic router that can choose from different models. I hope to find something that uses LoRA adapters with a base model so that the semantic router can choose the right adapter. The semantic router works with langchain which we’re already using.
Sure, feel free to fork it, share or modify it :)
BTW, I just figured out that I am a fan of your Youtube channel and I've watched you developing Julie-Julie a long time ago when I was doing some research about how vocal assistants are made. Life is mysterious lol keep up uploading your awesome videos.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886302622, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQG4ILAYXURT2GIZGXLYN53GRAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGMYDENRSGI.
You are receiving this because you were mentioned.

Have you seen this?  https://huggingface.co/facebook/seamless-expressive

On Jan 10, 2024, at 11:48 PM, Abdeladim Sadiki @.***> wrote:
I’ll need to think about this. Two things are happening. The tts is stuttering and it’s being picked up and processed by the microphone for stt. I suspect we need to use asyncio to serialize the speaking thread and also to serialize the listening and speaking methods. It will take me a while to figure this out. You’re obviously a much better programmer. My background is mostly system and db administration. Cheers!
No, I am no much better programmer, you do have tons of experience than I do, I am just doing my best.
Yeah, I noticed this issue as well, I think there is a problem with sounddevice, (the package I used for getting input and for output as well) but because there is so much threading I didn't dig deeper to see what's wrong, that's why I am checking inside the callback if the play_back event is set before running the llm again.
Also try to use an external good microphone ans dome headsets, it helped with that issue.
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1886330427, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQACRYNVOGON727I4ETYN54JFAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBWGMZTANBSG4.
You are receiving this because you were mentioned.

No, Is this a new tts model ? How fast is it ? Can it replace gtts ?
I tried Vits and it was good but because running ollama took all my gpu, running inference on cpu takes a long time

I just applied for it.  I’ll need to wait to be accepted.  I think you should apply too.  So I don’t know what to make of this.  It’s an LLM with TTS and STT built in.  the model sheet says inference is not available at this time, so it’s a confusing model.  I really don’t know what Meta intends with this.  Worst case scenario is it might replace whisper.  Yann Lecun posted this today.

On Jan 13, 2024, at 6:50 PM, Abdeladim Sadiki @.***> wrote:
No, Is this a new tts model ? How fast is it ? Can it replace gtts ?
I tried Vits and it was good but because running ollama took all my gpu, running inference on cpu takes a long time
—
Reply to this email directly, view it on GitHub https://github.com/abdeladim-s/pywhispercpp/issues/29#issuecomment-1890809767, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM2NQCGR6HZXOIMENPMOG3YOMTWPAVCNFSM6AAAAABBP6UNLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJQHAYDSNZWG4.
You are receiving this because you were mentioned.

Woow that's interesting ..
I don't like this meta policy of hiding the models behind an application, even though I really respect the fact of releasing the weights open source,
But I think I should apply this time,
If you ever get the chance to try it .. let me know how it goes.


Resteasy 1353 distributable

revered to file to use web-fragment_3_0.xsd

hi @rsearls , by looking at the overall changes resulting from the 13 commits above, I don't see anything related to the subject here. Can you please check / rebase against master?


RATIS-987. Infinite install snapshot

What changes were proposed in this pull request?
What's the problem ?

This happens in ozone production with ratis-0.5.0

leader notify follower install snapshot-(t:3, i:999697) infinitely

follower install snapshot but log StateMachine installSnapshot is in progress infinitely.

What's the reason ?

The log code of StateMachine installSnapshot is in progress in ratis-0.5.0 as follow.
This log will be printed if inProgressInstallSnapshotRequest.compareAndSet(null, firstAvailableLogTermIndex) return false, i.e. inProgressInstallSnapshotRequest != null. And the reason of inProgressInstallSnapshotRequest != null, is stateMachine.notifyInstallSnapshotFromLeader throw exception in ozone.
If throw exception in notifyInstallSnapshotFromLeader, inProgressInstallSnapshotRequest can not will set null forever. Then infinite install snapshot happens.

if (inProgressInstallSnapshotRequest.compareAndSet(null, firstAvailableLogTermIndex)) {

        ...

        stateMachine.notifyInstallSnapshotFromLeader(getRoleInfoProto(), firstAvailableLogTermIndex)
            .whenComplete((reply, exception) -> {
              if (exception != null) {
                LOG.error("{}: State Machine failed to install snapshot", getMemberId(), exception);
                inProgressInstallSnapshotRequest.compareAndSet(firstAvailableLogTermIndex, null);
                return;
              }

              if (reply != null) {
                stateMachine.pause();
                state.reloadStateMachine(reply.getIndex(), leaderTerm);
                state.updateInstalledSnapshotIndex(reply);
              }
              inProgressInstallSnapshotRequest.compareAndSet(firstAvailableLogTermIndex, null);
            });

    return ServerProtoUtils.toInstallSnapshotReplyProto(leaderId, getMemberId(),
            currentTerm, InstallSnapshotResult.SUCCESS, -1);
}

LOG.info("{}: StateMachine installSnapshot is in progress: {}",
          getMemberId(), inProgressInstallSnapshotRequest.get());

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/RATIS-987
How was this patch tested?
Existed tests.

@bshashikant @lokeshj1703 Could you help review it? Thank you very much.


chore(main): release 1.3.3

:robot: I have created a release beep boop
1.3.3 (2022-10-22)
Miscellaneous Chores

create release (9a4c3a3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/rotex1800/registration/releases/tag/v1.3.3 :sunflower:


TLS setup harmonization in the classic and async connection operators

Deprecation of ConnectionSocketFactory / LayeredConnectionSocketFactory APIs in favor of TlsSocketStrategy consistent with TlsStrategy used by the async APIs.
Deprecation of PlainConnectionSocketFactory without a direct replacement.
Deprecation of SSLConnectionSocketFactory in favor of DefaultClientTlsStrategy that can be used with classic and async transports

@arturobernalg Please take a look.

If I hear no objections I will merge this PR in the coming days.

@ok2c Causes HTTPCLIENT-2348.


Inital support for V2.0 API with Swagger

@RackHD/corecommitters @brianparry @abildw @dalebremner @srinia6

-1

test this please

+1

A couple minor fixes (on commented out code). :+1: after those are addressed.

Looks like we are leveraging swagger-express in v2 API. This change the way we doing in v1 API. In v1, we write router in express style, while, in v2 looks like we don't need it. monorail-2.0.yaml will cover this , right ?
I have concern on merging API auth functionality to v2 API later, if it's now in the express style. @anhou @cgx027

@geoff-reid Be curious that use https://www.npmjs.com/package/swagger-express-mw  rather than https://github.com/swagger-api/swagger-node which is more popular. Just think the popular module's potential issues could be fixed soon, or be continuously maintained.

@anhou This is actually based on https://github.com/swagger-api/swagger-node.  Swagger node is a command line tool that can generate swagger node projects consisting of an app with middleware installed, a config file, a swagger.yaml file and a controllers directory.  The generated projects use swagger-express-mw.  Our approach is very closely related to the sample code generated by swagger-node.

Rebased with latest version from master

:+1:

I have a general question about intent with the semantic meaning of /versions URI stubs, but that shouldn't block any merges, it's just me being nosey. :+1:

+1


Corsair Drivers

This needs to be removed. Corsair peripherals are no longer in use.

[x] Remove curl command for Corsair dmg

This has been completed via 469564d852259b0492ee94f81ad94885a0e1b362


consistency, validity, and plausibility in GQA

Dear @dorarad, I encounter several problems when I run a project on GQA. Could you please help me?

Consistency evaluation. Which .json should be used to evaluate the consistency? I used testdev_balanced_questions.json, but an error occurred, ['2062326'] key error. I found this id is included in the testdev_all_questions.json.

Validity and Plausibility. According to the provided eval.py, the json file should be the train_choices.json and val_choices.json.  The KeyError: '201497576' will be triggered in code line: valid = belongs(predicted, choices[qid]["valid"], question). And, the two files have no ["valid"] and ["plausible"].

Could you please help me to solve these problems? Thank you

Hi Dami,
For consistency, an all questions file should be used - the balanced set is just a sample out of all of the questions, while in order to check for consistency there's a need to go over all the questions including equivalent ones to be able to compute this metric.
For validity/plausibility last time I checked it all worked, will check again given the info you describe and get back to you!

Hi dorarad, thank you for your reply. For consistency, you mean the testdev_all_questions.json should be used? And only the testdev_all_questions.json include ['2062326'].
For validity/plausibility, I have checked on the all .json files, no ["valid"] and ["plausible"]. Waiting for your reply. Thank you!

Hi yea I mean the testdev_all_questions.json, alright will check and update you about the validity/plausibility!

Besides, img 2316942 and 2417331 have no frcn feats in the provided .h5 files.

@dorarad Hi, dorarad. Could you please help me to solve the error for validating the Validity and Plausibility? Thank you!

Sure really hope to get to it today!

sorry for the delay getting into it right now will update soon!

Alright checked that! So the thing is for the testdev split we only provide the questions and answers (without the additional information like scene graphs or choices). In order to evaluate all metrics for testdev or test you need to submit to the challenge website and then will get the scores. Alternatively, it's also possible to evaluate over train or val splits for which all the supervised info is provided.
For the images - we provide features only for images for which there are questions in GQA rather than for all images in Visual Genome which is why the images 2316942 and 2417331 are not in the features file.
Hope that helps! please let me know if you have any additional questions!
We plan to have a new challenge starting in a couple of days that will go until late May and will also introduce in the next few weeks an updated test set. Hope that you may be interested in participating! :)


[feat]: Put service in "restarting" status when user saves config, as on 0.2

Prerequisites

[X] I have searched for existing issues that already suggest this feature, without success.

Describe the Feature Request
Put service in "restarting" status when user saves config, as on 0.2
Describe the Use Case
Currently in 0.3, when the user saves a config, the service does not indicate to the user that it is restarting. This can lead to confusion if, for example, bitcoind takes a long time to restart because it is flushing the utxo cache to disk. The service simply appears to lose all functionality, while the package details page shows that everything is fine.
Describe Preferred Solution
Put service in "restarting" status when user saves config, as on 0.2
Describe Alternatives
No response
Anything else?
No response

given that this is non-trivial, I would like to mark as p2 and punt to 0.3.1. @MattDHill please advise

It might help to implement a "suppress notifications" feature: https://github.com/Start9Labs/bitcoind-wrapper/issues/27#issuecomment-996158563 to have a "restarting" backend status

Can you catch me up on how suppressing notifications in certain circumstances is an alternative solution to implementing a "restarting" status for services?

It's not an alternate solution, it might help in the implementation. If the backend can see that a service is restarting, it will know when to suppress notifications.

Is the original ask then to suppress notifications or is the status itself important in its own right

we should not suppress notifications. but it should be possible to have a status for when the app is running but it is between its most recent exit and its next restart

@ProofOfKeags the original ask is to implement the restarting status, as seen on 0.2.x. If you go to 0.2.x and save a config, you will see this behavior. On 030, in contrast, the service simply appears to be running. This is very confusing.

connected to #1304, would like to add a configuring status

#1304

Is this status still relevant with the emergence of JS procedures?

Also, are we going to cascade stop / start dependent services? In other words, what is the proposed solution for the slew of notifications that will happen upon restarting a service with many higher dependents eg. bitcoind)

Can this be closed @dr-bonez ?

This is addressed in refactor/gut-config which hasn't been merged

addressed in 035, service will enter stopping, then starting


"Import" assist places new "use" after the last existing one even if it's burried in the middle of a program

To reproduce, apply "Import HashMap" assist to the following snippet:
enum Coin {
    Heads,
    Tails,
}
use Coin::*;

fn main() {
    let h = HashMap<|>::new();
}

Expected result:
use std::collections::HashMap;

enum Coin {
...

Actual result:
enum Coin {
    Heads,
    Tails,
}
use Coin::*;
use std::collections::HashMap;
...

Part of the giant yak shave: https://github.com/rust-analyzer/rust-analyzer/issues/3947

Has been fixed in #5935.


How can I verify that Sentinel Feign Circuit Breaker Example takes effect?

Doc
Verify that the default feign client takes effect. First visit http:localhost/test/default/false 2 times and then visit http:localhost/test/default/true, the circuit breaker is open

Verify that the specified feign client takes effect. First visit http:localhost/test/feign/false 2 times and then visit http:localhost/test/feign/true, the circuit breaker is open

Verify that the specified method of feign client takes effect. First visit http://localhost/test/feignMethod/false 2 times and then visit http://localhost/test/feignMethod/true, the circuit breaker is open

Test
I jsut get "ok" at the third time. Whether the program enters fallback is considered successful？

The config in example, you should occur 2 times fallback in 1 second, then the 3rd request occur fallback means it works.

Thank you. I got it. But I found that the feign.sentinel.rules does not work when I replace spring-cloud-circuitbreaker-sentinel
with spring-cloud-starter-alibaba-sentinel and set  feign.sentinel.enable value true. I can get the same reuslt in the example Sentinel Feign Example when I copy the sentinel config to the consumer config file.

try feign.circuitbreaker.enabled=true

feign.circuitbreaker.enabled=true has always existed. The request will enter fallback code when it occur Exception, but the provider service will not be blocked in 15s(timeWindow).
feign:
  circuitbreaker:
    enabled: true
  sentinel:
    enabled: true
    default-rule: default
    rules:
      # global feign client
      default:
        - grade: 2
          count: 1
          timeWindow: 15
          statIntervalMs: 3000
          minRequestAmount: 1
      # specific feign client
      user:
        - grade: 2
          count: 1
          timeWindow: 15
          statIntervalMs: 1000
          minRequestAmount: 1
      # specific feign client single method
      "[user#feignMethod(boolean)]":
        - grade: 2
          count: 1
          timeWindow: 10
          statIntervalMs: 1000
          minRequestAmount: 1

<!--        <dependency>-->
<!--            <groupId>com.alibaba.cloud</groupId>-->
<!--            <artifactId>spring-cloud-circuitbreaker-sentinel</artifactId>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

If I set feign.sentinel.enable=false , the request will get correct result, otherwise the circuit breaker will never be open. More, If you try feign.sentinel.enable=trueinSentinel Feign Example, it's easily to see that the fallback code prints consumer-fallback-default-strnull(the circuit breaker is open) whilefeign.sentinel.enablenot exist or it's value is false and it will always printconsumer-fallback-default-str[500] during [GET] to [http://service-provider/echo/sss] [EchoService#echo(String)].......................................................................(the circuit breaker is always closed) whilefeign.sentinel.enable=true` exists. The fallback works and but the service does not be blocked in the time window.

set feign.sentinel.enabled=false

Isn't this a bug? Will it change in the later version? It seems strange to use sentinel while feign.sentinel.enabled=false.

Nop, it's not a bug.
feign.sentinel.enabled default is false, you just need to set feign.circuitbreaker.enabled=true.
Considering to optimize this part.

Oh, I see. Thank you very much for your reply.


allow nav and toc

Makes the navigation and toc visible if not hidden in page meta
fixes #27
Preview

With nav and toc visible : https://consensys.github.io/doctools.action-builder/PR-28/api/api-nav-toc/
without nav and toc : https://consensys.github.io/doctools.action-builder/PR-28/api/api/

It seems the entire top and side margins are removed on the API page (compare home with API). Is this intended?

LGTM.


stop working when upgrade the python

Hi,
I use to have python 3.4 installed and made an upgrade to python 3.8.5 version.
after that when i run the command r.init() it open my chrome but it freezes with the message [tagui] START - listening for inputs

my code is the same that I was using on python 3.4 so, I suppose it's right.  Could you help me in this issue?

I have seen this with other Python packages as well.Python 3.7.9 works fine for me...

Hi RPA for Python users, 🅗🅐🅟🅟🅨 ②⓪②①!
It has been many months since I last worked on this personal side project. Just want to shout out that this project is very much alive, and I hope to look into the 30+ issues raised since July (and bug-fixes if required) soon when I get a moment again.
Below are details if you are interested, why I'm away past few months and why I believe my darkest days are over 🍀🤞🏻🙏🏻

Since May last year, I've stopped all work to juggle with my mum's critical illness, taking care of my toddler, and doing housework chores like cleaning and cooking. TBH, my wife and I felt that taking care of a baby and giving her the best nutrition (nursing and home-cooked organic food) and care requires at least 1.5 full-time headcount. There is no life to speak of, other than trying to stay afloat with baby care needs, and keep finding alternative ways to treat my mum, where there're some wins.
Eg importing soy-based tube feeds from Netherlands / Germany / Australia --> after switching away from milk-based tube feeds for 2 weeks she stops requiring dialysis. She started requiring 3x a week dialysis for more than 3 months, after admitting to the hospital. Also, applying herbs like mashed garlic or diced onions to her feet somehow consistently improve her breathing and lung function. Have to keep trying alternative healing methods when her recovery keeps hitting plateau in hospital.
She has been discharged from the hospital a month ago and recovering at home, though very slowly. A longterm medication seems to be one of the contributing causes for her condition. After stopping it, there seems to be improvement to her breathing capacity. She is still bed-bound, but over the course of the year I hope she'll regain strength to move about, and hopefully lungs to recover sufficiently to not require oxygen tank support through a tracheal mask (a hole through her throat).

Since November, I've gone back to work at AI Singapore, a government-funded programme to accelerate AI in Singapore. I'm with Product Engineering team, focusing on RPA and TagUI (open-source RPA tool), which RPA for Python is a wrapper for. There are pretty interesting stuffs on TagUI 2021 roadmap. 2020 was the year which my family was going to move to the UK and work, after I receive its tier 1 exceptional tech talent visa. Then everything changed with the virus outbreak, and my mum's illness. The best thing that happened to me in 2020 was being able to go back to work at AI Singapore - I'm grateful.
I've just hired someone to help with housework, cooking and supporting my wife with baby care. I hope this new arrangement will allow me to deliver on my work at AI Singapore, and soon be able to reply countless friends' messages which circumstances leave me with no choice but go missing for months, and then look into the issues raised here!
Eg of the cost of best-in-class nutrition standard researched and set by wife. Baby just felt restless and broke her plate. Even Corelle's break-resistant plate breaks. Why not use plastic plate? Cuz plastic can leech toxins to the food on it. Why not use Silicon plate? Cuz there is no white silicon materials for plate. Why white? Cuz that helps to improve visibility of the food instead of contrasting against some pink colour or some other colours. I would be spending much time clearing up the mess of 70 over pieces of plate fragments, while baby gets nursed to calm down, if not for our newfound helper.
That's why I feel like my darkest days are over and now seeing glimpses of light at the end of the tunnel.

My vision for RPA for Python remains - I would like it to be the go-to Python package for RPA.
A best-in-class tool in Python users toolbox which you combine with other cool packages to build amazing stuffs.

Hi RPA for Python users, 🅗🅐🅟🅟🅨 ②⓪②①!
It has been many months since I last worked on this personal side project. Just want to shout out that this project is very much alive, and I hope to look into the 30+ issues raised since July (and bug-fixes if required) soon when I get a moment again.
Below are details if you are interested, why I'm away past few months and why I believe my darkest days are over 🍀🤞🏻🙏🏻

Since May last year, I've stopped all work to juggle with my mum's critical illness, taking care of my toddler, and doing housework chores like cleaning and cooking. TBH, my wife and I felt that taking care of a baby and giving her the best nutrition (nursing and home-cooked organic food) and care requires at least 1.5 full-time headcount. There is no life to speak of, other than trying to stay afloat with baby care needs, and keep finding alternative ways to treat my mum, where there're some wins.
Eg importing soy-based tube feeds from Netherlands / Germany / Australia --> after switching away from milk-based tube feeds for 2 weeks she stops requiring dialysis. She started requiring 3x a week dialysis for more than 3 months, after admitting to the hospital. Also, applying herbs like mashed garlic or diced onions to her feet somehow consistently improve her breathing and lung function. Have to keep trying alternative healing methods when her recovery keeps hitting plateau in hospital.
She has been discharged from the hospital a month ago and recovering at home, though very slowly. A longterm medication seems to be one of the contributing causes for her condition. After stopping it, there seems to be improvement to her breathing capacity. She is still bed-bound, but over the course of the year I hope she'll regain strength to move about, and hopefully lungs to recover sufficiently to not require oxygen tank support through a tracheal mask (a hole through her throat).

Since November, I've gone back to work at AI Singapore, a government-funded programme to accelerate AI in Singapore. I'm with Product Engineering team, focusing on RPA and TagUI (open-source RPA tool), which RPA for Python is a wrapper for. There are pretty interesting stuffs on TagUI 2021 roadmap. 2020 was the year which my family was going to move to the UK and work, after I receive its tier 1 exceptional tech talent visa. Then everything changed with the virus outbreak, and my mum's illness. The best thing that happened to me in 2020 was being able to go back to work at AI Singapore - I'm grateful.
I've just hired someone to help with housework, cooking and supporting my wife with baby care. I hope this new arrangement will allow me to deliver on my work at AI Singapore, and soon be able to reply countless friends' messages which circumstances leave me with no choice but go missing for months, and then look into the issues raised here!
Eg of the cost of best-in-class nutrition standard researched and set by wife. Baby just felt restless and broke her plate. Even Corelle's break-resistant plate breaks. Why not use plastic plate? Cuz plastic can leech toxins to the food on it. Why not use Silicon plate? Cuz there is no white silicon materials for plate. Why white? Cuz that helps to improve visibility of the food instead of contrasting against some pink colour or some other colours. I would be spending much time clearing up the mess of 70 over pieces of plate fragments, while baby gets nursed to calm down, if not for our newfound helper.
That's why I feel like my darkest days are over and now seeing glimpses of light at the end of the tunnel.

My vision for RPA for Python remains - I would like it to be the go-to Python package for RPA.
A best-in-class tool in Python users toolbox which you combine with other cool packages to build amazing stuffs.

Thanks @anksankur ! Hi @RenatoTeixeiradaSilva can you try the latest version with pip install rpa --upgrade and see if the issue is still happening? On Windows, depending on how Python is installed, the Python environment may not be able to access files created outside of the environment which is the files are originally created.
If issue is still happening you can try deleting the TagUI installation and run r.init() again to see if that helps. Closing the issue for now, but let me know if you run into any problem! The folder where TagUI is installed can be found by import os; print(os.environ['APPDATA']), a tagui folder should be there. Closing issue for now but let me know how it goes.
Lastly, this RPA package is based on a forked version of TagUI open-source RPA tool. Free feel to join Telegram group chat for TagUI community to post any questions - https://t.me/rpa_chat


recover Deleted Device using changelog

Environment

Python version:  3.6
NetBox version:  2.5.1

Proposed Functionality

Use Case
It would be nice to see if Changelog view section can get a recover a deleted device option.
As netbox got the changelog which saves a JSON form of data. Having a recover state option would be nice.
This would be super helpful  if the device was accidentally deleted by the user.

Database Changes
Not sure

External Dependencies
Not Sure

Recovering an object involves quite a bit more logic than simply copying the record into the database. Foreign keys need to be resolved, uniqueness constraints satisfied, etc. This would require more development effort than can be reasonably allocated for a convenience function.