Invalid timestamp

Describe the bug
I was getting "Unavailable" on v.1 on alarms and timers but now get "Invalid Timestamp" on v1.1.0
Version of the integration

V1.1.0

Glocaltokens Version (Underlying package)

Add pip information here.

Logs

2021-03-25 20:15:37 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:15:43 WARNING (MainThread) [homeassistant.components.switch] Setup of switch platform meross_cloud is taking over 10 seconds.
2021-03-25 20:16:37 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: google_home
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-25 20:16:47 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.

Debug log

logger:
  default: debug
  logs:
    custom_components.google_home: debug

Add your debug logs here.

Sorry I've not used GitHub before so excuse the ridiculousness

Hey, @tomsruk. Thanks for reporting the issue. 🙌
I believe this might be caused due to the latest release of integration that deprecates previously set up sensors like next_timer and next_alarm in favor of simplified and better use of merged sensors. Sorry for the inconvenience, please see release notes for breaking change. If that's the case just make sure you are not using deprecated next_timer/next_alarm in any of your automations.
Let us know if that helped 👍

Hey - it's actually showing Invalid Timestamp in as the entity status.
I've completed a full uninstall and reinstall of everything and I'm getting the same behaviour.
I was using it in an automation which worked for one night but has failed since, so the automation is currently disabled.

@tomsruk, i'm sorry to hear you had to temporarily disable the integration.
Can you please post here the screenshot of your sensor entity (find it using "Developer Tools", "STATES" tab within HA) when it says "invalid timestamp" for you? I would like to see the "state attributes" on that screenshot because it contains some useful data that might be helpful. Also, please check the log files for any errors from Google Home integration

No need to apologise. You're doing great work!
I've taken the Lenovo clock as an example but I'm getting the same Invalid Timestamp message from the Home Minis I've got.

Log:
’’’
2021-03-26 18:33:35 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:33:44 WARNING (MainThread) [homeassistant.components.switch] Setup of switch platform meross_cloud is taking over 10 seconds.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2021-03-26 18:34:07 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error
’’’

@tomsruk, i'm a bit confused. From the screenshots of your timers and alarms the state is off because you have no active alarms/timers set. Can you tell your Lenovo smart kitchen clock to set alarm and timer and then make the screenshots again when it shows the values. Regarding the warning google_config I actually think it has nothing to do with google-home integration. I don't have any records at all in my logs coming from google_config, are you sure you don't have any other google settings around your HomeAssistant setup? Maybe some legacy .yaml settings or some other google integrations?

To hopefully better explain the "Invalid Timestamp" issue.
Previously, an _alarms or _timers entity would display as "Off" or "On" depending on if any were set.
However, they now try to display as a formatted timestamp. So now show as "In 7 hours" if a timer/alarm is set (Rather than just "On"). If no alarm/timer is set they display as "Invalid Timestamp" (Rathe than just "Off")
Please see below

I hope that clears it up.
Personally speaking, the alarm/timer entities contain the set alarms/timers in an array, I think the entity itself should just show "Yes" or "No" as per original functionaliy.
Thank you for your hard work.
P.S. Also notice your version number has been dropped to 0.0 in my screenshot above, I think it used to show. Ive now updated to v1.1 and it doesnt show.

Thank you, @craigmcgowan, for more useful info :)
Regarding the version number, it was getting a bit hectic to maintain many places where the version number was specified, but I see that it might actually be useful to bring it back, thanks for the feedback. Will bring it up to the team, maybe we ll be able to find more elegant way to keep version numbering consistent across all the places where it must be specified :)
@KapJI do you mind taking a look at the bug with a timestamp? :)

I think what's going on here is that we're now setting device class timestamp and it can't render off value properly. Probably we should use something else instead of off.

Ok, here is the problem:

This is how timestamp is rendered in frontend: https://github.com/home-assistant/frontend/blob/fe13853b8b85d47c0795853f6cc63d03652bc133/src/panels/lovelace/components/hui-timestamp-display.ts#L50
With device class timestamp you can set state to None or "unavailable" and this will be rendered as Unknown or Unavailable.
"off" will be rendered as Invalid timestamp.

What we can do here:

Drop device class. We loose fancy timestamp formatting in the frontend, e.g. instead March 27, 2021, 10:01 AM it will keep ISO format 2021-03-27T10:01:46+00:00.
Use None instead of "off" for the state.

I think Off is cleaner so I'm leaning towards 1. But 2 seems to be more HA way to do this.
Let me know what you think.

Regarding the version number this is supposed to be model name rather than integration version. Integration version should be available in HACS.

Next alarm sensor from mobile_app uses unavailable when there is no alarm set: https://companion.home-assistant.io/docs/core/sensors/#next-alarm-sensor

Thank you, @KapJI, for taking a look at this. I would rather go with your 2nd proposal and use UNAVAILABLE just as you mentioned mobile app sensor uses :) That way we would still keep device class that enables sensors to be used in automation and blueprints without problems (there are some nice popular blueprints out there that filter devices by device_class being DEVICE_CLASS_TIMESTAMP (see this PR)


Upgrade Jackson to 2.16.2, embulk-util-config to 0.5.0, and embulk-util-json to 0.4.0

Had the same issue with https://github.com/embulk/embulk-parser-csv/pull/21

Thanks!


Node.js 10.1.0 and Homebridge

I updated node.js to v10.1.0 and now homebridge will not run, i was running v 9.11.1 and all worked. But i seen a newer node.js was out so i updated and now its  broken homebridge any advise. Please below error when i run homebridge.
/usr/lib/node_modules/homebridge/node_modules/bindings/bindings.js:88
throw e
^
Error: The module '/usr/lib/node_modules/homebridge/node_modules/ed25519-hap/bui                                                                                ld/Release/ed25519.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 59. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
at Object.Module._extensions..node (internal/modules/cjs/loader.js:707:18)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Module.require (internal/modules/cjs/loader.js:626:17)
at require (internal/modules/cjs/helpers.js:20:18)
at bindings (/usr/lib/node_modules/homebridge/node_modules/bindings/bindings                                                                                .js:81:44)
at Object. (/usr/lib/node_modules/homebridge/node_modules/ed25519                                                                                -hap/index.js:1:99)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
root@raspberrypi:/home/pi#

After updating the major version of node, you need to uninstall and re-install homebridge.  Somehow, just re-installing doesn’t cut it.

Cheers unistalling and installing done the trick and working again. That is strange that rebuild or reinstalling donst work


Add missing lock in globalcontext_get_module

Add missing lock in order to avoid loading the same module twice.
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

Wrong fix, closing it.


Remove obsolete method description in MRW provider

follow up cleanup item for https://github.com/microsoft/typespec/pull/4850

API change check
API changes are not detected in this pull request.


Shadow Dom support

Jodit Version:  3.3.24
Browser:  Chrome
OS:  Mac/Linux
Code
<!DOCTYPE html>

    <title>Jodit example in shadow DOM</title>
    <meta charset="UTF-8" />

// index.js
import Jodit from "jodit";

const app = document.getElementById("app");
app.attachShadow({ mode: "open" });
const root = app.shadowRoot;

root.innerHTML = `
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jodit/3.3.24/jodit.min.css"/>

Jodit example in Shadow DOM

`;

var editor = new Jodit(root.getElementById("editor"), {
  globalFullsize: false
});
editor.value = "
start
";

CodeSandbox: https://codesandbox.io/s/immutable-dew-nqblx
Expected behavior:
Support Jodit in Shadow DOM in major modern browsers.
Jodit does almost work in shadowRoot. It has couple issues. Example 1:

select text in editor
click B button
slected text is bold

Example 2:

add image into content
select image
tooltip with buttons is rendered to allow image alignment, etc.

Actual behavior:
Example 1:
When you try this in Chrome, actual result is: strong element is created before selected text.
It does work in Firefox. Probable cause is somewhere around getSelection().
Example 2:
Tooltip with buttons to work with images is not rendered. It because it's rendered to document root, not into shadow root, which could be achieved with simple solution like:
const getTargetElement = element => {
  // place popup into shadowRoot if exists
    const host = element.getRootNode()
    if (host && host.host) {
      return host
    } else
      return document.getElementsByTagName('body')[0]
    }
}

Description:
I am using Jodit on project, where i had to add shadowRoot to avoid styling conflicts. Jodit is great and it does almost work, i would appreciate if it worked without issues there.

Fixed in https://github.com/xdan/jodit/releases/tag/3.4.1


Errors while adding packages

Hello, I have just tried to add your package in newly created meteor project, but it failed with this error:

taras@taras-HP-ProBook-450-G0:~/job/webix-second-try$  meteor add webix:webix
=> Errors while adding packages:

While checking for<EMAIL_ADDRESS>error: No compatible build found

Any chance you can update the package to support Meteor <IP_ADDRESS>?

The same here


Task: Create initial db models in Django ORM

Based on the models created for the prototype during the hackathon, create Django ORM models for:

organization
facility/operation
user_organization
user

Note: check against data fields provided by business area/check with wireframes - there will be more data fields required than what were used in the hackathon.
Remember to differentiate between required and optional data fields.

Hey team! Please add your planning poker estimate with Zenhub @andrea-williams @BCerki @dleard @JoshLarouche @Sepehr-Sobhani

Dylan: Once the ERD is complete, the bullets of this card will need to be updated.

Do we need to test those tables too? to make sure we don't change those tables later by mistake.

Creating models based on the ERD rather than the bulleted list in this card


[FEATURE_REQUEST] in evalution, add how many images are correctly identified

Description
Add evaluation how many images are correct:

import numpy as np
e.eval_imgs["bbox"][3, 0, 0]

def eval_im():
    bbox = e.eval_imgs["bbox"]
    for i in range(len(bbox[0, 0, :])):
        im = []
        for j in range(len(bbox[:, 0, 0])):
            if bbox[j, 0, i]:
                dt_matches = bbox[j, 0, i]["dtMatches"]
                scores = bbox[j, 0, i]["dtScores"]
                for dt, score in zip(list(dt_matches[0]), scores):
                    im.append([dt, score])
        yield im
