electrumx_rpc returns unknown method for every command

I'm trying to run any of the RPC commands using the provided electrumx_rpc Python script, but no matter what, I get an unknown method error:
$ electrumx_rpc -p 50001 getinfo
error making request: (-32601, 'unknown method "getinfo"')

This is electrumx 1.16.0 on Python 3.12.3 on Xubuntu 24.04.
The electrumx.conf file looks like this:
DB_DIRECTORY = /home/myname/Downloads/electrumx_db
DAEMON_URL = myname:mypass@localhost
SERVICES = tcp://<IP_ADDRESS>:50001
COIN = Bitcoin
PEER_DISCOVERY = off
COST_SOFT_LIMIT = 0
COST_HARD_LIMIT = 0

The electrumx.service file looks like this:
[Unit]
Description=Electrumx
After=network.target

[Service]
EnvironmentFile=/etc/electrumx.conf
ExecStart=/home/myname/Downloads/electrumx/electrumx_server
ExecStop=/usr/local/bin/electrumx_rpc -p 8000 stop
User=myname
LimitNOFILE=8192
TimeoutStopSec=30min

[Install]
WantedBy=multi-user.target

I'm able to get a wallet like Sparrow to connect to electrumx just fine. I just can't figure out how to do the RPC commands.
I'm sure I'm just missing something obvious but I can't figure it out. Would somebody please point me on the right track?

you need to connect to the RPC port, not the TCP port
you should define a rpc port in the config, like SERVICES = tcp://:10070,rpc://:8070 and then connect to that

you need to connect to the RPC port, not the TCP port you should define a rpc port in the config, like SERVICES = tcp://:10070,rpc://:8070 and then connect to that

This solved it, I knew it was something easy. Thanks.


ComparePrivateProperties missing in ComparisonConfig

I'm upgrading to 3.6.0 and I've got a compilation error that the ComparePrivateProperties property is missing on the ComparisonConfig class.
What is the replacement for this functionality? I haven't found anything in the release notes.

From the home page:
"The Portable and .NET Standard builds cannot compare private fields or properties on a class. This is a security restriction by Microsoft."

Thanks! And thank you for sharing this library with the world that has already served me many years.

@dradovic Thanks for the kind words.  Enjoy the software.

Is this still correct? I know that .NET Standard has been moving quickly and so things might have changed!
I know that from a .NET Standard 2.0 library that it is possible to read private fields from a class instance but perhaps it wasn't in Portable builds (if these are still required) and so there may be a limitation in this library, somehow, rather than it being a .NET Standard security issue?
Also, I couldn't see the text "The Portable and .NET Standard builds cannot compare private fields or properties on a class. This is a security restriction by Microsoft" on  the GitHub home page for this repo (https://github.com/GregFinzer/Compare-Net-Objects), am I looking in the right place?

I created a test and altered the code so that .NET Standard can compare private properties and fields.  Can you test?
https://github.com/GregFinzer/Compare-Net-Objects/commit/e752b75b0a9b72075aa341eaf1d2929286c796a4
[https://avatars3.githubusercontent.com/u/16633931?s=200&v=4]https://github.com/GregFinzer/Compare-Net-Objects/commit/e752b75b0a9b72075aa341eaf1d2929286c796a4
Allow .NET Standard to compare private properties and fields · GregFinzer/Compare-Net-Objects@e752b75https://github.com/GregFinzer/Compare-Net-Objects/commit/e752b75b0a9b72075aa341eaf1d2929286c796a4
What you have been waiting for :+1: Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects. - GregFinzer/Compare-Net-Objects
github.com
Thanks,
Greg

From: ProductiveRage<EMAIL_ADDRESS>Sent: Tuesday, October 9, 2018 7:03 AM
To: GregFinzer/Compare-Net-Objects
Cc: Greg Finzer; State change
Subject: Re: [GregFinzer/Compare-Net-Objects] ComparePrivateProperties missing in ComparisonConfig (#77)
Is this still correct? I know that .NET Standard has been moving quickly and so things might have changed!
I know that from a .NET Standard 2.0 library that it is possible to read private fields from a class instance but perhaps it wasn't in Portable builds (if these are still required) and so there may be a limitation in this library, somehow, rather than it being a .NET Standard security issue?
Also, I couldn't see the text "The Portable and .NET Standard builds cannot compare private fields or properties on a class. This is a security restriction by Microsoft" on the GitHub home page for this repo (https://github.com/GregFinzer/Compare-Net-Objectshttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGregFinzer%2FCompare-Net-Objects&data=02|01||f87d65180556415d66b908d62dd6e6b3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636746798339756480&sdata=rtrpnnzhYf%2FVMIPrs7focqmQken3jR9V8tKFeRYz7SQ%3D&reserved=0), am I looking in the right place?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGregFinzer%2FCompare-Net-Objects%2Fissues%2F77%23issuecomment-428150905&data=02|01||f87d65180556415d66b908d62dd6e6b3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636746798339756480&sdata=9t%2BvtripXeiAPXJ%2BZCzruyot8pX6qiEHxY6ISrJaQfg%3D&reserved=0, or mute the threadhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAP3QSyVCLSASvMBzMDe2H5itcCFTXkDZks5ujIKYgaJpZM4R7a7H&data=02|01||f87d65180556415d66b908d62dd6e6b3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636746798339756480&sdata=Mr11q%2F9uA4am0fMObX3dbiIUm%2Ft56QSu69JWT0no9X0%3D&reserved=0.

Thanks for getting back to me so quickly. I cloned the repo to try it out and it all built and the tests ran and a NuGet package was created - that's a great start, thumbs up for making it so easy for someone to get started! :)
I had a look at the code and I wrote a unit test myself, which passed when I ran it in the VS Test Runner:
[Test]
public void DanTest1()
{
	var x = new SomethingWithPrivateField(123);
	var y = new SomethingWithPrivateField(456);
	var c = new CompareLogic(new ComparisonConfig
	{
		ComparePrivateFields = true,
		ComparePrivateProperties = true
	});
	var r = c.Compare(x, y);
	Assert.IsFalse(r.AreEqual);
}

private class SomethingWithPrivateField
{
	private readonly int _key;
	public SomethingWithPrivateField(int key) { _key = key; }
}

(Don't worry about the rubbish name, I haven't pushed it, I just wanted to try the code myself)
However.. when I tried to use it in a .NET Core 2.0 console app, it didn't work correctly.
Then I remembered that the VS Test Runner doesn't run tests in all target frameworks, for cases where multiple frameworks are specified. So I ran dotnet test from the command line instead and then I saw the test fail (the comparer says that the two objects are equal when they're not).

@GregFinzer, it looks like the code you changed altered how properties are enumerated for .NET Standard but not fields? I've made some changes to try to address this (and tidied up my unit test so that there is coverage).
The access of ".BaseType" required by the field-enumerating code is not supported in .NET Standard 1.3 and so I removed the two config options "ComparePrivateFields" and "ComparePrivateProperties" entirely for .NET Standard 1.3 builds, while leaving them in for other frameworks.
Pushed in https://github.com/GregFinzer/Compare-Net-Objects/pull/119
Jumping into the code and trying to find what needed changing seemed quite straight forward - thanks again, it's always nice to encounter an approachable code base!

Thanks so much!  Merged.
Greg

From: ProductiveRage<EMAIL_ADDRESS>Sent: Tuesday, October 9, 2018 5:35 PM
To: GregFinzer/Compare-Net-Objects
Cc: Greg Finzer; Mention
Subject: Re: [GregFinzer/Compare-Net-Objects] ComparePrivateProperties missing in ComparisonConfig (#77)
@GregFinzerhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGregFinzer&data=02|01||2615b1a1082a4e8a5af408d62e2f2138|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636747177283195885&sdata=K6rsLJNXC%2FAJTQtq8cZitTI4YAA0bOCkD%2BZ8QR%2ByiJE%3D&reserved=0, it looks like the code you changed altered how properties are enumerated for .NET Standard but not fields? I've made some changes to try to address this (and tidied up my unit test so that there is coverage).
The access of ".BaseType" required by the field-enumerating code is not supported in .NET Standard 1.3 and so I removed the two config options "ComparePrivateFields" and "ComparePrivateProperties" entirely for .NET Standard 1.3 builds, while leaving them in for other frameworks.
Pushed in #119https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGregFinzer%2FCompare-Net-Objects%2Fpull%2F119&data=02|01||2615b1a1082a4e8a5af408d62e2f2138|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636747177283195885&sdata=ukXz7uhkytsj4ptetyt3gD55PS8P%2BxxOUDnGPc66pyo%3D&reserved=0
Jumping into the code and trying to find what needed changing seemed quite straight forward - thanks again, it's always nice to encounter an approachable code base!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGregFinzer%2FCompare-Net-Objects%2Fissues%2F77%23issuecomment-428361097&data=02|01||2615b1a1082a4e8a5af408d62e2f2138|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636747177283195885&sdata=hG47VxgafVb7FBTsYx7dRGWxPPFHtKc%2BuJVNeidkHDo%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAP3QS3htKdmqTLv17_Xn3UdIdRy4-PFfks5ujRafgaJpZM4R7a7H&data=02|01||2615b1a1082a4e8a5af408d62e2f2138|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636747177283195885&sdata=3nome2iYh%2Bi36P4ByiUZOLQHYD5UjYnGxDngNUS7HJI%3D&reserved=0.

@ProductiveRage By the way, re-sharper will run for all frameworks.  It works great for that.

@GregFinzer Interesting to know, thanks!

@GregFinzer Thanks for publishing a NuGet package with this fix in so quickly!
In case you were curious, I'm using it in a project I'm tinkering with -
https://github.com/ProductiveRage/DanSerialiser
When writing the unit tests for more complex types, I considered comparing all of the field and properties manually and then considered using reflection and then thought "there must be a better way" - and there is! Thanks again for all your work :)

@ProductiveRage
That is interesting.  I like the idea of versioning.  You spent a lot of time on performance.  I have not tested the performance of mine compared to the others.
Have you seen this?  It is not a coincidence that Compare .NET Objects exists, the main reason why it was created was to test my serializer.
https://github.com/GregFinzer/KellermanSoftware-Serialization
The serializer is used in this database that no-one cares about:
https://kellermansoftware.com/products/ninja-net-database-pro

@GregFinzer I hadn't realised that you'd written a serialiser too! :D And a database!
I spent some time on performance for a couple of reasons - to any interested third party, I wanted to try to ensure that it wasn't horrendously slow (though features come before performance in this case).. being at least as fast as Json.NET was what I really wanted. But I also have a use case for this where I work - we flush entity data out of memory and onto disk between service restarts because it's a lot cheaper to pull the data back off disk when it starts up (compared to trying to get it live from the db) but it can still take twenty minutes and things are running slowly during that time. The code to deserialise is currently all hand-written so that it can load that data back as quickly as possible but this can be error prone and if the entities change when a new version of the service is pushed out then the files are all invalid, in which case we need to pre-build those cache files and include them in the service update package. I want to use my serialiser so that we don't have to write that de/serialisation code by hand and to try to make it possible for cache files from the previous version of the service to be compatible with the updated version. If the serialiser was much slower then this whole plan would go nowhere!


[Scheduled Maintenance] Umami (Self Hosted) down for Maintenance

Additional context
Upgrading umami from v2.10.1 to v2.10.2

Upgrade completed.


Bugfix group reload

Description:
After 5 hour bug hunting I found 2 bugs. Now should group work 🎉

We had luck that the old sync version remove groups in right order. Now with async we have no choise and I think we can not know in which order the group entity need to remove that the change listener not make a update and re create it on statemachine. I ignor now all remove entity by group state change listener and we need not known the right order or remove the entity.

So I need a 🍺

The new fix will check if group exists in statemachine. It also now a coro to protect he for shedule a update. In some case it will execute the update after we remove it...

I make a small optimaze with don't check statemachine every time, now I check the unsub from state change after I move this on top of async_remove.

Will this be in new release tomorrow? :)


