Workload annotations for monitoring do not wireup collection

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Create a deployment workload with the annotation set via kubectl
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  # This name uniquely identifies the Deployment
  name: minio-deployment
spec:
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        # Label is used as selector in the service.
        app: minio
      annotations:
        field.cattle.io/workloadMetrics: '[{"path":"/minio/prometheus/metrics","port":9000,"schema":"HTTP"}]'
    spec:
        containers:
....

Result:
No monitoring service or ServiceMonitor object are created, and therefore not scraped for metrics.
If I manually create the missing resources, it seems to work.
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

rancher/rancher:master - 12/17 AM MST
Stand alone container
1x imported single node RKE cluster.

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker (use docker info):

(paste the output here)

It is like what we do for workload dns record, WorkloadMetrics collection is only supported by adding workload via Rancher UI/API. Should it open to non rancher-created workload? @cloudnautique

@orangedeng Yes, we need to support serviceMonitor as well. Then users can just edit the yaml to make it.

The bug fix is validated on Rancher: master 2/14
Rancher single install, DO cluster with 3 nodes, one role on each
Steps:

turn on cluster monitoring and project monitoring
deploy a workload by importing a YAML file
In the YAML file define the field field.cattle.io/workloadMetrics and set proper values
after the workload is active go to the project's Prometheus catalog app to check Service Discovery

Result:
The imported workload is shown in the Service Discovery list


Add tiny-process-library

It would be great to have a port of the tiny-process-library library ( https://github.com/eidheim/tiny-process-library ).

cc @aerydna

Fixed by https://github.com/Microsoft/vcpkg/pull/5504 , thanks @myd7349 !


Update assay_types.yml to include DESI

Added DESI + image pyramid variant

Adding @AlanSimmons as one of the reviewers per Bill's suggestion.

@bhonick It has been my experience that the *_pyramid assay types are deprecated, even though they are still in the assay_types.yaml. This is the case for AF_pyramid, IMC2D_pyramid, etc. I can see no entities for datasets with these values of data_type.  The only data_type that is still relevant is image_pyramid.
Do you really need the DESI_pyramid assay/data type?

The change looks okay to me. I will transfer information on the DESI assay type to the HuBMAP application ontology for the next release of the ontology.

@AlanSimmons Thanks for looking this over. I merely added the DESI_pyramid since I did not know about the deprecation. Shall I remove that part of the YAML?

@bhonick You can leave the change as is. I'll ignore DESI_pyramid with respect to the ontology. Once the ontology is the source of truth and we replace calls that read assay_types.yaml with calls to the ontology api,  the assay_types.yaml file will no longer be relevant.
FYI @shirey

@AlanSimmons Thanks! Sounds good to me.
@yuanzhou It sounds like this is now ready for testing whenever it comes up in your queue, thanks!

@sunset666 can you take a look and approve if good? Then I'll get it merged and redeployed on DEV for testing.


Documentation enhancement

Would it be possible to update the examples in the documentation with an example of some of the options? I passed in the following data from the chart.js linechart example, and the graph style is completely different:
var data = {
  labels: ["January", "February", "March", "April", "May", "June", "July"],
  datasets: [
    {
      label: "My First dataset",
      fill: false,
      lineTension: 0.1,
      backgroundColor: "rgba(75,192,192,0.4)",
      borderColor: "rgba(75,192,192,1)",
      borderCapStyle: 'butt',
      borderDash: [],
      borderDashOffset: 0.0,
      borderJoinStyle: 'miter',
      pointBorderColor: "rgba(75,192,192,1)",
      pointBackgroundColor: "#fff",
      pointBorderWidth: 1,
      pointHoverRadius: 5,
      pointHoverBackgroundColor: "rgba(75,192,192,1)",
      pointHoverBorderColor: "rgba(220,220,220,1)",
      pointHoverBorderWidth: 2,
      pointRadius: 1,
      pointHitRadius: 10,
      data: [65, 59, 80, 81, 56, 55, 40],
      spanGaps: false,
    }
  ]
};
var MyComponent = React.createClass({
    render: function() {
          return <LineChart data={data} options={null} width="600" height="250"/>
          }
});

Should I pass in the style data from datasets to options instead?

Looks like my issue was actually the same as:
https://github.com/reactjs/react-chartjs/issues/134


[fp8] fix all to all single test.

📌 Checklist before creating the PR

[ ] I have created an issue for this PR for traceability
[ ] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[ ] I have added relevant tags if possible for us to better distinguish different PRs
[ ] I have installed pre-commit: pip install pre-commit && pre-commit install

🚨 Issue number

Link this PR to your issue with words like fixed to automatically close the linked issue upon merge
e.g. fixed #1234, closed #1234, resolved #1234

📝 What does this PR do?

Summarize your work here.
if you have any plots/diagrams/screenshots/tables, please attach them here.

fix all to all single test.
💥 Checklist before requesting a review

[ ] I have linked my PR to an issue (instruction)
[ ] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[ ] I have performed a self-review of my code
[ ] I have added thorough tests.
[ ] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[ ] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

test has passed.


fix(release): automatically merge PRs to npm-dependency repo during release pipeline

Can one of the admins verify this patch?


Date range color

Can we change the selected date range color. current is yellow
tried - android:listSelector="@color/black" but no luck

Sorry for late response, they are state_range_last, state_range_middle, state_range_first in drawable folder

Thank you,
But inside the CalendarPickerView class. Did not find any usage of that
drawables. Can you please help me from where exactly I use this?
On 07-Feb-2018 23:36, "Sarabjeet Singh"<EMAIL_ADDRESS>wrote:
Sorry for late response, they are state_range_last, state_range_middle,
state_range_first in drawable folder
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/savvisingh/DateRangePicker/issues/15#issuecomment-363857031,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMOvPM8QLXKaN6A4EZjv6JsA8-lmIPauks5tSeXvgaJpZM4RxP4f
.

I have created a State Range Selector named calendar_bg_selector

<com.savvi.rangedatepicker.CalendarPickerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/calendar_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/llDateRange"
android:paddingLeft="@dimen/_5sdp"
android:paddingRight="@dimen/_5sdp"
android:paddingBottom="@dimen/_10sdp"
android:scrollbarStyle="outsideOverlay"
android:clipToPadding="false"
app:tsquare_dividerColor="@color/white"
app:tsquare_headerTextColor="@color/black"/>
Please add you code in above. i am totally blind.
i need custom color for the selected date range, current is yellow
i am using "compile 'com.savvi.datepicker:rangepicker:1.0.1'"

Hey @RanchhodRamani , you just need to change the color value in rangedatepicker/src/main/res/drawable/state_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="oval">
      <!-- change this color value -->
      <solid android:color="#ffcf40" />
      <stroke android:width="16dp"
          android:color="@android:color/transparent"/>
    </shape>
  </item>
</layer-list>

I suggest set this select color drawable to rangedatepicker's attribute .

@RanchhodRamani you can actually create your own state_selected.xml in your project and it will override the one from this dependency

@daniel-micic where should give the selector to date?

in your res/drawable folder, but i ended up copying the whole source code of this repo into my project because i needed to customize it more

@daniel-micic i asked where should I mention in the view for which attribute

I created the same file but I named other name range_selector.xml, I implemented the library in gradle not added to my project.

not sure, but I think it needs to be named exactly state_selected.xml, otherwise it won't override the one in library

@daniel-micic it worked for single selection not for range selection any selector need to add?

oh yes, i remember now, that's why I copied the whole library in my project, to change color for date range I had to change some resources inside it

Maybe, if you use the resource color inside the drawables it will be overridable, like this:
https://stackoverflow.com/questions/37289717/override-resources-in-library-android

it worked for single selection not for range selection any selector need to add?

@daniel-micic I tried to replace most of the files in https://github.com/savvisingh/DateRangePicker/tree/master/app/src/main/res/drawable inside app's res/drawable but has no luck. Neither in SelectionMode.RANGE, nor in SelectionMode.SINGLE mode dates could replace yellow with own color.

Hi guys. I have found complete workaround. Drawable resources which are used for range shape are lay in drawable-anydpi-v21 folder. So you need to copy and paste that folder ton your project to overwrite contained resources by your own

@pavloZorya, hello! It seems to me I tried similar variant, but for drawable folder, and it didn't help due to compile errors. What if you have minSdkVersion < 21?

@pavloZorya, hello! It seems to me I tried similar variant, but for drawable folder, and it didn't help due to compile errors. What if you have minSdkVersion < 21?

Have you tried override folder "drawable-anydpi". Please note - without "-v21"

Try this: https://github.com/savvisingh/DateRangePicker/pull/48#issuecomment-468889033

Hi Please check the new version of the lib 1.3.0 and you can find the info in ReadMe on how to override the default colors


Save theme preferences on Nord website

Description
I'm not sure if this is the right repository for this or if the website has its own repository so please move this to an appropriate location.
Currently, while the Nord website lets you toggle between the light and dark themes, it does not save this preference.
Expected Behavior
The website will save this preference so that the user does not have to toggle this every time they visit the website or open a new tab from within the website.

Hi @lokesh-krishna :wave:, thanks for your contribution :+1:
I've moved this issue to the correct repository.
Actually the currently active theme is stored in the session storage of the browser (nord-docs:themeMode key) that persists during the usage of the website so this is by design. Storing the value in the local storage would persist it for every future session, but might also confuse the user when the site doesn't look the way it looked like on the first visit and forgot that he/she toggled the appearance.
One way to improve this is to use the (relative new) prefers-dark-theme CSS media feature to ensure the site uses the darker theme by default when the users system theme is also set to dark or at least the one of the browser, but the current overall browser support and usage is only at ~32% so this won't apply for many users.
Are there any more advantages in storing the active theme mode in the local storage?

Storing the value in the local storage would persist it for every future session, but might also confuse the user when the site doesn't look the way it looked like on the first visit and forgot that he/she toggled the appearance.

I hadn't thought about this. My own suggestion/request was based on the scenario of actually remembering that you toggled the theme (which is likely to be a conscious choice upon later visits but just a part of exploring the site in the initial or early visits) and still having to redo that every single time you return to it. It would then be confusing to have the site return to the light theme every time.
Another alternative suggestion/request from me would be to default to the dark theme as it is what is Nord's brand identity in all port projects presently.

I guess it would be good to see what's the preferred theme by logging theme changes in the statistics.
Also like you said, most users might be aware that they changed the theme and it's also not like the toggle button is hidden in some preference tabs 😄
The default theme itself is set to light since this is kind of a best practice and has been proven to be more user friendly and welcoming. Even when Nord is a dark ambient theme, this is mainly targeted for the application UIs and and especially for syntax highlighting in editors.
The problem with using the dark mode by default is also that some elements and not fit well due to the contrast: Elements like the SVG illustrations using Nord's dark colors to take off the light background creating a eye-catching effect, but in dark mode they almost merge with the dark background.
So I'd like to leave the choice to the user if (s)he prefers to use the site with a dark appearance. This decision is also a well-known and proven UI design concept and that's why you see most products these days adding features like a "dark theme mode" instead of "light theme mode" 😉
So in the end I guess I'll move the theme mode setting from the session storage to the local storage so the theme choice persists across sessions within the same browser. I also had the idea to add a way to create a account for the site to store such settings server-side (across different browsers) as well as allowing to implement other features like bookmarking favorite ports etc., but that's a topic for much later times when the pile of issues/PRs in all Nord port projects are finally completed.

The problem with using the dark mode by default is also that some elements and not fit well due to the contrast: Elements like the SVG illustrations using Nord's dark colors to take off the light background creating a eye-catching effect, but in dark mode they almost merge with the dark background.

I hadn't thought about this either but having gone back and checked, I can see what you are talking about and it makes sense to let the light theme be the default to showcase this beauty in all its glory.

So in the end I guess I'll move the theme mode setting from the session storage to the local storage so the theme choice persists across sessions within the same browser.

Thank you so, so much!


feat(theme-common): allow optional desktopThresholdWidth param in useWindowSize

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

The desktopThresholdWidth in the useWindowSize hook is currently hardcoded at 996px. This makes it impossible to customize the breakpoint for the navbar, which creates inconsistencies when other CSS media query breakpoints are customized for the rest of the site.
This change allows for customization of that value by allowing for an optional desktopThresholdWidth parameter to be passed to the useWindowSize hook. If none is provided, the original 996px value is used.
Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

Discussed previously in https://github.com/facebook/docusaurus/pull/9261, decided on a simpler implementation with a smaller footprint.

Commenting to add myself as follower.
I too wish this was configurable as I wish I could allow mobile users in landscape mode to use the desktop UX, which is sufficiently better.
(ATM even if they click show desktop view of the site, that right menu ToC gets hidden due to the hard coded value of 996px.)
@hammerofthor8 of the previous PR also seemed interested in it.

What matters slightly more is the physical width, not the pixel width—the former is what the user actually perceives. Even for a phone screen in landscape, the screen is not wide enough unless you have a phone that's 20cm long. Therefore I suspect if you use the desktop layout the items are going to either be too cramped or too small.

@Josh-Cena docusaurus's desktop view looks great on mobile! / far better than the Mobile UX in my opinion.
The phone has more than enough resolution for desktop view to work.
Here's some screenshots of a Work in Progress Website from My Phone:

The fact that the left side bar menu is collapsible is all that's needed to support small screens.

And below is the terrible (by comparison) default Mobile UX

Btw here's a screenshot I've been tentatively planning to add to my site:

Our biggest worry is that the navbar doesn't look good, as your example has already shown. We purposedly set the breakpoint to a very large number (most style frameworks use 768px instead), because for typical numbers of navbar items, the items would already get wrapped below 1000px and it's not easy to lay them out nicely.

Josh, Thanks for offering background contextual explanation, and reading about my use case that aligns with the OP's.
I think I get your reasoning, and that'd be solid reason to keep the defaults as they currently are. (I was playing around with CSS overrides earlier today I saw an interesting text overlap scenario that made me think that's why I saw a lot of spare white space in some places, so I think I have some understanding of what you mean.)
That said if possible I'd love to have this be a configurable value / have the ability to override the default for my use case.
(This merge requests seems to be helping to work towards making that a configurable value, and in case of the rough spots I think you're pointing out, I'd be able to do things like cut down on menu items, shorten menu names to single words, replace menu text with images, and manually QA edge case UI oddities.)