gen = eval_im()

next(gen)


update title

A more explicit title which helps linking to this document from parent docs.  I am choosing to use "quantum sdk" nomenclature here.
Description
Include description of feature this PR introduces or a bug that it fixes. Include the following information:

Context: why is it needed? In case of bug, what was the cause for the bug?
Concise description of the implemented solution.
If any dependencies are added, list them and justify why they are needed.

Please verify that you have completed the following steps

[ ] I have self-reviewed my code.
[ ] I have included test cases validating introduced feature/fix.
[ ] I have updated documentation.

no worries.   And very good point.  yaknow, let's actually leave it as is.  I changed the linking text directly, and it's probably better to just leave it more ambiguous for now so it kind of works from either perspective.


Draw end bug

When changing the route of an Angular (8) application back to the map component/page the draw end event doesn't work as expected. On the draw end event the map suddenly disappears until the mouse is moving.
Stackblitz Example:
https://stackblitz.com/edit/angular-ol6-drawbug
Reproduce with Stackblitz:

Draw some rectangles (everything works fine)
Changing the route by clicking on link 'Other Component'
Changing the route back to 'Map'
On DrawEnd Event (do not move mouse) the map disapppears.
The map comes back by moving the mouse.

I don't know whether it's a problem of Openlayers (6) or Angular (8)...

I believe this is a bug related to the fact that the layers (both image and vector) are added to several maps successively when you change the route. After the initial load the map behaves fine, the problem appears when switching route at least once, which means a new map is created but the same layer reused. IMO it should be supported by the library but apparently isn't... I'm labelling as bug for this reason.
Thanks for the report!

I met the same bug in Vue & Vue-router project too.

I met the same bug in Vue & Vue-router project too.


This GettingStarted.html generated by "mbed export" redirect to a broken documentation page

I followed the guide to run "mbed export -m K64F -i uvision" command.
the mbed cli created a "GettingStarted.html" in my local working directory.
By double click on the HTML file, this redirect me to "https://os.mbed.com/docs/v5.6/tools/exporting.html/"
Which is not a very well formatted documentation page, and all the URL links on that page had broken

@theotherjimmy please have a look

@AnotherButler I can fix this if I know where it should point it (did the link changed) ?

@0xc0170 The problem with that link is the slash at the end. https://os.mbed.com/docs/v5.6/tools/exporting.html formats correctly. If you delete the slash, I think it should be OK.

Thanks, sending PR now :)

This was fixed


Combine groupBy and values?

Following up on this post in Stack Overflow and @CrossEye suggestion:

I actually think Ramda needs a function something like (fn) => (list) => values(groupBy(fn, list)). It's such a common combination.

The idea (if I got it correctly) is to facilitate this transformation:
From:
[
  {id: 'foo', amount: 10},
  {id: 'foo', amount: 20},
  {id: 'foo', amount: 30},
  {id: 'bar', amount: 10},
  {id: 'bar', amount: 10},
  {id: 'baz', amount: 10}
]

To:
[
  [ {id: 'foo', amount: 10},
    {id: 'foo', amount: 20},
    {id: 'foo', amount: 30} ],

  [ {id: 'bar', amount: 10},
    {id: 'bar', amount: 10} ],

  [ {id: 'baz', amount: 10} ]
]

One way of doing this could be, as @CrossEye suggested:
const groupValuesBy = curry((groupFn, list) => values(groupBy(groupFn, list)));

Would it make sense to offer this "shortcut" as part of Ramda's toolkit?

Yes, I think it's worth talking about.
The example might be misleading, though.  I think we should get the same results from this:
[
  {id: 'foo', amount: 10},
  {id: 'bar', amount: 10},
  {id: 'foo', amount: 20},
  {id: 'foo', amount: 30},
  {id: 'baz', amount: 10},
  {id: 'bar', amount: 10}
]

There would be only one foo group, one bar group, etc., even if the elements are not grouped together in the initial list.  This is as opposed to groupWith, which groups only sequential elements.
I don't particularly like the name groupValuesBy; it seems more to do with this quick implementation than with the underlying goal.  But I don't have a ready alternative.  I'll think about that.

Oh I see what you mean about groupWith, good catch.  Yeah the name isn't great I agree.
Here's a couple of other suggestions:

nestWith
partitionGroup
arrangeBy

arrange is cool. Goes with ramda's nice function names

collectBy sounds good to me.
Way back in #65 we settled on a naming convention, where *By is meant for something that takes a unary function that generates a value the function needs, and *With is for when we need a binary function to derive such a value.
So nestWith is not likely here.

damn ramda is complicated lol

@customcommander : I would welcome a PR for this.  Note that there is no guarantee that it would be accepted, but I've seen the need quite often. collectBy would be my choice for a name.

@CrossEye Would be great to add a note about naming conventions of Ramda functions to some wiki page. For me as a maintainer of ramda-extension it is essential piece of information.

@tommmyy: I believe the wiki is open to edit.  Feel free to add it, or to suggest something more about where it belongs.  I agree that this should probably be publicly available, and it probably should be mentioned or linked to in CONTRIBUTING.md.  Maybe there should be a wiki page such as RamdaConventions?

@CrossEye It would be my pleasure to start it. But you, as the core member of Ramda, have much more to say :)

I'm trying hard to ensure that those who have an interest in Ramda are able to make important contributions.  I think this would be one.  I'm sure it would change over time, but getting started is key.  If you are interested, please go ahead and add a page.

Thank you @tommmyy for getting this page started!
https://github.com/ramda/ramda/wiki/Ramda-Conventions

@CrossEye Don't mention it. I hope it will fill up soon with more conventions.


bugfix: change the landing title of the document to mentioned one

Closing as duplicate. Same as #29
Ref: https://github.com/CRED-CLUB/neopop-web/pull/29#discussion_r920839822


RTX: Support stacks larger than 64k

This issue was originally reported on the mbed site:
http://developer.mbed.org/questions/5570/mbed-rtos-memory-utilization/
The cause of the 64k limitation is that even though the user can set a
stack size larger than 64k in the osThreadDef_t::stacksize 32-bit
field, this size is truncated to 16-bit when it is copied to
the priv_stack field in the OS_TCB structure.
This commit corrects that problem by making the OS_TCB::priv_stack
field 32-bit.  Due to word alignment, this introduces another 2 bytes
of padding in the structure which I have made explicit with the
addition of the reserved2 field.
The tsk_stack field which follows priv_stack is referenced directly by
assembly language code responsible for context switching.  This context
switching code used a fixed byte offset, TCB_TSTACK, to access this
tsk_stack field.  I had to update the TCB_TSTACK definition in various
locations from 36 to 40 to account for the extra alignment padding and
increased size of the priv_stack field.
TESTING

GCC_ARM - mbedLPC1768 and mbedLPC11U24
Online mbed Compiler - mbedLPC1768 and mbedLPC11U24

NOTES: I had to change assembly language code that was specific to IAR
but I don't have that toolchain so those changes aren't tested.
They do however follow the same pattern as the tested GCC
modifications.
I also didn't touch the Cortex-A version of RTX since I don't have such hardware to perform any testing.

Thanks for detailed description.
@masaohamanaka, please look at this PR. I believe there is the same problem (P_TCB declaration contain priv_stack as U16)


Single quote symbol is not replaced with html entity

There's even a test for that in HtmlRendererTest
@Test
public void textEscaping() {
    String rendered = defaultRenderer().render(parse("escaping: & < > \" '"));
    assertEquals("
escaping: & < > " '
\n", rendered);
}

The question is, why single quote symbol is left unescaped? And is there an easy way to get it escaped?

It matches what commonmark.js (and probably cmark) does: https://github.com/commonmark/commonmark.js/blob/master/lib/common.js#L68
And when we render attributes in HTML we use ", so escaping ' is not strictly necessary. Or is there a situation where it would be?
Why do you want it to be escaped? What you could do is provide your own HtmlNodeRendererFactory and override rendering for Text nodes.

Why do you want it to be escaped?

To stay compatible with OWASP security guideslines and to avoid injections: https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)Prevention_Cheat_Sheet#RULE.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content
Let's assume we have a frontend code like this in our imaginary application
<input type='text' value='$renderedMarkdown'/>

and someone tries to inject the following into markdown
' onmouseover='javascript:alert(document.cookie)'

It works atm, due to single quote char not being escaped.

What you could do is provide your own HtmlNodeRendererFactory and override rendering for Text nodes.

Thanks for the suggestion. I'll give it a try and post back shortly.

Doing something like that would cause you problems even if we escaped '. Say if your frontend application did this:
<input type="text" value="$renderedMarkdown"/>

And the input Markdown was this:
[a](/) [b](javascript:alert(document.cookie))

Which renders as this:

a b

Now insert that into the "frontend", and you'll have some bad stuff happening because the " are not escaped. The problem is that the frontend just took some HTML and inserted it into some other HTML. That is not gonna end well unless you do some additional processing. Or did I misunderstand your example?

Well that's a fair point. A certain amount of sanitizing is indeed to be performed on a frontend side. It still feels kind of inconsistent though, that current implementation escapes symbols like " or < leaving ' to an auxiliary markup sanitizer.
Anyway, a custom text renderer seems to fill the gap:
class EscapingTextRenderer(private val context: HtmlNodeRendererContext): NodeRenderer {

    override fun getNodeTypes() = setOf(Text::class.java)

    override fun render(node: Node) {
        val text = (node as Text).literal.split("'")
        render(text.iterator())
    }

    private tailrec fun render(fragments: Iterator<String>){
        context.writer.text(fragments.next())
        if (fragments.hasNext()) {
            context.writer.raw("'")
            render(fragments)
        }
    }
}