UX bugs

From quickly trying out Timelines for a small creative writing test, the UX has some rough edges:

Checkpoint proliferation (serious issue):

Once you have created a checkpoint, it persists forever in the timeline view.
Renaming a checkpoint (by creating another checkpoint at the same chat message where one already exists, and confirming the link overwrite) retains both the new and old checkpoints on the timeline.
Deleting the chat file of a checkpoint (in Manage chat files) doesn't delete the checkpoint from the timeline. The ghost checkpoint persists forever, even after restarting ST.

In the timeline legend, the ghost checkpoint comes from the leftover bookmark_link in existing chat files that points to the deleted file. If you manually edit that out, the ghost checkpoint disappears from the legend.
In the list of buttons (when you have a node open in the timeline view), where does the ghost checkpoint come from? Call sequence in a 1-on-1 chat:

onTimelineButtonClick in SillyTavern/public/scripts/extensions/third-party/SillyTavern-Timelines/index.js
updateTimelineDataIfNeeded in SillyTavern/public/scripts/extensions/third-party/SillyTavern-Timelines/index.js
fetchData in SillyTavern/public/scripts/extensions/third-party/SillyTavern-Timelines/tl_node_data.js
API endpoint /api/characters/chats ~-> the returned filenames include deleted chat files~

Nevermind, the API endpoint works correctly. No idea what happened here. This part works, as one would expect. The /chats endpoint handler in SillyTavern/src/endpoints/characters.js gets its list of chat files directly by scanning the folder on the disk. Not much can go wrong there.
What might have happened:

Edited out the bookmark_link, but forgot to delete the chat file -> "ghost checkpoint" in the jump buttons in a graph node (because the chat file still exists), although no longer listed in the legend
Then deleted the file too, but the reload button added while working on #16 was initially faulty:

Delete a chat file in Manage chat files
Open the timeline view (without refreshing the graph)
Attempt to jump to the chat file you just deleted (still exists as a ghost in the graph if not refreshed)
A new chat opens, because the requested chat file no longer exists.

Workaround: for now, if you intend to use Timelines, use branches (i.e. unnamed checkpoints) instead of named checkpoints? Timelines has a fulltext search so unnamed multiverse branches are not much of an issue.
~Possible simple fix: when Timelines gathers information about checkpoints and finds a bookmark_link, it could also check that the linked chat file exists in the set of all chats (that the graph is built out of). Then dead links wouldn't matter. I'll try this approach.~ EDIT: Yep, pruning dead links when constructing the timeline graph solves this. Fix stashed for the next PR.

GUI navigation (minor issues):

~Would be useful to automatically focus and zoom to the clicked checkpoint in the legend.~ Done, stashed for next PR.
~Same for a text search result, if unique.~ Done, zooms to show all matches. This too stashed for next PR.
~Also, when opening the timeline view, would be nice to focus and zoom the graph to the current chat.~

~Need to get that data from the context.~
~Then this also needs a button to fit the view to the whole graph.~
EDIT: I have zoom-to-current-chat and zoom-to-fit stashed for the next PR now.

Placement of the panel when you click on a node.

Currently it either hinders navigation (if Fixed tooltip mode off), or requires glancing back and forth (if Fixed tooltip mode on).

~When the timeline view is opened, if there is a previous fulltext search term, it remains in the search field but the search is not applied. The search should be applied (and perhaps the content of the field selected, so that starting to type would replace the current search term).~ Added to #16.
Hotkeys:

In case of several search results, pressing Tab to choose and Enter to zoom in would be useful for quick navigation.
Esc to close the timeline view would be nice, as some other views already have it.

But where to inject the handler? We shouldn't touch the Esc catcher in RossAscends-mods.js, since this is a third-party extension.

I'll see if I have the time to do something to these - as usual, no promises except of the async/await kind.
EDIT: My mistake. The API endpoint gets the correct file list.

Talking to myself here...

Creating a checkpoint spawns a new chat, and uses the checkpoint name in the new chat file name
It also tags (bookmark_link) the relevant message in the original chat as having spawned that checkpoint
Timelines tracks the bookmark_link field to identify checkpoints

Therefore:

If you overwrite a checkpoint (re-checkpoint a message that already has a checkpoint tag a.k.a. bookmark_link), this spawns a new chat, and overwrites the old link. But the previous spawned chat still also exists; the original chat just no longer links to it.
If you delete the spawned chat file, the bookmark_link in the original chat file remains.

Will need to think about what this all means for Timelines when less tired.

I have this pretty much working, now pending on #16.
@Cohee1207: What's the preferred way to handle hotkeys in third-party extensions? I'd like Esc to close the timeline view, like in many built-in views, but I suppose modding the Esc catcher in RossAscends-mods.js is not the way to do it. :)

Changelog for upcoming PR:

Ignore dead links when populating the graph - no more checkpoint proliferation!
Swipes:

Revised to how I felt the comments and docstrings indicated it was originally intended to be.
In navigateToMessage:

If branch is true, always create a new branch (as we did before)
If branch is false, attempt to avoid creating a branch (no more branch proliferation - previously, navigating to a swipe always created a branch)

If the swipes are on the last message in the chat, they are still available, so just navigate there
But if the swipes are on an older message, then create a branch so that we can reveal the stored swipes

GUI: On nodes where the swipes are on an older message, disable the main button (and show it as disabled) on the node panel; the branch button ('→') is always available.
GUI: Double-clicking on a node now Does What You Mean:

When possible, do not create branch, just navigate
But if double-clicking a swipe on an older message, create a branch

GUI: When opening the timeline view, auto-zoom to the current chat, flashing the last node in it a few times to draw the user's attention
GUI: The text search zooms to the matching elements as you type, and zooms out if no match (or if you clear the search)
GUI: Toolbar button to zoom out to the whole graph
GUI: Toolbar button to zoom to the current chat (and flash the last node in it)
GUI: Clicking a legend item zooms to the matching elements, and zooms out when clicked again

The "clicked" status also resets if you click a legend item, but then do a text search

GUI: Padding in zooms, to show the matched region sensibly (e.g. show also the nodes at the endpoints of a checkpoint path)

And probably some stuff I've already forgotten. I'll complete the changelog when I post the PR.

Possibly stopPropagation is your bro here if you want to cancel out the default top-level handler of Esc key.

I have no problem with the top-level handler, except it's not closing the timeline view. :)
I noticed that the new Token probabilities feature added a case to RossAscends-mods.js, but that's a core feature, not a third-party plugin. Hence, I was thinking that I probably need to wire in a custom handler when the plugin initializes...

Yes, a custom handler with stopPropagation cancels the event bubbling to the top-level handler if it was used to close a Timelines view.

I missed the obvious implication, as usual. Thanks for the clarification. :)

Resolved by #18.


DB Config through Environment Variable

Hi..
Thanks for the great project. I just want to ask how do we use environment variable for the db config?

Everything can be sent in as environment variables.
Here's a snippet from main which shows the format:
	viper.SetDefault("postgres.sslmode", "require")
	viper.SetDefault("postgres.port", "5432")
	viper.SetDefault("mysql.sslmode", "true")
	viper.SetDefault("mysql.port", "3306")

Please re-open if it doesn't work for you.

Hi aaron..
i apologize i dont really understand,
First the snippet you showed me are only for sslmode and port? what about host, username etc?
			User:    viper.GetString("postgres.user"),
			Pass:    viper.GetString("postgres.pass"),
			Host:    viper.GetString("postgres.host"),
			Port:    viper.GetInt("postgres.port"),
			DBName:  viper.GetString("postgres.dbname"),
                        SSLMode: viper.GetString("postgres.sslmode"),

Second im not too sure how to set the environment variable with a dot? or is there anyway specific way i should set up my Environment variable? i dont think dot is supported

It was just an example, I didn't have the rest readily available. The rest follow the exact same pattern. Dot is not strictly supported nor strictly unsupported in environment: http://stackoverflow.com/questions/2821043/allowed-characters-in-linux-environment-variable-names
It worked when I tried it last time. The dot is an unfortunate thing we inherit from Viper with nested keys so it's fidgety to change.
Finally I'd caution you not to put your DB parameters in environment, but use a configuration file instead. The environment leaks secrets very easily by any process with any permission so you should not use them unless security is of no concern.
Read some of these to see why you shouldn't put your DB information in there and should use the config file instead:
http://movingfast.io/articles/environment-variables-considered-harmful/
https://github.com/docker/docker/issues/13490
Also remember that the secrets are not needed at runtime, only generation time. Past that, it's up to your app to create the sql.DB that you're going to work with so production constraints like "environment only" are not applicable here.

Hi Aaron
First thanks for the response, Yes but the config is needed to run the models test suites, unless there is away for me in the code in the db config.
First Is there any best practice advice to do this on CI, since i have afew different environments for CI which will run the test suites.

