Duplicate docs in Android view

I have a basic view:
function(doc) {
    if (doc.type === 'public-profile') {
      emit(doc.owner, null);
    }
  }

And occasionally I get multiple entires in it for a single document id.  If I query the view with include_docs=true I can see that the duplicate entires have different _rev values.  It doesn't happen on IOS, and forcing my client to re-index by replacing the design doc makes the duplicates go away.

Hi @npomfret,
I believe this is same issue with https://github.com/couchbase/couchbase-lite-java-core/issues/1098.
Does your app have multiple views with same prefix?
Thanks!

'Does your app have multiple views with same prefix?' - yes, well at least one of them does.

Can you try the build from master branch to verify the fix?
http://latestbuilds.hq.couchbase.com/couchbase-lite-android/0.0.0/0.0.0-688/

Hi Hideki,
Very good news!!!, but i think some files are missing in that zip file, i am getting error here "cannot resolve symbol 'AndroidContext' ", means that in that library i could not able to find the AndroidContext class Or else i should change my code as per master branch
https://github.com/couchbase/couchbase-lite-android/tree/master/src/main/java/com/couchbase/lite/android
or any CBL API changes has been done. Please let know the how i can solve that problem and if you need information/clarifications.
Thank's
Prasanna Kumar

Hi @prasannakumark,
AndroidContext.class should be in classes.jar in couchbase-lite-android-0.0.0-688.aar. Did you add couchbase-lite-android-0.0.0-688.aar into your project?

Hi @hideki,
Thank you, now it is working fine and also this bug is fixed!! but mean while i am facing very big issue relating to push replication, i made changes in some of the documents and also i created some documents but it is not pushing to server with any information. I think push replication issue. I've tested using this libraries http://latestbuilds.hq.couchbase.com/couchbase-lite-android/0.0.0/0.0.0-688/. Please let know the how i can solve that problem and if you need information/clarifications.
Thanks
Prasanna Kumar

Hi @prasannakumark,
Could you please file new ticket for push replication issue?
Any detailed information helps us a lot.

It seems 0.0.0-688 fixed this issue. I will close this ticket. If issue is still reproducible, please reopen the ticket.

When will this fix get released? I've tested 1.2.1 and get the same behaviour - it makes my app unusable

I've tested with 1.2.1 and its not fixed.  I'm not able to reopen this ticket (should I create another one?).
It's very easy to reproduce, just make a change to any document thats in a index. Query the index and you'll see multiple revisions of the document. It happens 100% of the time.

Hi @npomfret,
None of stable build includes fix for this issue.
Please try the build from latest master.
http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android/0.0.0-710/
Thanks!

This fix should have made it into 1.2.1. We already skipped 1.2.0 because of all the issues and now the bug fix release doesn't include the needed fixes. Waiting for 1.3.0 it is then...

When do you think 1.3 will be released?  This bug is killing my app - its simply not possible to edit a document without causing all sorts of problems.
Should we reopen the ticket (I'm not allowed)?

1.3 release will be few month away. We are discussing about 1.2.2 release as another bug fix release.
@npomfret
Is this issue still reproducible with 0.0.0-710? If yes, I will reopen this ticket.

Yes it's still reproducible with 710

Has there been any progress on this issue?

Hi all,
same happening here (Android), we reverted to 1.1.0 until this is fixed. This bug is a showstopper, any info on when fix will be released?

Hi @bpolanec,
Your issue might be same with https://github.com/couchbase/couchbase-lite-android/issues/795. Could you please try http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android/0.0.0-710/ ?
Thanks!

@npomfret Sorry this ticket is still in the queue.

I appreciate you guys are busy but is there any way to get this bumped up the queue?  I see it as quite a serious bug that affects all users who have views and modify documents in those views, which I imagine is almost everyone, no?  It makes my app totally unusable, possibly others also.

Hi @npomfret,
I wrote the test for this scenario. https://github.com/couchbase/couchbase-lite-android/commit/52616b1cec4098d99532cd8f288b6ae16715fe3c However, I could not reproduce the problem. I need more information to reproduce the issue.
Could you please provide more detailed information? If possible, could you please provide test codes or sample app?
Thanks,
Hideki

Did you run this test with ForestDB or SQLite? I only have this issue with ForestDB.

@MatFl
As default, unit tests are run with both ForestDB and SQLite.

I have the issue using SQLite.  I don't have a test or sample app for you right now, but it is very easy to reproduce.

Create a view to index a doc.
Add a doc... check its in the view.
Someone else makes a modification to the doc.
(You get an update, via the sync gateway)
Query the view.  You now have 2 entires for 1 doc.

I'm using the REST api in CBL to query the view.
Doesn't happen on IOS, its an android bug only.

Hi @seth,
Can you implement above scenario with functional test?
Thanks!

If you can point me towards your test suite I might be able to help

Hi @seth,
@npomfret is original reporter of this issue. He could help you to write test case.
@npomfret.
https://github.com/couchbaselabs/mobile-testkit is repository for our functional test which is managed by QE team.
I just submitted test scenario. You could add additional information if I am missing something.
https://github.com/couchbaselabs/mobile-testkit/pull/502
Thanks!

@hideki @npomfret Thanks!

We're having the same issue here.
Is there a way to force a rebuild of a view? Then we could implement a ugly workaround in our own code until this issue is fixed.

Hi @sethrosetter - i'm struggling to find time to learn how to write your tests.  Did you manage to reproduce the problem without one yet?

Hi @gerbenupinion ,
Your issue might be same with #795. Could you please try http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-android/0.0.0-710/ ?
Thanks!

@npomfret I am working on a reproduction now.

I have tried v710, it didn't fix the problem.

Hi @npomfret,
I believe you are using CBL with react-native. How do you integrate CBL libraries into react-native? With gradle dependency? I'd like to make sure if you also use 0.0.0-710 couchbase-lite-java-core jar file. http://files.couchbase.com/maven2/com/couchbase/lite/couchbase-lite-java-core/0.0.0-710/ .

Yes, using gradle.  The react-native binding I use is here: https://github.com/couchbaselabs/react-native-couchbase-lite
To try out 0.0.0-710 I modified this build file.

@npomfret, thank you for your response.

@npomfret I did a quick test app with the rn plugin to try to repro the issue https://github.com/jamiltz/react-native-couchbase-lite/tree/repro-cbl-android-855
Can you take a look; the view emits every doc that has the test_doc property. You can run it on two emulators, setup sync gateway with adb reverse tcp:5984 tcp:5984 on each emulator and update the record on either emulator. I couldn't repro the issue, the query output is always 1 row with the latest revision. http://cl.ly/473c1x1D1g2f/Screen Shot 2016-06-10 at 13.29.08.png

Ok, I'll start from scratch - which version of CBL should I test with?  And just to make sure I don't make a mistake could you show exactly what the gradle file should look like.

You should use 0.0.0-710 if you can still repro the issue with it. The build.gradle should contain the following in the dependencies section.
 compile 'com.couchbase.lite:couchbase-lite-android:0.0.0-710'
compile 'com.couchbase.lite:couchbase-lite-java-listener:0.0.0-710'
compile 'com.couchbase.lite:couchbase-lite-java-javascript:0.0.0-710'

I have implemented the following test - https://github.com/couchbaselabs/mobile-testkit/blob/82d972e3a5d35cf2065e1cbd3755b742f6c3d57f/testsuites/listener/shared/client_sg/view_indexing.robot#L27-L103.
You can view the steps here - https://github.com/couchbaselabs/mobile-testkit/blob/82d972e3a5d35cf2065e1cbd3755b742f6c3d57f/testsuites/listener/shared/client_sg/view_indexing.robot#L32-L41
I am unable to repro with 0.0.0-710. I am directly issuing rest calls against the listener. Am I missing a step or two possibly?

Ok, some good news.  I retested and couldn't reproduce it on 0.0.0-710.  Maybe my previous test i was using an already corrupted database. Apologies, and thanks for looking into this.
Could someone else verify??
I did not 2 other things though.  Firstly an NPE that happened as soon as I edited the document:
E/Router: com.couchbase.lite.router.Router$4@528f7e58: Exception inserting revisions in bulk
                                                      java.lang.NullPointerException
                                                          at com.couchbase.lite.router.Router$4.run(Router.java:1328)
                                                          at com.couchbase.lite.store.SQLiteStore.runInTransaction(SQLiteStore.java:705)
                                                          at com.couchbase.lite.router.Router.do_POST_Document_bulk_docs(Router.java:1286)
                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                          at java.lang.reflect.Method.invoke(Method.java:525)
                                                          at com.couchbase.lite.router.Router.start(Router.java:555)
                                                          at com.couchbase.lite.listener.LiteServlet.service(LiteServlet.java:141)
                                                          at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
                                                          at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2251)
                                                          at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2176)
                                                          at Acme.Serve.Serve$ServeConnection.run(Serve.java:1988)
                                                          at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1223)
                                                          at java.lang.Thread.run(Thread.java:841)

Subsequent edits did not result in this error.
And secondly, when querying a view using the keys parameter, if that array is empty I now seem to get back all docs in the view.  Before I think it was returning no docs, which is what I'd expect.

Hi @npomfret,
I am glad to hear the build 0.0.0-710 can address the duplicated query result issue.
Could you please file new tickets for new incidents?
Thanks!


Add replication rest api specs

What this PR does / why we need it:
Add replication rest api specs
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Coverage remained the same at 42.232% when pulling 61e66ea5b53cc9d8abcd66dc9ec992a3bac88edf on xxwjj:replication_api_specs into 499c55a19ff65e4037793a60984dd040cf318c5e on opensds:development.

Coverage remained the same at 42.232% when pulling 61e66ea5b53cc9d8abcd66dc9ec992a3bac88edf on xxwjj:replication_api_specs into 499c55a19ff65e4037793a60984dd040cf318c5e on opensds:development.