I checked what cmark does (the C reference implementation), and it doesn't escape ' either (the last argument is the secure argument):
https://github.com/commonmark/cmark/blob/53ef343a65e3da19d605cfb7e8909004cfac954e/src/html.c#L17-L19
https://github.com/commonmark/cmark/blob/master/src/houdini_html_e.c#L51-L53
I'm gonna keep this issue open for some time to see if anyone else is interested in this.

Thanks for raising this. I'll close it as I think it's ok to stay consistent with the reference implementations here.
We can always reopen if other people would like to see this changed too.


azure-cli: 2.1.0 -> 2.2.0

Motivation for this change
https://github.com/MicrosoftDocs/azure-docs-cli/blob/master/docs-ref-conceptual/release-notes-azure-cli.md#azure-cli-release-notes
routine bump
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

[1 built, 0.0 MiB DL]
https://github.com/NixOS/nixpkgs/pull/83310
1 package built:
azure-cli


[rom_ext] Migrate ProdA users to ECDSA

Correct a copy/paste error in the paths to proda key materials.

Addresses: #24641

The CI failures are not related to the changes in this PR.


words relate to command basics

Command line basics - modified wording related to each task and assist with memorization.

Nice. This one hasn't been touched in a while.  Good update. 👍


Create a dashboard to monitor e2e tests

In what area(s)?

/area test-and-release

Describe the feature
Create a dashboard which will show the history of e2e test results. This will help identify flaky tests and improve the test stability.
Release Note

RELEASE NOTE: ADD e2e test dashboard

Tracking issue in https://github.com/dapr/dapr/issues/3316


GIB💎WORK Bounty - Pull Request Made To anchor

🤖 This pull request was created by https://app.gib.work/r/Ql3a0gKk/anchor
⚡ Payment for bounty is immediately sent to the contributor after merge.

@acheroncrypto any updates?

TS package has build errors: https://github.com/coral-xyz/anchor/actions/runs/7368700143/job/20074262110?pr=2752

The tests now pass, added the necessary missing types in IdlSeedConst and IdlSeedArg, also modified the error message a bit(since accountDesc.pda.programId.kind included inside the throw New Error() was resulting in type never for accountDesc.pda.programId)


This does contain a bunch of things I am repeatedly thinking about might be helpful (and which are currently uncomfortable to use).

add fsck for fully populated .onyo/

replace fully_populated_dot_onyo() from tests/commands/test_init.py with a normal repo.fsck()

add something like onyo repair command:

adds everything missing to .onyo/
adds .anchor to all directories
commits unsaved/uncommited changes
obviously all with "diff" to verify that nothing is done that should not be happening

add tests to verify a damaged .onyo/ does not mess up everything:

e.g. that .gitconfig is used when .onyo/config is missing
missing template folder does not crash, but instead mentions that the dir/template is missing

enable easier template editing (remove some default fscks for .onyo/?)

onyo new --path .onyo/templates/new_template errors because new_template is no asset name
using an editor to create a new template forces user to git add and git commit manually

https://github.com/psyinfra/onyo/issues/101

In #308, when clearing caches, I often clear Repo._templates and bravely declare these might be changed by the commands. This is on ocasions a lie, but it does reflect the fact that, like described in this issue above, the missing abilities of onyo to change templates is in my opinion somewhere between missing feature and bug.

I added the flexible name scheme issue regarding changable pseudo keys to the initial description of the issue.

I am closing this as this issue is largely covered by #599 and then the template topic is covered in #552.


Debugging vanishing gradients in implicit fix-point differentiation

I have a neural network in flax that is basically a function expansion in a non-linear basis set, imagine
f(x, p) = p_1 * sin(x) + p_2 * exp(x) + ...

and I want to find parameters such that for a given X  the function f( . , p) has a fix-point at X. The idea was to use
Anderson Acceleration together with implicit differentiation to tune the parameters. The problem is that the gradient
of the FP z = f(z, p) wrt p is zero. I checked the output of the solver (verbose=True) and it successfully finds a solution in less than maxiter  iterations.
The normal gradient operation through the network seems to work just fine, because if I take the returned fix-point solution and do one further iteration manually, I do get a non-vanishing gradient wrt the parameters. I could look at the generated jaxpr but the procedure is quite long/complicated so I don't think it would help much.

Do you have a minimal example?

OK, I think I know what the problem was. During the backward pass when the linear system of the inverse Jacobian is solved (by default with solve_cg in linear_solve.py) it doesn't find any solution and just returns the initial starting value, which is a zero vector. I guess it would be nice if there was some kind of error message in the case of non-convergence.


Bare minimal development documentation

Signed-off-by: Miguel Angel Ajo<EMAIL_ADDRESS>

Thanks for the review @tpantelis


R.move does not exist

I'm using "@types/ramda": "^0.25.42" and "ramda": "^0.26.1", in an Angular 7 project, and I can't use R.move() because it throw an error saying  Property 'move' does not exist.
Can't figure out why, any advice? Thanks

move was typed in DefinitelyTyped. Time to switch…


AttributeError: 'module' object has no attribute 'EmbeddedAssistantStub'

I have changed the code according to the latest commits as follows
in ~/embedded-assistant-sdk-python/googlesamples/rpi/main.py
from google.assistant.embedded.v1alpha1 import embedded_assistant_pb2
to
from google.assistant.embedded.v1alpha2 import embedded_assistant_pb2
And the lines,
ND_OF_UTTERANCE = embedded_assistant_pb2.ConverseResponse.END_OF_UTTERANCE
DIALOG_FOLLOW_ON = embedded_assistant_pb2.ConverseResult.DIALOG_FOLLOW_ON
CLOSE_MICROPHONE = embedded_assistant_pb2.ConverseResult.CLOSE_MICROPHONE

to
END_OF_UTTERANCE = embedded_assistant_pb2.AssistResponse.END_OF_UTTERANCE
DIALOG_FOLLOW_ON = embedded_assistant_pb2.DialogStateOut.DIALOG_FOLLOW_ON
CLOSE_MICROPHONE = embedded_assistant_pb2.DialogStateOut.CLOSE_MICROPHONE

but when it run the following according to tutorial following error results,
(env) pi@raspberrypi:~/embedded-assistant-sdk-python/googlesamples $ python -m rpi
INFO:root:Connecting to embeddedassistant.googleapis.com
Traceback (most recent call last):
  File "/usr/lib/python3.4/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.4/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/pi/embedded-assistant-sdk-python/googlesamples/rpi/__main__.py", line 440, in <module>
    ret_val = setup_assistant()
  File "/home/pi/embedded-assistant-sdk-python/googlesamples/rpi/__main__.py", line 205, in setup_assistant
    assistant = embedded_assistant_pb2.EmbeddedAssistantStub(grpc_channel)
AttributeError: 'module' object has no attribute 'EmbeddedAssistantStub'

Damn, I hope I didn't follow you off a cliff. I'm getting the same thing now.
Reading Metadata on the google.assistant.grpc file now about pb2 and will be trying to pick through that.


ci: bump golangci-lint to v1.46.0

Too bad you missed version 1.46.1 which was published 15 minutes ago :laughing:


How to route a request with it's original URI?

