[#157244655] WIP - send welcome message

Adds a new function WelcomeMessageEventHandler that uses a service bus (new resource) to dispatch / subscribe to events.
WIP as there's not logic yet to send the message.
Possibile implementations:

call the API (submitMessageForUser) through an HTTP request using the API-Key of the service associated to the app backend
call the controller method CreateMessageHandler (complex as in order to do that you have to build every output variable for each middleware used by the controller method)
re-implement the whole business logic to save and send a message though queue binding (causes duplicate logic hard to maintain)

I'd like to implement [1] using request method from italia-ts-commons bus in order to do that I miss the ability to add custom HTTP headers as RequestHeadersKeys are actually hardcoded.

Warnings

:warning:

Remember to fix the PR title by removing WIP wording when ready

Affected stories

🌟 #157244655: Come APP quando CIT accede all'app per la prima volta, voglio mandargli un messaggio di benvenuto per presentargli le mie funzionalità

  Generated by :no_entry_sign: dangerJS

Thanks, why the needs for a service bus instead of a queue storage?

because azure queue storage has only 1-to-1 semantic. that means you have to dispatch a tailored "welcome-message" event from the profile controller (instead of generic "profile-updated / profile-created") which means more coupling. service bus instead let us use multiple consumers (subscriptions) for the same event.

I don't see why we can't have the same behavior we have for the "new message -> webhook" events with webhook.
I think at this point it's better for us to keep things simpler (less moving parts) since the team is small, we're better off with less things that can break or misbehave.
The option I was thinking about was to have a simple ProfileEventsQueue, and have the upsert handler publish messages there (i.e. "profile-updated", "profile-created") - the handler of the ProfileEventsQueue acts based on the events (i.e. sending a welcome message, update the "new users of the day" table, etc...). Do you see any downsides in this approach?

well apart from the changed semantic (from many small functions that react to granular events to one big dispatching function that react to all events of a certain kind) the drawbacks I see are:

the big dispatching function will run for all events in the queue even if there's no action associated with that event (we'll have more executions)
the dispatching function will be coupled with almost everything as you have to inject cosmosdb models and so on
the dispatching function can grow a lot

said that, I'm not particularly biased and the switch to using a storage ProfileEventsQueue would be quick.

Yes I would keep things super simple now and as much as possible similar to what we already have (imagine new devs coming on board, less things they have to learn, the better).
Regarding the granularity of the events, we have a couple of options:

very specific events to specific queues (pros: more semantic, less data going through, simpler handlers, no need to query cosmos inside handlers - cons: more coupling, more logic in the producer):
send-welcome-message to WelcomeEventsQueue
profile-activated and profile-deactivated  to ProfileActivationEventsQueue
very specific events to a generic queue (pros/cons same as (1), slightly more complex handler):
send-welcome-message, profile-activated and profile-deactivated to ProfileEventsQueue
generic events to a generic queue (pros: less coupling, less logic in the producer - cons: complex handler, probably need to query cosmos for further data):
profile-created, profile-updated, profile-deleted to ProfileEventsQueue

Personally, since queues are cheap, and the system is already complex to understand (I would not mind more semantic), I would go for (1).

Ok. Note that the cognitive complexity is already high (I've to suppress tslint warnings about it) for controller methods and adding more logic will increase that (so 3 may be a viable choice ?)

yes I would be fine with (3) too, just different tradeoffs, it's good if we can keep some complexity out of the API handlers

you can even have a fanout step: a handler that multiplexes events from ProfileEventsQueue to WelcomeEventsQueue and ProfileActivationEventsQueue

rewritten using azure storage queue and one catch-all queue handler for all profile related events.


Milestone 0.1.2

Coverage remained the same at 100.0% when pulling a06f9e77ab25c2932c0e27fd40f7cbacd4dd722a on milestone-0.1.2 into acddd81bd820e459970715de50a30ff81aeb96fa on master.

Coverage remained the same at 100.0% when pulling a06f9e77ab25c2932c0e27fd40f7cbacd4dd722a on milestone-0.1.2 into acddd81bd820e459970715de50a30ff81aeb96fa on master.


newznab ssl option not working

If I enable the ssl option in the newznab module and then go back to settings page, the module is set back to non-ssl. Furthermore, if I enter api url https://www.index.com, the api url is changed to www.index.com after saving.

It work, its just a visual bug after the "sliders" was added. As for the removal of http/https, thats intented. There are some code in htpc manager to fix common user errors.

fixed


Send correct Accept header with Ajax requests.

Fixes: #1367
Adding Accept: header to the Ajax requests the same way that jquery_ujs does is need to make the rails 'respond_to do |format|' blocks work.
And in turn this fixes #1367 probably broken by the prototype-->jquery conversion or even before by the tree component replacement.

@h-kataria, please, can you review this?

@martinpovolny @dclarizio  looks good.

Ok, merging it. I was a bit afraid as this is called from so many places, but the headers should be there and I hit no issues when testing. So let's see ;-)


Configuration of checks from a config file

Is there any way to configure checks/graphite queries from json/yaml/text based config file? Similar to this https://github.com/ybrs/graphite-alerts/blob/master/config-sample.yml#L11-L23

@JeanFred?

I think it's is nice thing to have because the systems which has more than 10 key namespaces in graphite becomes really hardly to set up and maintain. But if it would have config file for checks it was easy to setup via  configuration management tools like anisble or chef

@msoedov This is not yet part of Cabot, unfortunately. I feel your pain in setting recurrent checks for many instances… I had started building an Ansible module to automate it (by interacting with Cabot REST API), but never got around finishing it either. Some YAML-based (or else) config files would definitely be a nice feature though.

I've been using cabot-conf which uses Cabot REST API to configure checks from a json file.

Thanks for the link @yuribit ! Looks interesting!

Nice! @yuribit

There's a Terraform provider for Cabot if anyone's still interested.


Build Conda Package

Fixes #38
Update pyside to 1.2.4 and package for anaconda

uhhg I forgot to update the head of my branch of my master branch before I created a new branch. woops sorry the extra commits

2 problems: 1) planetaryimage must be an anaconda package first...probably pvl as well. 2) travis is not being very nice and I cannot figure out what is happening right now...I'll come back to it later...

No longer needed


Add interop/qasm.

Move qasm_import from contrib and deprecate qasm_ouput fromcircuits  to interop/qasm.

@vtomole are you willing to reopen this and work on it? Happy to help during the migration!

Part of #3228. It will be probably moving to its own package.


Remove API definition and add Endpoint service

You cannot share custom domains between accounts (nor duplicate a custom domain in a 2nd account) - consequently in order to separate the application resources from the platform account - the rest API must remained defined in the same account as the custom domain (in this case the platform account).

Closing as won't work!


Fix relocatable packages to work with master version

install.sh command line arguments has been change recently
and broke ccm relocatable support

@aleksbykov confirm this is working on latest version from today


[cxx-interop] Clang member lookup should not look into Swift extensions

Calling NominalTypeDecl::lookupDirect triggers deserialization of Swift extensions for the type. ClangRecordMemberLookup shouldn't assume it is allowed to deserialize Swift extensions for the given C++ type: there might be extensions which reference the module that is currently being imported, which causes circular request dependency errors.
This is a continuation of https://github.com/apple/swift/pull/60373.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test macOS

If I'm not mistaken, this may address issue #60461, because I did notice that #60373 removed the error: circular reference that used to occur in code like that example, leaving behind an error about non-nominal types.

Awesome, thanks for noticing this @BradLarson!


msg.topic missing from button when clicked

Using several buttons feeding into a ui-notification node and intending to use the topic (which originates from the button) to distinguish between the different buttons, but unfortunately the msg.topic from each button's output remains blank when the button clicked.
Example;