I definitely have no intention to prevent this from being merged :)

Thanks, let's move on.
To be honest I doubt this change alone will make it that easy to change the desktop breakpoint (I created a dedicated proposal for that: https://github.com/facebook/docusaurus/issues/9603)
At most you'll be able to save a few bytes by avoiding copy/paste/usage of a fixed useWindowSize in your project, that's all. This PR technically doesn't unlock anything new that couldn't be achieved in userland already. In all cases (before/after), adapting the breakpoint remains hard.


perspective.el support

https://github.com/nex3/perspective-el
persp-selected-face

Hi @kaiwk :wave:, thanks for your contribution :+1:
I guess you'd like to propose explicit plugin support for Nord. I've added it to the backlog,but feel free to submit a PR if you like.


I will send a request with a lot of patches soon. Can you preview them beforehand?

Hello,
Thank you for the wonderful service!
I launched it on my domain. But I am not satisfied with some things and I decided to improve your server. I'm finishing the patches now. After that, I will create a pull request to merge with your branch. But to make this process smoother, can I ask you to look at my future patches?
At the moment, I have to finish translating the Russian language into a new one, since the old translation has many "white spots".
My current branch with patches:
https://github.com/Perlover/tip-cards

Added support for plural forms for different languages (for the future - now it only works in Czech and Russian)
Czech translation has been added
The previous Russian translation has been deleted so far and a new one has been placed in its place, based on the latest English translation file. A new translation will be made soon.
In some places, the messages have been changed to a plural form
Fix bug: Removed extra nextTick() in i18n plugin: frontend/src/modules/initI18n.ts
In some places, the formula 100 * 1000 * 1000 has been replaced with a more understandable and concise constant 1E8
Fix bug: the cards.settings.defaults.invoiceText message was not translated because it was in compile vue-3 section (setup script) and there was always default 'en' localized text. It was replaced to the computed prop from the currentLocale prop.
fixed small misprint in english text (en.json)

Soon I want to do the following:
Different languages, this is usually a specific country/territory. Your general section with links on how to spend bitcoin or where to buy it is not applicable in most cases.
For example, in the Czech Republic, it is easier to buy bitcoin at an ATM or at a popular local exchanger than at an exchange Kraken. And it is easier to spend bitcoin in the Czech Republic in other ways.
In Russia, for example, where a country is under sanctions due to a treacherous attack on another country, it is not realistic to buy bitcoin on the stock exchange (exchanges do not work with Russians). And it is also difficult to spend bitcoins there in the ways that you have indicated. But there are still several services that can be used by Russians. I want to redo this mechanism so that a general list of places of use is shown if no such list is defined for the local territory/language. If such a list is defined for the territory, we show it exactly.

To be able to comment your changes I created a pull request: https://github.com/Satoshi-Engineering/tip-cards/pull/11

To be able to comment your changes I created a pull request: #11

Thank you! I want to refine the branch a little more and then I will ask you to check it and merge it if you agree. Anyway, everything works fine for me on LNinv.com (from my branch with patches)


Marshal/Unmarshal functions for the EvaluableExpression struct

https://github.com/Knetic/govaluate/issues/139

Parsing expressions to create tokens while also making sure that the tokens generated are syntactically valid is a computationally heavy task. As indicated in the above referenced issue (https://github.com/Knetic/govaluate/issues/139), the benchmark calculations indicate a heavy workload in this regard when compared to marshaling and unmarshaling.
For this reason, the implementation of a marshaling function that converts a struct into bytes (that can be stored in any database), and back is imperative. How this feature is implemented and the challenges faced are highlighted in the wiki.


Autorest Regen Preview to 3.0.0-alpha.20230802.3 by Dapeng Zhang from refs/pull/3483/merge

Triggered from https://github.com/Azure/autorest.csharp/pull/3483

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.ResourceGraph


How to force sourceMappingURL use absolute paths?

Hello. sourceMappingURL links to map file using relative path (../../a.js.map). How to force it to use absolute paths? Adding sourceMappingURLPrefix leads to http://google.com/../a.js.map

What are the options you provide for the sourcemaps.write() method?

+1
this my code
    .pipe(sourcemaps.write('../../build', {includeContent: false, sourceRoot: '/',
      sourceMappingURLPrefix: 'http://localhost:8000'}))
    .pipe(gulp.dest(paths.dist + '/js'));

this result
//# sourceMappingURL=http://localhost:8000/../build/app.min-42edcc2b10.js.map

This can be done now using the sourceMappingURL option.


[CIVP-10738] Poll on a lower interval when PubNub fails

Added _reset_polling_thread to PollableResult which stops the current polling thread and creates a new one with the specified polling interval (defaults to the default interval of 15)
Added a status handler in the PubNub listener class which will check if the status matches a set of statuses that pertain to unexpected disconnects or network errors and call the _reset_polling_thread function if it is disconnected.

@stephen-hoover Mind reviewing this when you have a chance?


settings: Add submit button to Default Streams.

Changes:

Added a submit button in Administration/Default Streams section as a backup in case using enter doesn't work.
The errors weren't being displayed if the make_stream_default function failed as the element .active_stream_row wasn't present. I have fixed this by creating a new div in the template to display the errors. I have made sure that this is consistent with how errors in other widgets are displayed.

Fixes #4232

Automated message from Dropbox CLA bot
@digi0ps, it looks like you've already signed the Dropbox CLA. Thanks!

I did a first pass review of this, and it seems pretty reasonable to me.

Thanks!

Thanks for working on this @digi0ps!  The error handling improvements are great; can you extract them to their own commit in this PR?  It's sorta a separate bug from the enter issue.
Should we also make the enter key do the right thing?  I think the current behavior is that we're submitting the form when you accept the typeahead, but don't have a key handler for typing enter in that box if for whatever reason you don't use the typeahead.

Okay, I will split the commit.
Yeah there is no way to submit form using the enter right now, but is it necessary? Because incase the User doesn't submit the form using the typeahead, they have the submit button to do the job here. So is an enter key submit needed here?

We should always allow users to be able to submit a one-field form by hitting enter in that field.

I have added the Enter to submit as you said. Anything else?
And the tests are failing in places which aren't related to my changes. But all of them passed the local tests!

@digi0ps please make git commit --amend for restarting Travis and passing all tests, cause exisiting error wasn't you fault.

@misteraverin Done!

@tommyip Sorry about that, I made the changes you told and I squashed it with the previous commit. Anything else?
@showell I went through most of the event handler functions in admin.js and most of them seem to be calling the preventDefault function at top itself... Should I move it to the bottom?

I was mistaken about the preventDefault calls, at least within admin.js, so please disregard.

For the commit that says " settings: Enter now submits the data in Default Stream", it's not clear to me that you actually made the form submit in that case.  It looks more like you take care of clearing the input field.  Am I misunderstanding this?

No, I have actually made the form submit when you press the enter button. I first submit the stream_name using the make_stream_default function and then clear the input.

When I look at the commit, it looks like the call to make_stream_default was already there.

I guess I'm looking at the second part of the diff.  It's not clear to me why you didn't break up that commit.

I made a minor change the handlers a while ago ( assigning the .create_default_stream to a variable ). I thought it was unnecessary to add a new commit for this, so I squashed this change into the previous commit...

@showell The refactoring of the javascript files has affected this. I have to move the code from admin.js to settings_stream.js. Should I move it? Or shall I make a new PR for the commits to look neater?

Yeah, just move it, squash, and force-push to the branch this PR is based off of.  No need to make a new PR -- you can just update this one :).

I have a doubt.
Should I squash the previous commits and move it. Or is it possible to make a change and squash it with the first commit?

@digi0ps the goal is to have a series of commits, each of which is individually correct and improves the product.  It's not important at all to preserve the history of how you developed those commits (nobody reading the history in 3 months will be interested in the merge conflicts you had to resolve here).  So you should produce a PR that has exactly the commits required.
Does that makes sense?
Thanks @digi0ps!

Thanks @timabbott, that helped!
I have fixed the PR and pushed it.
Please check it out. :)