Describe the bug
The version of spring cloud gateway is Greenwich.SR4.
This is my routes config.
      routes:
        - id: weevent-broker
          uri: lb://weevent-broker
          predicates:
            - Path=/weevent-broker/**

Gateway URL: http://localhost:8080/weevent-broker/rest/exist?topic=abc
Downsteam URL: http://<IP_ADDRESS>:7000/rest/exist?topic=abc
It works well.
But i want keep the first segment ‘/weevent-broker’ in downsteam URL, like this
http://<IP_ADDRESS>:7000/weevent-broker/rest/exist?topic=abc
I try to use PrefixPath filter first, and it doesn't work, response 404.
      routes:
        - id: weevent-broker
          uri: lb://weevent-broker
          predicates:
            - Path=/weevent-broker/**
          filters:
            - PrefixPath=/weevent-broker

Try SetPath and RewritePath filter, they are both response 404.
      routes:
        - id: weevent-broker
          uri: lb://weevent-broker
          predicates:
            - Path=/weevent-broker/{segment}
          filters:
            - SetPath=/weevent-broker/{segment}

I add a global filter to debug it.
@Component
public class LogGatewayFilter implements GlobalFilter, Ordered {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        long start_timestamp = Calendar.getInstance().getTimeInMillis();

        return chain.filter(exchange).then(Mono.fromRunnable(() -> {
            ServerHttpRequest request = exchange.getRequest();
            log.info("{} {}(ms) {} {}, {} {} {}",
                    request.getRemoteAddress(),
                    Calendar.getInstance().getTimeInMillis() - start_timestamp,
                    request.getURI().getScheme(),
                    exchange.getResponse().getStatusCode(),
                    request.getMethodValue(),
                    request.getPath(),
                    request.getQueryParams());
        }));
    }

    @Override
    public int getOrder() {
        return Ordered.LOWEST_PRECEDENCE;
    }
}

and the log is always like this
"[LogGatewayFilter.java:30 lambda$filter$0] /0:0:0:0:0:0:0:1:48950 397(ms) http 404 NOT_FOUND, GET /rest/exist {topic=[abc]}"
The URI doesn't changed at all.
Could somebody help me? Thanks.

There are some SCG debug logs for more details..
We can find PrefixPath filter in RouteDefinition while application setup.
[GatewayProperties.java:66 setRoutes] Routes supplied from Gateway Properties: [RouteDefinition{id='weevent-broker', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/weevent-broker/**}}], filters=[FilterDefinition{name='PrefixPath', args={_genkey_0=/weevent-broker}}], uri=lb://weevent-broker, order=0}]

In access log, only RewritePath in gatewayFilters?
[RoutePredicateHandlerMapping.java:92 lambda$getHandlerInternal$0] Mapping [Exchange: GET http://localhost:8080/weevent-broker/rest/exist?topic=abc] to Route{id='CompositeDiscoveryClient_weevent-broker', uri=lb://weevent-broker, order=0, predicate=Paths: [/weevent-broker/**], match trailing slash: true, gatewayFilters=[[[RewritePath /weevent-broker/(?<remaining>.*) = '/${remaining}'], order = 1]]}

After upgrade SCG‘s version to Greenwich.SR5, the deault behavior is expected, no need SetPath/PrefixPath filter to change it.
LoadBalancerClientFilter url before: lb://weevent-broker/weevent-broker/rest/exist?topic=abc


Installation instructions for optional dependencies

@jskda would you please add a new section to nltk/web/install.rst and start adding instructions for optional dependencies?
I would like to avoid problems such as the following, when a user downloaded the wrong version: https://groups.google.com/forum/#!topic/nltk-users/n4EVbLzuHO0

Installing C&C from subversion is also not helping....


Overhaul benchmarking system

From https://github.com/data61/cuda-fixnum/issues/50:

Including, in no particular order

[ ] Generate data and graph it, rather than generating large difficult-to-interpret tables.
[ ] Generate data for all functions.
[ ] Allow generating data for specific functions.
[ ] Generate graphs of relative performance for related functions (e.g. How much faster is squaring to multiplication for various sizes?)
[ ] For each operation, work out the appropriate amount of data to use (currently we use a tiny amount for small fixnums and a largish amount for bigger fixnums -- this is inconsistent).
[ ] Understand what the optimal performance could be in important cases (e.g. mulmod, modexp).
[ ] Normalise the data gathered relative to some appropriately chosen device parameters (e.g. #SMs, #cores, core frequency, ...)

Consider using the Google Benchmark library.


feat: Added json output for node create

Current behavior

Proposed changes

fixed #4967
Checks

[ ] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a PR, this will mark the commit as verified.

@gautamprikshit1 while we wait for @CAOakleyII answer, make sure to add yourself into the contributors list and set up your account to verify your commits:

[ ] All commits in this Pull Request are signed and Verified by Github.
[ ] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a PR, this will mark the commit as verified.

Let us know if you have any questions!

@adrianbenavides done


Issue with NWB .plx sorted data

Describe the issue
I want to convert several .plx (plexon) files into .nwb, but I am getting this error with one of the files I generated myself and one of the example files plexon had online (https://plexon.com/software-downloads/#software-downloads-data-samples | see "Sample PLX File – Four Channel Demo")
After I fill out the file metadata and hit next, I get this error "[sub-test2/ses-test2]: Form is not allowed to have the additional property "UnitColumns"."

Steps to Reproduce

Go to NWB Guide (GUI)
fill in entries
add plexon Sorting (not plexon recording) .plx files
add example .plx file linked above
fill out metadata
hit next to see the error

Operating System
Windows 11
GUIDE Version
1.0.2
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes

Was Plexon the only interface selected in your pipeline?
This is likely related to #873

yes, I only added plexon sorting.
I don't see unit columns

ok I see. Thanks for the heads ups. I try using the neuroconv python program using the example plexon data provided in the link (File_plexon_3.plx) but there seem to be some hurdles with that. https://github.com/catalystneuro/neuroconv/pull/206
I can add a comment to that github repository with the issue I am encountering.

I try using the neuroconv python program using the example plexon data provided in the link

An excellent next step!

I can add a comment to that github repository with the issue I am encountering.

Please do; raise an issue over there with your code and the error+traceback you encounter

I added support for this in the latest version of neuroconv.
However, after discussing this in Spikeinterface it surfaced that the user's data plexon file had only waveforms and that was the reason it could not be opened with Spikeinterface (and therefore neuroconv and the guide):
https://github.com/SpikeInterface/spikeinterface/issues/3343

I suggest we close this issue unless @ajcheng1 has something else to add.

Apologies, I was on leave for a bit. Let me see if there is a way to extract Axion data into plexon without losing any data. I'll get back to you.


Fix conditional check for subtree in deploy

Fixes "error while evaluating conditional" error when deploying multiple sites one by one.  Ansible needs to check if the variable "is defined" since its not a straight boolean true/false check.

Thanks!

This doesn't seem to work for me. As I read it subtree defaults to False so it will always be defined?
I get this output:
=> {"changed": true, "cmd": "mv /mnt/persist/www/example.com/releases/20150517190042/False/* /mnt/persist/www/example.com/releases/20150517190042", "delta": "0:00:00.010619", "end": "2015-05-17 19:00:56.686640", "rc": 1, "start": "2015-05-17 19:00:56.676021", "warnings": []}
stderr: mv: cannot stat ‘/mnt/persist/www/example.com/releases/20150517190042/False/*’: No such file or directory

FATAL: all hosts have already failed -- aborting

It seems to always output /False/* as the folder no matter what I change the variable to. I'm not so handy with Ansible but am trying to fiddle around a bit..

@slackday thanks, should be fixed in 07047a2. No point in having the default anymore.

I'm getting this now with no subtree defined:
TASK: [deploy | Move project subtree into root folder] ************************
fatal: [ip.address] => One or more undefined variables: 'dict object' has no attribute 'subtree'

@davekiss can you try with this patch:
- project_subtree: "{{ project.subtree }}"
+ project_subtree: "{{ project.subtree | default(omit) }}"

Found here: https://github.com/roots/bedrock-ansible/blob/4e93afbcd8ecafac76f2eeb41580dcea407b1056/roles/deploy/defaults/main.yml#L4

@swalkinshaw no go.
stderr: mv: cannot stat ‘/srv/www/vimeography.com/releases/20150520132106/__omit_place_holder__0fae024f264debcf4f2677c603f189bd98dae9c8/*’: No such file or directory

@davekiss oops that makes sense. I'll figure it out.

For now, I reverted https://github.com/roots/bedrock-ansible/commit/07047a23840dd6da83acff3bee27ef67efd91d91 and added this condition instead:
when: not project_subtree == 'False'

@davekiss thanks, updated in 56045fc


Chat model

is this project support the chat model of llama?

For now, we do not support chat model. We are actively trying models with stronger capabilities and fine-tuning through chat.

Thank you for you reply~


Use InnerHTML for Pagination button text

Necessary if the developer wishes to have glyphicons/font-awesome icons in the labels of the buttons.

@nhydock looks good, but please update commit message to
feat(pagination): use inner html for pagination button text ...
ng commit name convention

Just making sure it was noticed that I changed the commit title

Awesome, thanks! Merging


wiki file singleServerConfig need to update

Expected behavior
run success
Actual behavior
with exception  Can't parse config
Steps to reproduce or test case
Redis version
Redisson version
redisson-spring-boot-starter:3.13.6
Redisson configuration
singleServerConfig:
  idleConnectionTimeout: 10000
#  pingTimeout: 1000 # not exist in properties
  connectTimeout: 10000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
#  reconnectionTimeout: 3000 # not exist in properties
#  failedAttempts: 3 # not exist in properties
  password:
  subscriptionsPerConnection: 5
  clientName: yitu
  address: redis://<IP_ADDRESS>:6379
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  connectionMinimumIdleSize: 32
  connectionPoolSize: 64
  database: 0
#  dnsMonitoring: false # not exist in properties
  dnsMonitoringInterval: 5000
threads: 0
nettyThreads: 0
codec: !<org.redisson.codec.JsonJacksonCodec> {}
transportMode: NIO

Done


Feature/<IP_ADDRESS>&3/new cases backend query + UI component

What type of PR is this? (check all applicable)

[ ] Refactor
[X] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
Implements this weeks' ticket's backend query and UI changes.
One thing I want to draw attention to is the implementation of the backend query. It pulls the tickets that belong to the current week and on the frontend it just does tickets.length.
I was wondering if instead I need to be getting the count in the query directly? so the db would just return row count instead of all the rows with their data.
Also for the card component that displays the new tickets this week, I decided to not make a separate component because it's a small and simple piece of code that's not very reusable and to make it reusable might add too much complexity given the number of use cases we have for those cards.
As far as UI testing it goes I made a general UI test file 'tests/.../index.test.tsx' that tests the piece of html that holds that card.
I know for testing usually we want to either test the whole page or a small component and this counts as neither. Open to changing this approach if necessary. For now I think it's ok.
Related Tickets & Documents
Link user story from projects.digitalaidseattle.org

Related Issue #
Closes <IP_ADDRESS> New cases this week, <IP_ADDRESS> New cases backend query

QA Instructions, Screenshots, Recordings

UI accessibility checklist

[X] Semantic HTML implemented?
[X] Color contrast tested?

Added/updated tests?

[X] Yes
[ ] No, and this is why: please replace this line with details on why tests
have not been included
[ ] I need help with writing tests

[optional] Which Seattle Humane animal would you like to dedicate this PR to?
Swizzle

One thing I want to draw attention to is the implementation of the backend query. It pulls the tickets that belong to the current week and on the frontend it just does tickets.length.
I was wondering if instead I need to be getting the count in the query directly? so the db would just return row count instead of all the rows with their data
That's a good call. What you have set up is ok, but getting a count is definitely what we should be moving towards. I wonder if we merge what you have now and create a ticket to improve the code, or if we wait to implement a new change. The optimization would be good, but the amount of network traffic saved is actually pretty minimal. With that in mind, I'll merge it and create a new ticket for opitmization

Also for the card component that displays the new tickets this week, I decided to not make a separate component because it's a small and simple piece of code that's not very reusable and to make it reusable might add too much complexity given the number of use cases we have for those cards.

I think that's a good call

As far as UI testing it goes I made a general UI test file 'tests/.../index.test.tsx' that tests the piece of html that holds that card.
I know for testing usually we want to either test the whole page or a small component and this counts as neither. Open to changing this approach if necessary. For now I think it's ok.

I'm thinking that the tests/.../index.test.tsx would be testing the correct assembly of the components. Each component could be individually testing if it has it's own file - but for the 'new cases' component it doesn't, so testing it here makes sense. Also, if we want to test the larger system, we would do that through integration testing


Could you add support for group_title?

Perhaps as an environment variable to be aligned with documentation:
Run automated tests adding TESTOMATIO_RUNGROUP_TITLE=*** environment value to a test runner
Thanks, appreciate you work!

sure. On the weekend

added


fix setDeep non-nested keypaths

Problem
When using the setDeep method for keypaths that are not nested it does not work.
Example: https://svelte.technology/repl?version=1.29.3&gist=d100d0b76009d898406e21aa1406240f
One solution to the problem:
// If not a nested keypath
if ( keys[0] === undefined ) {
  const data:any = {};
  data[ lastKey ] = value;
  this.set( data );
  return;
}

The fix above have been added with this PR.

thanks — released 👍


Automatic Deletion of Downloaded Chapters from Bato.to Extension

Source information
Bato.to 1.4.35
Source language
English
Steps to reproduce
I downloaded a few chapters from Bato.to, but after 24 hours, all the chapters from that extension were automatically deleted. This issue has been ongoing for more than 2 years.
Expected behavior
It's should be saved permanently
Actual behavior
But it's deleted after 24hrs after downloaded
Mihon/Tachiyomi version
App version: 0.16.5
Android version
Android 12
Other details
Device: Samsung
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

I already checked the Bato.to folder after downloading:

It was saved in CBZ format.
I didn't enable anything in the delete chapters option except for  'After reading automatically delete' set to 'From the fourth to the last read chapter'
The following day (after 24 hours), the manga folders were empty.
However, the other extensions are working fine.

Extensions can't delete downloaded chapters, likely a misconfiguration or problem on your part. You can go to Mihon server to ask for help. (Don't mention extensions there)


Add Tamra's new and updated topics to upcoming release

NOTE: See one email thread between Susan and Penni, Friday 5-24-13, 2.41pm, for partial info.
Here's Tamra's pull req with updates (will need to change Milestone date to appropriate date and maybe ask Sasha to publish the updates to sandbox in case it gets 'missed' since pull req was created a week or so ago).
https://github.com/WindowsAzure/azure-content/pull/1307

@pennij Thank you for raising this issue.  We're closing old issues.  If you feel this issue should remain open, please comment to let us know that the issue should be reopened.


Bug with escaping columns on create indexes.

Hello, i'm got a bug with escaping columns on create indexes.
Adapter: pgsql,
Column name: group (reserved word)
On create 'group' index, i'm getting next error:
SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "group"   LINE 1: ...DEX settings_name_group ON "public"."settings" (name,group);
To fix this bug, your need escape every column on every queries.

What version of Phinx are you using? I did the following with the Postgres adapter:
    public function change()
    {
        $this->table('settings')
            ->addColumn('name', 'string')
            ->addColumn('group', 'string')
            ->addIndex(['name', 'group'])
            ->create();
    }

Seems to work for me.

v0.8.1


The maven-bundle-plugin not work on JDK 15-ea+23 (Travis CI is failed)

We consider to ignore build error on JDK 15 ea until  fix this problem.

https://issues.apache.org/jira/browse/FELIX-6259 .
mybatis/parent#160

[x] Apply workaround (See 767f525948385b32d3b4f2892c51f2f89e2c8e0e)
[x] Revert workaround and apply mybatis-parent 32-snapshot gh-1952
[ ] Apply mybatis-parent 32+ (none snapshot version)

I think this issue can be closed.
@kazuki43zoo ,
Feel free to reopen if I am mistaken.


Use hints to make assertions about the running program

As with Protostar, assertions can be done using hints.
There might be some investigation to conduct to check how one can use Cleopatra hints to achieve this.

Was able to use custom hints with cleopatra to get a less than assertion. Not sure if this is the kind of thing your looking for.
https://github.com/oxlime/cleopatra_cairo/tree/feat/hint_assertions


Use consistent pluralization for API groupings in reference

This is a Feature Request

What would you like to be added
For the pages:
https://kubernetes.io/docs/reference/kubernetes-api/workloads-resources/
https://kubernetes.io/docs/reference/kubernetes-api/authentication-resources/
https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/
https://kubernetes.io/docs/reference/kubernetes-api/services-resources/
https://kubernetes.io/docs/reference/kubernetes-api/authentication-resources/
the part before -resources is sometimes a plural and sometimes not.
We should make this consistent.
Why is this needed
When we use language inconsistently, that language becomes harder for (some) localization teams to translate well. Additionally, readers might see the different pluralization and wonder (perhaps even believe) that it is significant, given the authority attached to the website where it appears.
Comments
/language en
/kind cleanup

/triage accepted

@feloy you might want to know about this issue - I am sure you would have some tips for a person picking it up

The idea is to make the resource type or category singular?

That's the approach I'd take.


Depend on secp256k1 upcoming release

This is not a merge candidate.
Depend on the branch of secp256k1 that bumps version to v0.24.0, this PR is just to get a green CI run using the secp release branch as a dependency.
We messed up and upgraded the bitcoin_hashes dependency without first doing it in rust-secp256k1.
Found by @arturomf94 https://github.com/rust-bitcoin/rust-bitcoin/issues/824#issuecomment-1188259382

I notice that we do get a green checkmark here. Is the implication that our tests don't depend on rust-secp's and rust-bitcoin's versions of bitcoin_hashes matching?
We should probably add such a test, which would help us notice this problem in the future.

Ah I see you created https://github.com/rust-bitcoin/rust-bitcoin/pull/1104 for this. Perfect.

This branch has served its purpose.


Fix raw IR channel readout

Raw IR channel measurements are i16 types. They represent a voltage which can be positive or negative. If the object is warmer than the sensor it is positive, if the object is colder than the sensor, it is negative. (see datasheet)

had to make the method public for the tests to work, hope that's fine with you

^bump


Observables disappear from stockflow and regnet models

When stockflow or regnet models are loaded as template models, the observables disappear. This is not the case for petrinets.
See this notebook for example: https://github.com/ciemss/pyciemss/blob/552-disappearing-observables/docs/source/Issue552.ipynb

@sabinala, I looked at the regnet model first: in https://raw.githubusercontent.com/DARPA-ASKEM/simulation-integration/main/data/models/LV_rabbits_wolves_model03_regnet.json, the observables key is not in the right place. It needs to be under semantics / ode, not under model.

Ironically, the stock and flow AMR is defined the other way around: it assumes observables are under model, not under ode / semantics. The reason for this has to do with elements that are natively associated with a given framework vs custom additions that are not natively part of the framework. So in the case of https://raw.githubusercontent.com/DARPA-ASKEM/simulation-integration/main/data/models/SEIRHD_stockflow.json, move the observables under model.

Independently, I found some issues with how stock and flow observables are handled in MIRA and submitted a PR with new tests to make sure those work.


Mobile build

Fixes: #354

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

Project coverage is 88.34%. Comparing base (fec7247) to head (c20fea8).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #363   +/-   ##
=======================================
  Coverage   88.34%   88.34%
=======================================
  Files          10       10
  Lines        3699     3699
=======================================
  Hits         3268     3268
  Misses        431      431

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


Allow GW2Radial to mount the Skyscale in combat if the SotO mastery Combat Launch is active

Is your feature request related to a problem? Please describe.
Currently, GW2Radial does not work with the new SotO mastery Combat Launch. This mastery allows you to mount your Skyscale while in combat once every 3 minutes. However, if you use GW2Radial to attempt to mount the Skyscale in combat one of two things happens:

If the input queuing option is selected: it queues the Skyscale and mounts it when out of combat.
If the input queuing option is not selected: it ignores the attempt to mount the Skyscale in combat.

Describe the solution you'd like
If the Combat Launch mastery is earned and off cooldown and the Skyscale is selected in GW2Radial while in combat, it should trigger the mastery and mount the Skyscale in combat.
Describe alternatives you've considered

If the in game mount/dismount keybind is different from the show GW2Radial keybind and the Skyscale is set as the active mount, you can press it to trigger Combat Launch.
If the Skyscale mount/dismount keybind is different from the show GW2Radial keybind, you can press it to trigger Combat Launch.
If you use the same keybind to open GW2Radial as your mount/dismount you have to set the Skyscale as the active mount, enable conditional keybinds in the GW2Radial options, and set a conditional keybind to only enable keybinds if the character isn't in combat. However, this isn't ideal if you want to be able attempt to mount/queue a mount other than the Skyscale in combat using GW2Radial.

With jantir wilds, now you can mount up warclaw in combat but addon doesn't trigger keybinds while in combat (makes 0 sense). There should be option to toggle that.

With janthir wilds, now you can mount up warclaw in combat but addon doesn't trigger keybinds while in combat (makes 0 sense).

It makes perfect sense given all of the mounts prior to SotO couldn't be used in combat, and mounts post-SotO are only conditionally available in combat.
As the game does not expose the conditional availability, it's not straightforward to fix. I currently do not have a good solution that does not regress features in some other way.

With janthir wilds, now you can mount up warclaw in combat but addon doesn't trigger keybinds while in combat (makes 0 sense).

It makes perfect sense given all of the mounts prior to SotO couldn't be used in combat, and mounts post-SotO are only conditionally available in combat.
As the game does not expose the conditional availability, it's not straightforward to fix. I currently do not have a good solution that does not regress features in some other way.

What's the harm of triggering a keybind while player is in combat, there is no harm and because of that we can't mount up warclaw while in combat.

With janthir wilds, now you can mount up warclaw in combat but addon doesn't trigger keybinds while in combat (makes 0 sense).

It makes perfect sense given all of the mounts prior to SotO couldn't be used in combat, and mounts post-SotO are only conditionally available in combat.
As the game does not expose the conditional availability, it's not straightforward to fix. I currently do not have a good solution that does not regress features in some other way.

You could add a checkbox to the settings which the user could enable/disable based on them (not) having the mastery, right?

Any movement on this? At the moment the addon is redundant for me due to this restriction.

You should look at the pre-release then because that's the solution I've had to settle on.


[BUG] Broken links in the readme

The following links in the READme are currently broken:

https://docs.evidentlyai.com/reports/data-quality
https://docs.evidentlyai.com/reports/classification-performance
https://github.com/evidentlyai/evidently/blob/main/sample_notebooks/getting_started_tutorial.ipynb
https://github.com/evidentlyai/evidently/blob/main/sample_notebooks/evidently_metric_presets.ipynb
https://github.com/evidentlyai/evidently/blob/main/sample_notebooks/evidently_metrics.ipynb
https://github.com/evidentlyai/evidently/blob/main/sample_notebooks/evidently_test_presets.ipynb
https://github.com/evidentlyai/evidently/blob/main/sample_notebooks/evidently_tests.ipynb

Also, some links to tutorials (e.g., https://github.com/evidentlyai/evidently/tree/main/examples/integrations/mlflow_logging) point to un-rendered python notebooks rather than an HTML page in the documentation. It'd be nice to be able to see the examples without having to run them locally.

Hi @OlivierBinette ,
thank you for letting us know!
All links were fixed.
I agree with you that it would be much more convenient to have an HTML documentation page for each tutorial, but I'm afraid we do not have enough resources to keep a lot of doc pages up-to-date at the moment ☹  This why we only have several tutorials in docs.
But we regularly updated all jupyter examples, to make sure they are compatible with the package version and add new ones.  Unfortunately, most of our HTML reports cannot be rendered in python notebooks on github due to big size of the visual outputs.


init fails

terraform init fails with the following error:
Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/k0s...
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/k0s: provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/k0s
│
│ All modules should specify their required_providers so that external consumers will get the correct providers when using a module. To see which modules are currently depending on hashicorp/k0s, run the
│ following command:
│     terraform providers

With TF_LOG=trace the logs are more helpful
2022-09-03T22:11:27.737+0200 [INFO]  Terraform version: 1.2.8
2022-09-03T22:11:27.737+0200 [DEBUG] using github.com/hashicorp/go-tfe v1.0.0
2022-09-03T22:11:27.737+0200 [DEBUG] using github.com/hashicorp/hcl/v2 v2.12.0
2022-09-03T22:11:27.737+0200 [DEBUG] using github.com/hashicorp/terraform-config-inspect v0.0.0-20210209133302-4fd17a0faac2
2022-09-03T22:11:27.737+0200 [DEBUG] using github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734
2022-09-03T22:11:27.737+0200 [DEBUG] using github.com/zclconf/go-cty v1.11.0
2022-09-03T22:11:27.737+0200 [INFO]  Go runtime version: go1.18.1
2022-09-03T22:11:27.737+0200 [INFO]  CLI args: []string{"/var/lib/tfenv/versions/1.2.8/terraform", "init"}
2022-09-03T22:11:27.737+0200 [TRACE] Stdout is a terminal of width 213
2022-09-03T22:11:27.737+0200 [TRACE] Stderr is a terminal of width 213
2022-09-03T22:11:27.737+0200 [TRACE] Stdin is a terminal
2022-09-03T22:11:27.737+0200 [DEBUG] Attempting to open CLI config file: /home/user/.terraformrc
2022-09-03T22:11:27.737+0200 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2022-09-03T22:11:27.737+0200 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins
2022-09-03T22:11:27.737+0200 [DEBUG] ignoring non-existing provider search directory /home/user/.terraform.d/plugins
2022-09-03T22:11:27.737+0200 [DEBUG] ignoring non-existing provider search directory /home/user/.local/share/terraform/plugins
2022-09-03T22:11:27.737+0200 [DEBUG] ignoring non-existing provider search directory /usr/local/share/terraform/plugins
2022-09-03T22:11:27.737+0200 [DEBUG] ignoring non-existing provider search directory /usr/share/terraform/plugins
2022-09-03T22:11:27.737+0200 [INFO]  CLI command args: []string{"init"}

Initializing the backend...
2022-09-03T22:11:27.738+0200 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config
2022-09-03T22:11:27.738+0200 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory
2022-09-03T22:11:27.738+0200 [DEBUG] New state was assigned lineage "b3b0bc2b-fa67-f605-724c-eec09c09b821"
2022-09-03T22:11:27.738+0200 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend)
2022-09-03T22:11:27.738+0200 [TRACE] Meta.Backend: instantiated backend of type <nil>
2022-09-03T22:11:27.739+0200 [DEBUG] checking for provisioner in "."
2022-09-03T22:11:27.739+0200 [DEBUG] checking for provisioner in "/var/lib/tfenv/versions/1.2.8"
2022-09-03T22:11:27.739+0200 [TRACE] Meta.Backend: backend <nil> does not support operations, so wrapping it in a local backend
2022-09-03T22:11:27.739+0200 [TRACE] backend/local: state manager for workspace "default" will:
 - read initial snapshot from terraform.tfstate
 - write new snapshots to terraform.tfstate
 - create any backup at terraform.tfstate.backup
2022-09-03T22:11:27.739+0200 [TRACE] statemgr.Filesystem: reading initial snapshot from terraform.tfstate
2022-09-03T22:11:27.739+0200 [TRACE] statemgr.Filesystem: snapshot file has nil snapshot, but that's okay
2022-09-03T22:11:27.739+0200 [TRACE] statemgr.Filesystem: read nil snapshot

Initializing provider plugins...
- Finding latest version of hashicorp/k0s...
2022-09-03T22:11:27.739+0200 [DEBUG] Service discovery for registry.terraform.io at https://registry.terraform.io/.well-known/terraform.json
2022-09-03T22:11:27.739+0200 [TRACE] HTTP client GET request to https://registry.terraform.io/.well-known/terraform.json
2022-09-03T22:11:27.954+0200 [DEBUG] GET https://registry.terraform.io/v1/providers/hashicorp/k0s/versions
2022-09-03T22:11:27.954+0200 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/hashicorp/k0s/versions
2022-09-03T22:11:28.187+0200 [DEBUG] GET https://registry.terraform.io/v1/providers/-/k0s/versions
2022-09-03T22:11:28.187+0200 [TRACE] HTTP client GET request to https://registry.terraform.io/v1/providers/-/k0s/versions
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/k0s: provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/k0s
│
│ All modules should specify their required_providers so that external consumers will get the correct providers when using a module. To see which modules are currently depending on hashicorp/k0s, run the
│ following command:
│     terraform providers
╵

Please ignore, I quickly realized that I missed the provider definition in terraform {} block.


installing-Magic-Lense-apps.md

Why:

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Thanks for opening a PR 👍 Please fill out the pull request template in the top comment in this pull request, then we'll get this up for review!

Thanks for opening a PR 👍 Please fill out the pull request template in the top comment in this pull request, then we'll get this up for review!

Why:
What's being changed:
Check off the following:

[x]  I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ]  For content changes, I have reviewed the localization checklist
[x]  For content changes, I have reviewed the Content style guide for GitHub Docs.

Jason tried to install recieved #404

Why:
What's being changed:
Check off the following:

[x]  I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ]  For content changes, I have reviewed the localization checklist
[x]  For content changes, I have reviewed the Content style guide for GitHub Docs.

Jason tried to install recieved #404


Add TypeScript support

Would be great to maintain a codebase written on TypeScript and leverage on Hardhat's Typechain where it auto-generates TypeScript typings for the smart contracts that gets compiled and deployed locally. Also TypeScript would be awesome too when we're creating those tests in Chai.
If you guys would approve then I'll take a look and find a way to migrate everything into TypeScript.

I'm thinking of adding both! @rasmuscnielsen
It's very convenient to have TypeScript auto generate the smart contract types.

Hey that sounds good too! I will reach out to him and see how we'll able to figure out adding TypeScript support without that much work. Thanks for the heads up!
Also if we add TypeScript it's basically going to be ES6 on steroids 😉  it'll be lots of fun for you, and of course if you're struggling with something on TypeScript just let us know and we'll help you out. I know TypeScript is a bit difficult to get started with.
I'll keep that in mind regarding that PR so it doesn't break so much of whatever merge conflict problems it may be.

Since the PR is merged I'll go ahead and close this. Feel free to re-open in case there are still things that needs to be addressed :-)


we need EN_setlinkid and setnodeid

i think we can write EN_setlinkid and EN_setNodeid
according to the issue

tank this issue solved by this commit

close it ?


When user account is locked REST API request gives 401 Un-Authorized.

Ex:
Request endpoint: https://localhost:9443/t/carbon.super/api/users/v1/me/sessions
Authentication mechanism: Basic Authentication
User Account state: locked
Ideally, the response should be 403 Forbidden.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Escaping of query values is too aggressive

Hello,
this is a cosmetic issue: The values of the object passed as query parameters (either though the Link component or through the router API) are escaped very aggressively. The resulting URLs are quite ugly and hard to read for humans.
I would like to propose a change to this behavior: React Router should only escape characters in the query's value which would otherwise break the query.
According to https://tools.ietf.org/html/rfc3986#section-3.4, the only character which breaks a query is (technically) the # character. However, since we're using the query as key value store, ?, & and = should also be escaped for readability (through it's technically irrelevant). & and   may require special encoding depending on the implementation, but this library already appears to handle these cases correctly (I did not test further).
Version
2.7.0
Test Case
http://jsbin.com/laleruquyu/edit?html,js,output
Steps to reproduce
Open the test case, click the link.
Expected Behavior
I expected output similar to:
URL: http://null.jsbin.com/runner#/b?books=1,2,3
Actual Behavior
URL: http://null.jsbin.com/runner#/b?books=1%2C2%2C3

We use history's query parsing by default. If you want to change the behavior of how things are parsed and serialized, you're more than welcome to: https://github.com/mjackson/history/blob/v2.x/docs/QuerySupport.md

Thank you for your response and for pointing me into the right direction. In practice it would be possible to replace the query stringification implementation like you suggested. This indeed worked like a charm with all modern web browsers during my tests, but goes against the RFC.
Thus, for future readers: My approach itself was wrong because is misinterpreted the RFC: https://tools.ietf.org/html/rfc3986#section-2.2 specifies that , is reserved as delimiter character and must therefore be escaped if it appears as value in the query string (even if it would not break the query string). If the values delimited by the delimiter are longer than the query key, it might also work to simply duplicate the key per value. This is valid per RFC, but may not be supported by all parsers.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:19: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:27: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:27: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:72: documentation_overspecified: Using doc_url and doc_source_url is overspecified
ERROR: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:72: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_6ffigxcxe3/clone/recipe/meta.yaml:72: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:19: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:27: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:27: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:72: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:72: documentation_overspecified: Using doc_url and doc_source_url is overspecified
WARNING: /tmp/abs_90dwprd9w8/clone/recipe/meta.yaml:72: missing_description: The recipe is missing a description
Errors were found


media slider issue

in media slider only fade effect is there for slider transition. is there any sliding effect transition option ?..

The slider is being deprecated for the carousel which has a sliding transition


Remove need for node_modules

GitHub is now discouraging checking in the node_modules folder. Also, there are times when a dependency in that folder will flag enterprise virus scanners, preventing the action from running on a self-hosted GitHub runner.
This PR

Configures npm run bundle with @vercel/ncc, eliminating the need for including the node_modules in a release.
Adds the dist/ folder with the javascript bundled by NCC for the next release of the action
Updates the action configuration to use the bundled javascript from NCC.
Tweaks the README.md to include the SVG logo
Updates the GitHub Workflows to eliminate deprecation warnings

https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action

@microsoft-github-policy-service agree


OrbTK Documentation update (V2)

documentation updates

rebase on new structure (#448)
include commits as documentation updates per submodule

Contribution checklist:

[x] Add documentation to all public structs, traits and functions.
[x] Run cargo fmt to make the formatting consistent across the codebase
[x] Run cargo clippy to check with the linter

Thank you

With commit 8af3937 i have finished to document all public functions beside the modules and structs. This does not imply, that we can't add more desciptive text or example code. But with the given status it should be good enough for the initial version.
I am confident, that this will make it quite more easy to keep up to date documentation for any upcoming PR merges.

since this is my wip branch to track just documentation updates, linter and clippy byte us for new Rust 2021.
Therefore i included the tiny bug fixes

assert!() calls
unneeded borrow checker calls

Please cherry pick to develop branch ....


Add snippets for each game event

It would be useful to have snippets for each game event without needing to look through the alliedmod wiki's list of events. I have made two files for this already, one for vscode and another for sublime as it's an option in this repo. They are missing descriptions, however this is due to these events just not having good documentation if at all (perhaps what the events will return would be good here?), so if someone else knows what all of these events do, they may modify these for the repo.
gameeventslist.txt
gameeventslist_sublime.txt

Thanks for this list! This is definitely a planned feature. The current way the OnGameEvent works just wasn't gonna cut it
I'll add this very soon! Thanks again for the list!

Added, will

It would be useful to have snippets for each game event without needing to look through the alliedmod wiki's list of events. I have made two files for this already, one for vscode and another for sublime as it's an option in this repo. They are missing descriptions, however this is due to these events just not having good documentation if at all (perhaps what the events will return would be good here?), so if someone else knows what all of these events do, they may modify these for the repo.
gameeventslist.txt gameeventslist_sublime.txt

Added and Credited! Will be available in the next update today.


Initial support for lisa

Added files to support Mi 11 Lite NE 5G. Took some files from mona as those have similar hardware

Thank you for your efforts. You need to wait for a while

From my personal point of view, you can sort out your submissions and combine some into one

OK, BTW I am not going to maintain this device frequently until April where I have plenty of time. Also working on CEMU to android project

Please follow upstream changes by renaming DSDT.AML to DSDT.aml


Player who crashes during base-startup doesn't get re-added properly

This is old and known. If you time-out while round is starting, when you come back, you will spawn in wrong position (sometimes CP or enemy team's spawn position).

Problem is most likely somewhere in modules/src/match.inc

didn't see you made it already ahah

It needs some investigation though. I recommend starting with LoadPlayerVariables and StorePlayerVariables/StorePlayerVariablesMin in modules/src/player.in.


Updating transactions in YNAB once cleared

Just back from a lovely holiday, and when going to reconcile on YNAB, I noticed that there were some differences in transaction values.
This is obviously because the initial transaction in Monzo is a placeholder until the exchange rate settlings, however what I ended up with was a ton of transactions that had a few pence difference between YNAB and Monzo. I ended up just letting YNAB do an auto-adjustment on reconciliation, but it got me to wondering...
Is it possible for fintech-to-ynab to update a transaction on YNAB once it gets newer information? Should it already be doing this and I've misconfigured? Is it worth me looking at this from a code point of view (I don't know ruby!), or has this already been attempted and ruled out as not possible?

If you are using webhooks, there is no way to do it sadly.

That is a shame. I've not looked into the YNAB API too much, figured you would know enough to be able to answer my question!
Presumably Monzo does not fire a webhook on Transaction update?

@PromoFaux Correct, this is due to Monzo not sending update webhooks.
We support this on Sync for YNAB when connected via TrueLayer.
I will look at adding support for it here, but the way fintech-to-ynab is built, it may make it quite a bit more difficult.

In the mean time, I may look into Sync for YNAB, though I do like the ability to self-host, so perhaps I will just put up with the limits of webhooks :) It's not like I go overseas so often that this is a nightmare!
Thanks for your response.

Yeah it's a bit of a pain when traveling. I still suffer from the same thing as i use webhooks on Sync for YNAB too (because they are just so much nicer overall).
Will see what i can do :)

I had this problem too (and I also had problems with the Ruby Starling lib dependency in fintech-to-ynab), so I wrote my own script to handle this: https://github.com/colophonemes/starling-to-ynab

If someone wants to PR this, feel free, but I am going to close this as it's not something I will be adding due to time.
Sync for YNAB does handle this automatically, as you can connect Webhooks + Open Banking for Monzo, so if you want that, you can use that.


Script UID improvements

Tested versions
4.3
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; <IP_ADDRESS>3) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
GDScript has a basic UID support now, but it has some missing features:

[ ] Allow extending script by its UID (extends "uid://acdc")
[ ] Allow using script preloaded with UID as a type (const Type = preload("uid://acdc"))
[ ] Add "Copy Script UID" option to Script Editor, in addition to Copy Script Path

The first two result in an error currently, the last one does not exist (though you can copy UID using FileSystem context menu).
Steps to reproduce
Try using any of the above.
Minimal reproduction project (MRP)
N/A

Allow using script preloaded with UID as a type (const Type = preload("uid://acdc"))

Preloading with only a UID is less readable and inconsistent with how other resources (it is assumed that UIDs can be safely removed/changed). I would expect an optional uid argument for load/preload:
const Type = preload("res://script.gd", "uid://acdc")

The same for extends, but the syntax probably looks worse due to the lack of parentheses:
extends "res://script.gd", "uid://acdc"

Also note that you can use relative paths with preload and extends:
extends "./script.gd"

const Type = preload("./other_script.gd")

For load, we can also add support for relative paths (see https://github.com/godotengine/godot/pull/66550#issuecomment-1648038763) or add "magic" constants like __FILE__, __DIR__ (but we should distinguish between absolute and res:// paths).

This would also allow us to have a warning if the plain path is out of date, possibly with an option to update it in the editor

Preloading with only a UID is less readable and inconsistent with other resources (it is assumed that UIDs can be safely removed/changed).

No, the whole purpose of UID is that it's not supposed to change, unlike paths. The engine ensures that. Other resources already support load and preload, it only doesn't work for scripts.
The readability can be always improved by adding a tooltip when hovering UID or even displaying it in a special way.

This would also allow us to have a warning if the plain path is out of date, possibly with an option to update it in the editor

That's not any different from what we have now. When you change path, any script referencing it will break. Issuing a warning would require scanning every script on every path change and updating is useless unless it happens automatically. We could implement that even without UIDs.

I meant with both uid and path, that specific suggestion

The readability can be always improved by adding a tooltip when hovering UID or even displaying it in a special way.

This is only possible for the built-in editor. For external editors, GitHub, etc. this is less convenient (requires plugins or is not possible). When you see extends "uid://lalala" or preload("uid://lalal") you don't know where to look for that file and it's much harder to guess what it does, especially in the case of extends.

No, the whole purpose of UID is that it's not supposed to change, unlike paths. The engine ensures that.

Sometimes Godot changes UIDs for some reason, even if I didn't recreate the resource, but only edited/renamed/moved that resource or its dependencies. I think that in the current implementation this is also possible for GDScript, since the UID line is not only inserted when creating the .gd file, but can also be changed later via the set_uid() method.
So I wouldn't be sure that UID persistence is guaranteed. Also, as far as I understand, UID was not intended to be a replacement for file paths, only a secondary addressing system. All other resources store both file path and UID. The UID may be missing, but the path must be there. This is what I meant by inconsistency.

That's not any different from what we have now. When you change path, any script referencing it will break.

The difference is that if you encounter an incorrect file path (for example, if you got someone else's project), you can try to look for the components of the path in the file system, most often the file can be quickly found. If you encounter an incorrect UID that has no references left along with the file path, then it could be almost any script/resource (if you are not familiar with the project).

This is only possible for the built-in editor. For external editors, GitHub, etc. this is less convenient

External editors have extensions. VS Code extension can e.g. show paths of external resources referenced in the scene:

UID display is likely possible too and might be even easier than in the Godot editor, because we don't have script editor extensions.

Sometimes Godot changes UIDs for some reason, even if I didn't recreate the resource

That's a bug.

since the UID line is not only inserted when creating the .gd file, but can also be changed later via the set_uid() method.

The editor should not change UIDs without a reason. IIRC set_uid() specifically was added to fix UID conflicts when duplicating files. User using set_uid() is irrelevant.

If you encounter an incorrect UID that has no references left along with the file path, then it could be almost any script/resource (if you are not familiar with the project).

That's fair I guess. But as I said above, incorrect UIDs are not something expected and AFAIK we have most cases already fixed.
Using UIDs in preloads is currently not supported well, because you need to manually copy the UID. If we add a special syntax for both path/UID, we could automatically insert it when drag and dropping files. But I'd make both path and UID optional, so user could use either of them or both.

I've been reading through the UID discussions/propositions/issues/PRs here this morning, and if I've understood correctly https://github.com/godotengine/godot/pull/97352 this has been moving in the direction where each script file gets its own .uid file where the UID is stored, and the editor handles renaming that .uid to match the name of the script file if the script file gets renamed.

That's fair I guess. But as I said above, incorrect UIDs are not something expected and AFAIK we have most cases already fixed.

So, just for this part I wanted to chime in that as I understand Unity has a similar system with its .meta files accompanying actual asset/script files and the UID within used for referencing, there have at least in my career repeatedly been cases where issues come up with "incorrect UIDs". Mainly goes something like this:

user A creates a script foo.cs
Unity creates foo.cs.meta ("UID file")
user A commits and pushes foo.cs, forgetting to commit the UID file
user B pulls, receiving foo.cs
Unity creates foo.cs.meta with different UID, any references to foo.cs on user B's end are invalid/missing
user B commits and pushes their UID file
user A fails to pull due to conflict of having the original UID file in their workspace as git is attempting to pull a tracked file version of it
worst case: user A proceeds to delete their own UID file and pulls user B's not-referenced-anywhere UID. In this case we end up with any possible references to foo.cs script file just being written as cryptic UIDs that can only be manually fixed by a user who knows the file they should referenced and knows how to edit the UID files and what UID should go there.

Depending on team sizes and skillsets there's multiple problems:

even skilled users can be guilty of this, as it's simply something that happens by accident every now and then when you work long enough
less skilled users get into situations where they seemingly "can't pull", don't understand why, and generally make the mistake of not committing the UID file more often, or might even delete the UID file after having had the script referenced by its UID somewhere

Pretty much all of this is manageable with experience and training, but I just wanted to note that having a broken project state with invalid UIDs as the only reference can be a bit of a frustration and may require some tinkering and sometimes just remaking entire assets (Node Trees) with broken references being the last remaining solution. This is not to say it's the wrong way to implement this, just that it's good to recognize any potential situations that may come with it.
Thus I think the following point has merit, even if the additional human-readable filename(context) part is just the filename without path, only to help solve issues when they arise by providing context and the UID is used for actual references universally.

The difference is that if you encounter an incorrect file path (for example, if you got someone else's project), you can try to look for the components of the path in the file system, most often the file can be quickly found. If you encounter an incorrect UID that has no references left along with the file path, then it could be almost any script/resource (if you are not familiar with the project).

Also, do correct me if this is an unhelpful way to comment on development as I'm not really experienced in big open source projects at this point, so I'll know the etiquette a bit better in the future.

So, just for this part I wanted to chime in that as I understand Unity has a similar system with its .meta files accompanying actual asset/script files and the UID within used for referencing, there have at least in my career repeatedly been cases where issues come up with "incorrect UIDs". Mainly goes something like this

As a former Unity Engine user, I want to add an additional, worse case when working with VCS:

User A moves a bunch of assets to another path
The user uses the VSC to undo that
Unity thinks those assets are new and reassigns a new UID to those assets
The User was unaware and pushed the changes to the remote
User B pulls the changes, and the references become broken on its end
User B fixes the references and pushes the changes to the remote
User A pulls the changes, and the references become broken on its end

Is it possible to use a .ignore file to determine which files and paths will not generate uid?

I think this might've gone offtopic.
The issue is about script UIDs. They were implemented, then reverted, now we have them again. This means scripts now have UIDs and are expected to work with UIDs everywhere where paths are supported (https://github.com/godotengine/godot/issues/99116#issuecomment-2470556027). I listed a few cases where they are not supported right now, and as per linked comment, they are expected to be resolved eventually.
About UID design in general I think we should open a separate discussion.

If you encounter an incorrect UID that has no references left along with the file path, then it could be almost any script/resource (if you are not familiar with the project).

Back on this, I think we can introduce some sort of local UID archive, where you can lookup what paths every UID pointed to. This could help in resolving conflicts/problems should they arrive.

Is it possible to use a .ignore file to determine which files and paths will not generate uid?

Currently no, you can open a proposal.

A local UID archive won't help if the bug was introduced by another developer.

The other developer will also have an archive, which they can send to you if they can't fix the issue themselves.
I can open a proposal about that, but first we'll see how much of a problem it will be.


  This is fine, and shouldn't cause the test to fail.  If this happens, skip the test instead.  The test, which mocks everything including the platform detection and the Cast API, is still valid on platforms where we can get away with those mocks.

@shaka-bot  test ce


FlowTyped HOCs across files

I'm essentially trying to create a file with a reusable HOC called withNavbar, it is just a setStatic with a few defaults.
This may be a misunderstanding of mine, but I'm seeing the following and can't understand why;
./with-navbar.js
// @flow
import { setStatic } from 'recompose';

const withNavbar = (title: string) =>
  setStatic('navigationOptions', {
    headerTitle: title,
  });

export default withNavbar;

./screen.js
// @flow
import React from 'react';
import { compose, withStateHandlers, type HOC } from 'recompose';
import { Text } from '../styles/components';
import withNavbar from './with-navbar';

const Test = props => <Text>{props.num}</Text>;

const enhance: HOC<*, {}> = compose(
  withNavbar('MyCounter'),
  withStateHandlers({ num: 1 }, { onSetNum: () => (num: number) => ({ num }) })
);

export default enhance(Test);

When I remove withNavbar('MyCounter') OR move the code in ./with-navbar.js to the top of the screen.js file, I get all the inferred props. However with it, props are empty.

You need to type withNavbar too

Hey, @istarkov thanks for helping - could you elaborate? What is the reason that it works when the hoc is defined within screen.js and not when it's in a different file?
I've tried typing it but am still not seeing it pull through.

It's how flow works, if something is used inside one file and not exported flow can infer function types.
But if function is exported, flow have no enough information how this function can be used (it's like deprecated * type which infered only within current file)
As I understand this is done by flow team for performance reasons.
In your case withNavbar have same return type as setStatic HOC<A, A> so you could define it as
/* @flow */

