cmd/server: initial setup for sqlite account and transaction storage

Storage with QLedger doesn't work as there isn't a way to enforce that an account never gets a transaction posted to it which would push the account into 'insufficient funds'. Instead I added a naive and racy check in the HTTP endpoints. Using sqlite and committing one large transaction does allow for this atomic commit or rollback.

Codecov Report

Merging #36 into master will decrease coverage by 19.58%.
The diff coverage is 49.55%.

@@             Coverage Diff             @@
##           master      #36       +/-   ##
===========================================
- Coverage    64.5%   44.91%   -19.59%
===========================================
  Files          10       12        +2
  Lines         631      846      +215
===========================================
- Hits          407      380       -27
- Misses        174      386      +212
- Partials       50       80       +30

Impacted Files
Coverage Δ

cmd/server/sqlite.go
68.96% <ø> (ø)
:arrow_up:

cmd/server/account_storage.go
0% <0%> (ø)
:arrow_up:

cmd/server/transaction_storage_qledger.go
7.81% <0%> (-82.52%)
:arrow_down:

cmd/server/account_storage_qledger.go
5.76% <0%> (-85.24%)
:arrow_down:

cmd/server/main.go
6.18% <0%> (-0.27%)
:arrow_down:

cmd/server/transaction_storage.go
0% <0%> (ø)
:arrow_up:

cmd/server/accounts.go
60.49% <100%> (ø)
:arrow_up:

cmd/server/transaction_storage_sqlite.go
51.88% <51.88%> (ø)

cmd/server/account_storage_sqlite.go
54.54% <54.54%> (ø)

cmd/server/transactions.go
82.27% <85.71%> (+0.33%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


[feature] Provide a Run(srv, admitters) Method

We should consider exposing a Run method that supports minimal viable configuration and starts a server.
This will make getting started much easier, and avoid having to set up every dependency (logging, HTTP server, routing, middleware) if a user doesn’t have strict opinions on these things. See cmd/admissiond for an example.
Proposed API:

Expose an AdmissionServer type, with a NewAdmissionServer constructor that accepts a *http.Server, a log.Logger (maybe?), and a map[string]AdmitFunc that maps URL paths to the provided handlers.
Extra (optional) config can be exposed as struct fields; otherwise we use opinionated defaults
Create a Run(ctx) error method that starts the HTTP server.

Users with custom requirements can continue to build their own servers around the http.Handler compatible AdmissionHandler type.

WIP in https://github.com/elithrar/admission-control/tree/elithrar/admit-server-run

Closed via #5.


Passing renderers programmatically

👋🏼 First of all, thanks a lot for this amazing plugin.
I'm playing with it to build a framework upon it, and I was wondering if it'd be possible to pass the renderer as a module instead of reading it from the renderer directory. I'd like the renderer to be internal to the framework and pass it to the plugin directly

That's actually exactly what I'm working on as we speak.
There is already a beta 0.3.60.beta-4. Stable release ETA this week.
You can see a little preview of it here: https://github.com/brillout/vps-framework.
What is it you want to build?

Wow, that's amazing, thanks a lot 🙏🏼
We are are stitching some blocks together to build an app framework, GestaltJS, and I was looking for a Vite plugin that brought file-based routing capabilities to the Vite setup.

Seems like a match 👍.
The goal of vps is two-fold:

Allow end-users to have control.
Allow frameworks to be built on top of it.

You can think of vps as a "framework builder".
Closing since this is not a bug report nor feature request.

Thanks a lot @brillout. I checked the project that you shared, and I can't get it working. This is how I initialize the plugin:
ssr({pageFiles: [ frameworkDirectory, appDirectory ]})

But for some reason that I'm struggling to find, I get the following error:
Error<EMAIL_ADDRESS>Usage] No `*.page.client.js` file found. Make sure to create one. You can create a `_default.page.client.js` which will apply as default to all your pages.
    at getPageClientPath (/Users/pepicrft/src/github.com/project/gestalt/node_modules/vite-plugin-ssr/dist/cjs/node/renderPage.js:357:29)
    at loadPageFiles (/Users/pepicrft/src/github.com/project/gestalt/node_modules/vite-plugin-ssr/dist/cjs/node/renderPage.js:323:28)
    at async renderPage (/Users/pepicrft/src/github.com/project/gestalt/node_modules/vite-plugin-ssr/dist/cjs/node/renderPage.js:80:23)
    at async renderPageWithoutThrowing (/Users/pepicrft/src/github.com/project/gestalt/node_modules/vite-plugin-ssr/dist/cjs/node/renderPage.js:131:16)
    at async file:///Users/pepicrft/src/github.com/project/gestalt/packages/app/dist/commands/app/dev.js:98605:27
<EMAIL_ADDRESS>No `_error.page.js` found. We recommend creating a `_error.page.js` file. (This warning is not shown in production.)

Let me check

I see. Let me finish the thing I'm working on right now, and I'll then update the example.

Alright, https://github.com/brillout/vps-framework is now using the latest beta.
Let me know if you run into any issue.


Eventshub forwarders properly forwards body/data

Changes

The incoming Message has the data exhausted when we're forwarding so we create a new Message from the Event.

/kind

Fixes #

Release Note

Docs

/cc @pierDipi


Gatsby server continues running after CLI fails

Context: https://github.com/netlify/cli/pull/754#issuecomment-603747623
- Do you want to request a feature or report a bug?
bug
- What is the current behavior?
The CLI can fail without properly exiting the Gatsby development server.
- If the current behavior is a bug, please provide the steps to reproduce.

Be sure to run the latest netlify-cli locally from source
Clone the Gatsby Netlify CMS starter: https://github.com/netlify-templates/gatsby-starter-netlify-cms
Run netlify dev in the cloned repo

- What is the expected behavior?
A CLI error that leads to an exit should always include shutting down of processes that were started by the CLI.
- Local Environment Information

This issue is occurring on netlify/cli master, unreleased, as of this commit:
https://github.com/netlify/cli/commit/fa86a6179419bf38022f4bcc36643b758d059736

Should've been fixed by https://github.com/netlify/cli/pull/818. Initial testing seems positive.


Add marker to a existing marker array move old markers in the array

When you add new markers to  a existing marker array. The old markers move from her position to the top of the screen.

I am triying solve the problem.
I detect when you added new elements in ng-repeat. ol-marker Link funtion not called for the old elements.

Finally I clone the old array, put new marker in new array later I destroy the marker array and copy the marker array:
var markerstemp = angular.copy($scope.markers);
markerstemp.push(marker);
$scope.markers = [];
$scope.markers = markerstemp;

I'm doing some housekeeping and closing the issue since it's quite old. Please feel free to re-open it if it still persists. Also maybe try to upgrade to the latest version as it might fix it for you.


JSDoc extension

There could be a JSdoc extension inspired by the discord.js extension where you either load a remote URL or open a directory.
As an alternative or additionally, there could be a TypeScripts type viewer like TypeDoc

Bump!


support IE 11

IE11 is not supported which goes against the design goal of supporting all major browsers.  How much work is necessary to get it working?

@PeterFidelman  I'm going to propose this question:
The amount of effort required vs the amount of IE 11 users. Which is greater to you? I'm not saying drop it all together but maybe it's time to start thinking whether IE11 is a major browser and if we should support it along with it's successor, Edge.

Agreed. There's a reason I haven't done it yet.
The case for supporting IE is supporting schools, which may have very locked-down computers with no third-party browser available.  I have no reason to believe that educators will want to use Community Constructor, so I'm willing to let this ticket sit on the back burner until someone complains about it

By the way, Edge works fine.

After thinking about this, you are completely correct. Schools, unfortunately, will use IE so we at least at to support Internet Explorer for now until we can better garner if more schools are updating to W10 and use Edge.


[Feature] Ignore indicators when scaling y-axis

Feature Description
Scale y-axis to only candles (ignore indicators).
Currently with indicator (blue line)

Without indicator:

Desired effect:
Keep indicator on chart but scale y-axis as if it wasn't there.
To Do

Set option somewhere to scale only candles

If an indicator has no figure it will not be included in the scaling so you could just custom draw your vwap indicator using canvas path.

Thanks for the tip but I was hoping for a more API driven approach.

On Dec 4, 2023, at 11:45 PM, Charles @.***> wrote:

If an indicator has no figure it will not be included in the scaling so you could just custom draw your vwap indicator using canvas path.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

@char101 noticed even in the preview there's a lot of padding

That's because when scrolling past the data end, the visible data list doesn't change. The min and max of the yaxis is calculated from the visible data list.
For example if you change i = from to i = Math.max(from, realFrom) in https://github.com/klinecharts/KLineChart/blob/main/src/store/ChartStore.ts#L111 you will get scaling.


Events::Event

Missing Type
https://wiki.rage.mp/index.php?title=Events::Event
Proof that this type exists.
https://wiki.rage.mp/index.php?title=Events::Event
Additional Information/Comments
😘

Already exists and it seems to work perfectly. 👍
https://github.com/ragempcommunity/ragemp-types/blob/a1638c5866b3fcd5af75f4ee25f969b077e0fa56/packages/server/index.d.ts#L1865
https://github.com/ragempcommunity/ragemp-types/blob/a1638c5866b3fcd5af75f4ee25f969b077e0fa56/packages/server/index.d.ts#L1331-L1340

Already exists and it seems to work perfectly. 👍
https://github.com/ragempcommunity/ragemp-types/blob/a1638c5866b3fcd5af75f4ee25f969b077e0fa56/packages/server/index.d.ts#L1865
https://github.com/ragempcommunity/ragemp-types/blob/a1638c5866b3fcd5af75f4ee25f969b077e0fa56/packages/server/index.d.ts#L1331-L1340

Nu are trebui sa fie si pe client?


Wallpanel crashes with current Chrome desktop user agent string

Describe the bug
Wanted to display content with desktop browser rendering (not mobile). So I entered the latest Chrome standard user agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Safari/537.36

The WebView did no longer do anything. So I stopped and restarted Wallpanel, but it now crashes straight on startup and doesn't even let me get into settings to revert the agent.
To Reproduce
Steps to reproduce the behavior:
Smartphone (please complete the following information):

Lenovo M8 tablet

Complete explanation
Amazon Prime day brought me a half priced Lenovo M8 tablet, which would make a great additional wall panel (used Nexus 7 so far). Other than for the Nexus, the System WebView asks for mobile content per default, which is a bit too large. The experimental Wallpanel zoom feature does nothing for me, unfortunately, but using Chrome to display the website I noticed that when requesting the desktop version, it fits perfectly. To achieve the same with Wallpanel, I wanted to set the current user agent so that it behaves like a desktop browser.
The generally preferred option would be, of course, if Wallpanel would introduce a switch to programmatically force the WebView to optionally request a desktop version (see also here...).

