[error] 	sonatype-releases: unable to get resource for ch/qos/logback#logback-parent;1.1.7: res=https://oss.sonatype.org/content/repositories/releases/ch/qos/logback/logback-parent/1.1.7/logback-parent-1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	sonatype-snapshots: unable to get resource for ch/qos/logback#logback-parent;1.1.7: res=https://oss.sonatype.org/content/repositories/snapshots/ch/qos/logback/logback-parent/1.1.7/logback-parent-1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	Bintray : unable to get resource for ch/qos/logback#logback-parent;1.1.7: res=https://dl.bintray.com/projectseptemberinc/maven/ch/qos/logback/logback-parent/1.1.7/logback-parent-1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]
[error] 	sonatype-releases: unable to get resource for ch/qos/logback#logback-classic;1.1.7: res=https://oss.sonatype.org/content/repositories/releases/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	sonatype-snapshots: unable to get resource for ch/qos/logback#logback-classic;1.1.7: res=https://oss.sonatype.org/content/repositories/snapshots/ch/qos/logback/logback-classic/1.1.7/logback-classic-
1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	Bintray : unable to get resource for ch/qos/logback#logback-classic;1.1.7: res=https://dl.bintray.com/projectseptemberinc/maven/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]
[error] unresolved dependency: org.scalacheck#scalacheck_2.12;1.13.4: Resolution failed several times for dependency: org.scalacheck#scalacheck_2.12;1.13.4 {test=[default(compile)]}::
[error] 	public: unable to get resource for org/scalacheck#scalacheck_2.12;1.13.4: res=https://repo1.maven.org/maven2/org/scalacheck/scalacheck_2.12/1.13.4/scalacheck_2.12-1.13.4.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	sonatype-releases: unable to get resource for org/scalacheck#scalacheck_2.12;1.13.4: res=https://oss.sonatype.org/content/repositories/releases/org/scalacheck/scalacheck_2.12/1.13.4/scalacheck_2.12-1.13.4.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	sonatype-snapshots: unable to get resource for org/scalacheck#scalacheck_2.12;1.13.4: res=https://oss.sonatype.org/content/repositories/snapshots/org/scalacheck/scalacheck_2.12/1.13.4/scalacheck_2.12-1.13.4.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] 	Bintray : unable to get resource for org/scalacheck#scalacheck_2.12;1.13.4: res=https://dl.bintray.com/projectseptemberinc/maven/org/scalacheck/scalacheck_2.12/1.13.4/scalacheck_2.12-1.13.4.pom: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error] Total time: 17 s, completed Dec 9, 2019 1:41:30 PM
[info] shutting down server

Total "Hail Mary" shot, but I deleted the .sbt and .ivy folders from my home directory and now the project builds beautifully.  I'm very happy.  Thank you for your quick response to my issue.
I'm learning a LOT from your book!  😄


Rename kwds -> kwargs

Small cleaning

Sorry, somehow I had missed that you requested a review. This seems uncontroversial, so I merged right away.


Enable mole

Tested against nightly-2017-08-17.

Why did this fail? It builds fine with the following stack.yaml file:
resolver: nightly-2017-08-17
packages:
- '.'

It doesn't for me, I had to add some extra deps since snap etc isn't part of that snapshot:
resolver: nightly-2017-08-17
packages:
- .
extra-deps:
- snap-<IP_ADDRESS>
- heist-<IP_ADDRESS>
- map-syntax-<IP_ADDRESS>
- xmlhtml-0.2.5

and then I get the following:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for heist-<IP_ADDRESS>:
    aeson-<IP_ADDRESS> must match >=0.6 && <1.2 (latest applicable is <IP_ADDRESS>)
    process-<IP_ADDRESS> must match >=1.1 && <1.5 (latest applicable is <IP_ADDRESS>)
    time-<IP_ADDRESS> must match >=1.1 && <1.7 (latest applicable is <IP_ADDRESS>)
needed due to mole-0.0.5 -> heist-<IP_ADDRESS>

In the dependencies for snap-<IP_ADDRESS>:
    aeson-<IP_ADDRESS> must match >=0.6 && <1.2 (latest applicable is <IP_ADDRESS>)
    time-<IP_ADDRESS> must match >=1.1 && <1.7 (latest applicable is <IP_ADDRESS>)
needed due to mole-0.0.5 -> snap-<IP_ADDRESS>

Thanks!


Azure Functions V4 and net6.0

The first note says:
We recommend that you use the latest version (currently Azure Functions V3 and .NET Core 3).
But it seems that Azure Functions V4 and net6.0 is used when creating functions with VS Code.
In the text belonging to the header PlayFab CloudScript Context, Variables and Server SDKs it is also stated that You need to edit your .csproj file and include <DefineConstants>NETCOREAPP2_0</DefineConstants>. Does this need to be updated as well?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b983a98a-cd59-bd62-eda6-5cdfabacc256
Version Independent ID: 0e90c26b-45f2-3a0c-1af1-a0aa5a0e1261
Content: PlayFab CloudScript using Azure Functions Quickstart Guide - PlayFab
Content Source: playfab-docs/features/automation/cloudscript-af/quickstart.md
Product: playfab
GitHub Login: @williacj
Microsoft Alias: cjwill

Current documentation has been updated to not include the listed errors.


Build only C API for embedded server

Hi,
Is there a way to build only the API of OpenWebRTC without Javascript binding and extra stuff ?
Thanks

1-2 hours on a reasonably-specced machine but not on, say a Raspberry Pi. Even the new RPi 2 is going to be pretty slow. And you probably have to sort something out for a fast swap file system in order to link JavaScriptCore, maybe. You can probably set up some cross compilation environment but that's also going to need some work in the current build system. Cerbero is the place to figure this out and do it properly.

Having said all that, we have demoed on the RPi though I'm not sure how @pererikb built everything.

I think he's running it on Raspberry Pi, not building it :)

:-)

Cool project, is it open source ?

@frozeus do you mean the Raspberry Pi part? It could be, but we haven't made it available as one of our support platforms yet. It's still a bit of a hack :) If you are interested, and willing to get your hands dirty, maybe we can provide you with a patch.
We don't have any example code for running OpenWebRTC on a server, we try to limit our focus to clients. But in theory there is nothing preventing you from running the code on (Linux) server. In the picture above the RPI is running as a client.

Yes i will be very interested. I think it could be a lovely solution for all raspberry pi owners, much more better than a simple rtp server with gstreamer :)
And by the way if someone is interested i successfully build with glib and gstreamer.
You just need to remove dirs 'binding, bridge, test' from the configure.ac and Makefile.am and remove some PKG_config_check in configure.ac.

Cool, we will provide some patches soon, we just need to clean them up a bit first :)
Would be great if you would document your work on the Wiki: https://github.com/EricssonResearch/openwebrtc/wiki
Thanks

@frozeus those are exactly the changes needed, yes. Now if you just make them conditional based on some --disable-bridge configure switch, this should be ready to merge :) Feel to ask here if you need any help.

Thanks for you support, i'm a newbie with autools/autoconf but i will try.
Also as i have a hardware h264/opus encoder i'm editing owr_local_media_source to support appsrc and push data in this source. Not sure there is a generic way to do this. As soon as it's working i will try to push a patch if you think it can be usefull.

Cool, please do!

I think @ford-prefect has been doing some work to handle compressed media sources but I'm not sure how much he's managed to do. Maybe that work is useful to you and we can discuss how to continue with it if you're interested. :smile:

I've left notes on my works so far at
https://github.com/EricssonResearch/openwebrtc/issues/172#issuecomment-74239108
On 12 February 2015 at 22:17, Robert Swain<EMAIL_ADDRESS>wrote:

I think @ford-prefect https://github.com/ford-prefect has been doing
some work to handle compressed media sources but I'm not sure how much he's
managed to do. Maybe that work is useful to you and we can discuss how to
continue with it if you're interested. [image: :smile:]
—
Reply to this email directly or view it on GitHub
https://github.com/EricssonResearch/openwebrtc/issues/159#issuecomment-74105643
.

This is done. Closing.

Did we split the openwebrtc recipe into openwebrtc and openwebrtc-bridge?
If we do this, we can eliminate the dependency of openwebrtc on Android/iOS on the host openwebrtc build, and so eliminate the annoying "You need to build openwebrtc for the host..." message (as long as you're just building the openwebrtc recipe -- not the whole package, since that'll probably still require the bridge).

No, but we can make variants in the openwebrtc.recipe so that if you do not want the bridge and its dependencies, you can disable them.


Show Supporter Number Next To Release on Discography Pages

Note: Requested by user through email, reproduced in part below:

One feature I would love to be added if at all possible, would be to be able to see the number of supporters displayed on the record labels releases page. This would be a great way of finding the most popular tracks.

Basically, next to each release on a discography page would be a "supporter" count. The supporters of a release are displayed on each release's page.
Implementation Details:
Unless an API endpoint can be found for this, implementing this feature will require scraping releases to create the count. In this case it would be best to cache this calculation to prevent excessive requests to bandcamp.
Additional notes:
being able to turn on/off would be nice