Coverage remained the same at 42.232% when pulling 61e66ea5b53cc9d8abcd66dc9ec992a3bac88edf on xxwjj:replication_api_specs into 499c55a19ff65e4037793a60984dd040cf318c5e on opensds:development.

Coverage remained the same at 42.232% when pulling 61e66ea5b53cc9d8abcd66dc9ec992a3bac88edf on xxwjj:replication_api_specs into 499c55a19ff65e4037793a60984dd040cf318c5e on opensds:development.


[serverless] add more CODEOWNERS to Serverless related

What does this PR do?
Adds the @DataDog/serverless-aws team as codeowner of anything AWS Serverless related.
Motivation
Have more reviewers in PRs and ownership
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Move git under Version Control.

I think it would be more structured and easy approach if we move Git as a subdirectory to Version Control.

Understand your approach and a good suggestion though there is no other Source control currently in our structure. Need to reframe root document with "Version Control".


Hierarchical structure or inheritance of behaviors/tasks?

Submitter Organization: NMSG-145 (Operationalization of Standardized C2-Simulation Interoperability)
Type (Problem Report or Change Request): Problem Report
Date of Submission: 10 June 2022
Product: C2SIM XSD
Reference: NMSG-145 Final Report / Technical report TR-MSG-145, April 2021, Section 5.1, p92 (5-2)
Problem/Change Description:
[...] 5.1 LESSONS IDENTIFIED
The range of possible tasks (DesiredEffectCode and TaskNameCode) is significantly greater than the possible tasks or behaviors available in many of the simulations, e.g., VBS3.
These codes have largely been derived from JC3IEDM which provides a large set of tasks so federation agreements and the mapping of C2SIM tasks to simulation capabilities need specifying carefully.
There could be some hierarchical structure or inheritance so that if a behavior/task is not understood by a sim, it gets rolled back to a more generic task.

Good point. If the overarching goal of C2SIM is to enable C2 systems to operate with simulations without human intervention, then the meaning of every element would (ideally} be unequivocally defined in the standard. However, many elements of the data model, and in particular tasks, represent very complex behavior with dependencies on mission, equipment, terrain, nationality/doctrine, enemy forces, etc. The military simulation community has considered the idea of defining standards for behavior for years, but without a real solution. A given simulation X can perhaps be said to "understand" the meaning of a particular task if it undergoes a rigorous validation process (for a particular use). In this case the meaning of the task term could be said to be "what simulation X does." This is all not very practical. It is probably only practical for C2SIM to provide a reasonable vocabulary at this point, and depend on "federation agreements" to provide meaning for particular uses.
As for the idea of hierarchies of behavior complexity or completeness, that is reasonable. One could express this with subclasses. For example, consider this ontology:

If a task message were received that specified a Traveling task, the receiver could perhaps ignore it and select another instance of a CrossCountryTask that it understood.


yakyak.exe reported as trojan in Windows Defender (win10)

It started happening since YakYak  v1.4.1 (maaaybe the one before, not sure) version. Windows Defender report is below.
Category: Trojan
Description: This program is dangerous and executes commands from an attacker.
Recommended action: Remove this software immediately.
Items:
file:C:\Apps\YakYak\yakyak.exe
Get more information about this item online. -> https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?name=Trojan%3aWin32%2fPeals.A!cl&threatid=2147690472&enterprise=0
Thanks for YakYak, I love it.

Thanks for reporting, are you installing it from github yakyak/yakyak?

Yes, I downloaded it from https://github.com/yakyak/yakyak/releases.

As far as I know, YakYak should only communicate with the outside for two reasons

hangouts server via hangupsjs module to get data.
and with github.com to find the lastest released version.

yakyak.exe itself is the executable from electron (the framework we use to build the app)
does windows defender also detects the same trojan with other electron-based apps? (if you have any installed, of course :) )

if you don't have any other app install can you try electron barebones
official release in link below:
https://github.com/electron/electron/releases/download/v1.4.10/electron-v1.4.10-win32-x64.zip

This is very funny :D

OK, I've tried installing electron and scanning again both electron and yakyak and now Windows Defender had no problem with them. Could be that Windows Defender updated its malware definitions in the meantime, or just that it does not work consistently. :)
I think we can say that the problem has gone away. For now. :)

LoL nice to hear :)
if it happens again, try using the electron app to see if it also pops up, or is yakyak specific, but hopefully never again ^^
I'm closing the issue, thanks for reporting and the feedback


KAFKA-4279: REST API for filtering Connector plugins by type

https://cwiki.apache.org/confluence/display/KAFKA/KIP-850%3A+REST+API+for+filtering+Connector+plugins+by+type
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

abandoning change based on discussion - https://lists.apache.org/thread/hvjr2pclhstpmdr164sc73sb55lhbl1m


Added redshift.get_cluster_credentials

Implemented as described in #3609.

Coverage decreased (-0.2%) to 94.369% when pulling 59c19931cf5bbce0de7c7b68568b012011703d98 on dreamorosi:enhancement/redshift-get-cluster-credentials into 8f4c3e4a5139da0a7221f47d12b4bf9a172ba779 on spulec:master.

Coverage decreased (-0.2%) to 94.369% when pulling 59c19931cf5bbce0de7c7b68568b012011703d98 on dreamorosi:enhancement/redshift-get-cluster-credentials into 8f4c3e4a5139da0a7221f47d12b4bf9a172ba779 on spulec:master.

@bblommers Latest CI build failed for Python 2.7 on already existing tests. The ones that I have added in the PR are all passed.
Thoughts?

@bblommers Latest CI build failed for Python 2.7 on already existing tests. The ones that I have added in the PR are all passed.
Thoughts?


Getting this constant error on the dev portal.

I am not seeing anything specific in the network trace to pinpoint the cause of the issue.

Not able to repro this anymore. Closing the issue


1.19 fix null pointers when strengthening unknown mobs

Hello @Globox1997!
Just adding a small guard against accessing the default attributes, since it's sometimes crashing when encountering mobs of unknown types (such as those added by other mods), after the latest update.
Let me know what you think

Hi arpds, this looks great, thanks for your work :)


update starter version to 5.4.0

Motivation:
update starter version
Modification:
update starter version
Result:
starter will be 5.4.0 refer to sofa-rpc-all 5.4.0

you can use 5.4.0-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots.
Maybe you need modify .travis.yml for download jar for snapshot(change settings.xml or command..) when CI.


Rename <Pattern-Name>Construct classes or create real constructs

Is your feature request related to a problem? Please describe.
Construct classes should extend the Construct base class in the constructs package. But <Pattern-Name>Construct classes do not (e.g. SingleNewEksClusterAWSNativeobservabilityConstruct).
Describe the solution you'd like
Remove Construct suffix  from <Pattern-Name>Construct.
Because these are not constructs in the context of CDK.
Not recommended to rename <Pattern-Name>Construct <Pattern-Name>Pattern.
The Pattern suffix will be confused with L3 pattern constructs.
Describe alternatives you've considered
To create real constructs, make <Pattern-Name>Construct classes extend the Construct base class.

@matt9ucci  your logic makes sense. The current state is consistent with the patterns repo for CDK EKS Blueprints here so any changes will need to be applied to both.
The confusion stems from the fact that Construct and Pattern are overloaded terms from the CDK vocabulary (which happens to be the underlying dependency). In the context of blueprints, construct and pattern literally mean blueprint construct and blueprint patterns - which is different from CDK.
However, to avoid confusion it is reasonable to refactor once we come up with a consistent naming.

@shapirov103 I understand the vocabulary conflicts between CDK and blueprints.

The confusion stems from the fact that Construct and Pattern are overloaded terms from the CDK vocabulary

I agree. Construct and Pattern are the meaningful keywords of CDK, but they are commonly used in other areas.

renaming Construct to Blueprint

LGTM 👍

@matt9ucci This is issue is fixed and closed, please reach back if you have new issues.


Modernize project structure

This project was made without the use of our standard project template.
https://github.com/carver/ethereum-python-project-template
The following should be cleaned up to closer match our modern project structure.

remove requirements-dev.txt in favor of using extras_require pattern.
add classifiers to setup.py
update the readme to contain the appropriate badgest, title and general structure.
update the tox.ini flake8 environment to use the more modern lint name as well as the same approach, installing from extras_require.
add python_requires (and exclude python==3.5.2)

Extra credit for finding other tangible differences and fixing them.

@aashutoshrathi if you'll go ahead and get a pull request open I'll consider this reserved for you.

@aashutoshrathi, can you update status here so we have proper CI fixes running?
@pipermerriam, I like to wait till @aashutoshrathi adds PR, let me know if you want me to start working on this.

looks like @aashutoshrathi has a PR open https://github.com/ethereum/py-trie/pull/72

@aashutoshrathi going to pay you out on this now but please respond promptly to @pipermerriam if there are any other small changes

Hi, @ceresstation Please take a look at #72
CircleCI throws weird errors on squashing.

@ceresstation :+1: to pay bounty.

👍 paying out now, great work @aashutoshrathi!


please, add online demo or a plunker example.

the plunker appears to be broken
http://plnkr.co/edit/hkENUhos6q9fhiOHprXO?p=preview

@jtc10005 this has been updated to 0.5.2-rc.7 and functionality is restored.


[BUG] k8s v1.28.5 how to install koord-runtime-proxy？kubelet no --container-runtime param，only use --container-runtime-endpoint param has err:

What happened:
kubelet[9429]: E0108 16:59:05.317481    9429 run.go:74] "command failed" err="failed to run Kubelet: validate service connection: validate CRI v1 runtime API for endpoint "unix:///var/run/koord-runtimeproxy/runtimeproxy.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

App version:
Kubernetes version (use kubectl version): v1.28.5
Install details (e.g. helm install args):
Node environment (for koordlet/runtime-proxy issue):

Containerd/Docker version: v1.7.3
OS version:
Kernal version:
Cgroup driver: cgroupfs/systemd

