Safe IO script part

DO NOT DISCUSS HERE.

Side-note: compile-check does not pass because this PR uses functions which have not been added yet.

You should be able to just add the functions to the json as part of the PR

You should be able to just add the functions to the json as part of the PR

what json

You should be able to just add the functions to the json as part of the PR

what json

https://github.com/R2Northstar/NorthstarMods/blob/main/.github/nativefuncs.json this json

Code looks good to me

why did this appear before the latest commit huh


datetime microseconds mismatch after insert

Environment

Elixir version: 1.4.0
Database and version:PostgreSQL 9.5
Ecto version : 2.1.2
Database adapter and version (mix deps): postgrex 0.13.0
Operating system: kubuntu 14.04

Current behavior
Repo.insert! returned struct, and Repo.get_by struct are not equal.
the microsecond values are not the same.
I have a TimeEntry model
  schema "time_entries" do
    field :active, :boolean, default: true
    field :description, :string
    field :start, :utc_datetime
    field :stop, :utc_datetime
    field :duration, :integer
...

def changeset(struct, params \\ %{}) do
    struct
      |> cast(params, @allowed_params)
      |> validate_required([:active, :start])
      |> assoc_constraint(:user)
end

  user = Repo.get_by(User, %{id: 1})
  start_timestamp =<PHONE_NUMBER>751

  orig_datetime = DateTime.from_unix!(start_timestamp, :millisecond)
  Apex.ap "expected DateTime"
  Apex.ap orig_datetime.microsecond

  params = %{
    start: start_timestamp,
    user_id: user.id
  }
  inserted_te = %TimeEntry{}
    |> TimeEntry.changeset(params)
    |> Repo.insert!

  Apex.ap "insert DateTime"
  Apex.ap inserted_te.start.microsecond

  Apex.ap "fetched by id DateTime"
  fetched = Repo.get_by(TimeEntry, %{id: inserted_te.id})
  Apex.ap fetched.start.microsecond

  Apex.ap "fetched by start DateTime"
  te = Repo.get_by(TimeEntry, %{start: inserted_te.start})
  Apex.ap te.start.microsecond

output
"expected DateTime"
{
  [0] 751000
  [1] 3
}

"insert DateTime"
{
  [0] 751000
  [1] 3
}

"fetched by id DateTime"
{
  [0] 751000
  [1] 6
}

"fetched by start DateTime"
{
  [0] 751000
  [1] 6
}

There is nothing we can do here. When you ask for milliseconds, we generate a time with milliseconds precision but after it goes to the database we lose the precision information. So we have to assume we have the six digits precision (because that's what the database keeps). I suggest  generating times with microsecond precision so there is no loss in the conversion.


Feature request: silence output / blacklist certain output.

It'd be really awesome to be able to silence eth_getBlockByNumber, net_version and eth_getBalance command logs - they are ran all the time by Web3/Metamask and it clogs my terminal output. I can't get to any useful logs, because all I can see are those commands.
Maybe we should be able to blacklist certain output? Or silence it completely.

I do agree with you at some point. However, as far as i understand it, the log output is coming from ganache-core and not from ganache-cli it self.
Digging in ganache-core code i could find these lines
They seems to correspond to the logging process in console. As you'll see there's no option available to filter this part. It'll just output the data received in the requests. If i'm wrong please feel free to correct me, so i get a better understanding.
If i'm correct, one solution could be to implement an argv handler on this part that could take a single or array of codes that would be ignored for output in console.

For posterity's sake: we've also talked about logging over here: https://github.com/trufflesuite/ganache-core/pull/93
We definitely could use help on this; it's low priority to us currently. Please see the comments in https://github.com/trufflesuite/ganache-core/pull/93 for more details
Thanks!

@macbem @Asone Thanks for your interest in this feature.  As @seesemichaelj stated, this is currently a lower priority enhancement relative to some other issues but I don't think we should close it just yet.  I'm going to reopen this for now as this would be a great first time issue for a community member looking to contribute to ganache!
As a quick solution in the interim, you can try piping and filtering the cli output.
On linux/mac
ganache-cli | grep -v eth_blockNumber

On Windows (I need to test this still)
ganache-cli | findstr /V "eth_blockNumber"

Hello, i've read the thread of this issue and i've tryed to work on it.
I've found that in the "cli.js" file can be set the log level using this line of code logger.level = process.env.LOG_LEVEL || "info";.
But in order to work correctly it would be necessary insert this snippet of code
if (logger.level === "debug") {     logger.debug(item.method); }
in the "httpServer.js" of the ganache-core repository at lines 90 and 93.
Hope this help.


Refined Logo

I was playing around in Figma and made a logo which is basically the same as what you have today, but the Ex is projected onto the WinUI Cube. If you're interested, I can refine it.

Thank you for this! This is really neat and an interesting idea. I did have one concern wrt how it would look getting into a tiny icon, and it led me to tweak the design inspired by yours:

Thoughts?

Love it! And you are totally right, your revised design would be recognizable on a 16x16 icon.

I’ll keep it open until I get a chance to wrap this up. Again thanks for the great inspiration

Done!


UI editor "white box" at slow load when syntax on

In a specific scenario, the code editor is not loading properly. Instead of the full source code, only part of it is rendered and the missing code is replaced by an empty white box.
Repro steps:

slow connection (dev tools - network conditions - Fast 3G)
Syntax on (editor toggle)
reload the page concurrency/4 (1+ pages of code)
Chrome Version 67.0.3396.99 (Official Build) (64-bit) on Linux

Video:

It works on any page (from what I can tell, ex: methods/4 ) that has more code then 1 visible editor page.
Any action that triggers the $('.CodeMirror')[0].CodeMirror.refresh(); fixes the bug.
Clicking on the "white box" triggers the selection method which triggers a repaint, that adds the missing lines.
It seems to be Chrome related, I tried to reproduce it in Firefox (60.0.2 (64-bit) both 3G options) following the same steps but with no luck. I could use more confirmations in order to pinpoint the issue.
It seems to be an async issue, maybe the textarea doesn't have the full code when CodeMirror kicks in.

I can easily reproduce this (without even throttling the network, since my connection is not great) on Chrome
Version 67.0.3396.87 (Developer Build) built on Debian buster/sid, running on Debian buster/sid (64-bit)
I can also confirm that it doesn't happen on Firefox.

Code mirror debug

setValue and makeChangeInner (change.text) receive the correct text and line numbers. The doc.children are calculated correctly but the end result DOM elements are missing (see the picture). I have lost the trace at makeChangeSingleDoc function.

Updating codemirror at the 5.39 (latest) version doesn't seem to fix the issue, and I cannot find any similar issue on their github, so I guess I will create an issue there. From what I can see,

there is a bug in the CodeMirror code
or the Tour is using the CodeMirror wrong somehow
or is an Angular update bug (the resulting Divs of the codeMIrror are not propagated correctly in the DOM


Delete topic

When we delete a topic from kafka it just says marked for delete.
But the topic data will not get deleted until we manually remove the logs from kafka and zookeeper.
Is there any way we can delete the topic details completely with out any manual intervention.

Opened a lira ticket for this
https://issues.apache.org/jira/browse/KAFKA-3367


Prevents z-index from switching while animating causing the right sid…

Short description of what this resolves:
Prevents z-index from switching while animating causing the right side menu to flash when closing the left side menu.
Changes proposed in this pull request:

Prevents z-index change when side menu content is at 0 position.

Ionic Version: 1.3.2
Fixes: #9517
…e menu to flash when closing left.

@mlynch was this fixed elsewhere?


Add average_precision_metrics for multiclass

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

Project coverage is 100.00%. Comparing base (05d6e08) to head (3312af9).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #96   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           35        35
  Lines          812       812
  Branches        84        84
=========================================
  Hits           812       812

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


Allow a SkipByCustom string to be specified

Sometimes you want to allow the cache to be bypassed entirely.  For example if you are in draft mode and you want to preview your changes with a query string parameter or something.
So I've written a SkipByCustom feature that works analogously to VaryByCustom but the delegate returns a bool which then ordains whether the thing should bypass the cache.
Not sure if you'll want to go for this or not.  If you do then I can add a little documentation.
Thanks for writing the library in the first place!

I fixed my first commit with a forced push and have now added a second that makes a second check for SkipByCustom before actually caching the response.  This means that you can have an action that (say) sets something into HttpContext.Items to indicate that this particular response should not be cached.

I'll have a look very soon, I'm quite busy atm with other projects.
Kind regards.


Bug: throw er; // Unhandled 'error' event when using s3 as datasource

What happened?
I've tried to deploy zipline with a minio s3 bucket as data source.
When trying to start the container, the error below was thrown in the logs.
Following S3 ENV variables:
  DATASOURCE_S3_ACCESS_KEY_ID: [my-id]
  DATASOURCE_S3_SECRET_ACCESS_KEY: [my-key]
  DATASOURCE_S3_ENDPOINT: [my-minio-endpoint]
  DATASOURCE_S3_BUCKET: zipline
  DATASOURCE_S3_FORCE_S3_PATH: "false"
  DATASOURCE_S3_REGION: eu-finland

It can't be minio, as other applications can easily use other buckts in there.
Version
latest (ghcr.io/diced/zipline:latest)
What browser(s) are you seeing the problem on?
No response
Zipline Logs
2023-05-08 08:08:34,588 PM info  [datasource] using S3(zipline) datasource
2023-05-08 08:08:34,617 PM info  [database::migrations] establishing database connection
2023-05-08 08:08:34,618 PM info  [database::migrations] ensuring database exists, if not creating database - may error if no permissions
2023-05-08 08:08:34,741 PM info  [database::migrations] exiting migrations engine - database is up to date
2023-05-08 08:08:35,817 PM info  [server] listening on <IP_ADDRESS>:3000
2023-05-08 08:08:35,817 PM info  [server] started production<EMAIL_ADDRESS>server

node:events:491
      throw er; // Unhandled 'error' event
      ^
S3Error
    at Object.parseError (/zipline/node_modules/minio/dist/main/xml-parsers.js:75:11)
    at /zipline/node_modules/minio/dist/main/transformers.js:167:22
    at DestroyableTransform._flush (/zipline/node_modules/minio/dist/main/transformers.js:91:10)
    at DestroyableTransform.prefinish (/zipline/node_modules/readable-stream/lib/_stream_transform.js:129:10)
    at DestroyableTransform.emit (node:events:513:28)
    at prefinish (/zipline/node_modules/readable-stream/lib/_stream_writable.js:611:14)
    at finishMaybe (/zipline/node_modules/readable-stream/lib/_stream_writable.js:620:5)
    at endWritable (/zipline/node_modules/readable-stream/lib/_stream_writable.js:643:3)
    at Writable.end (/zipline/node_modules/readable-stream/lib/_stream_writable.js:571:22)
    at IncomingMessage.onend (node:internal/streams/readable:705:10)
Emitted 'error' event on Readable instance at:
    at DestroyableTransform.<anonymous> (/zipline/node_modules/minio/dist/main/minio.js:1845:127)
    at DestroyableTransform.emit (node:events:513:28)
    at /zipline/node_modules/minio/dist/main/minio.js:1780:33
    at DestroyableTransform.<anonymous> (/zipline/node_modules/minio/dist/main/minio.js:573:13)
    at DestroyableTransform.emit (node:events:525:35)
    at done (/zipline/node_modules/readable-stream/lib/_stream_transform.js:192:25)
    at /zipline/node_modules/readable-stream/lib/_stream_transform.js:130:7
    at DestroyableTransform._flush (/zipline/node_modules/minio/dist/main/transformers.js:91:7)
    at DestroyableTransform.prefinish (/zipline/node_modules/readable-stream/lib/_stream_transform.js:129:10)
    at DestroyableTransform.emit (node:events:513:28) {
  amzRequestid: null,
  amzId2: null,
  amzBucketRegion: null
}

Node.js v18.15.0

Browser Logs
No response
Additional Info
I've tried with both DATASOURCE_S3_FORCE_S3_PATH true and false.
There seems to go something wrong when parsing the S3 parameters or something.

Do the env variables you set correctly reflect in the read-config script? You can run it with yarn scripts:read-config or npm run scripts:read-config.

I'm running in Kubernetes, which makes this execution a bit difficult, when the application crashes the entire time, but I managed it:
"s3": {
      "access_key_id": "my-key",
      "secret_access_key": "my-access-key",
      "endpoint": "my-endpoint",
      "bucket": "my-bucket-name",
      "force_s3_path": false,
      "region": "my-region",
      "use_ssl": false
    }

Basically all the info it needs is there.

@TheAnachronism Try the DATASOURCE_S3_USE_SSL=true variable.

I had almost the same problem, but with IDrive e2 and DATASOURCE_S3_USE_SSL=true solved it. Thanks!

Using DATASOURCE_S3_USE_SSL=true, the instance crashes on startup with the following logs:
2023-06-01 12:50:26,648 PM info  [server] listening on <IP_ADDRESS>:3000
2023-06-01 12:50:26,648 PM info  [server] started production<EMAIL_ADDRESS>server
node:events:491
      throw er; // Unhandled 'error' event
      ^

Error: write EPROTO 88E98D254F7F0000:error:0A000410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1605:SSL alert number 40

    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)
    at __node_internal_errnoException (node:internal/errors:620:12)
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)
Emitted 'error' event on Readable instance at:
    at DestroyableTransform.<anonymous> (/zipline/node_modules/minio/dist/main/minio.js:1845:127)
    at DestroyableTransform.emit (node:events:513:28)
    at /zipline/node_modules/minio/dist/main/minio.js:1780:33
    at ClientRequest.<anonymous> (/zipline/node_modules/minio/dist/main/minio.js:588:9)
    at ClientRequest.emit (node:events:513:28)
    at TLSSocket.socketErrorListener (node:_http_client:502:9)
    at TLSSocket.emit (node:events:513:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -71,
  code: 'EPROTO',
  syscall: 'write'
}