Also: if I open settings via the popup on the home screen icon, I cannot delete the user agent. It doesn't accept to clear the complete input (and continues to use the existing)

The journey continues ;-)
I deleted Wallpanel and reinstalled it. Now the above string no longer crashes Wallpanel, however it has no effect obviously. While Chrome renders the page correctly when requested as desktop version, Wallpanel just uses mobile rendering. See below examples (note: while chrome still obstructs parts with header & footer, the desktop version has the correct size below it)
Chrome/Desktop:

Chrome/Mobile:

Wallpanel:

The stack post you linked to has a different user agent than the one you provided in your ticket.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:<IP_ADDRESS>) Gecko/20100101 Firefox/4.0
The application already has the ability to set a user agent.   I don't think the app needs to be changed to accomodate this request, this seems more about how WebView handles user agents.  I assume it might not work and depends also on your version of WebView.
To be clear, WallPanel does not use Chrome, it will not be the same as Chrome browser, it will always be WebView, which has it's own page rendering ability.   You cannot compare how Chrome renders a page as a desktop and how WebView does.  Also without the correct user agent or settings, maybe WebView will just ignore your attempts to render a desktop version of the site.
Also, this seems like a problem you can address in the actual web page, this is why its rendering the mobile version, the webpage is built to do so.    I mean, just a thought, but update or override this on the webpage.

Well, I know. I just quoted the stack overflow page, as beside setting the user agent it seems to require some more programmatic settings, like
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);

...which is -- in addition to setting the UA -- probably what Chrome does once you switch it to "Desktop" mode.
The server site (which is Homeassistant) unfortunately has no way to influence how dashboards are provided.
Anyway, I understand your point. I just don't know how to make WebView display the page in correct format (as also the Zoom seemingly doesn't work).
Can you anyway please check the deletion of the user agent. That really doesn't seem to work. Setting it back to an empty string will fail and be ignored.

Have you already looked at the code to see if these options were already set on the WebView?
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);

I am pretty sure there is a way to hack HA to do this, you might want to post on the HA community site to see if anyone has already made a hack for this or there is a way to hack this yourself.

That are methods of the WebView. Don't think you can call them through JS from loaded content.

These are our current settings:
 if(webSettings == null) {
            webSettings = mWebView.settings
        }
        webSettings?.javaScriptEnabled = true
        webSettings?.domStorageEnabled = true
        webSettings?.databaseEnabled = true
        webSettings?.saveFormData = true
        webSettings?.javaScriptCanOpenWindowsAutomatically = true
        webSettings?.setAppCacheEnabled(true)
        webSettings?.allowFileAccess = true
        webSettings?.allowFileAccessFromFileURLs = true
        webSettings?.allowContentAccess = true
        webSettings?.setSupportZoom(true)
        webSettings?.loadWithOverviewMode = true
        webSettings?.useWideViewPort = true
        webSettings?.pluginState = WebSettings.PluginState.ON
        webSettings?.setRenderPriority(WebSettings.RenderPriority.HIGH);
       // webSettings?.cacheMode = WebSettings.LOAD_NO_CACHE;

        if (userAgent.isNotEmpty()) {
            webSettings?.userAgentString = userAgent
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            webSettings?.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
        }

That are methods of the WebView. Don't think you can call them through JS from loaded content.

You can probably disable HA from delivering a web version of the page, that is what I mean.  This is part of the web page css, to offer a mobile version of the page.  If this could be overwritten, then the page would always render as a desktop version.

Yeah, need to check with the HA folks then. Still confused why WebView renders exactly like Chrome/Mobile on the Lenovo tab, even while your settings from above look good for desktop, and using an appropriate UA. Plus: works also right on the Nexus w/o any mod. of UA, using same WebView. No clue how this fits together...

You are only missing webSettings.setBuiltInZoomControls(true); and from what I can find, I don't think this is a requirement to make the user agent work.   I think HA is just ignoring your user agent or maybe we are not applying it in the application.  I will look at what's going on with setting/resetting the user agent.

No, don't think either

I think the agent is set correctly, because setting a "bad" one will raise an error ("unsupported browser version"...). Unfortunately, though, I can't reset it then to an empty one ;-)

The code prevents the user agent from being empty, so once you set it, this is why you cannot just set it to empty.  I can fix this, but what you can do now for your testing is just reset the user agent to something normal for WebView.
 PREF_SETTINGS_USER_AGENT -> {
                val value = userAgentPreference.text.orEmpty()
                if (value.isNotEmpty()) {
                    configuration.browserUserAgent = value
                    userAgentPreference.summary = value
                }
            }

Regarding HA ignoring it: at least switching Chrome to "Desktop" makes it behave correctly. Not sure if there is more a browser can do than providing the correct UA. At least that is how we use Chrome to toggle between different clients and simulate phones, tablets etc.

It might  be a matter of finding the correct UA then.  Maybe you can detect and copy the UA that Chrome is setting when requesting "desktop" version?

Yeah, will setup a proxy and check it out

Great, let me know, would be good if we can get this working and document it.

I imagine that you can override the HA CSS in some way to prevent it from delivering a mobile version.

Will check...
One more thing for you, though: once I edit the UA to sth. else (because of deletions failure), Wallpanel crashes once you leave settings. Can't be started at all any longer then. I have to delete all app settings and start over to configure everything.

Is there anything else required to make the Zoom feature work? It does nothing for me...

No, zoom has always been experimental and we already have all the settings for it to work with WebView.  If it doesn't work, it just won't work on your setup or maybe the webpage, but there is nothing else to do.


Define extension roles in setup.py

I'm moving this issue to the geo-config, package responsible for the security definitions.


Can't install CIA

Level: Permanent (27)
Summary:
Module: AM (32)
Desc: Invalid NCCH (37)
I am getting this error when trying to install 3ds pokemon games as cias. I don't think the .cia file is the problem as other people using the same source have no run into this problem (As far as I know).

I get this error on X/Y/Sun/Moon but not ORAS, for some reason.

this is most likely an issue with Gateway and how it does signature check patches, not FBI itself. Gateway only patches the check for the first content of CIAs. your best bet would probably to install CIAs like this under a different custom firmware.

Do you have a suggestion on one that has the best success rate with FBI and .cias ?