import { setStatic } from 'recompose';
import type { HOC } from 'recompose';

const withNavbar = <T>(title: string): HOC<T, T> =>
  setStatic('navigationOptions', {
    headerTitle: title,
  });

export default withNavbar;

Also having that * is deprecated I would recommend to type Enhanced components as
const SomeComponentExt: React.ComponentType<EnhancedProps> = compose(
   hoc1, ..., hocN
)(SomeComponent)

export default SomeComponentExt;

The best of above you don't need any type imports from recompose like import type {HOC}
for usual components

As I understand this is done by flow team for performance reasons.

Also exported function can be used outside of your project so not only performance

This is awesome thanks so much for clearing it up!

Hey @istarkov what's the deal with the * being deprecated?

How can I use setStatic without HOC?
const enhance = setStatic('foo', 'bar');

const Foo: ComponentType<{ children: Node}> = ({ children }) => children;

console.log(Foo.foo); // Flow error,  property foo is missing in React.StatelessFunctionalComponent [1].

@FezVrasta better to use resources like stack overflow as it already have answers on this, as it's the same how to type any react component with static fields
const Foo: { x: string } & React.ComponentType<{  blabla  }> = Radio;

Doesn't this nullifies all the automatic inference that should happen with the Recompose support for Flow? This stuff should be automatically inferred

