[Feature]: Update Command + Update on Shutdown flag

Hi,
Thank you kindly for your work on this, really great docker image and it has been working
well for me. I do have a suggestion for the auto update script though - if there's no update
available, don't shut down the server. This would allow for more frequent update checks as
well, instead of just once per day (For those that would rather be updated asap).
I believe this is possible via SteamCMD, though it's a bit of a hacky workaround (Skip to the last two posts in this thread):
https://steamcommunity.com/app/346110/discussions/0/535152511358957700/
If I were more familiar with rust I'd offer up a PR but alas it's all a bit greek to me.

Originally posted by @neoKushan in https://github.com/mbround18/valheim-docker/discussions/126
Acceptance Criteria:

Odin Update command which checks for updates
Environment Flag to turn on checking for updates upon shutdown

In addition to this it would be great if it could do a check before it shuts down to see if anyone is currently in the server and wait till user count = 0 before shutting down and updating.

Alright, so I'm looking through the full thread currently. There's a lot of information from quite a while ago, so I'm planning on spinning up a valheim server with no auto updating so that it can go stale after the next update and I can use it for testing to see if any of the information is out of date.
Note: to keep things easy to digest I will refer to the duplicate server install used to check for updates as "staging"
Currently it looks like this method might involve having to keep a duplicate server installation just to use for checking if an update is available. Luckily the Valheim server install is only 1GB so having to keep a copy isn't a huge issue (compared to something like Ark with a 12GB server). If keeping a staging server to check for updates ends up being required then it could be good to expose a mount point for it so that people running multiple Valheim containers on the same machine can all share the same staging server.
Overall this should be pretty doable and if implemented well could allow for checking for updates more frequently to reduce the chance of trying to log on to an out of date server.

In addition to this it would be great if it could do a check before it shuts down to see if anyone is currently in the server and wait till user count = 0 before shutting down and updating.

This does sound like a nice feature, but I probably won't add it for the MVP at least. I am planning on exposing some of the information provided through Steam queries which includes the number of players online. There  isn't any existing work on providing this in Rust through, so I was planning on working through implementing the protocol myself to make it easy to add in here.
Ideally this information could be used to provide something like an odin status command that can list if the server is online, the world name, and how many players are online. A nicer solution would be if there was something like RCON to allow for interacting with Valheim, but I don't know of any way of interacting with a Valheim server remotely like that yet.

Appreciate you looking into this. I'm happy to help/test where I can, I don't know any rust but I'm a fairly experienced dev and not afraid to get my hands dirty.

Hello again everyone! I figured I would try to get all my thoughts down in writing to force me to organize everything I've found.
Note: all paths are based on the path from being the steam user in the standard server install. i.e. from within
❯ docker exec -it --user steam ${VALHEIM_CONTAINER} bash

Note: anything that looks enough like json to make you just wish it was just json is really Valve's basically undocumented vdf data format. I tried out steamy-vdf and vdf-serde to deserialize this, but had issues with both, so I'm going to planning on just manually parsing atm
Exploring the options from the steam thread
tl;dr I think that manually removing the cache is the best pick
Option 1: Use a separate "staging" install to deal with the cache not updating correctly
This seems to work and also seems to be what thmhoag/arkserver and lloesche/valheim-server-docker (I think, haven't actually verified this one) use.
The downside here is that you have to keep a separate install (not a huge deal here since the server is 1GB).
Option 2: Magic steam command
Supposedly steamcmd +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login ${SteamLoginName} +app_info_update 1 +app_status ${SteamAppID} +quit works fine as a way of seeing if an update is required, but requires logging in with an account instead of anonymously, and also potentially doesn't always work according to others.
Option 3: We can remove the cache :D
Good ole Marcellus Wallace mentioned that you can remove the cache at ~/Steam/appcache/appinfo.vdf to actually get an updated response without having a staging install!
How to check for updates
So from poking around I believe I've found that the buildid for the current install can be found at ~/valheim/steamapps/appmanifest_896660.acf which currently for me contains
"AppState"
{
	"appid"		"896660"
	--- 8< snip 8< ---
	"buildid"		"6246034"
	--- 8< snip 8< ---
}

After that the current buildid available from steam can be found by removing ~/Steam/appcache/appinfo.vdf and then requesting the app info like so
steam@13b6d458d762:~$ rm ~/Steam/appcache/appinfo.vdf
steam@13b6d458d762:~$ ~/steamcmd/steamcmd.sh +login anonymous +app_info_print "896660" +quit

The end of the second command contains a vdf response with the info we want (would be nice if the response was sent to stdout and all the junk before was sent to stderr instead of sending it all to stdout steam!)
"896660"
{
	--- 8< snip 8< ---
	"depots"
	{
		--- 8< snip 8< ---
		"branches"
		{
			"public"
			{
				"buildid"		"6246034"
				"timeupdated"		"1613558776"
			}
			--- 8< snip 8< ---
		}
	}
}

So from here we can see that the server is already up to date since the app manifest and the current app info both have a buildid of 6246034, but if they differed then we would know to update!
Example parsing buildid from app info
Example parsing buildid from app manifest
Command line setup
I was thinking something along the lines of odin update [--check | --force]#152
odin update
Will check if there is an update. If there is no update do nothing. If there is an update then stop the server if it was running, update the server, and start the server again if it was running before (return it to the previous state).
odin update --check
Checks if there is an update and then gives some easy way to include this in scripting (through a special exit code or something). This won't actually update the server. It's also possible that odin --dry-run update could have this same behavior instead, but it should still error if it's used with --force which might make people more likely to mess up using the exit code.
odin update --force
Essentially equivalent to
odin stop
odin install
odin start  # <-- but only if it was running before

Will take down the server and try to install updates no matter what.
Remaining concerns
I think my only remaining concern so far is from people trying to run multiple servers off the same installation. Under a typical setup only one server will go offline for the update and all the others will continue chugging along without realizing they are out of date (and may encounter issues from this as well). Honestly the server install is only 1GB, and it would still be possible to have multiple servers run off the same install, but people doing that just need to do some extra work to manage checking for updates with one server and then restarting all the other's if there was an update. I feel like this should be relatively easy to manage still with the command line options provided above.
Closing
Any extra thoughts from anyone? Unless something seems game-changing then I should be free to implement these changes over the next couple days.

@LovecraftianHorror Excellent breakdown! My suggestions are to

For the update checker, I like the idea of nuking the app info when we update. There are also another set of variables we could try, thoughts?
 ../steamcmd/steamcmd.sh +@bCSForceNoCache 1 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir /home/steam/valheim  +app_info_update 1 +app_status "896660" +quit

You are correct in the event that the two github repos you linked and for other games they use a staging area and rsync over the files. This can be cumbersome as the storage utilization can double with a staging dir and my suggestion is if possible to skip staging.

As a fallback we can always keep https://docs.rs/steamworks/0.6.1/steamworks/ in mind for a potential library to utilize.

To address your concern, we do have multiple people using this docker image with multiple servers. Some of them reuse the server binaries and run multiple servers off of them which can cause issues. My suggestion is to just make sure we have flags available for them to toggle for auto updates.

 ../steamcmd/steamcmd.sh +@bCSForceNoCache 1 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir /home/steam/valheim  +app_info_update 1 +app_status "896660" +quit

Oh I didn't know about that, if we could just use one command then that would be simpler. Do you know what the output looks like when there is an update available? I would assume either the install state or update state value would change, but I'm not sure what to.

as a fallback we can always keep https://docs.rs/steamworks/0.6.1/steamworks/ in mind for a potential library to utilize.

It would be nice if we could handle all of the steamcmd stuff in rust if possible. I've poked through the docs a bit there, but couldn't find an equivalent to what we're trying to do here yet (granted I didn't look for too long). I think we can kick the can on this a bit if we can get stuff with steamcmd working in the meantime.

I did an a lot of run around the Rosie on this :P we could diff these two commands to check if there is a version update :P

 ../steamcmd/steamcmd.sh +@bCSForceNoCache 1 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +app_info_update 1 +app_info_print "896660"  +quit | grep "buildid"

cat steamapps/appmanifest_896660.acf | grep "buildid"

Getting time to dig into this a bit more (getting things together to move). I'll have to double check that the command above doesn't still use the cache, but if it doesn't then that's also a good option. I have most of the work done for the PR, I'll open up a draft before I call it for the night!

This does sound like a nice feature, but I probably won't add it for the MVP at least. I am planning on exposing some of the information provided through Steam queries which includes the number of players online. There  isn't any existing work on providing this in Rust through, so I was planning on working through implementing the protocol myself to make it easy to add in here.

Actually there seem to be this implementation : https://github.com/rumblefrog/a2s-rs

This does sound like a nice feature, but I probably won't add it for the MVP at least. I am planning on exposing some of the information provided through Steam queries which includes the number of players online. There  isn't any existing work on providing this in Rust through, so I was planning on working through implementing the protocol myself to make it easy to add in here.

Hi,
Actually there seem to be this implementation : https://github.com/rumblefrog/a2s-rs

Is that not specific to Source games (rather than Steamworks games)? Valheim is built on Unity, not source.

@neoKushan I'll have to double check, but steam has some way of accessing the player count since it reports it in the direct server connection screen.

@mbround18 well now that there was another update I can confirm that +@bCSForceNoCache 1 still uses the cache while removing the appingo.vdf forces the info to update :upside_down_face:
steam@790109cf62e2:~/valheim$ ~/steamcmd/steamcmd.sh +@bCSForceNoCache 1 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +app_info_update 1 +app_info_print "896660" +quit | grep 'buildid'
				"buildid"		"6246034"
				"buildid"		"6272190"
				"buildid"		"6287700"