Luma3DS (technically anything that isn't Gateway, pretty much)

Cool. Thanks a lot.

For anyone seeing this: switching to another CFW did it (used Luma3ds). Thanks for the help, closing issue.


CLIMATE-643 - Updating some of examples

Not only the bias calculation example, CLI has been debugged and updated. Some modules have been added to the dataset_processor to propagate missing value information.

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Passed.

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Passed.

@huikyole,
83717b2 isn't updating an example. That's changing the CLI. This should get moved to a different ticket so as not to confuse the two things. Similarly, the changes in 88d9c22 aren't just touching examples. They're also touching the CLI. And changes in 03f5b2c are changing dataset_processor stuff. Can we please separate this out into logical tickets.
Also can you please update the Title of the PR to be in line with the specification in the wiki? It has to be CLIMATE- otherwise it doesn't always mirror to JIRA properly.

@MJJoyce  I understand your concerns. However, updating examples was impossible without adding new modules to the dataset_processor. CLI is also using the code based on examples. I will try to separate these into three tickets.

If the changes build off one another just separate them out into different feature branches and merge/rebase according during the dev work. Otherwise we end up with overly complicated pull requests that address multiple tickets and that just makes reviews and integration more challenging. Small, atomic changes are always easier. If you need help with the branching/merging let me know. I'm more than happy to show you a few easy ways to take care of this!

To give you an idea of what I'm talking about here @huikyole in case it's confusing. Here's an example of how I would have broken these down into multiple tickets and their relevant changes.
New Ticket 1:
This new function would be here.
This variable name update is related so we could include that as well.
Tests for the new function would be included in a commit in here as well.
New Ticket 2:
Missing data changes would fall in another ticket here.
Tests for this new function would be here as well.
New Ticket 3:
This is a propagation bug for the existing values and would be its own ticket.
New test would be included in here as well so we don't miss this bug in the future!
New Ticket 4:
Any change in the CLI app that you have in here would be in another ticket.
Would probably need to update tests if appropriate for the CLI (I'm not familiar w/ the code so I'm unsure if that's the case)
This ticket:
The changes in examples/knmi_to_cru31_full_bias.py would be in this ticket since it's the actual update to the example file.

So, if these tickets build off of each other you would do something to the effect of:

Make feature branch off master for Ticket 1. Make changes, update tests, and make PR
Make feature branch off master for Ticket 2. Make changes, update tests, and make PR. When we merge Ticket 1/2 we will need to rebase this but that should be fine. The changes are obvious enough to make merging and issues easy/trivial.
Make feature branch for Ticket 3 off master. Make changes, write test, and make PR. Will need to rebase here as well when we merge but see above. Should be easy.
Make feature branch for Ticket 4 off master. Etc.
Make feature branch for this ticket. You will probably need to merge some of the stuff in the ticket 1, 2, and 3 feature branches in here so that way you have the changes that you need. When we merge the others into master it's simple enough to rebase again and include those relevant commits.

Hopefully that helps. If you have questions let me know!


[Bug] "Set Timezone" option missing

Addon
Timezones
What happened?
The "Set Timezone" does not show up upon right-clicking a user.
What Discord version do you have this issue on?
PTB
Logs
No response
Code of Conduct

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

I'm having this problem on Canary as well. >.<

Hello! Just wanted to say that updating BetterDiscord from 1.9.1 to 1.9.2 fixed it. ^^


[TBDGen] Remove llvm namespace from StringRef.

This is a cherry-pick of #59749

Thank you @nkcsgexi


Manage watchfiles settings

I've replaced autoreload.get_reloader with autoreload.run_with_reloader to get verbosity level to setup debug mode. Other settings you can get from the project settings WATCHFILES, e.g.:
WATCHFILES = {
    'watch_filter': 'path.to.custom_filter',
    'raise_interrupt': False,
    'debug': False,
}

@adamchainz This looks like a solid contribution. Does this align with your vision for the project?

Great contribution! Looking forward to release. IMO this is the key part missing to give django-watchfiles a decent developer experience.

@adamchainz Could you please take a look at this PR and give your feedback? It's been open for a year now and is a blocker for me and other people to adopt django-watchfiles. Thank you!

If changes were reverted from the .pre-commit-config.yaml would that help with getting this merged in? I would be happy to help or submit a second PR with reduced scope if that would be useful. @adamchainz @flbraun


Release 0.15.1

Changed

Bump snips-nlu-ontology to 0.57.1

Fixed

Crash when parsing implicit years before 1970

Codecov Report

Merging #620 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #620   +/-   ##
======================================
  Coverage    89.9%   89.9%
======================================
  Files          60      60
  Lines        3001    3001
  Branches      577     577
======================================
  Hits         2698    2698
  Misses        222     222
  Partials       81      81


Include modal confirmation for Delete Blueprint

This PR includes the following changes:

Changes the text "Archive" to "Delete" for the action that deletes a blueprint
Includes a Delete Blueprint modal that displays when the user clicks Delete for a blueprint in the list of blueprints. Previously, this action immediately made the api call to delete the recipe. Now this action is associated with the red button on the modal.

Codecov Report

Merging #207 into master will decrease coverage by 35.66%.
The diff coverage is 19.44%.

@@            Coverage Diff             @@
##           master    #207       +/-   ##
==========================================
- Coverage   43.33%   7.66%   -35.67%
==========================================
  Files          70      70
  Lines        2340    1995      -345
  Branches      319     320        +1
==========================================
- Hits         1014     153      -861
- Misses       1113    1529      +416
- Partials      213     313      +100

Impacted Files
Coverage Δ

core/store.js
0% <ø> (-75%)
:arrow_down:

core/reducers/modals.js
0% <0%> (-81.25%)
:arrow_down:

components/ListView/BlueprintListView.js
45.45% <0%> (-45.46%)
:arrow_down:

components/Modal/DeleteBlueprint.js
16.66% <16.66%> (ø)

pages/blueprints/index.js
32.72% <21.42%> (-38.71%)
:arrow_down:

core/actions/modals.js
50% <50%> (-41.67%)
:arrow_down:

core/reducers/rehydrated.js
0% <0%> (-100%)
:arrow_down:

core/actions/blueprintPage.js
0% <0%> (-100%)
:arrow_down:

core/actions/inputs.js
0% <0%> (-100%)
:arrow_down:

components/Tabs/pf-tabs.template.js
0% <0%> (-100%)
:arrow_down:

... and 51 more

Continue to review full report at Codecov.

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

@martinpitt, do you have any comment?

Thanks, @henrywang!


Installation help

Hello could you help me to install? I don't know how to use programming.
In which part and part of the line do I need to put the user and the token?
Do I need to fill in all the note ids I want to appear?

Grateful for the attention.

Hey, thanks for asking. Keep in mind this is still an in-development skin so installation is quite difficult, sorry
No module named 'gkeepapi'
You're installing the gkeepapi module in the Anaconda prompt, which prevents rainmeter-gkeep from using the library.
I'm not sure if Anaconda also installs "normal" Python, try opening a standard command prompt (cmd) and running pip install gkeepapi from there.
If it says it doesn't recognize the command, you'll need to install "normal" Python either from the Microsoft Store or from the Python website (3.9)

Step-by-step installation guide (hard)

Download the repository as .zip (on the Github main page go to the green button Code > Download ZIP)
Unzip it to your Rainmeter skins folder (by default This PC/Documents/Rainmeter/Skins)
Your folder should look something like this
Open the Keep/Resources/Settings.inc file

Modify USER_EMAIL and put your email there
Modify NOTE_ID and put your desired note id there (rainmeter-gkeep only supports one note for now)
Modify APP_PASSWORD and put your password there. If you have 2-factor authentication enabled you'll need to create an App Password from Google instead which is annoying but I can't do anything about
Don't forget to save the file!

Now enable the skin from Rainmeter (Rainmeter > Keep.ini > Right-click > Load)
If it's working correctly you should see an ugly black square with your note's text

Now, if you want to make it also look decent:

Choose a note-taking skin (I use Paper::Notes from Haitime but most other skins should also work)
Reopen the Settings.inc file from before

Set HIDE_OUTPUT_VIEWER to 1
Set OUTPUT_FILE to the file your note-taking skin uses. For Paper::Notes it's ../Paper/Notes/Note 1/my.notes

Hope this helps! Don't hesitate to ask again if you're having other issues, I realize it's very clunky at the moment, but it does work

Hi, thanks for the help. I uninstalled Anaconda and reinstalled Python and it worked.
I tried using Paper::Notes from Haitime, but the text didn't show up. So I used the Elegant 2.0 skin. But I decided to try something different, your skin pleased me too. I tried to change something just in the copy and paste, but it doesn't update to the site when I edit the txt. I put the keep code below that I made the changes.

[Rainmeter]
Update=1000
AccurateText=1
ContextTitle="Configurações"
ContextAction=!Execute ["notepad"<EMAIL_ADDRESS>ContextTitle2=---
ContextTitle3="Edite Keep"
ContextAction3=["#CurrentPath##CurrentFile#"]
DynamicWindowSize=1
MiddleMouseUpAction=!Refresh
Note=#CURRENTPATH#Google Keep.txt
[Metadata]
Name=Keep Notes
Author=PrOF
Information=
Version=0.0.1_xoan
License=MIT
[Variables]
<EMAIL_ADDRESS>[KeepGet]
Measure=Plugin
Plugin=RunCommand
Program=python
Parameter=./Keep.py get
UpdateDivider=#UPDATE_DIVIDER#
OutputFile=#OUTPUT_FILE#
OutputType=ANSI
OnUpdateAction=!CommandMeasure KeepGet Run
FinishAction=[!SetOption OutputViewer Text [&KeepGet]][!UpdateMeasure OutputViewer]
[KeepUpload]
Measure=Plugin
Plugin=RunCommand
Program=python
Parameter=./Keep.py upload
UpdateDivider=-1
[OutputViewer]
Meter=String
Text=Carregando notas do Google Keep...
Hidden=#HIDE_OUTPUT_VIEWER#
Disabled=#HIDE_OUTPUT_VIEWER#
BackgroundMode=2
W=320
ClipString=2
AntiAlias=1
SolidColor=0,0,0,25
FontColor=255,255,255
Padding=13,13,13,13
LeftMouseUpAction=["#CURRENTPATH#Google Keep.txt"]
UpdateDivider=1
[SyncButton]
Meter=Button
x=345
<EMAIL_ADDRESS>ButtonCommand=!CommandMeasure KeepGet Run
[UploadButton]
Meter=Button
x=375
<EMAIL_ADDRESS>ButtonCommand=!CommandMeasure KeepUpload Run

Thanks for the help

I'm not sure what you're trying to do, does it work properly now with this Elegant skin? To update the note to the cloud you need to press the "upload" button


gcc5 fails to build on darwin

Issue description
gcc5 fails to compile from master which is breaking other things (my main goal is for a working v8_3_16_14)
Steps to reproduce
Fresh off of git pull -
0caseys-imac:~/git/nixpkgs% nix-build . -A gcc5
these derivations will be built:
  /nix/store/9hrnydbj4smqf63cjgdrgrvhgpd21czr-gcc-5.5.0.drv
  /nix/store/cd143j2pffq3an1788s6aglin3hsxr1m-gcc-wrapper-5.5.0.drv
building path(s) ‘/nix/store/9cz2c7vsfmafhc2wgn3zdi3zq5z393hm-gcc-5.5.0-man’, ‘/nix/store/ialg9ykcdb8sg9kdwvrfsii5hpamxj3c-gcc-5.5.0’, ‘/nix/store/nwjfzhf5iah149cp0saffgzfkcvq8bap-gcc-5.5.0-info’, ‘/nix/store/pzx4q1v5bnjy9k2fhdmd5zn9q27bcdwf-gcc-5.5.0-lib’
$CPATH is `/nix/store/zhza28rq3gy93lacp1xvz3dmk3ybpvi6-zlib-1.2.11-dev/include'
$LIBRARY_PATH is `/nix/store/dmj0jc03kkhq1238y88gm5rvppgvi2ff-zlib-1.2.11/lib'
unpacking sources
unpacking source archive /nix/store/f01lylkyh9jwrb4cbn63v28yb3vggdrr-gcc-5.5.0.tar.xz
source root is gcc-5.5.0
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file gcc-5.5.0/MD5SUMS
patching sources
applying patch /nix/store/k4xxs05a0y02m36sv2hdl0vrmzpk77y8-use-source-date-epoch.patch
patching file libcpp/macro.c
applying patch /nix/store/pz03lhak99nzyyni72m14zsjzfjvqvr8-no-sys-dirs.patch
patching file gcc/cppdefault.c
patching file gcc/gcc.c
Hunk #1 succeeded at 1261 (offset 99 lines).
applying patch /nix/store/p8ibcsisisd22alnw9mwkcpv1dv4xnjb-libcxx38-and-above.patch
patching file gcc/auto-profile.c
Hunk #1 FAILED at 19.
1 out of 1 hunk FAILED -- saving rejects to file gcc/auto-profile.c.rej
patching file gcc/graphite-isl-ast-to-gimple.c
Hunk #1 FAILED at 38.
Hunk #2 FAILED at 75.
2 out of 2 hunks FAILED -- saving rejects to file gcc/graphite-isl-ast-to-gimple.c.rej
patching file gcc/system.h
Hunk #1 succeeded at 229 with fuzz 1 (offset 12 lines).
builder for ‘/nix/store/9hrnydbj4smqf63cjgdrgrvhgpd21czr-gcc-5.5.0.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/cd143j2pffq3an1788s6aglin3hsxr1m-gcc-wrapper-5.5.0.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/cd143j2pffq3an1788s6aglin3hsxr1m-gcc-wrapper-5.5.0.drv’ failed

I tried previously removing the patch and recompiling GCC but my machine was unstable so it never finished the (lengthly) recompile.  I'll let it run again and see where I get.

Tried to build it with gccStdenv?

Fixed: https://hydra.nixos.org/build/74426975


hyphenated attribute name not parsed correctly

Not sure if this issue belongs here or in SnowCrash. If you have an attribute like this:

capture-images (boolean, optional) - whether poster and thumbnail should be captured during transcoding

the attribute name is rendered as "capture" and everything following is treated as a description
sample rendering here: http://docs.dynamicingestapi.apiary.io/#reference/create-ingest-request/post-to-make-request/post

@rcrooks As per the MSON specification - is a reserved character and when used, you must wrap your string in backticks.
So you should use this instead:
+ `capture-images` (boolean, optional) - whether poster and thumbnail should be captured during transcoding

See MSON reserved characters


docs: specify correct kind within usage

Description
The usage template incorrectly had the flavor name as the "kind" within the URL.  Fixed.
Also removed catalogId on OCP flavor since it will be published.
Types of changes in this PR
No release required

[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[ ] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Replace this text with information that users need to know about the bug fixes, features, and breaking changes. This information helps the merger write the commit message that is published in the release notes for the module.

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

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

GitHub release
v3.0.3

Your semantic-release bot :package::rocket:


Support for compose privileged flag on ECS.

Coverage remained the same at 100.0% when pulling e629dfdbe2be5dc16bd54fc595d8fbc892576623 on philipn:privileged_flag_ecs into 8a3ed358d41c9a9993a5302f9a7b53f8bb83b110 on micahhausler:master.

Thanks!


this is not a real issue

i am sorry , this is not a real issue。 i just give some tips：
if an  anchor has the id attribute，and CSS has applied the ID selector。
because you remove the id( although you buffer that)，cause the elements what applied the ID selector  lose all styles。
cause, Splash screen and  root.PageYOffset  is inconsistent with the root.PageYOffset after the new style is applied（id attribute）
so， setTimeout（animateScroll，4） will be nice。

I changed the ID selector to the class selector
= =！

I changed the ID selector to the class selector
i think this is a bester solution.
Would you consider writing this proposal in readme.md?

Are you saying I should recommend people style with classes instead of IDs in the readme?

yes

Have I made myself clear about the reasons for doing so?

yes

Documentation to be updated explaining this in v12 (coming soon...)

Done: https://github.com/cferdinandi/smooth-scroll/pull/362


Setup failed for maxcube: Component failed to initialize.

My eQ-3 Max!|Cube works fine
but if I try to connect with my Home Assistant v. 0.80.3 with Hassio it give me the following error:
ERROR (MainThread) [homeassistant.setup] Setup failed for maxcube: Component failed to initialize.
I put in configuration.yaml
maxcube:
  gateways:
    - host: <IP_ADDRESS>
      port: 62910

What's wrong?

Hi,
actually I didn't write the Home-Assistant integration for the Max Cube nor the used maxcube-api python module. And I don't use the Max Cube anymore because I moved into a new house with completely different heating system.
Is there no other message in the logs?
If I look at the setup routine, there should be more detailed output: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/maxcube.py#L46-L79


IGAPP-772: Poi details view

Tested on Android & Ios Native

Works, but when I change the language while the map is visisble then I only see a white page.

Works, but when I change the language while the map is visisble then I only see a white page.

ok i'm gonna investigate in this..strange


[BUG] Current implicit visualization for the Series will break when the series is not from a dataframe

Currently, we assume that the series should be generated by a column reference of a dataframe, and therefore it must have a parent dataframe and a column name. This is how we deal with the value_counts, unique function in series.py.
However, it will break in the following codes due to the missing of a parent dataframe.
s = pd.Series([1, 2, 3, 4, 5, 6, 7])  retvalue = s.value_counts()  s._ipython_display_()
This bug is discovered when I implemented the describe of a series so I have already taken care of it when visualizing for describe, and the solution to these other functions could do similar stuff as well.

Have solved this in the describe-improvement branch, where I improved the logic of the value_counts and also implemented new functions for the class LuxSeries, like notnull, notna, isna, isnull.


Generic lists

❓ Support request
Apologies if this is not the correct forum to post support requests - I couldn't find a more appropriate channel.
ℹ Setup
I have the following struct defined.
#[derive(Clone)]
pub struct Array<T: ToPyObject + IntoPy<PyObject>> {
  item_size: Option<u32>,
  items: Vec<T>,
}

Now, #[pyclass] does not allow for using generics, which is too bad, but I'm sure there's a technical reason behind it. That's quite alright, I suppose - I thought I could simply define another struct that's the Python representation like so.
#[pyclass(name = Array)]
#[derive(Clone)]
pub struct PyArray {
  #[pyo3(get)]
  item_size: Option<u32>,
  #[pyo3(get)]
  items: ?,
}

Here is my conversion code as of now.
impl<T: ToPyObject + IntoPy<PyObject>> IntoPy<PyObject> for Array<T> {
  fn into_py(self, py: Python) -> PyObject {
    PyArray {
      item_size: self.item_size,
      items: ?,
    }.to_object(py)
  }
}

⚠ Problem
What I cannot figure out, however, is how can I actually have pyo3 convert to and from this representation.

What should be the type of PyArray::items?
What can I do to convert the generic Vec<T> in my impl block?

I think items has to be Vec<PyObject>, and you convert by creating a new Vec with something like self.items.map(|v| v.into()).collect().

Thank you for getting back to me. Unfortunately, Vec<PyObject> does not impl Clone, so neither #[derive(Clone)], nor #[pyclass(name = Array)] deem the struct acceptable.
Py<PyList> is acceptable by #[pyclass(name = Array)] as of the latest commit (I believe), but it still isn't Cloneable. Now, I think I might be able to live without it being so, but I'm still curious if there's a way to work around this issue.
If this is what's currently possible, then all I need is to convert from a Vec<T> to Py<PyList>, which I might or might not be able to achieve with my limited knowledge on the subject, but it should be the least of my worries.

I don't believe Clone is required for #[pyclass]. At least, I have no problem compiling this:
#[pyclass]
struct Test {
    items: Vec<PyObject>
}

I don't believe Clone is required for #[pyclass]. At least, I have no problem compiling this:

I think it's required (for the blanket impl) for how #[pyo3(get)] works - so I think this won't compile:
#[pyclass]
struct Test {
    #[pyo3(get)]
    items: Vec<PyObject>
}

I have an idea how to fix this, will raise a PR later...

Indeed, I didn't think of the getter attribute.  For the fix, are you thinking of a ClonePy trait (analogous to FromPy and IntoPy)?

For the fix, are you thinking of a ClonePy trait (analogous to FromPy and IntoPy)?

I think ClonePy is a bit janky - I think I might be able to go one better and add Clone to PyObject - but it's an experimental idea 😄

We cannot clone(=refcnt += 1) PyObject without py token so ClonePy might be realistic.
But I think what is really useful is zero-copy get, which can be possible using array/buffer protocol.

For clone - see #908 😄

Currently, only rust-numpy has zero-copy conversion implementation. I want to migrate this feature into PyO3 itself with a reasonable trait design.

Would be very happy to see this! In my experience in C++ this used template specialization, so hopefully we can find a way without specialization here.


Circular dependencies

It just so happened to me that CPAN.pm died when it encountered these circular dependencies:
Recursive dependency detected:
Lingy (have: N/A; want: 0.001004)
=> INGY/Lingy-0.1.4.tar.gz
=> YAMLTest (have: N/A; requires: 0)
=> INGY/YAMLTest-0.0.4.tar.gz
=> Test::More::YAMLScript (have: N/A; requires: v0.0.4)
=> INGY/Test-More-YAMLScript-0.1.0.tar.gz
=> YAMLScript (have: N/A; requires: v0.1.0)
=> INGY/YAMLScript-0.1.0.tar.gz
=> Lingy (have: N/A; requires: v0.1.4).
Cannot resolve.
INGY/YAMLScript-0.1.0.tar.gz
[depend] -- NOT OK

Thanks for reporting this. It seems to be resolved in 0.1.11. Closing for now.


Extract styling for Button component, add display options and Storybook stories

(Note: branched this off of more-bloom branch in anticipation of that getting merged into master soon)

@jaredcwhite more-bloom is merged, but since I have it set to always squash it loses the reference to the more-bloom branch HEAD since it doesn't exist in master now. I say all this having made the exact same mistake last week. You should be able to rebase your commits from master, though.

@jaredcwhite more-bloom is merged, but since I have it set to always squash it loses the reference to the more-bloom branch HEAD since it doesn't exist in master now. I say all this having made the exact same mistake last week. You should be able to rebase your commits from master, though.

Yeah, the PR diff is still noisy, so I'll rebase…

OK, rebase worked, other than it's showing changes to a couple of readme files but I can't see any visible change at all. Maybe a hidden character difference or something…

I think this is ready to roll now, barring additional feedback. I renamed Button to LinkButton and created a proper Button that accepts a click handler. CSS is shared between both. Storybook stories are in place for both of them.

@jaredcwhite Everything looks good to me, and good catch on the previously-missing polyglot types. Can you knock out that last merge conflict, and I'll push it in?

@bk3c OK, got the conflict fixed. Should be ready to roll!


MdSnackBar do not show up in Safari iPhone 6s

Bug, feature request, or proposal:
MdSnackBar is not showing up on Safari / iOS 10.3.1 / iPhone 6s
apparently is hidden behind the bottom toolbar of safari
What is the expected behavior?
to show up normally
What is the current behavior?
it doesn't show up
What are the steps to reproduce?
just open a snackbar in any component
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
angular ^4.1.0
starting from Material 2.0.0-beta.4
iOS 10.3.1
typescript ^2.3.2
safari
iPhone 6s
Is there anything else we should know?
no

This should've been fixed by https://github.com/angular/material2/pull/4664.


Differentiating Implicit function inside implicit function with Enzyme

I've  run into an issue where I want to compute the gradient of an implicit function that itself depends on another implicit function. I can do the operation successfully with FowardDiff, however I would like to use a backend that is faster, like Enzyme.  When I run the MWE below, I run into a segmentation fault, I think related to the fact that one needs use autodiff_deferred, but it looks like ADTypes doesn't yet have a backend option for autodiff_deferred. Should I open an issue there or is this something that can be implemented in ImplicitDifferentiation/DifferentiationInterface?
Tagging @just-walk
using ImplicitDifferentiation, Optim, Enzyme, ForwardDiff

function f1(x, method)
    f(y) = sum(abs2, y .^ 2 .- x)
    y0 = ones(eltype(x), size(x))
    result = optimize(f, y0, method)
    return Optim.minimizer(result)
end;

function c1(x, y, method)
    ∇₂f = @. 4 * (y^2 - x) * y
    return ∇₂f
end;

implicit_f1 = ImplicitFunction(f1, c1)

function f2(x, method)
    z = implicit_f1(x, method)
    f(y) = sum(abs2, y .^ 2 .- z .* x)
    y0 = ones(eltype(x), size(x))
    result = optimize(f, y0, method)
    return Optim.minimizer(result)
end

function c2(x, y, method)
    z = implicit_f1(x, method)
    ∇₂f = @. 4 * (y^2 - z * x) * y
    return ∇₂f
end

implicit_f2 = ImplicitFunction(f2, c2)

x = [4., 9.]

dx = ([1., 0.], [0., 1.])

# Works
df1 = Enzyme.autodiff(Enzyme.Forward, implicit_f1, BatchDuplicatedNoNeed, BatchDuplicated(x, dx), Const(LBFGS()))[1]

┌ Warning: Using fallback BLAS replacements for (["dasum_64_"]), performance may be degraded
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/Y4hSX/src/utils.jl:59
((var"1" = (var"1" = [0.25000000000806183, 0.0], var"2" = [0.0, 0.16666666667288246]),)

df2 = ForwardDiff.jacobian(_x -> implicit_f2(_x, LBFGS()), x)
2×2 Matrix{Float64}:
 0.53033  0.0
 0.0      0.433013

# Does not work

df2 = autodiff(Forward, implicit_f2, BatchDuplicatedNoNeed, BatchDuplicated(x, dx), Const(LBFGS()))[1]

[32468] signal (11.1): Segmentation fault
in expression starting at /home/bfaber/TempPkg/src/diff_test.jl:44
gc_mark_obj16 at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:1894 [inlined]
gc_mark_outrefs at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:2654 [inlined]
gc_mark_loop_serial_ at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:2697
gc_mark_loop_serial at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:2720
gc_mark_loop at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:2901 [inlined]
_jl_gc_collect at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:3234
ijl_gc_collect at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:3531
maybe_collect at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:937 [inlined]
jl_gc_pool_alloc_inner at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:1300
jl_gc_pool_alloc_noinline at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:1357 [inlined]
jl_gc_alloc_ at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/julia_internal.h:476 [inlined]
jl_gc_alloc at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/gc.c:3583
_new_array_ at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/array.c:134 [inlined]
_new_array at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/array.c:198 [inlined]
ijl_alloc_array_1d at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-10/src/array.c:436
Array at ./boot.jl:477 [inlined]
.
.
.

Indeed ADTypes has no option for choosing betweeen autodiff and autodiff_deferred with Enzyme, partly because this choice should become unnecessary in the medium term (according to @wsmoses).
In the meantime, DifferentiationInterface allows the switch internally with the function DifferentiationInterface.nested(backend).
You can try setting conditions_x_backend and conditions_y_backend to DifferentiationInterface.nested(AutoEnzyme()) in your inner ImplicitFunction to automatically use autodiff_deferred.
I should also note that at the moment, Enzyme is only supported in forward mode by ImplicitDifferentiation (see #35). If your input is very high-dimensional (how big are we talking?), you may be better served by a reverse mode backend.
Can you maybe give a mathematical description of the real function(s) you're trying to differentiate?

That bug is a GC error not the result of deferred.
i fixed two such bugs in Julia proper for the 1.10.5 release see if that helps in not open a mwe issue on enzyme proper

Deferred isn’t needed here, since the custom rule used is calling autodiff. Deferred is only required if doing higher order AD, Eg doing autodiff of autodiff

I think higher order is what's being done here: the conditions c2 involve autodiff of implicit_f1

Anything in a custom rule is considered top level (aka does not have the
deferred problem).
Of course if the code does call autodiff of autodiff elsewhere there may be
a deferred issue.
Nevertheless the error log is a GC issue not a deferred error so any
deferred use won’t fix it.
On Thu, Aug 15, 2024 at 1:27 AM Guillaume Dalle @.***>
wrote:

I think higher order is what's being done here: the conditions c2 involve
autodiff of implicit_f1
—
Reply to this email directly, view it on GitHub
https://github.com/JuliaDecisionFocusedLearning/ImplicitDifferentiation.jl/issues/153#issuecomment-2290662698,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJTUXBZAMOPXWBJW273EY3ZRQ333AVCNFSM6AAAAABMRE5ZGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJQGY3DENRZHA
.
You are receiving this because you were mentioned.Message ID:
<JuliaDecisionFocusedLearning/ImplicitDifferentiation.
@.***>

Thank you both, for the clarification on this, and being willing to put up with questions from a relative newcomer to AD. To answer your question @gdalle, the intended application is a plasma physics/fusion energy optimization problem where we can have up to 300+ parameters in our state vector. The gradient calculation needed is ultimately going to be the gradient of a scalar optimization target, so reverse mode will be the way we want to go.  The problem I'm currently trying to tackle has three nested optimization problems (A, B, C), where B depends on A and C depends on both B and A.  I can use NonlinearSolve and the NonlinearLeastSquaresProblem, however I was not having any luck calculating the sensitivities whereas I have been able to (albeit slowly) with ForwardDiff and ImplicitDifferentiation, so I've been pursuing that route. I may be doing things incorrectly with NonlinearSolve, however we still have the ultimate goal of wanting to use a legacy Fortran application to do the forward solve in the implicit problem, so we'll need ImplicitDifferentiation for that.
I'll see what happens with I use a reverse mode differentiator and if that has any issues.

If you have any mathematical formulation of the nested optimization problems that you're free to share, id love to take a look!

Sure, I'd be happy to give a little mathematical background on the problem. We are trying to optimize the shape of the magnetic field used in magnetic confinement fusion concepts, which can be represented efficiently in cylindrical coordinates with a non-standard Fourier transformation:
R(r,\theta,\zeta) = \sum\limits_{m,n}^{M,N} R_{m,n}^c(r)\cos\left(n\theta + n\zeta\right) + R_{m,n}^s \sin\left(m\theta + n\zeta\right),

Z(r,\theta,\zeta) = \sum\limits_{m,n}^{M,N} Z_{m,n}^c(r)\cos\left(n\theta + n\zeta\right) + Z_{m,n}^s \sin\left(m\theta + n\zeta\right),

\phi = -\zeta

Derived quantities, like the Jacobian of the coordinate transformation, also have the same Fourier representation. I'm using Optimization.jl to find the Fourier modes of the derived quantities that satisfy their constraint conditions. For example, Jacobian equation satisfies the following condition
\frac{\partial}{\partial\theta}\left(\frac{1 + \frac{\partial R}{\partial \zeta}^2 + \frac{\partial Z}{\partial \zeta}^2 + \iota \left(\frac{\partial R}{\partial \theta} \frac{\partial R}{\partial \zeta} + \frac{\partial Z}{\partial \theta}\frac{\partial Z}{\partial \zeta}\right)}{\sqrt{g}}\right) + \frac{\partial}{\partial\zeta}\left(\frac{\frac{\partial R}{\partial \theta}\frac{\partial R}{\partial \zeta} + \frac{\partial Z}{\partial \theta}\frac{\partial Z}{\partial \zeta} + \iota \left(\frac{\partial R}{\partial \theta} ^2 + \frac{\partial Z}{\partial \theta} ^ 2\right)}{\sqrt{g}}\right) = 0.

Other quantities then depend on this Jacobian, so I've found it straight forward to solve for the Fourier modes of those quantities as another optimization problem where I can write down the optimality condition easily to use ImplicitDifferentiation to compute sensitivities, and is where I ran into this problem initially.
All that being said, I've found a workaround is to solve for all of the dependent quantities simultaneously, so that I only need to make one call to compute the derivative of an ImplicitFunction and don't need to currently deal with this problem.


Enable documentation rebuilds for v2.7 on main

fix #49

Have a look on the documentation --> https://bridle.tiac-systems.net/ghpr/doc/PR-52/

Should not yet merged. The CI fails on all integration tests --> https://github.com/tiacsys/bridle/runs/5598814265?check_suite_focus=true#step:8:1290

We lost some style sheets in HTML --> evaluate (and fix on demand) the private CSS overwrites against the original oen from RTD theme / Zephyr theme:


Update globalization-localization.md

Fix member name in ASP .NET core 3.1

I'm not seeing it ...

Thanks again @ ThomasPrioul! :rocket:


Proposal (version 2): Disable dynamic function dispatching for native or arch-specific builds

Another implementation of PR #1645.
Main differences:

Separate CPU-specific function prototypes and CPU-arch features checker.
Reducing dependencies between header files.

All compile time CPU features checks is implemented.

Rebased.

I like how it is split into cpu_features and cpu_functions.

I don't see any of the new header files added to the win32/ makefiles, those should probably go in so the dependency handling works properly.
Actually we should probably make a script that generates those deps, and have a CI job that fails when there is a diff. Those are kind of a mess already, and steadily becoming worse. @mtl1979 what do you think, is it worth it or not?
I think perhaps the cpu_functions.h file should be named arch_functions.h, since it is not so much related to the running cpu (like cpu_features.h does) but rather to the arch-specific functions located in the arch/* directories.
I have only done a quick review so far, but what I have looked at so far looks good. I agree that the separation looks good.

Time to ditch nmake like I've been saying for years. :)

Time to ditch nmake like I've been saying for years. :)

nmake is still getting new features... It's just that some people use older versions, for example version that is bundled with Visual C++ 2017.9 ...

nmake is still getting new features...

I can't locate a nmake change log anywhere..

Rebased.
@Dead2, Renamed cpu_functions.h to arch_functions.h.

@phprus I'd suggest splitting the last commit "Allow overwrite NATIVEFLAG value" into a separate PR. It increases the complexity of an already complex PR, and would benefit from getting reviewed and tested separately, and it'll avoid delaying this PR.

@Dead2
I added commit "Allow overwrite NATIVEFLAG value" so that I could force setup the instruction set and check that the build was correct.
So in AVX build only SSE extensions should be used.
We can separate it in other PR and merge it before this PR. After merge I can rebase this over new commit.

PR #1662

Rebased and ready for review.

nmake is still getting new features...

I can't locate a nmake change log anywhere..

I just compare the documentation between different Visual Studio versions... As I have 2017.9, 2019 and 2022 installed on same PC, I can also just test if some "newer" feature isn't supported in earlier versions.

(Un)installing dependencies on Windows failed:
Chocolatey v2.2.2
Uninstalling the following packages:
strawberryperl

strawberryperl v<IP_ADDRESS>
 Running auto uninstaller...
 Auto uninstaller has successfully uninstalled strawberryperl or detected previous uninstall.
 strawberryperl has been successfully uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).

Chocolatey uninstalled 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Chocolatey v2.2.2
Installing the following packages:
ninja
By installing, you accept licenses for the packages.
Invalid credentials specified.
Please provide credentials for: https://community.chocolatey.org/api/v2/
User name: Password: Chocolatey had an error on fv-az731-175 (with user runneradmin):
System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
   at System.Console.ReadKey(Boolean intercept)
   at chocolatey.infrastructure.commandline.ReadKeyTimeout.ConsoleReadKey()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Unhandled Exception: System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
   at System.Console.ReadKey(Boolean intercept)
   at chocolatey.infrastructure.commandline.ReadKeyTimeout.ConsoleReadKey()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Error: Process completed with exit code 1.

Cannot read keys when either application does not have a console or when console input has been redirected from a file.

The issue is still unresolved after months, see https://github.com/chocolatey/choco/issues/2805

Ping?

Develop ca0e4634e1914ecfe67e40261bbf54676f0d1c8f Feb 21
 Tool: minigzip   Levels: 1-9
 Runs: 70         Trim worst: 40

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     54.166%      0.150/0.154/0.156/0.001        0.034/0.036/0.038/0.001        8,523,732
 2     43.871%      0.244/0.249/0.250/0.001        0.032/0.036/0.038/0.002        6,903,609
 3     42.387%      0.295/0.297/0.299/0.001        0.031/0.034/0.036/0.001        6,670,099
 4     41.647%      0.317/0.324/0.326/0.002        0.030/0.034/0.035/0.001        6,553,723
 5     41.216%      0.344/0.352/0.354/0.002        0.032/0.034/0.035/0.001        6,485,938
 6     41.037%      0.390/0.397/0.400/0.003        0.030/0.033/0.035/0.001        6,457,776
 7     40.778%      0.493/0.498/0.503/0.003        0.030/0.034/0.035/0.001        6,416,919
 8     40.704%      0.605/0.613/0.618/0.004        0.029/0.033/0.034/0.001        6,405,244
 9     40.409%      0.912/0.919/0.925/0.004        0.029/0.033/0.035/0.002        6,358,951

 avg1  42.913%                        0.423                          0.034
 tot                                114.095                          9.195       60,775,991

   text    data     bss     dec     hex filename
 138190    1352       8  139550   2211e libz-ng.so.2

Develop Native=on
Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
1     54.166%      0.147/0.151/0.153/0.002        0.028/0.035/0.037/0.002        8,523,732
2     43.871%      0.239/0.242/0.244/0.001        0.031/0.035/0.037/0.002        6,903,609
3     42.387%      0.285/0.289/0.291/0.002        0.031/0.034/0.035/0.001        6,670,099
4     41.647%      0.316/0.318/0.320/0.001        0.030/0.033/0.035/0.001        6,553,723
5     41.216%      0.345/0.351/0.354/0.002        0.030/0.033/0.034/0.001        6,485,938
6     41.037%      0.389/0.397/0.401/0.003        0.029/0.033/0.034/0.002        6,457,776
7     40.778%      0.485/0.495/0.498/0.003        0.030/0.033/0.035/0.001        6,416,919
8     40.704%      0.600/0.607/0.611/0.003        0.027/0.032/0.034/0.002        6,405,244
9     40.409%      0.903/0.909/0.912/0.003        0.028/0.033/0.034/0.002        6,358,951

avg1  42.913%                        0.418                          0.033
tot                                112.795                          9.000       60,775,991

  text    data     bss     dec     hex filename
137222    1352       8  138582   21d56 libz-ng.so.2

PR #1659 Native=off
Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
1     54.166%      0.151/0.154/0.155/0.001        0.031/0.035/0.037/0.001        8,523,732
2     43.871%      0.247/0.249/0.250/0.001        0.032/0.036/0.038/0.002        6,903,609
3     42.387%      0.291/0.295/0.297/0.002        0.032/0.035/0.036/0.001        6,670,099
4     41.647%      0.319/0.323/0.326/0.002        0.032/0.034/0.035/0.001        6,553,723
5     41.216%      0.345/0.351/0.354/0.002        0.029/0.034/0.035/0.001        6,485,938
6     41.037%      0.392/0.397/0.400/0.002        0.031/0.033/0.035/0.001        6,457,776
7     40.778%      0.491/0.499/0.503/0.003        0.029/0.033/0.035/0.001        6,416,919
8     40.704%      0.606/0.611/0.616/0.003        0.031/0.033/0.035/0.001        6,405,244
9     40.409%      0.911/0.918/0.924/0.004        0.031/0.033/0.035/0.001        6,358,951

avg1  42.913%                        0.422                          0.034
tot                                113.946                          9.209       60,775,991

  text    data     bss     dec     hex filename
138190    1352       8  139550   2211e libz-ng.so.2

PR #1659 Native=on
 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     54.166%      0.093/0.097/0.099/0.001        0.027/0.034/0.037/0.003        8,523,732
 2     43.871%      0.172/0.176/0.178/0.002        0.032/0.035/0.037/0.001        6,903,609
 3     42.387%      0.224/0.227/0.229/0.001        0.031/0.034/0.035/0.001        6,670,099
 4     41.647%      0.253/0.256/0.259/0.002        0.029/0.033/0.035/0.002        6,553,723
 5     41.216%      0.285/0.290/0.293/0.002        0.029/0.033/0.034/0.002        6,485,938
 6     41.037%      0.328/0.338/0.342/0.003        0.028/0.032/0.034/0.002        6,457,776
 7     40.778%      0.489/0.495/0.499/0.003        0.027/0.033/0.035/0.002        6,416,919
 8     40.704%      0.601/0.608/0.612/0.003        0.028/0.033/0.034/0.002        6,405,244
 9     40.409%      0.903/0.912/0.918/0.004        0.025/0.031/0.033/0.002        6,358,951

 avg1  42.913%                        0.378                          0.033
 tot                                102.026                          8.896       60,775,991

   text    data     bss     dec     hex filename
 133814    1208       8  135030   20f76 libz-ng.so.2

Develop w/native=ON vs PR w/native=ON compression speedup:

Level 1: 35%
Level 3: 21%
Level 6: 15%
Level 9: 0.3%

PR w/native=ON vs PR #1681 w/native=OFF:

Level 1: 11%
Level 3: 8%
Level 6: 5%
Level 9: 0.5% slower

Looks like a decent speedup to me.
Ideally this would have been based on top of #1681, as it removes a good portion of the complexity in this PR.

My suggestion:

Extract commits:

Split CPU features checks and CPU-specific function prototypes and reduce include-dependencies.
Move select for generic functions into generic_functions.h.
Rename cpu_functions.h to arch_functions.h.

into separate PR.

Rebase #1681 onto separated files implementation.

Rebase this PR onto new develop branch after previous PRs is merged.

What do your think about this plan?

What do your think about this plan?

@phprus I think that is a good plan and would probably ensure we get it all merged the fastest. 👍

@Dead2

PR #1684 - small fix for #1662.
PR #1685 - split headers.

Rebase required.
Waiting PR #1673 (NMake)
Waiting #1681, #1682 (deflate optimizations).

Ready for review.

Rebased onto develop


Close results list programatically

Would love to see a way to trigger the autocomplete results list to hide until a user starts typing into the input field again.

Related to this, I think that most users would expect autoComplete.js to function similarly to the <select> element, in that once it's "open" (results are being displayed), any click anywhere in the browser results in the results list closing. The current release appears to require the user to select a search result to remove the results list, which is awkward for users who might start typing in an input field, then change their mind, then they're stuck with a floating thing that they don't want to interact with and which doesn't close in any intuitive way.
In lieu of a built-in "close the results list when the user clicks" configuration option, my solution was this:
Having the results list automatically close upon any click
new autoComplete({
    ...
    resultsList: {
        container: source => {
            source.setAttribute('id', 'autoComplete_list');
            document.getElementById('autoComplete').addEventListener('autoComplete', function (event) {
                function hideSearchResults() {
                    const searchResults = document.getElementById('autoComplete_list');
                    while (searchResults.firstChild) {
                        searchResults.removeChild(searchResults.firstChild);
                    }
                    document.removeEventListener('click', hideSearchResults);
                }
                document.addEventListener('click', hideSearchResults);
            })
        },
    }
    ...
});

Sidenotes:

For some reason, searchResults.innerHtml = '' had no effect despite it being the method that autoComplete.js uses to clear the results, so I used that while loop instead. 🤷♂
This awkward method of creating a one-time event listener can be replaced with a simple {once: true} parameter dropped into addEventListener() once Internet Explorer gets around to supporting it.

Hello @eballeste and @PhantomWatson,
I understand how that behavior been kind of inconvenient for some people. That's why I've changed it already in the coming release v8.0.0.
@PhantomWatson, thanks for sharing your workaround!
Have a nice day guys. Cheers! :)

@TarekRaafat I upgraded to v8.0.0 and got this error: ReferenceError: autoComplete is not defined. It appears that the autoComplete constructor has been replaced with autoCompleteJS. Are there any other breaking changes we should be aware of if we want to use that release immediately? Or will it be better to just wait until it's released? Thanks!

Hello @CodeWithOz,

That's correct the new constructor in v<IP_ADDRESS> is autoCompleteJS.

Do you prefer the old constructor name?

There are few other breaking changes that I don't recall them all right now but off the top of my head, the eventEmitters names changed.

I will make sure to add asap pre-release information on v<IP_ADDRESS> for users who are going to be using it.

I would advise you to avoid the risk of using the pre-release of v<IP_ADDRESS> in production, yet I would love it if you could use it because your feedback would be very helpful and of course I will be supporting the pre-release users.

Hope that was helpful.
Have a nice day, cheers! :)

v8.0


Change date that it has always an end date

This change should eliminate the need for the enrich method in Application.

@wurstbrot Is that true like this? Should date then always be DatePeriodComponent and DatePeriodEndComponent and DatePeriodEndComponent would be created in the Constructor of DatePeriodComponent and then automatically saved in this component?


Support URLs without a hostname

Some URLs seems to be missing a hostname, something like:
let url = "scheme:key=value"

We should accommodate such format, probably by tweaking the ExternalApplication protocol through adding some properties to indicate such format.

This would lead to rejection...


Use FROM docs/base:latest again

Signed-off-by: Sven Dowideit<EMAIL_ADDRESS>

LGTM
/cc @thaJeztah @moxiegirl

yup LGTM, thanks Sven!


Make "How to Implement" section optional in Feature Forms

🐞 Problem
The current feature forms have a mandatory "How to Implement" section. This prevents users who ask for new features but have no idea how to implement those from opening the issue.
💡 Solution
This section should be optional.

This was solved in #11.


Valais Week 46 not loaded

It's groundhog day again, the municipality data from Valais is not imported. Powerpoint-to-PDF ftw
Source Week 46:
https://www.vs.ch/documents/6756452/7008787/2021 11 24 - Synthese COVID-19 Woche46

Should be fixed with https://github.com/openZH/covid_19/commit/78108e5b5b56c377f52ea94e42c21f5efbe97502 / https://github.com/openZH/covid_19/commit/d7daa77bbafe5e23b931cbf3f8eab445b56cb32c


[17/10/2022]: Duplicate ID

Summary
The ID for two sections is the same (contact).
The ID for the contact section is the same as the ID for the funders section (contact).
Because they share the same ID, the page scrolls to the Funders section when "Contact" is clicked on the navigation menu.

What needs to be done?

[ ] The section ID for Funders has to be modified.

Who want to work on this issue?
This is something I want to work on.

@Nuel-Eneji I would like to work on it


mat + mat_e of bilinear form

Dear All,
After eliminating bc there is a mat_e sparse matrix such as mat+mat_e=full_matrix of the bilinear form. There are functions like FullMult and FullAddMult that use both mat and mat_e in the matrix-vector multiplication. I am wondering if I can get a full sparse matrix. I didn't find anything existing in the library, so I'm thinking about the following options:
const SparseMatrix &S = billiear_form.FullSpMat();

where
SparseMatrix BilinearForm::FullSpMat() const { return mat + mat_e; } // create a full matrix

Or maybe, something like this:
bilinear_form.RestoreFullMatrix(); // that would involve mat += mat_e
const SparseMatrix &S = bilinear_form.SpMat(); // existing way

Thanks,
Mikhail

Hi Mikhail,
Can you provide more details about your use case?
Of the two options you are proposing, I think the second one is better, because it will also enable the use of FormLinearSystem(), at least in some case.
Cheers,
Tzanio

Hi Tzanio,
My goal is to compute a dense matrix D = W^T * S * W, where S is a full matrix of a bilinear form, and W is a dense matrix each column X_i of which is a solution of the equation S*X_i = B, where i corresponds to a boundary degree of freedom, i.e. W = DenseMatrix(fespace.GetVSize(), n_bdr_dofs). To solve many equations S*X_i = B I use the FormLinearSystem function, which creates mat_e, eliminates rows and columns corresponding to boundary dofs, and finalizes the matrix, so when I compute D using D = RAP(S, W);, the S matrix is not full, and I need it to be without boundary conditions applied.
Thanks,
Mikhail

Hi Mikhail,
If I understand correctly, D is the Schur complement with respect to the boundary? The action of D can probably be computed more efficiently than solving the many systems, but if you need the actual dense matrix itself, than I what you are doing is certainly a valid approach.
If you want to restore the full matrix, you probably want to call
SparseMatrix * Add(const SparseMatrix & A, const SparseMatrix & B);

though depending on the sizes, this may not be more efficient than reassembly.
Hope this helps,
Tzanio

Hi Tzanio,
Thank you for the reply. I do need the dense matrix W itself, so I need to construct it explicitly. I'm going to follow your advice on the computation of the full matrix using Add() function, therefore I created a pull request to get an access to the mat_e matrix.
Thank you,
Mikhail


Anyone having clock stability experience?

I tried using the DMXSerial with a cheap Nano node and it didn't work. Signals shift from one channel to another (the data itself is fine though, just at the wrong place sometimes)
If i change the "Mark Between slots" on my controller to 40 (it doesn't say which unit, but 4 is the default) it works fine.
Now, #26 suggests it could be an issue with the clock. That's why i bought other arduino nano's which seemed better quality. Unfortunately it didn't work and had the same issue. I measured the clock accuracy using the "Blink" sample, it did switch at a constant rate of 49,950Hz and the code was 50Hz.
Do you have any experience what Clock accuracy should be "OK"? Or maybe the issue could be somewhere else? I just got an analog oscilloscope, so i can't verify the signal integrity after the SN75176, but the waveform looks good (rectangular ;) ) as far as i can tell.

I have had some boards that missed packets on some DMX setups so yes it may be a topic.
Receiving the dmx packets using the hardware Serial interface is based on the system cpu clock.
That needs to be stable and high enough. I use standard Arduino boards and custom boards with the library running on 16 MHz only. The nano with the original specification should net be different and uses the same processor.
Be sure to use a propper dmx line terminaton.
When your sketch has critical timing and shops interrupts that you will see that packets are missing and dmx channels will shift.
The DMXProbe mode may help in some situations as it stops receiving while not waiting for the next full DMX cycle.


[DOC] Added guide for getting started on Linux.

This is a beginner-friendly guide to getting started with React Native on Ubuntu Linux.
I originally wrote this as an article on my blog.
I'm submitting it to the docs after being nudged by a few developers, including @satya164.
Let me know if you need anything else from me. Thanks!

Wow! That was fast! Will review before going to sleep :)

Whoops. Didn't see you were still going. I'll incorporate your new suggestions.

Maybe wait a bit before I finish, so you can do all the changes in one go :)

@satya164 yes, my bad!

Done. Thanks a ton for the PR.

My pleasure.
Changes made. It looks like the two key discussions are the:
Arch Linux / Fedora Question
and
Cutting the final commands
both of which I'd like to push back on for now.
Please review and send me your comments, @satya164.

Instead of having commands as list items, just have them the regular way,
# commands

@satya164 I can make the change. I had them as <li>s so that you can easily copy and paste them. If we prefer pretty but less usable, I'll change to
$ command

Changes made. I'll squash the commits once we are ready to merge. Please review and confirm this is what you were going for. @satya164

I jumped the gun. Gotta verify the distro issue. one sec.

@satya164 all updates made. Phew!

Isn't it better to suggest installing node from nvm like mentioned on the general get started guide?

@rclai That's why I suggested linking to the quick start guide instead of posting it here.

Looks good overal. Just a few tweaks and we'll merge.

On Ubuntu at least you can use flow-bin from npm. Tested and working.
sudo npm install -g flow-bin

:+1:

Any updates @DavidYKay ?

@satya164 I'm making the fixes now. Sorry about the delay!

Changes made. Remaining issues:

UDEV / adb devices: I say it has to stay because this is the most confusing part for a rookie Android developer
NVM vs APT. I say stick with APT because it's more familiar for a newbie.

Please review and send your comments, @satya164
Thanks!

Also, thanks @oviava for the tip about flow!

@DavidYKay Looks great. Thanks so much for this PR. Soory for taking so long. Just the one comment I mentioned and we'll merge :D

@satya164 all set! Sorry about the delay and thanks for all your comments!

Awesome. Thanks a ton!

@facebook-github-bot shipit

This is already merged.


The difference between pitch and twist

Hi! I am confused about the parameter "pitch" and "twist".
In configuration file, if i understand correctly, the parameter "pitch" is the radical distribution of twist angle of each airfoil section.
And what about the parameter "twist"?
Another question is when I use custom airfoil, I compute in rotor mode, the efficiency would be negative or larger than 1, is it normal?

Twist is a global change in angle to the entire blade, on top of the pitch distribution. This is just to make it easier to do a sweep on this parameter, or use in a control setting. Note that this is parameter is not tested that much in the current version, so be careful with it.
It's hard to say what the issue with your airfoil is without more details, if you can share the airfoil file and your .ini file I can have a look at it.

Twist is a global change in angle to the entire blade, on top of the pitch distribution. This is just to make it easier to do a sweep on this parameter, or use in a control setting. Note that this is parameter is not tested that much in the current version, so be careful with it.
It's hard to say what the issue with your airfoil is without more details, if you can share the airfoil file and your .ini file I can have a look at it.

This is my example, the detail are summarized in readme, thanks for your help!
helicopter.zip

Twist is a global change in angle to the entire blade, on top of the pitch distribution. This is just to make it easier to do a sweep on this parameter, or use in a control setting. Note that this is parameter is not tested that much in the current version, so be careful with it.
It's hard to say what the issue with your airfoil is without more details, if you can share the airfoil file and your .ini file I can have a look at it.
Here  is an example of a helicopter rotor, which simulates the ascent of the helicopter. The details are descripted in readme file, thank you for your help!
helicopter.zip


FS-Cache: Duplicate cookie detected

Environment
Windows build number: Windows 10 OS Build 19041.388
Your Distribution version: Ubuntu 20.04
WSL 2

Steps to reproduce
wsl.exe --shutdown
then boot wsl2

Expected behavior
Normally WSL2 should take no longer than 1 second to boot on my PC  and the output of dmesg shows no error
Actual behavior
It takes 2 to 3 seconds
output of dmesg
[    0.323739] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    0.323857] sd 0:0:0:0: [sda] Write Protect is off
[    0.323859] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00
[    0.324077] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    0.694938] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.097580] EXT4-fs (sda): recovery complete
[    1.136813] EXT4-fs (sda): mounted filesystem with ordered data mode. Opts: discard,errors=remount-ro,data=ordered
[    1.244528] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2b291906204, max_idle_ns:<PHONE_NUMBER>18 ns
[    1.244534] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    1.244983] clocksource: Switched to clocksource tsc
[    2.107235] FS-Cache: Duplicate cookie detected
[    2.107237] FS-Cache: O-cookie c=0000000081e1b60e [p=000000002863f95a fl=222 nc=0 na=1]
[    2.107238] FS-Cache: O-cookie d=000000005580763a n=00000000ae3de5fa
[    2.107238] FS-Cache: O-key=[10] '34323934393337353032'
[    2.107240] FS-Cache: N-cookie c=00000000495c429f [p=000000002863f95a fl=2 nc=0 na=1]
[    2.107240] FS-Cache: N-cookie d=000000005580763a n=00000000e8a88081
[    2.107241] FS-Cache: N-key=[10] '34323934393337353032'

I get that too and it appears to be harmless. But fair game, harmless or not. You've got an 'and' in the submission that is technically a thread killer. Whether addressing the underlying cause of the Duplicate cookie message will improve boot time by 0.86s is at best hard to say.

This is a known issue, it is harmless.
https://bugzilla.kernel.org/show_bug.cgi?id=200145
https://lkml.org/lkml/2019/3/5/665
Arch: https://bugs.archlinux.org/task/59058
Red Hat KB 4644911

Academically interesting, the patches on lkml look like they touch nfs and afs, but not 9p. Closing this linux-behavior. Thanks for the investigation Hayden.

The warning comes from the vhd, not 9p.

I'm getting a huge number of these. Using vscode in remote mode, even every time I go to a different tab, it spams more messages. Any way to filter this out?

the fscache driver is rewritten in latest mainline kernel 5.17-rc1, so I compiled and tested this kernel on my wsl2. there is no FS-Cache: Duplicate cookie detected error anymore
Linux DESKTOP-5TB9DFG 5.17.0-rc1 #4 SMP PREEMPT Tue Jan 25 10:48:35 CST 2022 x86_64 GNU/Linux

update:
we compile the Linux kernel 5.17.0, this "Duplicate cookie detected" issue got resolved.
https://docs.microsoft.com/en-us/windows/wsl/wsl-config
https://github.com/torvalds/linux
https://github.com/microsoft/WSL2-Linux-Kernel
BR//

@fredizzimo There are third-party LTS or stable kernels with microsoft patches for WSL2, for example, https://github.com/Sarisan/WSL2-Linux-Kernel and https://github.com/Locietta/xanmod-kernel-WSL2. Currently linux kernel version 6.1 and 6.5.


Feature request: MQTT integration

Would be great if one could integrate via ROS2-Integration-Service and soss with MQTT. What do you guys think? From a high level view it should be possible to integrate ROS2 topics <-> MQTT topics.

Having an MQTT plugin would be great, but we're constrained by our available human resources and funding obligations, so I don't anticipate we'll be working on this at OSRC until it becomes a requirement for one of our contracts.
That being said, we'd be happy to review and merge a Pull Request that adds this feature. Alternatively it could be developed in its own repo, and we could just link to it from the soss README.

Sure. I've created this issue because we will probably be interested in cooperation (e.g. funding based source code contribution). However if we can do that is in clarification ATM.


memory format warning when using DiffAugment

The warning bellow is produced when using Differentiable Augmentation(DiffAugment).
[W TensorIterator.cpp:924] Warning: Mixed memory format inputs detected while calling the operator. The operator will output channels_last tensor even if some of the inputs are not in channels_last format. (function operator())
I am guessing this only happens in PyTorch ver1.6.0 or higher.
PR#37968@pytorch/pytorch
DiffAugment is an augmentation method, therefore I believe this will not affect the results much.

Notifications about kornia ver. DiffAugment

using nightly version of kornia.
when augmenting colors in kornia, the values are clipped to fit between [0, 1], but the original implementation does not clip values.
I don't believe this will cause a huge problem, but use the original one with PyTorch < 1.6.0 if it makes you nervous.

Also it shouldn't be used to StyleGAN, because the original implementation doesn't use tanh before the output of the generator for each resolution. (not in my case though...)


Fonts not applied correctly when render target is in an iFrame

This might be user error, but I have a use case where I'm trying to render to a container that is in an iFrame.  The rendering mostly works, but fonts do not appear to be applied correctly.
You can see a live example here.  The same page is rendered to a div in the main document (left), and the body of an iframe (right).

Canvas is using fonts registered in the current HTML document. PDF.js is registering fonts in the documents it's running at. So either you have to move code into iframe or keep the canvas in the main document.

Closing as duplicate of issue #5148.

This isn't a duplicate - it's not caused by conflicting font IDs, it's a result of rendering to a canvas that doesn't have access to the fonts that are loaded (correctly).  I think a "wontfix" may be more appropriate.

agree


Desktop embedding mouse clicks do not register

Broken by https://github.com/flutter/flutter/pull/31819.
cc @dkwingsmt, lets sit down tomorrow and get the desktop targets setup locally so we can figure out if this is something that needs to change in the embedder, the framework, or both

If this can't be fixed today, we should revert, since this cripples desktop.

As a starting point, it doesn't look like FlutterEngineSendPointerEvent is setting any button data. Until the API includes button information (which we should add soon), that method should probably hard-code a primary button.

I tested a quick hack of hard-coding buttons to 1 for down, move, and up events in FlutterEngineSendPointerEvent and that fixed it, so that is indeed the problem.
The right fix is two-stage:

Do the above, but cleaned up (e.g., we need to actually provide constants for the embedder to use for primary button, secondary button, etc. that match the Dart values, which I didn't see in a quick glance around). We also need to validate that that's the right set of change types to apply it to (e.g., I guessed up should have the button that was released set, but I didn't check what Flutter is expecting so that may not be right.)
Add a button field to the embedding API (and expose constants for buttons there), and make 1) conditional on the struct provided not being large enough to include the new field, so that clients can be updated to send the actual buttons, but existing clients won't be broken.

Just doing 1) is enough to unblock re-landing, but we should do 2) shortly after.
@chinmaygarde since it will touch the embedding API, so he'll probably want to be aware of this.
I can take care of 2) in the next few days if nobody else has cycles; I may or may not have time for 1) today though. Let's discuss offline.

@stuartmorgan @jonahwilliams Ohhhhh, is the desktop embedder sending kind: PointerDeviceKind.mouse as well as buttons = 0? I assumed mouse events needed no synthesizing, it seems it should https://github.com/flutter/flutter/pull/31819/files#diff-c1dfac99ccc50aaadb3a3d5fbd299908R50 😞

Correct, see https://github.com/flutter/engine/blob/master/shell/platform/embedder/embedder.cc#L727
I think we should fix it as I described above though, not by adding synthesis logic in converter.dart though, since that's consistent with the general goal of putting platform-specific (in this case, the embedding API is itself a platform that we have some control over) input handling in the platform, rather than handling variations at the level of the Dart framework code.


Setting up necessary dependencies for tests

See #251
@mistercrunch How does this look to you?
The tests themselves are hanging on test_external_task_sensor and loads of the doctests still fail but this gets me closer.

Looks great, the only thing is the default unit test metdata db is in a different location as defined in the unit tests default config file here:
https://github.com/airbnb/airflow/blob/master/airflow/configuration.py#L170

the only thing is the default unit test metdata db is in a different location

Thanks, I missed that! Fixed and pushed.


Bug: matrix view > show all fields or just relation types doesn't work

Describe the bug
The option in the settings "show all fields or just relation types" does not work or I'm too small-brain to understand its purpose.
To Reproduce
Steps to reproduce the behavior:

Go to breadcrumb settings
Go to view > matrix > show all fields or just relation types
Disable it
Add some aliases for up, for example broader and parent
Add BC to a couple of files pointing upwards, but using different alias each time

note A could use up
note B could use parent
note C could use broader

Or:

Add a new breadcrumb hierarchy independent from up/down/same and call this hierarchy broader/same/narrower
Same as step 5 above

Actual & Expected behavior
Disabling the option should show me each note in a separate BC group, with a distinct alias like so:

Desktop (please complete the following information):

OS: [e.g. iOS] Windows
Version [e.g. 22] 1.0.3

Hey, thanks for the issue.
I'm not sure I fully understand. Could you share your Breadcrumbs settings file? .obsidian/plugins/breadcrumbs/data.json.
I'd like to add that I've since rewritten Breadcrumbs from scratch, and this issue is likely resolved in the v4 beta, more info here: https://github.com/SkepticMystic/breadcrumbs/blob/master/V4.md


Expose options of DistributedGraph to DistributedClient

[x] Forked repo is synced with upstream -> github shows no code delta outside of the desired.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork
[x] Tests are passing? https://github.com/microsoft/DeepGNN/blob/main/CONTRIBUTING.md#run-tests
[ ] Changelog and documentation updated.
[ ] PR is labeled using the label menu on the right side.

Previous Behavior
only servers and ssl_cert was configurable with DistributedClient.
New Behavior
User can pass num_threads, num_cq_per_thread and grpc_options to DistributedClient

Overall looks good @MortezaRamezani! Could you update changelog?


Update Set-SPOTenant.md

Adding new parameter to beginning list.

Docs Build status updates of commit 6de8051:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@Kateyanne Please merge this PR. Thanks

Docs Build status updates of commit 0625058:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Provide support for 3D Touch

I believe the API just gives you a CGPoint so we may need to provide a public getter for the attributes at a point like the -gestureRecognizerShouldBegin: uses.

A solution would be to expand the existing delegate methods to forward the UITouch methods, which would be called before the tap completes.

I think the problem there is the API for 3D Touch is:
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?

The UIViewController is queried at time of interest with "what's the UIViewController I should present for this point?" It would probably be pretty complicated to make the delegates keep track of state for this.


Make pretty JSON optional for generate subcommand (rbx_reflector)

This PR makes writing of database from generate subcommand in pretty-printed JSON optional by adding --pretty option. I think that it makes sense as these files are not intended to be read by humans and it reduces the file size from 1.6MB to 796KB.

it may be useful once we start publishing databases to GitHub releases

I think that it is already pretty useful e.g. when including rbx_dom_lua in other projects.

I slightly disagree with "not intended to be read by humans." We do want to diff and read the database with our eyes quite frequently (whenever we open PRs to update it)

Oh I thought that e.g. rbx_dom_lua uses 100% auto generated database from rbx_reflector, makes sense then.

some editors don't perform well on extremely long lines

That's good to now!

Oh I thought that e.g. rbx_dom_lua uses 100% auto generated database from rbx_reflector, makes sense then.

We do use rbx_reflector to generate the database in rbx_dom_lua  -  I'd just like to be able to easily see how the database has changed after an update. Pretty printed JSON diffs pretty well, but it's much harder to see what changed when it's all slammed into a single line. It's certainly possible to prettify it manually after the fact... but I'd rather not add another step 😄


Feature: add control on target output area size

Currently, the physical span of hatched's output is determined by the combination of the image resolution and the scaling factor (-s). This is unfortunate because the output's physical dimension is often something the user might want to control.
Specifically, in order to adjust the image scaling factor while keeping the same line density and physical size requires quite the contortion:
# same dimension and density:
vpype hatched -p 1mm input.png
vpype hatched -p 0.5mm -s 0.5 input.png scale 2 2

This would be solved by adding a -a/--area X Y parameter to control the physical output size. In particular, it would allow to freely adjust the scale without impacting the output dimension nor the line density:
# same dimension and density:
vpype hatched -p 1mm -a 10cm 10cm input.png
vpype hatched -s 0.5 -p 1mm -a 10cm 10cm input.png

@mariana-s-fernandes any motivation to tackle this one? ;)

I can give it a try, but not in the next couple of weeks though :)

I am starting implementing this

Sorry, I've started this but got derailed. I will pick it up in the future or, if someone else wants to pick it up, check my fork here https://github.com/mariana-s-fernandes/hatched/tree/area-input


Replace ALWAYS_PARENT sampler with ParentOrElse sampler

https://github.com/open-telemetry/opentelemetry-specification/pull/609

@legendecas if you're going to work on this, comment here so I can assign you.

:) definitely


Filter out @s in the PR body

We keep ating coders from TG

HippieStation/HippieStation#10838
this still happens

Good