What exactly nulified in your case?

That I have to manually specify the type of my final enhanced component. Other HOCs will automatically add the needed inferred types.

What changed? You need to specify that type before in HOC, you need to specify it now.

You need to specify type of your classes so it's all the same

I don't know, it seems redundant.
Anyway your suggestion doesn't work, Flow complains:
Cannot assign `enhance(...)` to `Foo` because property `foo` is missing in `React.StatelessFunctionalComponent` [1] but exists in object type [2].

Because setStatic type is wrong https://github.com/acdlite/recompose/blob/master/src/packages/recompose/index.js.flow#L174
must be something like
declare export function setStatic<A, KEY, VAL>(key: Key, value: VAL): ((React.ComponentType<A>) => {[KEY]: VAL} & React.ComponentType<A>) but need to be tested

For a fast fix you can cast to any and then to your type
const Blabla: MyType = (anything: any);

Thanks, it's really discomforting to see that one of the most popular React libraries, maintained by one of the Facebook guys, has so bad Flow support, technology built at Facebook 😥

I see, I'd love to be good enough in Flow to contribute to it.
Maybe moving the types into the library may help to get more contributions? Setting up flow-typed is pretty complex and time intensive.

Types are already in library see
here is type definitions https://github.com/acdlite/recompose/blob/master/src/packages/recompose/index.js.flow#L174
here is type tests
https://github.com/acdlite/recompose/tree/master/src/packages/recompose/__tests__/types
library itself is not typed, but at the moment I wrote typedefs it wasn't possible because of some flow issues.

running in project root
yarn flow

you get the all flowtype tests, editor support vscode, nuclide atom is also work well in any file marked with /* @flow */ in project

@FezVrasta see #678
So type I proposed works, just can't be used inside compose.
And even I'm not a big specialist in flowtype I can give 99% guaranty that it is impossible with current flowtype to make compose work with setStatic inside (without breaking inference for all the hocs).

Ok thanks for all the info and for your time!


[Pygen] Fix minor issues.

This PR adds the conversion of all the string comparison of riscv_core_setting fields to a python enum type.
This fix was needed in order to implement the previous TODO's related to processor configuration.

@googlebot I consent


Skeleton License

Hi!
I would like to know if I can use this skeleton for my personal projects.
I know there's a license included, but I don't know if that is the skeleton license or the final app using this skeleton license...
So, can I use this and, if I can, do I need to keep MIT license, mention Spatie, add a link to this package...?
Thank you!

You may use the skeleton however you want. Freely modify it to fit your needs. Although you're always free to mention us in your code, you're not required to do so.