Clicking the button seems to reload the page?

It's possible that we should just include the fix to make enter submit and not worry about adding the button.  (And then restyle this page)

The submit button is working fine for me?
That would be good, but won't be a little odd if all the other panels are having a submit button except this one? Also, Alert Words have a same kind of implementation ( both enter to submit and a submit button ).

Try rebasing your changes on top of master.  The reload thing may be an interaction with your buttons PR.

I did it. It's working for me...

Sorry for the delay @digi0ps!  I rebased this and merged it.
Thanks for fixing this!!


Callback for when a plugin is reloaded

proposed on_reload (unsure where it would be put, perhaps a new namespace called meta?)
would make it easier for plugins that manage other plugins to clear any information would otherwise accumulate negatively over reloads.
e.g.
rom.<namespace>.on_reload(function(env)
    my_callbacks[env._PLUGIN.guid] = {}
end)

or
rom.<namespace>.on_reload(function(env)
    local callbacks = my_callbacks[env._PLUGIN.guid]
    if callbacks == nil then return end
    for k in pairs(callbacks) do
        callbacks[k] = nil
    end
end)

or it could be used to declare some features inert in preparation for a reload as they might not make sense in that context (e.g. managing external state like sockets, file handles etc.).
unsure if there's any benefit in an on_reload.post variant, I suppose it could be used for removing any flags that might have been set in on_reload.pre.

alternatively: on_load which functions exactly the same except it's every subsequent load of a plugin, except there's another argument to the callback, reloaded boolean that is true only if it's a reload, and false if it's an initial load.
I can only think of this variant being useful if it was specifically on_load.post, used by a plugin on itself or by another plugin on a calling plugin to basically fulfil ReLoad's job to split the initial load and reload codepaths, but in a rather limited way.


Not working. module Import Error