steam@790109cf62e2:~/valheim$ rm ~/Steam/appcache/appinfo.vdf
steam@790109cf62e2:~/valheim$ ~/steamcmd/steamcmd.sh +@bCSForceNoCache 1 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +app_info_update 1 +app_info_print "896660" +quit | grep 'buildid'
				"buildid"		"6287700"
				"buildid"		"6294553"
				"buildid"		"6293812"

Thanks for the heads up @dkurzaj ! I didn't find it because they don't include any key words relating to steam queries for crates.io, but it looks like it could be exactly what I needed for this! I just modified the unit test to point to my server and it looks like there's quite a bit of info
Info {
    protocol: 17,
    name: "[REDACTED]",
    map: "[REDACTED]",
    folder: "valheim",
    game: "",
    app_id: 0,
    players: 0,
    max_players: 64,
    bots: 0,
    server_type: Dedicated,
    server_os: Linux,
    visibility: true,
    vac: false,
    the_ship: None,
    version: "<IP_ADDRESS>",
    edf: 177,
    extended_server_info: ExtendedServerInfo {
        port: Some(
            2456,
        ),
        steam_id: Some(
            [REDACTED],
        ),
        keywords: Some(
            "0.146.8",
        ),
        game_id: Some(
            892970,
        ),
    },
    source_tv: None,
}


LIBRAW_DECODER_FLATFIELD no longer supported