So, the advice I'd give you is not to run the generated tests in CI. Because that implies you're generating your models in CI. You should be generating your models on your development machine. And CI should just be using those to check the rest of your code.
Generation time is when you care about the generated tests. I'd suggest make a make/rakefile or whatever you prefer to do something like:
make regen-models

And have that generate models, run the tests, then clean the tests out on a successful pass.
That's to say, when you're doing development and changes on your database is when you'll be running the tests, not when CI is taking care of business.
Worst case scenario, just have your CI scripts dump the environment variables to the config file. Toml is painless to generate via echo statements.
Does this help?

It's funny because I actually had changed this in v3 to make things worked like I wanted. This is a breaking change if just suddenly change the environment variables that exist, so I'll leave it fixed in v3 and simply unfortunate in v2 :(


Add native <select> styling

Changes

Add styling for native <select> element.

Move styling that is not needed for <select> inside :is(:not(select)).

Added native prop to <Select>/<LabeledSelect> react components.

Defaults to false, in which case simply renders the old custom Select.
When true, renders a new, simplified native <select> with <option>s derived from the options prop. placeholder prop is used to add an empty option.
Needed some fiddling with Typescript but I was able to retrofit it into old types, while correctly diverging supported/unsupported props based on the value of native.

Testing

Tested in HTML select demo page in Chrome/Firefox/Safari on macOS and Windows.

Tried all 3 sizes.
Tried disabled.
Tried with status indicator.
Tried with placeholder and disabled options.

Added unit tests for native prop.
Added visual tests (both CSS and React).
Added stories.

Docs
Added jsdocs and changesets.
Added proper docs in select.mdx.

Read over the docs, lgtm


[Codegen]: Refactor translateArrayTypeAnnotation fns of (Flow, TS) > common fn > parsers-primitives.js

Summary

combined Flow and TS translateArrayTypeAnnotation fn 's into common fn
moved it to parsers-primitives.js
re-organized imports and exports

Extras:

resolved conflicts :)

NOTE: Temp. skipped CI to avoid wastage of compute resources for known issues/warns will rm once resolved

[skip ci]
Changelog
[INTERNAL] [CHANGED] - [Codegen]: Refactored translateArrayTypeAnnotation fns of (Flow, TS) > common fn > parsers-primitives.js
Test Plan

ensure 👇 is 🟢

yarn lint && yarn flow && yarn jest-react-native-codegen

Depends on PR https://github.com/facebook/react-native/pull/35167/ :)

Didn't see a 👍, before opening the PR.. It was like chore to open PR (daily routine). Sorry :)
Will open it once the task is assigned to me.

Reopened here #35479
:)


[Feature Request] Spoiler Minesweeper

We could have achieved greatness in the 90s and 00s, but instead we spend our time playing minesweeper. This feature request is simple: Implement a "spoiler" minesweeper game for Seasonal Bot.
The bot creates a minesweeper field, renders it as emojis hidden by spoilers, and sends it to the channel for us to play. Since the bot can't see which fields are being clicked, the bot won't check for winners or losers; it's just a fun game to play.
Example of how it could look:
Empty field

Partially solved (one field still to be identified!)

Showing all the mines and fields

Implementation details

[ ] Think of a neat way to generate minefields
[ ] Write a command that let's the user pick a difficulty level and custom field size/mines
[ ] Format it with spoiler tags (||something||) and send it!

Additional information

Add your feature to the evergreen season.
Keep us updated on your progress by leaving comments!
Make sure to give you commits a descriptive commit message
Please note the style guide and conventions listed in the various contrib documents
If you want to include graphics, make sure they have a permissive license

maybe something like this, we could use reactions to play the game.

^ Or we could reply to the prompt with 1-2 (for example). And then, the bot attempts to delete the response (keeping the channel clean), and updates the game state. Though this would raise the question: "Who should be able to play?" and "How do we prevent the game from disappearing from view?"

@A5rocks that sounds good, about it going out of view, there is the same problem with .snake (antidote/guess/quiz), and the player should be one that activated the command. just like the last examples.

I would like to work on this, I just can't work on it until Friday. so if somebody could do it before then feel free to.

That's okay, we're not in a rush. I'll mark this as in progress.

I have opened a pull request for this. https://github.com/python-discord/seasonalbot/pull/255

Merged by #255


Create a wiki page for server installations

Install dependencies (Node, NPM)
Download Inexor Flex
Install Inexor Core Server (hopefully using Flex)
Configure the profile
Create server instances
Use process manager for Inexor Flex: PM2

https://github.com/inexorgame/inexor-core/wiki/How-to-host-a-server

Is libsdl really needed for building the server?

Nope, the whole process is outdated.
However we will remove the listenserver,  which is already done in a branch. That needs some debugging and extensive testing before merge, though.
as soon as the grpc module stops bugging for me I'll test it more and merge it in master

Fixed here: https://github.com/inexorgame/inexor-core/issues/194


EC-195 Implement eth_gasPrice

The code looks good, I'm not sure about the logic though. We are supposed to recommend a gas price. I'm not sure if the average is a good recommendation (I don't think it's terrible).
Here's what geth does, adn here's geth classic. I didn't figure out what exactly they do, but neither looks like it's simply taking the average.

for me it looks like geth is returning lowest price from a block with getBlockPrices than if the price is greater than some max value it clips it and if not it sorts results and pics one with from the last position after discarding top gpo.percentile
and geth classic is estimating minimal price with which transaction would be included into block base on historical blocks and there is more logic there, but I am not sure if it helps to estimate better price because this is similar (if not the same) as predicting stock market prices
We can not predict the future so even with more complicated logic we can predict price which will be wrong (transaction will not be included), I will argue that when picking lowest possible price probability of not including transaction is higher
So I decided to stick with simples solution - ruling average, I can change that to picking lowest price from X latest blocks and  then getting max price from those after discarding Y percentiles (geth implementation)

Makes sense, but the problem I see with average is that a single TX could greatly offset the value. If we're after a simple solution maybe a median would fit better?

change that to picking lowest price from X latest blocks and then getting max price from those after discarding Y percentiles (geth implementation)

This is also interesting and perhaps not too laborious?
The other issue I see with this, is that in a fixed X number of blocks there could be very few or no TXs at all (at least theoretically).
With all that said, I'm fine with this solution. If you're going to stick with it I would just appreciate a comment like "this is simply taking the average, may require improvement in the future".

👍 will switch to max from latest min
about

The other issue I see with this, is that in a fixed X number of blocks there could be very few or no TXs at all (at least theoretically).

theoretically yes but if you set X high enough probability is negligible

I was checking few latest blocks and found that price is fixed at 20000 000 000 wei

Yes, it's the default gas price

as discussed at VSU we will stick with this naive estimate and add new task to improve it in the next PR


Remove unhelpful lint rules

Some candidates:

prefer-const
no-else-return

Just my thoughts, though :thinking:
no-duplicate-imports
Since we prefer only top-level imports in TVLK5, the following won't be possible without disabling the eslint rule (sample is taken from @traveloka/explore)
// Notice multiple imports from '@traveloka/explore'
import React from 'react';
import { Request, Response } from 'express';

// --- Utils/const ---
import { TravelokaPageComponent, logger } from '@traveloka/core';
import { fetchViewDescriptionApi, getUTMMediumOfArticle } from '@traveloka/explore';
import { redirect } from '@traveloka/core';

// --- Components ---
import { MobileDetailPage, JSONLDSchemaRenderer } from '@traveloka/explore';
import { MobileExploreHeadMeta } from '../../components/MobileExploreHeadMeta';