Node.js v18.15.

Alright I've managed to get it running with force_s3_path to true.
Uploaded files actually land in the S3 bucket, but I can't seem to download them anymore with Zipline. Images don't get displayed  and PDFs aren't displayed either. I cannot download the files either, as they Zipline just shows a blank screen:

@diced is there any problem right now with S3?

Just tried the entire thing with DEBUG enabled and nothing shows in the log either.
What is going on here?

@TheAnachronism I'm honestly not sure what the issue here is.. if you are sure that the logs don't contain anything it would be pretty difficult to figure out what happened. you can try to make the bucket read/write for everyone (this can be dangerous, but it's worth a shot lol) and see if it still works, if it doesn't we know what the problem might be.

Mhh ok,
Currently, this is running with a minio bucket in the background. I'll try and see if something changes, if I use, i.e. Backblaze or something, to figure out if it's with S3 or Zipline.

OK so I fixed the upload issue. I get no errors uploading something.
But now I still have the weird behavior, that after uploading something, the file lands properly in the target bucket, but I cannot access it through zipline.
Calling the URL zipline provides just returns an empty response with the following DEBUG logs:
2023-10-08 09:25:14,605 PM info  [server::response] GET /u/8jExJN.png -> 200
2023-10-08 09:25:14,605 PM debug [server::response] {"method":"GET","url":"/u/8jExJN.png","headers":{"host":"zipline.MY.DOMAIN","x-request-id":"061565da5e7b15fdb6a93bcd81d04d32","x-real-ip":"MYIP","x-forwarded-for":"<IP_ADDRESS>","x-forwarded-host":"zipline.MY.DOMAIN","x-forwarded-port":"443","x-forwarded-proto":"https","x-forwarded-scheme":"https","x-scheme":"https","x-original-forwarded-for":"MYIP","cf-connecting-ip":"MYIP","cf-ipcountry":"CH","accept-encoding":"gzip, br","cf-ray":"813174846e6f08cc-LAX","cf-visitor":"{\"scheme\":\"https\"}","sec-ch-ua":"\"Microsoft Edge\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"Windows\"","dnt":"1","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/117.0.2045.60","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","sec-fetch-site":"none","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","accept-language":"en-GB,en;q=0.9","cdn-loop":"cloudflare"}}

I very much doubt, that it has something to do with Cloudflare that is in front of it, so what is the problem?

Just changed removed the Cloudflare proxy and that didn't change anything.

I've now given it another try and I don't get any error messages any more in the logs. But instead I got a
{"statusCode":500,"code":"AccessDenied","error":"Internal Server Error","message":"Valid and authorized credentials required"}

response when trying to open the uploaded image / file. The uploaded file DOES land in the minio bucket, so that works. But something is going wrong with reading this again.
How does zipline do that internally? Does it just redirect to the public URL from the s3 bucket, or does it get the file from there and then serve it by itself?
@diced

How does zipline do that internally? Does it just redirect to the public URL from the s3 bucket, or does it get the file from there and then serve it by itself?

It just requests the file from the bucket and returns whatever it got.
I'm not sure what service you are using for s3 but the only thing that comes to mind at this point is just messing around with the configuration options (which you have already done by the looks of it), and then messing around with rules and such that limit a certain api key from working. Zipline basically lets you configure everything about how it authenticates with s3 so I am like 50% confident it can't be a Zipline issue (but, it may always be that case who knows lol). This is kind of sad but this issue has been open for almost a year so lets try to fix whatever is going on here soon enough 😂

Alright, so:
I finally got some version of this working. I have no idea what is the issue with a normal minio server in as the S3 source, but well -.-
I had to set force s3 path to false, and set up minio to allow for subdomain access so bucket.mydomain.com/file
Only this way, zipline could properly upload and display things without running into access errors.
I'm really not sure, but I even set up a local dev environment and tested it with that, and it seems that this rather is an issue with the minio client, rather than your usage of it.
No idea what is going wrong, but I'm too fed up with this to further investigate, now that I got some version working.
Anyway, thanks for the support!


Store payloads in a queue when arriving in parallel

When messages arrive very quickly after each other, or the message handler is waiting for the Blob.arraybuffer to resolve (it's async), it can happen that another message that arrived in parallel resolves the promise already, losing the first message.
This commit introduces a payload queue, in which payloads that take longer are stored, and taken out on the next iteration.
Attention: The drawback of the current implementation is that the queue is only processed when a new message arrives.

The drawback of the current implementation is that the queue is only processed when a new message arrives.

Are you referring to your new implementation here? I am wondering because I believe your implementation works just fine. The following code is executed without receiving a new message so I am not sure what the drawback is:
      if (this.payloadQueue.length > 0) {
        const payload = this.payloadQueue.shift()!;
        resolve(payload);
        return;
      }


Using WGS84 yields squishes tiles along Y-axis

I specify a layer that uses WGS84, I get tiles that are squished along the Y-axis:

I think it might be a regression because if I roll back to 0.3.2, it works as expected, but my config might just be missing something.  I've included the relevant bits of my configurations below and have posted the Docker sandbox I'm using at https://github.com/dbazile/sandbox-tegola.
Environment

Tegola
0.4.0-alpha, 0.4.0-beta

OS
Debian Stretch (Docker)

Data Set
Natural Earth Data Countries (imported via shp2pgsql)

Configurations
The command used to import the shapefiles:
shp2pgsql -s 4326 ne_10m_admin_0_countries.shp countries | psql -U postgres -d world

My config.toml:
[webserver]
port = ":80"

[[providers]]
name = "world"
type = "postgis"
host = "localhost"
port = 5432
database = "world"
user = "postgres"
password = ""
srid = 4326

    [[providers.layers]]
    name = "countries"
    geometry_fieldname = "geom"
    id_fieldname = "gid"
    fields = ["name"]

[[maps]]
name = "world"

    [[maps.layers]]
    provider_layer = "world.countries"
    min_zoom = 0
    max_zoom = 20

@gdey can you take a look at this?

We are about to push issue-56 into v0.4.0. I had noticed some regressions and fixed them. When this push happens I'll revisit this to see if the issue still exists, and debug.

@dbazile Can you see if this has been addressed by v0.4.0-rc1?  Thank you.

@dbazile I think the regression still exists. I continue to look into it.

@gdey sorry for the delay!  I tried out 0.4.0-rc1 this morning but nothing renders at all now:
git show of https://github.com/dbazile/sandbox-tegola:
commit b63136744627b825cb1e2e4cba67e73fa0fad328 (HEAD -> master, origin/master)
Author: David Bazile<EMAIL_ADDRESS>Date:   Thu Nov 2 14:18:22 2017 -0400

    Update to RC1

diff --git a/Dockerfile b/Dockerfile
index 62058c3..9b242ea 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,8 +4,8 @@ RUN set -ex \
 	&& apt-get update \
 	&& apt-get install -y postgis sudo wget vim

-ENV TEGOLA_VERSION 0.4.0-beta
-ENV TEGOLA_SHASUM f7bfce61378dc2458c0bd7f9afc25688a6da36fdfc94b7444019600f2abfd46e
+ENV TEGOLA_VERSION 0.4.0-rc1
+ENV TEGOLA_SHASUM 8d4be44c8b881b91bca2ffcce51e5fe28bbf6a805e2cf4bac5e09b632524df32

 WORKDIR /server

Screenshot of OpenLayers 4 in Chrome:

I also tried adding srid to the provider.layers block which didn't look like it made a difference.

Yeah, I changed something that is causing this. Trying to figure out where the regression is. The obvious places are currently not yield anything.

Looks like I introduced this regression in 0912fc9b004ac453a4e008041fefbd716883c0e8 . (I found this using git bisect). Will keep this issue updates as I learn more.

@dbazile found the regression. Thank you for the bug report. Once the above pull request is merged it should no longer be an issue.

@dbazile this is now fixed in the v0.4.0-rc2 release I just pushed. I will leave this issue open in case you see any other errors while testing.
Thanks again for the report!

@ARolek @gdey Just bumped to 0.4.0-rc2; the tile requests are super slow at low zoom levels (no response >= 120s).  If I zoom down to 8 or 9, things start to show up but it takes about 5 seconds or so per tile.
$ time curl 'http://<IP_ADDRESS>:8000/maps/world/0/0/0.pbf' -o/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  340k    0  340k    0     0   1680      0 --:--:--  0:03:27 --:--:-- 93148

real	3m27.395s
user	0m0.018s
sys	0m0.031s

Out of curiosity, I also tested against MapBox's Web Mercator version of the Natural Earth countries data and it looks like it's having the same delays there too.
$ time curl 'http://<IP_ADDRESS>:8000/maps/world/0/0/0.pbf' -o/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  342k    0  342k    0     0   2559      0 --:--:--  0:02:16 --:--:-- 79982

real	2m16.935s
user	0m0.011s
sys	0m0.015s

@dbazile Yeah, I've not optimized the new code base. It's now doing simplification, clipping, and makevalid on all polygons. This brings us up to spec for v2 of mvt. However, there are still some makevalid bugs (You will see some phantom triangles due to cutouts in holes), and the speed of the makevalid func is slow. There are two reasons for this:

It's not yet parallelized.
It;s probally over allocating objects.

@dbazile as @gdey mentioned the goal for v0.4.0 has been to be compliant with MVT v2 spec. This was a rather large effort to implement the necessary algorithims for simplification, clipping and making invalid polygons valid. Now that we're end to end we're going to start working on performance profiling and benchmarking to speed up the tiles that are slow to process. As you have discovered it's mainly the lower zooms as they come with the most complex polygons.
We're still working on documentation, but a feature that also came with v0.4.0 to help alleviate this pain is a file cache. You can turn it on by adding the following to your config file:
[cache]
type="file"
basepath="/tmp/tegola-cache" #where do you want the tiles stored

The cache also supports a max_zoom parameter to limit when the cache is used. We're currently leveraging the cache layer to help with the lower zooms which don't change often.
Regarding the issue (Using WGS84 yields squishes tiles along Y-axis) has this been addressed for you in the newest build?

Got it.  In that case, the tiles that appear are WGS84 and unsquished. :+1:


Where can i use to get utxo and transactions?

Where can i use to get utxo and transactions?
The api in blockchain doesnot give me the correct utxo when i use segwit

这个可能要自己搞个区块浏览器了

You can use the API of Blockchain.com or insight. just like https://github.com/bitpay/insight-api#unspent-outputs

不需要啦，我找到办法了，等着我来开源吧

@mivanzhang 是扫块自己存储吗


Masking properties of a serialized object

We have a requirement to log the response body of each api request. There are a couple of fields in the response that are considered sensitive and need to be masked. I tried using options.MaskProperties, but that didn't seem to work and looks to be more for the placeholders in a message template.
Would something like this be achievable with this package? I considered creating a custom operator and using a combination of JsonPath to search and JsonPatch to replace, but not sure thats the best approach. Am I missing any combination of provide options?
Thanks.

Can you give me an example of what the log message would look like?
If I understand it correctly you want to do something like:
logger.Information(“Response body: {Response}”, serialisedResponseAsJson);

and the serialised response as:
{
   “prop”: “super sensitive stuff”
}

with the result being that “super sensitive stuff” is masked?

Yes except we are using serilog to do the serializing, i.e.
logger.Information("Response body: {@Response}", response);

Ah right, so you're using destructured objects.
In that case masking should work actually as you can see in this test: WhenMaskingDestructredObject

Ok so I've added a test to specifically check for this use case, see here and that seems to work fine.
If you're seeing different results, could you create a repro case for me so that I can investigate?

Im sorry I should have given you more information. You are correct masking does occur in destructured objects, but not in arrays.
I following sample is what Im trying to log and mask properties from:
{
    "items": [
        {
            "contactInfo": {
                "primary": {
                    "ssn": 0
                }
            }
        }
    ],
    "currentPage": 1
}

Im able to mask currentPage, but unable to mask ssn in the above json.
However, if the object is not in an array, the ssn property is masked correctly. Ive also tried returning just an array of account objects and the ssn property was not masked. So it seems something doesn't like arrays.

Thanks for the repro case. Let me have a quick look, shouldn’t be difficult to address this 👍

That was indeed not very difficult, it's now released as 1.5.0 and should be available through NuGet shortly after it has updated its index.

Thank you, this is working perfectly!

I'm having a very similar issue to this one.. when trying to mask certain properties in a json payload, it's only masking the email field. No matter what I try, only the email field gets masked.
Payload looks like this (after masking):
{"FirstName":"Greg","LastName":"Berlin","Email":"******","LocationCode":"M010","ItemCodes":["I-025400"]}
This is my config:
    "Enrich": [
      {
        "Name": "WithSensitiveDataMasking",
        "Args": {
          "options": {
            "MaskValue": "******",
            "MaskProperties": [
              "FirstName",
              "LastName",
              "Email"
            ],
            "Mode": "Globally"
          }
        }
      }
    ]

I've tried having just a single MaskProperty instead of 3 of them, but still only email gets masked (even when I specify FirstName for example.
Any ideas what I'm doing wrong? Is this supposed to work?  All your tests linked above only have a single field being masked, can you do one with more than 1 field?
Anything else I can try to get this working?
Thanks


[BUG] New-PnPMicrosoft365Group creating mail as @{domain}.onmicrosoft.com

Reporting an Issue or Missing Feature
Please confirm what it is that your reporting
New-PnPMicrosoft365Group is creating the primary (and only) mail property of a new Office 365 group as<EMAIL_ADDRESS>New-UnifiedGroup had a parmeter called "EmailAddresses" so you could set the mail of a group to<EMAIL_ADDRESS>New-PnPMicrosoft365Group is missing a feature to allow users to set the SMTP email address of a newly created Microsoft Office 365 group
No other cmdlet in PnP module lets you modify this property.
Expected behavior
The mail property to be<EMAIL_ADDRESS>Actual behavior
The mail property is coming out as<EMAIL_ADDRESS>Steps to reproduce behavior

Run the following, replace the variables with names relevent to your tenant
New-PnPMicrosoft365Group -DisplayName $displayName -Description $description -MailNickname $nickname
Go to the admin centre, find the newly created group and view the general information.
Under mail it will show the primary email address as<EMAIL_ADDRESS>
What is the version of the Cmdlet module you are running?
1.10.0
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

@ProductivityCollaboration seems like the groups endpoint (Microsoft Graph API) endpoint which this cmdlet uses, doesn't have an option to explicitly state the SMTP address you would like for the M365 group:
Create group
This actually mirrors the experience in the UI, where it seems to default to the onmicrosoft.com address when creating a Microsoft 365 group from the Office admin UI or the Azure AD portal:

Microsoft's advice is to use the Exchange Online PowerShell library:
Choose the domain to use when creating Microsoft 365 groups

Hi Callum. Thanks for the reply. Looking closer you are correct, it is just doing what it is programmed to do.
It seems the best way to get around this (in my instance) would be to set the default domain by creating an EAP. It is a shame there is no way to get to the mail property of the Group with PnP. Thanks


How can i edit the recording screen UI.

Hi @jamesmontemagno Thanks for the great plugin.
I wanted to know is there a way I can Customize the camera screen UI where video recording happens.
.
talking about the above screen.
I would like to change the Icons and text for my app.

There is no way to change it, we use the built in controls


chore: remove Brewfile

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

GitHub release
v3.1.2

Your semantic-release bot :package::rocket:


SEC-1431-Lintly-parser-for-gitleaks

lol you didn't need to put dashes or hyphens in a commit message (spaces are okay! commit messages are meant for human consumption), but this is fine.


Create PR to integrate fixes upstream

Hi there!
Thanks for bugfixing this plugin! It would be awesome, if you'd push these changes with a PR to the upstream project.
Thanks in advance!

Hi @dittodhole ,
Thank you for ur issue.
I created the PR just now.
https://github.com/arkhitech/redmine_mentions/pull/71
But seems the original repo (arkhitech) is not maintained for a long time (since 2016).
Still not sure arkhitech will merge the PR or not.


addon/azure_devops_v1 should be applied on level1 instead of level0

tl;dr:
I think the docs of the addon are wrong and it should state
rover -lz /tf/caf/caf_solution/add-ons/azure_devops_v1 \
  -tfstate azure_devops-contoso_demo.tfstate \
  -var-folder /tf/caf/caf_solution/add-ons/azure_devops_v1/scenario/200-contoso_demo \
  -parallelism 30 \
  -level level0 \ --> level1
  -env sandpit \
  -a apply

my scenario/ how to reporduce this
I just rolled out the caf launchpad with a modified 200 scenario.
When adding the azure_devops_v1 addon i noticed that the documented command does not work as expected.
rover -lz /tf/caf/caf_solution/add-ons/azure_devops_v1 \
  -tfstate azure_devops-contoso_demo.tfstate \
  -var-folder /tf/caf/caf_solution/add-ons/azure_devops_v1/scenario/200-contoso_demo \
  -parallelism 30 \
  -level level0 \
  -env sandpit \
  -a apply

upon closer inspection I figured that this addon has to be applied with -level level1 flag. Otherwise the landingzone.tfvars does not work out.
The azure_devops-contoso_demo.tfstate is expected on level1
landingzone = {
  backend_type        = "azurerm"
  global_settings_key = "launchpad"
  level               = "level1"
  key                 = "azure_devops-contoso_demo.tfstate"
...
}

the caf_launchpad.tfstate (level0) state is expected as "lower" state. When we roll this out with -level level0 there can not be a lower state. So we get this error:
@calling terraform_plan -- azurerm
╷
│ Error: Error loading state error
│
│   with data.terraform_remote_state.remote["launchpad"],
│   on locals.remote_tfstates.tf line 19, in data "terraform_remote_state" "remote":
│   19:   backend = var.landingzone.backend_type
│
│ error loading the remote state: blobs.Client#Get: Invalid input: `accountName` cannot be an empty string.
╵
Terraform plan return code: 1

Can you please confirm that i did nothing wrong? In exchange i would provide a pullrequest to fix the docs, in case im right. ;)
Expected behavior
documented command contains -level level1 flag
Configuration (please complete the following information):

OS and version: macos with rover(sh) in docker rover-preview:1.1.3-2201.190325
Version of the rover: rover-preview:1.1.3-2201.190325
Version of the landing zone: current main branch with contoso scenario 467f0fd

You are correct @arne21a - we are reworking that part to automate further the pipelines creation, but in the meantime, yeah the docs are not correct.


Start Hello Switcher at system startup by Task Scheduler

To start this app at system startup by Task Scheduler (It will make this app run without UI.) instead of login, I enabled it to skip showing the notification icon and silently close when it finds itself running as service.
I have tested it a little and this app seems to successfully enable or disable the specified built-in camera but the state will not be reflected when Windows Hello authentication appears.
Probably there would be some more things I haven't noticed.

This issue is solved by adding Window service.


OnDemand Follow-on: Add API method for getting Tablet hosting goals

Add a method to TableOperations that will allow a user to retrieve the Tablet hosting goals for a table. Optionally support the user supplying a range. Reference comment made at : https://github.com/apache/accumulo/pull/3294#discussion_r1165696295

Closed by  #3451


[PROCESS_RUNNER] remains after scene unloading

Hello there,
We are working with scenes that are loaded additively. The loading already works, but the unloading of the scene that contains a VR-Builder workflow still puzzles me, because the [PROCESS_RUNNER] (PR) remains after the unloading and thus causes an error.
So concretely: There is an InitScene that does nothing more than load further SceneAddressables. From this, another scene is loaded additively that contains a VR-Builder workflow. But the PR object is not created in the newly loaded scene, but in the InitScene. If the workflow scene is completely unloaded, the PR naturally lacks the other VR Builder components. Do you have an idea how this problem could be solved?
Thank you and best regards

Hi, this is a pretty specific use case. I'll check if we can implement a fix or a workaround for it.


feat: JSONalyze Query Engine

Perform stats with in-mem-SQLite on retrived JSON List
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of Change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[x] Added new notebook (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

WIP, will come back and continue tomorrow :)

In our project, this action was done per query.
Not sure about the footprint of a query engine in llama-index, will this approach to "create a query engine per query in agent" be accepted/scalable, or do we have other abstracts(that do not assume the query input as only query bundle?) to do so?
Or I guess a query engine itself is quite lightweight so it's totally by design to create and gc one instance per query in the agent?

and we better to add into docs https://docs.llamaindex.ai/en/stable/module_guides/deploying/query_engine/root.html


Use stable repository for openvpn chart

This chart is not at incubator repo

@k8s-bot ok to test


Number of campaigns shown in Download page table

The download page gives 1261 campaigns for BUWA, while there should be 935; this is most probably because the number of samples is given rather than the number of campaigns.

Solved by Carlos, closing this issue.


accept python object as python's hash key

This pull request is to fix the following error.
I tryed to use tensorflow from pycall like as the following
require 'pycall/import'
include PyCall::Import
pyimport "tensorflow", as: :tf

x = tf.placeholder.(tf.float32, shape: PyCall.tuple(nil, 784))
y_ = tf.placeholder.(tf.float32, shape: PyCall.tuple(nil, 10))
...(snip)
result = prediction.eval.(feed_dict: {x => new_img, keep_prob => 1.0}, session: sess)

And I got the following error.
load ./model.ckpt
        from learn.rb:92:in `<main>'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/pyobject_wrapper.rb:164:in `call'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:12:in `new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:12:in `tap'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:13:in `block in new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:13:in `each'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:14:in `block (2 levels) in new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:40:in `[]='
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/conversion.rb:117:in `from_ruby'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:12:in `new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:12:in `tap'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:13:in `block in new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:13:in `each'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:14:in `block (2 levels) in new'
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:45:in `[]='
        from /home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:45:in `PyDict_SetItem'
/home/suke/.anyenv/envs/rbenv/versions/2.5.0-dev/lib/ruby/gems/2.5.0/gems/pycall-0.1.0.alpha.20170403/lib/pycall/dict.rb:45:in `to_native': wrong argument type PyCall::PyObject (expected PyCall::LibPython::PyObjectStruct) (TypeError)

This pull request convert python's hash key to PyCall::LibPython::PyObjectStruct before invoking LibPython.PyDict_SetItem.

@suketa Please modify [] and delete as []=, and write tests for [], []=, and delete.

@mrkn  Thank you for your reply. I modified [] and delete and added tests for [], []=,  has_key? and delete,

I rebased master branch, and no conflicts.

@suketa Thank you so much.


Setting siderbar styles fix for Edge

Small fix for Edge browser - it seems that other browsers return "" for empty attribute when using " $('.sidebar').attr('style')" but Edge returns undefined. That is why inline style for sidebar is broken in Edge

Thanks @pwasiewicz


Add module FA

This PR will

Add fee-abstraction module
Adjust globalfee ante to work compatible with fee-abstraction
This PR is ready for review but probably right now it shouldn't be merged because we are completing the audit.

This is great thank you ! we will take a look

LGTM
Just two main things

The Feeabskeeper is not actually passed in to the ante handler options, so any tx would fail when mpog is non zero. Adding FeeAbskeeper: app.FeeabsKeeper, here should fix it  https://github.com/public-awesome/stargaze/blob/505f9156ee9f791e9f719fefecb71202811592a7/app/app.go#L861-L867
Adding the feeabs storekey to the upgrade handler

Minor: Noticed you modified the go.mod go version to older one. Any specific reason why?

Hi @spoo-bar. Thanks for your reviewed. I've updated to the PR


Weird animation issues on safari

Something to do with the 3d on the loading animation
https://user-images.githubusercontent.com/25940563/144684444-a4426bcd-c74f-46a7-af59-f1560c7c63e3.MOV

Fixed 5c27187084b3c3aa7965bdbe40c51819b9f6a4aa


2021 day 01

Review Checklist
⚠ This checklist is not exhaustive. Going throught the checklist does not replace a "freestyle" review.
Commit history

[x] Do all commits obey the commit message convention?

Project structure

[x] Is the project split into a library and a binary?
[ ] Is the library's module structure appropriate?
[ ] Is the library's API sufficiently documented?

[ ] Is #![deny(missing_docs)] present?

Readability

[ ] Is it intuitively clear how the code should work, just by reading it? Be VERY STRICT on this point, it is arguably the most important one.
[ ] Are all naming conventions upheld?

Clean Code

[ ] Has code duplication been kept to a minimum?
[ ] Are all functions so small that they only do one thing?
[ ] Are abstraction layers cleanly separated?

Test coverage

[ ] Are there integration tests in the tests directory?
[ ] Are there enough integration tests?

[ ] sample input (if applicable)
[ ] regular input

[ ] Are there enough unit tests?

Closing due to inactivity


Payload empty after conversion happens

I have a situation where the payload gets empty when the message under went the conversion.
Note: The payload comes as a List
Payload:
[payload=[{"recordHeader": {"producerId": "67bef361-8d47-497a-b670-cf7839e2b4a1", "producedAt": {"epoch_millis":<PHONE_NUMBER>875}, "correlationId": "11"}, "customer": {"id": "12345", "memberCustomerId": null}}], headers={kafka_offset=[1304], kafka_conversionFailures=[], kafka_consumer=org.apache.kafka.clients.consumer.KafkaConsumer@51e0350c, kafka_timestampType=[CREATE_TIME], kafka_receivedPartitionId=[4], kafka_receivedMessageKey=[8012008], kafka_batchConvertedHeaders=[{X-Custom-Header=[B@3d914a96}], kafka_receivedTopic=[topic1], kafka_receivedTimestamp=[1707716860875], contentType=application/*+avro, kafka_groupId=local-group}]
The message gets deserialised and comes to the
SimpleFunctionRegistry.java#L1356
it goes to
SmartCompositeMessageConverter.java#L84
which returns an empty list when no converter found.
Falling back to
SimpleFunctionRegistry.java#L136
it checks just convertedInput == null . however, not if the list is empty hence the payload to be removed form the message when coming to the consumer
Im using
Spring boot: 3.1.8
spring-cloud-function-context: 4.1.0

Im using
Spring boot: 3.1.8
spring-cloud-function-context: 4.1.0

In Spring messages payload of null is not allowed. In other words we can never have payload as null, hence the null check.
It is not quite clear from your issue if what you expected is a null payload, but if you did here is your answer. And if so what is the problem with empty list? You can do a check inside the function  and act etc. . .

This sounds like the same issue as: https://github.com/spring-cloud/spring-cloud-function/issues/1112
You might want to check the 2 workarounds described on that issue and see whether they can be applied for your use case.

Closing it due to inactivity from the original reporter and answer from the community mamber


boards: st: nucleo_wba55cg: define all LEDs/buttons and add MCUboot related LED/button aliases

This includes the following two commits, focused on LEDs and buttons definitions for nucleo_wba55cg board:

boards: st: nucleo_wba55cg: define all LEDs and buttons
This board includes three gpio-connected LEDs and push-buttons. Include all missing defines in board's DTS and while at it, fix existing button definition (missing pull-up enable) and align node names with other boards (e.g. nucleo_wb55rg).
Provided changes were tested on real board with blinky and button samples.
Additionally, duplicated LED nodes no longer required were removed from overlay file for this board, in suspend_to_ram sample.

boards: st: nucleo_wba55cg: add mcuboot-{led0,button0} aliases
This adds DT aliases for LED and button used in recovery mode of the MCUboot bootloader, on the nucleo_wba55cg board.

Please fix issue reported by CI here
devicetree error: Label 'red_led_3' appears on /leds/led_2 and on /leds/led_3

Ouch, sorry, I missed that one. Fixed force pushed (with rebase on top of main).


Enhancement: Add 'Copied' confirmation pop up (#2)

I only modified Input.js, input.css, and textarea.css. I created a new function for the popup and created a wrapper for both function on the click event for the copy button. I used setTimeout so the popup would disappear after 2 seconds. I added quite a bit of CSS for the popup. I used the dark theme colors. Let me know if I did something wrong and need to make changes.

The behaviour is fine and as expected (thank you!), but see if you can implement it using the useRef hook instead of document.getElementById, as that is they way it should be done in React.js. If you are not able to do it, let me know and I'll accept this version. Try to implement useRef though.
Reference doc: Refs and the DOM

Ok, I will implement useRef

I implemented useRef. Can I ask why the other queryselector method was used for clearBtn and such?

Can you please look at the code?

Hey @cod500, thank you for the PR!
I had a look at the code and have some suggestions.

The popup-window class can be included in the input.css file rather than the textarea.css file.
useRef can be directly imported in Input.js instead of passing it as a prop from TextArea.js.
So there only need to be two modified files.

Also, there have been some changes in the CI/CD process of the repo, so I would encourage opening a new PR with the changes mentioned here. (Do refer to this PR in the new one.)

 I wanted to help but this turned into one task into a thousand. It wook a lot of time to do this and you keep moving the goal post.  Good luck man.


MUMUP-2289 : Documentation is a thing

Moved stuff from http://staging-2.uc.wisc.edu/my-uw/
Updated documentation where needed
Took documentation about widgets from gist written forever ago
Wrote document about quickstart
Updated the doc's home
documented app-config

Documentation is good

:+1: a joyous thing!

:+1:


Add tests for G Suite mail syncer

What kind of a pull request is this?

[x] QA / Code Review

Code Checklist

[x] The code follows dotkom code style
[x] The code passes the defined tests
[x] I have added tests for the code I added
[x] I have provided documentation for the code I added
[x] The code is ready to be merged

(Possible) Breaking Changes

[x] The changes are backwards compatible

Description of changes
Added some test cases for the G Suite mail syncer.

I fixed some comments @duvholt. Care to re-review? 👍


How can i exchange the positions of two draggable items

I just want to exchange positions of the two items, without disturbing other items position.
I tried to use dnd-drop or dnd-inserted event to get the index of target item position, but can't.
If move the item from front to back, the dndPlaceholder will insert after if target item and the index is target item index + 1 , it's wrong result, but move item from back to front, the dndPlaceholder will insert before target item, so the result is ok.
I tried to use dnd-dragover event to get right index, but the dndPlaceholder li element disappeared and can't exchange the position of each item to other.
Thank you for your help. Forgive my poor English 😂

You can now do this using a custom dnd-callback, see https://jsfiddle.net/Ldxffyod/1/ for an example. Basically just replace the onDrop handler with a swap instead of a move algorithm.

Good Morning,
This is an interesting feature, can i use it with angular 4 and yarn 1.5.1?
Thanks for answer ?


Remove dynamic Stats from pets table

The contract should not have: hunger, hp, awake, happiness, clean stats.
Instead we should have only the last timestamps of each relevant pet action and create a table where frontend apps can access "calc variables" like the hunger_to_zero_interval, max_hunger_points and then calculate it dynamically.
It would give real-time experience allowing UI to have full control to show beautiful bars and stats real-time.

Is this suggestion still inline with strategy?

Good points, another thought I had though is what if the app expands to greater logic link monster battles or stuff like that where things can dynamically change / events a front end client wouldn't be able to calculate so easily?

I suppose it all depends on the scope and the plan of it.

I disagree with the CONS:

The frontend applications needs to know how to calculate the dynamic rules, otherwise the interface will reflect wrong status

The frontend can do whatever it wants with the data of the contract. It could display smartphones instead of monsters, could allow to charge them instead of feed, etc. Or do similar things interpreting the monsters as mathematical formulas that needs to be solved...
I think it is important for the game that the state can be calculated by the front end. (I was looking at my monsters and they seemed alive, when I fed them they died, because they were already dead some time ago.)

The frontend can do whatever it wants with the data of the contract. It could display smartphones instead of monsters, could allow to charge them instead of feed, etc. Or do similar things interpreting the monsters as mathematical formulas that needs to be solved...

Loved your insight! Definitely agreed. At the end people will choose the best and fun interface/game they want to play, right?

I think it is important for the game that the state can be calculated by the front end. (I was looking at my monsters and they seemed alive, when I fed them they died, because they were already dead some time ago.)

It's something that I'm messing around with recursive defer transactions. Just testing to see if it's a good approach, when it's working the frontend get's data almost like "real-time" (this is a con of having the status in the contract instead of only calc formulas), but when the recursion is broken for some reason that I could not identify the pet status stays outdated and you only discover the real one when you submit an action (because we always update the pet status before).
Check this out:
   // recursive infinite update if not dead, each minute
    uint32_t new_iteration = iteration + 1;
    uint64_t new_trx_id = (pet_id << 32 | new_iteration);
    transaction update{};
    update.actions.emplace_back(
        permission_level{_self, N(active)},
        _self, N(updatepet),
        std::make_tuple(pet_id, new_iteration)
    );
    update.delay_sec = 60;
    update.send(new_trx_id, _self);

The above code is called from the updatepet action itself, in the end, causing a recursive loop of deferred transactions: https://github.com/leordev/monstereos/blob/master/contracts/pet/pet.cpp#L76-L86
PS: @bytemaster @tbfleming @heifner - I know you guys are super busy but would love to have any insights from you about having recursive deferred transactions. Is it a good idea to have it? For me it does not look like for now... It sounds more reasonable and controllable to create a backend oracle to always monitor/watch and submits a transaction whenever needed.

I don't think that it is necessary to update the state of the game every minute, why not every 10 minutes or every second.
Maybe you want to publish an update/verifyState action that allows to update the state. The backend would just keep the relevant transactions with time stamps. The front end can estimate the actual state and if they want call the verifyState action to see whether the estimation was correct. Thereby, the backend would only calculate the state when needed.

I was about to answer your question when I noticed something: it could get expensive since you'd need to do it for each pet.
Chances are high that at least some of your deferred transactions will hit hard failures and stop.

hard failure: deferred transaction fails and notifying your contract of the failure also fails.

got it. so I can assume it's better to have an oracle taking care and handling whatever I need to watch in my contracts and submitting updates if ever needed!

already changed the contracts to dynamic attributes only, serving the calcs params in a singleton table


Add alpha-3 codes, eligibility to countries table

The accelerator team wants to use 3-letter ISO country codes instead of 2-letter
ones to track accelerator applications.
Since we use alpha-2 codes internally, add a column to the countries table for
the alpha-3 codes so we can easily map between the two.
Also add an "eligible" flag to indicate which countries are eligible for the
accelerator program.

#2149  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sgrimm and the rest of your teammates on  Graphite

Merge activity

Jul 12, 1:34 PM EDT: @sgrimm started a stack merge that includes this pull request via Graphite.


fixed some grammar and awkwardness

I don't think I changed any meaning here. There was at least one singular/plural grammar error, and some other awkward or overlong phrases that could be made clearer.

Thanks!


chore: add intl test dependencies to package.json

Add dependencies for testing intl locale on different os ie. ubuntu

Codecov Report

Merging #104 (86c82e0) into beta (7089248) will decrease coverage by 0.40%.
The diff coverage is 99.59%.

@@             Coverage Diff             @@
##              beta     #104      +/-   ##
===========================================
- Coverage   100.00%   99.59%   -0.41%
===========================================
  Files           11       13       +2
  Lines          147      246      +99
  Branches        40       88      +48
===========================================
+ Hits           147      245      +98
- Partials         0        1       +1

Impacted Files
Coverage Δ

src/components/utils/formatValue.ts
97.82% <97.82%> (-2.18%)
:arrow_down:

src/components/CurrencyInput.tsx
100.00% <100.00%> (ø)

src/components/utils/addSeparators.ts
100.00% <100.00%> (ø)

src/components/utils/cleanValue.ts
100.00% <100.00%> (ø)

src/components/utils/escapeRegExp.ts
100.00% <100.00%> (ø)

src/components/utils/fixedDecimalValue.ts
100.00% <100.00%> (ø)

src/components/utils/getLocaleConfig.ts
100.00% <100.00%> (ø)

src/components/utils/index.ts
100.00% <100.00%> (ø)

src/components/utils/isNumber.ts
100.00% <100.00%> (ø)

src/components/utils/padTrimValue.ts
100.00% <100.00%> (ø)

... and 7 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 e119352...86c82e0. Read the comment docs.


Face detect don't work when video mode

Steps to Reproduce

run example/lib/ai_analysis_faces.dart
change mode photo to video or initial mode photo to video

Expected results
working well MLkit! and show overlay face mask
Actual results
Occurred app crash
E/EventChannel#camerawesome/images( 6114): Failed to open event stream
E/EventChannel#camerawesome/images( 6114): java.lang.IllegalArgumentException: No supported surface combination is found for camera device - Id : 1.  May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.PreviewConfig@9f8315f, androidx.camera.core.impl.ImageAnalysisConfig@4797c75, androidx.camera.video.impl.VideoCaptureConfig@c3227ac]
E/EventChannel#camerawesome/images( 6114): 	at androidx.camera.lifecycle.LifecycleCameraRepository.bindToLifecycleCamera(LifecycleCameraRepository.java:285)
E/EventChannel#camerawesome/images( 6114): 	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:538)
E/EventChannel#camerawesome/images( 6114): 	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:384)
E/EventChannel#camerawesome/images( 6114): 	at com.apparence.camerawesome.cameraX.CameraXState.updateLifecycle(CameraXState.kt:112)
E/EventChannel#camerawesome/images( 6114): 	at com.apparence.camerawesome.cameraX.CameraAwesomeX$setupCamera$1.invoke(CameraAwesomeX.kt:91)
E/EventChannel#camerawesome/images( 6114): 	at com.apparence.camerawesome.cameraX.CameraAwesomeX$setupCamera$1.invoke(CameraAwesomeX.kt:91)
E/EventChannel#camerawesome/images( 6114): 	at com.apparence.camerawesome.cameraX.CameraXState.onListen(CameraXState.kt:205)
E/EventChannel#camerawesome/images( 6114): 	at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler.onListen(EventChannel.java:218)
E/EventChannel#camerawesome/images( 6114): 	at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler.onMessage(EventChannel.java:197)
E/EventChannel#camerawesome/images( 6114): 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/EventChannel#camerawesome/images( 6114): 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/EventChannel#camerawesome/images( 6114): 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/EventChannel#camerawesome/images( 6114): 	at android.os.Handler.handleCallback(Handler.java:938)
E/EventChannel#camerawesome/images( 6114): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/EventChannel#camerawesome/images( 6114): 	at android.os.Looper.loopOnce(Looper.java:226)
E/EventChannel#camerawesome/images( 6114): 	at android.os.Looper.loop(Looper.java:313)
E/EventChannel#camerawesome/images( 6114): 	at android.app.ActivityThread.main(ActivityThread.java:8751)
E/EventChannel#camerawesome/images( 6114): 	at java.lang.reflect.Method.invoke(Native Method)
E/EventChannel#camerawesome/images( 6114): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
E/EventChannel#camerawesome/images( 6114): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
W/Utils   ( 6114): could not parse long range '325-322'
I/CameraManagerGlobal( 6114): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client com.example.camera_app API Level 2

About your device

Brand
Model
OS

Samsung
**
Android 12, 13

We probably won't be able to help you on your specific device since the issue is related to what your device is capable of.
Doing analysis and recording video is computation heavy and might not be supported by all camera devices.
Here is some docs about it: https://developer.android.com/training/camerax/architecture#combine-use-cases

Your camera device is probably not LEVEL_3.
I'll let this open since we should provide more details about this in the docs and provide a way to find if the device supports it or not.
Can you tell us which Samsung model it is?

Okay I will check it~
I found problem, it seems my device problem
thx~, i closed issue

@apalala-dev
I find that my device did not support analayze image during record video
I want to stop analayze image at a certain point (example state.contoller.stopAnalyze())
or analyze image when video recording using another method
#206  seems relate this issue

Yes my bad, this is the same issue as #206.
There is some work to do on Analysis for a few things (including start/stop).
I will take a look at what we can do.

CamerAwesome 1.4.0 should address these issues.

Video recording and analysis might not be supported on some devices. Check the documentation to handle these cases.
You can start and stop analysis as state in the documentation.

Overall, many things have been added to the documentation, you might be interested to take a look :)
If there are other issues with image analysis, feel free to open a new issue. 👍


Move entity definitions to separate page(s)

Currently, entities are defined in one section where they're used with a heading (which helps find the definition in the search bar), and are then referenced in all other sections where they're used. The problem is that this spreads those entity definitions out across various sections, with no interlinking between them, and with variable text at each location.
For example, the run entity is defined under "Anatomy imaging data" with the following:

If several scans of the same modality are acquired they MUST be indexed with a key-value pair: _run-1, _run-2, _run-3 etc. (only integers are allowed as run labels). When there is only one scan of a given type the run key MAY be omitted. Please note that diffusion imaging data is stored elsewhere (see below).

However, in the MEG and EEG sections, at least, the run entity is not defined. It is just used in the filename templates. I should note, though, that in most cases where a definition is included, it's the same as the main definition with the heading. This is good for the specification, but it requires good maintenance instead of being automated as it could be.
I propose that we move the "canonical" definitions to either one page for all of them or one page for each, and then include links to the entity definitions in specification text. This will (1) standardize the definitions and (2) prepare us for when entities must be defined only once, in a canonical manner, as in #540.
Alternatives to consider

Link to entity definitions in the filename templates instead of, or in addition to, the specification text. Personally, I think this would be beautiful, but I don't think hyperlinks can be placed in code snippets.
Use mdinclude or something similar to simply include the full definitions in all of the relevant sections of the specification text. I don't know how this would interact with pandoc or the search-bar, but it would be more readable.

pinging @dbkeator. @tsalo - this is exactly what dave's grant is supposed to help with, so just making sure he is notified.

also pinging @nqueder

yes, good idea ... this came up in the past as well (e.g., here: https://github.com/bids-standard/bids-specification/issues/200#issuecomment-486621522)

I'd like to see a separate definitions page.  I did not think about looking for definitions in common principles until I did a search in the PDF.  As someone not as familiar with the spec as most people, it wasn't the first place I thought to look.

I've drafted up an extremely rough attempt at what I'm proposing in #568. The real deal would build off of some of the early schema work we've done in #475, but this first attempt should at least allow folks to judge how the changes would render in the specification.
Also, thanks @satra for pinging potentially interested folks!

Hi Folks,
As @satra mentioned, we have mined all the BIDS specification PDF documents and extracted terms used in BIDS into JSON-LD documents: https://github.com/NIDM-Terms/terms/tree/master/terms/BIDS_Terms.  These are searchable and we have implemented a little tool at OHBM Brainhack (which needs some additional functionality) that let's you search through these terms and add them with selected properties to export a Markdown table for inclusion in your BIDS specifications: https://github.com/nqueder/bids_terms_to_markdown_table.  This code also let's you add  a new BIDS term, checks whether its label collides with another BIDS term and writes out a new JSON-LD document for the term (it doesn't currently issue a pull request to the main NIDM-Terms repo which is something we'd like to finish up so one can contribute new proposed BIDS terms to the group).
Further we have loaded the BIDS specification terms into InterLex and are working on a process where InterLex updates its list of terms by pulling from the terms repo above: https://neuinfo.org/interlex/search?q=BIDS.
We are currently working on parsing the YAML schema files that @tsalo has been working on to verify we have all the BIDS terms and would like to work with you on coordinating our activities of managing terms used in BIDS.
Cheers,
Dave

Thanks @dbkeator! I think that the best course of action in synchronizing BIDS_Terms with the BIDS schema developments is a meeting (as discussed in #540). I don't think the current form of the YAML files will survive many releases- hopefully we'll adopt a more general standard (or set of standards) over time.
For this issue, my goal is mostly to start reorganizing the specification so that it's compatible with the full schema conversion once that transition happens. That reorganization will involve identifying what text can be truly modularized/sectioned off into schema files, and what text is necessary as section-specific "glue". In this case, entity definitions should be consistent across modalities, so they can be easily separated out without a lot of effort.


Fixed some of the formatting warnings reported by PyCharm IDE

Fixed formatting warning reported by the code inspection in PyCharm.
This will make it easier to spot the real errors when you use a code inspector tool.
Project should probably use some sort of automatic code formatter and checker in the future but this is a little step in adhering to PEP8.

I think there was a bug in the pull request,
Exception in thread Thread-35:
Traceback (most recent call last):
  File "\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "\Python\Python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "\venv\lib\site-packages\multitasking\__init__.py", line 104, in _run_via_pool
    return callee(*args, **kwargs)
  File "\yfinance-tz-cache\yfinance\multi.py", line 202, in _download_one_threaded
    data = _download_one(ticker, start, end, auto_adjust, back_adjust, repair,
  File "\yfinance-tz-cache\yfinance\multi.py", line 215, in _download_one
    return Ticker(ticker).history(
  File "\yfinance-tz-cache\yfinance\base.py", line 339, in history
    df = utils.safe_merge_dfs(df, dividends, interval)
  File "\yfinance-tz-cache\yfinance\utils.py", line 455, in safe_merge_dfs
    raise Exception("Lost data during merge despite all attempts to align data (see above)")
Exception: Lost data during merge despite all attempts to align data (see above)

Consider reverting

That revert got messy so I nuked it all.

Revert got messy so I nuked it all.


Create issue labels page in wiki

Describe the task that needs to be done.
A page needs to be created in the wiki called Issue Labels. This page will contain information about how custom labelling is used in our workflow so that the next team can use the labels in the same way.
Describe how a solution to your proposed task might look like (and any alternatives considered).
N/A
Notes

This issue was approved by everyone in the full team meeting on 20th March.

LGTM!

LGTM

LGTM

This page has been created!


"No ack received" Warnings When All Messages Should Be Delivered (On Localhost)

Currently only using a lan version of the Game.
Having an issue with spawning objects, whenever the player shoots and spawns a projectile I receive a No Ack received warning sometimes it is every projectile sometimes it is just one projectile.
In uncommon cases I'll receive a few no ack warnings then the host will be kicked from the game and either clients will still be on the server or the clients will also be kicked, the host will also not be able to host or join a server without restarting their game first.
Most of the warnings only show up on the host client but sometimes the client with the weaker connection also gets the warnings
Images for the warnings

Images for the code

I've been getting this same issue, but for me it only really happens if the ping on the client is running on the same machine as the server

mine says that it failed after 0 attempts? it seems to me that it just outright fails to send things sometimes; odd because i thought a localhost connection dropping packets was super super rare...
some news regarding this issue would be greatly appreciated, this has been causing many issues for me
using a player hosted setup btw.
(SERVER): No ack received for internal reliableAutoRelay message after 0 attempt(s), delivery may have failed!
UnityEngine.Debug:LogWarning (object)
RiptideNetworking.Utils.RiptideLogger:Log (RiptideNetworking.Utils.LogType,string,string) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Utils/RiptideLogger.cs:114)
RiptideNetworking.Transports.RudpTransport.PendingMessage:TrySend () (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/PendingMessage.cs:152)
RiptideNetworking.Transports.RudpTransport.PendingMessage:CreateAndSend (RiptideNetworking.Transports.RudpTransport.RudpPeer,uint16,RiptideNetworking.Message,System.Net.IPEndPoint) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/PendingMessage.cs:79)
RiptideNetworking.Transports.RudpTransport.RudpListener:SendReliable (RiptideNetworking.Message,System.Net.IPEndPoint,RiptideNetworking.Transports.RudpTransport.RudpPeer) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpListener.cs:347)
RiptideNetworking.Transports.RudpTransport.RudpServer:SendToAll (RiptideNetworking.Message,uint16,bool) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpServer.cs:275)
RiptideNetworking.Transports.RudpTransport.RudpServer:Handle (RiptideNetworking.Message,System.Net.IPEndPoint,RiptideNetworking.Transports.HeaderType) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpServer.cs:172)
RiptideNetworking.Transports.RudpTransport.RudpListener:ReliableHandle (RiptideNetworking.Transports.HeaderType,uint16,RiptideNetworking.Message,System.Net.IPEndPoint,RiptideNetworking.Transports.RudpTransport.SendLockables) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpListener.cs:224)
RiptideNetworking.Transports.RudpTransport.RudpServer:ReliableHandle (RiptideNetworking.Transports.HeaderType,uint16,RiptideNetworking.Message,System.Net.IPEndPoint) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpServer.cs:211)
RiptideNetworking.Transports.RudpTransport.RudpListener:PrepareToHandle (int,System.Net.IPEndPoint) (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpListener.cs:147)
RiptideNetworking.Transports.RudpTransport.RudpListener:Receive () (at Library/PackageCache/net.tomweiland.riptidenetworking@fe7dae1b73/Runtime/Transports/RudpTransport/RudpListener.cs:124)
System.Threading.ThreadHelper:ThreadStart ()

mine says that it failed after 0 attempts? it seems to me that it just outright fails to send things sometimes; odd because i thought a localhost connection dropping packets was super super rare...

It is rare...to the point that I'm actually not sure it's possible to lose packets on localhost. Keep in mind that when you get a warning like that it doesn't mean for sure that the message wasn't delivered—the keyword is that delivery may have failed.
That being said, it giving up without attempting to send it even once is extremely strange and something that I'm fairly certain can only happen if you pass 0 for the Message.Create method's maxSendAttempts parameter. Is it possible that you're doing that somewhere?

I'm fairly certain can only happen if you pass 0 for the Message.Create method's maxSendAttempts parameter. Is it possible that you're doing that somewhere?

I'm not. I've checked and cannot find any time that I've ever set the maxSendAttempts parameter.

Keep in mind that when you get a warning like that it doesn't mean for sure that the message wasn't delivered—the keyword is that delivery may have failed.

For me, the packets have been lost almost every time...
Sometimes it does get sent, but most of the time it doesn't.

I have the same issue with not reciving Ack after attempting 0 times, but for me it is when I send the SendSpawn method in the demo.

for me it is when I send the SendSpawn method in the demo

@TaahDev which demo? What are the exact steps you're taking to cause it? Can you reproduce it consistently?
I'm not sure if all of your situations are related to the same issue, but the main barrier to resolving this is the fact that so far I haven't been able to reproduce it myself. If anyone can provide some steps to (at least somewhat) consistently reproduce the behaviour in one of the demos, that'd be a big help.
Also, I'm assuming you're all using v1.2.0, but I've changed a lot of things since then (all of which will be in v2.0.0) so it's possible that this isn't even a problem anymore on later commits. If anyone would be willing to upgrade their project early to see if it's still a problem, that'd be great (a lot of things have been renamed, so if you update and can't figure out how something changed/where it went, just ask me on Discord).

@tom-weiland Here's every detail I can remember:

I created a default 3d unity project an downloaded the DLL & XML file straight from the Player Hosted Demo, but since there already was a DLL file it got saved as "RiptideNetworking(1).dll"
I dragged the RiptideNetworking(1).dll into Unity with the RiptideNetworking.xml (no (1)) into the unity project
I then noticed this mistake and deleted them both and dragged the correct named files into my project (I still think that this was the cause of the problem)
I copied all of the scripts from the github hosted player demo into my project and set everything up

Now when a Player hosted and a other one tried to connect, the host player will always receive the "No Ack Received after 0 attempts" message in the console when a different player joins, however the other player can see the host player look & move around.
I hope that helps a bit, maybe it was just my fault by using a weirdly named dll at the beginning, but when I cloned the demo off github it worked perfectly.

The name of the dll should be irrelevant.
The one you downloaded from the player-hosted demo (which became RiptideNetworking(1).dll) presumably contains the most recent commits—what about the dll that you already had on your computer? When and from where did you download that? Is that the one that you dragged into the project when you "noticed this mistake" or did you rename the one with the (1) at the end and continue using that?
None of this sounds unusual or incorrect, so unfortunately it doesn't really help me reproduce the problem.

The one I had on my computer is the one you can download on the releases tab, and I didn't drag that one in the project, I dragged the newest one in the project, deleted it, renamed it and dragged it back in
There is unfortunately nothing more I can tell you about this since it's fixed for me and that's everything I done leading up to this point

I've updated my project and the whole issue seems to have gone away.
More testing is probably required, but from the limited testing that I have done, it's completely gone.

I have the same Problem, only that I'm using v2. I just finished the Connecting UI for the client and have updated everything so it works with v2 of Riptide. I think the Problem is that the Scripts freeze as soon as i tab out from either Client or Server to start the other one. (If I click back and forth between them the connection remains but if i wait too long it times out)

I think the Problem is that the Scripts freeze as soon as i tab out from either Client or Server to start the other one.

Make sure you have the Run in Background setting enabled in both projects. This used to be enabled by default, but I think in newer Unity versions it defaults to off for some reason.

Closing this as I can't reproduce it, it's a stale issue, and it may not even be a problem anymore based on the fact that @HideyBoi is no longer experiencing the issue.
If anyone else runs into this, please open a new issue (reference this one) and include steps to reproduce it in one of the demos if possible.


Cannot load such file -- awesome_print

Using this gem in my gemfile results in:
cannot load such file -- awesome_print (LoadError)
Don't require awesome_print, it's only a dev dependency.

thanks

awesome_print is also in lib/trakt.rb and trakt.gem_spec
make sure it's removed everywhere?

force pushed. this should be better :smile:

i only removed the occurrences in lib, so requiring the gem works. but you're right, we could probably remove it everywhere since it's not used at all. your call

Yeah, let's remove it everywhere, then I will merge :)

All removed. Cannot run the specs because I'm missing the account_details.yml - Is that documented somewhere? Otherwise, please give it a spin to be sure it works.

Hrm. I should probably include a sample file for what that should be.


Fallback on Long Polling with .Net Core 2.1

I am using aspnet/SignalR 1.0.3 with .Net Core 2.1 (Microsoft.AspNetCore.SignalR 1.0.3 NuGet version). On connection, i am getting:
Error during WebSocket handshake: Unexpected response code: 500,
after that fallback to SSE also unsuccessful:
Error: Failed to start the transport 'ServerSentEvents': Error: Error occurred,
and at last, i am connected successfully with Long Polling:
Client code:
public createConnection() {
const options: any = {
transport: 0,
accessTokenFactory: () => 'my token'
};
this._hubConnection = new HubConnectionBuilder()
.withUrl('http://localhost:5000/chathub', options )
.build();
}
When I set transport to 4 (long polling directly) - no errors.
Question is why first two (best) transports does not work? Might it be that that latest client package version does not support .Net Core 2.1? Any idea how to avoid this behavior currently?
Thanks!

Can you provide the environment details requested in the New Issue template? Also, collecting client-side logs as described in the Diagnostics Guide will allow us to diagnose why those two transports are being skipped.

The Server you are using (Kestrel/HttpSysServer/IIS/IIS Express/Azure Web App/etc.):
The Operating System on the Server (Windows/Linux/macOS):
The Operating System on the Client (Windows/Linux/macOS):
The Browser on the client, if using the JavaScript client (IE/Chrome/Edge/Firefox/etc.):

Ok, i will turn the issue in another direction :) I found my issue - I am using [Authorize] attribute - authorization is going through IdentityServer4 Bearer token. When i send request with .Net client, i am setting:
_hubConnection = new HubConnectionBuilder() 				.WithUrl("http://localhost:5000/chathub", options =>  					options.Headers.Add("Authorization", "Bearer myBearer")) 				.Build();
With that setup, i am connected to websocket wuhout any problems. But, with angular client, i just can set accessTokenFactory in the scope of options, which pass the negotiation, but in request to the hub authorization header isn't set, just access_token in query, and it does not pass IdentityServer validation.
How  can I set authorization headers in client request for server hub methods usage?

I'm going to close this as we haven't seen any activity on the issue in 9 days. If you're still seeing a SignalR problem after fixing the authentication issue, feel free to open an issue to discuss it!


Fixed the "particle" command

The "particle" command can't find the texture, because it looks at args[1] instead of args[2]
There's also this command that uses the first argument https://github.com/Sceleratis/Adonis/blob/master/MainModule/Server/Commands/Donors.lua#L378
perhaps it was copy pasted there?

perhaps it was copy pasted there?
Likely.


Tag Helper asp-for generating bad name attribute for a model's class

Consider the following class:
class Model {
	public SubModel Sub {get;set;}
}

class SubModel {
	public string Field {get;set;}
}

Now when generating HTML Form via Tag Helper like this:
<input asp-for="Sub.Field"/>
It generates
<input type="text" id="Sub_Field" name="Sub.Field">
The issue comes with the name attribute, where you cannot do the following:
[HttpPost]
public IActionResult FormSubmittedAction(string Sub.Field) {
		...
}

The fix is obvious - replace the dot in the name attribute into a underscore and then the following is possible (And tested after a manual rename):
[HttpPost]
public IActionResult FormSubmittedAction(string Sub_Field) {
		...
}

Quick js temporary fix
$('input[name*="."]').each(function() {
    $(this).attr('name', $(this).attr('name').replace('.', '_'));
});

Better fix:
public IActionResult FormSubmittedAction([Bind(Prefix = "Sub.Field")] string field) {...}
public IActionResult FormSubmittedAction([FromForm(Name = "Sub.Field")] string field) {...}
public IActionResult FormSubmittedAction([FromQuery(Name = "Sub.Field")] string field) {...}

et cetera

The fix I would suggest is to change the action method to bind a Model type, which has the Sub property on it:
[HttpPost]
public IActionResult FormSubmittedAction(Model m) {
        ...
}

And then the default model binder will dive into Model m and see that there's a sub-property Sub on it, with a sub-sub-property Field on it and assign the value.
Or any of the other suggestions here would all work as well.


Add full ESM support on Node

The hybrid CJS/ESM package doesn't load on nodejs using native ESM packages and the --experimental-wasm-modules --experimental-specifier-resolution=node.
import * as wasm from "./biscuit_bg.wasm";
^^^^^^
SyntaxError: Cannot use import statement outside a module

fixed by #6


Remove Onelogin namespace

Fixes #659
Note this moves file paths from onelogin/ruby-saml to ruby_saml. The gem still loads with require 'ruby-saml' (hyphenated)
I will update README to remove mentions of Onelogin in a future PR.

@johnnyshields removing the namespace will break a lot of current projects that use this gem as dependency.
I'm not confortable with such change.

In order to keep compatiblity, what do you think if we git mv all the files from onelogin/ruby-saml to ruby_saml folder, then apply the changes, and then we createa new empty onelogin/ruby-saml that will point to the ruby-saml.
Or maybe there is a cleaner way to do that.

Sure, that sounds good.

@johnnyshields  I guess is better to reapply this change with the new merged files from v2

I'll update this PR soon!

Replaced by https://github.com/SAML-Toolkits/ruby-saml/pull/685


Create Shock Detection function for use with PVSS

Idea is that the users will want to find a time period with a shock, and then run the PVSS on that, or plot the shock, or anything

https://midetech.atlassian.net/wiki/spaces/EC/pages/1768947738/Shock+Detection+Function


dash docset?

Would be awesome if we could get docset for Dash!
Thoughts?

That's a great idea, but I'm not sure I have the time to transfer the docs over to Dash, especially when we have our own site. thanks for the idea.

A docket should be able to be generated from the html docs that are available.
Instructions are here: https://kapeli.com/docsets#dashDocset
I, for one, never really figured out how this is done (I also think those instructions aren't that clear as they could be), but if anybody out there wants to give it a go, it'll be awesome.


upgraded pysmb spec to ~=1.2; moved reqs to setup.py

fixes #14

upgrades pysmb version specification to ~=1.2

pip was ignoring requirements and version specifications when they were in setup.cfg. This PR moves everything but setup_requires to setup.py.

@althonos This PR also fixes the CI (which is currently broken in master). This version conflict bug will likely affect all users who do a fresh install of fs.smbfs, so ideally this PR should get pulled in and a new release should happen ASAP (and I'm glad to help out with this any way you need)

Closing, see #14


Use copy CSV instead of insert for pandas to postgres

This PR:

Improve performance by chaniging the method argument of to_sql calls to use a function from the pandas docs that uses COPY CSV instead of INSERT.
Creates a helper function that enforces datatypes on dataframes based on the types specified in the metadata.
Changes data_mart.fossil_infrastructure_projects.cost_millions column from an Int to Float because I was getting a "could not cast int to float" error when enforcing the types.

On my comp make etl_local went from 6m39s -> 2m58s.

Does this work if the df columns are in a different order than the metadata definition? Just noticed the csv is written separately from the COPY statement that defines the headers

Good question! I tested out mixing up the order of tables, and df.to_sql() still inserted the data with the correct column order.


README refers to client_addr as client_address

This does not match the code. Possibly relevant to #73.

Coverage remained the same at 100.0% when pulling ad01df8e23488de5f9cf4fa61b2be9b48ac319ec on logankoester:patch-2 into 8670b011dd25c23dc514ecf9e8bc8b0433da79f8 on johnbellone:master.


Clean up duplicated inputs_quantizer

Just a minor cleanup

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

Project coverage is 56.50%. Comparing base (d84d5cc) to head (08781b3).

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #19604       +/-   ##
===========================================
- Coverage   78.14%   56.50%   -21.64%
===========================================
  Files         497      497
  Lines       44986    44984        -2
  Branches     8330     8330
===========================================
- Hits        35153    25420     -9733
- Misses       8091    17967     +9876
+ Partials     1742     1597      -145

Flag
Coverage Δ

keras
56.50% <ø> (-21.49%)
:arrow_down:

keras-jax
?

keras-numpy
56.50% <ø> (-0.01%)
:arrow_down:

keras-tensorflow
?

keras-torch
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Push notifications are not compatible with this browser

The browser shows me this message  "Push notifications are not compatible with this browser". I have a Mac with Mamp Pro and Chrome version 65.0.3325.181 (official Build) (64-bit).
I have configured a VirtualHost http://xxxxx.xx pointing to /Applications/MAMP/htdocs/web-push-php-example/src

When I run php-S localhost: 8000 router. php
And I go to the link localhost: 8000 botton for "Enable notifications" is enabled, however the button  "Send a push notification" not working or no appear notification

Check the console and see what's wrong with your browser's configuration with the source code


Modify dev and build setup by adding post-Hugo processing with Vite

This is a fairly big change, but it should be pretty beneficial, I hope! The initial motivation for this was that I wanted to see syntax-highlighted code blocks in dev, but in a classic case of scope creep this has gone a fair bit further than that.
In brief, it adds Vite as a post-Hugo step for build and dev. This has a few major benefits:

Syntax highlighting in dev
Proper bundling, which means that Mermaid isn't included on pages that don't have Mermaid diagrams
More ergonomic setup for authoring JS components in the docs (specifically Vue components, as those were already in use)

The way this is setup is that npm run dev runs hugo and vite concurrently, with Vite pointing at Hugo's output folder. Vite then processes the output HTML files from Hugo. This enables syntax highlighting in development mode. Previously, syntax highlighted code blocks were added to the docs in a postbuild npm script—all that's changed is that Vite now runs that same script on Hugo's output HTML in development (and for the production build, which brings the development preview and the production build closer together). The syntax highlighting should be visually identical to the previous implementation. (vite.config.ts)
Another change is to follow the recommendation in Hugo's docs for Mermaid diagrams, which treats them as code blocks. This means that the Hugo build process can tell if a page has a Mermaid diagram, and only inject the Mermaid script on relevant pages, which speeds up loading on the vast majority of pages that don't have Mermaid diagrams.
As part of post-processing the Hugo output with Vite, which has a stricter HTML parser than browsers, I also found a few errors in the docs. Most were minor, including &lt instead of <, but some were more impactful. For instance, some Stream pages (content/stream/viewing-videos/av1-playback.md) had embedded figures that used React syntax (className etc...) rather than plain HTML, which meant that their aspect ratio wasn't being respected.
Because Vite is a modern bundler, which supports things like Vue natively, this change also meant that Vue single file components could be used, which yield higher performance that the string templates that were in use previously. I've added a shortcode:
{{ <Vue name="DashboardLanding" /> }}

which loads a Vue SFC from ./components/DashboardLanding.vue (or the path corresponding to the specified name), along with loading the vue library, and mounts it in place (which means there's no need to create an empty <div> with a id that has to be targeted). I've migrated the three main UI components that were in use previously to Vue SFCs (as a bonus, they're no in TypeScript!), and this should be extensible to allow adding different component frameworks in the future if needed (that's why the shortcode is called <Vue>, not <Component>—we could add a <Qwik> or <Svelte> shortcode in future to allow loading of different components).

Uhhh, it seems I broke this last night. I've fixed it now (but I can't push)

@WalshyDev @codewithkristian did you have a chance to look through this?

This is great! generally, I'm in favor of moving some of the more JS-intensive stuff into Vue as it will be easy to mix and match it with the static content.
But it does appear that the syntax highlighting is not currently working in the previous build I've looked at.
This D1 tutorial in preview build is missing highlighting or even appears to be passing it through completely: see the last example with the highlight directive that is asking the syntax processor to additionally highlight a line, on top of the standard syntax highlighting.

Confirmed this issue is fixed in the latest build.
@codewithkristian, would you be able to take another look and approve from our side?

Multi-line code copying is a bit messed up, works nice if it's a single line but a multiple (like in https://penalosa-modify-build.cloudflare-docs-7ou.pages.dev/pages/framework-guides/deploy-a-brunch-site/#create-a-github-repository) will get messed up:
Actual:
git init
$ git add -A
git commit -m "<YOUR_COMMIT_MESSAGE>"
$ git remote add origin <YOUR_NEW_GITHUB_REPOSITORY_URL>
git push -u origin main

Expected:
git init
git add -A
git commit -m "<YOUR_COMMIT_MESSAGE>"
git remote add origin <YOUR_NEW_GITHUB_REPOSITORY_URL>
git push -u origin main

Also, very strange movement while things load (happens with JS enabled or disabled but is way more noticeable if JS is disabled):
https://user-images.githubusercontent.com/8492901/218917607-352f0a36-5c0b-40b4-9e15-d06811d9d2e3.mp4

Multi-line code copying is a bit messed up
Ah yes, that's not great. That's also the behaviour on the current site, but I can fix it in this PR.
What was the reasoning to use Vue here? React is used far more internally. I don't mind Vue for these small things but React > Vue worth thinking about.
I used Vue because the codebase already had Vue components (they just used string templates rather than Vue SFCs). To be honest, my preference for something like this (where it's small bits of functionality on a page rather than a full JS app) would be Svelte, but I thought it'd be worth sticking to the frameworks already in use. React could definitely be adding in future though (a <react-component name="..."/> similar to Vue would be fairly easy to add)

Multi-line code copying is a bit messed up

Ah yes, that's not great. That's also the behaviour on the current site, but I can fix it in this PR.

What was the reasoning to use Vue here? React is used far more internally. I don't mind Vue for these small things but React > Vue worth thinking about.

I used Vue because the codebase already had Vue components (they just used string templates rather than Vue SFCs). To be honest, my preference for something like this (where it's small bits of functionality on a page rather than a full JS app) would be Svelte, but I thought it'd be worth sticking to the frameworks already in use. React could definitely be adding in future though (a <react-component name="..."/> similar to Vue would be fairly easy to add)

As mentioned above, there's actually some work to quasi-deprecate the Vue stuff and move either to Hugo base components or switch to another framework potentially.
More than happy to help with that migration (mostly the dashboard landing component) after the deprecation part (dynamic learning paths) is done.

I see some "block rearrangement" glitch whenever I navigate to a different page (Windows 10, Chrome browser). I can also briefly see the "Skip to content" link appearing at the top:

Think we're good to go on this... but could it wait until next Tuesday?
Just think it makes sense not to make any big changes right before a holiday weekend.