Others:

use nri mode, runtime-proxy is unnecessary


Wfcore 543 model validation

Test fix for the improved model validation

Linux Build 5930 is now running using a merge of 90f403595093da9168da011da1378fd5d5540adc

Linux with security manager Build 909 is now running using a merge of 90f403595093da9168da011da1378fd5d5540adc

Windows Build 1040 is now running using a merge of 90f403595093da9168da011da1378fd5d5540adc

Linux with security manager Build 909 outcome was SUCCESS using a merge of 90f403595093da9168da011da1378fd5d5540adc
Summary: Tests passed: 840, ignored: 319 Build time: 0:05:13

Windows Build 1040 outcome was SUCCESS using a merge of 90f403595093da9168da011da1378fd5d5540adc
Summary: Tests passed: 2927, ignored: 313 Build time: 0:46:34

Linux Build 5930 outcome was SUCCESS using a merge of 90f403595093da9168da011da1378fd5d5540adc
Summary: Tests passed: 2926, ignored: 313, muted: 1 Build time: 0:49:36


[C#] Idiomatic formatting

Generic types begin with T
Methods start with uppercase
some block { moved to own line.
draft as behind #1070

Marking this as ready for review as #1070 has now been merged.

Thanks for the review


Roadmap

Hey there, love this project so far. Just wondering if you have a roadmap. I'd like to see the following features from carbon-cache implemented. Currently, the writes to my storage is higher than I'd like.

MAX_UPDATES_PER_SECOND
MAX_CREATES_PER_MINUTE
CARBON_METRIC_INTERVAL

I do not have a plan. All planned features I did and accept feature requests.
I'll see how to implement MAX_UPDATES_PER_SECOND, MAX_CREATES_PER_MINUTE, CARBON_METRIC_INTERVAL in carbon-cache and may also implement them. The original purpose was the opposite - to write as soon as possible :)

whisper.max-updates-per-second supported in version 0.4.3
MAX_CREATES_PER_MINUTE not compatible with go-carbon internal architecture

Thanks for implementing. It seems to work as expected. Any progress on CARBON_METRIC_INTERVAL? Setting interval to 10s in carbon-cache really helps with debugging and testing settings quickly.

Hi @lomik any plans on implementing a similar config setting to CARBON_METRIC_INTERVAL?

metric-interval option added to master

@lomik nice, thanks!

Released in 0.6


missing dependency and workaround: org.antlr stringtemplate 3.2.1

Using sbt 0.11 with Scala 2.9.1 with sbteclipse 1.4.0 in Ubuntu 11.04.
Attempted:
sbt "eclipse with-sources same-targets"
Got error:
[info] About to create an Eclipse project for you.
[info] Please hang on, because it might be necessary to perform one or more updates and this might take some time ...
[error] impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] {file:/home/eric/src/query_face_com/make-metadata-database/}default-142448/*:update-classifiers: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] Error running updateClassifiers task for default-142448
Workaround is to add org.antlr stringtemplate 3.2.1 manually:
// Added to build.sbt in project root
libraryDependencies ++= Seq(
"org.antlr" % "stringtemplate" % "3.2.1"
)

Could you please provide a reproducible test case?
Thanks.

Sorry to be slow, just looked into it. It can be reproduced with the following build.sbt in a new directory (with the plugin declared in ~/.sbt/plugins/build.sbt):
*** build.sbt ***
// sbt "eclipse with-sources same-targets"
scalaVersion := "2.9.1"

resolvers += "NativeLibs4Java Respository" at "http://nativelibs4java.sourceforge.net/maven/"

libraryDependencies += "com.nativelibs4java" % "javacl-generator" % "latest.integration"

Not sure whether this is an sbteclipse problem or a nativelibs4java problem.

Thanks for the set up. I could reproduce the failure, but this is not related to sbteclipse:
[info] Set current project to default-f3fb6c (in build file:/Users/heiko/tmp/test/)
> update
[info] Updating {file:/Users/heiko/tmp/test/}default-f3fb6c...
[info] Done updating.
[success] Total time: 178 s, completed Oct 22, 2011 10:54:29 AM
> update-classifiers
[error] impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] {file:/Users/heiko/tmp/test/}default-f3fb6c/*:update-classifiers: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] Total time: 2 s, completed Oct 22, 2011 10:55:29 AM

As you can see this already happens at the "vanilla sbt level". May I ask that you open this issue at sbt? Thanks.


Add support for mac os

Description
Kurl currently only works on
Supported operating systems

- Ubuntu 18.04
- Ubuntu 20.04 (Docker version >= 19.03.10)
- CentOS 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.1, 8.2, 8.3 (CentOS 8.x requires Containerd)
- RHEL 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6 (RHEL 8.x requires Containerd)
- Oracle Linux 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6 (OL 8.x requires Containerd)
- Amazon Linux 2

Therefore, would be great additional support for mac os X.
Motivations

Allow users to be able to use kurl to test their app/releases on a remote cluster for example
Allow users and contributors to use kurl in their dev local env without a need to use a container so that they can have a better experience and easily contribute with
would be great to ensure homogeneity in all solutions under the org/replicate where all could work and be supported on max and Linux.

TL'DR Issues found so far regard incompatibilities in the scripts and possible solutions
Scenarios
To install

Go to curl https://kurl.sh/
Try to run the default section curl https://kurl.sh/latest | sudo bash

** To install by following the getting started (step 4) **
Try to following item 4 from https://docs.replicated.com/vendor/tutorial-ui-install-app-manager
curl -sSL https://k8s.kurl.sh/<your-app-name-and-channel> | sudo bash
Errors and possible solutions
1) error sed: 1: "assets/Manifest": command a expects \ followed by text
Reason:
The reason for that is because of the commands sed -i used on the script, see (in this case):
    local filepath=
    filepath="$(package_filepath "${package}")"
    sed -i "/^$(printf '%s' "${package}").*/d" assets/Manifest # remove from manifest
    rm -f "${filepath}" # remove the file

It occurs because sed command with -i option failing on Mac, but works on Linux
Possible Solution(s)

replace:  sed -i "/^$(printf '%s' "${package}").*/d" assets/Manifest # remove from manifest
with: sed -i.bak "/^$(printf '%s' "${package}").*/d" assets/Manifest; rm -f .assets/Manifest*.bak

OR

Install :brew install gnu-sed

2) Error command md5sum not found

Reason: After solving sed -i command usage we will check errors with md5sum. The md5sum command used on the script does not work on mac by default.
Possible Solution: we can install the command with brew install md5sha1sum

3) Cannot executed binaries
Error:
./kurl.sh: line 1244: ./bin/kurl: cannot execute binary file
./kurl.sh: line 6734: ./bin/yamltobash: cannot execute binary file

kURL installs a significant number of packages, and relies on kubeadm, which is not supported on MacOS.
And most of the on-mac k8s clusters I've found already include things like PVC provisioners and cluster networking.
I can understand the desire for a local development environment, but I'm not sure what value kURL would really provide in this scenario - particularly not for the amount of effort that would be required.

Hi @laverya,
Thank you for your time here. I totally agree that that would add value for development purposes only which probably brings it to a lower priority. Also, I think you are right.  kubeadm does not seems supported mac at all.
So, thinking about the value that can brings vs effort it probably is not something valuable to get done  at all.
So, I am totally fine with we close this one.

Hi @laverya,
Thank you for your reply.

kURL installs a significant number of packages, and relies on kubeadm, which is not supported on MacOS.

That is true. kubeadm would not run on mac.

I can understand the desire for a local development environment, but I'm not sure what value kURL would really provide in this scenario - particularly not for the amount of effort that would be required.

I understand your POV and go along with. +1.
We can close this one one for sure.

Future idea: support colima as a MacOS solution in parallel to kubeadm for Linux based OS'es?
To have a play with it on either an Intel or M1 Mac:
brew install colima docker kubernetes-cli
colima start --kubernetes
kubectl get all -A

(there is a containerd option also, this uses docker as the container runtime by default)
~ ❯ kubectl get all -A                                                                                ⎈ colima 18:57:17
NAMESPACE     NAME                                          READY   STATUS    RESTARTS        AGE
kube-system   pod/coredns-597584b69b-r74k5                  1/1     Running   1 (5h57m ago)   6h14m
kube-system   pod/local-path-provisioner-79f67d76f8-phm94   1/1     Running   1 (5h57m ago)   6h14m
kube-system   pod/metrics-server-5c8978b444-5mxgb           1/1     Running   1 (5h57m ago)   6h14m

NAMESPACE     NAME                     TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes       ClusterIP   <IP_ADDRESS>       <none>        443/TCP                  6h14m
kube-system   service/kube-dns         ClusterIP   <IP_ADDRESS>      <none>        53/UDP,53/TCP,9153/TCP   6h14m
kube-system   service/metrics-server   ClusterIP   <IP_ADDRESS>   <none>        443/TCP                  6h14m

NAMESPACE     NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns                  1/1     1            1           6h14m
kube-system   deployment.apps/local-path-provisioner   1/1     1            1           6h14m
kube-system   deployment.apps/metrics-server           1/1     1            1           6h14m

NAMESPACE     NAME                                                DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-597584b69b                  1         1         1       6h14m
kube-system   replicaset.apps/local-path-provisioner-79f67d76f8   1         1         1       6h14m
kube-system   replicaset.apps/metrics-server-5c8978b444           1         1         1       6h14m

I can see the merits to curl https://kurl.sh/latest | sudo bash "just working" on either MacOS or Linux (copy paste to either yields a usable outcome effectively). Understood that it's an extra maintenance effort taking such a path though, which needs to be weighed up...
Worth noting: colima runs a native arm64 QEMU VM for containers on M1 Mac's, it does not do an emulated amd64 VM. So image architecture would need to be considered for everything...


Adds reactive behavior to "Field.props.rule"

Implements #246.