The most recent version of LibRaw (0.17.0) no longer defines LIBRAW_DECODER_FLATFIELD, therefore compilation of oiio fails with:
/tmp/SBo/oiio-Release-1.5.18/src/raw.imageio/rawinput.cpp: In member function ‘virtual bool OpenImageIO::v1_5::RawInput::open(const string&, OpenImageIO::v1_5::ImageSpec&, const OpenImageIO::v1_5::ImageSpec&)’:
/tmp/SBo/oiio-Release-1.5.18/src/raw.imageio/rawinput.cpp:207:48: error: ‘LIBRAW_DECODER_FLATFIELD’ was not declared in this scope
if (!(decoder_info.decoder_flags & LIBRAW_DECODER_FLATFIELD)) {
Removing the relevant lines from rawinput.cpp allows the build to complete, as does hiding them behind an #ifdef LIBRAW_DECODER_FLATFIELD (enabling its use with older versions of LibRaw). Not sure if that has unintended runtime consequences though.
chris

Fixed in #1204


Go1.13 ci

Coverage increased (+0.01%) to 72.85% when pulling 40fca33b39a6a458b13b3d3402192d0466a5b116 on go1.13CI into 663333fb2053f3ceaf5286ede78b8fe80f7ce0af on master.


Error in Sparklyr extension creation

Hi
I am trying to create an extension as mentioned in the git hub on windows.
I am getting below error.
sparklyr::compile_package_jars() Error: failed to discover scala-2.10 compiler -- search paths were:
"C:/Users/abc/Documents/scala"
I have scala 2.10.6 installed on my D drive in windows and it is in Path. Why it is trying to look in another path ? i tried creating shortcut as well but did not work.
Help me to resolve this issue

@mshafieluru Is there a reason why scala can't be installed under Documents?
The reason why having it in the scalac in the PATH is not enough is that sparklyr requires multiple versions of the scalac compiler since Spark 1.6 and Spark 2.0 use different toolchains. Therefore, in Windows, the 2.10 and 2.11 compilers need to be installed under Docuemnts/scala.
I'm pushing a change to make this a bit easier by introducing a download_scalac helper function to  get us to easily install this in Windows (since the msi does not support installing multiple versions) and also to be more flexible on the scala versions we support, will push this soon and update this thread. However, it would help to know if you are restricted from using Documents/scala as the install directory before I make this change.

@mshafieluru using compile_spark_jars required a few steps, we've made a few changes to make this easier, could you try the following?
devtools::install_github("rstudio/sparklyr")
sparklyr::download_scalac()
sparklyr::compile_package_jars()

Those steps still require the JAVA_HOME environment variable to be set to, say, "c:\Program Files\java\jdk1.8.0_73".
If you can't upgrade sparklyr at the moment, you can still follow the workarounds from this PR to set your environment ready to compile extensions in Windows: https://github.com/rstudio/sparklyr/pull/570

Hi
My suggestion is instead of hard coding the installation directories, kindly look for SPARK_HOME or SCALA_HOME or JAVA_HOME variables and take it from there. Users like me can install java or scala anywhere in system.
you can easily get the version of scala from these variables. depending on the version you can invoke your respective funtions.
Anyhow, you knows it better.
regards
Shafi

devtools::install_github("rstudio/sparklyr")
Error in curl::curl_fetch_disk(url, x$path, handle = handle) :
Timeout was reached

https://github.com/rstudio/sparklyr/pull/570 added support to read JAVA_HOME, I don't think we are missing anything else to do here.

Thanks


Closes #155 : upgrading azurerm provider to v3.87

Description
As mentioned in #155 by @nickmladenov :

Looking through the official provider release notes the azurerm_role_assignment resource only got introduced support for the principal_type property in release v3.87.0.

I'm upgrading the provider version to 3.87
Fixes #155
Type of Change

[ ] Non-module change (e.g. CI/CD, documentation, etc.)
[ ] Azure Verified Module updates:

[ ] Bugfix containing backwards compatible bug fixes

[x] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates.
[ ] Breaking changes.
[x] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings
[ ] I did run all  pre-commit checks

@microsoft-github-policy-service agree


Was made file, named as my name is.

As it require in home task in lecture 3, I've made pull request.

For what this field is?
Is it used to communicate during accepting this pull request?
Or for what?


error thrown upon subsequent apply of cloudwatchlogsforwarder module

Issue Summary
Error Message
Error: error creating Serverless Application Repository CloudFormation Stack (arn:aws:cloudformation:us-east-1:$REDACTED:stack/serverlessrepo-Auto-Enable-Logs-Subscription-fk7p6hrzd8/0cb5d400-b147-11ec-b7f7-0e3a1717c7b1) change set: unexpected state 'FAILED', wanted target 'CREATE_COMPLETE'. last error: No updates are to be performed.
with module.sumologic.module.cloudwatch_logs.aws_serverlessapplicationrepository_cloudformation_stack.auto_enable_logs_subscription["auto_enable_logs_subscription"]
on .terraform/modules/sumologic.cloudwatch_logs/aws/cloudwatchlogsforwarder/cloudwatchlogsforwarder.tf line 188, in resource "aws_serverlessapplicationrepository_cloudformation_stack" "auto_enable_logs_subscription":

Steps to Reproduce

Implement cloudwatchlogsforwarder module locally.
Run terraform apply.
Verify resources exist and logs stream in.
Make changes to a different resource that's not a dependency.
Run terraform apply once more.
See error and frown.

Resource and Local Versions
In my module:
module "cloudwatch_logs" {
  source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/cloudwatchlogsforwarder"

  # Email used for Cloudwatch Alerts
  email_id         = var.email_id
  create_collector = true
}

Local version of tf:
infra on  main [$] via 💠 infra on ☁  (us-east-1) on ☁
❯ tf version
Terraform v1.1.5
on darwin_arm64
+ provider registry.terraform.io/hashicorp/aws v3.75.1
+ provider registry.terraform.io/hashicorp/random v3.1.2
+ provider registry.terraform.io/hashicorp/time v0.7.2
+ provider registry.terraform.io/launchdarkly/launchdarkly v2.5.0
+ provider registry.terraform.io/mongodb/mongodbatlas v1.3.0
+ provider registry.terraform.io/sumologic/sumologic v2.14.0

@roshbhatia  I have looked into the issue and it is similar to one of the bug we have raised for our AWS Observability Solution[https://github.com/hashicorp/terraform-provider-aws/issues/23874] .
Problem Description
Update is failing due to a bug that “aws_serverlessapplicationrepository_cloudformation_stack” resource is not able to store values of "var.auto_enable_access_logs" (as specified in our code),  on each subsequent terraform apply(s) , it detects it as change and creates a new stack-set. When the AWS API is called with a new stack-set it fails abruptly which causes the whole solution to fail while upgrading.
Alternate Approach
While we are waiting for the resolution of this issue, we have documented a work around as below:
In the file: https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations/blob/master/aws/cloudwatchlogsforwarder/cloudwatchlogsforwarder.tf
Add the following code block in the
resource "aws_serverlessapplicationrepository_cloudformation_stack" "auto_enable_logs_subscription"
lifecycle {     ignore_changes = [       parameters,tags     ]   }
Limitation
In the lifecycle section, we are ignoring changes in the parameter group for resource “aws_serverlessapplicationrepository_cloudformation_stack”, hence any further update to this parameter group will be ignored and respective changes cannot be made to auto-enable code.

Im stil getting this issue. Would rather have a variable that enables the ignore changes.


[Event Request] page 508 "Blanket Sales Order Subform" - OnDeltaUpdateTotalsOnBeforeSalesDeltaUpdateTotals

Can we please get the following event, that includes the sender?
local procedure DeltaUpdateTotals()
begin
    //+EVENT
    OnDeltaUpdateTotalsOnBeforeSalesDeltaUpdateTotals(Rec, xRec);
    //-EVENT
    DocumentTotals.SalesDeltaUpdateTotals(Rec, xRec, TotalSalesLine, VATAmount, InvoiceDiscountAmount, InvoiceDiscountPct);
    if Rec."Line Amount" <> xRec."Line Amount" then
        Rec.SendLineInvoiceDiscountResetNotification();
end;

[IntegrationEvent(true, false)]
local procedure OnDeltaUpdateTotalsOnBeforeSalesDeltaUpdateTotals(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 45914.


sensible-browser does not exit immediatly if it has to start a browser-process

If no browser is open, sensible-browser starts the browser-process and continues to run.
Thus awaiting process.status() only returns if the browser has been closed. So, this does not start the webserver, thus the browser + redirect fails.

sensible-browser is debian-specific, so use xdg-open instead, which does not have this issue.


Perfect Square

Coverage remained the same at 100.0% when pulling e08bd5b1440e72fa097b73e5233f3c98873eccdc on perfect-square into 973b4ed2dcc53aefa1ce731a7e625bc59abe1276 on master.


Add Deephaven ticking table support for matplotlib

Add ticking support for matplotlib
Add TableAnimation, TableEventSource helper classes
TableAnimation is a subclass of matplotlib.animation.Animation: https://matplotlib.org/stable/api/_as_gen/matplotlib.animation.Animation.html#matplotlib.animation.Animation
TableEventSource matches the interface for event_source: https://github.com/matplotlib/matplotlib/blob/4f5cacfde9024076d9ab0cb6ad1c9a7cf352d5f9/lib/matplotlib/animation.py#L843

Added a listener to the Table object and calls the update function with the new data whenever there's a change
Annoyingly, they just say object or optional there, not saying what actually needs to be added. Inspecting the source code though, there's only calls to start(), stop(), add_callback and remove_callback.

Export an input table with the figure that updates with the revision when the figure has been updated

@devinrsmith I need you to merge, I do not have permission.


It's latest Rust being used in non-nix build. I'll update fenix in the flake.lock.


Home redesign

ask @SantyLorenzo for the image

5 SCENE.zip
@emamasonn here is the svg image for the home page.


Add support for slash commands

Slash commands are the future. I'm trying to create a bot using DisTube and I can't because I want to use slash commands

https://github.com/skick1234/DisTube/issues/78#issuecomment-840048392
Why bug?

Not a bug


Filter host messages

Codecov Report

Merging #117 (8670c05) into master (fdce4d3) will increase coverage by 0.37%.
The diff coverage is 41.45%.

@@            Coverage Diff             @@
##           master     #117      +/-   ##
==========================================
+ Coverage   29.89%   30.27%   +0.37%
==========================================
  Files          69       70       +1
  Lines       14194    14498     +304
  Branches      223      222       -1
==========================================
+ Hits         4244     4389     +145
- Misses       9727     9887     +160
+ Partials      223      222       -1

Impacted Files
Coverage Δ

src/clj/spring_lobby/client.clj
22.22% <0.00%> (ø)

src/clj/spring_lobby/spring.clj
44.07% <ø> (ø)

src/clj/skylobby/fx/battles_table.clj
7.37% <2.38%> (-0.18%)
:arrow_down:

src/clj/skylobby/fx/players_table.clj
4.02% <5.88%> (+0.25%)
:arrow_up:

src/clj/skylobby/fx/rich_text.clj
45.78% <13.63%> (-3.57%)
:arrow_down:

src/clj/spring_lobby.clj
11.47% <15.62%> (-0.03%)
:arrow_down:

src/clj/skylobby/fx/host_battle.clj
10.14% <16.66%> (+0.14%)
:arrow_up:

src/clj/skylobby/fx/battle.clj
54.48% <17.03%> (-4.82%)
:arrow_down:

src/clj/skylobby/fx/download.clj
53.20% <28.57%> (-1.83%)
:arrow_down:

src/clj/skylobby/fx/mod_sync.clj
3.55% <33.33%> (+0.49%)
:arrow_up:

... and 51 more

Continue to review full report at Codecov.

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


Store handle count in FastSeparateChainingHashTable

Using handles_ vector directly in FastSeparateChainingHashTable can
cause problems. One example is a distinctify hash table which doesn't
accept any payload. In this case, the reference to handles_ vector
becomes garbage after the constructor gets executed. Therefore to
avoid faults about accessing an invalid reference, we use the number
of handles as a guarding mechanism.

Verified by reducing the hash table size artificially, so as to forcing a resize() operation. The destroyPayload() function gets called in resize(). The fix in this PR fixes the behavior of destroyPayload function.

Hi @hakanmemisoglu
Can you please review this PR?

LGTM. Merging.


Figure S01: precipitation PDFs at 1° resolution

This PR adds a notebook to generate Figure S01, the equivalent of Figure 6, but at 1° resolution.  It also includes some plots to help better assess at which percentiles the distributions diverge.

Sounds good—thanks.  It looks like I have permission to turn that off, so I did.  No worries about checking the PDF/percentiles calculation.  I'm reasonably confident about those, but feel free to take a look on your own time.


Update v1.72.md

Just a test PR from an external user.
Closing this out, but thanks so much for the help @dinhdu2704 !!!!!!


Execution failed for task ':path_provider:generateDebugRFile'.

` What went wrong:
Execution failed for task ':path_provider:generateDebugRFile'.

java.util.NoSuchElementException (no error message)

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.`

This error generate after upgrade flutter

Hi @nikhiladmin,
Usually after upgrading to a version, it's good to run flutter pub cache repair or flutter clean and then flutter run.
Did you run above before you ran your app after upgrading?
If not, please try above commands and see if it resolves your issue.
If problem persists, provide flutter doctor -v and a minimal complete reproducible code sample` that shows the issue.
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Do we want a production branch

If not, we should remove all references to it from the code

I'd say yes, but in the sense that its HEAD is the currently rolled out version, so for now we wouldn't really need it

I'd say yes, but in the sense that its HEAD is the currently rolled out version, so for now we wouldn't really need it

Yes, that's also what I would suggest and what the people at evap are doing.


Meido sounds

Some people (me) hear them only when pressing on meido, others (@sharmayu) hear them when pressing every link. Others don't see meido at all. Mystery of webdev

Hears meido all the time
Hmm I’m thinking schizo

no it's not schizo...
https://user-images.githubusercontent.com/67625878/119126629-d6044780-ba65-11eb-8cef-2a18db301f3f.mp4

The browser not playing sounds could be a cross-domain restriction, that disallows the file loading in the background. Your error is really odd. Can you tell me what browser and version are you using?

Firefox latest version

Also tried it in brave, same sound issue.

Firefox latest version

Also tried it in brave, same sound issue.

Also OS is Windows Embedded 8.1, if it's somehow relevant

I always thought the sound was a feature, not a bug and greeting people with a noisy meido "PEI" was normal.

same firefox version as shar, windows 10, but it works as expected

I was only able to reproduce this error in Edge. I've tried Firefox, Chrome and Brave and no error. I think I know why, I'll push something and you can test it.

It's fixed now. Wow. I don't know about the rest tho.


DictionaryField does not implement to_python

I'm not sure why, but seems to, at least sometimes, cause problems with DictionaryField, for me, specifically during a python manage.py loaddata I had to monkey-patch in a to_python to get my loaddata to work.
import ast
def hstore_dictionaryfield_to_python(self, value):
	if isinstance(value, basestring):
		if len(value) == 0: return {}
		if isinstance(value, str) and value.startswith('{'): return ast.literal_eval(value)
		if isinstance(value, unicode) and value.startswith(u'{'): return ast.literal_eval(value)
		raise ValueError('ivalid dictionary: ' + repr(value))

	return value
hstore.DictionaryField.to_python = hstore_dictionaryfield_to_python

Hi @pembo13,
would you be able to specify the steps in order to reproduce this bug?
The best thing would be a failing test case, but even a high level procedure would be good.
Thanks

@pembo13 any info?

Sorry, but I didn't write a proper test, just a test project, and instructions.
Test Project
I don't see any way to attach a file to this issue, so please use this http://arthurpemberton.com/wp-content/uploads/2015/06/hstoretest.20150628.zip
Test Instructions
# 1. install requirements
pip install -U -r requirements.txt
# 2. sync database
python manage.py syncdb
# 3. create test data
python manage.py createtestdata
# 4. dump data
python manage.py dumpdata --format=xml --indent=4 core.PersonInfo > test.xml
# 5. load dumped data (error should occur here)
python manage.py loaddata test.xml
# 6. load dumped data, this time enabling match of DictionaryField in models.py, (should load fine here)
PATCHHSTORE=TRUE python manage.py loaddata test.xml

Thank you @pembo13, my question is, wouldn't it have better to include the test in django-hstore's test suite?
See: http://djangonauts.github.io/django-hstore/#_developers_guide

It is probably better, but it wasn't faster for me at least.
I have written a failing test. However it fails even for simple data, so maybe the problem is worse than I thought.
    def test_dumpandloaddata(self):
        gamma = DataBag.objects.create(name='gamma', data={'v': ['1','2','3']})

        import os
        from django.core import management
        from django.utils import six

        filename = 'test_dumpdata.xml'
        new_io = six.StringIO()

        management.call_command('dumpdata', 'django_hstore_tests.DataBag', **{
            'format': 'xml',
            'indent': 4,
            'stdout': new_io,
            'stderr': new_io,
            'output': filename,
        })

        self.assertTrue(os.path.isfile(filename))

        management.call_command('loaddata', filename)

        if os.path.isfile(filename): os.remove(filename)
        return

Let me know if there's another step you'd like me to take.

thank you @pembo13, could you also tell me on which python and django versions you experience the issue?

I believe I was on Django 1.7 when i first saw the problem. But currently:

Python 2.7.5
Django 1.8.2


Index page search queries all words

Currently a user has to select a "Wortart". Many users don't know the Wortart. Therefor the index page should be redone.  The search should query all Wortarten.

Will be taken care of by https://github.com/wort-schule/wort.schule/issues/67


Firefox warning MouseEvent.mozPressure is deprecated

Problem:
After updating from v1.7.0 to 1.9.0 I noticed that in Firefox console there is a warning message:

MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead

My browser version is: 68.0.1
Would you fix this in the new version (1.10)?

Sortable doesn't use mozPressure anywhere in the code. Could you create a JSBin that will show this warning in FireFox?

Same issue here. Once this error appears in console, sortable no longer drags.
Firefox 69.0, MacOSX<EMAIL_ADDRESS>


Removed the needless test guard for syntax_suggest.

It's resolved by https://github.com/ruby/ruby/commit/5bb43aeb890657ea586e3fabbf763e5b5670ffd7

Thank you!


[FEATURE REQUEST] Get Ability to view Powerpoint Presentation files in App

The Issue
Currently LBRY has Document viewer. its a greatest feature in LBRY App. so users can view pdf, doc, html, txt or etc files directly in App. i testing publish presentation files in my LBRY App but when i click view file and the App told me "sorry we can't preview this file" its means LBRY does not have feature to view pptx files or other Powerpoint Presentation extension. so would be nice if have this feature , so users can make presentation directly via LBRY App..
Steps to Reproduce

Publish Powerpoint Presentation
click view after published to the LBRY Network
See the message on LBRY App document viewer

System Configuration

LBRY Daemon version: 0.21.2
LBRY App version: 0.25.0-rc4
LBRY Installation ID: 8K9e1PbwApDnXBbxCBKnYbNLAd2Ytf4LabE8YmDQywbHCp2qxnKfn1cb94zkLbyFxd
Operating system: Windows 10

Screenshots

Google has spent a decade on this and it still has bugs.
It is extremely unlikely we'll support complex, proprietary file formats in the app, so I'm going to close this.
You're welcome to continue to push for other types that are open or more feasible to support.


Refactor of TCP transport.

Problem
This is a split of PR #106 to make local transport use TCP.
There seems to be some issue in netty's local transport which creates race-conditions and causes test failures.
These refactor has some changes that are not necessarily related to local transport but makes the usage better.
Modification
Refactored common test classes to reactivesocket-test module so they can be used in both tcp and local transport without code duplication.
Added PayloadImpl as a utility implementation of Payload.

Since this is a subset of PR #106 which got a 👍  I am just merging this now.

Are you sure the issues for Local Transport were not because you were reusing the same local DuplexConnection over all tests?

@yschimke ClientSetupRule reconnects to a new socket (new ID generated randomly) for every test. The code is here and here
So, it doesn't use the same connection AFAICT.

I was looking at the tests before changes
public class ClientServerTest {

    static ReactiveSocket client;

    static ReactiveSocket server;

    @BeforeClass
    public static void setup() throws Exception {
        LocalServerReactiveSocketConnector.Config serverConfig = new LocalServerReactiveSocketConnector.Config("test", new ConnectionSetupHandler() {
            @Override
            public RequestHandler apply(ConnectionSetupPayload setupPayload, ReactiveSocket rs) throws SetupException {
                return new RequestHandler() {
                    @Override


when try run the examples always winit related errors happened

EDITED (for readability)
System Info
Dear authors,
I appreciate with your excellent jobs and I want some help from you. When I try to use the Dockerfile in lerobot project repo to make a new image even with cpu version or gpu version, then try to run the example such as
python lerobot/scripts/visualize_dataset.py --repo-id lerobot/pusht --episode-index 0

it always happened some winit related errors like
"WARNING:datasets.packaged_modules.cache.cache:Found** the latest cached dataset configuration 'default' at /root/.cache/huggingface/datasets/lerobot___pusht/default/0.0.0/31a41e121d12821207155735793fb9175d29a5dd (last modified on Thu May 23 08:18:41 2024).
[2024-05-27T03:19:52Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at <IP_ADDRESS>:9876. Connect with the Rerun logging SDK.
Error: winit EventLoopError: os error at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.9/src/platform_impl/linux/wayland/event_loop/mod.rs:81: Could not find wayland compositor -> os error at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.9/src/platform_impl/linux/wayland/event_loop/mod.rs:81: Could not find wayland compositor
[2024-05-27T03:19:53Z WARN  re_sdk_comms::buffered_client] Failed to send message after 3 attempts: Failed to connect to Rerun server at <IP_ADDRESS>:9876: Connection refused (os error 111)
[2024-05-27T03:19:55Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-27T03:19:55Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-27T03:19:55Z WARN  re_sdk_comms::tcp_client] Tried to flush while TCP stream was still Pending. Data was possibly dropped.

However I try to install winit v0.30.0 or update the cargo, this environment problems can't be solved. Can u give me some advices?
Thanks very much.
Information

[x] One of the scripts in the examples/ folder of LeRobot
[ ] My own task or dataset (give details below)

Reproduction

Using the cpu or gpu dockerfile to make a lerobot docker image, like

sudo docker build -t lebot_docker_cpu:v1.0 -f ./docker/lerobot-cpu/Dockerfile . > docker_image.log 2>&1 &

2.After build the lebot_docker_cpu:v1.0 successfully, then use it like
docker run -it lebot_docker_cpu:v1.0 /bin/bash

3.After entering the container just created, reproduce example like
python lerobot/scripts/visualize_dataset.py --repo-id lerobot/pusht --episode-index 0

4.When run or try rerun the example, it always report error like
WARNING:datasets.packaged_modules.cache.cache:Found the latest cached dataset configuration 'default' at /root/.cache/huggingface/datasets/lerobot___pusht/default/0.0.0/31a41e121d12821207155735793fb9175d29a5dd (last modified on Thu May 23 08:18:41 2024).
[2024-05-27T03:19:52Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at <IP_ADDRESS>:9876. Connect with the Rerun logging SDK.
Error: winit EventLoopError: os error at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.9/src/platform_impl/linux/wayland/event_loop/mod.rs:81: Could not find wayland compositor -> os error at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.9/src/platform_impl/linux/wayland/event_loop/mod.rs:81: Could not find wayland compositor
[2024-05-27T03:19:53Z WARN  re_sdk_comms::buffered_client] Failed to send message after 3 attempts: Failed to connect to Rerun server at <IP_ADDRESS>:9876: Connection refused (os error 111)
[2024-05-27T03:19:55Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-27T03:19:55Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-27T03:19:55Z WARN  re_sdk_comms::tcp_client] Tried to flush while TCP stream was still Pending. Data was possibly dropped.

Expected behavior
I will very appreciate some details about how to use the dockerfile in our repo and run the examples successfully. Thanks a lot for our dear authors.

Hi, it looks like you need to open the correct ports on your container to be able to connect to the rerun server. Are you able to run the other examples/scripts btw?

Thanks Aliberts for your quickly reply. Btw, how can I rightly open the correct ports on my container? I've encountered other errors when I tried the other examples/scripts like below:
Case 1, run the eval.py:
(venv) root@df9ea94d4779:/lerobot# python lerobot/scripts/eval.py     -p lerobot/diffusion_pusht     eval.n_episodes=10     eval.batch_size=10
config.yaml: 2.38kB [00:00, 6.92MB/s]
README.md: 3.03kB [00:00, 8.38MB/s]
eval_avg_max_reward.csv: 537B [00:00, 1.88MB/s]
.gitattributes: 1.52kB [00:00, 641kB/s]
eval_pc_success.csv: 100%|████████████████████████| 236/236 [00:00<00:00, 357kB/s]
config.json: 1.01kB [00:00, 3.19MB/s]
eval_info.json: 83.9kB [00:00, 944kB/s]                 | 0.00/236 [00:00<?, ?B/s]
demo.gif: 100%|████████████████████████████████| 601k/601k [00:00<00:00, 1.63MB/s]
train_loss.csv: 20.7kB [00:00, 23.9MB/s]           | 5/11 [00:01<00:01,  5.62it/s]
training_curves.png: 100%|████████████████████| 28.6k/28.6k [00:00<00:00, 405kB/s]
model.safetensors: 100%|█████████████████████| 1.05G/1.05G [03:29<00:00, 5.01MB/s]
Fetching 11 files: 100%|██████████████████████████| 11/11 [03:31<00:00, 19.25s/it]
Traceback (most recent call last):
File "/lerobot/lerobot/scripts/eval.py", line 621, in
eval(pretrained_policy_path=pretrained_policy_path, config_overrides=args.overrides)
File "/lerobot/lerobot/scripts/eval.py", line 524, in eval
device = get_safe_torch_device(hydra_cfg.device, log=True)
File "/opt/venv/lib/python3.10/site-packages/lerobot/common/utils/utils.py", line 34, in get_safe_torch_device
assert torch.cuda.is_available()
AssertionError
Case 2, run the train.py:
(venv) root@df9ea94d4779:/lerobot# python lerobot/scripts/train.py     policy=act     env=aloha     env.task=AlohaInsertion-v0     dataset_repo_id=lerobot/aloha_sim_insertion_human
Error executing job with overrides: ['policy=act', 'env=aloha', 'env.task=AlohaInsertion-v0', 'dataset_repo_id=lerobot/aloha_sim_insertion_human']
Traceback (most recent call last):
File "/lerobot/lerobot/scripts/train.py", line 145, in train_cli
train(
File "/lerobot/lerobot/scripts/train.py", line 244, in train
device = get_safe_torch_device(cfg.device, log=True)
File "/opt/venv/lib/python3.10/site-packages/lerobot/common/utils/utils.py", line 34, in get_safe_torch_device
assert torch.cuda.is_available()
AssertionError
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

assert torch.cuda.is_available()

These are expected since you are running the cpu image. You need to pass the device=cpu option when running these scripts on cpu.
As for the docker ports, you need to publish them with the -p option within your docker run command. You can learn more about it here.
Btw, you can use these characters to format your shell/code output & scripts, it really helps for reading it 😉
```bash
your terminal output
```

Thanks Aliberts for your nice advices. I've tried some times on this two cases. First case using train.py script with 'device=cpu', it can run with bash errors like below(even I think the shared memory is big ~(kernel.shmall =<PHONE_NUMBER>3692774399
kernel.shmmax =<PHONE_NUMBER>3692774399):
(venv) root@ec8ea176d2d7:/lerobot# python lerobot/scripts/train.py policy=act env=aloha env.task=AlohaInsertion-v0 dataset_repo_id=lerobot/aloha_sim_insertion_human device=cpu
WARNING 2024-05-29 04:07:23 ils/utils.py:42 Using CPU, this will be slow.
INFO 2024-05-29 04:07:23 ts/train.py:250 make_dataset
Using the latest cached version of the dataset since lerobot/aloha_sim_insertion_human couldn't be found on the Hugging Face Hub
WARNING 2024-05-29 04:09:03 ts/load.py:1631 Using the latest cached version of the dataset since lerobot/aloha_sim_insertion_human couldn't be found on the Hugging Face Hub
Found the latest cached dataset configuration 'default' at /root/.cache/huggingface/datasets/lerobot___aloha_sim_insertion_human/default/0.0.0/3cdeec058acd3e3583e9c22c24e6c3338b8cd712 (last modified on Wed May 29 03:37:57 2024).
WARNING 2024-05-29 04:09:03 che/cache.py:95 Found the latest cached dataset configuration 'default' at /root/.cache/huggingface/datasets/lerobot___aloha_sim_insertion_human/default/0.0.0/3cdeec058acd3e3583e9c22c24e6c3338b8cd712 (last modified on Wed May 29 03:37:57 2024).
INFO 2024-05-29 04:11:45 ts/train.py:253 make_env
INFO 2024-05-29 04:11:45 /__init__.py:84 MUJOCO_GL=%s, attempting to import specified OpenGL backend.
INFO 2024-05-29 04:11:45 pesloader.py:70 Failed to load library ( %r ): %s
INFO 2024-05-29 04:11:45 /__init__.py:31 MuJoCo library version is: %s
INFO 2024-05-29 04:11:49 ts/train.py:256 make_policy
INFO 2024-05-29 04:11:49 on/logger.py:66 Logs will be saved locally.
INFO 2024-05-29 04:11:49 on/logger.py:31 Output dir: outputs/train/2024-05-29/04-07-23_aloha_act_default
INFO 2024-05-29 04:11:49 ts/train.py:271 cfg.env.task='AlohaInsertion-v0'
INFO 2024-05-29 04:11:49 ts/train.py:272 cfg.training.offline_steps=80000 (80K)
INFO 2024-05-29 04:11:49 ts/train.py:273 cfg.training.online_steps=0
INFO 2024-05-29 04:11:49 ts/train.py:274 offline_dataset.num_samples=17000 (17K)
INFO 2024-05-29 04:11:49 ts/train.py:275 offline_dataset.num_episodes=34
INFO 2024-05-29 04:11:49 ts/train.py:276 num_learnable_params=51613582 (52M)
INFO 2024-05-29 04:11:49 ts/train.py:277 num_total_params=51613672 (52M)
INFO 2024-05-29 04:11:49 ts/train.py:324 Start offline training on a fixed dataset
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
Error executing job with overrides: ['policy=act', 'env=aloha', 'env.task=AlohaInsertion-v0', 'dataset_repo_id=lerobot/aloha_sim_insertion_human', 'device=cpu']
Traceback (most recent call last):
  File "/lerobot/lerobot/scripts/train.py", line 145, in train_cli
    train(
  File "/lerobot/lerobot/scripts/train.py", line 330, in train
    train_info = update_policy(
  File "/lerobot/lerobot/scripts/train.py", line 103, in update_policy
    output_dict = policy.forward(batch)
  File "/opt/venv/lib/python3.10/site-packages/lerobot/common/policies/act/modeling_act.py", line 140, in forward
    actions_hat, (mu_hat, log_sigma_x2_hat) = self.model(batch)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/lerobot/common/policies/act/modeling_act.py", line 330, in forward
    cam_features = self.backbone(images[:, cam_index])["feature_map"]
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torchvision/models/_utils.py", line 69, in forward
    x = module(x)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/modules/pooling.py", line 164, in forward
    return F.max_pool2d(input, self.kernel_size, self.stride,
  File "/opt/venv/lib/python3.10/site-packages/torch/_jit_internal.py", line 497, in fn
    return if_false(*args, **kwargs)
  File "/opt/venv/lib/python3.10/site-packages/torch/nn/functional.py", line 796, in _max_pool2d
    return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
  File "/opt/venv/lib/python3.10/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 1280) is killed by signal: Bus error. It is possible that dataloader's workers are out of shared memory. Please try to raise your shared memory limit.

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Second case with script visualize_dataset.py, it still encountered winit errors with open the container port 9876 like below:
nio@nio-HP-Z4-G4-Workstation:~$ docker run -p 9876:9876 -it lebot_docker_cpu:v1.0 /bin/bash
(venv) root@ec8ea176d2d7:/lerobot# export DISPLAY=:0
(venv) root@ec8ea176d2d7:/lerobot# python lerobot/scripts/visualize_dataset.py     --repo-id lerobot/pusht     --episode-index 0
Fetching 222 files: 100%|█████████████████████| 222/222 [00:00<00:00, 2820.27it/s]
[2024-05-29T03:27:25Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at <IP_ADDRESS>:9876. Connect with the Rerun logging SDK.
Error: winit EventLoopError: the requested operation is not supported by Winit -> the requested operation is not supported by Winit
[2024-05-29T03:27:26Z WARN  re_sdk_comms::buffered_client] Failed to send message after 3 attempts: Failed to connect to Rerun server at <IP_ADDRESS>:9876: Connection refused (os error 111)
[2024-05-29T03:27:29Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-29T03:27:29Z WARN  re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2024-05-29T03:27:29Z WARN  re_sdk_comms::tcp_client] Tried to flush while TCP stream was still Pending. Data was possibly dropped.
100%|███████████████████████████████████████████████| 6/6 [00:00<00:00,  9.73it/s]

Btw in the host, I checked the port had opened like:
~$ netstat -anp|grep 9876
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 <IP_ADDRESS>:9876            <IP_ADDRESS>:*               LISTEN      -
tcp6       0      0 :::9876                 :::*                    LISTEN

For the first issue, you need to increase shared memory on your container with this option on your docker run --shm-size "16gb" (16GB should be more than enough if your hardware allows it, if not try to set it as high as you can)
For the visualization, you need to use your container as a distant machine to host the rerun server, you can find the instructions on how to do that here. Although we didn't intend this to be used from within a container as these are used for testing, it should work.

Thanks to Aliberts. With your new guidelines, I have successfully executed the script, and your distant mode using container is now functioning properly. Thanks again for your assistance.


Deleting one specific message without deleting the whole conversation

Is there a way to delete one specific message from the server instead of the whole conversation? Both Restful Apis and Client Apis allow deleting the whole conversation option only!! Btw I am using react-native-agora-chat, is it the same as react-native-chat-sdk ?

There is no way to delete server messages, only local messages.


PDF files are larger than they should be

Problem
PDF files produced by VBM analysis with GIGA are ~100 MB. However, the constituent PNG files are about 500 kB total, and the PDF can be zipped to around 1-2 MB. Large file sizes make sharing PDFs difficult.
Tasks
Make PDF files smaller so that they can easily be emailed. Shoot for around 1 MB.

Closed with PR #750


Move OnGhostAttempt to GhostSystem

About the PR
Moved OnGhostAttempt to GhostSystem.
Why / Balance
Resolves #4410.
Technical details

Media

Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

OnGhostAttempt method was moved to the GhostSystem and might break something downstream.

thank you, I was really confused why it was attached to game ticker in the first place

Thanks for the cleanup!


Proposing moving the OOAPI to a new namespace

The LLVMSharp namespace is starting to get too crowded, which is made worse by the fact that there are 2 types for each thing (LLVMValueRef, Value, etc). Especially the class LLVM might get awkward if we start including some static methods that work with the equivalent class types and return the equivalent class types.

I propose moving the class-based API to a new namespace (e.g. LLVMSharp.API) along with its own, cleaner version of the LLVM class (that contains only references to the wrapper classes).
We can keep the struct-based API where it is (or we can move it to something like LLVMSharp.Bindings, for symmetry -- if this breaking change isn't too much).

LLVMSharp.Api? Capitals is reserved in my opinion for nouns.
Let's not change the struct-based APIs, it's a breaking change and there are lots of users of this API.
Pretty soon I'd want us to move the OO APIs to master. I'm using the OO APIs extensively now and they are much better to work with.
If you are planning to do this, what timeframe are you thinking to get this landed?

I suggested API because it looks more like the convention we already have in the name LLVMSharp. But Api is what the MSDN Capitalization Conventions seem to suggest (in accordance with .NET identifiers like TcpClient, HttpClient, etc). I'm okay with either option, or with any other identifier, so let's go for Api.
You're right in that it's better to leave the sturct-based API where it is, to maintain a stable public interface there.

If you agree, I can probably push this change within the next few days.

Cool. Sounds good to me.

I've started doing this and as I mentioned, in order to make the LLVMSharp.Api namespace standalone (that is, not require the user to include LLVMSharp as well), I must "duplicate" the remaining functionality of the LLVM class (by exposing whichever functions aren't in a class already, e.g. EnablePrettyStackTrace).
As I said before, I could do this by introducing an LLVMSharp.Api.LLVM static class again, but I'm thinking maybe I could instead introduce one static class per header file in which the LLVM-C functions are declared.
For example:

EnablePrettyStackTrace will be accessible through the LLVM class (when importing the LLVMSharp namespace) and through a static class named ErrorHandling (when importing the LLVMSharp.Api namespace).
LoadLibraryPermanently will be accessible through the LLVM class (when importing the LLVMSharp namespace) and through a static class named Support (when importing the LLVMSharp.Api namespace).

And so on.
I believe there is a practical benefit for the user, because instead of having to search functions across all LLVM-C headers, they can now have a closer pairing of our LLVMSharp.Api classes to the official LLVM documentation pages.
If you agree, I'll perform this change along with the moving of the existing classes, in order to have a standalone LLVMSharp.Api namespace (hopefully) in the next commit.

I mostly am fine with it, just curious how many such functions are there? I feel like the user having to include two namespaces isn't the end of the world. But maybe I'll be convinced by your code change.
So yeah go ahead, but I'd like to see the end result before fully committing ..

It's certainly easy to include two namespaces in general. But if the user has to do that, we're back to the position where they'll see duplicate types all around. So if they choose to work with the class-based API, they'd import a huge amount of methods and half of them won't be applicable. This is what I wanted to solve with the namespace separation.
In any case, see the PR I'm making now.


updating readme file, adding closing tag for yaml block to fix format…

…ting

What this PR does / why we need it:
It fixes the formatting for the table and lower half of the README.md file by closing the yaml code block.

Special notes for your reviewer:
Great work, thanks!

Thanks. Have you signed the sla?

https://git.k8s.io/community/CLA.md#the-contributor-license-agreement

Hi,
I hadn't signed the license agreement, thanks for pointing that out -- its done now.
Seems the commit needs to be linked correctly to my github profile which I've fixed now as well, so I think this PR needs to be re-merged to pull the change into your repo.
Sorry for the bother,
--j0shua


fix(utils): add writeInteraction types and update base64url logic, disable bunding on all writeInteractions

Codecov Report
Attention: Patch coverage is 64.70588% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 80.66%. Comparing base (46b7acc) to head (871513a).
 Consider uploading reports for the commit 621c1d7 to get more accurate results

Files
Patch %
Lines

src/common/ar-io.ts
50.00%
4 Missing :warning:

src/common/contracts/warp-contract.ts
85.71%
1 Missing :warning:

src/utils/base64.ts
50.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##            alpha      #57      +/-   ##
==========================================
- Coverage   81.77%   80.66%   -1.12%
==========================================
  Files          19       19
  Lines         450      450
  Branches       84       91       +7
==========================================
- Hits          368      363       -5
- Misses         82       86       +4
- Partials        0        1       +1

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

:tada: This PR is included in version 1.0.2-alpha.3 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


VoiceClient.play() doesn't pass FFMPEG error to 'after' function.

Summary
VoiceClient.play() doesn't pass FFMPEG error to 'after' function.
Reproduction Steps
I know from https://github.com/Rapptz/discord.py/issues/5131 that the session invalidation error is not a Discord.py error, however, the VoiceClient's play() function does not seem to be capturing and passing the FFMPEG error into my provided after function. I would like to notify when this error happens, so capturing this error would be very helpful. It also appears that Discord.py wrongly states that FFMPEG exited successfully, even when it exits with code 1, which by definition, is not successful.
Here is my current code and log results:
Code:
def sync_playback_error(error: Exception = None):
    async def playback_error(error: Exception = None):
        has_error: bool = error != None
        if has_error:
            print('Sending error to chat...')
            await ctx.message.channel.send('A playback error has caused the audio stream to stop.')
        else:
            print('No error in playback!')
    print('Starting async callback...')
    asyncio.run_coroutine_threadsafe(playback_error(error), self.bot.loop)

# Attempt to play ffmpeg source
vc.play(ffmpeg_src, after=sync_playback_error)```
Logs:

[tls @ 0x5632a384eb80] Error in the pull function.
[matroska,webm @ 0x5632a384a600] Read error
[tls @ 0x5632a384eb80] The specified session has been invalidated for some reason.
Last message repeated 1 times
Starting async callback...
DEBUG:asyncio:Using selector: EpollSelector
No error in playback!
2024-06-15 16:58:28 INFO     discord.player ffmpeg process 2801802 successfully terminated with return code of 1.

### Minimal Reproducible Code

```python
None

Expected Results
I expected the FFMPEG error to be passed to the after function
Actual Results
The error was not captured and passed to the after function
Intents
discord.Intents.default()
System Information
Python v3.10.12-final
discord.py v2.3.2-final
aiohttp v3.9.5
system info: Linux 5.15.0-112-generic
https://github.com/Rapptz/discord.py/pull/122 SMP Thu May 23 07:48:21 UTC 2024
Checklist

[X] I have searched the open issues for duplicates.
[X] I have shown the entire traceback, if possible.
[X] I have removed my token from display, if visible.

Additional Context
No response

@acr-bot

@acr-bot

@acr-bot

@acr-bot


FindAsync does not returns all items in child collection

My entities:
public class Addresses
    {
        public int Id { get; set; }
        public int MyUserId { get; set; }
        [LeftJoin("MyUser", "MyUserId", "Id")]
        public MyUser MyUser { get; set; }
    }

    public class MyUser
    {
        public int Id { get; set; }
        public int Age {get;set;}
        [LeftJoin("Addresses", "Id", "MyUserId", TableAlias = "Addresses_Id")]
        public List<Addresses> Addresses { get; set; }
    }

Addresses has more than one row in the Database.
Problem:
Below return only ONE ITEM in Addresses
db.MyUsers.FindAsync<Addresses>(x => x.Id == 1, x => x.Addresses);
Wheres, below returns ALL ITEMS in Addresses
db.MyUsers.FindByIdAsync<Addresses>(1, x => x.Addresses);
Question:
How to make FindAsync return all items in the child collection?

I saw the same issue before: https://github.com/phnx47/dapper-repositories/issues/175. But a fixed it a long time ago.
@yeasin90 Can you create a test and reproduce this?

@phnx47 I have my data in the database and getting this issue
But from your below test case, seems only one item is being checked?
https://github.com/phnx47/dapper-repositories/blob/699c58c57433be4b104165ef208dbf13741f993d/test/MicroOrm.Dapper.Repositories.Tests/RepositoriesTests/RepositoriesTests.cs#L156-L163

I will work with this bug

Fixed in 1.20.0

@phnx47
1.20.0 did solve the problem, thanks.
One observation:
In 1.190, I did a workaround for this case: called FindAllAsync (with my predicate) and then took data with FirstOrDefault in-memory. I replaced this case with FindAsync from 1.20.0
Seems FindAsync from 1.20.0 takes almost 3-times more (in milliseconds) than the workaround I did with FindAllAsync from 1.19.0.

@yeasin90 There is not much difference in the code. If you think that here is performance issue, feel free to create PR with optimization with Benchmarks


The task tracker has an actual completion date, but ANET does not

The task SME cannot update the actual completion date for tasks.  Over two hundred tasks have been completed.  The only way to update the actual completion date is to use a query.
The tasks table has two date fields:
projectedCompletion
plannedCompletion
The projectedCompletion date field is being used in ANET, i.e. administrators can add values to this date field and edit this date field.
The plannedCompletion date field is not being used at all.  The only value is NULL.  Is this date field going to be used as the actual completion date field?

anet.yml defines which database fields are visible to the user interface.
If you have anet.yml with something like:
      projectedCompletion:
        label: Projected Completion
        placeholder: 'Fill in the projected completion date'
      plannedCompletion:
        label: 'Planned Completion'
        placeholder: 'Fill in the planned completion date'

then both will be visible. I will update the production anet.yml tomorrow

Fantastic! Just so I understand, the planned completion date field will be used as the actual completion date field.


refactor: Improvements to ACSCS debug dump feature

Description
This PR:

Makes use of "cluster-internal" or "internal" terminology instead of "private" which was deemed confusing: https://redhat-internal.slack.com/archives/C02L9F6KR25/p1686756716768839
Enables ACSCS debug dump based on ROX_MANAGED_CENTRAL env variable instead of separate env variable

Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
TBD

/retest


Consolidate _Client and _Connection test shims

See https://github.com/GoogleCloudPlatform/gcloud-python/pull/1145/files#r40022552
Running git grep -l _Client and git grep -l _Connection turns up a lot of results.
In keeping with @tseaver philosophy, we should avoid added more than the basic functionality common to all tests using this pattern.

This seems obselete. Reopen if not.


Version update (0.19.1)

Changed the version as discussed.

Good job, wrong base branch. Do the pull request against teslaworksumn, not ProtonLights


[FR] add some kind of postBuild event for .atom-build files

I am not how this would be implemented
Here s my issue, i would like some javascript code to be run on post build.
Especially this:
            if (success) {
                atom.notifications.addSuccess('Build successfull!');

            } else {
                atom.notifications.addError('Failed to build.');
            }

This is doable when creating a custom build provider but not possible when using .atom-build file.
I wonder if this could get done in any way.
May be by adding support for ".atom-build.js" which we would evaluate in getConfig?

Amazing thanks, will test right away


Append location.hash to history navigation

Closes https://github.com/apollographql/graphql-server/issues/386. I can put this behind an option flag if needed. I'm pretty indifferent about actually disabling the behaviour (I can see it being useful), but can do that instead if that's a better decision.
TODO:

[x] Update CHANGELOG.md with your change (include reference to issue & this PR)
[ ] Make sure all of the significant new logic is covered by tests
[x] Rebase your changes on master so that they can be merged easily
[x] Make sure all tests and linter rules pass

@blakeembrey can you provide more info about this change?
i'm not familiar with location.hash and not sure why it is needed..
not sure if this should be a patch like you did or an optional behavior..

@DxCx Can you see the linked issue (https://github.com/apollographql/graphql-server/issues/386)? It has all the details.

This is the preferred change to me, since it doesn't force someone using the hash to disable the other functionality. It can easy enable both options instead.

i meant what is location hash, but since i didn't get the answer i just looked up myself :)
anyway, as far as i know standard GraphiQL doesn't do hashes, are you using hash to store authentication details?

Yes. The hash contains the authentication details (access token) if you do an OAuth 2.0 implicit auth flow. Currently that information is erased immediately. There's a number of workaround approaches that can be done, but this seemed the simplest option:

Keep the hash on location updates
Disable location updating
Enable longer form JavaScript to be injected into the page easily so the token could be parsed and stored into local storage on load and re-used on request (I'd love to enable this later, but it seemed much more subjective).


[Proposal] Improper documentation of Deprecated Methods in Gym Docs (Typo)

Proposal
I have been going through Gym documentation, learning the basics from the Docs. I did notice a minor inconvenience with the documentation on the Core page.  As of gym version 0.26, the done return has been deprecated.
This is not being represented elegantly in the documentation. Documentation looks a bit clunky with this style of expressing deprecation.

This is due to the usage of .. autofunction:: gymnasium.Env.step in Gymnasium/docs/api/env.md
Sphinx's autofunction automatically pulls documentation from the doc-string. In the core.py file of Gym, the docstring is defined as such:

We can make the documentation a bit more clean by using the ..deprecated:: directive. It is clearly defined in their docs.
This is only a slight tardiness, still would appreciate it being formatted.
Motivation
No response
Pitch
No response
Alternatives
No response
Additional context
No response
Checklist

[X] I have checked that there is no similar issue in the repo

@Mukilan-Krishnakumar Thanks for spotting that, could you make a PR solving this issue?

BTW: The page link in the issue description is to the previous gymlibrary.dev
The gymlibrary.dev documetnation has been superceeded by https://gymnasium.farama.org/api/env/
Noting that the issue exists in new site as well.

@Mukilan-Krishnakumar Thanks for spotting that, could you make a PR solving this issue?

Yeah, Definitely, this is my first time contributing to open source, so let me figure some things out with PR and stuff. I need a couple of days to work through it.
Also, should I close this issue?

No, leave the issue open and only close it when the issue is solved
You should be able to download the repo and modify the gymnasium.core.Env.step function docstring and we build the website. See the readme.md in docs.
Then you will be able to test that the fix works


backend/drm: check DRM_CAP_ADDFB2_MODIFIERS

See https://gitlab.freedesktop.org/wayland/weston/merge_requests/45

Actually I'm mistaken, we don't use this feature yet: https://gitlab.freedesktop.org/wayland/weston/commit/a864f58f44d701164dbb32bfcdde8c6d761f28ee


Unnecessary Meld

I really enjoy using the solver but i noticed that it tends to recommend using a meld even though it could finish the craft with the remaining durability. As such i would appreciate if that minor flaw could be solved.
Version: v<IP_ADDRESS>

I messed around with the weights a lot, pretty much tripling the weight of steps and halving that of durability. However, the synthesis helper still does this sometimes. I think an implementation for finishing the craft with the remaining durability when possible would optimize the plugin's efficiency a lot. Having it calculate durability costs of the remaining actions on every step, then checking that against the quality/progress could be away to do this.

Yeah i did something similar with my weights

and now the solver even suggests stuff like using Great Strides after already maxing the quality, just to dump CP. Is this an issue where the solver gets stuck in local maximum, due to cp being so worthless and doesn't find that removing this one step would increase the score?
I think having a post solve action that removes all "unnecessary" steps, which dont change the craft outcome (success and quality), would solve the issue and improve the recommended solutions in general.

I assume rlvl means recipe level and clvl crafter level. So you want to change the weights in case of an easy craft, so that the solver prefers the shorter solution? If yes, I don't know if that would help as i had the issue with unnecessary on non trivial crafts as well.


Better error message when not importing newtype constructor for deriving-via

For the deriving via machinery here:
data SubTyCon = SubDataCon
  { subKey1 :: Text
  , subKey2 :: Int
  , subKey3 :: Maybe Bool
  }
  deriving (Generic, Show, Eq)
  deriving (NestedParser) via (SubConfig SubTyCon)

We get this error when the constructor for SubConfig isn't imported
   • Couldn't match representation of type ‘SubConfig SubTyCon’
                              with that of ‘SubTyCon’
       arising from a use of ‘ghc-prim-0.10.0:GHC.Prim.coerce’
       The data constructor ‘cfg-<IP_ADDRESS>:Cfg.Deriving.SubConfig.SubConfig’
         of newtype ‘SubConfig’ is not in scope
   • In the expression:
       ghc-prim-0.10.0:GHC.Prim.coerce
         @(Tree Text -> Either ConfigParseError (SubConfig SubTyCon))
         @(Tree Text -> Either ConfigParseError SubTyCon)
         (parseNestedConfig @(SubConfig SubTyCon))

The error is because of this coerce that I am doing (a trick I took from the deriving-aeson library)
instance (Generic a, GNestedParser (Rep a)) => NestedParser (SubConfig a) where
  parseNestedConfig tree = coerce `asTypeOf` fmap SubConfig $ defaultParseNestedConfig defaultConfigOptions tree

It would be nice to either:
a) prevent this error altogether
b) provide a nicer error message

Seems like this is the case for all deriving via, just need good documentation.


Feat: Implement Backend Support for Region Selection #12

How should this be manually tested

Ensure to be a logged in user because all endpoints are protected.

Send a GET request to  /api/v1/regions to retrieves a list of all available regions..

Success Response (200 OK): Returns a list of RegionDto objects.
Error Responses:

404 Not Found: If no regions are available.
400 Bad Request: For other errors during retrieval.

Send a POST request to  /api/v1/regions to assigns a region to a user based on the provided details in UserRegionDto.

Success Response (200 OK): Returns UserRegionResponseDto with assigned region details.
Error Responses:

404 Not Found: If the specified region is not available.
401 Unauthorized: For unauthorized access.
409 Conflict: If the region is already assigned to the user.
400 Bad Request: For other errors during assignment.

Send a GET  request to /api/v1/regions/{user_id} to retrieves the region assigned to a specific user.

Success Response (302 Found): Returns UserRegionDto with the assigned region details.
Error Responses:

404 Not Found: If no region is assigned to the user.
400 Bad Request: For invalid parameters.

Send a PUT  request to /api/v1/regions/{user_id} to  updates the region assigned to a specific user.

Success Response (200 OK): Returns UpdateUserRegionDto with updated region details.
Error Responses:

400 Bad Request: For invalid region choices or other errors.
401 Unauthorized: For unauthorized updates.
404 Not Found: If no region is assigned to the user.

Checklist

[x] Implemented endpoints for region management.
[x] Added OpenAPI documentation for each endpoint.
[x] Configured error handling and response codes.
[x] Included detailed success and error responses in the API documentation.

Reference Issue

[FEAT]: Implement Backend Support for Region Selection #12

@lurldgbodex annotations removed and slf4j used for logging

LGTM

@Am0du  all corrections have been effected. Proper error handlers and exceptions add.

Check your migration, v4 already exist

@Am0du migration version has been changed to V7


Listener does not return response for PUT /db

with 1.3.0-30
http PUT http://localhost:5984/testdb

No response

Expected (CouchDB and Mac OSX behavior):
{"ok":true}

This is a regression. This works with 1.2.1

@seth,
Does LiteServ return Http header?

http -v PUT http://localhost:8081/testdb

PUT /testdb HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: <IP_ADDRESS>:8081
User-Agent: HTTPie/0.9.3

HTTP/1.1 201 Created
connection: keep-alive
date: Fri, 15 Jul 2016 16:57:49 GMT
keep-alive: timeout=30, max=100
location: /testdb
mime-version: 1.0
server: D. Rogatkin's TJWS with Android support (aka Acme.Serve)/Version 1.105, $Revision: 1.267 $,Couchbase Lite 1.3.0-30
transfer-encoding: chunked


Cannot install sqlite3 and run the app on windows 10.

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
Problem starting the freshly installed app after adding the sqlite3 dependency with the following error:
$ npm start

><EMAIL_ADDRESS>start C:\www\rm3-react
> electron-forge start

√ Checking your system
√ Locating Application
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  unpack_sqlite_dep
  sqlite3.c
C:\www\rm3-react\node_modules\sqlite3\build\Release\obj\global_intermediate\sqlite-autoconf-3150000\sqlite3.c(295): fatal error C1083: Cannot open include file: 'stdarg.h': No such file or directory [C:\www\rm3-react\node_modules\sqlite3\build\deps\sqlite3.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\www\rm3-react\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\www\\rm3-react\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=1.7.9" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--module_name=node_sqlite3" "--module_path=C:\\www\\rm3-react\\node_modules\\sqlite3\\lib\\binding\\electron-v1.7-win32-x64" "--host=https://mapbox-node-binary.s3.amazonaws.com" "--remote_path=./{name}/v3.1.13/{toolset}/" "--package_name=electron-v1.7-win32-x64.tar.gz"
gyp ERR! cwd C:\www\rm3-react\node_modules\sqlite3
gyp ERR! node -v v6.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

Failed with exit code: 1
Error: Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  unpack_sqlite_dep
  sqlite3.c
C:\www\rm3-react\node_modules\sqlite3\build\Release\obj\global_intermediate\sqlite-autoconf-3150000\sqlite3.c(295): fatal error C1083: Cannot open include file: 'stdarg.h': No such file or directory [C:\www\rm3-react\node_modules\sqlite3\build\deps\sqlite3.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\www\rm3-react\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\www\\rm3-react\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=1.7.9" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--module_name=node_sqlite3" "--module_path=C:\\www\\rm3-react\\node_modules\\sqlite3\\lib\\binding\\electron-v1.7-win32-x64" "--host=https://mapbox-node-binary.s3.amazonaws.com" "--remote_path=./{name}/v3.1.13/{toolset}/" "--package_name=electron-v1.7-win32-x64.tar.gz"
gyp ERR! cwd C:\www\rm3-react\node_modules\sqlite3
gyp ERR! node -v v6.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

Failed with exit code: 1
    at SafeSubscriber._error (C:\www\rm3-react\node_modules\spawn-rx\lib\src\index.js:277:84)
    at SafeSubscriber.__tryOrUnsub (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:238:16)
    at SafeSubscriber.error (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:197:26)
    at Subscriber._error (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:128:26)
    at Subscriber.error (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:102:18)
    at MapSubscriber.Subscriber._error (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:128:26)
    at MapSubscriber.Subscriber.error (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:102:18)
    at SafeSubscriber._next (C:\www\rm3-react\node_modules\spawn-rx\lib\src\index.js:251:65)
    at SafeSubscriber.__tryOrUnsub (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:238:16)
    at SafeSubscriber.next (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:185:22)
    at Subscriber._next (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:125:26)
    at Subscriber.next (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:89:18)
    at DefaultIfEmptySubscriber._next (C:\www\rm3-react\node_modules\rxjs\operators\defaultIfEmpty.js:67:26)
    at DefaultIfEmptySubscriber.Subscriber.next (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:89:18)
    at TakeLastSubscriber._complete (C:\www\rm3-react\node_modules\rxjs\operators\takeLast.js:102:29)
    at TakeLastSubscriber.Subscriber.complete (C:\www\rm3-react\node_modules\rxjs\Subscriber.js:114:18)

Console output when you run electron-forge with the environment variable DEBUG=electron-forge:*. (Instructions on how to do so here). Please include the stack trace if one exists.
Put the console output here

What command line arguments are you passing?
npm start // works
npm i --save sqlite3 --build-from-source
npm start // fails with the above message

What does your config.forge data in package.json look like?
  "config": {
    "forge": {
      "make_targets": {
        "win32": [
          "squirrel"
        ],
        "darwin": [
          "zip"
        ],
        "linux": [
          "deb",
          "rpm"
        ]
      },
      "electronPackagerConfig": {
        "ignore": "\\.idea",
        "packageManager": "npm"
      },
      "electronWinstallerConfig": {
        "name": "rm3_react"
      },
      "electronInstallerDebian": {},
      "electronInstallerRedhat": {},
      "github_repository": {
        "owner": "",
        "name": ""
      },
      "windowsStoreConfig": {
        "packageName": "",
        "name": "rm3react"
      }
    }
  },

Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-forge init is a good starting point, if that is not the
source of your problem.

If I had to guess you've got a bad install of C++ build tools.  I'd recommend reinstalling VC++ build tooling and if that doesn't work ask the sqlite3 people whether they know what's going on.  This won't be an issue caused by forge.  Happy to help you debug / talk through things here though if you want 👍

Not sure if it's the C++ since I've completely removed it and reinstalled 2017 visual studio and C++. And although I've installed it, since I don't know much about C++ I'd like to know how to prove that my C++ installation and setup is okay?

@mnemanja Normally things need python 2.7 and VC++ 2015 (not 2017)

@MarshallOfSound Thanks for that info.
I have Python 2.7.13, but when I went to get Visual Studio, all they had to offer from the counter was 2017 https://www.visualstudio.com/downloads/ :)

@mnemanja If you sign up for a microsoft developer account and go to this URL you should be able to download 2015 https://www.visualstudio.com/vs/older-downloads/

Is there a plan for 2017 to be supported perhaps?

That's something miles out of our control, basically all build systems for native modules expect VS 2015 afaik.
This is the direct download link for 2015: https://download.my.visualstudio.com/sg/en_visual_studio_community_2015_with_update_3_x86_x64_web_installer_8922963.exe?t=aac85be5-63df-45ca-ba45-2cf08c4b8e09&e=1508565688&h=c9ddf0b625645d4e80531cea386ccebe&su=1

I agree.
Thanks for the link. I'll give it a try on Monday :)


Nan Changes

Adding changes to support nanmean, nammin, nanmax, etc.

@stevevarner Hi,
I am not sure this will accomplish what I think you intend. There is a difference in how numpy treats NaN in + and - operations and with np.nanmean. see https://github.com/numpy/numpy/blob/master/doc/neps/missing-data.rst
For example:
import numpy as np
a = np.array([1, 2, 3, float('NaN'), 5, 6])
b = np.array([1, 2, float('NaN'), 5, 6, 7])
c = numpy.stack((a,b))
numpy.nanmean(c, axis=0)
Out[1]: array([ 1. ,  2. ,  3. ,  5. ,  5.5,  6.5])
# versus:
(a+b)/2
Out[2]: array([ 1. ,  2. ,  nan,  nan,  5.5,  6.5])

Am I missing something?

We are wanting it to disregard all NaN values in the mean.

That would mean that thunder images and series .nanmean would behave differently in local and spark modes.
Right?

No....they would behave the same.  numpy.nanmean ignores the NaN values just as what was implemented.

Hi,
I am trying to add tests to bolt to check your new functions (As in https://github.com/bolt-project/bolt/blob/master/test/spark/test_spark_functional.py#L66)
from numpy import arange, float32
from bolt import array

x = arange(2*3*4).reshape(2, 3, 4).astype(float32)
b = array(x, sc, axis=(0,))
b.nanmean()

gives the error:
 File "/Users/moharb/Documents/Repos/bolt/bolt/spark/statcounter.py", line 95, in merge
    delta[isnan(value)] = 0
TypeError: 'numpy.float64' object does not support item assignment

Any idea why?
Thanks,
Boaz

Had an offline chat with @boazmohar about some of this. Given that the goal of bolt is to stay as close to the numpy API as possible, we don't think we should add new methods here like nancount and nansampleVariance etc., but keeping nanmax nanmin nansum nanmean nanstd and nanvariance would be great.
For implementation, nanmax nanmin and nansum should probably be implemented with a reduce the way max and min and sum are now, and only nanmean nanstd and nanvariance should be done with the stats counter.

@freeman-lab @jwittenbach looking over code, there is a python 2/3 problem with specifying longs for  counters in stats counter. http://python3porting.com/differences.html (see long)
I think it makes sense to specify long in python 2, would this code be acceptable:
import sys
if sys.version_info < (3,):
    long = int


Support for updates and deletes?

Evaluating this gem, curious if it can support updates / deletes also?

Good question. Right now the generator in this gem generates a migration with a trigger on inserts.
If you want to use updates or deletes, then I'd suggest generating that default migration and then customize it to use update or delete instead (I think only one can be used in a trigger). You may also need to customize the payload that is sent with the notification.
Currently the implementation in the gem is to support sidekiq_publisher and similar outbox pattern use cases.


Landing page redesign

Is your feature request related to a problem?
Hey everyone, seems like we started working on the landing page but never completed it, so maybe it is time to do so :D.
Describe the solution you would like
So here’s the priority stuff:
Design is here (V2 dark>landing):
https://www.figma.com/file/GeVzZKVORd9L8kAWrlKtZv?
If I missed something in design let me know. One thing I need to do is redesign the NFT cards which have a bit of an odd alignment of info atm.
Priority tasks
Would be good to add banners to profiles so we can pull them into for featured/curated collections :

https://github.com/kodadot/nft-gallery/issues/2329
https://github.com/kodadot/nft-gallery/issues/1115
https://github.com/kodadot/nft-gallery/issues/145
https://github.com/kodadot/nft-gallery/issues/1165
https://github.com/kodadot/nft-gallery/issues/876
https://github.com/kodadot/nft-gallery/issues/899
https://github.com/kodadot/nft-gallery/issues/319
https://github.com/kodadot/nft-gallery/issues/2776
https://github.com/kodadot/nft-gallery/issues/2775
https://github.com/kodadot/nft-gallery/issues/2180
https://github.com/kodadot/nft-gallery/issues/1445

Later

https://github.com/kodadot/nft-gallery/issues/2647 —> when user logs in / connects wallet, to be implemented when we work out the passion feed? Open to suggestions here… we could have a switch to flip between normal landing/passion feed?

LMK if you wanna work on this and let’s kill the landing craigslist pit :D
Describe alternatives you have considered
If anyone has any suggestions about adding/removing stuff from the landing, please be vocal about it :D
Screeenshots

Hey! I've got multiple comments for landing page:

would it be possible to have a mobile/tablet version
we need to have a "logged" screen and one where it is not "logged in", I'm not for having 2 CTA button in navbar, I suggest that you remove "Create" button if the use is not logged in and vice versa, same for MyProfile link in navbar
I would change "Log in" to "Connect"  or "Connect wallet", + can we have a screen where we see the wallet connection modal?
Shopping cart is not ready yet and I think it will take a little more time to develop
For the links under the first slider where does it takes us?
For leaderboard, it's not very pretty to put two tabs next to each other, I would be more into the idea to put tab choice on the left and use something like radio button on the right side to select a period. What kind of "Volume" will be displayed here?
For the nft Card, would it be possible to add a badge in order to know wich type of nft we are looking at (#1744). + Is there something on the design to show me what emote has been attached to the nft?
it would be interesting to add the creation date on the "Newest Listed"
I don't see "Latest sales" is it on purpose?
10

Sure, give me a couple of days to make this one.
I'd keep the 2x CTA buttons in the nav bar, maybe move them next to each other so that minting is easily accessible, the majority of other platforms have the same thing, below an example from Rarible:

Sure, I'll design these.

no worries, I wouldn't say this is urgent

link on the left side lead to the wiki and the right side to the form through which users can get ksm

Designed that in a similar manner to hic.af and only applied here so that artists/collectors can see stats for both, as well as get an idea of volumes, through the tabs above users can see 1 day, week, month and all time trading volume.

as in file type like IMAGE, VIDEO, AUDIO?

Sure

Yeah latest sales weren't included but I can do so.

@roiLeo srry for the delays with all this stuff, AmsterDot took me by storm :D
Here is the design for desktop landing(updated everything as per your suggestions).
...and here is a mobile version
Let me know your thoughts and if anything else needs to be designed.

Closing this one in favor of

https://github.com/kodadot/nft-gallery/issues/3844