See the log
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker return _run_code(code, main_globals, None,
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker exec(code, run_globals)
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/app/AniPlay/main.py", line 23, in
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker loop.run_until_complete(init())
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker return future.result()
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/app/AniPlay/main.py", line 11, in init
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker importlib.import_module("AniPlay.plugins." + module)
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker return _bootstrap._gcd_import(name[level:], package, level)
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 1030, in _gcd_import
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 1007, in _find_and_load
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 986, in _find_and_load_unlocked
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 680, in _load_unlocked
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 850, in exec_module
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "", line 228, in _call_with_frames_removed
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/app/AniPlay/plugins/cmd.py", line 6, in
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker from AniPlay.plugins.stats import day, over
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker File "/app/AniPlay/plugins/stats.py", line 2, in
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker import matplotlib.pyplot as plt
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworkerModuleNotFoundError: No module named 'matplotlib'
2023-01-26 12:32:00.40 UTCworker-566fd465c8-hf6bxworker[INFO]: IMPORTING MODULES

Fixed... Use Latest repo


give use more meaningful error message when parse package.json error

Notify user parsing package.json parrse error would be more useful. Maybe we need https://github.com/daidodo/format-imports throw error with error code to identify the exception reason.
When I have merge conflicts in package.json:
@daidodo

Or provide user a setting to disable error message. Just log the error message to output channel.
@daidodo

Thanks for the feedback!
I've suppressed package JSON parsing error in v7.4.20.


Broken link: documentation

In https://kollaps.dev/docker.html , the link:
https://github.com/miguelammatos/Kollaps/blob/4a489f0e1351064a36b62901116aecd1a1162ddf/docs/install.md?plain=1#L14
points to the file : Orchestrators.md  that does not exist.
It is probably a typo to orchestrators.md
that links to :  https://github.com/miguelammatos/Kollaps/blob/master/docs/orchestrators.md

Thanks for letting us know!
That paragraph in itself is outdated you can follow the instructions below on the website

Closing this issue, since it is fixed.
If you any problems using Kollaps let us know!


feat: enable root span route instrumentation without any express layer spans

Which problem is this PR solving?

In addition to https://github.com/open-telemetry/opentelemetry-js-contrib/pull/176 PR, We should able to instrument the root span name when ignoring all express layers (router, middleware and request_handler).
This significantly reduces the amount of spans for a large and complex express based micro-service with large amount of outgoing http requests for a single incoming http request and still able to set the route on the root span.
Short description of the changes

using express with only request_handler layer before the change:

using express without request_handler, middleware and route layer (root span name not modified) before the change:

using express without request_handler, middleware and route layer after the change:

Hi @dyladan.
Thats true, i didn't add any new configuration to the plugin.
The change only verify that will modify the root span name with the current request path (for example: HTTP POST -> POST user/:userid) when not using the request_handler express layer.
currently, the root span name is modified only when request_handler layer is on and this adds many tiny spans that sometimes is not needed

@obecny Hi. i fix your comments on the unit test structure

@obecny Hi. i fix your comments on the unit test structure


⚠ Secret Website 3 has degraded performance

In dd8ee2c, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 6804 ms

Resolved: Secret Website 3 performance has improved in 1886b7d.


changes

graph in dashboard added!

Do I need to do something special to run it ? I've got an issue here:
GET /api/v1/journal 200 7.377 ms - 337
/Users/lionel/src/olpc/sugarizer-server/dashboard/controller/graph.js:63
				labels.push(journals[i].user);
				                       ^

TypeError: Cannot read property 'user' of undefined
    at /Users/lionel/src/olpc/sugarizer-server/dashboard/controller/graph.js:63:28
    at Request._callback (/Users/lionel/src/olpc/sugarizer-server/dashboard/controller/dashboard.js:60:4)
    at Request.self.callback (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:188:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.<anonymous> (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:1171:10)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at IncomingMessage.<anonymous> (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:1091:12)
    at IncomingMessage.g (events.js:286:16)

So I can see only the dashboard, not the other screens.

Hi Lionel,
I have added a fix and sent the PR again. Let me know if that works well.
Thanks,
On Wed, Jul 26, 2017 at 7:42 AM, Lionel LASKE<EMAIL_ADDRESS>wrote:

Do I need to do something special to run it ? I've got an issue here:
GET /api/v1/journal 200 7.377 ms - 337
/Users/lionel/src/olpc/sugarizer-server/dashboard/controller/graph.js:63
labels.push(journals[i].user);
^
TypeError: Cannot read property 'user' of undefined
at /Users/lionel/src/olpc/sugarizer-server/dashboard/controller/graph.js:63:28
at Request._callback (/Users/lionel/src/olpc/sugarizer-server/dashboard/controller/dashboard.js:60:4)
at Request.self.callback (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (/Users/lionel/src/olpc/sugarizer-server/node_modules/request/request.js:1091:12)
at IncomingMessage.g (events.js:286:16)
So I can see only the dashboard, not the other screens.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/llaske/sugarizer-server/pull/5#issuecomment-318029000,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC0vwUm0WxnR36CuQpAcI_gev5K4NCdzks5sRyYtgaJpZM4OgQ_S
.

ui changes


rtmidi backend

I'm getting this on a fresh pip install:
'Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/mido/backends/rtmidi.py", line 9,
in
import rtmidi
ImportError: No module named rtmidi
This is in the import of the module where it tries a recursive import of itself.   I think that's been prevented in Python 2.76 and Python 3.4.  I couldn't get it to work in either version.
I used to do things like this, myself, but I think it needs to change.
My best,
Eirikur

Since the 'import rtmidi' is inside a package it will not do a recursive import, but instead try to import a module at the top level called 'rtmidi'. This module is provided by the python-rtmidi package which can be installed with:
pip3 install --user --pre python-rtmidi

(Using pip or pip3. The --user is optional.)
I will add a better error message ('required package python-rtmidi missing') to make this less confusing.

I've removed the custom code here so you can see the actual import error. This should be less confusing.


Fix header alignment and remove unused layout

Apparently textViewStyle gets applied to the ActionBar.  Specifying it wasn't getting us anything anyway since all TextViews have their style set explicitly except for the ones in delete_credential.xml which was unused.

LGTM


rethink TextureAsset postproc strategy

the current strategy has an ordering issue.
eg: DeferredCompositingNodePbr::_writeEnvTexture()
by the time "postproc" is set on the asset varmap the texture could be loaded already.
the property would need to be guaranteed to be set before it is loaded.
a current workaround is to use asset::AssetManager::Create(),
set the postproc var and then asset::AssetManager::AutoLoad() -
but this is less than ideal.. Is there a way the varmap can be set when the Asset is instantiated ?
Ideally we would have asset declaration and "decoration" done atomically. Asset reflection properties on classes which reference an asset could annotate this. this annotation state would have to permute the key used to uniquely differentiate assets (for AssetMgr's asset maps). If two assets references point to the same file but have different 'asset.usage' annotations they would have to be two separate asset instance objects.

related to https://github.com/tweakoz/orkid/issues/47

done.
https://github.com/tweakoz/orkid/commit/e9e6b3657810d46e0ad4efc317d2ce7565cb8b94


Remote Environment Fallback Fails with install command

example:
on OSX
$ phonegap install wp7 -- verbose
[phonegap] detecting Windows Phone 7 SDK environment...
[phonegap] Checking wp7 requirements...
[phonegap] Running ""/Users/lorin/.cordova/lib/wp/cordova/3.1.0/wp7/bin/check_reqs"" (output to follow)
[phonegap] /bin/sh: /Users/lorin/.cordova/lib/wp/cordova/3.1.0/wp7/bin/check_reqs:      No such file or directory

[phonegap] using the remote environment
[error] missing app data

this is specific to the install command. If a local project with the specified platform does not exist, then the attempt to use the remote fallback fails. If a local project with the platform installed does exist, there is no issue.

@mwbrooks the current phonegap docs for the install command, phonegap help install, mentions this command is deprecated. Is it worth spending time to fix it, then, or should instead we focus on removing the command?

Ping @surajpindoria

Let's close this, as we just discussed removing phonegap install command.


More detail needed for Input Parameters section

Could you please provide a little more detail/guidance on what people are entering for input parameters. For example, if I have a variable sent from PVA, where does that variable name go? What goes in the left and right boxes per row of inputs? It's not clear without having to manually test. Thanks!

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

ID: 010269b1-237d-eb71-7014-9d8ee8a29659
Version Independent ID: b96cb487-cfc9-e60b-12e9-3c02efa06b99
Content: Automate Power Virtual Agents bot actions with flows - Power Virtual Agents
Content Source: power-virtual-agents/advanced-flow.md
Service: dynamics-365-ai
GitHub Login: @iaanw
Microsoft Alias: iawilt

Not sure if this is for an earlier version of the page - looking over it we have a pretty good example with the "today's forecast" scenario.


CLOUD-655 POC for CSV generation by ytt

Test name
Status

recreate
failed

haproxy
failed

upgrade-haproxy
failed

storage
failed

big-data
failed

scheduled-backup
failed

scaling
failed

self-healing
passed

self-healing-chaos
failed

restore-to-encrypted-cluster
failed

init-deploy
failed

scaling-proxysql
failed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

operator-self-healing
passed

operator-self-healing-chaos
failed

demand-backup
failed

security-context
failed

limits
passed

monitoring-2-0
failed

pitr
failed

affinity
passed

one-pod
passed

auto-tuning
failed

demand-backup-encrypted-with-tls
failed

upgrade-proxysql
failed

proxysql-sidecar-res-limits
failed

users
failed

tls-issue-self
failed

tls-issue-cert-manager
failed

tls-issue-cert-manager-ref
failed

validation-hook
passed

smart-update
failed

upgrade-consistency
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1049/commits/58a04d31494a27a7279bd31e9feaf706aa029387
image: perconalab/percona-xtradb-cluster-operator:PR-1049-58a04d31

Test name
Status

haproxy
failed

storage
failed

scheduled-backup
failed

recreate
failed

scaling
failed

big-data
failed

upgrade-haproxy
failed

self-healing
passed

self-healing-chaos
failed

init-deploy
failed

scaling-proxysql
failed

restore-to-encrypted-cluster
failed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

operator-self-healing
passed

operator-self-healing-chaos
failed

limits
passed

security-context
failed

demand-backup
failed

monitoring-2-0
failed

affinity
passed

one-pod
passed

auto-tuning
failed

upgrade-proxysql
failed

proxysql-sidecar-res-limits
failed

users
failed

pitr
failed

tls-issue-self
failed

demand-backup-encrypted-with-tls
failed

tls-issue-cert-manager
failed

tls-issue-cert-manager-ref
failed

validation-hook
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1049/commits/f1356853beff99c0c973c5105534a15fdfe694b3
image: perconalab/percona-xtradb-cluster-operator:PR-1049-f1356853

Test name
Status

storage
passed

scaling
passed

recreate
passed

upgrade-haproxy
passed

big-data
passed

scheduled-backup
passed

haproxy
failed

self-healing
passed

self-healing-chaos
failed

scaling-proxysql
passed

security-context
passed

restore-to-encrypted-cluster
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

operator-self-healing
passed

operator-self-healing-chaos
failed

init-deploy
passed

demand-backup
passed

smart-update
passed

limits
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

pitr
failed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1049/commits/b61dcade064f1e933aae6ed34c2ff42e5b012f66
image: perconalab/percona-xtradb-cluster-operator:PR-1049-b61dcade

Test name
Status

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1049/commits/b61dcade064f1e933aae6ed34c2ff42e5b012f66
image: perconalab/percona-xtradb-cluster-operator:PR-1049-b61dcade


Create Tekton Conformance/Certification Program

ref: #2
A security audit process is a building block to a full conformance program.

The Tekton Community needs to have further conversations around this topic to describe what the actual conformance program would look like.
Here is the API Spec for reference: https://github.com/tektoncd/pipeline/blob/main/docs/api-spec.md
Closing this issue since it is pretty outdated. A new one will be created once the work is about to start.


[864] ADR 4 - non-integer trainee IDs

Context
We have ADRs. We didn't have one for this decision.
Changes proposed in this pull request

Add ADR for non-integer trainee IDs.

Guidance to review
Read the thing... 😁

 Add ADR for URL secure token stuff


feat: Add support for configuring a reference collector

A reference collector can be used for instrumenting packwerk check. The configured class,
extending Packwerk::ReferenceCollector, will be notified of each reference that the checkers
check, including whether it's valid or invalid. This can be useful for collecting metrics
over references.

A bit more context here... A collector within the calling repo could look something like this:
module Packwerk
  # @owners { team: platform, domain: observability }
  class InstrumentedReferenceCollector < ReferenceCollector
    extend T::Sig

    sig { void }
    def initialize
      @label_counts = T.let(Hash.new(0), T::Hash[T::Hash[Symbol, T.untyped], Integer])
    end

    sig { override.params(reference: Reference, violation_type: String, valid: T::Boolean).void }
    def collect_reference(reference:, violation_type:, valid:)
      @label_counts[labels(reference, violation_type, valid)] += 1
    end

    private

    sig { params(reference: Reference, violation_type: String, valid: T::Boolean).returns(T::Hash[Symbol, T.untyped]) }
    def labels(reference, violation_type, valid)
      {
        valid: valid,
        violation_type: violation_type,
        source_package: reference.source_package.name,
        referenced_package: reference.constant.package.name,
      }
    end
  end
end

At the end of running packwerk check on a master build, we'd flush the collected metrics to a gauge to track progress on cross-package references, valid vs. invalid.


src: html: Make the frontend tolerate null extended_configuration.

Fix #48.
Details:
We were accessing the "extended_configuration" filed without checking its existence, which will cause invalid access in the case of loading an older configuration.
I couldn't get rid of the uncoherent "null" from being shown on the stream description, but at least it is loading normally with this patch, considering thermal as "false" when "extended_configuration" is "null".

The uncoherent "null" part could be fixed in another PR, taking care of the configuration loading process in the backend.

There is a bunch of style changes with the new code, can you remove it ? The original style is more clear to understand the html parameters.

Sorry, my vscode HTML extension was automatically overwriting the staged changes with some formatting. :eyes:


Multi-threading with OMJulia

Hi there! I am using OMJulia in VSCode and am trying to optimise the parameters of dynamic Modelica models.
I was wondering if the multi-threading of simulations is possible with OMJulia? I have tried creating multiple OMCSession objects and running parallel simulations across them but I get a "TaskFailedException" as soon as multiple simulations try to run at once. I am quite new to both OMJulia and multi-threading so I'm not sure if this is a limitation of OMJulia or a mistake on my end.

@JKRT can you please comment on that?

Hi there! I am using OMJulia in VSCode and am trying to optimise the parameters of dynamic Modelica models.
I was wondering if the multi-threading of simulations is possible with OMJulia? I have tried creating multiple OMCSession objects and running parallel simulations across them but I get a "TaskFailedException" as soon as multiple simulations try to run at once. I am quite new to both OMJulia and multi-threading so I'm not sure if this is a limitation of OMJulia or a mistake on my end.

Hello @Wardi0 thanks for raising the issue, could you provide a minimal working example, in principle, I believe it should work

Hi JKRT, thank you for helping with this issue! This is my code:
# Create an OMCSession for each thread, add to a vector and load the model on each
sessions = []
for thread in 1:Threads.nthreads()
    push!(sessions, OMJulia.OMCSession())
    sessions[thread].ModelicaSystem("package.mo","FusionPhD.ModelicaFluidModels.RankineCycles.SimpleCycleESSDemo2")
end

# Define the valid domain of the decision variables [gain, time constant]
upper = x -> [2000e-5,300.0]
lower = x -> [1e-5,1.0]
domain = Fresa.Domain(lower,upper)

# Objective function (minimise deviation integral)
function controller_error(x, sessions)
    thread_id = Threads.threadid()
    dev = Inf64 # Worst-case objective value
    feasibility = 1.0 # Assume infeasible
    try
        sessions[thread_id].setParameters(["power_PI.k=$(x[1])", "power_PI.T=$(x[2])"]) # Set design parameters
        println("Starting simulation on thread "*string(Int(thread_id)))
        sessions[thread_id].simulate() # Simulate model with design parameters
        dev = sessions[thread_id].getSolutions("controller_error")[1][end] # Extract objective value from simulation results
        feasibility = 0.0 # Assume feasible if simulation runs with no errors
        println("Simulation on thread "*string(Int(thread_id))*"\nObjective="*string(dev)*" | Feasibility="*string(feasibility))
    catch TaskFailedException
        println("Caught TaskFailedException on thread "*string(Int(thread_id)))
        return (dev, feasibility)
    end
    return (dev, feasibility)
end

p0 = [Fresa.createpoint([350e-5,50.0], controller_error, sessions)] # Initial solution population
best, pop = Fresa.solve(controller_error, p0, domain; parameters=sessions, multithreading = true, ngen = 5) # Run Fresa optimiser

Based on my print statements, OMJulia is indeed running in parallel. It is just that the multi-threading raises these TaskFailedExceptions (seemingly at random to me); all the simulations ran fine with no errors on a single thread.

Perhaps you need to set a unique working directory for each OMCSession otherwise simulation will not work since it tries to delete and create files at the same location.

Hi JKRT, thank you for helping with this issue! This is my code:
# Create an OMCSession for each thread, add to a vector and load the model on each
sessions = []
for thread in 1:Threads.nthreads()
    push!(sessions, OMJulia.OMCSession())
    sessions[thread].ModelicaSystem("package.mo","FusionPhD.ModelicaFluidModels.RankineCycles.SimpleCycleESSDemo2")
end

# Define the valid domain of the decision variables [gain, time constant]
upper = x -> [2000e-5,300.0]
lower = x -> [1e-5,1.0]
domain = Fresa.Domain(lower,upper)

# Objective function (minimise deviation integral)
function controller_error(x, sessions)
    thread_id = Threads.threadid()
    dev = Inf64 # Worst-case objective value
    feasibility = 1.0 # Assume infeasible
    try
        sessions[thread_id].setParameters(["power_PI.k=$(x[1])", "power_PI.T=$(x[2])"]) # Set design parameters
        println("Starting simulation on thread "*string(Int(thread_id)))
        sessions[thread_id].simulate() # Simulate model with design parameters
        dev = sessions[thread_id].getSolutions("controller_error")[1][end] # Extract objective value from simulation results
        feasibility = 0.0 # Assume feasible if simulation runs with no errors
        println("Simulation on thread "*string(Int(thread_id))*"\nObjective="*string(dev)*" | Feasibility="*string(feasibility))
    catch TaskFailedException
        println("Caught TaskFailedException on thread "*string(Int(thread_id)))
        return (dev, feasibility)
    end
    return (dev, feasibility)
end

p0 = [Fresa.createpoint([350e-5,50.0], controller_error, sessions)] # Initial solution population
best, pop = Fresa.solve(controller_error, p0, domain; parameters=sessions, multithreading = true, ngen = 5) # Run Fresa optimiser

Based on my print statements, OMJulia is indeed running in parallel. It is just that the multi-threading raises these TaskFailedExceptions (seemingly at random to me); all the simulations ran fine with no errors on a single thread.

What version of OMJulia, and what platform are you on? Furthermore, would it be possible to to get model, or if that is not possible that you try the same example with some other model that can be shared?

@JKRT Ah, I was not up-to-date. I was using OMJulia v0.1.0 on VSCode for Windows 10. I have created a repository with the code that produced the errors in that version if you are still interested (https://github.com/Wardi0/OMJulia_multithreading)
Having updated to OMJulia v0.2.1 though, I can no longer start an OMCSession. OMJulia seems to have made 2 files in the current directory, stderr.log and stdout.log, that I cannot edit without admin priveleges (university laptop with admin restrictions....), so trying to create an OMCSession throws:
IOError: open("stderr.log", 769, 420): permission denied (EACCES)
Is there any way around this?

@Wardi0 One workaround to try what Arun suggested is to create a virtual machine and install everything you need in that image; in that way, you can be administrator. Still, of course, there are performance penalties if you do, but at least it can help to pinpoint the issue

Hi @JKRT, just wanted to update this thread. I am now using a Linux machine and have got multi-threading working with OMJulia so I think this issue can be closed.
I still cannot run it on Windows due to the IOError: open("stderr.log", 769, 420): permission denied (EACCES) error I mentioned above; my department's system admin was able to reproduce the error even with administrator priveleges. I can create a new issue for this though.
As an aside, is there a way to suppress the printed terminal output from OMJulia.OMCSession() and OMJulia.simulate? With multiple threads, the simulation output from OpenModelica makes the results quite hard to parse.


Added New function to nexmo.go, NewClient kept for backwards compat

As was mentioned in TODO.md
New simply calls NewClient

Codecov Report

Merging #4 into master will increase coverage by <1%.
The diff coverage is 66%.

@@          Coverage Diff          @@
##           master    #4    +/-   ##
=====================================
+ Coverage      26%   26%   +<1%
=====================================
  Files          16    16
  Lines         314   316     +2
=====================================
+ Hits           82    84     +2
  Misses        228   228
  Partials        4     4

Impacted Files
Coverage Δ

calls.go
0% <ø> (ø)
:arrow_up:

application.go
0% <ø> (ø)
:arrow_up:

developer_account_pricing.go
0% <0%> (ø)
:arrow_up:

nexmo.go
87% <100%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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

Nice little improvement - thanks!


Tabular: Improved exception handling

Issue #, if available:
Description of changes:

Verbose exception traceback will only be printed on verbosity>2 for ImportErrors
Replaced overly verbose logger.exception calls (that include traceback) with logger.error calls.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-948-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-948/1/index.html


ModuleNotFoundError: No module named 'configurations'

What's going wrong?
I am trying to install the REST-API cookiecutter template on a Windows machine using conda. When I try to start the server I got the following error: ModuleNotFoundError: No module named 'configurations'.
I also don't want to host this project on heroku or deploy a Docker image, I want to experiment with REST-API on my own self-hosted server.
How can the cookiecutter-django-rest team reproduce the problem?
conda create -n venv python=3.7.0
conda activate venv
pip install django
pip install cookiecutter
cookiecutter gh:agconti/cookiecutter-django-rest
cd <cookiecutter-django-rest-dir>
python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    from configurations.management import execute_from_command_line
ModuleNotFoundError: No module named 'configurations'

Is this a problem with a fresh install of the project?

[x] Yes
[ ] No

Hey @stoyanovgeorge, you need to install the project's dependencies. Take a look at the ReadMe in your project's root directory for detailed instructions.


⚠ Samsung has degraded performance

In 4b45e83, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2692 ms

Resolved: Samsung performance has improved in 3e53330.


Add flag to build crystal binary with debug symbols

I hope this change makes easier to debug Crystal binary ;)

Usage:
$ make crystal debug=1

Shouldn't do any harm,  thanks!


Charts do not work properly

Hi j2doll!
I wrote a script to extract the data from the .txt file into .xslx and to draw the graphs. The script is that every new data set is extracted to the new sheet in an already existed .xslx file. The issue is that every time the script is adding the new sheet with the new data, the format of the previously created graphs appears to be lost. How it can be changed?
Thank you very much!!
https://app.leanboard.io/board/f7640887-b7e9-4762-b9ad-1dc99e6bba50

Dear edosad.
Could you show me the script you wrote?
I do not know the exact meaning you said.

Dear edosad.
:one: I did not receive an email.
Please resend it via the following email.
<EMAIL_ADDRESS>:two: You can check the existence of the file as follows.
See https://forum.qt.io/post/352670.
// [static] bool QFile::exists(const QString &fileName)
qDebug() << QFile::exists("/home/pw/docs/file.txt");

[ From edosad ]
Dear Jay Two,
Thanks for looking into this.
I'm afraid I failed to explain the problem properly. So I create a chart, then I open it in the xslx file and format the chart - add axes title,chart title,legend etc. Then I use the script to add more charts to the very same xslx file. And then I found that all of the changes I made (axes titles,legend etc) are gone because of the addition of the new data to the same file. My question is how it can be overcome? In other words how I can keep all of the changes while adding new sheets using the script to the same file?

Dear @edosad

I have implemented some function that you want. v1.3.14

saving axis title of line/bar/scatter chart.
loading function is not supported, yet.

See chartsquestions example that is based on your example.

// sat_calc.cpp
// ...
    Chart * Crom = output.insertChart( 3, 5, QSize(600, 500) );
    Crom->setChartType( Chart::CT_Scatter );
    Crom->addSeries( CellRange(chrom_data_array) );
    Crom->setAxisTitle( Chart::ChartAxisPos::Left, QString("left title") ); // dev22
    Crom->setAxisTitle( Chart::ChartAxisPos::Bottom, QString("bottom title") ); // dev22
// ...

Try the test.

The function to set the title of the chart has been added. v.1.3.16

 Chart * Crom = output.insertChart( 3, 5, QSize(600, 500) );
 Crom->setChartType( Chart::CT_Scatter );
 Crom->addSeries( CellRange(chrom_data_array) );
 Crom->setAxisTitle( Chart::Left, QString("left title") );
 Crom->setAxisTitle( Chart::Bottom, QString("bottom title") );
 Crom->setChartTitle( QString("hello chart") );

Dear Jay Two, Thank you very much for your help and reply and apologies for the late answer. We have tested the new features,it's great,thanks a lot for adding them! However, the problem I was referring to earlier still remains: addition of a new chart into the file with the chart that has been already modified cancels all of the previous changes. Just try to add one chart,modify it and then add another one,you will see. It would be very helpful if you could also look into it, when you'd have time of course. Also just a thought,would it be possible to add other tools for chart design? Such as selection of chart type,curves colour etc. Thank you again very much,it's a great tool that helped us in many ways. Kind wishes,
…
On 27 Dec 2018, at 06:10, Jay Two @.***> wrote: The function to set the title of the chart has been added. v.1.3.16 Chart * Crom = output.insertChart( 3, 5, QSize(600, 500) ); Crom->setChartType( Chart::CT_Scatter ); Crom->addSeries( CellRange(chrom_data_array) ); Crom->setAxisTitle( Chart::Left, QString("left title") ); Crom->setAxisTitle( Chart::Bottom, QString("bottom title") ); Crom->setChartTitle( QString("hello chart") ); — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Dear @edosad
Can you see the test code for the case you mentioned?
Is this the following type code?
int test( QVector<QVariant> params )
{
    qDebug() << " current path : " << QDir::currentPath();

    using namespace QXlsx;

    Document output;

    QString strSheet = "c-sheet1";
    output.addSheet(strSheet);
    output.selectSheet(strSheet);

    output.write( 1, 1, QVariant(11) );
    output.write( 1, 2, QVariant(12) );
    output.write( 1, 3, QVariant(13) );
    output.write( 2, 1, QVariant(21) );
    output.write( 2, 2, QVariant(22) );
    output.write( 2, 3, QVariant(23) );

    Chart* ptrChart = output.insertChart( 3, 5, QSize(600, 500) );
    ptrChart->setChartType( Chart::CT_ScatterChart );
    ptrChart->addSeries( CellRange("A3:B3") );
    ptrChart->setAxisTitle( Chart::Left, QString("left title") );
    ptrChart->setAxisTitle( Chart::Bottom, QString("bottom title") );
    ptrChart->setChartTitle( QString("hello chart") );

    Chart* ptrChart2 = output.insertChart( 3, 15, QSize(600, 500) );
    ptrChart2->setChartType( Chart::CT_ScatterChart );
    ptrChart2->addSeries( CellRange("A1:B3") );
    ptrChart2->setAxisTitle( Chart::Left, QString("left title") );
    ptrChart2->setAxisTitle( Chart::Bottom, QString("bottom title") );
    ptrChart2->setChartTitle( QString("hello chart") );

    ptrChart->addSeries( CellRange("A1:B3") );
    ptrChart->setAxisTitle( Chart::Left, QString("new left title") );
    ptrChart->setAxisTitle( Chart::Bottom, QString("new bottom title") );
    ptrChart->setChartTitle( QString("new hello chart") );

    if ( !output.saveAs("test2.xlsx") )
    {
        qDebug() << "Failed to save xlsx file.";
    }

    return 0;
}


AudioEventAdapter fire same multiple event

Hello,
I'm using lavaplayer with JDA, and it looks like onTrackEnd event is fired multiple time in a row for the same track end.
I'm doing something wrong with these call?

2017-10-27 23:09:20,552 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:82] Track [tracktTitle] ended [STOPPED]
2017-10-27 23:09:21,473 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:82] Track [tracktTitle] ended [STOPPED]
2017-10-27 23:09:24,642 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:82] Track [tracktTitle] ended [STOPPED]

(Don't mind about second, i was in debug)
/**
     * Start the next track, stopping the current one if it is playing.
     */
    public boolean nextTrack() {
        // Start the next track, regardless of if something is already playing or not. In case queue was empty, we are
        // giving null to startTrack, which is a valid argument and will simply stop the player.
        LOGGER.debug("Play next track");
        return this.player.startTrack(this.queue.poll(), false);
    }

/**
 * Start the next track, if none track, play the last track.
 */
public void nextTrack(AudioTrack lastTrackPlayed) {
    final boolean isNextTrackStart = nextTrack();
    if (isNextTrackStart) {
        return;
    }
    LOGGER.debug("No more track in the queue, replay the last one");
    this.player.startTrack(lastTrackPlayed.makeClone(), false);
}

@Override
 public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
     LOGGER.debug("Track [{}] ended [{}]", track.getInfo().title, endReason.name());
     // Only start the next track if the end reason is suitable for it (FINISHED or LOAD_FAILED)
     if (endReason.mayStartNext) {
         nextTrack(track);
     }
 }

The problem is, when i add two tracks. The first one is played, then when it's end, the second probably start to play(?) and is removed from the queue, then the event is fired again, and now it play the last music since there is no more track in queue, so it play the first one.
Hope you understand my problem!
Thanks in advance.
PS: More logs to explain it

2017-10-27 21:29:05,488 DEBUG c.s.d.l.c.m.MatroskaAudioTrack [MatroskaAudioTrack.java:70] Starting to play track with codec A_OPUS
2017-10-27 21:32:19,922 DEBUG c.s.d.l.t.p.LocalAudioTrackExecutor [LocalAudioTrackExecutor.java:92] Playing track RqcjBLMaWCg finished or was stopped.
2017-10-27 21:32:19,924 DEBUG c.s.d.l.p.AudioPlayer [AudioPlayer.java:290] Firing an event with class TrackEndEvent
2017-10-27 21:32:19,925 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:77] Track David Guetta ft Justin Bieber - 2U (The Victoria?s Secret Angels Lip Sync) ended [FINISHED]
2017-10-27 21:32:19,925 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:59] Play next track
2017-10-27 21:32:19,925 DEBUG c.s.d.l.p.AudioPlayer [AudioPlayer.java:290] Firing an event with class TrackStartEvent
2017-10-27 21:32:19,925 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:86] Track is starting [206000] [Rudimental - Sun Comes Up feat. James Arthur [Official Video]]
2017-10-27 21:32:19,926 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:86] Track is starting [206000] [Rudimental - Sun Comes Up feat. James Arthur [Official Video]]
2017-10-27 21:32:19,926 DEBUG c.s.d.l.t.p.LocalAudioTrackExecutor [LocalAudioTrackExecutor.java:85] Starting to play track qZVm-2nM0sA locally with listener com.sedmelluq.discord.lavaplayer.player.AudioPlayer@676ad0a5
2017-10-27 21:32:19,927 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:77] Track David Guetta ft Justin Bieber - 2U (The Victoria?s Secret Angels Lip Sync) ended [FINISHED]
2017-10-27 21:32:19,927 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:59] Play next track
2017-10-27 21:32:19,927 DEBUG c.s.d.l.t.p.LocalAudioTrackExecutor [LocalAudioTrackExecutor.java:135] Requesting stop for track qZVm-2nM0sA
2017-10-27 21:32:19,927 DEBUG c.s.d.l.p.AudioPlayer [AudioPlayer.java:290] Firing an event with class TrackEndEvent
2017-10-27 21:32:19,928 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:77] Track Rudimental - Sun Comes Up feat. James Arthur [Official Video] ended [REPLACED]
2017-10-27 21:32:19,928 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:77] Track Rudimental - Sun Comes Up feat. James Arthur [Official Video] ended [REPLACED]
2017-10-27 21:32:19,933 DEBUG c.s.d.l.p.AudioPlayer [AudioPlayer.java:290] Firing an event with class TrackStartEvent
2017-10-27 21:32:19,933 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:86] Track is starting [225000] [Cheat Codes - No Promises ft. Demi Lovato [Official Video]]
2017-10-27 21:32:19,933 DEBUG f.m.d.h.TrackScheduler [TrackScheduler.java:86] Track is starting [225000] [Cheat Codes - No Promises ft. Demi Lovato [Official Video]]