At the moment this pull request contains the minimal working functionality.
I would like to see if this feature can be implemented more efficiently before merging.


sh train.sh 1 23500 encounter a mistake

sh train.sh 1 23500 encounter a mistake ，I don't know where I am going wrong, can you help me

Sorry, I uploaded the wrong config. Please fetch the latest code.
If you have any problems after doing this, do not hesitate to contact me.
By the way, you are suggested to use 2 GPUs for reproducing SupOnly results for VOC.


BrowserModule has already been loaded

I keep getting an error that the BrowserModule is already implemented:
ERROR Error: Uncaught (in promise): Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.

I believe there is an open pull request that addresses this issue.

I have merged the PR and published v1.0.2. Please let me know if that fixed your problem. If it is fixed, then we can close this issue.

Fixed in #1


ACM-15238 Add new topology icons for virtual machines

https://issues.redhat.com/browse/ACM-15238
The OpenShift Virtualization team suggested to display a unique icon for virtual machines instead of the generic custom resource icon.

Add new icons for VirtualMachine, VirtualMachineInstance, and DataVolume

/lgtm


[Bug]:   Faiss Search Error with TextEmbedding

What happened?
I'm encountering a ValueError when attempting to perform similarity search with Faiss using embeddings generated by FastEmbed's TextEmbedding.embed method.
What Python version are you on? e.g. python --version
Python - 3.10.12
fastembed - 0.3.4
faiss - 1.8.0
Version
0.2.7 (Latest)
What os are you seeing the problem on?
Linux
Relevant stack traces and/or logs
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-40-6bb0fc687deb> in <cell line: 2>()
      1 import numpy
----> 2 index.search(a,1)