no-unused-expressions
At least allow some short-circuiting and ternary
(https://eslint.org/docs/rules/no-unused-expressions)
// short-circuiting
someCondition && doSomething()

// ternary
.then((err, data) => {
  err ? reject(err) : resolve(data)
})

no-negated-condition

+1 for react/jsx-handler-names

also default-case should be a warning instead error, as it is helpful in typescript for exhaustive switch case checking.
I'd love to make PR for this if we have agreed to which rules should be disabled


Adding webpack-dashboard

Adds webpack-dashboard. cc @mxstbr

Coverage remained the same at 98.942% when pulling 3cf6fb35656bf3a19eb3b5551f8b06d839fd84f7 on kenwheeler:adding-webpack-dashboard into 7bae788cf344da09a2b67545ffc788216513a653 on mxstbr:dev.

This is such a trivial change, I'm wondering if it's worth including by default. Let's ask the users!
React with a 👍 if you think this should be merged, react with a 👎 if you think we should leave this optional! (reasonings as comments appreciated too)

Does this play nice with cygwin/babun on Windows? I've had some issues with webpack-dashboard on Windows before, but I'm currently on a Mac so cannot test it myself.

I voted 👎  simply because I don't feel the extra 'clutter' is justified in all cases.
Having said that, webpack-dashboard is a cool plugin. I would love to see an addition to the docs covering how to make the changes covered in this PR.

@gihrig but if it is cool (like cssmodules, sagas, reselect, etc.), why not to go for enabled-by-default strategy? This boilerplate does so for many features and then suggests to uninstall unwanted things in docs/*/remove.md. What's the principal difference between webpack-dashboard and, let's say, offline-plugin in terms of their right to be in the boilerplate by default?

👍 on OS X
👎 on Windows, but only because of this bug

@mxstbr is the poll over?

This issue (https://github.com/FormidableLabs/webpack-dashboard/issues/85) is kind of a blocker, as we can't ship something by default that doesn't work for some people.
Let's close this for now and reevaluate once webpack-dashboard is a bit stabler, but I'll happily merge a guide on how to add it for the docs!

@mxstbr I'll let you know when I get a web view option released and/or get windows stable


Any idea for compilation error?

Hey I was trying to integrate this library in my Angular project, but got the following error:
Unexpected value 'NgxMuiDatatablesModule in /Users/.../node_modules/ngx-mui-datatables/ngx-mui-datatables.d.ts' imported by the module 'AppModule in /Users/.../src/app/app.module.ts'. Please add a @NgModule annotation.
The module was imported in app.module.ts, and the package was installed via npm.
I'm using Angular 8.2.1

Seems like it was caused by using --aot ahead-of-time compiler when starting the application, got it fixed by using the default option --jit. But why?

Most likely because at this time the library is a wrapper for the react library. I will be making this a native angular library soon so this issue will go away in the next major release.


Adding dms-endpoint delete action and usecase examples

For better SSL enforcement on dms endpoints I have added a delete action and tests as well as a couple usecase examples on dms-endpoint SSL

@kapilt Done with this PR if you can review and merge please.  Thanks

Docs and action look great, the test needs an additional check, its not actually verifying the delete, ie. if you replaced the action implementation with a pass the test would still pass. Typically we would construct a dms client and then verify that the endpoint no longer exists to verify the delete.

ok I will look at checking once the dms endpoint is deleted.  Do you have to do a sleep after the delete for it to verify or how would you seperate the 2 tests so DMS has enough time to complete the deletion before the next test checks?

ok I added a test after the delete to do a describe on the particular endpoint and make sure it's in a deleting status.  Will that satisfy the tests?

@kapilt ok think it's ready again


Improper Configurations

Well talking about the UI, it's a good package but when considering performance it isn't. Well, I found some issues I would like to address it.
Types
Types are not well defined, for instance talking about Message class https://github.com/SimformSolutionsPvtLtd/flutter_chatview/blob/7e7f8f41fe35dc777baad0f8849589d7dd64a64e/lib/src/models/message.dart#L26
Message class should be an interface or abstract class  where as TextMessage, ImageMessage, VoiceMessage should be child classes of parent message class that will allow having more functionalities related to particular messages. For example considering an ImageMessage if a user has to send an image message as of now he has to load it somewhere get url  then send image url as messageType image, what if he wants to send the image message from memory or uint8list there are a lot of functionalities and attributes are which are instance or message specific i think we should them because everything cannot be simply converted into Text.
In sentTo  and  sentBy instead of String data type it should be ChatUser directly i think that will be more feasible
https://github.com/SimformSolutionsPvtLtd/flutter_chatview/blob/7e7f8f41fe35dc777baad0f8849589d7dd64a64e/lib/src/models/reply_message.dart#L24
I'am not getting why is replyMessage a separate class it should be a type of message only , why does every message contains a default replyMessage it should be nullable
MessageState
What about MessageStates whether the message is delivered undelivered  pending states there should be some options for them too,
UI Rerenders
While testing i found unnecessary ui rerenders i think RepaintBoundary widgets must be wrapped around animating widgets also i found setState method is widely used inside the library which should be replaced with ValueNotifiers and ValueListenableBuilders.

I appreciate your thoughts. We always consider developer views on the package. So we highly consider your concerns and implement them accordingly.  Thank you!!

Well working upon the type system. ill PR soon


Terminal > Balance command

Hello,
Not sure if this is a bug/user error/misunderstanding. How does the balance command work?
The help says the following:
help balance
{
  "status": true,
  "minifunc": "help balance",
  "message": "",
  "response": {
    "description": "(address) - Return the global Minima balance for all coins or just a specific address"
  }
}

I've tried
balance
balance myaddress
balance tokenid
balance coinid
balance someone else's address
They all give the same output - my own full balance for all tokens.
Is it possible to get some more detail from the help balance command?
Thanks!
Jazmin

Yep..
It should only return full balance or to a particular address.. which I use
in a minidapp..
I'll check it out.
Plus help really needs a good seeing to..
On Fri, 11 Jun 2021, 17:44 Jazmin, @.***> wrote:

Hello,
Not sure if this is a bug/user error/misunderstanding. How does the
balance command work?
The help says the following:
help balance
{
"status": true,
"minifunc": "help balance",
"message": "",
"response": {
"description": "(address) - Return the global Minima balance for all coins or just a specific address"
}
}
I've tried
balance
balance myaddress
balance tokenid
balance coinid
balance someone else's address
They all give the same output - my own full balance for all tokens.
Is it possible to get some more detailed help from the help command? I was
expecting to be able to insert a tokenid and for the result to be filtered
by that.
Thanks!
Jazmin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/minima-global/Minima/issues/275, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEIYNUWABMF6UVM5O4LYHR3TSI4PRANCNFSM46RC5YTA
.


Fixed Typo in Default values Section

Just a small fix I have seen while reading through the docs.

Thank you for your PR.


.NET 6 Support

Hey there, is there any possibility that you could add .NET 6 support yet? If not, i'd be happy to do so myself and PR it. Best regards and thanks for the great plugin :)

Nevermind, having a good morning so far, gonna PR a neater solution later ☕ 😄


Love the package!

Apologies for missing this, thank you for the correction!


Null pointer at custom parameter setget export events

Godot version
4.02.stable
System information
Linux Ubunto 22.04
Issue description
Null pointer at custom parameter setget export events:
@export_group("This Component")
@export var someproperty: bool = false :
set(value):
get_parent()..... -> null pointer
$Camera/Camera3D.current	... -> accessing anything get null pointer
It happens when you load the node at the first time, just reseting any property that has set values...
What it suppose to do would be to be able to get the saved content and correctly load the object, it not only dont do that but gives null pointers errors.
Steps to reproduce
Just create an export on any node or component :
@tool
class_name Bug  extends Node3D
@export_group("This Component")
@export var someproperty: bool = false :
set(value):
get_parent()
Set some value in editor on this property, close the node and try to load it again, in my env its getting null pointer and reseting the content of this property
Minimal reproduction project
@tool
class_name Bug  extends Node3D
@export_group("This Component")
@export var someproperty: bool = false :
set(value):
get_parent()

I think this is expected if you wish to call get_node or any of the related function you shoul always make sure that your node is inside the tree. This applies everywhere but is more visible inside setter as they are effectively called often outside tree.
You should change your code to
@export var some_property : int :
	set(value):
		if !is_inside_tree():
			await ready
		some_property = value

it won't complain and it will be properly set.

It's expected indeed. The same issue arises when trying to call get_parent() in _init().

Parent node is loaded
Child nodes are loaded
Child nodes are ready
Parent node is ready

So you could use something like this:
@tool
class_name Bug  extends Node3D
@export_group("This Component")
@export var someproperty: bool = false :
	set(value):
		if not is_inside_tree():
			return
		$Camera/Camera3D.current = value

func _ready() -> void:
	someproperty = true

I'm closing as this is intended behavior.


Add ability to receive message from bot and display inside message list

[ ] Add js code from old template for connection to web socket server.
[ ] Add code for receiving message from web socket and render to messages list of associated with message channel.

Github have a problems and I will try to create and accept PR tomorrow by using this link https://github.com/maddevsio/mad-fake-slack/pull/new/16_Realtime_message_display_for_any_channels


Merge 'GO:0062178 stationary phase' (was: needed to fix exists_during annotations)

to migrate these
https://github.com/geneontology/go-annotation/issues/2677
so that they are either i) involved in ii) phases or iii) responses (will during 'response be allowed, I forgot ?)
We will require some new phase terms.
First
"stationary phase"
A phase in microbial growth when, due to nutrient limitation, growth rate and death rate are equal
parent
GO:0072690    single-celled organism vegetative growth phase

PMID?

https://www.ncbi.nlm.nih.gov/pubmed/8393130

I suppose this is a done deal now, but I'm not free of doubt about including this term. Unlike most (probably all - I haven't spotted any exceptions) of the rest of the "biological phase" branch of GO, stationary phase isn't a life cycle or developmental stage that all or part of a single organism can go through. It's entirely an artifact of growing microorganisms in laboratory cultures, and only applies to that kind of non-wild population of cells, not to an individual organism.

Actually we already had
https://www.ebi.ac.uk/QuickGO/term/GO:0044838
so this can merge  and "stationary phase" can be  a related synonym

Not sure it is the same as quiescence. Nothing in the definition suggests this is restricted to a single organism:A distinct period or stage in a biological process or cycle.
Will let @pgaudet decide about merge, keep or obsolete.

I'm less worried about the single organism vs. population angle than I am about the fact that stationary phase is essentially a phenomenon only seen in laboratory cultures, and whether that's in scope for GO. I agree that stationary phase and cell quiescence aren't identical (for one thing, cells can and do go into quiescence without lab manipulation).

Good point! @pgaudet I think we should obsolete this one.

We are curating  a publication from the PomBase Co-PI  Jurg Bahler @bahler  laboratory.
Jurg is an expert in chronological ageing, and he thinks we need this term - In fact, we need it for this publication:
PMID:34464389
Title: | R-loops and regulatory changes in chronologically ageing fission yeast cells drive non-random patterns of genome rearrangements.
Jurrg says:
"stationary phase (triggered by depletion of glucose in high-density cell cultures, cells survive only a few days"
presumably this isn't just a laboratory condition (Karen  @krchristie  pointed this out above).
In this paper Jurg's group  studies a gene whose expression is dramatically decreased in stationary phase  (and  @pombase we use GO "phase terms" as extensions to RNA and protein level terms to say when in the lifecycle these occur).
So would it be possible to resurrect this term with a better definition?
The original definition was
A phase in microbial growth when, due to nutrient limitation, growth rate and death rate are equal
suggest:
"stationary phase"
Definition: (in terms of is happening in a single cell)
A microbial lifecycle stage characterized by specific changes in gene expression and morphology, to decrease growth rate and maintain viability during nutrient (is it always glucose limitation for all species?).
Gloss: (This is about the population so it's outside the scope of GO, but useful to include)
During stationary phase, the population size does not increase. Stationary phase cannot be maintained indefinitely.
Jurg, is this definition correct? and could it be improved?

Note that the existing term for 'cell quiescence' is in the gocheck_do_not_annotate set and has this comment associated:

Note that terminally differentiated cells in higher eukaryotes are typically quiescent but metabolically active. Note that this term should not be used for direct annotation. If you are trying to make an annotation to x phase, it is likely that the correct annotation is 'regulation of x/y phase transition' or to a process which occurs during the reported phase (i.e mitotic DNA replication for mitotic S-phase). To capture the phase when a specific location or process is observed, the phase term can be used in an annotation extension (PMID:24885854) applied to a cellular component term (with the relation exists_during) or a biological process term (with the relation happens_during). Also, note that this term should not be used for direct annotation. If you are trying to make an annotation to x phase, it is likely that the correct annotation is 'regulation of x/y phase transition' or to a process which occurs during the reported phase (i.e mitotic DNA replication for mitotic S-phase). To capture the phase when a specific location or process is observed, the phase term can be used in an annotation extension (PMID:24885854) applied to a cellular component term (with the relation exists_during) or a biological process term (with the relation happens_during).

Since yeast stationary phase is a type of cell quiescence, presumably it should be treated similarly where appropriate annotations would be for terms representing regulation of entry or exit from stationary phase.
Also note that while stationary phase (GO:0062178) was obsoleted, we still have these three terms:
-- maintenance of stationary phase
--- maintenance of stationary phase in response to starvation
--- maintenance of stationary phase in response to toxin
The current definition of maintenance of stationary phase is inconsistent with the idea that stationary phase in yeast is a specific life cycle stage characterized by specific changes in gene expression and where cells are not dividing.

The homeostatic process in which a population of cells changes its metabolic activity resulting in the rate of death in the population equaling the rate of reproduction. Stationary phase can be in response to limited nutrients or a build-up of toxic substances in the environment.

I question whether "stationary phase in response to toxin" is related to stationary phase induced by nutrient limitation, though with respect to cerevisiae, I have never heard of "stationary phase in response to toxin". Note that none of these 3 terms are associated with a publication as a reference.

I  agree, based on what we already agreed above "stationary phase in response to toxin" makes no sense. Stationary phase happens in response to nutrient (only glucose??? limitation). I guess this can be obsoleted immediately? It has no annotations.

Is 'stationary phase' actually a type of quiescence if cells are still cycling albeit more slowly?  (I have no idea)

I  agree, based on what we already agreed above "stationary phase in response to toxin" makes no sense. Stationary phase happens in response to nutrient (only glucose??? limitation). I guess this can be obsoleted immediately? It has no annotations.

makes sense to me

Is 'stationary phase' actually a type of quiescence if cells are still cycling albeit more slowly?
(I have no idea)

My impression from when I was looking into this and reading Maggie Werner-Washburne's papers is that the cells are not cycling at all. Consistent with that idea, the growth curves for my cells in stationary phase were completely flat indicative of cessation of growth.
I think the GO definitions of stationary phase as a balance between growth and death are just wrong.

My impression from when I was looking into this and reading Maggie Werner-Washburne's papers is that the cells are not cycling at all. Consistent with that idea, the growth curves for my cells in stationary phase were completely flat indicative of cessation of growth.
I think the GO definitions of stationary phase as a balance between growth and death are just wrong.
è I agree: also in fission yeast cells are not really dividing during stationary phase. They are dying within a few days, however, in contrast to quiescence where cells remain metabolically active and can persist for extended times. So most fission yeast researchers distinguish between quiescence and stationary phase. But the latter is definitely a distinct physiological stage with some mutants showing phenotypes specifically during stationary phase. So it would be important to have this GO term to properly annotate these phenotypes.
Cheers,
-Jürg
From: Karen R Christie @.***
Sent: 07 January 2022 18:23
To: geneontology/go-ontology @.>
Cc: Bahler, Jurg @.>; Mention @.***>
Subject: Re: [geneontology/go-ontology] Merge 'GO:0062178 stationary phase' (was: needed to fix exists_during annotations) (#18275)
⚠ Caution: External sender

 I agree, based on what we already agreed above "stationary phase in response to toxin" makes no sense. Stationary phase happens in response to nutrient (only glucose??? limitation). I guess this can be obsoleted immediately? It has no annotations.

makes sense to me
2.      Is 'stationary phase' actually a type of quiescence if cells are still cycling albeit more slowly?
(I have no idea)
My impression from when I was looking into this and reading Maggie Werner-Washburne's papers is that the cells are not cycling at all. Consistent with that idea, the growth curves for my cells in stationary phase were completely flat indicative of cessation of growth.
I think the GO definitions of stationary phase as a balance between growth and death are just wrong.
—
Reply to this email directly, view it on GitHubhttps://github.com/geneontology/go-ontology/issues/18275#issuecomment-1007632664, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADMTWVCGFRWPGHQEI4NQMDLUU4VRXANCNFSM4JRXK3LA.
Triage notifications on the go with GitHub Mobile for iOShttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|j.bahler%40ucl.ac.uk|efc2367cdef44511b27708d9d20acb3b|1faf88fea9984c5b93c9210a11d9a5c2|0|0|637771766075364116|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Y1L9kPo0MFfx4vh5LtVs6kp7NP%2FaQhDiof%2FgTBqZCVk%3D&reserved=0 or Androidhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|j.bahler%40ucl.ac.uk|efc2367cdef44511b27708d9d20acb3b|1faf88fea9984c5b93c9210a11d9a5c2|0|0|637771766075364116|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=U18NI4kwsodYipF2ZUJnT4%2B4LvgLd%2BG1BxMoj3ZYkm8%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

we will use "during" GO:0036227  mitotic G2 cell cycle arrest in response to glucose starvation


Error

As soon as running a custom element containing , this error raised up:
Uncaught SyntaxError: Failed to execute 'registerElement' on 'Document': Registration failed for type 'undefined'. The type name is invalid.
window.Polymer @ polymer-micro.html:65
(anonymous function)@ disqus-comments.html:38
(anonymous function) @ disqus-comments.html:156
(function () {
  'use strict';
  Polymer({      --->row 38
    ....
    }
  });
})();     --->row 156

Also... seems your component is not upgraded to Polymer 1.0.0... infact you use tag "polymer-element" instead of "dom-module", despite in github is written a 1.0 update has been made.
Can you please fix/update the component?
Thanks very much, best regards.
UPDATE: bower install disqus-comments --save   installs the old version!!! I replaced the installed files with the ones downloaded and extracted from the zip file and the component works very well!

@fmcdev You can also download specific version with Bower:
"disqus-comments": "divshot/disqus-comments#0915a95"


WFLY-13278 CommandDispatcher cannot optimize marshalling of user command responses

https://issues.redhat.com/browse/WFLY-13278
Follows up on WFLY-13253.

Closing for analysis. Apparently, I broke something.


Typo in the NewResumeCommand file

Summary
There is a typo in the NewResumeCommand class.
What change needs making?
Fix the docs.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

I already had a draft in progress https://github.com/argoproj/argo-workflows/pull/9954


Does not work in browser

> EthAbi.rawEncode(["int"], [10])
ethereumjs-abi.js:527 Uncaught Error: Assertion failed(…)assert @ ethereumjs-abi.js:527toBuffer @ ethereumjs-abi.js:1033encodeSingle @ ethereumjs-abi.js:188ABI.rawEncode @ ethereumjs-abi.js:289(anonymous function) @ VM1505:1InjectedScript._evaluateOn @ (program):145InjectedScript._evaluateAndWrap @ (program):137InjectedScript.evaluate @ (program):118

> EthAbi.rawEncode(["string"], ["hi there"])
ethereumjs-abi.js:527 Uncaught Error: Assertion failed(…)assert @ ethereumjs-abi.js:527toBuffer @ ethereumjs-abi.js:1033encodeSingle @ ethereumjs-abi.js:176encodeSingle @ ethereumjs-abi.js:157encodeSingle @ ethereumjs-abi.js:119ABI.rawEncode @ ethereumjs-abi.js:289(anonymous function) @ VM1506:1InjectedScript._evaluateOn @ (program):145InjectedScript._evaluateAndWrap @ (program):137InjectedScript.evaluate @ (program):118

This is fixed by PR #16 (although the fix is a bit of a hack -- am I missing something / is there a better solution to this?)

It should have been mentioned, there are two prerequisites for the browser:

es6-shim
bn.js =4.10.5 as newer versions have a problem

(Some of this is mentioned on https://github.com/ethereumjs/browser-builds)

I think this should be fixed with commit https://github.com/ethereumjs/ethereumjs-abi/commit/c4dff1001dcf6c47fae5131380530ebf030c4f6c

Fixed, thanks @axic!


setting the line position of VIM::Window.current.cursor to 0 does not work.

e.g.
VIM::Window.current.cursor = [ 0, 5 ]

The first argument of 0 means "don't change the line position" but neovim-ruby reports "Index out of bounds".

Is that the behavior in vim? Should be easy enough to fix. I'm out of town for a few days, so feel free to open a pull request. Otherwise I'll get to it sometime next week.

@ohjames just merged a fix to match the behavior of vim, which is actually slightly different than you described. It looks like giving a line <= 0 actually moves the the cursor to the first line (and same for the column).
You can give it a try by rake installing on master if you'd like.

@alexgenco nope: see :help cursor. I quote:

If {lnum} is zero, the cursor will stay in the current line.

This extension I'm using relies on that fact.

Note also:

Positions the cursor at the column (byte count) {col} in the line {lnum}.  The first column is one.

@ohjames that isn't the behavior of the legacy vim VIM::Window#cursor= method though. Your example (VIM::Window.current.cursor = [ 0, 5 ]) moves the cursor to the first line, 5th column (0-indexed). It's not consistent with the cursor() function, and it isn't meant to be.
What exactly is the problem you're facing?

that isn't the behavior of the legacy vim VIM::Window#cursor= method though.

Just test it, you'll see you're incorrect.

Ah, you're correct.


feat: typescript as peer

tests fail for ts 5.1 and 5.2, i'm a bit at a loss for why exactly.
One fail is because an expected const is now a let which i think is more correct as  the original const got turned into a namespace and the number should be mutable.
The other one has to do with declaration tracking.
Added a test matrix to ensure we test the whole peer range, not bothering with ts 4.x anymore and stopping at released versions. With every new 5.x release we can extend the peer range after testing. The alternative would be to just use ^5 on the peer and just hope that new minors don't break stuff like 5.0 -> 5.1 appearantly did

Fixed the declaration tracking thing, it was testing for a magic number (16) instead of ts.NodeFlags.Namespace.
For the differing test output I added a mechanism for creating per-version expected output files. Hopefully it won't need to be used often.


feat: allow props.initialData to be a function

Allow initialData to be a function.
Update api/props/ and api/props/initialdata docs

The function is being called twice in development builds because of strict mode but it does not impact production builds.
close: #8107

It's good for review! @dwelle
I'm not 100% convinced about the wording for the initialData doc so please let me know what you think.

Looks good, thanks for the PR!

@es-romo I forgot to mention that the docs changes must be made in a separate PR merging them into docs-next branch, because we will be updating the public docs only after we release the next stable npm release (we currently don't version the docs).
When you're at it, could you also update the description of this page so it reflects the function signature https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/initialdata?

Also, please update the changelog packages/excalidraw/CHANGELOG.md (unreleased -> features) 🤗

Good to go, thanks!

@dwelle thanks for merging it! I'm finishing up the docs now (sorry for the delay). I have one question though, it is in the other pr #8166.


VisTextNet() won't run when node_type = "words"

Running
library(textnets)
data(sotu)
sotu_first_speeches <- sotu %>%
  group_by(president) %>%
  slice(1L)
prepped_sotu <- PrepText(sotu_first_speeches,
                         groupvar = "president",
                         textvar = "sotu_text",
                         node_type = "groups",
                         tokenizer = "words",
                         pos = "nouns",
                         remove_stop_words = TRUE,
                         compound_nouns = TRUE)
sotu_text_network <- CreateTextnet(prepped_sotu)
VisTextNet(sotu_text_network, alpha=.1, label_degree_cut = 3)

works fine.
However, when I try and run the word-to-word network, I get an error.
library(textnets)
data(sotu)
sotu_first_speeches <- sotu %>%
  group_by(president) %>%
  slice(1L)
prepped_sotu <- PrepText(sotu_first_speeches,
                         groupvar = "president",
                         textvar = "sotu_text",
                         node_type = "words",
                         tokenizer = "words",
                         pos = "nouns",
                         remove_stop_words = TRUE,
                         compound_nouns = TRUE)
sotu_text_network <- CreateTextnet(prepped_sotu)
VisTextNet(sotu_text_network)

I get the error
Using 'sparse_stress' with 250 pivots as default layout
Error in if (!is.na(weights)) { : argument is of length zero

Thanks @kelseygonzalez it looks like the issue is that this code creates such a large network that it makes ggraph crash (I'm able to run the code above taking just the first 1,000 lines of either dataset, for example). I'm not sure how to handle this- I could put more warnings in the vignette, or create a warning message that says "try plotting fewer nodes" (best would be to actually handle the problem in with/ggraph, I guess, but that's a much taller order ;(


Show commit descriptions in an overflow

https://github.com/Microsoft/vscode/issues/57301
Right now it looks like the title+description string is just added:

This would look terrible if the description contains a paragraph of text which I will sometimes do on particularly complex bug fixes.

@RMacfarlane I suspect the message you get back has \n chars in it and they're just converted to whitespace when in HTML. The first line is the title of the commit, the rest is the description.

Overflow already happens when the message to sufficiently long:


NHM Interaction Bank package point to non-existing csv

In json below (accessed on 14 Aug 2017 at http://data.nhm.ac.uk/api/3/action/package_show?id=nhm-ib), a reference is made to a inaccessible csv location http://data-test.nhm.ac.uk/dataset/82e807f0-6273-4f19-be0a-7f7558442a25/resource/1f64e2cf-d738-4a7c-9e81-a1951eac635f/download/output.csv . This prevents the import of NHM's Interaction Bank to succeed.
{
  "help": "Return the metadata of a dataset (package) and its resources.\n\n    :param id: the id or name of the dataset\n    :type id: string\n    :param use_default_schema: use default package schema instead of\n        a custom schema defined with an IDatasetForm plugin (default: False)\n    :type use_default_schema: bool\n\n    :rtype: dictionary\n\n    ",
  "success": true,
  "result": {
    "domain": "data.nhm.ac.uk",
    "license_title": "CC-BY-SA-4.0",
    "maintainer": null,
    "contributors": "",
    "relationships_as_object": [],
    "doi_status": true,
    "private": false,
    "maintainer_email": null,
    "num_tags": 3,
    "affiliation": "Natural History Museum",
    "update_frequency": "monthly",
    "id": "82e807f0-6273-4f19-be0a-7f7558442a25",
    "metadata_created": "2016-08-03T13:29:33.018856",
    "metadata_modified": "2016-11-27T15:57:42.906645",
    "author": "Ed Baker; Ian J. Kitching; George W. Beccaloni; Amoret Whitaker; Steen Dupont; Vincent S. Smith",
    "author_email": null,
    "doi_publisher": "Natural History Museum",
    "temporal_extent": "",
    "state": "active",
    "version": null,
    "license_id": "CC-BY-SA-4.0",
    "type": "dataset",
    "resources": [
      {
        "resource_group_id": "c6db8f05-bb68-4c9c-8583-9bf8babbb7e3",
        "url_type": "upload",
        "cache_last_updated": null,
        "revision_timestamp": "2016-08-10T11:48:54.623708",
        "webstore_last_updated": null,
        "_image_field": "None",
        "datastore_active": true,
        "id": "1f64e2cf-d738-4a7c-9e81-a1951eac635f",
        "size": null,
        "_image_licence": "",
        "state": "active",
        "hash": "",
        "description": "",
        "format": "CSV",
        "tracking_summary": {
          "total": 0,
          "recent": 0
        },
        "mimetype_inner": null,
        "_title_field": "None",
        "mimetype": null,
        "cache_url": null,
        "name": "NHM Interactions Bank",
        "created": "2016-08-04T11:22:31.455576",
        "url": "http://data-test.nhm.ac.uk/dataset/82e807f0-6273-4f19-be0a-7f7558442a25/resource/1f64e2cf-d738-4a7c-9e81-a1951eac635f/download/output.csv",
        "webstore_url": null,
        "last_modified": null,
        "position": 0,
        "revision_id": "a7f9861a-7f2b-4dc8-ad57-cf2765da6649",
        "resource_type": null
      }
    ],
    "num_resources": 1,
    "tags": [
      {
        "vocabulary_id": null,
        "display_name": "ecology",
        "name": "ecology",
        "revision_timestamp": "2016-08-03T13:39:11.402446",
        "state": "active",
        "id": "d841c836-0d11-4787-b7af-54d5fb610889"
      },
      {
        "vocabulary_id": null,
        "display_name": "interactions",
        "name": "interactions",
        "revision_timestamp": "2016-08-03T13:39:11.402446",
        "state": "active",
        "id": "5bdeddd0-d54b-448f-9d26-7421cd0079a9"
      }
    ],
    "tracking_summary": {
      "total": 0,
      "recent": 0
    },
    "doi": "10.5519/0060767",
    "groups": [],
    "creator_user_id": "1f8f6034-d43a-411f-9296-c17f5a06e14e",
    "dataset_category": [
      "Research"
    ],
    "relationships_as_subject": [],
    "revision_timestamp": "2016-11-24T18:29:53.405346",
    "organization": {
      "description": "",
      "created": "2014-12-08T16:35:24.247079",
      "title": "Natural History Museum",
      "name": "nhm",
      "revision_timestamp": "2014-12-08T16:35:24.188888",
      "is_organization": true,
      "state": "active",
      "image_url": "",
      "revision_id": "a11d1487-e85b-453a-9ea7-d5ed17f875ed",
      "type": "organization",
      "id": "7854c918-d7eb-4341-96e9-3adfb8d636a0",
      "approval_status": "approved"
    },
    "name": "nhm-ib",
    "isopen": false,
    "url": null,
    "notes": "A combined ecological interactions dataset from various projects at the Natural History Museum, London. The data is aggregated from a number of individual projects hosted in the Scratchpads virtual research environment.\r\n\r\n###Contributing Datasets\r\n* [HOSTS](http://hosts.myspecies.info) (Gaden S. Robinson, Phillip R. Ackery, Ian J. Kitching, George W. Beccaloni and Luis M. Hernández)\r\n* [Phthirpatera.info](http://phthiraptera.info) (Vincent S. Smith)\r\n* [Distribution of British Fleas](http://britishfleas.myspecies.info) (Amoret Whitaker)\r\n* [Phasmida Interaction Bank](http://phasmida.myspecies.info) (Ed Baker)",
    "owner_org": "7854c918-d7eb-4341-96e9-3adfb8d636a0",
    "title": "NHM Interactions Bank",
    "revision_id": "74074bff-43f8-4062-acdb-ba647aca6ee7",
    "doi_date_published": "2016-08-03"
  }
}

@edwbaker - please let me know how I can help fix this.

It could have been due to some server upgrades on the NHM Data Portal - can you try and run it again?

Sure - I just clicked the "restart build" on https://travis-ci.org/globalbioticinteractions/natural-history-museum-london-interactions-bank to re-run the sanity check before it's scheduled weekly job.
Unfortunately it seems like the issues remains (see https://travis-ci.org/globalbioticinteractions/natural-history-museum-london-interactions-bank/builds/261962109). Please confirm.
PS I've just added you as a contributor to this repo. I think that this would allow you to re-start the travis builds yourself. If this doesn't work or if you don't want to, please feel free to continue to bug me!

http://data-test.nhm.ac.uk/dataset/82e807f0-6273-4f19-be0a-7f7558442a25/resource/1f64e2cf-d738-4a7c-9e81-a1951eac635f/download/output.csv
should be....
http://data.nhm.ac.uk/dataset/82e807f0-6273-4f19-be0a-7f7558442a25/resource/1f64e2cf-d738-4a7c-9e81-a1951eac635f/download/output.csv
Although I see this is incorrect in the JSON supplied at http://data.nhm.ac.uk/api/3/action/package_show?id=nhm-ib
I have raised an issue on the NHM Data Portal queue: https://github.com/NaturalHistoryMuseum/DataPortal/issues/63

Upstream error fixed. Build passes.

thanks for fixing . . . please allow some time for changes to propagate to GloBI...


Allow offsetting of collision component primitives

Currently, you have to child a model to a collision component-enabled entity if you want to handle an offset. This is actually quite a pain and non-obvious for new users. We should consider supporting a positional (and rotational?) offset in the collision component.

I was surprised that I couldn't find a way to do this in the editor. When you say "non-obvious for new users", is there currently a way to do it that isn't very clear?

Yes. One option is to create an entity with rigidbody/collision components and create a child entity with a model component and offset the model. Or vice versa.

I see that this is already an old request but the possibility to do this is still not there. I would really appreciate this feature.

that would be great, UP

Bumping this up. The only way currently to offset a collision mesh or render is to use parent/child workaround. This, however, breaks when using with imported hierarchy template.
Say, you have a level imported as a template. You want to add a collider for some object. This object requires an offset, so you cannot add component directly on it. Becuase that node is part of an entity, you cannot reparent it, e.g. put under some entity to offset it.
The workaround is to disable that node and copy it to a new entity. This allows offsetting it. However, because this new entity is not part of a template, once the master template is updated, you will lose that entity and all its children, unless there is some script attached.

We really should add this in. It's a feature that keeps getting requested as seen here: https://github.com/playcanvas/engine/issues/3758

I just ran into this issue myself... I arranged a couple models and realized I can't actually place the collision capsule over them, instead I have to offset all the child entities to be relative to the fixed position of the collision component. :(
I can scale it, change its shape and axis, but I can't offset it... weird.

@MattHFoy there's a PR in progress for this in #3772

Another post about this on the forums https://forum.playcanvas.com/t/solved-objects-shaking-and-clipping-through-the-floor/25588/7

And another post on the forums: https://forum.playcanvas.com/t/is-there-an-option-for-offsets-in-collision-component/26289?u=leonidas


check the logger for trace and the options for withTrace

There was an issue with: https://github.com/evgenyrodionov/redux-logger/pull/205
In the PR feedback it was recommended to make a withTrace option for the config, but instead it was used to check the logger object.
What we want to happen is to have a withTrace option checked off the config as well as a trace property checked off of the logger object to make sure it supports trace.

Codecov Report

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

@@          Coverage Diff          @@
##           master   #304   +/-   ##
=====================================
  Coverage      82%    82%
=====================================
  Files           5      5
  Lines         150    150
=====================================
  Hits          123    123
  Misses         27     27

Impacted Files
Coverage Δ

src/defaults.js
75% <ø> (ø)
:arrow_up:

src/core.js
73.33% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Can someone review this? it's pretty useful.
Perhaps @grushetsky 🙏


Issue with Hue Dimming Switches

Hello Erik,
I need your help, but am not sure if it is related to your plugin. Since the switches are indicated by your plugin, it could be connected to many?
It is a problem with my Hue dimming switch which I have programmed in the Apple Home App. The problem has existed since yesterday. I updated yesterday to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>But I am not sure about whether it has something to do with it, since the switches are still reacting just not as they should actually.
Since it is relatively hard to describe and my English is not the best, I hope you can follow me anyway and have many ideas.
Problem Description:
The buttons on the switch only react in a fixed order to a kind of loop that starts with holding down the key and then reacts to the key once. It is no longer possible to switch on the light when pressing the button for the first time. It is mandatory to press and hold key 1 until the loudspeaker is switched on, thus pressing button 1 once and the light is switched on.
I have observed in the Apple Home App the switches since there after pressing a button it is symbolically displayed. Also there is no reaction to see if just push button 1 once. It is mandatory to press and hold down key 1 before.
In the log of the Homebridge, any operation is displayed, regardless of whether it is pressed or held down.
Measures taken so far have been unsuccessful:

Hue Bridge disconnected from electricity
Homebridge restart and reboot
Plugin downgrade to 0.5.15 now back to 0.5.18
Hue and HomeKit switches removed and newly added

The only thing I can think of is the complete Hue Bridge to reseten but which is very much work.
Here are some technical specifications for my Homebridge:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
I thank you already times with you and look forward to your answer.
Greeting Nastra

It would seem like homebridge-hue is incompatible with<EMAIL_ADDRESS> I'm seeing the same under<EMAIL_ADDRESS>but not under<EMAIL_ADDRESS>

You can fix the problem for your plugin? Or do I need to downgrade Homebridge?

@ebaauw May be related to this? https://github.com/KhaosT/HAP-NodeJS/issues/486

May be related to this? KhaosT/HAP-NodeJS#486

No.  It's this one: https://github.com/KhaosT/HAP-NodeJS/issues/488.  I'll see if I can patch this in homebridge-hue for now.

Wonderful! It all works again! Great thanks for the quick help!


Fix Gopkg.lock

What does this PR do?
Fix Gopkg.lock

Codecov Report

Merging #2834 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #2834      +/-   ##
=========================================
- Coverage   57.51%   57.5%   -0.02%
=========================================
  Files         387     387
  Lines       24811   24811
=========================================
- Hits        14271   14267       -4
- Misses       9587    9592       +5
+ Partials      953     952       -1

Impacted Files
Coverage Δ

pkg/logs/client/connection_manager.go
44.82% <0%> (-3.45%)
:arrow_down:

pkg/forwarder/worker.go
92.5% <0%> (-1.25%)
:arrow_down:


Preserve arity of memoized methods (and improve performance)

Thanks for maintaining this library.
An issue that we with Memoizer is that a method's arity is always -1 after memoizing. This is due to Memoizer overriding the original method with define_method method_name do |*args|. The arity of a splat-args method is always -1.
The PR changes Memoizer so it preserves the arity of memoized methods.
It also improves the performance of memoized methods by defining the memoized method with a define_method closure.
Please consider this change for your gem.

Thanks for submitting this PR!
It seems you're doing two distinct things here, and I'd like to split the changes out into separate commits.

Preserving the arity of the original method
Using module_eval and def instead of define_method

In your PR description, you write:

It also improves the performance of memoized methods by defining the memoized method with a define_method closure.

I am assuming from the code changes that this is a typo, and you meant with_out_ a define_method closure.
I'm 👍 on the first goal of preserving the arity of the original method.
I'm skeptical about the second performance-related change. Do you have evidence that the change would yield an improvement? My understanding is the opposite. This blog post indicates that using define_method should result in faster startup and reduced memory with negligible impact during runtime. As such, I'm inclined to continue using define_method.

Maybe I shouldn't have mentioned the performance impact. Preserving arity will only work using module_eval. I cannot produce this change while keeping define_method, so I'm afraid I cannot split this into multiple commits.
Methods defined with define_method will be slightly faster at start-up, and slower when called. The reason for this is that define_method will capture local variables in a closure, which needs to be restored before each call. However, the performance tax is constant and in most cases will be much less than the time saved by memoizing. This blog post builds upon the one you linked.
I hope you can judge the merits of this PR without focusing on the performance aspect, which I agree will not matter in most cases.

We now implemented this in a fork.


TypeError: qfs.isDirectory is not a function when using "develop" mode

What I did:
Attempted to use bootprint json-schema in "developer" (watch) mode.
Steps to repro:
Assuming you have a json file TEST.json:

npm install -g bootprint bootprint-json-schema
bootprint json-schema ./TEST.json output/ -d

What I expected to happen:
File watcher starts, files are generated.
What actually happens:
Crashes with TypeError: qfs.isDirectory is not a function within customise-watch.
More details
There seems to be a complex dependency tree here, but reproduction is trivial.
Full stack trace is:
BenMBP:bootprint-json-schema ben$ bootprint json-schema ../bootprint/examples/content.yaml tmp/ -d
Loading bootprint-json-schema 1.1.0
Loading bootprint-base 1.1.0
Serving "tmp/" at http://<IP_ADDRESS>:8181
Ready for changes
/Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/q/q.js:155
                throw e;
                ^

TypeError: qfs.isDirectory is not a function
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/customize-watch/lib/watcher.js:43:22
    at Array.map (<anonymous>)
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/customize-watch/lib/watcher.js:39:18
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/lodash/index.js:3073:15
    at baseForOwn (/Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/lodash/index.js:2046:14)
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/lodash/index.js:3043:18
    at Function.<anonymous> (/Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/lodash/index.js:3346:13)
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/customize-watch/lib/watcher.js:35:7
    at _fulfilled (/Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/q/q.js:854:54)
    at /Users/ben/.nvm/versions/node/v10.16.3/lib/node_modules/bootprint/node_modules/q/q.js:883:30
BenMBP:bootprint-json-schema ben$

This function was added in m-io v0.5.0 (https://github.com/nknapp/m-io/commit/932d674b10167072438a21695049a7011b9da237) and while I tried to fix this with sufficient cloning of various bootprint repos, and editing various package.json files, I simply ran out of talent.
Most of the dependencies declare that they require m-io 0.3.1 but clearly customise-watch requires 0.5.0 however, the customize-watch that gets installed declares that it requires 0.3.1.
I've raised this here, rather than at bootprint/customize-watch because I found this issue here and it doesn't appear to happen in the bootprint tests (I checked this too).

I have published new versions of the packages using m-io. The use all 0.5.0 now.
As far as I can tell, it works again now...
The problem is that I wanted ot get started with a new version a couple of years ago, but stopped in the middle of everything (for various private reasons). Some packages are now 3.0.1 like customize, but bootprint@1 still uses customize@1.  I guess that was your problem.

Thanks so much, it's all working now ! Truly appreciate the work on this project.


Add eca test

Hi @exlbashirn . This PR is to add eca test which wraps ng test.  I'd be happy if you could look it over. Thanks!

@jweisman I just wanted to say thanks for adding this. Much appreciated.
Jeff


test(caa upload): test refactoring, compatibility with upstream changes

I had a sudden urge to refactor the tests.

Use a shared behaviour for the image finding, to make tests less repetitive.
Introduce and use custom matchers for e.g. matching CoverArt instances. Looks a bit better.
Use abstractions to create dummy data. Takes away much of the bland, boilerplate, repetitive setup code in some tests.
Regenerate HTTP recordings to close #203.
Various other things, commit messages should explain.

Depends on #195 since I did not want to deal with merge conflicts. Marking as WIP as there's plenty more stuff to refactor, but not sure whether I want to do it now. Marking as skip cd because there might be minor changes to the code (e.g. coverage comments) but those shouldn't be deployed.

Apparently Soundcloud no longer returns a 404 for removed releases, so fixing that here too.

I'd recommend reviewing commit-by-commit rather than file-by-file. Most of the changes are fairly repetitive, prod code wasn't touched apart from Soundcloud.


Column Option 'ExcludeAdditionalProperties' for LogEvent is misleading

Use the columnOptions.LogEvent.ExcludeAdditionalProperties parameter to exclude redundant properties from the JSON. This is analogue to excluding redundant items from XML in the Properties column.

When turning this option on, I was expecting to not see the following columns in my JSON:

Timestamp
Level
MessageTemplate

Is there another way of removing these?

I looked at:
https://github.com/serilog/serilog-sinks-mssqlserver/blob/dev/src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/MSSqlServerSinkTraits.cs#L139
and it seems that these fields are always explicitly added in the LogEvent:
 if (ColumnOptions.LogEvent.ExcludeAdditionalProperties)
        {
            var filteredProperties = logEvent.Properties.Where(p => !AdditionalDataColumnNames.Contains(p.Key));
            logEvent = new LogEvent(logEvent.Timestamp, logEvent.Level, logEvent.Exception, logEvent.MessageTemplate, filteredProperties.Select(x => new LogEventProperty(x.Key, x.Value)));
        }

I'm not sure why is this done, because I guess that in most of the cases logEvent.Timestamp logEvent.Level and logEvent.MessageTemplate should be set as classic columns for faster filtering. For Exception, we might argue would it be better to put it in separate column or part of JSON field.
This way we always have duplicated values. I would propose to remove them from these lines or put null values if possible.

Tagging @nblumhardt here in case there is some reason they aren't excluded, but I agree it looks like a bug.

I found a different bug related to ExcludeAdditionalProperties, but it turns out this issue is caused by the JsonFormatter class in the main Serilog package, which always writes the Standard Columns:
https://github.com/serilog/serilog/blob/dev/src/Serilog/Formatting/Json/JsonFormatter.cs#L126
The problem is that JsonFormatter isn't designed to be inherited from, and it's used by other sinks which don't necessarily have the concept of additional places to store the various data elements. In fact, according to https://github.com/serilog/serilog/issues/1167 inheritance support was actually removed recently. Guidance per https://github.com/serilog/serilog/pull/819 is to create a custom JSON class based on JsonValueFormatter.
Famous last words: How hard can it be?

More of a note to myself for when I PR this, but the current SQL config methods will be deprecated since the IFormatProvider option is no longer necessary. See https://github.com/serilog/serilog/issues/1115 and https://github.com/serilog/serilog-sinks-file/issues/57 but the gist is that culture formatting is now handled earlier in the pipeline (message formatting).
The sink was passing the provider to JsonFormatter but that class ignored it (on the basis that JSON is a serialization format, which in theory is not meant for human consumption apart from formatted values such as the message text).

Another note -- looking at the change history, the XML column never included the Standard Columns (at least going back to the 2014/2015 timeframe when it appears this sink was split from the main Serilog project).

Dev build should be available on NuGet shortly.


Enhancement: migrate from nan to node-addon-api (N-API)

I'm trying to use this with Electron and run some tests in Node but I absolutely cannot get a working version for each runtime working simultaneously. It always puts the built module into Release\sharp.node, overwriting the previously built version.
If I build for electron, I cannot test. If I build for Node, I cannot run it in Electron.
When I build for Electron, my tests return the following:
The file it says it cannot find does exist
 FAIL  app/redux/sagas/firebase/oneTime/__tests__/helpers.test.js
  ● Test suite failed to run

    The specified module could not be found.
    \\?\C:\projects\myApp\app\node_modules\sharp\build\Release\sharp.node

      Error: The specified module could not be found.
      \\?\C:\projects\myApp\app\node_modules\sharp\build\Release\sharp.node
      at Runtime.requireModule (node_modules/jest-runtime/build/index.js:372:31)
      at Object.<anonymous> (app/node_modules/sharp/lib/constructor.js:10:15)

When I build for Node, my app's renderer throws this error:
ELECTRON_ASAR.js:172 Uncaught Error: The system cannot find message text for message number 0x%1 in the message file for %2.
\\?\C:\projects\myApp\app\node_modules\sharp\build\Release\sharp.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
    at Object.Module._extensions..node (module.js:671:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:172:20)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\projects\myApp\app\node_modules\sharp\lib\constructor.js:10:15)
    at Object.<anonymous> (C:\projects\myApp\app\node_modules\sharp\lib\constructor.js:259:3)

Hello, this is more a current limitation of native modules in Node rather than being a problem specific to sharp.
Different versions of Node and Electron each have different ABIs, hence the need to ensure compilation occurred against the relevant runtime.
Node provides a new ABI-stable N-API that aims to solve this problem. To take advantage of this we need to:

Wait for https://github.com/prebuild/prebuild/issues/220 to land
Wait for the N-API to be backported as "stable" to Node 6 and 8 to avoid warnings about its experimental behaviour
Migrate sharp from nan to node-addon-api

Understood. Thanks very much for the explanation @lovell. Is there no way to use different release directories for different binaries under the current system? I get that there's no good way, but I'd be okay with hacking things together in the meanwhile. Unfortunately I wouldn't have the slightest clue how to do it, if it can be done at all.
It seems like some modules don't have this problem, gRPC for example. @murgatroid99, can you mention how gRPC approaches this? I know whatever gRPC and some other modules are doing works currently on Node >8.9.3, though perhaps there's just no differences in the binaries between Node and Electron in those cases?

For gRPC we distribute separate binaries for Node and Electron, and node-pre-gyp has a feature that we use that parameterizes the name of the directory the binary is installed in based on which variant of the binary is being installed. So instead of creating build/Release/grpc_node.node, it creates something like src/node/v64-linux-x64-glibc/grpc_node.node or src/node/electron-2.0-windows-ia32-unknown/grpc_node.node.

sharp uses prebuild to create separate binaries for Node and Electron.
prebuild-install only downloads the relevant one at install-time and probably doesn't re-check at runtime, but it does have an install-time --runtime flag that might be worth experimenting with.

@lovell Could anything be used as an alternative to prebuild?
"Migrate sharp from nan to node-addon-api" - That sounds like something that can happen independently of waiting for other things to be ready (depending on developers' interest in doing so).
Would there be a way to get Sharp to work on either node or electron without needing to be compiled differently?

The prebuild changes have landed (although it looks like the linked issue hasn't been updated to reflect that) so that's no longer a problem. N-API is still marked as experimental in Node 6 but the use of node-addon-api might alleviate that now. Happy to accept a PR if you're able.

I doubt I'll have time (or the right experience) to do this really soon. I've recently concluded that tensors provide a useful abstraction for image processing, and am going to focus on https://github.com/metabench/ta-tensor for the moment. I plan on making a C or C++ addon and also  compiling to WASM for use in the browser. I'm interested in Sharp both because I've been using it, and to find out about best practises for making data-intensive addons. If it turns out that some new techniques I use would be useful to Sharp then I'd be in a better position to implement them in Sharp in the future.

Based on my slightly painful experience in another module of migrating to N-API across various versions of Node 8, where different versions of Node, Electron and N-API all report the same ABI but don't even support the same API, upgrading to use N-API will have to wait until after we remove support for Node 8 at the end of 2019.

An organisation that relies on sharp has very kindly offered to pay for the migration to N-API so expect to see some progress on this task over the next couple of weeks.

The latest work-in-progress for N-API migration is now available for early/alpha testing on the napi branch.
https://github.com/lovell/sharp/tree/napi

19 changed files with 557 additions and 710 deletions.

npm install lovell/sharp#napi

v0.25.0 now available with the use of N-API. I'm sure the maintainers of the many modules that depend upon sharp will be happy with the reduced level of installation issues this will bring.


[SteppedAnimatedMedia]: SSR is broken after moving up to NodeJS v22

Package
Carbon for IBM Products
Description
Moving up to NodeJS v22 now breaks SSR badly. I cannot even start my service.
The SteppedAnimatedMedia component is referencing lottie-web and it seems on NodeJS v22, some of its functions that using the document object are not called even at the package import.
[2024-10-30T11:49:22.461] [FATAL] @console/console-platform-express-setup - document is not defined ReferenceError: document is not defined
    at createTag (/Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:30:5)
    at /Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:1316:20
    at /Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:1323:6
    at /Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:1540:4
    at /Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:2:83
    at Object.<anonymous> (/Users/flannanl/Git/projects-ui/node_modules/lottie-web/build/player/lottie.js:5:3)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Object..js (node:internal/modules/cjs/loader:1689:10)
    at Module.load (node:internal/modules/cjs/loader:1318:32)
    at Function._load (node:internal/modules/cjs/loader:1128:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)
    at require (node:internal/modules/helpers:141:16)
    at Object.<anonymous> (/Users/flannanl/Git/projects-ui/node_modules/@carbon/ibm-products/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js:12:14)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)

Component(s) impacted
See the stack trace in the description.
Browser
No response
@carbon/ibm-products (previously @carbon/ibm-cloud-cognitive) version
2.47.0
Suggested Severity
Severity 1 = The design is broken in a critical way that blocks users from completing tasks or damages the brand. Affects major functionality, no workaround.
Product/offering
IBM Cloud Projects
CodeSandbox or Stackblitz example
N/A
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[x] I agree to follow this project's Code of Conduct
[x] I checked the current issues for duplicate issues

Looks like the crash is due to the new experimental feature in NodeJS v22: https://nodejs.org/docs/latest-v22.x/api/globals.html#navigator.
Since there is a way to disable the feature for now, I'm okay to lower the severity to 2.


Better error handling for missing schemas.

Is your feature request related to a problem? Please describe.
If a schema is missing, an unhelpful error is thrown.
Error in fetch(): Error: Cannot find module './paragraph--columns--default--view.json'
    at eval (eval at ./.nuxt/schemas lazy recursive ^\.\/.*\.json$ (app.js:394), <anonymous>:70:12)

Describe the solution you'd like
Make the error explain the problem and provide a solution.
E.g., A schema file is missing: "paragraphs--columns--default--view". See https://schema.druxtjs.org/docs/missing-schema for more information.
Describe alternatives you've considered
N/A
Additional context
https://github.com/druxt/druxt-schema/issues/44
https://github.com/druxt/druxt-entity/issues/98

This has already been implemented using the DruxtDebug component.


how to display chinese

month week display english how to change them to other language  i already try moment.locale('zh-cn') but it doesn't work

help

This ia a Support Question!
A support question starts with how, why, or some other statement indicating you are trying to understand how to use this directive.
For support questions, please use one of these channels:
Gitter: https://gitter.im/dalelotts/angular-bootstrap-datetimepicker
Stack Overflow: http://stackoverflow.com/search?q=angular-bootstrap-datetimepicker


utility script to refresh the icon assets

refresh-icon: utility script distilled from the main Setup to refresh the icon assets in case it changes or needs tweaking

Thanks! This is nifty :)


fix: pre-commit autoupdate

This is a noop commit just to trigger a new release.

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

v3.0.3
GitHub release

Your semantic-release bot :package::rocket:


Illegal node ID set as an input for Animated.DiffClamp node

🐛 Bug Report
Issue reported in #11317 seems to be still occasionally happening:

To Reproduce
I cannot actually find a reliable way to reproduce - happens maybe once in 20 executions.
Expected Behavior
Error does not appear.
Code Example
// this.offsetY is an instance of Animated.Value
// maxOffset is an integer
const translateY = Animated.multiply(Animated.diffClamp(this._offsetY, 0, maxOffset), -1);

Environment
React Native Environment Info:
System:
OS: macOS 10.14.2
CPU: (4) x64 Intel(R) Core(TM) i5-6267U CPU @ 2.90GHz
Memory: 859.86 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 8.3.0 - ~/.nvm/versions/node/v8.3.0/bin/node
npm: 6.4.1 - ~/.nvm/versions/node/v8.3.0/bin/npm
Watchman: 4.7.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
Android SDK:
Build Tools: 26.0.1
IDEs:
Android Studio: 3.3 AI-182.5<IP_ADDRESS>99772
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
react: 16.5.0 => 16.5.0
react-native: https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz => 0.57.1

Same issue

No, unfortunately issues don't fix themselves alone, Mr. Robot.