The log shows that one event is dispatched but you handle two events. You probably added two listeners to the player.

User error and no response within a month, closing.


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @lostluck
I'm poking around to see if there's anything necessary to make vet output raise red flags, but so far I haven't seen anything.


[BUG] MoviePy Error: creation of None

Describe the bug
Process stoped after combining video
To Reproduce
Steps to reproduce the behavior:

Generate video as usual
Wait until combining video done
errror appear

convert: attempt to perform an operation not allowed by the security policy<EMAIL_ADDRESS>@ error/property.c/InterpretImageProperties/3771.
convert: label expected<EMAIL_ADDRESS>@ error/annotate.c/GetMultilineTypeMetrics/782.
convert: no images defined `PNG32:/tmp/tmp0vf09mzc.png' @ error/convert.c/ConvertImageCommand/3234.
.

.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect

Expected behavior
Video generated successfully
Screenshots
Desktop (please complete the following information):

OS: Linux
Browser: Firefox
Python Version: 3.11.7

Additional context
ImageMagick already installed, i put the path correctly in .env. Also it tried to download magick as instructed in ENV file but still giving same results.

Fix permission of the magick binary

what kind of permission?
both convert and magick are executable ready

I noticed there are at least two places where you include the path for imagemagick:

.env file in the project home folder
virtualenv/lib/python3.9/site-packages/moviepy/config_defaults.py

On Mac, I initially installed imagemagick through homebrew. That didn't work so I installed it manually using the instructions from imagemagick website.
That also doesn't seem to work for now.
.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect

I noticed there are at least two places where you include the path for imagemagick:

.env file in the project home folder
virtualenv/lib/python3.9/site-packages/moviepy/config_defaults.py

On Mac, I initially installed imagemagick through homebrew. That didn't work so I installed it manually using the instructions from imagemagick website.
That also doesn't seem to work for now.
.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect

Have you put the binary path correctly in the .env ? You don't have to touch the ...site-packages/moviepy/config_defaults.py at all.
To get the binary path : 1.
brew info imagemagick

OUTPUT:
==> imagemagick: stable 7.1.1-27 (bottled), HEAD
Tools and libraries to manipulate images in many formats
https://imagemagick.org/index.php
/opt/homebrew/Cellar/imagemagick/7.1.1-27 (809 files, 31.4MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-02-07 at 01:46:26
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/i/imagemagick.rb
License: ImageMagick
==> Dependencies
Build: pkg-config ✘
Required: freetype ✔, ghostscript ✔, jpeg-turbo ✔, libheif ✔, liblqr ✔, libpng ✘, libraw ✔, libtiff ✔, libtool ✔, little-cms2 ✔, openexr ✔, openjpeg ✔, webp ✔, xz ✔, libomp ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 71,337 (30 days), 223,414 (90 days), 784,778 (365 days)
install-on-request: 65,962 (30 days), 205,903 (90 days), 721,871 (365 days)
build-error: 8 (30 days)

Open the folder : /opt/homebrew/Cellar/imagemagick/7.1.1-27
Go to /bin/
and locate the magick binary

and use the full path :
IMAGEMAGICK_BINARY="/opt/homebrew/Cellar/imagemagick/7.1.1-27/bin/magick"

That's all I had to do on my Mac and it works

Cheers, mate, it worked. I had messed it up.

anyone knows how to make it work on Linux system (ubuntu)

anyone knows how to make it work on Linux system (ubuntu)

It should be located somewhere in /usr/bin/convert or something similar to that

i have already did

still getting below error

Use: https://github.com/FujiwaraChoki/MoneyPrinter/pull/100

Hi ALL ,
This fixed the problem of Policy
sed -i '/<policy domain="path" rights="none" pattern="@\*"/d' /etc/ImageMagick-6/policy.xml

after i checked, the line already commented, so it should has no effect


Add options to allow script injection in head tag

Allow developers to inject script in head instead of body tag.
Related to https://github.com/turbolinks/turbolinks/issues/147

👍  Thanks for the contribution! I will update README, fix Travis, and publish a new release with your changes.

Released as 2.1.0.


Tools: LocalModel base class which would be serialized to LocalStorage

Model.id would be used as a key. We won't touch sync, just override fetch, save, and delete.
Would be useful as a base class for ViewModels. And this is enough - with properly implemented nested collections we don't need separate wrappers for collections.

Can be done as mixin now


Possible to set email field to unique ?

Hi guys,
Possible to turn the email field unique ?

Hi @briva! It depends on what you would like to achieve:

If you mean email field in default django user model I would say that you need to prepare your own serializers in order to take care about email uniqueness.
If you mean email field in your own custom user model based on django AbstractBaseUser I would recommend to mark that field as unique in model definition (by setting unique=True). If you also set this field as User.USERNAME_FIELD or if you append it to User.REQUIRED_FIELDS then djoser thanks to latest Django Rest Framework versions will take care about proper validators automatically.


When using PowerShell on Windows, keys are being sent twice.

When using PowerShell on Windows, keys are being sent twice.
The following image shows where I typed ":q" only once.

Thank you for the report.
Possibly related to this crossterm issue: https://github.com/crossterm-rs/crossterm/issues/797
Looks like going to be fixed in the next release.

Fixed by c63dc45224f919dcf55304b30e436cfdee041c33
I'd appreciate if you could try this.

Fix released in v2.9.0


XNumber: Rename event

Changed the order of style and script
Rename change to on-change which followed the spec


Fix glue segfault for newtype wrappers around recursive tag unions

Fixes #3927 and #3927

fixes #3926 as well


饼图标签居中重叠

Version
4.8.0
Reproduction link
https://gallery.echartsjs.com/editor.html?c=x9Og7OYc_D&v=2
Steps to reproduce
饼图标签居中重叠
What is expected?
饼图标签居中不重叠
What is actually happening?
重叠

https://github.com/apache/incubator-echarts/blob/master/src/chart/pie/labelLayout.js#L136
https://github.com/apache/incubator-echarts/blob/master/src/chart/pie/labelLayout.js#L219


Unable to interact with context menu items

Hello,
I am testing an application which has a few context menus that I need to interact with.
One of the context menus I am working with does not show up under the Desktop level in the tree when I inspect it using Accessibility Insights

Image attached.
I tried creating a root driver
 AppiumOptions options = new AppiumOptions();
            options.AddAdditionalCapability("app", "Root");
            options.AddAdditionalCapability("platformName", "Windows");
            options.AddAdditionalCapability("deviceName", "WindowsPC");
            options.SetLoggingPreference(LogType.Server, LogLevel.All); //optional
            secondarySession = new WindowsDriver<WindowsElement>(new Uri("http://<IP_ADDRESS>:4723"), options);

And then accessing one of the elements on the context menu like this -
var createExp = secondarySession.FindElementByName("Create Related Experiment");
            secondarySession.Mouse.MouseMove(createExp.Coordinates);
            secondarySession.Mouse.Click(null);

However, it errors out saying element could not be located

POST /session/2355654F-EA56-4247-8BA8-CD4DA462D22C/element HTTP/1.1
Accept: application/json, image/png
Content-Length: 52
Content-Type: application/json;charset=utf-8
Host: <IP_ADDRESS>:4723
User-Agent: selenium/3.141.0 (.net windows)
{"using":"name","value":"Create Related Experiment"}
HTTP/1.1 404 Not Found
Content-Length: 139
Content-Type: application/json
{"status":7,"value":{"error":"no such element","message":"An element could not be located on the page using the given search parameters."}}

The menu is not attached to the application and to the root session as well. Is there a way to interact with such elements using WinAppDriver? Any help is appreciated.
I am using Windows 10 and WAD v1.1
Thanks,
Rachit

What you you mean that it is not attached to the root session? Can you share what is been shown in inspect.exe?


Array/Seq.Average and similar functions do not use foreach

Here F# always gets an enumerator and uses it to iterate over a sequence. This throws away compiler optimizations for foreach loop.
In this example calculating average of double array generates the largest amount of allocations via .GetEnumerator(). It was surprising to find it here.
LINQ uses foreach which eliminates allocations. As the linked SO question indicates, F# compiler supports the same foreach optimization as C# compiler and .GetEnumerator() calls should be eliminated where possible in favor of foreach.
For Arrays it is better to use for.. loop because Arrays do not have a struct enumerator as shown here. Only for.. loop like here completely eliminates allocations and this would be nice to have in the core library.

I think @dsyme already said that such PRs are welcome.

@forki I will be glad to fix this when I learn how to build this repo on my old MacBookAir :) A year ago I couldn't.
BTW, I have tested LINQ .Average() and F# foreach, and LINQ version shows a lot of enumerator allocations, while F#'s foreach loop is equivalent to for i in 0..(len-1) loop. So there is no need for special treatment of arrays and foreach in Seq module will work.

Given that I have reverted my pull request regarding foreach in seqs, I want to either close this issue or to keep it open as a question about foreach optimization. Is it possible to make it work with any IEnumarable, or this optimization could only work at JIT level (hopefully sometimes), or one should just forget about it for a general case and work with concrete types that have value type enumerators? I think I have misinterpreted C# compiler behavior just based on SO questions/answers.

OK, thanks
Just to mention that it may be possible to get some generic doing struct-enumerator iteration using statically resolved type variables, e.g. see below.  This technique doesn't easily generalize to map, collect etc.  but may be enough for your purposes
module FastIter =
    let inline iter (f : ^V -> unit) (xs : ^C) : unit when ^E : struct =
        let enum = (^C : (member GetEnumerator : unit -> ^E) (xs))
        while (^E : (member MoveNext : unit -> bool) (enum)) do
            f (^E : (member get_Current : unit -> ^V) (enum))

let vs = System.Collections.Generic.List<int>( [ 1 .. 10000 ] )

#time "on"

let testA() =
    // Real: 00:00:06.960, CPU: 00:00:06.937, GC gen0: 1, gen1: 0, gen2: 0
    for i in 0 .. 100000 do
       vs |> FastIter.iter (fun x -> ())

let testB() =
    // Real: 00:00:09.933, CPU: 00:00:10.000, GC gen0: 4, gen1: 2, gen2: 1
    for i in 0 .. 100000 do
       vs |> Seq.iter (fun x -> ())

let vs2 = seq { 1 .. 4 }
vs2 |> FastIter.iter (fun x -> ()) // can't iterate seq<int> using this since it use no value type enumerator

let vs3 = [| 1 .. 5 |]
vs3 |> FastIter.iter (fun x -> ()) // can't iterate int[] using this Array doesn't have the right methods

let vs4 = System.Collections.Generic.Dictionary<int,int>()
vs4 |> FastIter.iter (fun x -> ()) // can iterate Dictionary<_,_>

let vs5 = System.Collections.Generic.Dictionary<int,int>()
vs5 |> FastIter.iter (fun x -> ()) // can iterate Dictionary<_,_>

let vs6 = System.Collections.Generic.HashSet<int>()
vs6 |> FastIter.iter (fun x -> ()) // can iterate HashSet<_,_>

Thanks! That is very interesting. I thought about generics with type constraints that will allow to use constrained call for structs. But both approaches require knowing the type at compile time.


[Feature] Predictable sorting of test files, useful with --workers=1

I have about 13 test suites (.spec.ts) files and i want to run all 13 files in a specific order each time. Only after one test suite has ended, should a new one begin. Is there a way to achieve this?
All of my test suites have the following structure:
import {expect, it, describe} from './fixtures'
describe("something", ()=>{
        it("test1", async({page, data})=>{
        });
        .
        .
        .
        //other it blocks...
});

I was looking at folio's cli.js and in
async function collectFiles(testDir) {
    const list = [];
    let callback;
    const result = new Promise(f => callback = f);
    fstream_ignore_1.default({ path: testDir, ignoreFiles: ['.gitignore'] })
        .on('child', (c) => list.push(c.path))
        .on('end', () => callback(list.sort()));
    return result;
}

I changed
        .on('end', () => callback(list));

to
        .on('end', () => callback(list.sort()));

We still didn't get the results I expected.
But, it is around there, in collectFiles and filterFiles and runTests.
I still look for a way to run tests in order too.  Willing to settle for numbering, alphabetic order, or multiple --test-match etc..

Tests should be independent from each other and not depend on other tests or test files. If you need logic before and after it's recommended to have it inside each test or use beforeEach/beforeAll to prepare a login e.g. Also playwright-test already has a new context each test, so its a "fresh state with no cookies, localStorage etc)
Why do you want to have them in a custom order in the first place?

Two reasons to run in order:
One, nice visual demo.
Two, I was trying to find out whether certain information leaks from one to the other, e.g. folio.config properties.  Someone saying so may or may not be true, so I wanted to verify.  Then I noticed I was not able to control order of execution.

@mxschmitt Agreed that tests should not depend on each other. However we do have some dependencies on the data that the test puts into our system. In that case, how would you suggest using beforeEach/beforeAll to perform a test?
Eg: I need X.spec.ts and Y.spec.ts to run before Z.spec.ts. How would we achieve this using beforeAll/beforeEach?


Improve readability of find command in Importer

Instead of using an array of interpolated strings which require escaping
double quotes, we can just use %W[...]. This matches how we build the
eslint command, which I switched to %w[...] in e60c556f.

Thanks!


Release based on Amp v2

it seems amphp is updated to v2. but composer still requiring v1.

You're right, this repository has seen very little love. The v1 release also isn't that old. There aren't any tests right now, so I can't even tell whether the migration to v2 is complete in the master branch, but I think it is. I'm pinging @trowski and @bwoebi here.
Maybe you could try it with dev-master#6f846aec74a167cfbffc483f093ee45c23ebd40d and report back whether there are any issues? I think we can totally release a v0.2.0 and leave #5 for later consideration.

Yes, I agree with you. It's better to release Amp v2 first for basis usage. I will try the dev-master and see if it has any problem.

There'll be a release later today or tomorrow.


Updated Aarambh componenet

Does not pull data from the backend, Still is hardcoded, until fixed, won't be merged

ok, i'm working on it.


No route matches {:action=>"show", :controller=>"displayqr"}

I don't seem to have anything in the routes.rb for google authenticator. Should I have ?
Anyway when I signup (this is a new rails 4 app) I get the above error.

I'm going to close this - but - if anyone sees these errors this can be re-opened.


Dark color scheme for accessibility

Protonmail only supports a light colorscheme. This can be a problem for users with dark color schemes in their OS.
Adding a dark-color scheme like the one at:
https://amdelamar.com/pm-theme/
Can help those users who prefer to use their screens with a darker setup.
There are many ways to support this. As Protonmail WebClient uses JS there's no problem to add a light/dark switch like other sites like youtube or twitter do.
Also, in order to capture the colorscheme preference of users there's a CSS mediaquery available:
https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
Implementing this officially would make users able to choose without having to install any third party CSS that is a feature many of the users won't know how to deal with.
The main issue I see on this is with the rendering of HTML emails with custom colors, but they can be left as they come and try to implement the dark mode only on plain-text emails.

Think this issue is a very important one with respect to accessibility. Similar issues have been raised in https://github.com/ProtonMail/proton-mail-android/issues/32 and think that this should be made as a priority for precisely those reasons if possible.
In the web client it would just need a switcher in the settings even though you can copy & paste your own css currently but this functionality should not be considered as a final solution

This is solved in Version 4.0.0 Beta 41, via the theme switcher. Settings gear - Theme. I'm using Carbon, which has a very dark blue background and lighter blue accents.
An additional "Dark Proton" theme could be added and made the default when the system reports a dark theme.


Filter a list based on marker click

Here's a Plunker.
http://plnkr.co/edit/GgcsVEY4KkZ5bCVHHGQA
This is my first Angular project, so there's probably some things that wouldn't be considered 'best practice.'
I think I'm close. I put an ng-click handler on the International map markers. I have NOT put one on the US markers yet.
What I'm trying to do is pass toller.countryTitle to the 'select' with ng-model="selectedItemIntl." That 'select' dropdown has a change handler on it to determine when to show the US select dropdown.
There's a console.log on the click handler and it's passing something like '[object Object] France' if I click on the French location. But I can't figure out how to then pass 'France' to the select model. I get an error of 'Cannot set property 'countryTitle' of undefined'
Any help would be greatly appreciated.
Thanks.

Thanks for using this module.
Based on your requirement, It's better for marker to have custom data.
I wonder why nobody complain about this.
I will be back soon with new feature.
I will add a feature

Awesome. Thank you.

I agree that this would be an excellent feature!

I'm so sorry to ask this. I know you're busy. But I’m getting a little heat from my boss. Is there a rough ETA on updating markers with custom data? Thanks. Again. Sorry to ask.

Please  check out this example.
https://rawgit.com/allenhwkim/angularjs-google-maps/master/testapp/marker_data_with_ng_repeat.html
If this example does not satisfy your requirement, I will reopen this issue.

That looks like it will work great.
Thank you very much.


Angular SPA running local but not in IIS

Hi
I made an Angular App which runs fine, when I start it from Visual Studio, all got built right and is working properly
I used this example for authentication:
https://code.msdn.microsoft.com/How-to-authorization-914d126b
And migrated to core 2.0:
https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x
Entry point for the app is the Login-Form, which sends a requests with the credentials to an API-Endpoint:
public login$(userName: string, password: string): any
{
	let header: Headers = new Headers({ "Content-Type": "application/json" });
	let body: string = JSON.stringify({ "Username": userName, "Password": password });
	let options: RequestOptions = new RequestOptions({ headers: header });

	return this.http.put("/api/TokenAuth/Login", body, options).map(
		res =>
		{
			let result: any = res.json();

			if (result.state == 1 && result.data && result.data.accessToken)
			{
				sessionStorage.setItem(this.tokeyKey, result.data.accessToken);
			}

			return result;
		}
	).catch(this.handleError);
}

[Route("api/[controller]")]
public class TokenAuthController : Controller
{
	...
	[HttpPut]
	[Route("Login")]
	public async Task<IActionResult> Login([FromBody]UserAuth user)
	{
		...
	}
	...

When I publish a Release Version, and deploy it to IIS, it got broken => the Api-Endpoint seems missing
at main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:873
PUT http://crm-dapp.wenatex.com/api/TokenAuth/Login 404 (Not Found)

at main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:642
404 - Not Found

at main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:8
ERROR TypeError: o.Observable.throw is not a function
    at e.t.handleError [as selector] (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:642)
    at e.error (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:663)
    at e._error (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:522)
    at e.error (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:522)
    at XMLHttpRequest.l (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:714)
    at t.invokeTask (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:838)
    at Object.onInvokeTask (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:36)
    at t.invokeTask (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:838)
    at r.runTask (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:838)
    at e.invokeTask [as invoke] (main-client.js?v=WBbjfJa6Ml-uXSpjgbv6jN0CQJJpF3PqOcpdARggu4c:838)

I searched and tried serveral things, but it remains a mystery for me
best regards
Jürgen

I think this is really an issue with Angular's AoT compiler, which only applies to production builds. To check this, could you please disable AoT using the instructions here, and try again?
Assuming this fixes it, could you report the bug to Angular instead, since it would need to be fixed in Angular's AoT system.


Intergration with SteelSeriesMoments

Hey, this isnt an issue of course. I was just curious to how ytou went about developing plugins for SteelSeries software. I'm concidering putting a plugin together to imporve SteelSeries Moments and it seems like you guys already have a good understanding of the systems.

Hi !
Basically, SteelSeries GG app runs a Rest API in the background to sort of communicate with itself or with its database. I used Wireshark to listen and capture the http traffic on my computer to get all the Http Put made by SS and use them in my code like SS would do.
I'm already looking to improve my plugin and add Moments controls but it seems like Moments don't use the Rest API so i have to find another way to control it.


Popup menu does not popup at indicated location

Tested versions
v4.2.1.stable.official [b09f793f5]
System information
v4.2.1.stable.official [b09f793f5]
Issue description
I am trying to write a script that causes a PopupMenu to open at the location where the user right clicks the mouse.  This is an editor addon, and the popup menu is opening nowhere near the point I'm indicating.  In my original program, it wasn't even opening on the correct monitor.  In the test case I'm attaching, it is opening on the correct monitor, but no where near the point where the mouse is located.
Steps to reproduce
Install the attached addon to the Godot editor.  Expand the Popup Test tab in the bottom center dock and right click in the window area.  My PopupMenu will be displayed, but in the top left hand corner of the screen.  I've tried lots of combinations of popup(), popup_on_parent() and show(), but the popup menu always opens relative to the top left corner of the screen, not the control.
Minimal reproduction project (MRP)
popup_location.zip

Please try with 4.2.2 to make sure this hasn't already been fixed in a supported version

Events in _gui_input are in local coordinates. PopupMenu.popup() expects global coordinates. Changing the code to something like this should work:
%PopupMenu.popup(Rect2i(get_global_transform() * e.position, Vector2i.ZERO))

PopupMenu.popup() expects global coordinates. Changing the code to something like this should work:

Note that this varies depending on whether embedded subwindows are enabled in the Project Settings. This can certainly catch users off-guard, which makes me wonder if we should have a popup_relative() method that always makes the coordinates relative to the main window's top-left corner. This way, you can have consistent operation regardless of whether single-window mode is enabled.

I've upgraded to 4.2.2 and am now using:
%PopupMenu.popup(Rect2i(get_global_transform() * e.position, Vector2i.ZERO))

While this is now giving me the correct vertical position on my popped up window, the popup is on the far left of the monitor regardless of the X position of the mouse.  And in my other project, the get_global_transform() * is not doing anything and the popup is still displaying on the wrong monitor.

I've modified the code to be
func _on_gui_input(event):
	if event is InputEventMouseButton:
		var e:InputEventMouseButton = event

		if e.button_index == MOUSE_BUTTON_RIGHT:
			if e.pressed:
				print("get_global_transform() ", get_global_transform())
				print("e.position ", e.position)
				%PopupMenu.popup(Rect2i(get_global_transform() * e.position, Vector2i.ZERO))

I am getting this output
get_global_transform() [X: (1, 0), Y: (0, 1), O: (290, 758)]
e.position (572, 81)

I've upgraded to 4.2.2 and am now using:
%PopupMenu.popup(Rect2i(get_global_transform() * e.position, Vector2i.ZERO))

AFAICT it should be:
%PopupMenu.popup(Rect2i(get_screen_transform() * e.position, Vector2i.ZERO))

(at least seems to work)

Regarding event locality:

InputEventMouse.position docs are clear/precise about this:
https://github.com/godotengine/godot/blob/3978628c6cc1227250fc6ed45c8d854d24c30c30/doc/classes/InputEventMouse.xml#L20-L23

Control._gui_input docs mention this (line 151):
https://github.com/godotengine/godot/blob/3978628c6cc1227250fc6ed45c8d854d24c30c30/doc/classes/Control.xml#L119-L152
but could be improved as Control's origin is just a single point, so "Event position is relative to the control origin" doesn't say anything about the orientation/scale. It says to what point/position it's relative to but not how. Like two different Controls can have the same origin but completely different scale/rotation, and thus they would get completely different event positions.

Control.gui_input (used in the MRP) docs don't mention it at all. Probably need adding a note about locality of the event, or a "See also: ..." link to some more detailed docs shown above:
https://github.com/godotengine/godot/blob/3978628c6cc1227250fc6ed45c8d854d24c30c30/doc/classes/Control.xml#L1094-L1099

Regarding Window.popup{...} methods I'd say none of the docs are clear about in what coordinate spaces the arguments are meant to be, with regards to the 2D coordinate systems and 2D transforms docs:
https://github.com/godotengine/godot/blob/3978628c6cc1227250fc6ed45c8d854d24c30c30/doc/classes/Window.xml#L368-L452


monitor fails on restart

getting intermittent failures starting monitor.py after restart -- screen shows a blank terminal

The glorious thing about this bug is, it only occurs when verbosity is low

longer tasks do not help


Enables query string settings through options hash

The XLCA API allows query string parameters. This pull request allows XClarityClient::XClarityBase::connection to receive a opts hash that sets query string parameters, thus you can do things like:
client = XClarityClient::Client.new...
client.discover_cabinet(status: "includestandalone")

LGTM 👍


Documentation on Outstanding work for AnonCreds Wallet (askar-anoncreds) out-of-date?

https://aca-py.org/latest/deploying/AnonCredsWalletType/#outstanding-work
https://github.com/rngadam/aries-cloudagent-python/blob/3447dc89fbe9b498139705a2b1ac7c69616b0154/docs/deploying/AnonCredsWalletType.md#L79-L90

This seems to be a list from 6 months ago. I see that many of these issues seemed to be addressed:
https://github.com/hyperledger/aries-cloudagent-python/issues?q=is%3Aissue+label%3AAnonCreds+is%3Aclosed
Would like to know what the current outstanding work is.

I do think most of this has been accomplished. I can update it.

Thank you!