/usr/local/lib/python3.10/dist-packages/faiss/class_wrappers.py in replacement_search(self, x, k, params, D, I)
    325         """
    326
--> 327         n, d = x.shape
    328         x = np.ascontiguousarray(x, dtype='float32')
    329         assert d == self.d

ValueError: not enough values to unpack (expected 2, got 1)

usually we recommend to use proper vector database


GitHub action runner isn't being requested properly

For some reason, our GitHub action broken between these two dates when the action was run on a CRON job:

The Waiting for runner error seems to be related to requesting an incorrect runs-on:  value. We are using runs-on: ubuntu-latest, though I note that in the error messages it seems to be requesting Ubuntu 18.x. So I think this isn't working because GitHub is deprecating 18.x now. For some reason we still seem to be requesting it...

closed by: https://github.com/2i2c-org/2i2c-org.github.io/pull/158


Deploy offline

Describe the bug
How to deploy label-studio offline?My server is offline and cannot access pypi.org.
Here is the error msg:
=> Database and media directory: /root/.local/share/label-studio
=> Static URL is set to: /static/
Starting new HTTPS connection (1): pypi.org:443
Can't get latest version
Traceback (most recent call last):
File "/root/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/root/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 386, in _make_request
self._validate_conn(conn)
File "/root/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1042, in validate_conn
conn.connect()
File "/root/.local/lib/python3.8/site-packages/urllib3/connection.py", line 414, in connect
self.sock = ssl_wrap_socket(
File "/root/.local/lib/python3.8/site-packages/urllib3/util/ssl.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "/root/.local/lib/python3.8/site-packages/urllib3/util/ssl.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File "/usr/local/python3/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/local/python3/lib/python3.8/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/local/python3/lib/python3.8/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
To Reproduce
Expected behavior
Screenshots
Environment (please complete the following information):

OS: CentOS
Label Studio Version lastest

Additional context

It shouldn't affect the start of LS. Just don't pay attention there.


Disable sidebar items if base gtfs not fetched

fixes #404

Codecov Report

Merging #405 into dev will decrease coverage by <.01%.
The diff coverage is 0%.

@@           Coverage Diff            @@
##             dev    #405      +/-   ##
========================================
- Coverage    5.3%    5.3%   -0.01%
========================================
  Files        322     322
  Lines      15455   15456       +1
  Branches    4654    4655       +1
========================================
  Hits         820     820
- Misses     12494   12495       +1
  Partials    2141    2141

Impacted Files
Coverage Δ

lib/editor/reducers/data.js
8.18% <ø> (ø)
:arrow_up:

lib/types/reducers.js
0% <ø> (ø)
:arrow_up:

lib/editor/components/GtfsEditor.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

:tada: This PR is included in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Allow Symfony 5 components

Also closes #100 - use new Process method to create object from shell command when available

Hi @Lustmored , thanks for the PR.
The travis build fails:
Problem 1
- symfony/console v5.0.0 requires php ^7.2.5 -> your PHP version (7.1.27) does not satisfy that requirement.

As 7.1 is EOL, I think we should change the version to 7.2.  Can you make a try please?

Can I please accept this pull request?

The PR can't be accepted as checks are failing. The PHP version requirements must be changed to ^7.2.5

Sorry guys for taking long to answer, didn't receive notifications somehow. I am experimenting with PHP version constraints, not a Travis master but will do my best.

I've allowed myself to bump PHP dependency in composer.json and extended test config with 3 major Symfony versions (3.4, 4.4 and 5.0). I am not sure it actually tests against components from specified version. but couldn't find better solution.
Anyways all tests are passing right now. Once again sorry for the delay.

Hi @javiereguiluz Any chance to have this merged and a new tag?


media: remove redundant pointer

Codecov Report

Merging #172 (9b6aede) into main (40574c4) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #172   +/-   ##
=======================================
  Coverage   86.72%   86.72%
=======================================
  Files         101      101
  Lines       10674    10674
=======================================
  Hits         9257     9257
  Misses       1088     1088
  Partials      329      329

Impacted Files
Coverage Δ

pkg/media/media.go
92.68% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Right-Click in File Tree to Beautify only on file names

The cool feature to beautify when right-click in the tree view only works when you right-click on the file name, not on the whole file row.

I originally had it working for the entire file row, however it felt rather hacky (checked if it was name, if not then find sub-element, etc). Then I saw that Markdown-Preview only allows right-clicking on the names I decided to follow suit. I like this idea and have also found it annoying that I must be precise and click directly on the name. I'll definitely look more into this and find a better solution when I can. Thanks for your feedback.

This feature isn't working at all for me, but beautifying via that command palette, or via the 'packages' menu works fine. Is this something I should report as a bug?

@toadhats : Definitely. Thanks for creating https://github.com/Glavin001/atom-beautify/issues/489

In an attempt to clean up my created issues that have not been processed or updated over a year, I'm closing this issue. If this issue is still relevant, please reopen another issue.


Opening composer with Protonmail using URL scheme is not working anymore with 1.16.1

here is the patch I made and which was working with the 1.15.0 version meaning, the openComposer was properly opening protonmail on compose view with all the options filled, now the protonmail opens well but not anymore the compose view. It is working well with all the other mail client.
Here is my patch :
diff --git a/node_modules/react-native-email-link/src/ios.js b/node_modules/react-native-email-link/src/ios.js
index 2e8d1ce..5ae3a75 100644
--- a/node_modules/react-native-email-link/src/ios.js
+++ b/node_modules/react-native-email-link/src/ios.js
@@ -40,6 +40,7 @@ const titles = {
  *  - airmail: https://help.airmailapp.com/en-us/article/airmail-ios-url-scheme-1q060gy/
  *  - outlook: https://stackoverflow.com/questions/32369198/i-just-want-to-open-ms-outlook-app-and-see-mailto-screen-using-url-scheme-at-ios
  *  - fastmail: https://github.com/vtourraine/ThirdPartyMailer/blob/1.8.0/Sources/ThirdPartyMailer/ThirdPartyMailClient.swift#L80
+ *  - protonmail: https://github.com/ProtonMail/ios-mail/issues/27  //MODIFICATION NM FOR PROTONMAIL
  */
 const uriParams = {
   "apple-mail": {
@@ -116,7 +117,11 @@ const uriParams = {
     body: "body",
   },
   protonmail: {
-    path: "compose",
+    to: "mailto",
+    subject: "subject",
+    body: "body",
+    cc: "cc",
+    bcc: "bcc",
   },
   seznamemail: {
     path: "mail",
@@ -135,15 +140,29 @@ const uriParams = {
  * }} options
  */
 function getUrlParams(app, options) {
-  const appParms = uriParams[app];
-  if (!appParms) {
+  const appParams = uriParams[app];
+  if (!appParams) {
     return "";
   }

-  const path = app === "apple-mail" ? options.to || "" : appParms.path;
-  const urlParams = Object.keys(appParms).reduce((params, currentParam) => {
+  const path = (app === "apple-mail") ? options.to || "" : (app === "protonmail") ? options.to && decodeURIComponent(options.to).trim().split(',')[0] || "" : appParams.path;
+
+  const urlParams = Object.keys(appParams).reduce((params, currentParam) => {
     if (options[currentParam]) {
-      params.push(`${appParms[currentParam]}=${options[currentParam]}`);
+      if (app === "protonmail") {
+        options[currentParam] = decodeURIComponent(options[currentParam]);
+        if (currentParam === "cc" && options.to && decodeURIComponent(options.to).trim().split(',').length > 1) {
+          options[currentParam] = options[currentParam] + "," + decodeURIComponent(options.to).trim().split(',').slice(1).join(',');
+        }
+        params.push(`${appParams[currentParam]}=${options[currentParam]}`);
+      } else {
+        params.push(`${appParams[currentParam]}=${options[currentParam]}`);
+      }
+    } else if (app === "protonmail" && currentParam === "cc") {
+      if (options.to && decodeURIComponent(options.to).trim().split(',').length > 1) {
+        options[currentParam] = decodeURIComponent(options.to).trim().split(',').slice(1).join(',');
+        params.push(`${appParams[currentParam]}=${options[currentParam]}`);
+      }
     }
     return params;
   }, []);
@@ -381,6 +400,9 @@ export async function openComposer(options) {
   if (app === "apple-mail") {
     // apple mail prefix to compose an email is mailto
     prefix = "mailto:";
+  } else if (app === "protonmail") {
+    // protonmail prefix to compose an email is protonmail://mailto
+    prefix = "protonmail://mailto:";
   }

   await Linking.openURL(`${prefix}${params}`);

I am using: "expo": "~51.0.31"
Is there somebody facing this new issue ?
Thanks

Nice! Could you please open a pull request with this change? Happy to get it merged

@pke it could be indeed
@tschoffelen actually it is not working anymore, that's why I open the issue :)

@tschoffelen actually it is not working anymore, that's why I open the issue :)

What he meant, could you please create PR with this patch instead of posting the patch here in the issue?

@pke but the patch is not working anymore, something should have changed in the protonmail client and wanted to know if someone who where using it is facing the same issue


test_parse incomplete

test_Parse has been refactored and is now working and also the code has been shifted to the test_str module

Resolved the above mentioned issues and wrote test for StreamBuffer class. Test for PrintObject class is commented as it is still under development and not working yet

It seems that something went wrong with your merge/rebase. My changes to master show up as committed by you.

Can you please git pull upstream master one last time, so that I can apply the changes cleanly?

Done

But it still says "This branch has conflicts that must be resolved".
Also, can you please edit the title and description (=first post) of this pull request to summarize what you've done?
This will become the commit message when I squash all your commits into one.

completed the requested changes


Extension Ratings in New Experience

VSCode Version: 1.3-insider
OS Version: All

Steps to Reproduce:

View an extension in results list
See rating and compare how we render stars vs the gallary

For a 3.91 rating:

In the gallery:

We should be consistent - in this case round up to 4.0 vs round down to 3.5

I know Joao was trying to simulate their extension ranking algorithm, but seems like he missed some corner cases.

@modigrv Can you give me the exact algorithm for mapping a rating number to the stars, used in the Marketplace? This is what we're doing.

@joaomoreno In marketplace we round off to the nearest multiple of 0.5. Here are some examples,
3.74 will round off to 3.5
3.80 => 4.0
2.60 => 2.5
4.24 => 4.0
4.26 => 4.5
4.25 => 4.5

@pkuma-msft Thanks for the directions. Does 284309d0383624f1c9393bad8e84d38652d690a8 make sense?

This is still happening. i.e. Microsoft's C# extension:
in VSCode: 3.5 stars
in Marketplace: 4 stars

The extension has a rating of 3.9 (seen if you hover over the stars), this should be rounded off to 4.0 as per the logic above.. @joaomoreno ?

@jaime-olivares Which version of Code are you using?
Here's the latest insiders:

@joaomoreno I am using 1.3.1 for macOS

@jaime-olivares The fix is still not in for the stable, it will only come for 1.4.


OpenID Connect: Undefined array key "use" when JWK missing the optional use key

Describe the Bug
When filtering the JWK keys the function filterKey in OidcProviderSettings.php expects the key use to be present with the sig value. Which I assume is because encryption is not supported.
Problem here is that the use key is optional according to the RFC (although the wording is quite ambiguous) and our OIDC provider does not have it resulting in a crash during parsing and and error exception:
Undefined array key "use"

#0 /var/www/bookstack/app/Auth/Access/Oidc/OidcProviderSettings.php(169): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Undefined array...', '/var/www/bookst...', 169)
#1 [internal function]: BookStack\Auth\Access\Oidc\OidcProviderSettings->BookStack\Auth\Access\Oidc\{closure}(Array)
#2 /var/www/bookstack/app/Auth/Access/Oidc/OidcProviderSettings.php(170): array_filter(Array, Object(Closure))
#3 /var/www/bookstack/app/Auth/Access/Oidc/OidcProviderSettings.php(155): BookStack\Auth\Access\Oidc\OidcProviderSettings->filterKeys(Array)
#4 /var/www/bookstack/app/Auth/Access/Oidc/OidcProviderSettings.php(116): BookStack\Auth\Access\Oidc\OidcProviderSettings->loadSettingsFromIssuerDiscovery(Object(GuzzleHttp\Client))
#5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(391): BookStack\Auth\Access\Oidc\OidcProviderSettings->BookStack\Auth\Access\Oidc\{closure}()
#6 /var/www/bookstack/app/Auth/Access/Oidc/OidcProviderSettings.php(117): Illuminate\Cache\Repository->remember('oidc-discovery:...', 900, Object(Closure))
#7 /var/www/bookstack/app/Auth/Access/Oidc/OidcService.php(108): BookStack\Auth\Access\Oidc\OidcProviderSettings->discoverFromIssuer(Object(GuzzleHttp\Client), Object(Illuminate\Cache\Repository), 15)
#8 /var/www/bookstack/app/Auth/Access/Oidc/OidcService.php(53): BookStack\Auth\Access\Oidc\OidcService->getProviderSettings()
#9 /var/www/bookstack/app/Http/Controllers/Auth/OidcController.php(29): BookStack\Auth\Access\Oidc\OidcService->login()
#10 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\Http\Controllers\Auth\OidcController->login()
#11 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('login', Array)
#12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(BookStack\Http\Controllers\Auth\OidcController), 'login')
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()
#14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Route->run()
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(BookStack\Http\Request))
#16 /var/www/bookstack/app/Http/Middleware/CheckGuard.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\CheckGuard->handle(Object(BookStack\Http\Request), Object(Closure), 'oidc')
#18 /var/www/bookstack/app/Http/Middleware/Localization.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#19 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\Localization->handle(Object(BookStack\Http\Request), Object(Closure))
#20 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#21 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\RunThemeActions->handle(Object(BookStack\Http\Request), Object(Closure))
#22 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#23 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\CheckEmailConfirmed->handle(Object(BookStack\Http\Request), Object(Closure))
#24 /var/www/bookstack/app/Http/Middleware/PreventAuthenticatedResponseCaching.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\PreventAuthenticatedResponseCaching->handle(Object(BookStack\Http\Request), Object(Closure))
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(BookStack\Http\Request), Object(Closure))
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(BookStack\Http\Request), Object(Closure))
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(BookStack\Http\Request), Object(Illuminate\Session\Store), Object(Closure))
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle(Object(BookStack\Http\Request), Object(Closure))
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(BookStack\Http\Request), Object(Closure))
#35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(BookStack\Http\Request), Object(Closure))
#37 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\ApplyCspRules->handle(Object(BookStack\Http\Request), Object(Closure))
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(BookStack\Http\Request))
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\Routing\Router->runRoute(Object(BookStack\Http\Request), Object(Illuminate\Routing\Route))
#43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\Routing\Router->dispatchToRoute(Object(BookStack\Http\Request))
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch(Object(BookStack\Http\Request))
#45 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(BookStack\Http\Request))
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#47 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\Http\Middleware\TrustProxies->handle(Object(BookStack\Http\Request), Object(Closure))
#48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\TrustProxies->handle(Object(BookStack\Http\Request), Object(Closure))
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(BookStack\Http\Request), Object(Closure))
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(BookStack\Http\Request), Object(Closure))
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(BookStack\Http\Request), Object(Closure))
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(BookStack\Http\Request), Object(Closure))
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(BookStack\Http\Request))
#57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(BookStack\Http\Request))
#59 /var/www/bookstack/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(BookStack\Http\Request))
#60 {main}

Steps to Reproduce

Connect BookStack with OpenID Connect that does not have use key present in the jwks endpoint
Set OIDC_ISSUER_DISCOVER to true
Attempt to log-in

Expected Behaviour
Absence of the use key should not necessarily result in an exception. Maybe a warning?
Screenshots or Additional Context
No response
Browser Details
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Exact BookStack Version
v22.10.2
PHP Version
8.1.12
Hosting Environment
Rancher Kubernetes
Docker image: solidnerd/bookstack:latest
Clean install

Thanks for the clear report @107142. To add, the OIDC discovery spec states:

This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure.

Agreed that this should not cause an exception on check, but not totally sure how to handle missing use parameters. Options:

As advised, show a warning.

Will be a little annoying to record and report such warnings unless we'd be happy for them to block further processing of additional potentially fully-defined keys.

Simply ignore keys without a use.

Might cause frustration in scenarios where the user is expecting the key to be used but bookstack is not finding any valid keys, and not reporting the skipping of such a key.

Assume such keys to be available for signing use.

Hard to understand if this could be valid usage. The JWK spec does not specify a default. The OIDC discovery text, as quoted above, does make it sound like non-use keys would be considered signing keys, since the jwks containing encryption keys is stated as MAY and, in that case, the use param is required. So sounds like we could correctly state keys without use to be signing keys.

Assume such keys to be available for signing use, but demote them over keys with use set.

Based on the OIDC discovery spec, I'm thinking that the third option would be fine while also being super simple. Would be good to understand this against your real-world use-case. Would you be able to share the data of your jwks_uri? (URL found when viewing your <issuer>/.well-known/openid-configuration url). Of course anonymise/hide any values but I'd just like to see how the options would fit against your actual scenario, since I have not come across an OIDC system that causes this.

Hey,
I have since talked with the guys responsible for our IdP and the missing use key will be added, "fixing" the issue for me.
You can look at the jwks_uri if you want.

Assume such keys to be available for signing use.

I kinda like this one the most and understand it the same you do: unless stated otherwise, without the use present, keys are to be considered signing keys.
It would also seem to me that this is commonly used in the wild and it would make it compatible with the RFC (well within reason, those RFC are seriously not all that clear).

Thanks for the extra detail and confirmation of this logic @107142.
I have now updated the logic in e20c944350c78f33c1ed0c34db8fde6a8a639b3d to assume that lack of use is treated as sig, and added a test to cover this scenario.
Will be part of the next feature release.

Thank you for a speedy fix @ssddanbrown. Much appreciated.


Unable to register

I'm connecting in Wifi, my connection works.
But when I try to register in CrapSnap, it displays 'Unable to connect to SnapChat servers. Pleasy retry registering process'.
Do you know how to fix this issue?

                                                                                Fact is I have no idea how to fix that.The only way is to do some reverse engineering again to adapt the app to the current snapchat api. However, it may be more difficult than previously : the last changes have been made to unable third party app to log in. (that's snapchat reaction to the "scandal" of the massive release of saved snap).The only advice I can give you in this quest is : DO NOT USE YOUR PERSONAL ACCOUNT ! It may be locked because of the use of unauthorized client.Moreover I've switched to bb10 (Passport) so I can't debug crapsnap anymore.                                                                                De: devnoname120Envoyé: lundi 9 mars 2015 19:14À: mamatheking/CrapSnapRépondre à: mamatheking/CrapSnapObjet: [CrapSnap] Unable to register (#4)I'm connecting in Wifi, my connection works.

But when I try to register in CrapSnap, it displays 'Unable to connect to SnapChat servers. Pleasy retry registering process'.
Do you know how to fix this issue?
—Reply to this email directly or view it on GitHub.

However, it may be more difficult than previously : the last changes have been made to unable third party app to log in.

Their security is probably laughable.

It may be locked because of the use of unauthorized client.

That is one incredible thing to hear. Preventing users to use a 3rd-party app, it's fine. But banning them for using one is something I've never seen for a social app!

Moreover I've switched to bb10 (Passport) so I can't debug crapsnap anymore.

OK. By the way, there is a Blackberry Bold 9900 emulator bundled with the SDK. It should be able to run any java application. I've already used it to debug a few things, and it works quite well.

                                                                                Beware off the simulator : some stuff is more complicated on real devices :)                                                                                But the truth is I don't want anymore develop for bbos 7, as I have no valuable interest to do it. Bur if you improve crapsnap, I still curious to see ;)                                                                                De: devnoname120Envoyé: lundi 9 mars 2015 19:41À: mamatheking/CrapSnapRépondre à: mamatheking/CrapSnapCc: Mathieu MonnierObjet: Re: [CrapSnap] Unable to register (#4)

However, it may be more difficult than previously : the last changes have been made to unable third party app to log in.
Their security is probably laughable.
It may be locked because of the use of unauthorized client.
That is one incredible thing to hear. Preventing users to use a 3rd-party app, it's fine. But banning them for using one is something I've never seen for a social app!
Moreover I've switched to bb10 (Passport) so I can't debug crapsnap anymore.
OK. By the way, there is a Blackberry Bold 9900 emulator bundled with the SDK. It should be able to run any java application. I've already used it to debug a few things, and it works quite well.
—Reply to this email directly or view it on GitHub.

OK. I don't think that I will work on this, because I don't have an Android device, so reversing the API will be annoying.


Load an existing scenario and attach to existing cars

In the code base, there are few examples on creating new scenarios and adding cars to them. But what if one has to work on an existing scenario and plot data from it? So a scenario where roads and vehicles have been already defined in the .prefab

Actually, I might have already did it (so I share my code below). The code assumes a running simulation of a car with id ego-car
 self.vehicle = Vehicle('ego-car')
electrics = Electrics()
self.vehicle.attach_sensor('electrics', electrics)
# Connect to running beamng
self.bng = BeamNGpy('localhost', 64256)
self.bng = self.bng.open(launch=False)
# Put simulator in pause awaiting while planning the driving
self.bng.pause()
# Connect to the existing vehicle (identified by the ID set in the vehicle instance)
self.bng.set_deterministic()  # Set simulator to be deterministic
self.bng.connect_vehicle(self.vehicle)
assert self.vehicle.skt
# Get Initial state of the car. This assumes that the script is invoked after the scenario is started
self.bng.poll_sensors(self.vehicle)

Hi!
Just to make sure I've understood the question: do you want to load the game and a scenario through an existing prefab and then connect with python through the BeamNG lib to the existing scenario?

Yes.
My use case is the following: A program creates and launches a scenario and researchGE is loaded; then, at some point, the second program (typically, an AI) attaches to the running scenario and does something (e.g., drive a car).
An extension might be that more than one program (in turn) attaches to the running scenario.

It is possible to load existing scenarios by using the scenario.find(...) instead of scenario.load(...). But connecting to individual vehicles is not possible as of now but we might add that in the future, see issue #49 for that.


Create automation for checking for broken URLs

I've used this in the past with great success: https://wummel.github.io/linkchecker/
We can initially just make it available via a make target or something, and eventually add it to a CI job.

Sounds great, I am using the website today for learnning, and got some url 404, i send a PR to fix. If there is CI auto check this everytime will be usefully.
Which can be triggered on release, or some other properly time.

Lets discuss... feedback from team mates is that this can often have numerous false positives...
it is unclear about the maturity of the tooling.

lets figure out a way to add value without chasing rainbows

Seems like this one is closed via #230


option on the command line for the build folder

Is your feature request related to a problem? Please describe.
I would like to generate my compilations in another folder tree in order to:

not clutter up my working folder
compile in a memory folder

Additionally, this allows compilations from a read-only disk.
Describe the solution you'd like
Command line options to put systematically:

-B DIR, --build-path=DIR for build directory
-C DIR, --config-path=DIR for .xmake directory

Describe alternatives you've considered
Symbolic link, but it doesn't work for a read-only disk.

export XMAKE_CONFIG_DIR=config_path
xmake f -o build_path
xmake

XMAKE_CONFIG_DIR seems not to be used
$  ls -a
.  ..  src  xmake.lua

$  export XMAKE_CONFIG_DIR=../b/c
$  xmake f -o ../b/hello
checking for architecture ... x86_64

$  ls -a
.  ..  src  .xmake  xmake.lua

Ok for -o build_path
$ xmake
$ ls -a
.  ..  src  .xmake  xmake.lua
$ ls ../b/hello/linux/x86_64/release/
hello

Finally it works with XMAKE_CONFIGDIR (without _).

Finally it works with XMAKE_CONFIGDIR (without _).

oh, my typo. you can also run xmake show -l envs to view all supported envs.


Wait for base to exist before spawning php bin.

Our use of a build directory includes wiping it when changing apps/restarting. This results in events.js:72 throw er; // Unhandled 'error' event. Waiting for existence of dir before spawn fixes the issue.

Hi Ryan, thanks for the request. Could you please resubmit with the 'fs' fix and pull from the current master. Thanks

Done. Thanks!


Added Max and Min Width of Text Area

Hi @Mayuresh-22  i Added the necessary CSS Attributes , Please Accept my Pr and Close #51

@Amine2000s I see you've fixed the size issue of the text area on the account page. It would be great if you do that to the text area on the feed page.

yes my pull request fixed them both on the feed and account page thats why there is chnages on 2 css files

Merging this PR. Congratulations on creating your first pull request! 🤗


Move to Python x64 on Windows machines❔

None of our Windows VMs or on-premise machines are x86 platforms. However the windows-python-3 uses x86 installers from Python.org for unknown reasons. We should investigate why (🤷 at this point) and hopefully switch to the AMD64 installers.

Release Note Category

[x] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Changed our Python installation on Windows AMD64 machines to use AMD64 installers, not x86 ones.

Tentatively placing this in Ops - Service Maintenance for now. Please shout if you disagree @ilyas1974 and / or @garath.

Is there anything motivating or blocked by not having the 64-bit version installed?

Is there anything motivating or blocked by not having the 64-bit version installed?

I was motivated to file the issue because I couldn't explain the x86 choice (or the weirder one described in #1445). other than a slight performance degradation or perhaps limited memory addressability due to the use of the current installer, I don't know what the downstream implications may be.
@steveisok asked in our Teams channel about bit-ness. that led me to my "huh" moment. I'm hoping @steveisok has an inkling how our choice may affect customers.


Download links in homepage point to the wrong place

https://sroze.github.io/ngInfiniteScroll/
All download links (largely, out of date) point to binarymuse.

Also, the bower install instruction say to install
bower install ngInfiniteScroll#1.0.0
or
Bower cannot be used to install ngInfiniteScroll for the development head; please select another version to install with Bower.
maybe the default should be changed to:
bower install ngInfiniteScroll
in https://github.com/sroze/ngInfiniteScroll/blob/gh-pages/index.html in the id='downloadTab' div  (was at the bottom of the file at the time I posted this)


Regressions from Engine roll

https://github.com/flutter/flutter/pull/21579 has serious regressions to memory usage (from the Dart roll commit) and rasterizer times (from the previous commit).

never mind these are already filed


bug(python): S3 Permissions Issues with regions

LanceDB version
No response
What happened?
I can touch a file with other systems
import s3fs

s3 = s3fs.S3FileSystem()
s3.touch("s3://my-bucket/dir/myfile")  # this works fine

When I use LanceDB I get an issue:
import lancedb
db = lancedb.connect(
    "s3://my-bucket/dir/",
)
tbl = db.create_table("tablename", data=df)

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[10], line 5
      1 import lancedb
      2 db = lancedb.connect(
      3     "s3://...",
      4 )
----> 5 tbl = db.create_table("arxiv", data=df)

File ~/mambaforge/envs/rag/lib/python3.11/site-packages/lancedb/db.py:391, in LanceDBConnection.create_table(self, name, data, schema, mode, exist_ok, on_bad_vectors, fill_value, embedding_functions)
    388 if mode.lower() not in ["create", "overwrite"]:
    389     raise ValueError("mode must be either 'create' or 'overwrite'")
--> 391 tbl = LanceTable.create(
    392     self,
    393     name,
    394     data,
    395     schema,
    396     mode=mode,
    397     exist_ok=exist_ok,
    398     on_bad_vectors=on_bad_vectors,
    399     fill_value=fill_value,
    400     embedding_functions=embedding_functions,
    401 )
    402 return tbl

File ~/mambaforge/envs/rag/lib/python3.11/site-packages/lancedb/table.py:1438, in LanceTable.create(cls, db, name, data, schema, mode, exist_ok, on_bad_vectors, fill_value, embedding_functions)
   1436 empty = pa.Table.from_pylist([], schema=schema)
   1437 try:
-> 1438     lance.write_dataset(empty, tbl._dataset_uri, schema=schema, mode=mode)
   1439 except OSError as err:
   1440     if "Dataset already exists" in str(err) and exist_ok:

File ~/mambaforge/envs/rag/lib/python3.11/site-packages/lance/dataset.py:2381, in write_dataset(data_obj, uri, schema, mode, max_rows_per_file, max_rows_per_group, max_bytes_per_file, commit_lock, progress)
   2378     params["commit_handler"] = commit_lock
   2380 uri = os.fspath(uri) if isinstance(uri, Path) else uri
-> 2381 _write_dataset(reader, uri, params)
   2382 return LanceDataset(uri)

OSError: LanceError(IO): Generic S3 error: Error performing list request: Received redirect without LOCATION, this normally indicates an incorrectly configured region, /Users/runner/work/lance/lance/rust/lance-table/src/io/commit.rs:100:26

This bucket already exists so it seems strange that I need to specify the region again.  AWS already has this information, and if for some reason we needed it we could query it from AWS.  But ok, I'll specify the region.  I see that there is a convenient region= keyword
db = lancedb.connect(
    "s3://my-bucket/dir/",
    region="us-west-2",
)
tbl = db.create_table("tablename", data=df)

Sadly, I get the same error.  I then read through https://github.com/lancedb/lancedb/issues/712 and see that maybe I need to specify region in an environment variable
import os
os.environ["AWS_DEFAULT_REGION"] = "us-west-2"

And now things work.
Personally I can do this, but it makes it hard to include LanceDB in a recommended workflow to downstream users.  Is this easy to fix? or is this some downstream library's issue? I (we?) can go complain there if preferred.
Are there known steps to reproduce?
No response

Sure, if the user hasn't set AWS_DEFAULT_REGION, we can do an extra head call to detect where the bucket is.

Implementing this upstream in https://github.com/lancedb/lance/pull/2147. I'll make sure this is integrated into LanceDB.

Oh great.  Thanks @wjones127 !


Google.Protobuf dependancy

Hello,
I think there is a dependancy on Google.Protobuf nuget package which is not mentioned.

Also wondering about this, should this be added to the dependencies package?

Google.Protobuf is not essential but it is indeed the de facto standard.
I also thought about building a redistribution package, but if I install that package from UnityNuGet, the following error occurs.

Assembly 'Packages/org.nuget.google.protobuf/Google.Protobuf.dll' will not be loaded due to errors:
Google.Protobuf references strong named System.Runtime.CompilerServices.Unsafe Assembly references: <IP_ADDRESS> Found in project: <IP_ADDRESS>.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

According to the error message, you can use it if you change the Player Settings, but it's difficult to judge whether it's good to distribute something that causes an error.

Assembly 'Packages/org.nuget.google.protobuf/Google.Protobuf.dll' will not be loaded due to errors:
Google.Protobuf references strong named System.Runtime.CompilerServices.Unsafe Assembly references: <IP_ADDRESS> Found in project: <IP_ADDRESS>.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

This error is happened from v1.0.0.
This version of SDK refers System.Runtime.CompilerServices.Unsafe 6.0.0
https://github.com/Cysharp/YetAnotherHttpHandler/releases/tag/redist-20240111-01
On the other hand, there is no error message with v0.1.0 which refers System.Runtime.CompilerServices.Unsafe 4.5.3.
https://github.com/Cysharp/YetAnotherHttpHandler/releases/tag/redist-20230728-01
The latest version of Google.Protobuf refers  System.Runtime.CompilerServices.Unsafe 4.5.2 or above , however unity alerts error message if some SDKs refer different major version of System.Runtime.CompilerServices.Unsafe.
https://www.nuget.org/packages/Google.Protobuf/#dependencies-body-tab
Is it possible to downgrade version of System.Runtime.CompilerServices.Unsafe which is refered by YetAnotherHttpHandler?
(cf, even if we change Script Backend or Api Compatibility Level in Player Settings, the error is not fixed.)

In my environment (Unity 2021.3.22f1), the error does not occur with a combination of System.Runtime.CompilerServices.Unsafe 6.0.0 and Google.Protobuf 3.25.2. Could you please tell me your version?

@mayuki

Could you please tell me your version?

The error occurs with Unity 2021.3.16f1.
However, the error does not occur with latest Unity LTS version (Unity2022.3.18f1 ).
So it seems that there is minimum support version of Unity between 2021.3.16f1 and 2021.3.22f1.
I approgize taking your time.

As I understand Google.Protobuf is required by gRPC client library, at least it was like this for me.
For Unity 2022.3.41 everything compiled after I copied Google.Protobuf.dll netstandard2.0 from the official nuget package.


are there extra settings needed to successfully deploy this app?

git clone https://github.com/AnswerDotAI/todos-vercel.git
and then
vercel --prod
failed after a bit. Build seems to complete but then there is a 500 Internal Server Error.

nevermind forgot the env vars


Create tictactoe

Description
Simple Code for Game Tic Tac Toe
Checklist:

[x] My code follows the style guidelines of this project
[x] I have added my code in its respective language folder.
[x] I have mentioned a short description about the code at the beginning of the program.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I have not deleted any files that already exist in the repository.

@dishantrathi  add the extension .py to your program then make a pr


Viewing recurring / future transfers

Story
As a user
I want to see all past, current and future transfers
So that I can easily track the history of transfers and spot any future transfers that might effect my decisions
Acceptance Criteria

[ ] There is a view of all Governance Initiated Transfers (the transfers themselves not the proposals)
[ ] There is a way to link from a Governance Initiated Transfer to the parent proposal for that transfer
[ ] There is a way to view transfers by account

Tasks

[ ] UX (if needed)
[ ] Design (if needed)
[ ] Team and stakeholder review
[ ] Specs reviewed and created or adjusted
[ ] Implementation
[ ] Testing (unit and/or e2e)
[ ] Code review
[ ] QA review

Sketch
Additional details / background info

Currently this is blocked by core - if indeed it is important enough to have an argument about.
The BE will only ever show you the list of transactions that started recurring transfers.  It cant show the list of active recurring transfers or give you any useful info on "current status" of recurring transfers. And FUTURE transfers are impossible.
If we wanted any view like this we'd need someone from Core to help us work on some new API that could provide this info, or help build out the transfer API to do so.  But this is a completely different model to the current BE transaction list view so would be bespoke to showing these recurring transfers and it is not clear to me that this is important enough to bother doing all of that.


.reset vs ->reset

If you have a pointer like thing that contains a pointer like thing.
std::optional<std::unique_ptr<>> for example

Why would you have a std::optional<std::unique_ptr<>>? I mean, it would make sense if std::unique_ptr could not be empty (Actually that would make more sense), but since std::unique_ptr can be empty, using std::unique_ptr over std::optional<std::unique_ptr<>> is better.

It was just the first example I came up with. The point being, anything with a pointer-like interface containing anything with a pointer-like interface.
This is based on a real issue I had someone DM to me about their own code.

https://compiler-explorer.com/z/b1PbPcP9n

Coming in Ep 424


Should model is float64[] work?

FormRecognizer has types that are array. This would let @minItems and @maxItems be used on it.
Other things to think about: float64[8] -> mean an array of exactly 8 float64
cc: @tjprescott

Or something like in Swift
class MyArray: Array where Element is Float64 {
...
}

Or this could also work, where you have a model that wraps the array type, but implements a subscript interface so you can subscript into the object as if you were subscripting into the array directly.
class MyArray {
  private let innerArray: [float64]

  subscript(index: int) -> float64 {
    return innerArray[index]
  }
}

I would say the model is example shouldn't work because array types are not model types and so this brings us back to a model = world.
That said the use case for an array that carries along some constraints is pretty clear. Is it another instance of wanting to decorate a type expression? E.g. we have wanted this for unions, though we solved this by adding a union declaration form...

There is a few things:

be able to add decorator on an array and reuse that
give a name to that array.(E.g. BoundingBox for Formrecognizer). Though what would this mean in the generator code? Would we provide an array wrapper?
Another kind of related issue is wondering is could the language have a built-in way to specify the size of the array vs using decorators. For example right now the bounding box could be represented as [float64, float64, float64, float64, float64, float64, float64, float64] being an array of 8 float64(Openapi3 emitter not happy but this is valid Cadl)

This also bring then the same problem for giving tuple a name

Form Recognizer has a BoundingBox which is an array of 8 floats. How should someone represent that in CADL, because it is correctly represented today in Swagger.

Also, float64[2] as sugar for [float64, float64] makes a lot of sense to me.

float64[8] would work for BoundingBox, but @timotheeguerin pointed out, how would you express "an array that has a min of x items and a max of y"?  With Swagger you can using minItems/maxItems, but how would you do it in CADL? float64[1-2]would have to be expanded to something like [float64] | [float64, float64]?

That syntax is getting more clever than I like, and probably places a lot of burden on emitters to reason through unions of tuples. Possible to add such syntax in the future.
Synthesizing from the comments above, the other options on the table are:
Arrays are models, my friend
@minLength(1)
@maxLength(2)
model ShortArray<T> is T[] { }

(But would need to figure out the subtyping semantics of arrays and objects, what it means to add properties to an array type, plus probably more issues)
Declaration form of alias
@minLength(1)
@maxLength(2)
declare ShortArray<T> = T[];

(But would need to reason through the consequences of allowing decorators on arbitrary expressions, allowing arbitrary expressions to be declared (we had this via model = some time ago and it was painful, whether we would also allow decorators on alias, plus probably more issues)

I do agree that the min-max syntax gets too complex and having to use the decorator on an array at that point makes more sense. This is not easily representable in TS either.
For option 1 we already have all the primitive types that are "model" where it doesn't make sense to add properties to.

That's a good point re: option 1. Ok, I answer yes to the topic question, but let's integrate these semantics into the subclassing proposal as well and make sure it hangs together. Perhaps it is sufficient to say we have a Record which is a map of string -> T and an Array which is a map of number -> T, and both are subclasses of object? This would force our hand on T[] being a subtype of U[] if T is a subtype of U, which I think Johan had some concerns about but does align with the current proposal.


Return Never in Option "or" closure

I propose to use this Optional extension to shorten code while unwrapping Optionals which are to be non-nil, e.g: converting enum values from raw, dequeueing cells and so on.
extension Optional {

    /// Gets the wrapped value of an optional. If the optional is `nil`, returns Never
    ///
    ///        let foo: String? = nil
    ///        foo.or { preconditionFailute() } -> Throws preconditionFailure with default description
    ///
    ///        let bar: String? = "bar"
    ///        bar.or { fatalError("Error description") } -> Throws fatal error with custom description
    ///
    /// - Parameter neverExpression: The Never returning closure to call if the optional is `nil`.
    /// - Returns: The value wrapped by the optional.
    func or(_ neverExpression: () -> Never) -> Wrapped {
        guard let wrapped = self else { neverExpression() }
        return wrapped
    }
}

@DimaZava Could you please open a PR and we'll take it from there :)

This one was discussed in #789 So, closing 👍


Make restore resumeable.

I just tested restore and noticed, that I (maybe) can't download all by data from my sftp source until the next DSL reconnect. When reconnecting, the connection of course breaks and restore fails.
When I start a new restore to resume, all old files are overwritten once again.
It would be nice to be able to resume restore, for example be checking if already in the restore-dir present files are already the same as those which would be restored and therefore be skiped to save time.
For now, this is only a test to check restore, so there is no need for quick hot-fixes like restoring seperate dirs with include/exclude.

This is certainly possible and a good idea, thanks for raising the issue. During restore, we already have all information we need (metadata and content-chunk lists for the files).

Perhaps, as a failsafe, restore should deny to restore if the target directory is not clean/empty, unless the operator explicitly wants this behaviour with --resume, e.g.
I have another use case for some very similar behavior, but I would call it "revert" or "rollback". (My use-case: The fact that restic does not semantically distinguish between full and incremental backup and the clever chunking make it perfect for saving states of virtual machine disk files). In a less-than catastrophic situation, I might want to rollback to yesterdays state quickly without having to erase the files first, then download and restore them entirely.
I figure I am asking for restic to overwrite some of my data. Even worse: An operator might think to improve a situation and not realize they are worsening it. A backup solution should never allow/risk that. Therefore, a revert/rollback should always create a snapshot of the target it's going to change and clearly say so.
This also clarifies the point of what to do with new files that were not yet there yesterday: Delete them after they got backed up.
I realize this is extending restic to not only be a backup solution, but also a versioning system. This might not be wanted.
A "revert" or "rollback" to an older snapshot would be different to a "restore --resume" in that it would expect some of the data to be already in place, create a snapshot if required and delete new files after they were backed up.

I am on a spotty network connection sometimes, and the ability to reliably restart a restore from s3 would be great.

This will be nice, and now that we are getting a cache the fundamental building blocks are starting to be in place! https://github.com/restic/restic/pull/1040

I am currently trying to restore my backup. Unfortunately the server connection is VERY spotty so I can't restore it since every time the connection drops, the restore procedure starts all over again.

I also interested on this feature, hope you can implement this soon

I have backed up a 10+TB volume to Backblaze B2 which took about a week to upload. Now I'm unsure how I can restore this reliably. I'm curious what's the current status of this issue and what could be possibly done to get this resolved soon.

@trustin That's a huge backup, to be sure.  I wonder if you could write a script to restore a few files at a time.  The script would run restic repeatedly on each small set of files until they were all restored.  It might be a slow, ugly workaround, but it might be reliable.

@alphapapa @dionorgua Thanks for suggestions. Let me try them once my current restoration session fails.

As a workaround it's possible to restic mount your repo and then use something like rsync to copy required files.

That's such a good idea, I wonder, is that just plain better than running restic restore?  If you are able to use FUSE and mount it and run rsync, is there any reason not to?  rsync can easily resume interrupted transfers, even after unmounting and remounting.

I expect performance to be worse, and in some cases, much worse, when using restic mount. (I remember there were reports on very long delays just to list the directory contents inside the mount.)

By the way, I'm restoring on Windows, so I'll have to spawn a virtual machine and do a Samba mount.

I'm curious if this would work:

Use rclone to copy the entire restic repository into a local directory and
Run restic to restore from the local directory to another local directory.

I'm asking this because:

Restoring an individual file works, but it takes too much time for restic to actually begin transferring the file. It seems to spend too much CPU and time for loading indices.
Restoring folder-by-folder is faster than restoring an individual file, but it takes too many manual operation given the size of the backup.

This will work for sure. But keep in mind that you'll need to transfer whole repository with all data (all snapshots) because you don't know which files are needed to restore whatever you need.
PS. There is some ongoing work on improving restore performance: #1719

This is not perfect, as it doesn't resume byte-by-byte, but when there is 1-5 files in a segment or something like it, it shouldn't be an issue.

As mentioned in the docs, check can segment the checking. I'd guess that restore works quite the same way.
When restoring first create a file in the empty directory, what is being restored to (to avoid overwriting when resuming). The file keeps track of what segment is completed.
Then start downloading in segments, automatically divide it to n segments, n based on the filecount and size of the job. Write n to file.
(example segment) When segment n-1 starts downloading or finishes downloading and is verified, append segment n-1 and it's status to the (json) file. When resuming, the file could be parsed to see, what segments have been downloaded, what are half-downloaded and what have been also verified.
Due to appending you will get multiple statuses of one segment. This could be solved by the logic of verified overrules downloaded, what overrules started.
Other solutions welcome, I'm currently not in the position of implementing this.
@trustin that does not probably work.
What is a workaround for now is to mount the backup and use rclone to copy from mount to local.

I think this is a key feature for large backups. I will try the rsync+mount option when my backup completes, it should work for me. Another possibility might be to use something like a vpn that can handle an intermittent connection between the server and client - while making it look like there is a continuously working network with at most large pings sometimes. (You may have to adjust timeout parameters or somesuch). I have some experience with tinc working like this.

I expect performance to be worse, and in some cases, much worse, when using restic mount. (I remember there were reports on very long delays just to list the directory contents inside the mounted repository.)

In restic 0.10.0 that was released yesterday there are a few serious improvements to mount browsing performance.

I'd love this funcitonality as well. I'm very surprised it isn't already the default! I hope #3425 can get merged soon!

In lieu of that, I used restic mount (described here) and rclone sync (described here) and it seems to work quite well - only downloading files that are different, and removing ones that don't exist in the restic repo.

Note that rclone sync does only checks the file size and mtime to skip files.
Also, that way whole files are skipped or totally restored. This doesn't help with finishing the restore of an already half-restored large file.

I'd be interested in resumes as well. Especially with large backup files where the connection could be interrupted before completing.
Thank you.

Thank you michael this is a big one ! 🙌

Great news, thank you @MichaelEischer!

Good to see that restic is catching up! Nice work @MichaelEischer


[AutoPR privatedns/resource-manager] Fix JavaScript configuration for ARM Private DNS SDK

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5284

(message created by the CI based on PR content)

TS PR


Update /review to do the job of former /project list -r

Based on changes in https://github.com/LearnersGuild/game/issues/431, /project list -r is being removed. This leaves the use case of "Players can see which projects they've reviewed, what their scores were, and which are available for review" unaddressed.
To address this gap, we'll add a list subcommand to /review that responds with the same content that /project list -r used to.
Then, because list doesn't take the same options as regular /review command, the default behavior for /review will be moved to a submit subcommand.
Example usage
@learner  > /review list
@echo     > You have reviewed 2/5 projects this cycle. Nice work!

               Project                  C    Q    Artifact
            X  #terrible-tiger          63   42   https://github.com/owner/repo
            X  #anxious-aardvark        19   77   https://github.com/owner/repo
            -  #silly-slug                        https://github.com/owner/repo
            -  #fantastic-falcon                  https://github.com/owner/repo
            -  #creepy-caterpillar                https://github.com/owner/repo

@learner  > /review submit #fantastic-falcon
@echo     > [same thing as what `/review #fantastic-falcon` does currently]

@learner  > /review
@echo     > Invalid arguments. Try --help for usage.

Update help messages
For /review
/review - provide feedback on a project

Usage:
    /review [options]

Commands:
    list         - Show project reviews
    submit       - Submit project review

Options:
    --help, -h            print usage information

Examples:
    # Show projects you've reviewed
    /review list

    # Show review status and artifact URL for the fantastic-falcon project.
    /review submit #fantastic-falcon

    # Rate the completeness and quality of the fantastic-falcon project.
    /review submit #fantastic-falcon --completeness 89 --quality 93

For /review list subcommand
/review list - show reviewed projects

Usage:
    /review list [options]

Options:
    --help, -h            print usage information

For /review submit subcommand
/review submit - submit a project review

Usage:
    /review submit [options] <project>

Options:
    --completeness, -c    A score between 1-100 indicating how complete you
                          believe the project is.

    --quality, -q         A score between 1-100 indicating your perception of
                          the quality of this project.

    --help, -h            print usage information

@tannerwelsh, this violates the consistency of the CLI, in my opinion, because the options (-c and -q) don't apply to all subcommands (in this case, list).
I'd suggest adding another subcommand for leaving a review, and applying the -c and -q options to it. Perhaps /review submit or /review add?

You're right @jeffreywescott, that's an oversight on my part. Will update the spec and help message.

updated spec and help message

Tracked here: https://app.clubhouse.io/learnersguild/story/415/update-review-to-do-the-job-of-former-project-list-r