[{"id":"8243aa183b420762","type":"debug","z":"be4568a984cb4685","name":"debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":630,"y":1920,"wires":[]},{"id":"3ed695276d7d0cc1","type":"ui-button","z":"be4568a984cb4685","group":"48fc19d1161f11e6","name":"Button test","label":"Button3","order":0,"width":"1","height":"1","emulateClick":false,"tooltip":"","color":"","bgcolor":"","className":"","icon":"","iconPosition":"left","payload":"thisPayload","payloadType":"str","topic":"thisTopic","topicType":"msg","buttonColor":"","textColor":"","iconColor":"","x":490,"y":1920,"wires":[["8243aa183b420762"]]},{"id":"48fc19d1161f11e6","type":"ui-group","name":"Test","page":"19eb6d108e9275e2","width":"20","height":"13","order":1,"showTitle":true,"className":"","visible":"true","disabled":"false"},{"id":"19eb6d108e9275e2","type":"ui-page","name":"Examples","ui":"ae3d4aeb3f977a90","path":"/examples","icon":"","layout":"notebook","theme":"a965ccfef139317a","order":3,"className":"","visible":"true","disabled":"false"},{"id":"ae3d4aeb3f977a90","type":"ui-base","name":"Dashboard","path":"/dashboard","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control"],"showPathInSidebar":false,"navigationStyle":"temporary"},{"id":"a965ccfef139317a","type":"ui-theme","name":"Default","colors":{"surface":"#ffffff","primary":"#0094ce","bgPage":"#eeeeee","groupBg":"#ffffff","groupOutline":"#cccccc"},"sizes":{"pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}}]

Dashboard v1.15.0

You have told it to use msg.thisTopic as the topic.  Since you have not sent it a message containing msg.thisTopic it is not defined.  If you want to send a fixed string then click where it says msg and change it to the a-z string type.

Doh!
Thanks Colin .

Closing...


adding changes for label studio

Change Summary

Related issue number

Checklist

[x] The pull request title is a good summary of the changes - it will be used in the changelog
[ ] Unit tests for the changes exist
[ ] Tests pass on CI
[ ] Documentation reflects the changes where applicable
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Hi @RNF24,
Could you please give some context regarding this PR?


Support for double.NaN, double.NegativeInfinity, and double.PositiveInfinity

Hi
Probably its me doing something wrong or missing something.
But in my case double.NaN (and Positive/Negative infinitive) are serialized to string, and not to number.
So, for example, when I am serializing list of dobles, contains double.NaN values - such values are serialized to string "NaN".
And when I am trying to deserialize it - It's failed since cannot convert string "NaN" to double.
Is it issue, known issue or my mistake?
Thanks!

RFC 7159  (The JavaScript Object Notation (JSON) Data Interchange Format) in section 6 says "Numeric values ... (such as Infinity and NaN) are not permitted."
So really the serializer should fail I think.

@manofstick Thanks for pointing for RFC.
From the other hand, its important values in some industries, and I was able to handle it right with other serializer (I did check in Newton).
I understand, that Jil is not Newton and did not try to be one, and has its own goals. Actually, we choose it for performance reasons and resource utilizations.
So I am wondering - is it any way to handle double "special values (properties)"  as NaN in the right way?

Jil shouldn't produce or accept invalid JSON, so I'm considering any sort of NaN-ish reading or writing a bug.  I don't think optional standard breaking is a path I want to take Jil down.
I believe this method of checking is pretty cheap, though I need to do more extensive testing before pushing a new Nuget release.


CLI

Add a CLI so I can compile and run from the terminal instead of messing with main.rs.

Addressed by #14


Change README.md

Description

Motivation and Context

How Has This Been Tested?

Types of changes

[ ] Content Update (change which fixes an issue or updates an already existing submission)
[ ] New Article (change which adds functionality)
[ ] Documentation change

Checklist:

[ ] My code follows the code style of this project.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have made checks to ensure URLs and other resources are valid

Sorry for bothering you , please ignore


fix(DIST-568): Restore viewport when popup is closed

https://jira.typeform.tf/browse/DIST-568
https://twitter.com/mostly_gripes/status/1332380963406483458

[BOT] Preview available: https://embed.typeform.com/32feb97c522fc81483d23b4c7fd4b70715623ad6/embed.js

:tada: This PR is included in version 0.31.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Re-running a task for the GitHub UI does not set the cipd_version tag

If for some reason we need to retry a failing build twice the check will be in the scheduled state forever. There are two different issues here:

Retrying a task is not setting the cipd_version tag which makes the next retry failed in the backend.
The task failing in the backend is not setting the correct check state leaving the task pending forever.

Some details in this PR: https://github.com/flutter/engine/pull/33746#issuecomment-1158152086

How was the retry done here? Was it via the checks page and a rerun link? Or did we run the full suite of failed checks? I ran a check from a failed pull request and it did not have an issue with hanging or not updating the github page.

It was retried using the re-run link from the checks tab. Retrying for the first time works because it is copying the data from the original run but not passing cipd_version as a tag. The second retry gets the build metadata from the first retry which does not include cipd_version and assumes it needs to run from main.


Update README to notify users of Godeps for dependencies

The Current README suggest it is possible to just go get on non OSX systems, this won't work since dependencies will be retrieved without using Godeps.

I ran into a dependencies problem doing go get on ubuntu, as the current spread master uses removed functionality from github.com/docker/docker :+1:
gopath/src/k8s.io/kubernetes/pkg/util/parsers/parsers.go:30: undefined: parsers.ParseRepositoryTag
Checking out the docker repo with tag 1.6 fixed the problem. I'm not sure how the generic go get mechanism allows you to prevent this, but if it can't I suggest a documentation instruction on how to use glide/godeps/whatever to make the build reliable.

Hmm... All deps are supposed to be included using native Go vendoring
Which version of Go are you using? And when you run go env is GO15VENDOREXPERIMENT set to 1?. It should get noted somewhere that for Go 1.5 it must be set in order for vendoring to work. The feature left experimental status in 1.6 and is now enabled by default.

Just ran into this problem as well on linux. Using go 1.5.
GO15VENDOREXPERIMENT=1 go get rsprd.com/spread/cmd/spread fixes it.

You guys are right. It was a configuration mistake (GO15VENDOREXPERIMENT=1). Discussed this with @advanderveer .
The existence of the Godeps directory confused us.
This issue can be closed.

I think this was closed prematurely.
I still think there should be some documentation on the README for either using Go 1.6 or using GO15VENDOREXPERIMENT=1 with Go 1.5 or something else regarding vendoring. Otherwise someone will run into this problem again and will have to sift through open and closed issues to find this thread to get around their build problem.


Add date input field for reminders

Description
This will allow users to set reminders for more than 24h
Ref to forum
https://forum.cortezaproject.org/t/how-can-i-modify-the-reminder-time-dropdown/1253/3?u=katrinyordanova

Update: I might need an additional property to store the user's input, since we would need to retrieve it once the reminder is opened again. It might also work to convert the remindAt property as an object that contains the timestamp and the user's input but another property would be better.

Tested and confirming that everything works as expected. CL entry has been also added.


[WIP] Add capi watch filters

Still WIP

[x] Add watch filter to CAPI controllers
[x] Add watch filter when generating new cluster definitions
[x] Create migration
[ ] Test migration

Issue: #40764
Problem
We want the ability to run CAPI externally in the same cluster as Rancher Manager which has embedded CAPI. Without a change both sets of controllers will try and reconcile the clusters causing issues
Solution
This changes the embedded controllers to use WatchFilter so that they only reconcile resources with a specific filter label. This will require us to "migrate" existing definitions and add the label.
Testing

Engineering Testing
Manual Testing

Automated Testing

QA Testing Considerations

Regressions Considerations

Using the WatchFilter will work nicely if we were using CAPI 1.4.1 or higher. Without that, when we add the watch filter label it causes a new machineset & machines to be created.  We have tried to update the machine hashes in place, but we are still getting rollouts. We could carry on trying to engineer around this, but it seems risky and futile, especially as there is in-place label propagation in CAPI 1.4.1 (it's actually from 1.4.0, but there was a bug in that version).
I'd say we stop trying to replicate in-place upgrades ourselves and block this until one of these happens:

Rancher updates its CAPI dependency to 1.4.1 or higher
Rancher removes the embedded CAPI controllers altogether and uses 1.4.1 or higher.

Given the time constraints we have then we may need to go with the first option initially and then change to the second option.

We no longer need this, so closing


Restore sorting empty target framework last

Commit 8e85a15e324a65f9da5033f3d8a2320c76dda378 dropped the NuGet.Frameworks dependency and as a result sorting of the target frameworks behaviour changed.
Previously, the NuGetFrameworkSorter would sort the empty target framework last. Since 8e85a15e324a65f9da5033f3d8a2320c76dda378 the empty target framework is sorted first.
This commit restores the old behaviour of sorting the empty target framework last.
Note: Stryker.NET was inadvertently depending on this behaviour, so v6.0.1 broke Stryker.NET. I have fixed the issue in Styker.NET but I think restoring the previous sorting behaviour is a good idea anyway.

Yikes, sorry! And good catch - nice work on bringing back a TargetFrameworkComparer that doesn't depend on NuGet.Frameworks. Merging and deploying a patch now.


stop propagation on expandable list arrow icon

Hello,
when i click on the expandable-list-arrow-icon the click event bubbles to the list-item itself. Can i prevent this somehow?
see here http://codepen.io/delueg/pen/oBwbyo

No. You can't. I will change that. Sorry about that.

No Problem - thank you for your great work.
I mean somehow it makes also sence to open the expandable list on click on the item in order of user experience. Maybe to make it configurable would be nice

I'm not going to implement this in the list-item. There will be a new component called md-expansion-list for this kind of job.


Add MPC-HC Media Player Component

Description:
This adds a new media player platform, for Media Player Classic Home Cinema (MPC-HC). Currently this is a read-only media_player component intended for home automation, but I'm happy to extend it to support play/pause/etc. actions in the immediate future if there's any interest. I'm currently using this to dim my study lights when media is being played.
Example entry for configuration.yaml (if applicable):
media_player:
  - platform: mpchc
    port: 13579
    host: http://<IP_ADDRESS>

Documentation
Submitted as a pull request to the documentation project here.

Code looks good 🐬 . Just some more linting errors to fix and this can be merged! 🎯

Great! I'll fix the lint errors tonight - I didn't see the part of the developer docs that mentioned the style guide before I hacked this up.
I'm a Python newbie in general (and especially new to Python 3 - all my previous hacking was in Python 2) so I wasn't aware of the default .get() method on dict()s, I'll clean that up as well.

Okiedokie, all green now. As penance for my non-standard PEP8 settings causing Travis-CI failures I've added support for media commands such as play/pause/mute/etc.

Alrighty, perfect. Just in time for the release this weekend 👍  🐬


Add optional element type to isInputRange

So, basically, the idea is to reduce the need to use ElementType? And the idea is that it's more generally useful to test that the element type is implicitly convertible to a particular type than that it is exactly a particular type?
My one concern about this is that it's often a bad idea to test for implicit conversions in template constraints (particularly with regards to argument types), because unlike with parameters with explicit types, the conversion is not actually forced at the call site, which can lead to subtle bugs when the type in question is then used as if the implicit conversion has taken place when it hasn't. Depending on what exactly the code is doing, this isn't necessarily an issue, but it can definitely cause bugs.
Now, I'm not sure that that's as big a concern here as it is in many cases, because this is testing the element type and not the full type (so you won't get stuff like allowing static arrays to be passed without being sliced, because the template constraint tested for implicit conversion to dynamic arrays), but my gut reaction is still that it's better to avoid testing for implicit conversions like this. At least with ElementType!R, it's completely up to the programmer to decide how to test the type, whereas here, putting it into isInputRange encourages people to test that the element type is implicitly convertible rather than testing that it's the exact type. And I'm not sure that that's good practice in general.

So, basically, the idea is to reduce the need to use ElementType?

The idea is to make it easier to specify ranges so it'll be more likely to do so instead of writing an array. If I want a sequence of ints, I'm probably going to write:
void myfunc(int[] ints);
// or
void myfunc(const(int)[] ints);
// or
void myfunc(in int[] ints);

The equivalent range declaration is... not great:
void myfunc(R)(R ints) if(isInputRange!R && is(ElementType!R: const(int))) { ... }

Functions like map or filter don't and can't care about the element type, but a lot of functions do.  In practice what tends to happen is:

Declare an array instead, limiting what can be passed and forcing allocations.
Don't bother with the element type and underconstrain.

And the idea is that it's more generally useful to test that the element type is implicitly convertible to a particular type than that it is exactly a particular type?

One word: const.

At least with ElementType!R, it's completely up to the programmer to decide how to test the type,

They'll still have that.

If const is the main concern, then using Unqual would solve it without introducing other types of implicit conversions - though that would come with the cost of not being able to specify mutable or immutable explicitly. That could be gotten around by using a more complex test that allowed for mutable and immutable when const is explicitly provided but otherwise required the explicit type, but that would probably be too complex a test for something as heavily used as isInputRange.
I can definitely appreciate wanting to simplify template constraints, and this doesn't disallow writing more explicit ones, but in general, I think that testing for implicit conversions with template constraints should be avoided like the plague, and this change will encourage writing such tests with ranges simply because it's shorter. Depending on what you're writing, you can get away with it, but it becomes very easy to allow types that will either result in compilation errors (which isn't all that bad, since at least that's a compilation error and not a bug) or to end up with subtle bugs due to testing for conversions that don't necessarily take place in the code or which take place inconsistently. As it is, a simple example of where this change would go wrong is if someone used isInputRange!(R, dchar). They'd have bugs with ranges of char or wchar (e.g. from byCodeUnit), because they'd be allowed via the implicit conversion and might actually work fine with ASCII but wouldn't work correctly whenever they encountered any actual Unicode. The more unpredictable conversions will come from stuff like alias this though.
So, ultimately this change does nothing to make it harder to write good code. You could still do exactly what you'd do now. And maybe this change will encourage more folks to write range-based code, and we'll be better off overall. But it will be encouraging folks to write range-based code that accepts implicit conversions (and not just implicit conversions to const), and I'm inclined to think that that's a mistake. Maybe that mistake won't actually cost us much. I don't know.  But if it were my choice, I wouldn't do this. Or if I did, it wouldn't allow implicit conversions.
Regardless, the issues that will come from this (and which come from allowing implicit conversions with template constraints in general) tend to be issues more frequently in library code. So, it could be that this will be a boon for programs that don't have to deal with accepting types that they don't actually control, whereas it will be risky to use in libraries. Library writers do need to be more careful about types with templates anyway though, since they could be given pretty much anything, and there's only so much you can do to avoid issues as a result of that. But because of those issues, I'm definitely inclined to argue that implicit conversions in template constraints are usually a bad idea. So, I'm not enthused at the idea of baking them into isInputRange like this. Ultimately though, it's your call.

I thought about using Unqual but that doesn't seem right. It'd be a bug for immutable, and it makes sense to be able to pass in a range of child classes to a function expecting a range of interfaces/base classes. Then there are integers, for better or worse.

To reiterate the solution I proposed in slack yesterday (and put where others can see it):
enum bool isInputRange(R, E = void) =
    is(typeof(R.init) == R)
    && is(typeof((R r) { return r.empty; } (R.init)) == bool)
    && (is(typeof((return ref R r) => r.front)) || is(typeof(ref (return ref R r) => r.front)))
    && !is(typeof((R r) { return r.front; } (R.init)) == void)
    && is(typeof((R r) => r.popFront))
    && (is(E == void) ||
        is(ElementType!R == E) ||
        is(const(ElementType!R) == E) ||
        (is(const(ElementType!R) == immutable E) && is(const(E) == E)));

I haven't tested it heavily, but it seems to do the correct thing with regards to allowing isInputRange!(R, const E) to work with ranges of E, const E, and immutable E, whereas giving it any other variant of E only accepts that specific type.
However, allowing you to specify a base class and have it accept derived classes would definitely get more complex without opening the door to implicit conversions in general (I'm not even sure that we have the traits to do that properly), and it's not something that you could do with a function that accepted arrays anyway because of issues with covariance. So, while accepting it with ranges might be nice, we're not losing anything in comparison to arrays by not adding it here with ranges.
And trying to allow the conversion of smaller integer types to larger ones would be a disaster in the making IMHO without being written very carefully, because even if you ignore the issues with enums and other more complex user-defined types, built-in types like bool and the character types will implicitly convert, which you usually don't want with ranges. You'd probably have to do something like test the specific list of integer types and verify that the target size is at least as large as the source type, and that's just getting too complex IMHO for something as heavily used as isInputRange - though we could certainly add a helper trait for testing the element type explicitly if we think that that particular use case is common enough. Either way, like with classes, it's not something that's actually allowed with arrays due to covariance issues.
Making it so that isInputRange accepts E and immutable E when you specify const E would allow us to specify the element type succinctly without const or immutable getting in the way. But for the others, I'm inclined to argue that anyone looking to do that should do something like map their source range to a range of the target type (or just specify their range type the old-fashioned way). It's simpler that way and will avoid introducing subtle issues due to either allowing implicit conversions in general or by trying to only allow a very specific subset of them (it also has the advantage of explicitly forcing the conversion before calling the function, which should reduce the number of conversion-related bugs).
Also, the more complex the rules for the element types that isInputRange accepts, the harder it will be to understand. Allowing all implicit conversions would at least be simple to understand on the surface (though it would be error-prone), but once we try to reduce it to a commonly useful and sane subset, then we have to start explaining the rules of what's accepted even if that subset is sensible, and then we lose simplicity. The implementation that I have here is at least simple in that regard, because it allows the specific type and then allows immutable and const of that specific type as well if you mark it as const. So, what it does with const follows what you'd get with arrays (outside of there being no tail-const, but that's not really possible at this point).

Updated. The CI failures are due to monthly limits being exceeded

Do we really want to check the type nominally and not structurally ? Code that uses template is by definition more structural and having is(E == T) over is(E : T) seems wrong to me. IIUC a range of uint would not match isInputRange(R, size_t), which seems wrong.
Besides that concern, I think this is a fantastic addition.

Do we really want to check the type nominally and not structurally ? Code that uses template is by definition more structural and having is(E == T) over is(E : T) seems wrong to me. IIUC a range of uint would not match isInputRange(R, size_t), which seems wrong.

If we want to test for something structurally, then we should be testing that it has the operations that we're looking for - i.e. testing duck typing - not testing for implicit conversions. Implicit conversions in template constraints and traits are typically a source of bugs, because they test for the implicit conversion, but they don't force that conversion (unlike a function that accepts an explicit type and then uses that explicit type throughout). This then tends to result in the templated code either

working correctly because the conversion actually happens in the code and does so consistently.
failing to compile because the conversion does not actually happen, and the type that was passed in doesn't work without being converted.
compiling but failing to work correctly (e.g. because the type gets converted in some cases within the code but not others).

And of course, the 2nd and 3rd options are more likely to occur with types that the writer of the templated code didn't think of and didn't test (and potentially didn't even know existed - and may not have existed when they wrote the code).
So, in general, I would argue that templated code should either be testing explicit types, or it should be using traits that test that the type in question has the correct operations to work like we need it to within that code. Calling code that then wants to use types that convert to a type that will work with the templated code can do the conversion at the call site (e.g. using map to do it if they want to convert the elements in a range).
As such, testing for implicit conversions with a trait like isInputRange would IMHO be a big mistake. It would not only encourage folks to be testing for implicit conversions with templated code, but it would invisibly result in a lot of code testing for implicit conversions without the programmer realizing it if they aren't familiar enough with exactly how isInputRange is implemented. The risks of bugs with implicit conversions are already annoyingly high even when the programmer is doing it on purpose (e.g. we've had bugs in Phobos due to isConvertibleToString, because it's true for static arrays of characters but doesn't force the slicing to happen at the call site - and can't force it). So, I really don't think that we should be introducing a trait that will actually make testing for implicit conversions be the default case.
Now, personally, I doubt that I'll end up using isInputRange's new parameter very frequently, since it's usually the case that the templated code I write is operating on element types that meet certain criteria (e.g. isSomeChar) rather than using an explicit element type, but this change will allow code that is supposed to operate on an explicit element type to do so with a simpler template constraint.
I suppose that if we wanted to test more complex traits on the element type (and thus allow duck typing on the element type with isInputRange without having to test the element type separately), we could add a third optional parameter which takes a trait that is then applied to the element type and tested, but I'm inclined to think that that's getting a tad too complex for such a basic trait.

we could add a third optional parameter which takes a trait that is then applied to the element type and tested, but I'm inclined to think that that's getting a tad too complex for such a basic trait.

Actually, it would probably have to be an overload with a different second parameter which is optional, since you wouldn't provide an explicit element type (regardless of constness) if you're providing a trait to test the element type with, but regardless, I suspect that that's making isInputRange too complex. It would be more useful for many cases though. Either way, I'm completely against us testing for an implicit conversion to the element type, since while it would work in a number of cases, it would also invite bugs in general.

It might be better to leave it at 2 template parameters. If the 2nd one is void, the behaviour stays unchanged. If it's a type other than void, then what this MR does. If it's a template that evaluates to boolean that can be applied on a type, do that to the element type. That is, this should work:
static assert(isInputRange!(char[], isSomeChar));

I stand by my assertion that testing for implicit conversions is typically a mistake and a source of bugs in templated code. It's not testing whether a type has the structure or functionality expected by your template. When you test for an implicit conversion, you're testing that the template argument can be converted to a particular type, not whether the template argument will compile with the operations used in the template.
In general, the correct thing to do is either to test that the template argument type has the correct set of operations (e.g. like isInputRange, isForwardRange, or hasLength) or to test that the type is in a subset of types that will work with the function (e.g. isSomeChar, isSomeString, or isFloatingPoint). In the case of ranges and their element types, the correct thing then is typically to either test that the element type has a particular set of operations or that it is one of a subset of types. Testing for implicit conversion will typically result in code that operates on the type it's given as if it has been converted to the type that the the template constraint tested implicit conversion to when that conversion may not ever actually take place. And that can get particularly weird when dealing with types with alias this. In general, implicit conversions should be forced at the call site and not tested for by the template constraint. So, having basic templates like isInputRange test that the range's element type implicitly converts to a particular type is going to encourage people to write code that assumes that that's they're dealing with that particular element type when they could be dealing with a drastically different type that will not behave correctly.
And actually, testing for implicit conversions to dchar is particularly bad. All of the integer types that are 32 bits or smaller will implicitly convert to it (even bool will convert to it) - but even worse, char and wchar implicitly convert to it. This means that if a templated function tests that it's going to operate on a range with an element type that implicitly converts to dchar, it will not only accept almost all ranges of integer types (which is almost certainly not what you want), but it will accept ranges of char and wchar, which will do the wrong thing unless the code is specifically written to operate on all ranges of characters rather than on ranges of dchar - which means that the test should have been that the element type passed isSomeChar and not that it implicitly converted to dchar. Such code is less likely to do the wrong thing right now than it might otherwise simply because auto-decoding will force all of the string types to be ranges of dchar anyway, but ranges like byCodeUnit will very much do the wrong thing with such code. If the code really wanted a range of dchar, then it should be testing for that and not for implicit conversions to dchar so that actual ranges of char and wchar don't pass the template constraint.
Having isInputRange test for either the exact type or the type with compatible constness like the implementation here now does should be fine, because it doesn't introduce any implicit conversions that will cause problems. However, I do agree that its usefulness is limited, because in most cases, you want to test something more advanced than that you're operating on a range of T or const T.
Having isInputRange take an optional template argument which is a trait to be tested on the element type (like isSomeChar) should also not be a problem, because it's what you'd typically do when testing ElementType!R anyway and doesn't do anything that's an obvious source of bugs. The only possible issues that I see with it are that it complicates isInputRange further and that it could make compilation times with isInputRange worse, which arguably matters given how much isInputRange is used. But it's certainly possible that the cost of isInputRange!(R, isSomeChar) would be about what you'd get with isInputRange!R && isSomeChar!(ElementType!R) anyway, and even if it does hurt compilation times, there's definitely an argument to made that the increased brevity in template constraints in general is worth it.
So, if Atila wants to alter isInputRange so that it takes an optional argument which is a trait to be tested on the element type (which is already the kind of thing that we do with traits in std.meta), then I'm fine with that. That's the kind of code that we should be writing. It would just be putting it into isInputRange instead of forcing you to always test ElementType!R separately. But I do think that it would be a big mistake to go with what the PR had originally and explicitly test for implicit conversions (though if someone really wants that, they can always risk shooting themselves in the foot and pass a trait to isInputRange that tests for the implicit conversion; it just won't be the default way to do it).

It might be better to leave it at 2 template parameters.

Sounds like an alias parameter coupled with a static if (is(AliasSym)) would allow to match for a type and the else clause would match template predicates ? And I agree that seems quite useful to have.

As it is, a simple example of where this change would go wrong is if someone used isInputRange!(R, dchar).

I agree that's bad. It would be reasonable to assume that means something it doesn't. I think that's a good argument for this to be a new template with a fully self-documenting name.

Can we merge as-is please? I think that adding a template predicate is another PR. Thanks.

There's a comment unaddressed: https://github.com/dlang/phobos/pull/8819#discussion_r1342247412

For consistency, isForwardRange, isBidirectionalRange, isRandomAccessRange, isOutputRange should be adjusted correspondingly.

For consistency, isForwardRange, isBidirectionalRange, isRandomAccessRange, isOutputRange should be adjusted correspondingly.

Yes, that's the plan. But it's going to be a PR for each.

Inventing an entirely new relation between types just for these templates seems needlessly user-hostile to me. D programmers already have to learn is(T == U) and is(T : U); forcing them to also learn what "same type modulo const" means just to understand isInputRange (and friends) is gratuitous.
The fact that the ddoc does not explain this relation at all does not inspire confidence. If it's difficult to explain in documentation, that's often a sign that it's difficult to use.
As a point of comparison, pre-1.0 SumType used to have its own bespoke type comparison logic in match. Ripping it out was, ultimately, a boon to both maintainability and usability.

The idea isn't "the same type modulo const", the idea is to make writing code that takes a range of const T as easy as it currently is to write a function that takes an array of const T. This will hopefully encourage programmers to not over constrain types since most code doesn't care that what you pass in is an actual array.
Does that make sense?

It's the only place in Phobos now, I plan to make the other range predicates use it too.
Would it help if the immutable/const stuff was in its own template predicate?

Yes, it would help if it were in its own template predicate with a meaningful name and clear documentation.

After taking way more time than I thought it would to come up with a name, I remembered why things look as ugly as they do now when I tried implementing it. Due to what I think is a compiler bug, refactoring that code away into another template yields this nonsense:
std/range/primitives.d(497): Error: static assert:  "Cannot put a const(char)[] into a LockingTextWriter."
std/format/spec.d(258):        instantiated from here: `put!(LockingTextWriter, const(char)[])`
std/format/write.d(537):        instantiated from here: `writeUpToNextSpec!(LockingTextWriter)`
std/stdio.d(1856):        instantiated from here: `formattedWrite!(LockingTextWriter, char, string, ulong, string, string, const(ulong))`
std/checkedint.d(1856):        instantiated from here: `writefln!(char, string, ulong, string, string, const(ulong))`
std/checkedint.d(1475):        instantiated from here: `onOverflow!("+", ulong, const(ulong))`
std/checkedint.d(986):        instantiated from here: `onOverflow!("+", ulong, const(ulong))`
std/checkedint.d(952):        instantiated from here: `opBinaryImpl!("+", ulong, Checked!(ulong, Abort))`
std/checkedint.d(207):        instantiated from here: `opBinary!("+", ulong)`

https://github.com/dlang/phobos/pull/8827


Change the folder/file deletion logic to blocklist downloads

closes #34
The script will not blocklist torrents when running the download folder cleanup logic in the instances where we have a valid download ID.

DVDIsDead
This should cover all sane cases for issue #34, I won't be merging it just yet though as it needs some in-depth testing.
The Linux and the Windows binaries have been built as part of this PR:
The initial commit artifacts can be found on: https://github.com/Drapersniper/Qbitrr/actions/runs/1833709745
If you wanna give it a go and let me know how well things are working I'll then merge it into the main release.


Getting null exceptions after updating to v2.0

Hey @alexrainman
I finally upgraded to v2.0, thanks for the improvement but I am partially delighted because some of the improvements break our app.
The reasons are:
1. I am now getting a null exception when setting App.Current.MainPage = new Page();.
In your Demo project I can see that it is in the ExtendButtonRenderer, where Element is null.

2. Local renderers are overriden by the ones added in v2.0.
A major upset, because we have multiple local renderers for button, editor, entry, etc. that are used to customise the controls.

I will test this and, the renderers are needed for HeightRequest. I can remove them but them you will need to declare height request for each component. Something else i can do is provide custom controls that you will override with your renderers.

I think so, because local renderers are used commonly in Xamarin.Forms app and it is definitely not recommended to override those. :/

I will add custom controls for all my renderers and your renderers will override them :)

Later today!

An update is on the way. For your custom renderers, instead of, for example implement ButtonRenderer, it will implement CVButtonRenderer. Why? I need my renderers to fix HeightRequest issue. Thanks

As long as it doesnt override my local renderers, I am happy. (Y) good work!

They wont override yours, yours will override them
Button -> CVButton -> yourbutton
Thanks

Great!

Did version 2.1 worked well for you?

Worked great. Thanks alot, @alexrainman!

Adding Vertical swipe in the next release :)

Great, I am sure it will be nice!

If my work is helping you, please help me back: https://xamarinhq.wufoo.com/forms/nominate-a-xamarin-mvp/

This is what i have done that is community visible:

Alex has been pretty active sharing his knowledge and answering questions in StackOverflow, GitHub and Xamarin Forums.
Alex has been open sourcing Xamarin components and plugin with the community, with more of 10 repositories being maintained on GitHub.
One of Alex's Xamarin.Forms plugin, the CarouselView, is currently being pulled into the Xamarin.Forms core (xamarin/Xamarin.Forms#853). As an stable widget, this control has become the standard for Xamarin.Forms carousel screens with more that 16K downloads in NuGet and more than 100 solved and not open issues.
Another Alex's plugin, the SegmentedControl (https://github.com/alexrainman/SegmentedControl), is a big candidate to be also pulled into Xamarin.Forms core.
Plus Xamarin.Forms UI related plugins, Alex shares plugins to set app icon Badge, Google Analytics and KeyChain access.
Alex shares his knowledge about cutting edge technologies like Couchbase NoSQL and MobileIron integration with Xamarin Apps.


rpm build: build package with extra source

Introduce the required bits to honor extra source code when building rpm packages - this supports packaging that require more than a single source code such as guest-agent that is building plugin-manager side-by-side.

/lgtm


Allow hyphenation to be controlled using base-hyphens attribute in theme

Currently, hyphenation can only be enabled by setting the hyphens document attribute in the document itself. However, hyphenation is more a concern of the theme (concerning how the text is displayed). Therefore, it should be possible to enable hyphenation by setting the base-hyphens key in the theme instead. If both are set, the hyphens attribute in the document wins.
(The proposed name is base-hyphens so it sits adjacent to the key for text alignment, base-text-align, since these two settings are often correlated).
The setting should still honor the value of the lang attribute in the document if a language is not specified in the theme.

This change was first proposed and discussed in https://github.com/asciidoctor/asciidoctor-pdf/issues/1805#issuecomment-716212662

One open question is whether we should consolidate all the global text-related keys under a shared category. What I have in mind is something like:
text:
  align: justify
  hyphens: true
  quotes: ['“', '”', '‘', '’']

Another possibility is to use the prose category instead of the base category. It's really this key and the quotes key that I think need to somehow be brought under the same roof.

Let's keep it simple and use base-hyphens. That's consistent with CSS, where you might set html { hyphens: auto }.


ci: update CI

updates deprecated actions dependencies
updates Rmd file list in test_function_coverage.py

this might fix some eventual errors in #12
cc @eigenfoo

Thanks! I suspect automated tests aren't running here because of inactivity in the repo, but the changes look good to me.

Yup! Hunch was right, tests are now failing on master here.


Only generate ticks we care about

Improve performance of TimeScale.buildTicks.
Instead of creating me.scaleSizeInUnits moments and throwing the vast majority away, only create what we plan to use. 10x speedup in my use case.
Fixes #3208.

Tested this and saw a 50% speedup in my test case.


Microsoft Azur サブスクリプション
保護されていると思いました

https://app.azure.com/8d804ac8-5abd-4cb5-9089-4ee68e41d6aa/subscriptions/e049a186-fed5-4b8f-899b-4a3ec059b216

Microsoft Azur は、法人用らしいですのでそれと半年間無料期間だったのにいきなり課金されたので、 Microsoft Azur アカウントを削除しました

@Producer-Director
It would be great if you could elaborate your query in English and add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!

Microsoft Azur seems to be for corporate use, and even though it was free for half a year, I was suddenly charged, so I deleted my Microsoft Azur account

@Producer-Director
I apologize for any inconvenience. If you need help with this, please log a case here: https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request. Thank you. Closing issue since not related to the documentation, like you've mentioned. Thanks!


Gitbooks documentation - Broken link to vuex

Describe the issue / bug.
# gitbooks documentation -> Project Structure -> Renderer Process -> Link to vuex intro page doesn't work
The link points to http://vuex.vuejs.org/en/intro.html which redirects to
https://vuex.vuejs.org/guide/guide/ which leads to a 404 page.
The link should probably just be changed to the vuex homepage https://vuex.vuejs.org/
How can I reproduce this problem?
# See https://simulatedgreg.gitbooks.io/electron-vue/content/en/renderer-process.html
Last link, under "vuex modules" at bottom of page
(Sorry if this is the wrong place for documentation issues.  I thought I should mention the broken link when I found it)

I believe this has been fixed by a PR.


Call function from Model within Twig View returns null

Setup:
// User Model
class User extends Model
{
    ...
    public function someFunctionName() {
        return "TEST";
    }
}

// UserController
class UserController extends Controller
{
    public function index($sub = null) {
        $workers = User::all();
        return View::make('users/users', ['sub' => $sub, 'workers' => $workers]);
    }
}

// frontend.twig
{% for user in workers %}
        {{ dump(user.someFunctionName) }}
    {% endfor %}

The twig view (dump) returns null instead of TEST.
Whats wrong with my setup?

And with parentheses?

Where should I put them?

user.someFunctionName => get property someFunctionName (your case)
user.someFunctionName() => call method someFunctionName (try this)

Problem solved!
In my case I had two different User Models. One created by Laravel and one created by calling php artisan code:models and I didn't notice that Laravel was using the default User Model.
user.someFunctionName() works like expected. Thanks @ndhan93


How do I use this?

@LukaJankovic
Hi thanks for your interest. I never really finished this. It has probably broken due to Atom API changes.


[enterprise] Document Basic Auth popup upon secret mismatch

URL for relevant page?
http://docs.influxdata.com/enterprise/v1.0/troubleshooting/frequently_asked_questions/
The Enterprise console will throw an Authentication Required pop up requesting for basic http auth credentials when auth-enabled = true is set in the [http] section but the shared-secret is not configured/does not match between the data nodes and the console.

done in PR863


Update getting-started for 20.0.0-rc.4.1 cli

This PR makes changes to the getting-started docs to make them compatible with the most recent soroban-cli version, 20.0.0-rc.4.1.

remove references to the sandbox, which was removed from cli support
reordering the content to allow for deploying test contracts to testnet (instead of sandbox)
small copy edits for readability

fixes #621

Thanks for the review @ElliotFriend! I just addressed the comments you made, let me know if there's anything else I should take a look at!

@elizabethengelman Thanks for the changes! Looks great!
The build workflow looks like it's failing due to some markdown formatting error in the docs/getting-started/hello-world.mdx file. If you run yarn format:mdx, it "should" take care of it.


patch for qtwebkit, gcc release 6*

when building with gcc in the release 6* series on linux, then enabling -webkit is not taken into account (reset to no) because the configure script does not support gcc > 5.x.

Thanks for the patch. Please wait until PR #20 is merged, then you have to rebase this one and bump the build number.

@neok-m4700 take a look at http://conda-forge.github.io/docs/ciservices.html#circleci-linux to see how you can enable CircleCI (Linux) testing here.

Hi have some timeout on Travis-CI, do you known where it does come from ?
The job exceeded the maximum time limit for jobs, and has been terminated.

do you known where it does come from ?

Yes, but you don't need to worry about that error. We use Travis to compile macOS packages, but Qt takes more time to compile than the one provided by Travis.

Thanks,
By the way I also had to add CONFIG += uitools to projects.pro in order to build libQtUiTools.a
to projects.pro, this is needed when building pyside (python bindings to qt). Should I add this to the build.sh script ?

@neok-m4700 this looks good to go. Please rebase with latest master (to get rid of the OS X failing build) and bump the build number in the meta.yaml file (to get a new version with the patch uploaded).
Thanks for the patch!

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form.

The Windows failure is due to a bad AppVeyor update. I am merging this and fixing the lint in another PR. Thanks @neok-m4700!


Email address verification email bug when email address contains + (plus sign)

Howdy,
You sent me an email Subject: "Connect to Foo on Gratipay?" containing a link to verify my email address. That link didn't work, because my email address has a + character in it, and you didn't escape the + in the URL you sent in the email.
Incorrect URL:
<EMAIL_ADDRESS>Correct URL:
<EMAIL_ADDRESS>+ becomes %2B
Thank you!

Thanks for the report, @jhannah. I thought we paid attention to this case but I guess not sufficiently. :-)

+1 https://gratipay.freshdesk.com/helpdesk/tickets/1613

@rohitpaulk in IRC:

[W]e do sanitize the email before creating the link. https://github.com/gratipay/gratipay.com/blob/master/gratipay/models/participant.py#L556-L557

@Julian on #3141:

I've only tried this with my own email address to run into the issue, so I don't know which of the two options in the title it is, but if your email address looks like<EMAIL_ADDRESS>it's inserted literally into the email query string parameter in the confirmation email's link, which then will get unquoted, and the confirmation will fail because it's interpreted as a space. Emails should be quote(_plused), so that the plus is inserted as %2B, which after manual changing, made the confirmation go through.

+1 https://gratipay.freshdesk.com/helpdesk/tickets/1945

I am getting bit by this trying to set up a team for Aspen:

+1 from @BrettTrotter at https://github.com/gratipay/gratipay.com/issues/3964.

PR started in https://github.com/gratipay/gratipay.com/pull/3965.

Deploying the fix in #3965 ...

Blam! Wanna retry, @jhannah @Julian @BrettTrotter?
Plus in email working for me now:

https://twitter.com/Gratipay/status/717085879995645953


MSAL returns expired idToken when accessToken still valid

Observed in versions 1.12.0 and 1.13.3.
The idToken and accessToken have been configured by our AD administrator to have different expiration times. The idToken has the shorter expiration time. We have observed expired idTokens being returned when silently acquiring the tokens, due to the access token still being valid.
Code Observations
IPublicClientApplication.acquireTokenSilently will return the expired idToken as long as the accessToken is still valid.
This is due to TokenCache.saveTokens using the accessToken expiration timestamp as the cache expiration timestamp.
TokenCache.getCachedAuthenticationResult then reads the cache expiration time from the accessToken cache.
AcquireTokenSilentSupplier.execute then uses the results of TokenCache.getCachedAuthenticationResult to determine whether all tokens should be refreshed or not.

Hello @shaundsmith : Could you describe your scenario a bit more? Is there a reason that the ID token expires sooner than access tokens? If an ID token expires before the access token, then that implies you can't trust the user is who they say they are but you can trust their claims about what they have access to, and I'm not sure where that would be necessary.
Refresh tokens are mostly to pair with access tokens (and there are some scenarios where you don't even use ID tokens), which is why we just check the access token's details in the silent flow. I'm pretty sure that ID tokens are mostly just used when acquiring access tokens, and after that the expiry data doesn't really matter (though I wouldn't be surprised if some Azure service needed an unexpired ID Token for something)

Hi @Avery-Dunn, apologies for the delayed response. We've been trying to trace the reason behind the difference between our access and ID token expiration times, and find out who has control over this functionality in the company.
Our use case is that we're authenticating with Azure AD in order to authenticate with an internal API. This internal API takes an access token and an ID token, and exchanges them for its own access token which we can use for future requests. In our instance, the internal access token expired and the AD ID token had expired, but the AD access token was still active due to a difference in the expiration times.
It sounds like this issue is misconfiguration on our side, and we can either force a refresh of the tokens or align the expiration times of the tokens. I'm happy for you to close this issue.
If you think it would be a worthwhile change, I can raise a PR to tweak the JavaDoc on IClientApplicationBase.acquireTokenSilently to explicitly state that the tokens are refreshed if the access token has expired - at the moment it just states 'tokens have expired'.

Glad you got it sorted out, and thanks for the offer to tweak the docs! Feel free to make a PR, we'll review it and add it into our next release.


the mean of output in test_log

hi,
I find a question,but I am not sure whether is right or not.
in the code :activitynet_log_analysis.py

left_frame = float(l.split()[1])*stride + start_frame
right_frame = float(l.split()[2])*stride + start_frame

and then i change the code to :

     left_frame = float(l.split()[0].split('[')[-1])*stride + start_frame
     right_frame = float(l.split()[1])*stride + start_frame

and then,it works ,or it will come across some error ,and  I hope you can check it.
otherwise, there still another question:
activity:  80
[[19.049221  65.19444    0.1244299]]
activity:  115
[[9.4955711e+00 7.9366196e+01 6.5591358e-02]]

what's the meaning of the three parameters??
thanks for your attention.

On Apr 16, 2018, at 07:06, kstys <notifications<EMAIL_ADDRESS>wrote:
hi,
I find a question,but I am not sure whether is right or not.
in the code :activitynet_log_analysis.py
left_frame = float(l.split()[1])*stride + start_frame
right_frame = float(l.split()[2])*stride + start_frame
and then i change the code to :
 left_frame = float(l.split()[0].split('[')[-1])*stride + start_frame
 right_frame = float(l.split()[1])*stride + start_frame

and then,it works ,or it will come across some error ,and I hope you can check it.
The origin one is correct, since there is a white space between bracket and number.
[[ 19.049221 65.19444 0.1244299]]
otherwise, there still another question:
activity:  80
[[19.049221  65.19444    0.1244299]]
activity:  115
[[9.4955711e+00 7.9366196e+01 6.5591358e-02]]
what's the meaning of the three parameters??
[[ left_frame right_frame score]]
thanks for your attention.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/VisionLearningGroup/R-C3D/issues/24, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFOa_2XM1X13A220337--BpME4RLLg5fks5tpHs4gaJpZM4TWUHH.

@wangwen39 Have you solved your problem? I have the same issue: some of the matrixs are in this format:  [[9.4955711e+00 7.9366196e+01 6.5591358e-02]], and some of them have "space" between number and '[[', I cannot figure out the reason for that.

It’s because of the python version. You can change the parsing code in the log analysis code.
On Aug 30, 2018, at 03:02, ivyvideo <notifications<EMAIL_ADDRESS>wrote:
@wangwen39https://github.com/wangwen39 Have you solved your problem? I have the same issue: some of the matrixs are in this format: [[9.4955711e+00 7.9366196e+01 6.5591358e-02]], and some of them have "space" between number and '[[', I cannot figure out the reason for that.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/VisionLearningGroup/R-C3D/issues/24#issuecomment-417211682, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFOa_1hkyWwQbpeMZx2xsbLPPl-19Yz9ks5uV44PgaJpZM4TWUHH.

I think it is because when printing a matrix in python, the numbers should be aligned in the direction of a column as follows. So once you save the results in log file, the space between '[[' and the number would also be saved.
In order to tackle the problem, I add a postprocess to deal with the spaces...


Learning rails-api

Our development group is completely new to rails. We are only going to be using rails (rails-api) to build RESTful services to drive Ember CLI front ends. What is the best source of learning material for the rails server component? All of the rails documentation, books, etc that I find give instructions on building full stack web applications using rails.

http://emberigniter.com/modern-bridge-ember-and-rails-5-with-json-api/
Happy Coding!


Count doesn't seem to work

Getting this error which I guess is breaking count:

47x WarpDeplete/Events.lua:197: attempt to index local 'CriteriaInfo' (a nil value)
[string "@WarpDeplete/Events.lua"]:197: in function GetEnemyForcesCount' [string "@WarpDeplete/Events.lua"]:210: in function UpdateForces'
[string "@WarpDeplete/Events.lua"]:513: in function ?' [string "@!KalielsTracker/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...ker/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:109> [string "=[C]"]: ? [string "@!KalielsTracker/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...ker/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15> [string "@!KalielsTracker/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function Fire'
[string "@Betails/Libs/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <...ceBetails/Libs/AceEvent-3.0/AceEvent-3.0.lua:119>
Locals:
self =  {
modules =  {
}
Glow =  {
}
db =  {
}
defaultObjectivesState =  {
}
bar1 =  {
}
name = "WarpDeplete"
LSM =  {
}
L =  {
}
bar2 =  {
}
defaultForcesState =  {
}
bars =  {
}
bar3 =  {
}
baseName = "WarpDeplete"
defaultModuleState = true
forcesState =  {
}
Util =  {
}
frames =  {
}
enabledState = true
forces =  {
}
configDialog =  {
}
optionsGeneralFrame = Frame {
}
isUnlocked = false
keyDetailsState =  {
}
objectivesState =  {
}
challengeState =  {
}
defaultModuleLibraries =  {
}
defaultKeyDetailsState =  {
}
timerState =  {
}
orderedModules =  {
}
isShown = true
defaultChallengeState =  {
}
defaultTimerState =  {
}
}
stepCount = 0
CriteriaInfo = nil
(*temporary) = 0
(*temporary) = false
(*temporary) = false
(*temporary) = false
(*temporary) = "attempt to index local 'CriteriaInfo' (a nil value)"

"There is currently nothing in the wow api that returns current mob-count. This has already been reported and is up to Blizzard to add back into the game. I have changed the aura to only use percentage for now as that is the only way of doing it at the moment. (they only provide rounded percentage with 0 decimals). This also means that the "current pull" display can only be an estimation as I have no way of knowing the decimal numbers."
Apparently this is a thing, could be why?

Yeah, that's definitely the issue. Most of the other bugs were fixed already, but this requires some more work, so we opted to already put out a usable version while this issue is still present. It is being worked on.

Fixed in #76


two bower.json files?

Why are there two files
.bower.json
bower.json
?

There is only one bower.json file in the repository so I assume this is something directly related to your file system.


Unknown actor eExtHostDocumentsAndEditors

Issue Id: 45a044fe-b209-521b-9cb8-6ebb1035c811Versions - 1.19.0-  929bacba01ef658b873545e26034d1a8067445e9-  dcee2202709a4f223185514b9275aa4229841aa7Stack Error: Unknown actor eExtHostDocumentsAndEditors/vs/workbench/services/thread/node/abstractThreadService.ts#L35:9/vs/workbench/services/extensions/node/rpcProtocol.ts#L109:39 (invoke)/vs/workbench/services/extensions/node/rpcProtocol.ts#L96:36 (_invokeHandler)/vs/workbench/services/extensions/node/rpcProtocol.ts#L32:65 (_receiveOneMessage)/vs/workbench/services/extensions/node/rpcProtocol.ts#L157:4 (onMessage)/vs/base/common/event.ts#L382:86 (call)/vs/base/common/event.ts#L142:15 (call)/vs/base/parts/ipc/node/ipc.net.ts#L81:22 (fire)    at emitOne (events.js:96:13)    at Socket.emit (events.js:191:7)

Also:
Error: Unknown actor eExtHostWindow
at t.e.invoke (/out/vs/workbench/node/extensionHostProcess.js:515:897)
at e._invokeHandler (/out/vs/workbench/node/extensionHostProcess.js:357:580)
at e._receiveOneMessage (/out/vs/workbench/node/extensionHostProcess.js:357:270)
at /out/vs/workbench/node/extensionHostProcess.js:356:206
at /out/vs/workbench/node/extensionHostProcess.js:358:204
at /out/vs/workbench/node/extensionHostProcess.js:85:988
at e.fire (/out/vs/workbench/node/extensionHostProcess.js:87:218)
at Socket.<anonymous> (/out/vs/workbench/node/extensionHostProcess.js:135:717)
at emitOne (events.js:96:13)
at Socket.emit (events.js:191:7)

I have looked at the code for quite some time. The only way I can reproduce this error is if something fails in the initialization path of the extension host. e.g.

Then, the listeners for various extension host features are not registered and the errors show up:

But these are second-level errors. i.e. the root cause is the error before, i.e. this error says that the extension host is broken, but the previous error would say why ...
So. annoying, but no code change ...


Questions about NDMS

Hi @jutanke ,
Thanks for your excellent work!
I'm interested in the metric NDMS, and I have a question about it. According to your utilization sample, why should we use function  db.rolling_query(seq) to compute the NDMS but not use NDMS  function in ndms.py directly?  If the NDMS results of your method in your paper are calculated by using  db.rolling_query(seq)?

This is formulated a bit awkward in the paper: in our paper we actually report the frame-wise values g (Eq. 10) averaged over the number of samples rather than the accumulated one f_{sim} (Eq. 9).
Accumulating the scores will punish (big) mistakes that happen early in the prediction more and it scores recovering from bad motion much lower.
On the other hand, using framewise scores allows us to pinpoint when the generated motion becomes "bad" but it will also be more lenient when the motion generation recovers from bad poses. In the end, many motion anticipation methods have a design flaw that makes the first few generated poses seem "disconnected" to the input motion - these kind of design flaws can only be caught with the framewise score which is why we use that version in the paper.


App crash when alarming

@Lissy93 @jaggs6  I have download this app but when i debug and test on my device it crashes on launching the alarm . but when i use apk uploaded on this it is working very well.  Pls tell me where is the problem.

Hard to tell without crssh logs

app crash net.as93.ScreenReciever not find andy reciever in this source code . Your Apk is working fine but when execute in source lot of code is missing.Please update source code
Thanks


Check CISA and Cybersafe Guidance for new topics

https://www.getcybersafe.gc.ca/en/resources/update-your-software
https://www.getcybersafe.gc.ca/en/resources/7-red-flags-phishing
https://www.getcybersafe.gc.ca/en/phishing

https://www.getcybersafe.gc.ca/en/blogs/spot-cyber-threat-social-media

https://www.getcybersafe.gc.ca/en/secure-your-connections
https://www.getcybersafe.gc.ca/en/secure-your-devices/gaming-systems
https://www.getcybersafe.gc.ca/en/secure-your-devices/tvs-and-smart-devices
https://www.getcybersafe.gc.ca/en/secure-your-devices/phones-and-tablets
https://www.getcybersafe.gc.ca/en/secure-your-devices/laptops-and-computers

https://www.getcybersafe.gc.ca/en/secure-your-connections/private-networks
https://www.getcybersafe.gc.ca/en/secure-your-connections/bluetooth
https://www.getcybersafe.gc.ca/en/secure-your-connections/firewalls
https://www.getcybersafe.gc.ca/en/secure-your-connections/vpns
https://www.getcybersafe.gc.ca/en/secure-your-connections/public-wi-fi

https://www.cisa.gov/mfa
https://www.cisa.gov/shop-safely
https://www.cisecurity.org/ms_isac
https://staysafeonline.org/resources/

https://www.cisa.gov/uscert/ncas/tips
https://www.cisa.gov/cisa-cybersecurity-awareness-program
https://www.cisa.gov/cyber-essentials

https://www.getcybersafe.gc.ca/en/blogs/using-virtual-reality-here-are-cyber-security-risks-you-need-be-aware

https://www.getcybersafe.gc.ca/en/secure-your-connections https://www.getcybersafe.gc.ca/en/secure-your-devices/gaming-systems https://www.getcybersafe.gc.ca/en/secure-your-devices/tvs-and-smart-devices https://www.getcybersafe.gc.ca/en/secure-your-devices/phones-and-tablets https://www.getcybersafe.gc.ca/en/secure-your-devices/laptops-and-computers

Added 99f88c27742ae3dc348404cb223a96555953d9d0
Added c37de7fe26793c1eead797ef16bee1d02793c13e
Added c5bd412cd28181cdd56113757b42b824262f0164

https://www.getcybersafe.gc.ca/en/secure-your-connections/private-networks https://www.getcybersafe.gc.ca/en/secure-your-connections/bluetooth https://www.getcybersafe.gc.ca/en/secure-your-connections/firewalls https://www.getcybersafe.gc.ca/en/secure-your-connections/vpns https://www.getcybersafe.gc.ca/en/secure-your-connections/public-wi-fi

Added it in other topics


Added gofmt test for all source code

This test should fail due to multiple files not currently properly formatted.

The codebase unironically fails the gofmt test.

Ran gofmt on the whole project, the test passes now. @kumarde


[Feature Request] Support SASS

hello! this is kinda related to https://github.com/TryGhost/Casper/issues/169 but since that was 4 years ago i want to re-open it
im using Ghost for first time (and btw you have done great job there!) so i thought to build my theme based on Casper. i do not mind if Casper uses CSS, but it would be nice if build scrips could also handle SASS when there is under assets/sass for example
to add; that would be very handy for someone that is just starting with Ghost, since the template system is so awesome that eventually everyone will develop their own themes from scratch, therefore they can add SASS

Hi @alex285 if you're adding SASS to a theme, then it's up to you to also add the necessary build tools. This is nothing to do with Ghost, or Casper - your choice of tooling, whether that's css processors or build tools is entirely up to you. We just happen to use postcss & gulp.

no worries, already wrote a SASS Gulp; it was more like a friendly suggestion, so new Ghost people will have a smoother starting up :)


feat: add Modelina playground and documentation to tools

Description

Add new page /tools/modelina.
Add basic (line in other pages) docs how to install Modelina and add simple showcase of usage
Add playground where use can define AsyncAPI doc, turn on/off options for given programming language and generate models for it.
Add OpenGraph for new page.
Add new component Tabs

Can we try to get the horizontal scrollbar to the bottom?

@fmvilas Thanks for review and for suggestions! I pushed the changes. Could you look again?
@jonaslagoni Do you want to add something?

@jonaslagoni Do you want to add something?

Nope, think it is good for now 👍


Allow running of E2E tests locally

These commits add the ability to run E2E tests on a local machine using an external repository for the image and using the GOPATH instead of TRAVIS_BUILD_DIR for the pkg symlink.
This is the last part of PR #355 that was split up for easier review.

Fixed

lgtm defer to @hasbro17

LGTM after nit
@AlexNPavel were you able to run this successfully on your machine against a cluster that does not use your local container registry?

@hasbro17 I've tested this multiple times and it's working correctly.


Download gets caught by Windows Defender as a Trojan

I'd assume its not suppose to do this
this is when you click on the link specifically https://github.com/overwolf/jar-infection-scanner/releases/download/1.0.1/jar-infection-scanner.zip from https://support.curseforge.com/en/support/solutions/articles/9000228509-june-2023-infected-mods-detection-tool/
windows defender then removes it shortly after, I did extract it one time, but the browse button did not work
EDIT: just to clarify, I am assuming this is a false positive, but might want to be checked.

Same except mine is
Trojan:Script/WactacB!ml

I am not sure why (doesn't happen to be btw).
We'll try to approve it somehow.

windows defender then removes it shortly after, I did extract it one time, but the browse button did not work

is this happening on the .zip file or a specific file itself?
if you view more details does it just list the .zip or a file within?

https://www.virustotal.com/gui/file/cd34dde6d4f4c55c88ac93ca16e191203741be092d9c1f342587520a3720d70a/details
VirusTotal doesn't seem to care about the .zip, so I'm assuming it's some kind of real-time analysis by defender? I can't reproduce it in a Windows 11 VM

When I downloaded it as a zip, Windows defender went off

I've uploaded it to our servers:
https://download.curseforge.com/downloads/troubleshooting/jar-infection-scanner-1.0.1.zip and https://download.curseforge.com/downloads/troubleshooting/jar-infection-scanner-1.0.1.zi_
maybe this will work for you (if you download the second one, don't forget to change the zi_ to zip)

I've tried the download again today (from my originally posted links), and as (vaguely) expected windows seems fine with it, this has occurred on a few things I've downloaded before but I think it takes a while for defender to understand a file and thus realize its not actually bad.
the scan also seems to work today, I assume windows stopped it working that first time I mentioned.
the links you have in that last message appear to be to the source files rather than a compiled version.
I'll leave this open just in case other people need to see it in the next few hours, but I imagine it should be fundamentally resolved
thank you for your time.


APM not starting/not listening on port 8126

I have the following Dockerfile, which builds the agent from the source (btw, is there a pre-built binary to Linux?)
FROM debian:bullseye AS datadog

ENV PATH /opt/venv/bin:$PATH
ENV PIP_DISABLE_PIP_VERSION_CHECK 1
ENV PYTHONDONTWRITEBYTECODE 1

WORKDIR /opt
RUN apt update && apt install -y wget git python3 python3-dev python3-venv build-essential cmake software-properties-common apt-transport-https
RUN wget -qO- go.dev/dl/go1.18.linux-amd64.tar.gz | tar zx --strip-components=1 -C /usr/local/
RUN python3 -m venv venv

WORKDIR /opt/go/src/github.com/DataDog/datadog-agent
RUN git clone https://github.com/DataDog/datadog-agent.git .
RUN pip install -r requirements.txt
RUN pip install exodus-bundler
RUN invoke agent.build --build-exclude=systemd --python-runtimes 3
RUN set -e; exodus -q bin/agent/agent -o agent -a dev/lib/libdatadog-agent-three.so && ./agent

FROM python:3.8
WORKDIR /app
RUN apt-get update && apt-get install -y netcat
COPY --from=datadog /opt/exodus /opt/exodus
COPY datadog.yaml .

ENTRYPOINT ["bash"]

I start the agent by typing
/opt/exodus/bin/agent run -c /app/datadog.yaml

However, if I ran
/opt/exodus/bin/agent status -c /app/datadog.yaml

I got
=========
APM Agent
=========

  Status: Not running or unreachable on localhost:8126.
  Error: Get "http://localhost:8126/debug/vars": dial tcp <IP_ADDRESS>:8126: connect: connection refused

My config file
api_key: SECRET

hostname: app.company.com

tags:
  - env:dev

apm_config:
  enabled: true

What can be?

The APM agent (AKA - the trace-agent) is a separate process that needs to be started along side the core agent.
We offer pre-built binaries for most popular linux distributions as well as several pre-built docker images .
Also - Our Dockerfile(s) are publicly available in the repo  if you would like to change or modify it to fit your use case.

@gh123man thank you
Is it possible to build this binary using invoke or it is a completely different process?

Thank you so much!

No problem! Closing this out.


Allow the folder structure to be customized

I would like to use another format for date like dd/MM/yyyy

I think something to the effect of defining the format string like so:
FILENAME_FORMAT = "/{exif.date:%Y-%m-%d}/{exif.location}"

I don't know that I see a problem with putting reserved (i.e. path separator) characters in. Some may want a slightly different folder structure. Here are some I can think of off the top of my head:

(current) /{date:%Y-%d-%b}/{location}/{filename}
/{date:%Y-%m-%d}/{location}/{filename}
/{location}/{date:%Y-%m-%d}/{filename}
/{date:%Y}/{date:%m}/{date:%d}/{filename}

@waynew I like that format and I think it's something we can easily parse.
There are some considerations to keep in mind though. Right now, for example, the leaf folder can be either a location name or an album name. If the album exists in EXIF that takes precedent over location.
I think we want to keep that level of customization included when we try to solve this.

~ https://github.com/jmathai/elodie/issues/107

Sketching an idea out, would it make sense to have this in config.ini?
[Directory]
key=%Y-%m-%d

Then, in filesystem.py
from configparser import ConfigParser
__DIR__ = None

def get_dir():
    global __DIR__
    if __DIR__ is not None:
        return __DIR__

    config_file = '%s/config.ini' % constants.application_directory
    if not path.exists(config_file):
        return None

    config = ConfigParser()
    config.read(config_file)
    if('Directory' not in config.sections()):
        return None

    __DIR__ = config.get('Directory', 'dir')
    return __DIR__

Which would then allow you to do
time.strftime(__DIR__, time_obj) and path.append(time.strftime(__DIR__, metadata['date_taken']))
I'm happy to write a PR if that looks suitable?  Of course, it only lets you set a date based path, so no good if you want /place/date or anything like that.

PR looks great. Moving discussion there.

PR merged. You can now customize the folder path as documented here. https://github.com/jmathai/elodie#create-your-own-folder-structure
Customizing the file name is being tracked in #107.


Fixed #28 Use chef_gem to install gem instead using gem_package

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

I've signed the CLA

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

@irvingpop merge? :+1:

hi @manuelmazzuola @gionn -  It would be hugely helpful to reviewers such as myself if this PR came with some tests and evidence of testing.  I realize this is a simple change, but it's an enormous help to the community :)
Also, are you aware of the compile_time changes to the chef_gem resource?  https://www.chef.io/blog/2015/03/03/chef-12-1-0-released/     I recommend explicitly setting compile_time to true or false depending on the needs of the cookbook.

+1 please merge this

hey @taliesins it's awesome that you want this merged!   Unfortunately there's outstanding issues on this PR that need to be addressed:

rebase to resolve merge conflicts
address my comments from July 7th

The original author of this PR hasn't responded in a while.   If that continues to be the case, you may want to consider making your own PR for this issue if you have the time (and CLA/CCLA)

Personally I don't see why you are forced to install a gem if you want to install SQL server. If other cookbooks like Database make use of it, then they should call a wrapper cookbook that calls this one and then installs the gem (perhaps database_sql_server).
As for selecting behaviour of compile_time, I don't think its relevant as we don't make use of the gem. So I would set compile_time to false.
I don't think that this is an easy thing to test. Could you provide an example test to demonstrate this? I am not sure how you can demonstrate depreciated functionality in chef, other then running in a new version of chef.
Please could you merge this 1 liner. As I am pretty sure a few people are going to be on a newish version of chef and want to install sql.


Creating multiple ingresses in Kubernetes set up is broken

Rancher Version:: Master
OS and where are the hosts located? (cloud, bare metal, etc): Ubuntu, Cloud
Environment Type: (Cattle/Kubernetes/Swarm/Mesos): Kubernetes
Steps to Reproduce:

Create a kubernetes set up.
Create a nginx service
Create two ingresses using two files pointing to the service

The following is the error seen in the logs:
5/16/2016 3:05:48 PMtime="2016-05-16T22:05:48Z" level=error msg="Failed to apply lb config on provider: Failed to set service links for lb [default-testing]. Error: &client.ApiError{StatusCode:422, Url:"http://<IP_ADDRESS>:8080/v1/loadbalancerservices/1s13/?action=setservicelinks\", Msg:"Bad response statusCode [422]. Status [422 status code 422]. Body: [fieldName=serviceId and link name combination, code=NotUnique] from [http://<IP_ADDRESS>:8080/v1/loadbalancerservices/1s13/?action=setservicelinks]", Status:"422 status code 422", Body:"fieldName=serviceId and link name combination, code=NotUnique"}"
twoingressbuglog.txt

Tested with updated image of ingress controller : alena1108/ingress-controller:v0.1.1. Multiple ingresses can be created.


Create an object, the value of the enumeration is used as the key of the object, the object point value is a literal type, but typescript does not generate an exact type for the object

Bug Report

🔎 Search Terms
typecript does not automatically generate the correct type、enum、Object  key in enum

🕗 Version & Regression Information

This is a crash
This changed between versions 4.3.4 and 4.7.4_
This is the behavior in every version I tried, and I reviewed the FAQ for entries about enum___
I was unable to test this on prior versions because _______

⏯ Playground Link

Playground link with relevant code
💻 Code

export enum OpenApiVersion {
  'openapi2' = 'openapi2',
  'openapi30' = 'openapi30',
  'openapi31' = 'openapi31',
}

export const OpenApiVersionExportName = {
  [OpenApiVersion.openapi31]: 'openapi',
  [OpenApiVersion.openapi30]: 'openapi',
  [OpenApiVersion.openapi2]: 'swagger',
};

🙁 Actual behavior

Typescript Generated Types 👇
const OpenApiVersionExportName: {
    openapi31: string;
    openapi30: string;
    openapi2: string;
}

🙂 Expected behavior

This is my expectation 👇
const OpenApiVersionExportName: {
    openapi31: 'openapi';
    openapi30: 'openapi';
    openapi2: 'swagger';
}

This didn't change between 4.3 and 4.7 as far as I can tell. The current behavior is the expected behavior; if you want the "expected" behavior use as const either on the strings themselves or the entire object
export const OpenApiVersionExportName = {
  [OpenApiVersion.openapi31]: 'openapi',
  [OpenApiVersion.openapi30]: 'openapi',
  [OpenApiVersion.openapi2]: 'swagger',
} as const

我这如果真的，你是在和 4.3.7 之间变化。当前行为是没有行为；“潜在”行为as const，在字符串本身就是对象上使用
export const OpenApiVersionExportName = {
  [OpenApiVersion.openapi31]: 'openapi',
  [OpenApiVersion.openapi30]: 'openapi',
  [OpenApiVersion.openapi2]: 'swagger',
} as const

oh ！！    I am very sorry for wasting your precious time, it is my negligence that caused. 😖


mockup of annotation

choose the longest word for overlapped
we got these words now(in Python)
[{'to': 24, 'from': 12, 'text': 'rhesus monkey'}, {'to': 62, 'from': 58, 'text': 'human'}, {'to': 70, 'from': 64, 'text': 'primate'}, {'to': 84, 'from': 72, 'text': 'animal models'}, {'to': 102, 'from': 98, 'text': 'human'}, {'to': 111, 'from': 104, 'text': 'diseases'}, {'to': 193, 'from': 188, 'text': 'humans'}, {'to': 213, 'from': 206, 'text': 'research'}, {'to': 234, 'from': 221, 'text': 'rhesus monkeys'}, {'to': 316, 'from': 292, 'text': 'protein sequence database'}, {'to': 417, 'from': 411, 'text': 'tissues'}, {'to': 530, 'from': 526, 'text': 'human'}, {'to': 539, 'from': 532, 'text': 'database'}, {'to': 629, 'from': 622, 'text': 'proteins'}, {'to': 709, 'from': 704, 'text': 'future'}, {'to': 723, 'from': 711, 'text': 'rhesus monkey'}, {'to': 732, 'from': 725, 'text': 'proteome'}, {'to': 741, 'from': 734, 'text': 'research'}, {'to': 142, 'from': 139, 'text': 'size'}, {'to': 331, 'from': 322, 'text': 'sufficient'}, {'to': 403, 'from': 396, 'text': 'multiple'}, {'to': 425, 'from': 422, 'text': 'male'}, {'to': 439, 'from': 434, 'text': 'female'}, {'to': 476, 'from': 473, 'text': 'high'}, {'to': 669, 'from': 666, 'text': 'male'}, {'to': 680, 'from': 675, 'text': 'female'}]

for
"Though the rhesus monkey is one of the most valuable non-human primate animal models for various human diseases because of its manageable size and genetic and proteomic similarities with humans, proteomic research using rhesus monkeys still remains challenging due to the lack of a complete protein sequence database and sufficient proteomic information. In this project, proteomic profiling of multiple organ tissues, 9 male and 11 female were performed in an automated, high-throughput manner employing annotated UniProtKB human database. Based on the success of this alternative interpretation of MS data, the list of proteins identified from total 12 organs of male and female subjects will benefit future rhesus monkey proteome research."

[ ] The main component of the annotation is the Annotator Lib. It will have two main dependencies the
Biontology annotation library and the already implemented mongo db.
[ ] The synonyms indexing component will take (weekly based) the new datasets and annotated the
enrichment in the MongoDB database.

[ ] For every database check the new datasets (using the mongo db you can trace the datasets) for
every dataset you should create a set of fields and for each field the synonyms.

[ ] Implement the functionality in the annotator lib to retrieve for an specific field and dataset the
annotations and synonyms, then the EBI developers will be able to use this functions to do the
enrichment during indexing.

I will close this issue with a new pipeline we will work on this issue and this is not part of the web-service.


adjust tag filtering for union of tags

currently, when filtering channels/groups by multiple tags, the app only shows channels that intersect with all selected tags. for instance, if a user selects "spiritual," "tech," and "news" tags, only channels containing all three tags are displayed, excluding those with just one or two of these tags. it should have to include all channels with these tags.

It was by design that I did this. By doing it this way you get exactly the kind of channels you want not a giant list of overlapping ones.

currently it only displays channels/groups intersecting with all selected tags, is too restrictive .  how about this solution:- implement a tiered approach where channels matching all tags appear first, followed by those matching one less tag, two less, and so on. this would allow users to discover a wider range of relevant channels/groups, similar to platforms like twitter.


New version: TaijaParallel v1.0.4

Registering package: TaijaParallel
Repository: https://github.com/JuliaTrustworthyAI/TaijaParallel.jl
Created by: @pat-alt
Version: v1.0.4
Commit: 7dca5f19be808b5591bdf6536db2c2b6c9802d04
Reviewed by: @pat-alt
Reference: https://github.com/JuliaTrustworthyAI/TaijaParallel.jl/commit/7dca5f19be808b5591bdf6536db2c2b6c9802d04#commitcomment-148778615
Description: Adds support for parallelization for Taija packages.

Blocking in favor of #118799


docs: Correction of text description

Types of changes

[ ] New feature
[ ] Bug fix
[ ] Enhancement
[ ] Component style change
[ ] Typescript definition change
[x] Documentation change
[ ] Coding style change
[ ] Refactoring
[ ] Test cases
[ ] Continuous integration
[ ] Breaking change
[ ] Others

Background and context

Solution

How is the change tested?

Changelog

Component
Changelog(CN)
Changelog(EN)
Related issues

cascader, select
修正文字描述
Correction of text description

Checklist:

[ ] Test suite passes (npm run test)
[ ] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[ ] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others
should be submitted to main branch)

Other information

@Zhxxxxxxxx 感谢 PR~