looks like the data in the header of a page (which will be used by https://github.com/sabjorn/BandcampEnhancementSuite/issues/72) also contains "sponsors" with a count. So getting this data may be very easy :D

this feature is superseded by the playlists feature since it completely obliterates the discography page. Perhaps this data could be useful in the future if playlists end up taking the form of a spreadsheet style interface and thus allow users to have this data as part of their selection.


Corrected emoji flag for Tigrinya (ti)

I noticed that the flag for the Tigrinya language (ti) is currently the Ethiopian flag (🇪🇹/et), but it should be the Eritrea flag (🇪🇷/er).
Tigrinya is the official and primary working language of Eritrea (https://en.wikipedia.org/wiki/Eritrea), while it's only a minority language in Ethiopia – spoken by 5.9% (https://en.wikipedia.org/wiki/Languages_of_Ethiopia).

Thanks for your contribution @joneidejohnsen!


runtime: runtime tests fail much of the time on netbsd-amd64

The netbsd-amd64-8branch (NetBSD 8.0+) builder is back and NetBSD is kinda working for the first time in ages.
But only kinda.
The runtime tests fail with a timeout about two thirds of the time.
Examples:
https://build.golang.org/log/9ff11d9a995eb3b2555ce8f88bb3280c91639386
https://build.golang.org/log/d9a762c61874b62e34cec30f79ddc21a190922f7
https://build.golang.org/log/7ab9f1d000be47604a25b1ebf17fc55f5799d0ec
https://build.golang.org/log/6678e6c8dfb7533054836eb140f9eff8416e3a30
Many more at https://build.golang.org.
It'd be nice to have NetBSD happy for Go 1.10, considering the Go 1.9 news that NetBSD support was dead (https://golang.org/doc/go1.9#known_issues) which prompted a number of people to help fix things up.
/cc @aclements @ianlancetaylor @bsiegert

In each failure a gdb test is timing out.  Since the gdb tests are not mission critical, I think we may as well just skip them for now.

What are these GDB tests doing? If threading than this is not supposed to work. I work on improvements with ptrace(2) reliability.

@krytarowski See runtime/runtime-gdb_test.go.  I don't know what the actual problem is.  I suggest reverting the CL and running go test runtime.

@krytarowski, if by "threading" you mean tracing a threaded program, then almost certainly yes. Go programs use threads behind the scenes like crazy.

Threads are the reason why golang breaks under GDB/NetBSD.

@krytarowski, thanks. Is this something that's expected to fixed in NetBSD in the near future? If not, I think we should go ahead and close this issue, since there's not much we can do about it.
Also, is there a bug tracking this in NetBSD? It would be nice to reference something canonical from the test skip message.

I found at least a recent presentation from @krytarowski: http://netbsd.org/~kamil/ptrace-netbsd/presentation.html

http://www.netbsd.org/~kamil/eurobsdcon2017.html a more recent one!
Upstream related Problem Report:
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=52548
I've just finished porting TSan (upstream is ongoing). I'm going to switch to MSan soon and focus on LLDB and ptrace(2) fixes. This will take at least several months.

http://gnats.netbsd.org/52548 seems to be the most closely related bug.

We have added some quick fixes in gdb from the base that might fix basic tracing golang programs. The fixes landed -current.. 8.0 is getting closer so such upgrades might be too late now in -8.
Skipping the tests as of now is reasonable.

@krytarowski Would gdb-8.1 from pkgsrc work? We can get a current gdb installed on the builders, and perhaps bail out in the tests if the GDB is below 8.0.1.

Right now the basesystem and pkgsrc GDB are unrelated. The one in pkgsrc is as close to upstream as possible, while the basesystem one contains our patches from the past 20 years.
At the end both should end up as pristine upstream ones, working on it. ETA: after finishing LLDB and fixing ptrace(2).


Fixed bash step issue, improved debug facilities

Signed-off-by: Artem Ryabov<EMAIL_ADDRESS>

thanks for patch
I added parts of your patch here: https://github.com/Mellanox/ci-demo/commit/3e05a9f1115a21948ad98f18e93d90dad6094b67 just now, also expanded it to additional use-case (when shell used for internal operations and also can take default value from yaml file if set)
this PR can be closed

thanks for patch
I added parts of your patch here: 3e05a9f just now, also expanded it to additional use-case (when shell used for internal operations and also can take default value from yaml file if set)
this PR can be closed

LGTM, thanks!


sync recipe changes from scripts dev to scripts

What this PR does / why we need it:
Update recipes in scripts branch to match changes made in scripts-dev
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

How the test is done?

How to backport this PR to other branch:

Add label to this PR with the target branch name backport <branch-name>
The PR will be automatically created in the target branch after merging this PR
If this PR is already merged, you can still add the label with the target branch name backport <branch-name> and leave a comment /backport to trigger the backport action

Hi @bluzarraga
Would you mind helping to take a look to solve the conflict? Thank you!

@Daniel-Fan should be good to go now

/lgtm

whoops

/lgtm
Thank you @bluzarraga !


represent keybind as string

alternative to #65

I am also in favor of extending this as a list than str given its nature. There was some minor issue on the string representation but we can always override tostring method to deal with that

with the workaround on napari side I think this can be closed?


Is there a clean way to write async code in sequental form?

Hi,
I want to translate a code from Python to Livescript where callback hell comes into play. The most clean way I could find to implement following code:
do_something()
while True:
    x = do_something_else()
    if x == 0:
        break
    sleep(0.1)   # wait 100ms
do_another_thing()

is the following:
sleep = (delay, func) -> set-timeout func, delay

do-something!
a = ->
    x = do_something_else!
    if x != 0
        <- sleep 100ms
        a!
    else
        do_another_thing!
a!

Is there any way to write this code in a more readable form?
Edit
Note: We don't have Promise option.

do-something!
while true
  break if do-something-else! is 0
  yield new Promise -> set-timeout it, 100
do-another-thing!

Without generators:
do-something!
recurse = ->
  return do-another-thing! if do-something-else! is 0
  set-timeout recurse, 100

The Promise way is the way I was looking for! But sadly, it turns out I don't have a chance to use Promise as the interpreter I use is running on an embedded device and it doesn't support it.
In "Without generators" section, the code you proposed seems way cleaner than mine but there might be a little bit more clutter when we need to use some other code right after do-another-thing!.

set-timeout will call recurse, you're just passing it the reference.  Slightly altered form:
do-something!
recurse = ->
  return set-timeout recurse, 100 if do-something-else! != 0
  do-another-thing!
  do-more-other-things!

This version is even more clean. But what I meant is:
do-something = -> alert "done something"
i = 2
do-something-else = ->
  alert "done something else"
  i := i - 1
  return i

do-another-thing = -> alert "another thing is done!"

do-something!
recurse = ->
  return set-timeout recurse, 100 if do-something-else! != 0
  do-another-thing!
  do-more-other-things!

recurse!

Try it in the livescript.net interpreter window with and without recurse! call.

Oh hah!  Yes I forgot to kick it off.

A-ha! That works:
do-something = -> alert "done something"
i = 2
do-something-else = ->
  alert "done something else"
  i := i - 1
  return i

do-another-thing = -> alert "another thing is done!"

sleep = (ms, func) -> set-timeout func, ms

do-something!
while do-something-else! isnt 0 then
  <- sleep 1000ms

do-another-thing!

Since kicking the function off leads mistakes and makes the code harder to read, here is a slightly modified version:
do-something!
do (:recurse ->
  return set-timeout recurse, 100 if do-something-else! != 0
  do-another-thing!
  do-more-other-things!)

This seems even closer:
do-something = -> console.log "done something"
i = 2
do-something-else = ->
  console.log "done something else"
  i := i - 1
  return i

do-another-thing = -> console.log "another thing is done!"

sleep = (ms, func) -> set-timeout func, ms

do-something!
<- :recurse (next) ->
  x = do-something-else!
  if x is 0
    next!
    return
  <- sleep 1000ms
  recurse next
do-another-thing!


path folder erro

Your path folder contains a space at the end, but you cannot create a directory with a space at the end in windows

Yes Right,


Add support for inserting google fonts into the head

Add support for adding google font the way BlazorTypography handles them

Done


Mutex deadlock during read timeout fixed

When TcpEndPoint was closed because of read timeout, TcpConnector::onEndPointClosed() was called repeatedly resulting to mutex deadlock.
Tested with hello_http:

run hello_http
open connection with netcat/socat without sending any data
wait 60 seconds
hello_http becomes unresponsive

I bundled another bugfix from the same area of code to this PR:
When TcpConnector is destroyed and it deallocates its list of endpoints, those endpoints call TcpConnector::onEndPointClosed() with bad results. This callback should be deactivated during the destruction of TcpConnector.


Fix core and stats

Removed hard stop on os_ticks. Scheduling is now based on last entry time. Unsigned math with os_ticks should be viable again
Set psched to permanently use timer 7. No more conflicts with wheelspeed
Revamped stats. Individual tasks will now show max/instantaneous CPU use in % (excluding timing misses). Timing misses are also visible. It should be very easy to find out what is causing a watchdog reset now/where we can save some time
Re-added/fixed animations. If no animation is desired, the typical workflow will work perfectly. If they're desired, the BMS project shows an example usage. Clocks and GPIO must be configured prior to the call to sched_start(). If your initialization task doesn't register completion, the animation will hang forever!
Max task count is now 32
Tested rollover functionality of os_ticks. The scheduler shouldn't hang on its own anymore. If heartbeat is getting a little odd, it's purely application code at this point
Typical refactoring. Static functions are all at the bottom, and in a more logical order. checkPreflightSwap was renamed to make more sense. Stats were cleaned up quite a bit
Added error codes. sched.error will now show all tasks realms that are causing timing misses

ADMIN LET'S GET IT.
What could possibly go wrong...


[FEATURE REQUEST]: Host MVP Gridded DSS Archives on Cumulus

Feature Request Type

[ ] Add to Cumulus archives

Is your feature request related to a problem? Please describe.
Would like to use Cumulus as a one stop shop for MVP gridded data services.
Describe the solution you'd like
Move MVP archive data to Cumulus and discontinue reliance on T7 servers.
Describe alternatives you've considered
Mirroring Cumulus real-time data and adding to MVP archives on T7.
Additional context
Link to MVP gridded archives.
https://wm.mvp.ds.usace.army.mil/Data.html

Good Morning @msweier!  Thanks for taking the time to create a Github Issue for this! Let's connect on this next week with a few other folks on the team and put a plan together.
cc @adamscarberry @jeffsuperglide @FHanbali

@msweier, are the original format grids (grib, xmrg, etc.) available, or only the post-processed DSS archive?  Can you remind me what the original source format for the grids?
Apologies, I can't get to the internal link from my current machine / network connection (should be able to get to it on Tuesday).

@brettpalmberg, we just have the post-processed DSS archives on our server. Cumulus has most of the data, but we have some data going back a bit further.  It looks like you guys have the pretty much all the airtemp data (or something similar), but we would like the SNODAS data extended back for it's period of record and observed, calibrated, 1-hr, rainfall grids (Stage IV data) to go back to at least 2008. Thanks!

Thanks @msweier, great information! If we downloaded and processed all of the data from the Stage IV link you shared, would that meet the intent of uploading the St. Paul District NCRFC Stage 4 data? It appears that the Stage IV archive for CONUS extends the following date ranges per their information:

Begin datetime
2001-12-31 12:00:01

End datetime
2022-05-31 23:00:00

It is unclear to me how this data may differ from the realtime Stage IV Grids provided by NCRFC. Do you know if it is the same or has significant differences?

@brettpalmberg yes, the Stage IV data should be a mosaic of all the RFC produced data. It's my understanding that once an individual RFC issues a QA/QC'd observed rainfall grid, this product is called Stage III. Stage IV includes all the data from the other RFCs....not sure how they deal with differences near the boundaries, but it should be good enough for our use.

Hey @msweier, sharing a note that we're going to be working on the Stage IV Mosaic dataset here: #255. Thank you for sharing this information.

Thanks Brett! Looking forward to the update!
From: Brett Palmberg @.>
Sent: Wednesday, August 3, 2022 4:53 PM
To: USACE/cumulus @.>
Cc: Weier, Mitchell S CIV USARMY CEMVP (USA) @.>; Mention @.>
Subject: [URL Verdict: Neutral][Non-DoD Source] Re: [USACE/cumulus] [FEATURE REQUEST]: Host MVP Gridded DSS Archives on Cumulus (Issue #228)
Hey @msweierBlockedhttps://github.com/msweier, sharing a note that we're going to be working on the Stage IV Mosaic dataset here: #255Blockedhttps://github.com/USACE/cumulus/issues/255. Thank you for sharing this information.
—
Reply to this email directly, view it on GitHubBlockedhttps://github.com/USACE/cumulus/issues/228#issuecomment-1204524308, or unsubscribeBlockedhttps://github.com/notifications/unsubscribe-auth/ACH62STVKONXHAVLVQILUZLVXLS3TANCNFSM52HLT6GQ.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@msweier, would like to track this work under #255 and close this issue for now. Let me know if this misses any of the requirements documented here and we can absolutely open it back up. Thanks so much for sharing all the relevant information here. Stay tuned!


Cannot encourage Optics Industry

Among all the "Encourage Industry" national focuses, I could not find a national focus that encourages the optics industry.

Will take this as part of #851


Consider using Nix to build the repo

Hi, I think this is a great effort within the reMarkable community, and it would be fantastic to have a central package store widely adopted. I noticed that that the package files are very similar to Arch Linux PKGBUILDs, and that they require docker and a bunch of shell scripts to build locally. I was wondering if anyone had considered using the Nix package manager instead of this custom approach.
Nix has lots of advantages, especially if you care about reproducible builds, and it would be fairly straightforward to setup a development environment which 'just works' everywhere (without docker).
I know that this would be a huge undertaking, so I'm not expecting anything really, but I thought the discussion is still worth having.
I have seen some people already using nix with the remarkable tooling to great effect: https://github.com/pl-semiotics/nix-remarkable, and I think there might be some interest in this space.
CC @pl-semiotics @siraben

Using the nix package manager would mean that we would lose the entware packages just working, we'd have to port them all to nix packages, which would require a lot of extra work on our part. I'm not really in favour of this.

Using the nix package manager would mean that we would lose the entware packages just working, we'd have to port them all to nix packages, which would require a lot of extra work on our part. I'm not really in favour of this.

Hey @NickHu, one of the packages posted here already builds with Nix in its CI, see the workflow file, although it uses some custom scripts to build the final ipk file. Several of the other projects could have similar Nix builds.  Especially with @pl-semiotics's and my work in adding reMarkable to Nixpkgs' cross infrastructure, there are multiple ways to build programs for the reMarkable with or without the company's toolchain.
It might be appropriate to maintain this as a separate Nix overlay.

Hey @NickHu, one of the packages posted here already builds with Nix in its CI, see the workflow file, although it uses some custom scripts to build the final ipk file. Several of the other projects could have similar Nix builds.  Especially with @pl-semiotics's and my work in adding reMarkable to Nixpkgs' cross infrastructure, there are multiple ways to build programs for the reMarkable with or without the company's toolchain.
It might be appropriate to maintain this as a separate Nix overlay.

In all fairness, there are about ~20 packages in toltec already, many of them very short packaging scripts which are no more complicated than make && make install.
I see that nix has actually been successfully ported to reMarkable https://github.com/NixOS/nixpkgs/issues/106415 https://github.com/NixOS/nixpkgs/pull/105432. One of the big benefits that I hadn't considered is that the existing nixpkgs ecosystem can be leveraged, so in theory* one can just nix-env install any package that supports ARMv7 and expect it to work. With the existing approach, every piece of software would need to have its own package file.
Thinking about this, it might be out-of-scope for toltec and there should just be a nix-flake or something which serves as an alternative for reMarkable package management.

In all fairness, there are about ~20 packages in toltec already, many of them very short packaging scripts which are no more complicated than make && make install.
I see that nix has actually been successfully ported to reMarkable https://github.com/NixOS/nixpkgs/issues/106415 https://github.com/NixOS/nixpkgs/pull/105432. One of the big benefits that I hadn't considered is that the existing nixpkgs ecosystem can be leveraged, so in theory* one can just nix-env install any package that supports ARMv7 and expect it to work. With the existing approach, every piece of software would need to have its own package file.
Thinking about this, it might be out-of-scope for toltec and there should just be a nix-flake or something which serves as an alternative for reMarkable package management.

Hey @NickHu, one of the packages posted here already builds with Nix in its CI, see the workflow file, although it uses some custom scripts to build the final ipk file. Several of the other projects could have similar Nix builds. Especially with @pl-semiotics's and my work in adding reMarkable to Nixpkgs' cross infrastructure, there are multiple ways to build programs for the reMarkable with or without the company's toolchain.
It might be appropriate to maintain this as a separate Nix overlay.

Technically I'm doing the same build as toltec for the package files, which is what a number of toltec's packages do. They just take prebuilt binaries and create the ipkg file.

Hey @NickHu, one of the packages posted here already builds with Nix in its CI, see the workflow file, although it uses some custom scripts to build the final ipk file. Several of the other projects could have similar Nix builds. Especially with @pl-semiotics's and my work in adding reMarkable to Nixpkgs' cross infrastructure, there are multiple ways to build programs for the reMarkable with or without the company's toolchain.
It might be appropriate to maintain this as a separate Nix overlay.

Technically I'm doing the same build as toltec for the package files, which is what a number of toltec's packages do. They just take prebuilt binaries and create the ipkg file.

That sounds pretty promising. However I do think that this is a bit out of scope for this project since the original point of it was building ipkg packages with a Arch-like approach. We also use the entware packages which, while probably not comparable to nix' ecosystem, is already a big selection of packages that people also get.
I could totally see to have nix integration though. I'm personally not sure how it works on the reMarkable aside from nix having it's own unique system of folders one could probably make a package that makes installing the nix infrastructure on the reMarkable trivial if there (although I guess because of the similarities having one ecosystem install another could rub people the wrong way).
I really have to look into nix once I'm through the current semesters work. We could probably also adopt some philosophies from it since - while building packages in a similar fashion to pkgbuild - are not strictly tied to Arch linux and can integrate changes over the time.

That sounds pretty promising. However I do think that this is a bit out of scope for this project since the original point of it was building ipkg packages with a Arch-like approach. We also use the entware packages which, while probably not comparable to nix' ecosystem, is already a big selection of packages that people also get.
I could totally see to have nix integration though. I'm personally not sure how it works on the reMarkable aside from nix having it's own unique system of folders one could probably make a package that makes installing the nix infrastructure on the reMarkable trivial if there (although I guess because of the similarities having one ecosystem install another could rub people the wrong way).
I really have to look into nix once I'm through the current semesters work. We could probably also adopt some philosophies from it since - while building packages in a similar fashion to pkgbuild - are not strictly tied to Arch linux and can integrate changes over the time.

Thanks for suggesting @NickHu. I don’t know a lot about Nix, but their approach sure looks interesting. Do you know if Nix’s build system could easily be configured to output .ipk packages? I see that there’s a way to produce debs, so I guess this could be feasible.

Thanks for suggesting @NickHu. I don’t know a lot about Nix, but their approach sure looks interesting. Do you know if Nix’s build system could easily be configured to output .ipk packages? I see that there’s a way to produce debs, so I guess this could be feasible.

@matteodelabre Does opkg not use .opk packages? There's no support for it currently in nixpkgs but it could probably be implemented very simply, given that it's so similar to debs. The nix code for building debs is here.

@matteodelabre Does opkg not use .opk packages? There's no support for it currently in nixpkgs but it could probably be implemented very simply, given that it's so similar to debs. The nix code for building debs is here.

The format is inherited from ipkg and still called .ipk as far as I know. Thanks for the pointer!

The format is inherited from ipkg and still called .ipk as far as I know. Thanks for the pointer!


unittest broken of branch master

Desc
Unittest of branch master is broken:
How to replay:
python -m unittest
Result
...F......................EE..........E......E..E.E.......EEE.........EE............
======================================================================
..........
Ran 84 tests in 0.091s

FAILED (failures=1, errors=11)

Thanks for your feedback, please try the latest master branch for version 2.


Unpin pytest

Just a small update.

Wow, I am not sure why it fails.

I did some tests, it seems there're breaking changes b/w pytest 3.2.5, that we use now, and the recent one 4.3.3, tests start failing on 3.7.1, that's reproducible locally. I do want to upgrade all the test dependencies (incl vcrpy) and simplify the whole cassettes-based testing approach, that's something for the next version of the library.

@vshlapakov I created #120 to track it and am closing this one.

Sounds good, thanks.


Distributing minimum wage

Use the wealth index and minmum wage to generate wealth spatially (do this in onsstove.py)

We need a method to take the wealth index raster layer as a RasterLayer object and the minimum wage value of the country as inputs. Then, in the function we need to define a lower and an upper factor for the minimum wage. I suggest taking 0.2 and 0.5, then the lowest value in the wealth index will get 0.2 * the minimum wage and the highest value 0.5 * the minimum wage.


Import via SPM doesn't display the latest version: blocks the use of SPM integration

Integration Method: Swift Package Manager
Xcode Version: Xcode 14.2
Library Version: 5.0.2
Platform: iOS
Language: Swift and Objective-C
Description:
While trying to import Mixpanel-iphone via Swift Package Manager, when selecting option "Exact Version", the prompt automatically selects version 3.0.0.

It seems that that this is linked to the fact that the field CFBundleVersion included inside the Info.plist file is set to CURRENT_PROJECT_VERSION, which seems to be set to 3.0.0 in the project.pbxproj file.
☑ Please update the CURRENT_PROJECT_VERSION of the project.pbxproj file.

I am reporting this issue because I imported Mixpanel-iPhone SDK via SPM and I had the following prompt

missing required module 'Mixpanel'

This prompt appeared even though I was following the instructions from the documentation: my project couldn't recognize the framework. I tried forking the project, changing the field CURRENT_PROJECT_VERSION = 5.0.2, re-importing it Mixpanel-iPhone in my project via SPM: it worked 🥳
(For now, I switched to using CocoaPods because the SPM import method doesn't seem to work fine on my end)

If Swift Package Manager (SPM) isn't displaying the latest version, try the following steps:

Update your Package.swift file with the correct version or version range for the package.
Run swift package update in the terminal to fetch the latest dependencies.
Clean the Xcode build folder with Shift + Command + K.
Delete the DerivedData folder at ~/Library/Developer/Xcode/DerivedData.
Check the package repository to ensure the latest version is available.
Verify Xcode and SPM updates for any bug fixes.
As a workaround, manually edit Package.swift to use the desired version.

If the issue persists, check package-specific documentation or support channels.

SPM is still not showing the latest version (it defaults to 1.0.0 in Xcode). I just pinned to a commit has instead, since there doesn't seem to be a reliable version available.

This is still an issue. Ran into it now. Doing the same as OP, went back to Cocoapods just for this dependency.


python311Packages.pygitguardian: 1.10.0 -> 1.11.0

Diff: https://github.com/GitGuardian/py-gitguardian/compare/refs/tags/v1.10.0...v1.11.0
Changelog: https://github.com/GitGuardian/py-gitguardian/blob/1.11.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 261497 run on x86_64-linux 1

6 packages built:

ggshield
ggshield.dist
python310Packages.pygitguardian
python310Packages.pygitguardian.dist
python311Packages.pygitguardian
python311Packages.pygitguardian.dist


Develop a profiling strategy

one example https://github.com/pzembrod/cc64/blob/master/src/common/profiler.fth

Discussion: https://groups.google.com/g/comp.lang.forth/c/cNsq1FeN3W4/m/sZKuv7x-HI8J
Maybe an interrupt driven PC sampler?


[GHSA-69fv-gw6g-8ccg] Potential memory corruption in arrayfire

Updates

Affected products

Comments
We withdrew PYSEC-2019-144 in https://github.com/pypa/advisory-database/pull/99 as this specifically affected the rust bindings only


when evaluate the trained mode on inria dataset, process handling

Hi, I installed the environment in Ubuntu 18.04. I first run the command
python main.py --config configs/config.inria_dataset_osm_aligned.unet_resnet101_pretrained
after training finish
I run
python main.py --config configs/config.inria_dataset_osm_aligned.unet_resnet101_pretrained  --mode eval
the program will hanging there with the following output:
INFO: Loading defaults from configs/config.defaults.inria_dataset_osm_aligned.json
INFO: Loading defaults from configs/config.defaults.json
INFO: Loading defaults from configs/loss_params.json
INFO: Loading defaults from configs/optim_params.json
INFO: Loading defaults from configs/polygonize_params.json
INFO: Loading defaults from configs/dataset_params.inria_dataset_osm_aligned.json
INFO: Loading defaults from configs/eval_params.inria_dataset.json
INFO: Loading defaults from configs/eval_params.defaults.json
INFO: Loading defaults from configs/backbone_params.unet_resnet101.json
GPU 0 -> Using data from /gimastorage/Xiaoyu/data/AerialImageDataset
INFO: annotations will be loaded from disk
# --- Start evaluating ---#
Saving eval outputs to /gimastorage/Xiaoyu/data/AerialImageDataset/eval_runs/inria_dataset_osm_aligned.unet_resnet101_pretrained | 2020-12-05 09:55:09
Loading best val checkpoint: /home/sunx/Polygonization-by-Frame-Field-Learning/frame_field_learning/runs/inria_dataset_osm_aligned.unet_resnet101_pretrained | 2020-12-05 09:55:09/checkpoints/checkpoint.best_val.epoch_000001.tar
Eval test:   0%|                                         | 0/34 [00:00<?, ?it/s]Traceback (most recent call last):
It will keep it still, if I stop the process, it gives following errors:
Process SpawnProcess-2:
Traceback (most recent call last):
File "/home/sunx/Polygonization-by-Frame-Field-Learning/main.py", line 387, in
Traceback (most recent call last):
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
fn(i, *args)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/child_processes.py", line 75, in eval_process
evaluate(gpu, config, shared_dict, barrier, eval_ds, backbone)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/frame_field_learning/evaluate.py", line 62, in evaluate
evaluator.evaluate(split_name, eval_ds)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/frame_field_learning/evaluator.py", line 85, in evaluate
inference.inference_with_patching(self.config, self.model, tile_data)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/frame_field_learning/inference.py", line 79, in inference_with_patching
assert len(tile_data["image"].shape) == 4 and tile_data["image"].shape[0] == 1,
AssertionError: When using inference with patching, tile_data should have a batch size of 1, with image's shape being (1, C, H, W), not torch.Size([6, 3, 725, 725])
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 26, in _wrap
sys.exit(1)
SystemExit: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 318, in _bootstrap
util._exit_function()
main()  File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/util.py", line 334, in _exit_function
p.join()
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 149, in join
res = self._popen.wait(timeout)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/popen_fork.py", line 47, in wait
return self.poll(os.WNOHANG if timeout == 0.0 else 0)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/main.py", line 381, in main
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/popen_fork.py", line 27, in poll
pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt
Traceback (most recent call last):
launch_eval(args)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/main.py", line 321, in launch_eval
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/sunx/Polygonization-by-Frame-Field-Learning/lydorn_utils/lydorn_utils/async_utils.py", line 8, in async_func_wrapper
if not out_queue.empty():
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/queues.py", line 123, in empty
return not self._poll()
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/connection.py", line 257, in poll
return self._poll(timeout)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/connection.py", line 424, in _poll
r = wait([self], timeout)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/connection.py", line 924, in wait
selector.register(obj, selectors.EVENT_READ)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/selectors.py", line 352, in register
key = super().register(fileobj, events, data)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/selectors.py", line 244, in register
self._fd_to_key[key.fd] = key
KeyboardInterrupt
torch.multiprocessing.spawn(eval_process, nprocs=args.gpus, args=(config, shared_dict, barrier))
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn
while not spawn_context.join():
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 75, in join
ready = multiprocessing.connection.wait(
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/multiprocessing/connection.py", line 930, in wait
ready = selector.select(timeout)
File "/home/sunx/anaconda3/envs/frame_field1/lib/python3.8/selectors.py", line 415, in select
fd_event_list = self._selector.poll(timeout)
KeyboardInterrupt
Eval test:   0%|                                         | 0/34 [13:02<?, ?it/s]
Process finished with exit code 130
I looked at the code of inference file
def inference_with_patching(config, model, tile_data):
*assert len(tile_data["image"].shape) == 4 and tile_data["image"].shape[0] == 1, *
f"When using inference with patching, tile_data should have a batch size of 1, "
f"with image's shape being (1, C, H, W), not {tile_data['image'].shape}"
Here the code assert needs the data to be a certain size which is different from the patch size.
I run the eval command twice, the output above is the second time, so there is no log about  the patching process. the first time, it will first patch the test data.
Other things I do is reduce the data size by changing the code inside the inria_aerial.py
CITY_METADATA_DICT = {
"bellingham": {
    "fold": "test",
    "pixelsize": 0.3,
    "numbers": list([2,3]) ,
    "mean": [0.3766195, 0.391402, 0.32659722],
    "std": [0.18134978, 0.16412577, 0.16369793],
},

"austin": {
    "fold": "train",
    "pixelsize": 0.3,
    "numbers": list(range(1, 2)),
    "mean": [0.39584444, 0.40599795, 0.38298687],
    "std": [0.17341954, 0.16856597, 0.16360443],
}

}

I also encountered this problem, have you solved it?

have you solved it?

I was able to overcome this issue by specifying the eval batch size while running the main.py like so:
   python main.py --config config_name --mode eval --eval_batch_size 1

But, I faced another problem immediately after which says:
  RuntimeError: The size of tensor a (1024) must match the size of tensor b (299) at non-singleton dimension 3 in inference.py

I tried to change the patch_size in the config file to 299, but that leads to another error. I would be glad if someone could shed some light on this if they have come across this issue.
Thank you.

I found a solution.  Set "num_workers": 1 in 'config.defaults.json'.


SubscribeToTopic() results in 401

[REQUIRED] Step 2: Describe your environment

Operating System version:

$ uname -a
Linux Chicago <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Nov 23 01:01:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Firebase SDK version: firebase.google.com/go/v4 v4.10.0
Library version: v4.10.0
Firebase Product: messaging

[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
	app, err := firebase.NewApp(context.Background(), &firebase.Config{
		ProjectID:     projectID,
	})

	fcm, err := app.Messaging(context.Background())
	if err != nil {
		panic(err)
	}

...

    fcm.SubscribeToTopic(context.Background(), []string{
			"<valid token>",
		}, "anyTopic")

Results in the error:
unexpected http response with status: 401\n\n\n<TITLE>Unauthorized</TITLE>\n\n\n
Unauthorized
\n
Error 401
\n\n\n

Inspecting this further, based on the documentation here: https://developers.google.com/instance-id/reference/server#manage_relationship_maps_for_multiple_app_instances
I would expect that /iid/v1:batchAdd gets called with the corresponding parameters. However, it doesn't have an authorization header.

Did I miss something super obvious in configuration?

@kevmo314 Did you ever find a fix?

@kevmo314 Did you ever find a fix?

I did, actually. In my case it wasn't the permissions issue that @caioaao mentioned above, but rather that you can only subscribe to so many topics. In our code, we had too many subscriptions being created and after enough subscriptions it starts throwing 401 Unauthorized.
I don't know why Google chose to throw a 401 instead of a more informative 429 or something.

@kevmo314 Did you ever find a fix?

I did, actually. In my case it wasn't the permissions issue that @caioaao mentioned above, but rather that you can only subscribe to so many topics. In our code, we had too many subscriptions being created and after enough subscriptions it starts throwing 401 Unauthorized.
I don't know why Google chose to throw a 401 instead of a more informative 429 or something.

Thanks for responding. This is my first topic, so I don't think that's the issue, but I appreciate the suggestion!

@balloman Did you find a fix? I faced the same issue when subscribing to my first topic.

@NguyenTrongCuong I don't remember if we found a fix to be honest, sorry

I am having the same issue when using Admin SDK for .Net with ADC in GKE workload. I have given my sa firebase admin role, and yet i get the 401s.
Unexpected HTTP response with status: 401 (Unauthorized)
\n\nUnauthorized\n\n\n\nUnauthorized\nError 401\n\n\n
Have you managed to resolve this?


ong/client: Add log id http header

What:

ong/client: Add log id http header

Why:

context.Context is not propagated across network boundaries

Codecov Report
Base: 71.29% // Head: 71.58% // Increases project coverage by +0.28% :tada:

Coverage data is based on head (5b3d46e) compared to base (e0cfdcf).
Patch coverage: 57.14% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
+ Coverage   71.29%   71.58%   +0.28%
==========================================
  Files          30       30
  Lines        2073     2069       -4
==========================================
+ Hits         1478     1481       +3
+ Misses        525      516       -9
- Partials       70       72       +2

Impacted Files
Coverage Δ

client/client.go
76.69% <43.75%> (+5.67%)
:arrow_up:

middleware/log.go
79.56% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


No embedding found while querying qdrant

Describe the bug
After creating new Qdrant Index while we perform the query to the qdrant db sometime we are not getting
To Reproduce
Steps to reproduce the behavior:

Create a Qdrant Index used following command

   opt  := qdrant.Options{CollectionName: collectionName}
   qdrantIndex := index.New(
		qdrant.New(opt).WithAPIKeyAndEdpoint(token, "http://localhost:6333"),
		embedder,
	)

Perform Query operation on qdrant

similarity, err := qdrantIndex.Query(context.Background(), "pizza", option.WithTopK(100), option.WithFilter(queryFilter))

Got Panic from Qdrant

Expected behavior
Instead of throwing panic it should have thrown out the error
Screenshots

Desktop (please complete the following information):

OS: macOS 12.7.1 (21G920)
Browser NA
Version v0.1.2

Additional context
May be I am creating index incorrectly even tough we should return error over panicking the entire system

@parikxxit Please provide a full example, this will add more context. From your PR it looks like your embedder failed to produce embeddings, and accessing to embeddings[0] will cause panic. If so the problem is elsewhere.

no more information received


Add an applications.properties file to test/resources so that we can run backend tests that ignore your data.sql file

[x] applications.properties file is under test/resources
[x] running backend tests will ignore data.sql (no error occurs)

Reopening this issue because the PR has not yet been merged into main. Could we clarify what tests would need to ignore the data.sql file? We don't typically write tests that communicate to a live running database.


fix: Design Goal Verbiage

Description
Cleans up the top level spec Design Goals wording to be more inclusive to the OP Stack and less Optimism-specific.

Great refactor :D


note need for dhcp in README

the CI failure is not related to your edit, but:
# Error: External library "io-page.unix" is unavailable.
# -> required by "src/jbuild (context default)"
# External library "io-page.unix" is not available because it depends on the following libraries that are not available:
# - io-page-unix -> not found

it seems like a dependency on io-page-unix is missing, would you mind adding that?

Separate PR over at #25 , we'll see what the tests say.

thanks!


Would it be possible to publish a new release

We're relying on 06d4b31 for ourselves and would like to see a newly released version of this crate with that change included, would that be possible? Thanks 🙏

I will try to do a release by the end of the month.

I also would super appreciate a release, for use in https://github.com/bevyengine/bevy/pull/10164.

I have published a new release, version 0.2.0 of metis. I hope that it works for you.
Thank you for your interest and your patience.

Yep that's perfect, thanks for the new release!

I switched from this:
metis = { git = "https://github.com/LIHPC-Computational-Geometry/metis-rs", rev = "dd74128", optional = true }
To this:
metis = { version = "0.2", optional = true }
And now metis fails to build 🤔
error occurred: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Z7" "-Brepro" "-I" "C:\\Users\\JMS\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\metis-sys-0.3.0\\../vendor\\metis/include" "-I" "C:\\Users\\JMS\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\metis-sys-0.3.0\\../vendor\\metis/libmetis" "-I" "C:\\Users\\JMS\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\metis-sys-0.3.0\\../vendor\\GKlib" "-I" "C:\\Users\\JMS\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\metis-sys-0.3.0\\../vendor\\GKlib/win32" "/FImath.h" "-DNDEBUG" "-DNDEBUG2" "-DIDXTYPEWIDTH=32" "-DREALTYPEWIDTH=32" "-DUSE_GKREGEX" "-DWIN32" "-D__thread=__declspec(thread)" "-DMSC" "-D_CRT_SECURE_NO_WARNINGS" "-FoC:\\Users\\JMS\\Projects\\bevy\\target\\release\\build\\metis-sys-d6c8548c841dfa43\\out\\lib\\ee6ef9ea489a5765-adapt.o" "-c" "C:\\Users\\JMS\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\metis-sys-0.3.0\\../vendor\\GKlib/win32\\adapt.c" with args "cl.exe" did not execute successfully (status code exit code: 2).

Oh, sorry about that @JMS55 . I will try to set up a windows CI as I do not have any windows machine to check on.
If you can provide the detailed error from ms C compiler, that can be very helpful.

Same issue happens on linux https://paste.rs/tZYM3.txt

Same issue happens on linux https://paste.rs/tZYM3.txt. The vendor folder does not seem to exist unless you use metis-rs as a git dependency.

Make sure to clone the repo with submodules

Make sure to clone the repo with submodules
I'm not cloning the repo. The issue is depending on metis-rs as a regular dependency from crates.io fails to compile.

I think the newer version fixes the issue. I have moved the vendor directory in metis-sys and I have checked that it is now present in the crate.


[Q] history plugin

v: 3.36-3521 on windows 10
With the following command i get the following output.
tsp -I  ip <IP_ADDRESS>:5555 -l <IP_ADDRESS>  -P history  -O drop
* Warning: history: bitrate unknown or too low, use option --suspend-packet-threshold

according to manual

--suspend-packet-threshold value
Number of packets in the TS after which a PID is considered as suspended. By default, if no packet is found in a PID during 60 seconds (according to the TS bitrate), the PID is considered as suspended.

Am I missing something?
thanks!

Hi @enricovittorini
This is an interaction problem between -I ip and -P history. I will fix this.
In the meantime, use -P history -s 400000.
In details, the history plugin tries to detect PID's which disappear (and eventually reappear). For this, it determines the maximum time between two packets of the same PID. By default, it uses 60 seconds. In practice, it needs to translate this into a maximum number of packets. Therefore, it needs to know the bitrate.
The bitrate is determined from PCR, never from wall-clock time between packets because tsp needs to work equally on online and offline streams.
When tsp starts, it initially reads a large number of packets, usually enough to get enough PCR's to compute the initial bitrate. There is one exception, the ip input plugin always reads UDP datagram per datagram, which is never enough to get an initial bitrate.
In the history plugin, the bug is that the plugin wants to know the initial bitrate, or it fails. This is why it always fails with the ip input plugin (which also means that no one ever used -I ip and -P history together).
The workaround I gave above is to use a specific number of packets instead of using the bitrate. The value 400000 corresponds to the number of packets in 60 s at 10 Mb/s. You may choose another value if you prefer.


Fix width of report header on mobile web

@NikkiWines I was having a hard time nailing this down, and I ended up doing a git bisect and found this was originally caused  by the change here: https://github.com/Expensify/Expensify.cash/commit/4ce6b365cc576e857d70685dbc1c711bc9e6e080
Details
I believe that just adding flex: 1 fixes the width problem so that everything stays within the view.
Fixed Issues

Fixes https://github.com/Expensify/Expensify/issues/157960
Tests

Start a group chat with 4 people
Verify that the report page is shown properly and the name of the report is truncated with "..." when the screen has a narrow width

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Ohh interesting one - sorry to have introduced it!

Dude, yes! I'm glad to see this fixed, it was bugging me 😄


Cannot enable discard using YFDE

With YFDE, I cannot get the discard to work in any way...
According to the documentation, YFDE should read configuration from cryptdevice kernel parameter. This works, but not for allow-discards part.
Grub config - /etc/default/grub:
GRUB_CMDLINE_LINUX="cryptdevice=UUID=...:some-luks-vol:allow-discards ..."

Following line was enough to enable discard without YFDE.
So I've tried to force it in /etc/ykfde.conf:
# Optional flags passed to 'cryptsetup'. Example: "--allow-discards" for TRIM
# support. Leave empty to use 'cryptdevice' boot parameter.
YKFDE_LUKS_OPTIONS="--allow-discards"

Regenerated the initramfs, rebooted, and still no go.
Executing dmsetup table doesn't show that discard is supported.

I can't see the obvious issue here either. Let's wait for the author for a while. We can dig further if need be.

@b0ch3nski can you try if https://github.com/agherzan/yubikey-full-disk-encryption/commit/b8e148a574a27f1a9926051a54de4656cc5bd6de fixed this for you?

I've tried the current code base. With debugging enabled, I can see that cryptsetup luksOpen is, at least in theory, invoked with --allow-discards parameter.
Unfortunately, it has no effect - dmsetup table still doesn't show that discard is enabled.
Just to make sure that nothing has broken in between, I've regenerated initramfs again, with ykfde hook replaced with encrypt, rebooted, and then discard is back again. So the problem must be somewhere in YFDE code :cry:

Hm, I switched to the same code that Arch encrypt hook uses. If --allow-discards is already passed for cryptsetup luksOpen then I don't know what else we could do.
What type of LUKS container do you use? Is it LUKS2? Did you formatted it with --integrity option?
You may try removing allow-discards from GRUB_CMDLINE_LINUX and add it only for YKFDE_LUKS_OPTIONS in ykfde.conf.
You may also try booting from external media and open LUKS container through ykfde-open with YKFDE_LUKS_OPTIONS=--allow-discards in ykfde.conf to see if it works this way.

Simply switching from ykfde hook to encrypt enables discard again, without any other changes, so there must be some difference over the code :thinking:
I'm using LUKS1. I've also tried previously forcing it by setting YKFDE_LUKS_OPTIONS="--allow-discards" - it also has no effect... Booting from another media is quite a lot of work and I might try it in spare time, but I cannot promise when that would be.

When you set YKFDE_LUKS_OPTIONS="--allow-discards", did you also remove allow-discards from GRUB_CMDLINE_LINUX? If not then try removing it from there.
You may also try creating LUKS container in a file (or unused partition, usb device) for test with ykfde-format and open it with ykfde-open with YKFDE_LUKS_OPTIONS="--allow-discards" in ykfde.conf.

I'm not sure if this is going to help you, but the setting to allow discards in /etc/crypttab is simply discard.

We don't use /etc/crypttab. We pass  --allow-discards to cryptsetup directly on unlock.

I've solved my issue by converting to LUKS2 and using persistent flags as described in Arch wiki.
The root cause is still unknown, but at least it works now :smiley:

@b0ch3nski it took quite long time but I finally fixed this issue with https://github.com/agherzan/yubikey-full-disk-encryption/commit/50e45b6c219b2acea89760fef4abbae938661262
Here's explanation from commit description:

'allow-discards wasn't working for both automatic reading
'cryptdevice' kernel parameter and 'YKFDE_LUKS_OPTIONS' variable from
'ykfde.conf' due to following reasons:

YKFDE_LUKS_OPTIONS was unconditinally overwritten by 'cryptargs'
from 'cryptdevice' kernel parameter even when the latter was empty.

Original 'cryptargs' paramter was initialized with an empty value
which resulted with an additional whitespace character before
'--allow-discards' which therefore wasn't properly passed to
cryptsetup thus was ignored.

This commit fixes both cases.


TE-14.2 encap decap scale fixes

This PR fixes few issue for TE-14.2

Pull Request Functional Test Report for #3134 / 48f47e3a13a8fd6af59f6ac47f2e02bccd5c5c5d
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

TE-14.2: encap and decap scale

Cisco 8000E

TE-14.2: encap and decap scale

Cisco XRd

TE-14.2: encap and decap scale

Juniper ncPTX

TE-14.2: encap and decap scale

Nokia SR Linux

TE-14.2: encap and decap scale

Openconfig Lemming

TE-14.2: encap and decap scale

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

TE-14.2: encap and decap scale

Cisco 8808

TE-14.2: encap and decap scale

Juniper PTX10008

TE-14.2: encap and decap scale

Nokia 7250 IXR-10e

TE-14.2: encap and decap scale

Help

Hello, Couple of comments. 1.Add the scale changes under a new deviation including the ones in the args.go. 2.Some of the checks are failing; please fix those.
-Ram

done

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls


Invalid configuration object.

i'm getting this error after i
npm run build:vendor
C:\websites\AspNetCoreSpa>npm run build:vendor

<EMAIL_ADDRESS>build:vendor C:\websites\AspNetCoreSpa
node node_modules/webpack/bin/webpack.js --config config/webpack.config.vendor.js

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

configuration.resolve.extensions[0] should not be empty.

@curlyfro there were some breaking changes introduced in webpack beta 23, I have pinned down webpack to beta 22 in master to void breackages. Can you get latest and try again?
Thanks

cool -- it works :)
thx


LSP server in CudaText: inserting of a snippet don't replace the entire word

CudaText editor ( https://cudatext.github.io/ ) with LSP Client plugin.
Config for clangd is shown here:
https://wiki.freepascal.org/CudaText_plugins#LSP_servers_for_C.2FC.2B.2B
'new.cpp' file with C++ syntax
#include <stdio.h>

void main(){

}

Put caret inside 'void': v|oid.
Call autocompletion. Choose 'volatile' item.
Result: volatileoid main(){
Ie, server doesn't report the correct replacement range, so plugin doesn't replace correct range.
@veksha

Ubuntu 20.04
user@PC:~$ clangd --version
Ubuntu clangd version 12.0.0-3ubuntu1~20.04.5

FYI
Sublime Text + clangd:

Not specific to an editor, vscode has the same behaviour. #387 is related.

Right, the server has a choice of how much text to the right of the cursor to eat when accepting a completion.
My experience is that (non-clangd) editors are inconsistent about this, and so I try to avoid the situation when editing. My guess is eating no characters is most common, but curious what other editors do.
Our general approach has been "there's no answer that feels obviously correct to everyone in every situation, so conservatively consume nothing". #387 identified some cases where we thought eating up to brackets felt safe.

server doesn't report the correct replacement range, so plugin doesn't replace correct range

Can you explain why you think replacing "oid" is correct here? Would it still hold if the original next was "vvoid", so that the post edit options would be "volatilevoid" or "volatile"?

My guess is eating no characters is most common, but curious what other editors do.

For the record, in Kate and related editors (KWrite, KDevelop, ...) it is (somewhat) configurable:

Remove tail on complete
Remove the tail of a previous word when the completion item is chosen from a list.

Hi, @sam-mccall,
In the past CudaText had client-side "entire world replacing" way of dealing with this issue, and I don't remember any problems like you describe -> "incorrectly eating characters (deleted user code)"

Undo/Redo features are builtin in every editor in the world.

replacing range is stretches up to the end of current "word" ("word" in terms of C++ lexer). server must know what is "word delimiters". every user code has them, so replacement range will never be huge, in fact it will be the smallest possible. (so don't worry about unwanted loss of code.)

additionally server may check for "()" or "(" and include that in replacing range.

I do understand what you're asking for, what's missing is a rationale for this being better in general.
What is a user hoping to achieve when they trigger completion at v|oid? Are we confident enough in that guess to do something potentially surprising?
"This worked in CudaText, and people seemed happy enough" is something, but vim and VSCode both work this way by default, so by that measure the existing behavior is pretty popular too.

See also #2190 which is about a mechanism added to LSP in version 3.16 which allows clients to (let the user) opt into "replace the entire word" behaviour.


Unable to configure SHUTDOWN_TIMEOUT for libvirt-guests service

Describe the bug
5 minutes is a rather long time to wait for guest VMs to shutdown. I'd like to configure my libvirt to reduce the graceful shutdown wait time but it currently isn't possible.
https://github.com/NixOS/nixpkgs/blob/602292f93d610fd52e7fa61e30e283123cf38a72/pkgs/development/libraries/libvirt/default.nix#L320-L325
https://github.com/NixOS/nixpkgs/blob/602292f93d610fd52e7fa61e30e283123cf38a72/nixos/modules/virtualisation/libvirtd.nix#L356-L357
Steps To Reproduce
Steps to reproduce the behavior:

Wait for libvirt guest to shutdown
Takes 5 minutes

Expected behavior
Ability to shorten the SHUTDOWN_TIMEOUT time
Notify maintainers
@fpletz @globin @lovesegfault
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.17.1, NixOS, 22.05 (Quokka), 22.05.20220426.e10da1c`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.9.0pre20220428_4bb111c`

Also PARALLEL_SHUTDOWN isn't configurable either


Use sitemap view name for reversing if provided

Fix #13 by adding a dedicated setting

Is there in a new release version?


BlackHole Controller Dupe Bug

Industrial Foregoing Version: 1.12.8-232
TeslaCoreLib Version: 1.0.15
Piping items into a Black Hole Controller will replace whatever item is in the first possible Blackhole Unit with the piped item, as well as keep the original quantity allowing for easy item manipulation.
https://imgur.com/a/sSIWrYn

Update the mod


feat: add support for pnpm (install and cache deps)

Close #145

Friendly ping @admah 🙏

@Kocal thank you for submitting this. I will be taking a look at it tomorrow.

Thanks a lot :)

Thanks you for merging :)

Thanks for this PR!
Just a quick heads up that this doesn't work in pnpm backend monorepos where Cypress is run from a subdirectory (so when specifying working-directory because it still looks for package-lock.json in that subdirectory. So you are still required to do the installation in a seperate step.
In general I'm somewhat surprised that and have a feeling that this github action is trying to do to much in one. Installing npm/pnpm/yarn packages and caching them is a well-solved problem. In case of pnpm for instance caching the store is actually preferable (instead of caching the node modules directory). So I'm wondering if it would maybe be better to simply remove all that stuff from this github action altogether and leave that to the use and only be concerned with actually running cypress.

Yeah I also agree with you.
I think all the install/caching dependencies things were here because it was painful/verbose-for-nothing, at the beginning of GitHub Actions, exemple:
- name: Setup node
   uses: actions/setup-node@v1
   with:
     node-version: 10

- name: Get npm cache directory
  id: npm-cache-dir
  run: |
    echo "::set-output name=dir::$(npm config get cache)"

- uses: actions/cache@v3
  id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true'
  with:
    path: ${{ steps.npm-cache-dir.outputs.dir }}
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      ${{ runner.os }}-node-

- run: npm install

But since https://github.com/actions/setup-node/releases/tag/v2.2.0, you can simply the cache input
 - name: Setup node
   uses: actions/setup-node@v3
   with:
    node-version: '14'
    cache: 'npm'
- run: npm install

So I'm wondering if it would maybe be better to simply remove all that stuff from this github action altogether and leave that to the use and only be concerned with actually running cypress.

IMO this action should only:

run cypress verify and/or cypress install if needed,
run cypress run

and that's all.
But that's another issue I guess.


XSS issue

https://github.com/Astn/JSON-RPC.NET/blob/master/Json-Rpc/JsonRpcProcessor.cs#L98
At the moment this field is reflected back, in addition the response is sent as text/html rather than application data so it would be good to both sanitize the request so if you send an id with some html + javascript in it then it would send it back to the browser which then renders it :(.

id
An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2]

So here we could do a few things but i think i'd recommend that we have verify the ID by checking if:

Number then pass
Null then pass
String then validate with regex that can be configured but defaults to [a-zA-Z0-9-_]

What do you think? Many thanks once again for this awesome library, christopher

Sorry so long in replying, but figured better to have a response if anyone googles this.
If your hosting this over Http, then I think the solution may be as simple as ensuring that the content type returned is application/json.
If you using the aspnet nuget for hosting, then we just need to update that project to set the proper header.


Minor corrections to Step 9.20 and 9.22

Corrected it to remove parameter selection to set the activity label.

Hi @venkatveeramanidaasan, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@venkatveeramanidaasan : Thanks for your contribution to the Azure documentation! The author, @mgoedtel, has been notified to review your proposed change.

@venkatveeramanidaasan thank you for your time and contribution to this article.  I have reviewed your edits and am fine with the proposed changes.

#sign-off


allow default dependent option on has_one

fixes https://github.com/rubocop-hq/rubocop-rails/issues/147

@andyw8 this does not work ... I think rubocop does not know the difference between a option that was not passed and an option passed with nil :(

Any movement on this?  We have some code that we are fixing up and running into this as well.

what about the has_many option?

this PR needs a rebase/fixup ... and has_many needs the same

JFYI, I solved this issue with #176. Thank you.


test

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4b4fe8e9-5b0b-8006-d6dd-e24ebaf55c3f
Version Independent ID: 4b4fe8e9-5b0b-8006-d6dd-e24ebaf55c3f
Content: Azure Media Services v3 overview
Content Source: media-services/latest/media-services-overview.md
Service: media-services
GitHub Login: @IngridAtMicrosoft
Microsoft Alias: inhenkel

#please-close


[Design] Conveniences for single-ref API queries + others

Time box to a day.
What
Ensure OpenAssetIO is equally convenient to use with single-entity workflows as it is with batches.
Why
It is important that the project is easy to integrate into existing code bases, the switch to a batch-centric, callback based core API has made single entity operations particularly cumbersome, especially in exception based scenarios.
Notes
We discussed this as a group some time back, and said no to:

Floating helpers/wrappers: They aren't discoverable and preclude future optimizations through ManagerInterface.
Wrapper managers that employ a specific batch/singular paradigm: It creates ambiguity on the stack.
Method overloads: As this is not supported in all target languages and we aim for consistency where possible as many developers need to work in multiple language code bases.

This, sadly, most likely leaves us with "different method names".
Background
#98 redesigns ManagerInterface methods to be batch-first, where exceptions are no longer raised but are instead returned as an element in the batch result.  As discussed in https://github.com/TheFoundryVisionmongers/OpenAssetIO/pull/98#discussion_r756965041, this means the Examples page in the docs can no longer rely on the implicit error handling given by a potential exception.
We should update the Examples page to explicitly deal with errors and possibly add a mechanism to raise exceptions that are bundled in the result.  E.g. a throwExceptions(...) adapter, or throwOnError=True method parameters.
Requirements
User

Working with single entity operations is just as convenient as batch to reduce the cost of adoption/integration.
Integrating OpenAssetIO into into any specific language is as "familiar" as possible to avoid brain melt and ambiguity.
Integrating OpenAssetIO into code bases with specific error handling approaches should be as simple as possible to reduce the cost of adoption.
[tbc]

ACs

An on-paper design for the Cpp/Python versions of the singular and batch versions of resolve, using DR015 outcome as a starting point.
The design should be ready for immediate implementation in a piecemeal fashion.
Design demonstrably simplifies:

https://github.com/OpenAssetIO/otio-openassetio
https://github.com/OpenAssetIO/usdOpenAssetIOResolver
https://github.com/OpenAssetIO/OpenAssetIO/tree/main/examples/host/simpleResolver
https://openassetio.github.io/OpenAssetIO/examples.html

Ideas
All Ideas assume that initially, these will only be implemented in the Manager class, but can support being bridged to ManagerInterface directly to facilitate future optimizations if required.
Use single-letter suffixes for alternate formulations
S = Singular
E = Exception-based
V = Variant-based
void resolve(refs, ..., successCB, failureCB) {};
vector<variant<TraitsDataPtr, BatchElementError>> resolveV(refs, ...) {};
vector<TraitsDataPtr> resolveE(refs, ...) {};
variant<TraitsDataPtr, BatchElementError> resolveSV(ref, ...) {};
TraitsDataPtr resolveSE(ref, ...) {};

Pros:

Makes the difference between method name and signature variation apparent.
Works with variations for batch methods too (ie, return variant vs callback) which have been requested in other areas.
Leaves the batch/callback version with the same name as the ManagerInterface version in its current form.

Cons:

Opaque until you understand the convention
Slightly asymmetric due to the un-prefixed batch/callback approach. Though we could rename the current method to include a B suffix if desired.

Word-based variation
void resolve(refs, ..., successCB, failureCB) {};
vector<variant<TraitsDataPtr, BatchElementError>> resolveToVariant(refs, ...) {};
vector<TraitsDataPtr> resolveOrThrow(refs, ...) {};
variant<TraitsDataPtr, BatchElementError> resolveOneToVariant(ref, ...) {};
TraitsDataPtr resolveOneOrThrow(ref, ...) {};

Pros:

Less opaque
Leaves the batch/callback version with the same name as the ManagerInterface version in its current form.

Cons:

Couples the "signature variation of the method" with its name such that it requires more thinking to determine the boundary between method description and which variation it is.
Requires method name specific variation, eg entityVersions/entityVersionsOne is virtually meaningless (this does correctly highlight that we have 'inconsistent' naming rules, but thats another can of worms).

A quick mock-up of two throwOnError possibilities, i.e. template parameter vs. out parameter, in Compiler Explorer

Thinking more about batch vs. singular methods: I think we should add a default singular version of all methods to ManagerInterface alongside the batch versions.
The default implementation will delegate to the batch version (and probably throw exceptions rather than return them).
We had already considered such singular wrappers, but as convenience methods in Manager, rather than ManagerInterface
However, by adding the convenience to ManagerInterface the manager plugin can opt to override the default implementation to optimise out the need to allocate then almost immediately deallocate single-element lists.

nb: we don't have returned results any more, and the callback approach highlights even more that a) we need to update the docs, and b) need come helpers for common scenarios where a single ref is being queried, as part of an exception-driven stack.

This highlights how painful working with a single entity ref can be in Python.  This would be greatly simplified if they behaved like dicts of dicts, and we had an exception based wrapper for singular resolves.

Completed and tracked under #848


More sandbox buttons for fun and pleasure

Added
-Suicide
-Ghost
-Toggle Lights
-Toggle Subfloor
It also refactors SandboxWindow.cs to be more in line with EscapeMenu.cs
Draft PR because i'd like someone to please tell me the correct way to execute client console commands so it isn't literally pasting the command. (See ToggleLight) I figured it out myself!
I eventually want these commands to be merged into a proper admin panel that shows up when you login as an admin.

This is ready for a merge

Done


Skip failing dot tests

my understanding is we already have the workaround based on @pemeliya openxla#13779 and openxla#13722 ?

I am not sure about this. These tests are failing on the upstream main as well.


[Bug]: Failed to describe stage on terraform plan

Terraform CLI Version
1.5.0
Terraform Provider Version
0.85.0
Company Name
No response
Terraform Configuration
Hello,

We tried to execute a terraform plan without making any changes on our configuration files and we found the following error on our stages:

Error: Failed to describe stage
with module.sfbs.snowflake_stage.stage["DB.PUBLIC.STAGE"], on ../modules/snowflake_bs/db-objects.tf line 174, in resource "snowflake_stage" "stage": 174: resource "snowflake_stage" "stage" {
Id: , Err: [errors.go:17] object does not exist or not authorized

Our stages are being created with an AccountAdmin privilege following the next configuration:

resource "snowflake_stage" "stage" {
  for_each = local.stage_map

  database            = snowflake_database.db[each.value.db].name
  schema              = each.value.schema == "PUBLIC" ? "PUBLIC" : snowflake_schema.schema[each.value.schema_id].name
  name                = each.value.stage
  url                 = each.value.url
  storage_integration = each.value.storage_integration

  lifecycle {
    ignore_changes = [directory]
  }
}

Also we found out that our last successful was executed on 04/12/2024(dd/mm/yyyy) having snowflake on version 8.44.2 and today when we are having above mentioned errors, we have the version 8.45.1, could this version upgrade cause problems with our terraform config?

Category
category:resource
Object type(s)
No response
Expected Behavior
0 changes on terraform plan
Actual Behavior
Error: Failed to describe stage
with module.sfbs.snowflake_stage.stage["DB.PUBLIC.STAGE"], on ../modules/snowflake_bs/db-objects.tf line 174, in resource "snowflake_stage" "stage": 174: resource "snowflake_stage" "stage" {
Id: , Err: [errors.go:17] object does not exist or not authorized
Steps to Reproduce
Run terraform plan
How much impact is this issue causing?
High
Logs
No response
Additional Information
No response
Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

Hi,
After further investigation of the issue, we found the following error on all our stages:
"DB"."PUBLIC"."STAGE" err 002003 (02000): SQL compilation error:
2024-12-11T08:07:26.148+0100 [DEBUG] provider.terraform-provider-snowflake_v0.85.0: 2024/12/11 08:07:26 [DEBUG] sql-conn-query: [query DESCRIBE STAGE
But when we are looking on the query history of the user with which these queries are being executed we found the following error:

But when we run this same describes or queries from the Snowflake UI, we can run it without finding any errors.

Hi,
We executed again a terraform plan isolating one of the stages, finding this errors after debugging:
2024-12-11T10:30:57.033+0100 [DEBUG] provider.terraform-provider-snowflake_v0.85.0: time="2024-12-11T10:30:57+01:00" level=error msg="error: 002003 (02000): SQL compilation error:\nDatabase 'DB' does not exist or not authorized." func="gosnowflake.(*snowflakeConn).queryContextInternal" file="connection.go:396"
2024-12-11T10:30:57.033+0100 [DEBUG] provider.terraform-provider-snowflake_v0.85.0: 2024/12/11 10:30:57 [DEBUG] sql-conn-query: [query DESCRIBE STAGE "DB"."PUBLIC"."STAGE" err 002003 (02000): SQL compilation error:

Hi,
Finally with the help of Snowflake Support we could fix the issue, which was provoked due to a change on the default role of the user who was running the queries on terraform, after modifying that everything works properly.
Thank you for your help and sorry for the inconvenience.

Hey @AJuanJim
Sorry for the late response. I'm happy that you managed to quickly fix your issue.


Force GlobalReadCoalesceGroupA to True

GlobalReadCoalesceGroupA=False causes rocBLAS CI fail (trsm).
Force to True (default value) until we fix the issue with False.


Can't compile WASI with Windows

Been trying to get WAMR + WASI working with Windows, no luck so far though.
With the following configuration:
cmake .. -DWAMR_BUILD_LIBC_BUILTIN=0 -DWAMR_BUILD_LIBC_WASI=1
many errors are spat out, some related to pthreads' types missing (pthreads was not enabled - but even if it was, Windows doesn't have pthreads) but the majority pointing to issues related to "alignof".
,16): error C2143: syntax error: missing ')' before 'alignof' [wasm-micro-runtime\product-mini\platform
s\windows\build\vmlib.vcxproj]``

It seems to be because these files are compiled with MSVC's (fairly bad) toolkit for C.

Hi, currently we haven't supported WASI on Windows, the current implementation relies on many POSIX APIs.
Here is an issue about WASI implementation on Windows which uses uvwasi: #499.

Is the issue just that you need POSIX wrappers (and preprocessor branches to support Legacy MSVC)? I can probably implement some if that's the major blocking point.

Actually I haven't evaluated how much work need to be done for supporting windows, so I'm not sure whether there are any other gaps.
Personally speaking, I think uvwasi should be a better choice for Windows since it has been working well in nodejs.
Seems this fork has done a lot of works, maybe you can have a try.

Interesting; I'll take a look.
How does the builtin-libc work, by comparison? I've been trying to wrap my head around varargs, for instance. Clang can compile functions with varargs - and can even call imported functions that expect varargs passed to them - but, on the native side, I don't know what the type of "data" it is that it's expecting. Is this documented anywhere? In the builtin libc, it appears to expect the varargs to be a string (it uses the $ parameter type), but I'm wondering if this is standardized anywhere.

The va_args is not a string, it's a pointer.  Let's take printf for example, it is registered as:
REG_NATIVE_FUNC(printf, "($*)i"),

The first parameter is defined as $(string), the second param is *(pointer). And the prototype of the wrapper is:
static int
printf_wrapper(wasm_exec_env_t exec_env,
               const char * format, _va_list va_args)

The $ is for the format parameter rather than va_args.


router: error associating user secret: persistence: error creating user: relational: error creating secret: Error 1406: Data too long for column 'encrypted_secret' at row 1

Hi,
I just setup a fresh installation of offen and set it up to track analytics from one of my sites. Once I copy the tracking code, I see that no data is coming to the site. After some debugging I found that the exchange requests is failing with a 400 HTTP status code and the following error message in the response:
router: error associating user secret: persistence: error creating user: relational: error creating secret: Error 1406: Data too long for column 'encrypted_secret' at row 1
In the request, I can see that secret being sent is 689 characters long and in mysql the encrypted_secret is a 255 var char.
I updated the varchar limit to 1000 for the encrypted_secret column and the problem seems to be fixed (as for now).
I'm using official docker image v0.1.4 and mariadb 10.4.13.
I would like to know what's a good varchar limit for the encrypted_secret column, or, if the value is correct, what's wrong with my site which is generating longer encrypted secrets.
Thanks!

Thanks for the detailed report. Your observation is pretty much correct. The encrypted_secret is expected to be the 689 characters of length you are observing, so there's nothing unexpected happening here.
The fix is probably just a matter of making the field type:"text":
https://github.com/offen/offen/blob/f5b793ad397b06fba044901305c894b72a0d0969/server/persistence/relational/models.go#L75-L78
and adding a migration for the table. I'll include this in the v0.1.5 release which we'll probably do later this week.

The part that I don't get yet is that I've already installed (older versions of) Offen against MariaDB which worked fine and we also run integration tests against MySQL so finding out how this regression got introduced will be interesting.

I was able to reproduce this issue using the following setup
version: '3'

services:
  offen:
    image: offen/offen:v0.1.4
    ports:
      - 8888:80
    environment:
      OFFEN_DATABASE_DIALECT: mysql
      OFFEN_DATABASE_CONNECTIONSTRING: root:secret@tcp(mysql:3306)/offen?parseTime=true
    depends_on:
      - mysql

  mysql:
    image: mariadb:10.4.13
    volumes:
      - mariadb_data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: offen
      MYSQL_ROOT_PASSWORD: secret

volumes:
  mariadb_data:

Applying the changes from #466 made it work as expected.

Thanks for the detailed explanation and the fix!
I will test the migration once v0.1.5 is released :)


New Feature Request

Currently i have user scenario where range is 1 - 1000, even though i give step as 1 it is difficult to minutely adjust the values.
I propose and add a new attribute, which can add - and + icon in the beginning and end of the slider.
So that minute adjustment is possible.
I can implement it myself by adding icons and updating the ng-model. It would be great if directive itself can support it.

This might be useful #238
Also, I think you can simply wrap it as another, new directive. I chose to do that.

Indeed I would prefer if it's not directly done inside this directive since I think it's already complicated enough.

Okay.. thanks you can close the ticket of you think so..!


Drupal 7: indexes not rebuilt when importing via mariadb-init volume

Isssue
When using mariadb-init bind mount for database import Drupal 7 does not build indexes when visit the site first time. I check indexes after the first visit via:
show index from system;

Column cardinality is still 0. Reproducible with Vanilla Drupal 7.61 (-4.9.2) and MariaDB 10.2.18, 10.3.10 (-3.3.9)
However when import performed via drush sqlc < file.sql or mysql db < file.sql after the full init/start of mariadb, indexes built correctly after the first visit.
Couldn't reproduce this issue with Drupal 8.
Workaround
Do not use import via mariadb-init bind mount, instead import manually post-start. You can rename your dump file in mariadb-init bind mount from dump.sql or dump.sql.gz to something like dump.txt so MariaDB would ignore it during init. Then access mariadb container after it has started via docker-compose exec mariadb sh and run:
mysql -udrupal -drupal drupal < /docker-entrypoint-initdb.d/dump.txt

@csandanov another way is to run a mysql optimize to rebuild the indices mysqlcheck -o -udrupal -p drupal

I'm getting an error "mysql: unknown option '-d'" when running "mysql -udrupal -drupal drupal < /docker-entrypoint-initdb.d/dump.txt"

Isssue
When using mariadb-init bind mount for database import Drupal 7 does not build indexes when visit the site first time. I check indexes after the first visit via:
show index from system;

Column cardinality is still 0. Reproducible with Vanilla Drupal 7.61 (-4.9.2) and MariaDB 10.2.18, 10.3.10 (-3.3.9)
However when import performed via drush sqlc < file.sql or mysql db < file.sql after the full init/start of mariadb, indexes built correctly after the first visit.
Couldn't reproduce this issue with Drupal 8.
Workaround
Do not use import via mariadb-init bind mount, instead import manually post-start. You can rename your dump file in mariadb-init bind mount from dump.sql or dump.sql.gz to something like dump.txt so MariaDB would ignore it during init. Then access mariadb container after it has started via docker-compose exec mariadb sh and run:
mysql -udrupal -drupal drupal < /docker-entrypoint-initdb.d/dump.txt

This is not a valid mysql command, it has to be
mysql -u drupal -p drupal drupal < /docker-entrypoint-initdb.d/dump.txt


Signing fails silently if JWK is not reachable?

In my local testing using the 1.1.1 and 1 versions of the krakend docker container, the JOSE plugin appears to access the jwks-url once on startup. If it fails to download the JWK key object, then Kraken continues to serve content, but signing is skipped.
Given a simple signer configuration for a dummy /authn endpoint, based on the docs:
{
   "github.com/devopsfaith/krakend-jose/signer":{
      "alg":"HS256",
      "kid":"jwk",
      "keys-to-sign":[
         "access_token",
         "refresh_token"
      ],
      "jwk-url":"http://authmock:8080/jwk/symmetric.json",
      "disable_jwk_security":true
   }
}

If the authmock service is offline when I start Kraken, then I see these log messages:
[KRAKEND] 2020/03/25 - 14:37:20.803 ▶ ERROR Get "http://authmock:8080/jwk/symmetric.json": dial tcp <IP_ADDRESS>:8080: connect: connection refused /authn
...
[KRAKEND] 2020/03/25 - 14:37:20.803 ▶ INFO JOSE: validator disabled for the endpoint /authn

Posting to /authn (based on the example from the docs), returns the content without signing the keys:
# curl -s -X POST --data '{ "user": "alice" }' http://kraken.local/authn
{
  "access_token": {
    "aud": "http://demo",
    "exp":<PHONE_NUMBER>,
    "jti": "bb8ed933-0d2f-4c7c-b00c-75b978f0222e",
    "sub": "alice"
  },
  "exp":<PHONE_NUMBER>,
  "refresh_token": {
    "aud": "http://demo",
    "exp":<PHONE_NUMBER>,
    "jti": "de88cb24-e88f-4f1b-81e8-30d6d34cb897",
    "sub": "alice"
  }
}

This behavior persists even after launching the JWK service. When JOSE is able to reach the JWK url at startup, the access_token and refresh_token keys are signed as expected.
For the moment, I can use scripting/probes in our kubernetes deployments to mitigate this risk by waiting for JWKs availability prior to starting Kraken, and restarting it in the event of an ERROR log message, but it'd be nice if it were more resilient, e.g. with a backoff retry, to account for out-of-order service startups in kube deployments.
Alternatively, if we had the ability to specify a file URL, then I could use secret injection and ensure the resource was available at container start.
Minimally, I think that JOSE should refuse to serve the content--or be configured to refuse to serve the content--if it cannot apply the signing.

As you pointed out, the JWK is requested at booting. We built it that way because that's the only time the gateway build the pipes for every endpoint. If there is a problem with the signer middleware initialization, the gateway throws an error to the log and keeps the pipe without that middleware. Since the configuration is static and the keys are referred by their jti, the signing key is requested once and then it's kept in memory, because there can not be changes.
On the other hand, there are some issues requesting other ways to load the JWK. It's in the backlog but it has a very low priority (high cost, low value).
Finally, I agree with you regarding the error log not being clear enough. I'm pushing a PR adding a better error message.

Thank you for responding. I guess we'll just use scripting to ensure that the KrakenD container self destructs/restarts when this error message appears in the log.

@kpacha I was wondering if an error should be thrown if the validator fails to find or load the JWK URL. I've had instances where no JWT validation takes place if the JWK endpoint is down.


[eta-playground] Java Generics example doesn't compile

Closing this issue, as the commit: ff1cd691af96de02e546f22d111ffbc27b284eef fixes it


Vendor dependencies

Adds vendor folder using dep.

Codecov Report

Merging #31 into master will increase coverage by 9.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
+ Coverage   85.89%   95.05%   +9.16%
==========================================
  Files          23       21       -2
  Lines         560      506      -54
==========================================
  Hits          481      481
+ Misses         69       15      -54
  Partials       10       10

Impacted Files
Coverage Δ

internal/platform/postgres/user.go
91.83% <0%> (ø)
:arrow_up:

cmd/migration/main.go

cmd/api/main.go

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 760c5c6...87d8e09. Read the comment docs.