building for unity, outdated android instructions

Hi, apologies right at the start; quite new to github as a community and not sure if this is the right place to post this.
My goal is to eventually get the Structure sensor to work via Unity on a Android device.
The Android build instructions seem quite outdated, mainly, ADT on Eclipse and Ant installer for windows seem discontinued.
This would be my first attempt at building a plugin from source, would like to know if there is any other information that i should be knowing and how I should proceed.
Thanks in advance.

Can your android device handle the kinect?
On Sun, Nov 13, 2016, 7:10 AM joshferns<EMAIL_ADDRESS>wrote:

Hi, apologies right at the start; quite new to github as a community and
not sure if this is the right place to post this.
My goal is to eventually get the Structure sensor to work via Unity on a
Android device.
The Android build instructions seem quite outdated, mainly, ADT on Eclipse
and Ant installer for windows seem discontinued.
This would be my first attempt at building a plugin from source, would
like to know if there is any other information that i should be knowing and
how I should proceed.
Thanks in advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/occipital/OpenNI2/issues/98, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHzA0IepvMdyIyQ4Z7LUMgDb8TBYOlN2ks5q9ww6gaJpZM4Kwr_m
.

@masterchop
I plan on using the Structure sensor.
Wouldn't know if android devices can handle the kniect; if i remember correctly I've seen a youtube video of the kinect running off a pandaboard.
But if the current android devices could possibly handle the kinect (atleast v1), would be more than happy to try that out.
I do have access to the Nvidia Shield tablet, which might be a good candidate.

True Nvidia Shield can be a good way to go but i never tried as Android can barely work with the Leap Motion with is less powerfull, my recomendaiton to you is to plug the Kinect v2 or v1 to your PC and create a socket that you can connect from android and send the skeleton data, if you send video or Depth it probably be to much for the bandwidth so make sure yo have 5G wireless or do Tethering or compress the info on PC and then send it to android.
I have work with this alot and send the skeleton to android is the best solution i have found adding extras is just to much for the bandwithd.
In regards to the small PC boards i have seen 1 single sample of 1 running kinect v2 properly or v1 with a good real use case, they just install the SDK and manage to run it and make a video of the sample, the coding on linux its on C which is a pain not to much people really create something useful so you need windows to test all the sample out there are really build something, all boards i have seen can handle kinect v1 at more than 10fps which sucks. I you know different i will be more than happy to test it out as from my research only NUC can really take the juice for Kinect v2.

hi , thanks @masterchop , but im really trying to get the http://structure.io sensor or someting similar to work on an android.
I have used the kinect in the configuration that you mentioned; wherein im tracking a user by a Kinect v2 running off a PC and sending over the data over wifi. Have used this asset on the Unity asset store https://www.assetstore.unity3d.com/en/#!/content/61376 .
@All
I need to get some sort of reconstruction done using either structure sensor or http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra_p_12.html this sensor.
Again, am totally new to any sort of plugin development, and the project doesn't look like it is under active development. any sort of guidance will be much appreciated.
Thanks.


More recommendations regarding the OperationStatus?

The documention mentions the possibility to retry failed asynch operations. To do this, the InvalidPluginExecutionException should be thrown with the OperationStatus Retry.
I've never used the OperationStatus and I'm not sure what exactly the consequences and use-cases are.
Is the OperationStatus also usable for synchronous plugins?
Why should I throw an exception with OperationStatus Succeeded or Suspended? What are the consequences?

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

ID: a26bcc37-d8d9-ee18-6c2e-0824aca609d5
Version Independent ID: e2b6035c-4546-e079-dffc-db43115cbfd2
Content: Handle exceptions in a plug-in (Microsoft Dataverse) - Power Apps
Content Source: powerapps-docs/developer/data-platform/handle-exceptions.md
Service: powerapps
Sub-service: dataverse-developer
GitHub Login: @divka78
Microsoft Alias: dikamath

Thanks for your comment, @darshSWL. This issue has been assigned to the doc author for review.

@darshSWL
Thank you for your feedback.
The content you are asking about is this:

Retry an asynchronous plug-in
With an asynchronous plug-in step, you can re-try when a plug-in fails. This may be due to a network error or some other re-triable error calling an external resource.
To retry your plug-in, use the InvalidPluginExecutionException(OperationStatus, Int32, String) constructor using the OperationStatus Enum Retry member value.
When your plug-in throws this type of exception, the asynchronous service will attempt to run your plug-in four times. If it doesn't succeed within four attempts it will fail.

Your questions are:

I've never used the OperationStatus and I'm not sure what exactly the consequences and use-cases are.

Use cases are calling an external resource. As stated, "...due to a network error or some other re-triable error". Perhaps you get throttled by the other service?

Is the OperationStatus also usable for synchronous plugins?

No. As stated, this is for asynchronous plugins.

Why should I throw an exception with OperationStatus Succeeded or Suspended? What are the consequences?

You shouldn't. As stated, to retry you must use the Retry value only.
This content is focused on what developers can do to handle exceptions in plug-ins. It provides the scenario and what options are available to developers.  We don't discuss invalid options, only the steps that people should take to re-try an asynchronous plug-in.
How do you feel this could be improved?

Since this page is about handling exceptions in plugins, I didn't realize that "retry an asynch plugin" is the only scenario where this enum is actually useful (and supported?). I've never seen the OperationStatus used in any example or anywhere else in the documentation. Maybe this documentation exists and I didn't find it? I'm not thinking about the exception constructor or the enum documentation which only lists the possible values.
I've also seen that the Plugin Profiler plugin throws an InvalidPluginExecutionException with OperationStatus Suspended. Reading about the "retry an asynch plugin" scenario here and seeing the Plugin Profiler throwing with OperationStatus Suspended made me wonder, what else could be possible with this enum? Seems like nothing else should be done with it?

I'm not aware of any other use case for OperationStatus enum. It appears to be a sub-set of the AsyncOperation.StatusCode options that are valid while the operation is running.
Plug-in Profiler is taking the serialized execution context and allowing you to debug your code locally, simulating the runtime environment found in the sandbox. I can't say that the OperationStatus value included with the exception in that case matches exactly what would occur at runtime in the sandbox. Unless it is blocking you somehow, I wouldn't be too concerned about it.
We aren't trying to document everything, only things that are important. There are things which are interesting but not important. Inner workings of OperationStatus may be interesting to some, but unless it is directly related to helping you achieve a specific outcome, we probably will not document it.
Does that make sense?

Yes, this makes sense.
We have an open support ticket about the Plug-In Profiler. I think I will ask the support team on that ticket why it throws the exception with "Suspended" (the plugin is not running async). Maybe that's the reason why the pipeline goes crazy after the exception.
I think I learned everything I wanted to know. Thanks a lot.


feat(codec): molecule friendly error message

https://github.com/nervosnetwork/lumos/issues/396

Can you provide some print screens or logs to show how the code is working?

I'm wondering if it's possible to use the higher-order function to do non-intrusive modifications instead of directly changing the codec?
maybe example like that
withReadableError(array)(xxxx)

It is difficult.
We want track the property access path in codec pack input, but these key only appears in Array.prototype.map/reduce
methods.
When code run out of these high order function, we can not get the current key anymore. so I think we have to modify some code in codec pack logic.

When code run out of these high order function, we can not get the current key anymore. so I think we have to modify some code in codec pack logic.

vote for this. but i want to know it is possible to refactor createObjectCodec and createArrayCodec to provide the friendly message? because it's not just molecule that can be affected by nested error

When code run out of these high order function, we can not get the current key anymore. so I think we have to modify some code in codec pack logic.

vote for this. but i want to know it is possible to refactor createObjectCodec and createArrayCodec to provide the friendly message? because it's not just molecule that can be affected by nested error. for struct/table/array/vector will call the createObject|ArrayCodec to report the friendly message

Maybe ES6 proxy class can implement this feature.

Maybe ES6 proxy class can implement this feature.

it can be simpler
function struct(shape, fields) {
  const codec = createObjectCodec(...)

  return {
    pack(packable) {
      const packedFields = fields.map(field => codec[field].pack(packable[item]))
      return concat(...packedFields)
    }
    unpack() {
      // ...
    }
  }
}

Maybe ES6 proxy class can implement this feature.

it can be simpler
function struct(shape, fields) {
  const codec = createObjectCodec(...)

  return {
    pack(packable) {
      const packedFields = fields.map(field => codec[field].pack(packable[item]))
      return concat(...packedFields)
    }
    unpack() {
      // ...
    }
  }
}

I found a way to track layout struct(array, table) error without modify it's codec implementations.
This can be in another PR in https://github.com/nervosnetwork/lumos/pull/408

Seems everything is OK. Can you please help review again? @homura


Add token cache

Token cache prevents the need to get a new token for every registry interaction.
Since the tokens are short lived, the cache expires after only a minute.

LGTM except for nits.


Handle no-multipart and filterFilesBySize

Had this two changes I made to get it working along with my project, thought it could be useful to get it upstream.
Multipart option already existed in Ng2Uploader, but wasn't used anywhere. Made some changes to uploadFile to handle this. If multipart is false (default to true), it ignores custom data that would be sent in multipart/form-data.
To be able to send the filename too with no-multipart post, added a filenameHeader option, that can receive a string representing a header where it'll send the filename (e.g. "X-Filename").
Useful to get it working with nginx client_body_in_file_only, for example, that save the file directly to disk (without handling it upstream/proxy/wsgi), but doesn't support multipart.
Also, added filterFilesBySize, with maxSize, to handle the rejection together with filter by extension, instead of a external filter/callback, as in the examples.

Hi, @jkuri, just merged current state.
Just to clarify what I did:

multipart option is boolean, defaults to true, when it has the previous behavior.
if multipart is false, instead of setting all the form data, it just sends directly the file in the body

useful for when servers don't handle well multipart (e.g. nginx client_body_in_file_only)

in this case, it's required to have the filename be sent in other place (no multipart form fields). That is what the new filenameHeader option is for, that works even with multipart, and sends the filename in a custom header (which name is the option).
Also, implemented maxSize option, filtering and reporting exactly as allowedExtensions filter (sorry to send it in the same PR, just got these changes for my project and thought it'd be useful to upstream).

Regards.

thanks man. looks good now 👍


[FEATURE] Open graph

Description
An open graph is a preview image that shows when a link is shared on social media
for more info about open graphs read the blog below
https://ahrefs.com/blog/open-graph-meta-tags/
Screenshots
Here's how the website looks when shared on social media
it missing an image and description

Sure, please go ahead! 🤩

thanks


2025-01-01-mitchell

OpenReview Submission Thread

Checklist before opening a PR

[x] I am opening a pull request against the main branch of the 2025 repo.

[x] My post and all associated references to it are all lowercase, i.e
  2025-04-28-Sample-Test.md               -> 2025-04-28-sample-test.md
  assets/img/2025-04-28-Sample-Test/ 	-> assets/img/2025-04-28-sample-test/

[x] The title of my PR is exactly the name of my markdown file

i.e. _posts/2025-04-28-[submission-name].md would require a PR name 2025-04-28-[submission-name]

[x] I have anonymized my post: my author's list is Anonymous, and there is no potential
content which can reveal my/my collaborators identities.

[x] My post matches the formatting requirements, including (but not limited to):

[ ] I have ONLY MODIFIED files in the following locations (failure to do so will result in
your PR automatically being closed!):

a Markdown (or HTML) file in _posts/ with the format _posts/2025-04-28-[submission-name].md (or .html)
static image assets added to assets/img/2025-04-28-[submission-name]/
interactive HTML figures added  to assets/html/2025-04-28-[submission-name]/
citations in a bibtex file in assets/bibliography/2025-04-28-[submission-name].bib

[ ] I have a short 2-3 sentence abstract in the description field of my front-matter
[ ] I have a table of contents, formatted using the toc field of my front-matter
[ ] My bibliography is correctly formatted, using a .bibtex file as per the sample post

Any other comments

Not sure what's gone wrong here. Can you rerun the checks?


WIP: Enable and fix warnings for the frontend

A new macro AC_COMPILER, inspired to a similar one in VOMS, has been added to aclocal.m4. Warnings (-Wall -Wextra) are enabled unconditionally; the -Wwrite-strings has been disabled for the moment (too many of them), waiting to understand how gSOAP works.
The fixes to the existing warnings should be uncontroversial. There remain a few, pending some discussion.
This MR incorporates part of MR #28

storm-testsuite tests green on CentOS 6
https://ci.cloud.cnaf.infn.it/job/storm-testsuite-omii006-vm03-tests/394/
storm-testsuite tests green on CentOS 7
https://ci.cloud.cnaf.infn.it/job/storm-testsuite-omii005-vm03-tests/97/


My items do not show up on the mb list for anyone

Hi, i have asked several friends to show me their cheapest listings, and mine do not show up even though its cheaper than any other listing

ignore/delete sorry


fix: Create user home to avoid warning

Summary
When trying to run the container, I was getting the following error:
mkdir: cannot create directory ‘/home/archivebox’: Permission denied
touch: cannot touch '/home/archivebox/.local/share/applications/mimeapps.list': No such file or directory

I added the flag to create a home directory during the build step, so this warning does not show up.
Changes these areas

[X] Bugfixes
[ ] Feature behavior
[ ] Command line interface
[ ] Configuration options
[ ] Internal architecture
[ ] Archived data layout on disk

Looks good & tested it!


Security contact?

Hi, how could I report a potential security vulnerability in the project?

hi,You can point it out directly.

You can also email me<EMAIL_ADDRESS>


[SUBMISSION] December 2024 - Module 1: Instruction tuning

December 2024 Student Submission
Module Completed

[x] Module 1: Instruction Tuning
[ ] Module 2: Preference Alignment
[ ] Module 3: Parameter-efficient Fine-tuning
[ ] Module 4: Evaluation
[ ] Module 5: Vision-language Models
[ ] Module 6: Synthetic Datasets
[ ] Module 7: Inference
[ ] Module 8: Deployment

Changes Made
Describe what you've done in this PR:

What concepts did you learn?
What changes or additions did you make?
Any challenges you faced?

Notebooks Added/Modified
List any notebooks you've added or modified:

[x] Added new example in module_name/students/my_example.ipynb
[ ] Modified existing notebook with additional examples
[ ] Added documentation or comments

Checklist

[x] I have read the module materials
[x] My code runs without errors
[x] I have pushed models and datasets to the huggingface hub
[x] My PR is based on the december_2024 branch

Questions or Discussion Points
Add any questions you have or points you'd like to discuss:
1.
2.
Additional Notes
Any other information that might be helpful for reviewers:
I tried to see how a challenging task like chain of thought prompting could be fine-tuned on a small LLM. As can be seen in the example output in the notebook, the fine-tuned model tries to start the reasoning chain but starts hallucinating soon after.

Any other information that might be helpful for reviewers:
I tried to see how a challenging task like chain of thought prompting could be fine-tuned on a small LLM. As can be seen in the example output in the notebook, the fine-tuned model tries to start the reasoning chain but starts hallucinating soon after.

This is really cool!
Start a thread on Discord if you want to discuss! https://discord.com/channels/879548962464493619/1313889336907010110

Could you exchange a review with one of the other students's PRs? [SUBMISSION]

@burtenshaw I'd be glad to exchange a review. It seems that we don't have the permission to add ourselves as a reviewer. Would you be adding us as a reviewer?

@burtenshaw I'd be glad to exchange a review. It seems that we don't have the permission to add ourselves as a reviewer. Would you be adding us as a reviewer?

Thanks. Just comment and mention me. Then I'll assign.

@burtenshaw add me as a reviewer for this PR.

@bhautik-pithadiya if you review, I'll merge.


Reorganize Mapping classes

Psydac has an abstract base class Mapping, in file psydac/psydac/mapping/basic.py, which defines a simple interface for evaluation of the mapping and its derivatives, for very different kinds of mappings.
This class is not used anymore. In the past it was subclassed by:

AnalyticalMapping, which

does not exist anymore, and is (partially) replaced by Sympde's CallableMapping
was also an abstract class, subclassed by concrete mappings (e.g. PolarMapping, TargetMapping, etc.)
contained a SymbolicMapping object (made of pure Sympy expressions)
stored any free parameters in a dictionary of (symbol, value) pairs

SplineMapping, which

does not subclass Mapping anymore
represents a discrete spline mapping

NurbsMapping, which

does not subclass Mapping anymore
represents a discrete NURBS mapping

The current situation is confusing and sub-optimal. We should (probably) make sure that all callable mappings in both Psydac and Sympde subclass a common abstract base class, which defines a unique interface across the two libraries.

I agree. I think that what makes the most sense is to have a CallableMapping class that is subclassed by Spline/NurbsMapping. This CallableMapping class would have a .__new__() that accept SymPDE Mappings and does with them something very similar to get_callable_mapping. That way, we could also use accelerated evaluation methods for the SymPDE mappings.

@anlavandier You should have a look at the CallableMapping class in SymPDE, as it does exactly what you describe. Mapping.get_callable_mapping() is essentially passing self to CallableMapping.__init__().
I am not sure of what you mean by "accelerated evaluation methods for the SymPDE mappings". CallableMapping uses lambdify to get functions which can be evaluated at Numpy speed. If Pyccel could provide an equivalent lambdify method, we could generate Fortran/C code instead of Python.

The problem that might arise is about having SplineMapping be a subclass of those CallableMapping. Maybe we should have the discrete mappings stay as is and add a get_callable_mapping() method  for consistency and to not have to change the SplineMapping class.


Add Form.onSaved

Description
When submitting data to a server, callers need a callback that will
get invoked after all the individual form fields are saved. If they
have a button that submits the form, they could just do this logic
in the click handler for the button (save the form, then submit to
the server), but if they have more ways than one to submit the form
(i.e. hitting enter while in a text form field), then it becomes
more convoluted and calls for a unified callback that will get
notified when the form is submitted.
Tests
I added the following tests:

A test that verifies that Form.onSaved gets called after FormField.onSaved

Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I signed the [CLA].
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read [Handling breaking changes]). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

don't you know it'll be called because you call it?

afaik, the plan is to implement form submission when enter key is pressed while a text form field is focused.

Maybe we should wait until that happens before adding this?

Ok, sending revert.


can we install Apache AGE ins windows?

I read the documentation of apache age but I don't found that how to install it on windows 10. any idea about it and how to use the existing Rdb tables with AGE extension? any related articles or tutorials to it?

You can install it using WSL (Windows Subsystem for Linux). I believe it comes pre-installed with Windows 10, but you can also install the Windows Terminal app on microsoft store, which gives you options to use PowerShell, Ubuntu, Command Prompt, etc. Then open Ubuntu there and install both PostgreSQL and AGE under the $HOME directory : use the command cd ~ to go there. And PostgreSQL must be version 11 or the ALPHA version of 12.

I recently published a blog regarding this. You can follow it step by step https://dev.to/humzakt/getting-started-with-age-and-postgresql-setting-up-and-modifying-the-source-code-49n3

Yes, you can by using WSL. Follow this blog will help you

Yes, you can install apache age and PostgeSQL on WSL2 on windows.
Here is complete guide to install, there are multiple parts of this manual to install PosgreSQL, Apache age and Age viewer: https://dev.to/vkt1271/complete-beginner-guide-to-install-postgresql-apache-age-on-windows-10-pro-with-wsl2-part-1-fco

You can install apache age on windows. Follow the link below for further guidance.
Link

There is a binary ship with PG17, if you want to compile it by yourself, you can ref to it too.
https://github.com/ShanGor/apache-age-windows
Release files: https://github.com/ShanGor/apache-age-windows/releases/tag/PG17%2Fv1.5.0-rc0


install-cni script refers to GOPATH/src which is deprecated

Description
script/setup/install-cni, which is called by make install-deps and a few other ways, expects "$GOPATH"/src/github.com/containerd/containerd/go.mod to exist and for that folder to be the location of the containerd source that is being built. It uses the contents of this file to determine the appropriate version of https://github.com/containernetworking/plugins.git to install to match the containerd module being developed.
I believe that the use of "$GOPATH"/src was generally deprecated between golang 1.13 and 1.17. While many developers may still keep their go module sources in that location, this is no longer standardized or required. Commands like go install and go get have changed behavior and functionality since this change. Official tooling can now put the module source in a path that looks like<EMAIL_ADDRESS>At the very least, this script should be assembling that path with the version number to use.
Further, I don't think it's reasonable for the build scripts in any arbitrary location to expect to rely on sources in the GOPATH. These scripts should be looking at the location the script is being run from, or a path passed in from the user or the Makefile, in order to target the correct version. If my local branch of containerd has been modified to have different dependencies, those dependencies should be honored when I'm running scripts in my branch. This script should be referring to ../../go.mod, probably described via environment variables set by the Makefile where possible, then by the location of the script, and only with a direct relative path from the cwd as a last resort.
Steps to reproduce the issue

make install-deps

Describe the results you received and expected
received: grep: /home/clrnc/go/src/github.com/containerd/containerd/go.mod: No such file or directory
expected: grep produces the appropriate version number and installation proceeds
What version of containerd are you using?
1.6.8
Any other relevant information
The Makefile should also be supplying the GOPATH to this script if it wasn't supplied by the user, as it already provides it for other steps and targets.
Show configuration if it is related to CRI plugin.
No response

CNI_COMMIT is in the script/setup/install-cni file.
I think CNI_COMMIT should be given default value main when "$GOPATH"/src/github.com/containerd/containerd/go.mod file cannot be read.

While that would be a good final fallback, I think a prior step should try to find the version that matches the containerd you're working on. main could easily be too new for most folks developing against an existing released version.

I think we can use relative path to get the go.mod, like
cd "$(dirname "${BASH_SOURCE[0]}")"
# read ../../go.mod

While that would be a good final fallback, I think a prior step should try to find the version that matches the containerd you're working on. main could easily be too new for most folks developing against an existing released version.

I can think of has three steps:

When the "$GOPATH"/src/github.com/containerd/containerd/go.mod file cannot be read, read the ../../go.mod file in the current directory
When the first step fails to read, read the go.mod file in the "$GOPATH"/pkg/mod/github.com/containerd/containerd directory.
When the second read fails, set the default value of CNI_COMMIT to main

I think we can use relative path to get the go.mod, like
cd "$(dirname "${BASH_SOURCE[0]}")"
# read ../../go.mod

@sparr Can you accept this approach?
The execution of make install-deps should be in the development environment, so the ../../go.mod file should exist.

@lengrongfu I'd probably do a more direct relative access rather than cd, but yes I think that's a reasonable approach.
Regarding the priority order, I would prefer to put ../../go.mod first, then "$GOPATH"/pkg/mod/github.com/containerd/containerd*/go.mod, then "$GOPATH"/src/github.com/containerd/containerd/go.mod, then fall back to just setting CNI_COMMIT to main

The script is stored in the repo, right? Even if the go mod has been disabled.
If the go.mod is not in the root dir, why do we need to search the pkg dir in GOPATH?
If there is failback step to search GOPATH/pkg/mod, which version of containerd is correct?
Well, just my two cents, the default version should be aligned with go.mod.
If there is no dependence in go.mod (it is unlikely), we should consider to  use other file to store the version.
I don't think we need multiple fail-though steps here. If grep fail, it just need fast-fails.
And file bug to fix it instead of setting a unrealiable rule to get the unexpected version.

I'm going to close this issue and direct further discussion to #7484 where additional progress has already been made.

I've been asked to reopen this until the PR is merged. Discussion should still take place on the PR if it's topical there.

Closing since #7484 was merged


how to use the keep qualifiers option

Hi, I don't quite understand how to use the "keep qualifiers" interface.
Let's say I've got this query from your docs:
const url = wbk.getEntities({
  ids: [ 'Q146', 'Q726' ], // these IDs contain qualifiers in Wikidata
})

fetch(url)
  .then(response => response.json())
  .then(wbk.parse.wd.entities)
  .then(entities => // do your thing with those entities data)

So now I've got some entities (which have qualifiers in wikidata). So how would I use the API code to show the qualifiers in this context?
wbk.simplify.claims( entity.claims, { keepQualifiers: true })
I've tried calling that code on each entity, but that just returns empty items for me. I would have expected to be able to set an option to show the qualifiers for all entities using eg. the "wdk.getEntities" option object. I am probably overlooking something simple here :-)
Thanks for a great library!

the problem here is that you are using wbk.parse.wd.entities which simplifies entities, without taking options such as keepQualifiers; you could instead parse the response manually, which could give something like this:
const wdk = require('wikidata-sdk')

const url = wdk.getEntities({
  ids: [ 'Q146', 'Q726' ]
})

fetch(url)
  .then(response => response.json())
  .then(data => wdk.simplify.entities(data.entities, { keepQualifiers: true }))
  .then(entities => // tadaa )

Perfect, thanks for the clarification!


[9.x] Attributes support on default component slot

Same as: https://github.com/laravel/framework/pull/48039 but for Laravel 9

Laravel 9 is out of bug fix support, since 8th August. Security fixes only. You'll need to upgrade to Laravel 10 to get this fixed.

9.x is closed for bug fixes. Please upgrade.


Volume in maintenance mode and DR mode stuck in live upgrade

Steps to reproduce:
Using rancher managed k8s cluster:

rancher: v2.3.2

k8s: v1.14.8

Install Longhorn v0.6.2

Create a volume, attach it to a node in maintenance mode

Upgrade Longhorn to v0.7.0-rc2, and wait for it to be active

Clean old CRD using curl -s https://raw.githubusercontent.com/longhorn/longhorn-manager/master/hack/cleancrds.sh | bash -s v062

Upgrade engine-image for attached volume.

Try to detach the volume

Result: Volume stuck in detaching state.

......
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:27:56Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:27:57Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:27:58Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:27:59Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:28:00Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:28:01Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:28:02Z" level=info msg="device test1: waiting for socket /var/run/longhorn-test1.sock to show up"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:28:02Z" level=error msg="error waiting for the socket device test1: wait for socket /var/run/longhorn-test1.sock timed out"
[instance-manager-e-49b13480] [longhorn-instance-manager] time="2019-11-14T01:28:02Z" level=info msg="device test1: stop wait for socket routine"

The instance manager should check if the volume is a DR volume. When it upgrades the DR volume, It cannot blindly wait for the socket file which is used for the frontend-enabled volume only.

Test Step:

Create a volume using longhornio/longhron-engine:master:
1.1. Create and attach a Longhorn volume
1.2. Write data in the Longhorn volume
1.3. Live upgrade the volume to longhornio/longhron-engine:master
1.4. Detach the volume
Attach the volume with maintenance mode
Live upgrade to longhornio/longhron-engine:v0.7.0-rc2 --> Should succeed
Detach and Reattach the volume. Verify the data

Notice: Upgrading from v0.7.0-rc2 to master won't succeed.

Validation: PASSED


[zh] localize blog:2018-07-12-resizing-persistent-volumes-using-kubernetes.md

Do we need to maintain a blog released four years ago?

I'm not sure, as I've recently been researching pvc dynamic scaling and saw that there was no Chinese version of this article so I translated it.

I'm not sure, as I've recently been researching pvc dynamic scaling and saw that there was no Chinese version of this article so I translated it.

Fine, thanks. The preview looks good to me now:
https://deploy-preview-37995--kubernetes-io-main-staging.netlify.app/zh-cn/blog/2018/07/12/resize-pv-using-k8s/

/lgtm


Context Menu Instability

Explain the bug
When i right click in empty space in any drive (not recycle bin), the context menu kind of breaks, more in the video.
To reproduce

Go to 'Any drive (C:, D:\ etc)'
Right-Click on empty space.
See the error

Expected behavior
I expected it not to crash and be consistent.
Logfile
debug.log
debug_fulltrust.log
Screenshots
Take a video instead,,,
https://user-images.githubusercontent.com/78640436/127276529-bed87a70-4c10-4988-95a4-1046ab5e66b0.mp4
System Information

OS Version: Windows 11 (Version 21H2; Build 22000.100 )
App version: v<IP_ADDRESS>

Additional comment
This is a permanent problem, i.e., it remains even after system restart.

Thanks for this report. Closing this as caused by a WinUI issue.

This has been fixed in the latest update! Thanks!


Cannot create an Xray security policy rule with "Contains malicious packages" option enabled.

Describe the bug
Cannot create an Xray security policy rule with "Contains malicious packages" option enabled using Terraform. The request returns following error.
400 POST https://artifactory-dev.skoda.vwgroup.com/xray/api/v2/policies
│ {"error":"Found Invalid Policy"}

When we create that rule using JFROG web UI everything works fine. After that we can import that rule to Terraform state and running Terraform apply returns no error. We tried copying the code directly from Terraform state to our script, deleting our policy from JFROG and Terraform state and running Terraform apply but we again ended with the error above.
Requirements for and issue
terraform {
  required_providers {
    artifactory = {
      source  = "registry.terraform.io/jfrog/artifactory"
      version = "6.15.1"
    }
    project = {
      source  = "registry.terraform.io/jfrog/project"
      version = "1.1.7"
    }
    xray = {
      source  = "registry.terraform.io/jfrog/xray"
      version = "1.6.0"
    }
  }
}

variable "artifactory_url" {
  type = string
}
variable "token" {
  type = string
}

provider "xray" {
  url          = var.artifactory_url
  access_token = var.token
}
provider "artifactory" {
  url          = var.artifactory_url
  access_token = var.token
}
provider "project" {
  url          = var.artifactory_url
  access_token = var.token
}

resource "xray_security_policy" "policy" {
  description = "Security-Test"
  name = "Security-Test"
  type = "security"

  rule {
    name     = "malicious"
    priority = 1

    actions {
      block_release_bundle_distribution  = false
      build_failure_grace_period_in_days = 0
      create_ticket_enabled              = false
      fail_build                         = true
      mails                              = []
      notify_deployer                    = false
      notify_watch_recipients            = true
      webhooks                           = []

      block_download {
        active    = false
        unscanned = false
      }
    }

    criteria {
      fix_version_dependant = false
    }
  }
}

Expected behavior
Creating Xray security policy with one rule which has the "Contains malicious packages" option enabled.

Released in v1.11.0


async object detect

can you check the code and let me know if there something i am doing wrong, i am getting many errors in dart file, i was going to fix those, but i want to be sure my impl of c++ is correct before moving on to dart fully

Ok, I will take a look.

thank you for the mentioned fixes, i am not stuck in dart some function params i cant understand, and ffi size and the other size are confusing me. can you check and point me to the right direction?
after fixing dart file will make the test cases to make sure all is implemented and good to go

ffi.Size actually represents sizt_t, i.e., platform specific integers, I remember that ony several functions use it. so just ignore it.
cv::Size was wrapped with a struct in c header, and in dart it used to be typedef Size=(int, int), now it is wrapped with a class, but in order to keep compatibility, most functions were kept using (int, int).
Hope the above informations can help you. Also, please let me know if you have any suggestions.😄

ffi.Size actually represents sizt_t, i.e., platform specific integers, I remember that ony several functions use it. so just ignore it.
cv::Size was wrapped with a struct in c header, and in dart it used to be typedef Size=(int, int), now it is wrapped with a class, but in order to keep compatibility, most functions were kept using (int, int).
Hope the above informations can help you. Also, please let me know if you have any suggestions.😄

well i think thats the right way to do it, so all good, if i found a better way will let you know even though i think you did the best way
will wait for you to check the current dart impl, i always get lost with pointers and ref so sometimes as you can see i fail to do it correctly

I will check them later, but I am still considering how to organize async APIs, for functions they can be placed in a new file and it's fine, but for classes like HOGDescriptor, only one class name is allowed in dart, if sync and async are split to TWO files (like the objdetect_async.dart now), users have to import them separately.
So, the best solution I can think of is that, for functions, split to TWO files, but for classes, split every/several class to a single file and place sync and async in one class (one file), e.g., split HOGDescriptor to hogdescriptor.dart, and implement both sync and async inside it.
If you have better solutions, let's discuss it.
BTW, another solution is to split to different packages, like opencv_core, opencv_dnn, opencv_imgproc, etc., but it's laborious...

I will check them later, but I am still considering how to organize async APIs, for functions they can be placed in a new file and it's fine, but for classes like HOGDescriptor, only one class name is allowed in dart, if sync and async are split to TWO files (like the objdetect_async.dart now), users have to import them separately.
So, the best solution I can think of is that, for functions, split to TWO files, but for classes, split every/several class to a single file and place sync and async in one class (one file), e.g., split HOGDescriptor to hogdescriptor.dart, and implement both sync and async inside it.
If you have better solutions, let's discuss it.
BTW, another solution is to split to different packages, like opencv_core, opencv_dnn, opencv_imgproc, etc., but it's laborious...

different packages will be alot of work and i dont think its needed
lets think about which will be easier for the users
do you want them to be same class name? cant we do it like this
      cascade_classifier.dart       // Sync version
      cascade_classifier_async.dart // Async version

with classes being
class CascadeClassifier
class CascadeClassifierAsync

i think the separation will make it easier to maintain and use, but the problem that sync and async cant be used in the same class, like if an instance got created async user cant use sync methods, is that a use case we should cover

I personally think we should, I will be inflexible if users have to import both sync and async version of the same API. so keep sync and async available in same class name is better.

cascade_classifier.dart        // Main class
cascade_classifier_sync.dart   // Sync methods
cascade_classifier_async.dart  // Async methods

Oh, this looks better, I will test it in-depth.
Thanks for your insightful suggestions!

thank you for the example, i was able to fix most of the errors only one remains since it returns 4 params and there is no run_async4

i added runasync4 and fixed the error, should i implement test cases or wait for you to have a look?

Should I free values coming from callbacks too?

Should I free values coming from callbacks too?

Yes, they are pointers, but only for primitive types like int, float, double, etc., for structs like Mat, Size, VecPoint etc., corresponding dart classes will be created using .fromPointer() constructor, so the created instance will manage the memory in later operations.

https://github.com/rainyl/opencv_dart/blob/b966c6eb0e9ee580a046bd9a99d312756c76b36f/lib/src/core/base.dart#L186-L202
You can refer to the impl in #117 , if only one value will be returned, we can simplify the onComplete by reusable functions like intCompleter, matCompleter, vecPointCompleter etc., I have moved matCompleter to mat.dart, vecPointCompleter to point.dart, etc., you can copy those files to use them.

https://github.com/rainyl/opencv_dart/blob/b966c6eb0e9ee580a046bd9a99d312756c76b36f/lib/src/core/base.dart#L186-L202
You can refer to the impl in #117 , if only one value will be returned, we can simplify the onComplete by reusable functions like intCompleter, matCompleter, vecPointCompleter etc., I have moved matCompleter to mat.dart, vecPointCompleter to point.dart, etc., you can copy those files to use them.

i didnt use those, i think we can migrate to it after this is working and test cases are implemented so when we migrate nothing breaks

for line length this is the only fix i found https://github.com/dart-lang/dart_style/issues/918#issuecomment-2041518288

for line length this is the only fix i found dart-lang/dart_style#918 (comment)

I really do not want to commit settings.json, according to this comment,

https://github.com/dart-lang/dart_style/issues/918#issuecomment-2036687775

I have added format to pre-commit to format the line length to 110, now the format will run before git commit, you may need to add the formatted files and commit again, although kind of fussy, it's the best solution for now I think.

add precommit script

is the script ran automatically? since i dont think so, i had to run it manually

add precommit script

is the script ran automatically? since i dont think so, i had to run it manually

I forgot that git won't commit hooks, maybe add a github action to format code is better, will be resolved later.

async constructors is done too

should tests be separated or the same files test sync and async?

should tests be separated or the same files test sync and async?

The separated way is better for maintenance, but I am just lazy so placed them in one file, do as what you like.

I see you implemented the objdetect tests, so I should just implement the dnn one?

Yes, I just have some free time so finished it, you can implement the tests for dnn

Yes, I just have some free time so finished it, you can implement the tests for dnn

Ok, will do it, just a question why is the callback API not blocking and the normal calls blocking, even though both run the same c code instead of returns it calls the callback?
Can you explain it more to me, I see that flutter does it the same for java platform interface for async tasks too, but why it's not blocking
Will appreciate if there is a reference

Ok, will do it, just a question why is the callback API not blocking and the normal calls blocking, even though both run the same c code instead of returns it calls the callback?
Can you explain it more to me, I see that flutter does it the same for java platform interface for async tasks too, but why it's not blocking

It's basically the credits to NativeCallable.listener, this API provided by dart::ffi also uses SendPort and ReceivePort internally, and it ensures the callback will be called in the future at the same isolate where the callback was created, and the pointers will be passed to that isolate too, so we can consume the pointers in that isolate.
However, because the pointers are unsendable across isolates, so if a Mat is constructed inside an isolate, it still can't be sent to another isolate, e.g., the following is ERROR:
import 'dart:isolate';

import 'package:opencv_dart/opencv_dart.dart' as cv;

void main(List<String> args) async {
  final im = await Isolate.run<cv.Mat>(() async => cv.imreadAsync("test/images/circles.jpg"));

  print(im.shape);  // ERROR!
}

However, because the callback will be called in the future, so it won't block the current/main isolate, with async/await, main isolate can process other instructions, for Flutter, this will NOT block main/UI thread so the app is still interactive.

wow, interested to see if it can use multicores or not, but in most cases async is much better due to its simple usage vs isolates, but will need to further test it
i added dnn_test but mat operations needs to be migrated to async
ones i need but not migrated
minMaxLoc

convertTo

i guess that should be the next step migrating core.h and core.cpp to async

i added dnn_test but mat operations needs to be migrated to async ones i need but not migrated
minMaxLoc

convertTo

i guess that should be the next step migrating core.h and core.cpp to async

Yes, they are next steps, for now just kepp using sync version.

done, i am missing the models, so i cant test the code, dont you think a script to download all the needed models and running the tests is needed? also i workflow to make sure all tests are passing, since i cant find it (correct me if it does exist )

The models are located at https://github.com/rainyl/opencv_dart/releases/tag/dnn_test_files, the coverage workflow will download them, so don't worry~
BTW, I have fixed some string conversion issues, now I think it's time to merge

Let me know what you plan to work on, so I work on something else, if you want to give me a module I don't mind
I learned alot of ffi doing this so I am enjoying the learning experience and your explanation is awesome so thank you very much.

Let's open new issues to track and assign them.


Unable to login to dashboard with the token generated based on karmada-dashboard service account

What happened:
Failed to log in to karmada dashboard with the error failed to login, please try again.
 with the token generated using the karmada-dashboard service account.
What you expected to happen: Being able to log in to karmada dashboard successfully
How to reproduce it (as minimally and precisely as possible):

Deploy Karmada dashboard using the Helm chart in this repo.
Use kubectl port-forward to forward traffic from localhost to the frontend pod karmada-dashboard-web-, for example localhost:8080
Retrieve a token based on the karmada-dashboard service account using the following command:

kubectl create token karmada-dashboard -n karmada-system --kubeconfig <path-to-karmada-host-config>

Open localhost:8080 in browser
Paste the output token into the token input box

Anything else we need to know?:
The response for the POST /api/v1/login call had status 200 but the response body is:
{"code":500,"message":"MSG_LOGIN_UNAUTHORIZED_ERROR","data":null}

It is not very intuitive to see 200 response status with a 500 code in the response body, and I am not able to tell what exactly the error is from this message.
I was not able to find any more related log in either the web pod or the api pod. Perhaps we should add more logging to karmada dashboard for easier debugging?
I'm glad to contribute if we can locate the root cause of this error.
Environment:

Karmada version: An internal fork of Karmada 1.11 but we only changed scheduler and estimator, which should not affect the behavior of karmada dashboard.
Karmada Dashboard version: Latest version as of 12/18/2024
Others:

After digging into the code I believe the error was thrown here: https://github.com/karmada-io/dashboard/blob/8ed77bdb48d05e15696c2245215c29dc82c4c3d1/pkg/client/auth.go#L55.
The root cause is here: https://github.com/karmada-io/dashboard/blob/8ed77bdb48d05e15696c2245215c29dc82c4c3d1/pkg/client/auth.go#L74-L75.
extractBearerToken(header) has already trimmed the Bearer prefix while the second line checks again if the token has a Bearer prefix, causing the strings.HasPrefix call to always return false.
I'm happy to put in a fix if you find that this is indeed a bug. Thanks!

cc @warjiang Could you please take a look?

After digging into the code I believe the error was thrown here:
https://github.com/karmada-io/dashboard/blob/8ed77bdb48d05e15696c2245215c29dc82c4c3d1/pkg/client/auth.go#L55
.
The root cause is here:
https://github.com/karmada-io/dashboard/blob/8ed77bdb48d05e15696c2245215c29dc82c4c3d1/pkg/client/auth.go#L74-L75
.
extractBearerToken(header) has already trimmed the Bearer prefix while the second line checks again if the token has a Bearer prefix, causing the strings.HasPrefix call to always return false.
I'm happy to put in a fix if you find that this is indeed a bug. Thanks!

Thanks for diving into the code. You're right, but the code strings.HasPrefix(header, authorizationTokenPrefix) checks header instead of token.
I think the problem is that you generate the token with the karmada-host context in kubeconfig file(maybe the karmada-host is the default active context in your local kubeconfig file), you can regenerate the token with karmada-apiserver context like kubectl create token karmada-dashboard -n karmada-system --kubeconfig <path-to-karmada-host-config> --context <context-name-for-karmada-apiserver>

Thanks @warjiang for your quick response.
You're right, I missed the difference between the two arguments. Thanks for catching!
I'm a bit confused about the command you suggested here - the karmada-dashboard service account exists in the karmada-system namespace on the karmada-host cluster but not in the karmada api server, so if I specify --context <context-name-for-karmada-apiserver> wouldn't it complain that the service account cannot be found?

I got your problem,  something wrong with the helm chart, because you install the karmada-dashboard with the karmada-host context. But the karmda-dashboard serviceaccount should not be installed in the karmada-host context, it should be installed in the karmada-apiserver context. It seems that we should find a suitable way to make some resources be installed in the karmada-host context, some resources be installed in karmada-apiserver context.

Got it. Thanks a lot for the explanation! In this case the helm chart does need to be a bit tricky since we are essentially targeting different api servers.. A potential solution I can think of is to have a one-off pod where we mount a secret that contains the kubeconfig of the karmada-apiserver (which is the case in our environment), and make the pod run a script to apply the service account into the karmada-apiserver using this kubeconfig. It is just a rough idea and would like to know if there are any other good approaches.

Awesome! I will close this issue since we have figured out a solution. Thanks a lot for the help!


Statistics are always accessible even if are restricted to administrator

Describe the bug
Currently the dspace statistics are always accessible even if are restricted to administrator by using the REST configuration usage-statistics.authorization.admin.usage=true
To Reproduce
Steps to reproduce the behavior:

on rest side set usage-statistics.authorization.admin.usage to true. (currently on dspace 7 rest demo is configured to true)
on angular application the statistics menu should not appear if you're not logged-in as administrator, while now it is not so
on angular application the statistics page should not be accessible if you're not logged-in as administrator, while now it is not so

Expected behavior
If the usage-statistics.authorization.admin.usage is true and you're not logged-in as administrator the statistics menu and page should not be accessible.
Moreover the /server/api/statistics/viewevents should return a 403 status

@tdonohue
A possible solution could be to implement on rest side a canViewStatistics feature to use on fornt-end side to decide if statistics can be accessible or not.
Moreover the server/api/statistics should be fixed in order to return 403 when statistics can't be accessible.
Estimation is about 6hours on rest side and 4hours on angular side


Warning if component template contains comments

Version
3.0.0-alpha.10
Reproduction link
https://codepen.io/a631807682/pen/KKpEexa?editors=1011
Steps to reproduce
Open the link and see the console.
What is expected?
Work like vue2.x https://codepen.io/a631807682/pen/yLNwEQb?editors=1011
What is actually happening?
Warning in console
[Vue warn]: Extraneous non-props attributes (onClick) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.

Although it's not very important to me, I have many ways to avoid it, but it looks like a bug.

This is not a bug, just a warn in DEV
because when you use multiple children template, the vue will wrap a Fragment around it.

This is not a bug, just a warn in DEV
because when you use multiple children template, the vue will wrap a Fragment around it.

There are two nodes in the example, one is the comment and the other is the element, and I think in this case the user wants to pass attributes to the element node, rather than remove comments or wrap them.


[BUG] Word docx failing embedding

Description
Embeddings are failing for Word docx format.
The unstructured loader/reader gives an error.
This is using nomic-embed-text
Reproduction steps
1. In UI, select "Click to Upload" and attach local Word docx
2. Select "Upload and Index"
3. see

Screenshots
![DESCRIPTION](LINK.png)

Logs
Using reader <kotaemon.loaders.unstructured_loader.UnstructuredReader object at 0x7f984bfba020>
No module named 'unstructured'
Traceback (most recent call last):
  File "/media/justin/external/CodeReady/venv-external/lib/python3.10/site-packages/ktem/index/file/pipelines.py", line 795, in stream
    file_id, docs = yield from pipeline.stream(
  File "/media/justin/external/CodeReady/venv-external/lib/python3.10/site-packages/ktem/index/file/pipelines.py", line 642, in stream
    docs = self.loader.load_data(file_path, extra_info=extra_info)
  File "/media/justin/external/CodeReady/venv-external/lib/python3.10/site-packages/kotaemon/loaders/unstructured_loader.py", line 70, in load_data
    from unstructured.partition.auto import partition
ModuleNotFoundError: No module named 'unstructured'

Browsers
No response
OS
Linux
Additional information
No response

The module named 'unstructured' might not be installed. You can install it using pip: pip install unstructured.

Hmm, OK I installed unstructured.  It was indeed not installed.  Now there's a different error that blocks the indexing.
It may be faster to reinstall but I've had installation issues: https://github.com/Cinnamon/kotaemon/issues/425


simplifying the way we pass in properties to the plugin

@pedrolis @cairesvs @ericzumba adding termination behavior parameter and using project.ext.properties instead of project.properties since those properties only contain the ones we pass using switches, the project.properties map contain all properties for a project
oh i'm also bumping the version ;)

:+1:

@ericzumba @pedrolis @cairesvs refactored logic so that 5 minute startup limit is applied per instance and added rollback feature where instances are killed if an exception is thrown during instance/instances initialization

:+1:


chore(package): update rollup to version 0.45.0

Closes #132

Codecov Report

Merging #133 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #133   +/-   ##
=======================================
  Coverage   83.53%   83.53%
=======================================
  Files           1        1
  Lines         164      164
=======================================
  Hits          137      137
  Misses         27       27

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 579a11b...5abccbf. Read the comment docs.


Add SWIFT_VERSION in podspec

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

@busce This should not be needed if you use Swift 3.0 in your test target and the latest CocoaPods 1.1.0 RC which is a requirement for Xcode 8.


Revamped contributing section of documentation

Contributing section of documentation revamped. Made it more thorough and detailed.

I'm not a fan of the whole new backend guide setup. I don't see why we need this whole new structure. The old one was fine in my opinion, Also, why is there now a contributing directory? Those pages aren't only for contributing info. As the project moves forward, we'll add data on general frontend/backend stuff as well.

We can add those in more specific pages, rather than cramming it into a single page. We shouldn't mix up contributors and users.

I'm not a fan of the whole new backend guide setup. I don't see why we need this whole new structure. The old one was fine in my opinion, Also, why is there now a contributing directory? Those pages aren't only for contributing info. As the project moves forward, we'll add data on general frontend/backend stuff as well.

We can add those in more specific pages, rather than cramming it into a single page. We shouldn't mix up contributors and users.

That section isn't targeted solely to contributors, it's targeted towards anyone who wants to see how the project works. And if they're reading those docs, it's likely that they are interested.


feat: change signature of isMissingFeature$ in license service

BREAKING CHANGE: The GioLicenseService+isMissingFeature$ signature is modified to accept the feature as a string parameter instead of LicenseOptions object.
Issue
https://github.com/gravitee-io/issues/issues/XXXXX
Description
A small description of what you did in that PR.
Additional context

🧪  Gravitee.io Automatic Prerelease @gravitee/ui-particles-angular
npm install<EMAIL_ADDRESS>
yarn add<EMAIL_ADDRESS>

🧪  Gravitee.io Automatic Prerelease @gravitee/ui-policy-studio-angular
npm install<EMAIL_ADDRESS>
yarn add<EMAIL_ADDRESS>

📚  View the storybook of this branch here

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Event Hubs Checkpoint store Tables] Normalize names

Packages impacted by this PR
@azure/eventhubs-checkpointstore-table
Issues associated with this PR
N/A
Describe the problem that is addressed by this PR
The names should be normalized to work across languages.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
N/A
Are there test cases added in this PR? (If not, why?)
N/A
Provide a list of related PRs (if any)
N/A
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

Closing for lack of table stores in other languages.


WASM functions provide useless/misleading error messages

With this setup:
Kptfile
apiVersion: kpt.dev/v1
kind: Kptfile
metadata:
  name: kpt
  annotations:
    config.kubernetes.io/local-config: "true"
info:
  description: this package provides the parent package for your application
pipeline:
  mutators:
    - image: gcr.io/kpt-fn/starlark:v0.4.3
      configPath: starlarkconfig.yaml

resources.yaml
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: bucket-read-write-by-service-account-diogotuesday274
  namespace: bb8-tuesdayds

starlarkconfig.yaml
apiVersion: fn.kpt.dev/v1alpha1
kind: StarlarkRun
metadata:
  name: apply-team-name-to-iampolicymember
source: |
  team = ctx.resource_list["functionConfig"]["params"]["team"]

A kpt fn render . --allow-alpha-wasm results in the following error:
Package "kpt2":
[RUNNING] WASM "eu.gcr.io/xxx/starlark:unstable"
panic: ValueOf: invalid value

goroutine 6 [running]:
syscall/js.ValueOf({0xf0c60, 0x165d4b0})
	/usr/local/go/src/syscall/js/js.go:208 +0xf7
syscall/js.Value.Set({{}, 0x7ff8000100000012, 0x15ba4f0}, {0x1fbbd4, 0x6}, {0xf0c60, 0x165d4b0})
	/usr/local/go/src/syscall/js/js.go:303 +0x8
syscall/js.handleEvent()
	/usr/local/go/src/syscall/js/func.go:95 +0x27
[FAIL] "eu.gcr.io/xxx/starlark:unstable" in 0s
Error: invalid resource list output from wasm library; got "s(<nil>"
 %!q(<nil>)

This error is not usable.
Contrast this with running the same setup, with the docker version of the starlark function:
Package "kpt2":
[RUNNING] "gcr.io/kpt-fn/starlark:v0.4.3"
[FAIL] "gcr.io/kpt-fn/starlark:v0.4.3" in 400ms
  Results:
    [error]: key "params" not in dict
  Stderr:
    "WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested"
    "failed to evaluate function: error: function failure"
  Exit code: 1

The error key "params" not in dict is no where to be found in the wasm versions error message.

Correct me if I'm wrong, but it would seem that when porting the functions to wasm, there are some issues in the used boilerplate that causes these terrible error messages. The first one I'm fairly confident on is mixing return types:

func resourceListProcessorWrapper() js.Func {
	// TODO: figure out a better way to surface a golang error to JS environment.
	// Currently error is surfaced as a string.
	jsonFunc := js.FuncOf(func(this js.Value, args []js.Value) interface{} {
		if len(args) != 1 {
			return "Invalid number of arguments passed"
		}
		input := args[0].String()
		applied, err := executeStarlark([]byte(input))
		if err != nil {
			return fmt.Errorf("unable to process resource list:", err.Error())
		}
		return string(applied)
	})
	return jsonFunc
}

While our jsonFunc can return interface{}, it seems that we currently don't tolerate the situation when we return an Error, resulting in panic: ValueOf: invalid value. Instead, if we return the Error as a string, things work a bit more smoothly:
Package "kpt2":
[RUNNING] WASM "starlark-wasm"
[FAIL] "starlark-wasm" in 0s
Error: &{unable to process resource list:
error: function failure}

Cool! So while we don't have the real error key "params" not in dict, we no longer get a weird panic (from wasmtime?) and clearly get the traditionally stderr output of our function function failure.
Next step would be extracting the real error, which I'm guessing needs to be retrieved via resourceList.

Returning multiple values when using wasmexec doesn't seem possible. Working around the issue by introducing a function specifically to retrieve resourceList, which kpt can then use to extract any errors from results.
func run() error {
	resourceList := ""
	// Register js function processResourceList to the globals.
	js.Global().Set("processResourceList", resourceListProcessorWrapper(&resourceList))
	// Provide a second function that serves purely to also return the resourceList,
	// in case of the above function failihng.
	js.Global().Set("processResourceListErrors", resourceListProcessorErrors(&resourceList))
	// We need to ensure that the Go program is running when JavaScript calls it.
	// Otherwise, it will complain the Go program has already exited.
	<-make(chan bool)
	return nil
}

func executeStarlark(input []byte) ([]byte, error) {
	return fn.Run(fn.ResourceListProcessorFunc(starlark.Process), []byte(input))
}

func resourceListProcessorWrapper(resourceList *string) js.Func {
	jsonFunc := js.FuncOf(func(this js.Value, args []js.Value) any {
		if len(args) != 1 {
			return "Invalid number of arguments passed"
		}
		input := args[0].String()
		applied, err := executeStarlark([]byte(input))
		if err != nil {
			*resourceList = string(applied)
			return "unable to process resource list: " + err.Error()
		}
		*resourceList = string(applied)
		return string(applied)
	})

	return jsonFunc
}

func resourceListProcessorErrors(resourceList *string) js.Func {
	jsonFunc := js.FuncOf(func(this js.Value, args []js.Value) any {
		return *resourceList
	})
	return jsonFunc
}

Alternatively, the second function I introduced could return the actual error message.
That said, I think that's cleaner, so I'll iterate on that approach.

Thanks again!


ARROW-14033: [Ruby][Doc] Add macOS development guide for Red Arrow

Could you move this to ruby/red-arrow/README.md because this describes only Red Arrow?
If we add this to ruby/README.md, we should describe other gems such as Red Parquet too.

I made a mistake...
I moved this to ruby/red-arrow/README.md!

Thanks!!


Make type checking enabled a default in deployer.

This PR introduced type checking to deployer as opt in https://github.com/aws-amplify/samsara-cli/pull/437 .
We should make it enabled by default by GA and opt out. Or perhaps mandatory parameter.
Related to: https://github.com/aws-amplify/samsara-cli/issues/358

Finalized in https://github.com/aws-amplify/amplify-backend/pull/543
and https://github.com/aws-amplify/amplify-backend/pull/706


Feature request: Adding Box86 and Gl4es to Arkos to allow running linux 32bit aplications

Is this for a emulation need? If so, what emulation?

Closing as this is related to ports which I am not working on for now or the foreseeable future.  You may want to check Anberports for this.


[path_provider] cause an error related to "kotlin-stdlib-jdk" when building the APK

Flutter version: 3.3.8
OS: Ubuntu 20.04.5 LTS x86_64
NOTE: Removing the path_provider from pubspec.yaml will resolve the issue and the build will complete normally.
Steps to Reproduce

create a new flutter project
add path_provider to pubspec.yaml file
Execute flutter pub upgrade
Execute flutter clean (make sure to run this before any flutter build)
Execute flutter build apk --split-per-abi

The output of flutter pub upgrade

Resolving dependencies...
async 2.9.0 (2.10.0 available)
boolean_selector 2.1.0 (2.1.1 available)
characters 1.2.1
clock 1.1.1
collection 1.16.0 (1.17.0 available)
cupertino_icons 1.0.5
fake_async 1.3.1
ffi 2.0.1
file 6.1.4
flutter 0.0.0 from sdk flutter
flutter_lints 2.0.1
flutter_test 0.0.0 from sdk flutter
lints 2.0.1
matcher 0.12.12 (0.12.13 available)
material_color_utilities 0.1.5 (0.2.0 available)
meta 1.8.0
path 1.8.2 (1.8.3 available)
path_provider 2.0.11
path_provider_android 2.0.22
path_provider_ios 2.0.11
path_provider_linux 2.1.7
path_provider_macos 2.0.6
path_provider_platform_interface 2.0.5
path_provider_windows 2.1.3
platform 3.1.0
plugin_platform_interface 2.1.3
process 4.2.4
sky_engine 0.0.99 from sdk flutter
source_span 1.9.0 (1.9.1 available)
stack_trace 1.10.0 (1.11.0 available)
stream_channel 2.1.0 (2.1.1 available)
string_scanner 1.1.1 (1.2.0 available)
term_glyph 1.2.1
test_api 0.4.12 (0.4.16 available)
vector_math 2.1.2 (2.1.4 available)
win32 3.1.2
xdg_directories 0.2.0+2
No dependencies changed.
12 packages have newer versions incompatible with dependency constraints.
Try flutter pub outdated for more information.

My build.gradle

build.gradle
buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 33

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.doors.app"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

The classpath error
Running "flutter pub get" in hello_proj...                         894ms

💪 Building with sound null safety 💪

w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10/e80fe6ac3c3573a80305f5ec43f86b829e8ab53d/kotlin-stdlib-jdk8-1.6.10.jar (version 1.6)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.7.10/d2abf9e77736acc4450dc4a3f707fa2c10f5099d/kotlin-stdlib-1.7.10.jar (version 1.7)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar (version 1.7)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath
e: /home/nidal/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.5.0/857678d6b4ca7b28571ef7935c668bdb57e15027/annotation-1.5.0.jar!/META-INF/annotation.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1.
e: /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.7.10/d2abf9e77736acc4450dc4a3f707fa2c10f5099d/kotlin-stdlib-1.7.10.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1.
e: /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1.
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10/e80fe6ac3c3573a80305f5ec43f86b829e8ab53d/kotlin-stdlib-jdk8-1.6.10.jar (version 1.6)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar (version 1.6)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.7.10/d2abf9e77736acc4450dc4a3f707fa2c10f5099d/kotlin-stdlib-1.7.10.jar (version 1.7)
   /home/nidal/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar (version 1.7)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath
Running Gradle task 'assembleRelease'...                           88.8s
✓  Built build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (5.5MB).

@exaby73
In your app/build.gradle change jdk7 to Java jdk8
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

So it will not complain about kotlin-stdlib-jdk8-1.5.30.jar(version 1.5)
The conflict will be between:
kotlin-stdlib-jdk7-1.6.10.jar (version 1.6) and kotlin-stdlib-common-1.7.10.jar (version 1.7)

/cc @reidbaker
The issue here is that we updated a dependency (via Dependabot) to a version that turns out to want some newer versions of things than we have in the template. We should

update the template (or if not, consider downgrading the dependency in path_provider, but I would prefer not to do that), and
figure out how to better test for this in flutter/plugins. E.g., why doesn't build_all_plugins fail in the flutter/plugins CI, since it's doing something close to the repro steps here? Is it due to edits the tooling makes to the generated app?

@stuartmorgan
Just a side note...
If you try to rebuild the app without executing the flutter clean command.
The build will run without any errors!
I do not know why but when you run flutter clean and then flutter build the error will appear.
that's why I made it clear that we need to run flutter clean before any flutter build

Execute flutter clean (make sure to run this before any flutter build)

And as for now, is there any workaround?
Thanks.

Hello @Nidal-Bakir
Try this (see my comment): https://github.com/flutter/flutter/issues/115477#issuecomment-1346678524

@MrMineToons
Thanks, its working now!
Closing based on the above comment.

@stuartmorgan I am reopening this issue based on https://github.com/flutter/flutter/issues/116659#issuecomment-1343352828. If you wish to close this issue, perhaps your proposals could be extracted to a new issue


[android_alarm_manager] is it supported for iOS platform?

Is that plugin supported for the iOS platform? Because I don't see the configuration for iOS.

Hi @rrifafauzikomara
As the name of the package suggests, this is just for Android only. Hence no iOS configuration
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

Hi @TahaTesser
Thank's for the answer, in my real problem, I need scheduling task with specific date-time (like the task will be execute every 9 PM) and also support for Android and iOS. On Android, I found android_alarm_manager with created by the flutter team, how about on iOS? Does the flutter team provide it like android_alarm_manager? If yes, what the package? if no, what the solution for my case?
I also already looked out to these packages workmanager and background_fetch. But on their package not supported scheduling task with specific date-time, on their package only support basic background task with delay and periodic. But I need scheduling task like oneShotAt method from android_alarm_manager.

Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Thank you

Yeah, I already ask on Stack Overflow (here) and also googling but still not get references. So I create an issue here to ask if the flutter team has other packages like android_alarm_manager but support for iOS. But after I create this issue, I know that the flutter team only provides for Android, iOS not. Thank's!


Feature: OutlookGridGroup Backcolor property

Hello,
I would like to request a new feature for the OutlookGridGroup:
A Backcolor Property.
I have tried to implement such a feature. (see https://github.com/richterAl/Krypton-Toolkit-Suite-Extended-NET-5.472/tree/feature/GroupBackColor)
But I think it is better to have the type PaletteBack instead of Color.
But I was not able to implement this property using this type.

Transferred

I think to use it IPalette needs to be used.

https://wagnerp.github.io/Krypton-NET-5.470/Help/Output/api/ComponentFactory.Krypton.Toolkit.PaletteBack.html

I solved my problem.
I didn't recognize the SetInherit member of PaletteBack.


FOR REVIEW ONLY - indexer 2.9.0

Content
Contract to contract support
Added:

Support StateProof keys. (#778)
Return Inner and Root transactions for nested logs support in C2C calls (#820)

Changed:

block-generator: Improve payment algorithm to allow sending many more transactions. (#864)
Include import-validator as a hidden algorand-indexer subcommand. (#871)
Update go-algorand submodule to latest C2C changes (#874)
Fix log permissions to not be executable. (#880)
Re-enable e2e test. (#881)
Update submodule to head of rel/beta (#882)

Codecov Report

Merging #883 (602f2da) into master (5a44121) will increase coverage by 0.48%.
The diff coverage is 78.04%.

@@            Coverage Diff             @@
##           master     #883      +/-   ##
==========================================
+ Coverage   58.54%   59.02%   +0.48%
==========================================
  Files          37       37
  Lines        4407     4425      +18
==========================================
+ Hits         2580     2612      +32
+ Misses       1514     1499      -15
- Partials      313      314       +1

Impacted Files
Coverage Δ

cmd/block-generator/generator/generate.go
59.60% <61.53%> (+0.84%)
:arrow_up:

cmd/algorand-indexer/main.go
28.71% <66.66%> (+1.44%)
:arrow_up:

idb/postgres/postgres.go
49.36% <70.00%> (+0.10%)
:arrow_up:

api/converter_utils.go
91.85% <100.00%> (+0.97%)
:arrow_up:

api/handlers.go
72.87% <100.00%> (+1.77%)
:arrow_up:

cmd/block-generator/generator/make_transactions.go
100.00% <100.00%> (ø)

idb/idb.go
58.53% <100.00%> (+7.31%)
:arrow_up:

idb/postgres/internal/writer/write_txn.go
79.38% <100.00%> (ø)

util/util.go
57.14% <0.00%> (-1.20%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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


nanoc thinks unmodified files are modified on Windows

When compiling my site nearly all items are re-compiled, even if no files have been touched. This makes autocompile unusable, since it recompiles on every file being served! Notably, only binary and css files seem to be considered unmodified (if they aren't).
I'm using Windows 7 64-bit, but ddfreyne did not have this issue in OS X building the same site.
Site I'm creating is: https://github.com/Spooner/spooner.github.com/tree/generator (master branch is the uploaded site itself). The site does have a lot of cross-referencing, so any changes will require re-compiling most of it; my complaint, however, is that it is recompiled even if there have been not changes to /content/
Output from nanoc compile/debug: https://gist.github.com/1444523

Curiouser and curiouser! Tried both sites on Linux and they behaved in the same way (nanoc site recognises not modifier; my site doesn't). My Linux is running in a VM and accessing the projects Windows disk, but since the nanoc site works correctly, it can't be that which is the problem in this case.

More curious is that I cannot reproduce the issue with your site on Windows either. I'm continuing my investigation…

Does the problem persist if you remove tmp/ and output/ and recompile? I am getting the feeling that something in tmp/ became corrupted and is causing unnecessary recompilation.

One uniqueness on my machine is that my output folder is a different branch of my project (the master branch), so it has a .git folder in there. That is there, whether I'm compiling on Windows or Linux.
Removing output/ doesn't have any effect; I've tried that before.
Removing all caches and output at the same time (output/, tmp/ and .sass-cache/) corrects the error! Sorry, I really thought I'd tried already because I had considered corruption to be the problem. All files are now correctly skipped when there weren't changes. Sorry that I wasted your time in checking it!

The .git folder should not have an impact on compilation. It would only have an impact if it were in content/ or layouts/ or so.
It’s good to know that removing tmp/ fixes the problem, but it does indicate the data got corrupted and that should obviously not happen. Do you have a backup of the broken tmp/ directory? I’d like to take a look at it. I do realise that the chance of you still having it are extremely small. :)

No, I didn't keep the tmp/ directory; sorry!
I suspect that the problem might have been caused by attempting to use autocompile/watch and/or compile at the same time, but I haven't a clue really (I was testing all the methods early on to work out which was most efficient - both then and now, watch/view seems to be best).

If you encounter the problem again, let me know and send me a copy of the site so that I can investigate. :)

Happened again, even though I was trying hard not to compile in parallel, which is what I thought caused this last time (actually happened a couple of times): http://cl.ly/000U2p0i053c2B320d2T (zip of tmp)

The root cause of this issue is something quite different and manifests itself quite often but rarely causes issues. This happens on all platforms, not just Windows.
When an item I is laid out with a layout L, a dependency from I onto L will be created. When L includes content from the item being laid out (e.g. <%= item[:title] %>) a dependency from L onto I will be created as well. The latter is incorrect: a layout should (as I see it now) not have a dependency on the actively compiled item, but any other items or layouts it accesses should cause a dependency to be created.
Sadly, there’s no trivial fix for this. :(

What's the use case for layouts depending on items? The closest I can think of is that during a partial compile, a layout drags in a totally new dependency, and you want that to trigger an recompile of all items that depend on the layout. Otherwise you would imagine just having all dependencies originate from the currently compiling item would solve your issues.
To make this concrete: The typical use case for having layouts with dependencies is probably a layout that links to the most recent N blog posts. Presumably there's nothing in the dependency graph that supports "depend on anything with kind:article", so you want to make sure that every time the most recent N posts change, everything that depends on that layout gets recompiled.
The problem is that such a dependency system is best-effort anyways: if the layout doesn't get triggered during a particular compile, then its dependencies won't update and you won't get correct output. For example, what if the layout is only used on the home page? Then adding a blog post will have no effect, and the home page will get stale.
The "correct" way to handle this is to remove dependencies from layouts entirely. Then changing the items a layout reads from will never trigger updates, which is certainly more consistent than triggering updates if the layout happens to be used in a partial compile. It's hardly practical though: the 80% use case is a layout that is used for nearly every item, and if every layout is used in every partial compile, then the problem never rears its ugly head (though of course this begs the question, why even bother partially compiling in this case?).
The real root problem is that if you let layouts execute arbitrary ruby code, then a layout can depend on arbitrary state. If I call Time.now() from my base layout, should my entire site get regenerated every time I compile?

I was mistaken: layouts should never depend on items and the code doesn't generate dependencing from layouts onto other items. If an item depends on a layout which depends on an item, the former item will depend on the layout and the former item will depend on the latter item.
The actual bug (or one of the actual bugs... not sure yet) is that when creating new items, a dependency from all objects (items + layouts) onto the new object is generated, even though the dependencies should only come from items instead of both layouts and items. I haven't been able to fix this issue yet but I will do so ASAP.
The current fix implemented in master is incorrect and I will be reverting it soon.
As for introducing external state into items/layouts being compiled such as Time.now: there's no good way to prevent this in a non-pure language. I have seen people include content from external sources (such as <%= File.read(...) %>) but this should be avoided as the nanoc dependency tracker cannot cope with this.
In short, dependency handling is tricky business.

This should now be fixed in master. Here are the relevant changes if you’re interested.


Added optional args to forward to Logic

This allows the user to pass command line arguments to the logic executable, both through the Saleae constructor and through the launch_logic function.
useful arguments:
-disablepopups disables blocking popups in the application, like the "could not keep up" error.
-uploaderrors automatically accept and close the "upload error reports" dialog, if restarting the application after a crash.
example:
import saleae
s = saleae.Saleae('<IP_ADDRESS>', 10429, False, '-disablepopups -uploaderrors')
# or
Saleae.launch_logic(args='-disablepopups -uploaderrors')

Tested on MacOS!
TODO:

[x] Test on Windows
[x] Test on Linux

Travis runs on Linux, so it would be relatively easy to check off the 'Tested on Linux' box there. It looks like both of these are reasonable flags to enable for CI anyway (even if they are unlikely to be relevant without a physical device).

@ppannuto all set! There was a small snag on windows that's fixed now, and I did manual testing on Linux too, although only with Saleae.launch_logic since the logic path can't be passed through the constructor.
Also not sure how you like to take PRs, but I've assigned you as a reviewer. This should be ready to merge now.

Oops, should've read the rest of the github notifications first!
This looks good to me.
Same question: is there more stuff coming, or does it make sense to kick out a release with this and #59?


No webserver and no ipc server on console

Overview
TL;DR

IPC server is only for embark run
Avoid double call to connect in console
Remove web server from console command

Cool Spaceship Picture

Running two embark run and then running embark concole gave me this:
In Run1:
C:\dev\embark\node_modules\js-message\Message.js:38
        return JSON.stringify(
                    ^

TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)
    at Message.getJSON [as JSON] (C:\dev\embark\node_modules\js-message\Message.js:38:21)
    at Parser.format (C:\dev\embark\node_modules\node-ipc\entities\EventParser.js:21:21)
    at Server.emit (C:\dev\embark\node_modules\node-ipc\dao\socketServer.js:83:29)
    at IPC.reply (C:\dev\embark\lib\core\ipc.js:62:16)
    at reply (C:\dev\embark\lib\core\ipc.js:55:14)
    at ipc.on (C:\dev\embark\lib\core\modules\coderunner\codeRunner.js:25:7)
    at Server.<anonymous> (C:\dev\embark\lib\core\ipc.js:57:7)
    at Server.emit (C:\dev\embark\node_modules\event-pubsub\es6.js:71:21)
    at Server.gotData (C:\dev\embark\node_modules\node-ipc\dao\socketServer.js:194:14)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:246:13)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at Pipe.onread (net.js:597:20)

In Run2:
Websocket connection ended undefined
connection not open on send()
Websocket Error undefined
IPFS node is offline..
connection not open on send()
Websocket Error undefined

Tested again with only one run, still the error seen in the first run.

I confirmed with Anthony that the error is caused by using a WS provider in contracts.js

good to merge after rebase


v1.1.0

Summary of changes

Report of required housekeeping

[ ] Github issue OR spec proposal link
[ ] Wrote tests
[ ] Added a relevant changelog entry to CHANGELOG.md

(FOR ADMIN) Before merging

[ ] Added appropriate labels to PR
[ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)
[ ] Confirm added tests are consistent with the intended behavior of changes
[ ] Ensure all tests pass

Codecov Report
Patch coverage: 96.55% and project coverage change: +0.98 :tada:

Comparison is base (cca56ff) 90.12% compared to head (d0b347f) 91.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   90.12%   91.11%   +0.98%
==========================================
  Files          17       18       +1
  Lines        3099     3364     +265
==========================================
+ Hits         2793     3065     +272
+ Misses        306      299       -7

Impacted Files
Coverage Δ

contracts/dezswap_factory/src/state.rs
62.50% <ø> (ø)

packages/dezswap/src/mock_querier.rs
91.25% <83.78%> (+2.00%)
:arrow_up:

contracts/dezswap_pair/src/testing.rs
99.32% <96.61%> (-0.10%)
:arrow_down:

contracts/dezswap_pair/src/contract.rs
94.36% <96.77%> (+1.37%)
:arrow_up:

contracts/dezswap_factory/src/contract.rs
87.50% <98.36%> (-0.27%)
:arrow_down:

contracts/dezswap_factory/src/testing.rs
99.76% <100.00%> (+0.71%)
:arrow_up:

contracts/dezswap_router/src/contract.rs
97.43% <100.00%> (ø)

packages/dezswap/src/asset.rs
96.89% <100.00%> (ø)

packages/dezswap/src/util.rs
100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Limit access to dashboard with internal ip only

Possible solution:
$ cd Wireguard-Dashboard/src
$ export FLASK_APP=dashboard.py
$ export FLASK_RUN_HOST= <The ip of your wireguard interface>
$ export FLASK_ENV=development
$ export FLASK_DEBUG=0
$ flask run

Am able to run the server internally on the computer I have dedicated as the WireGuard server with a few preconditions. I need to be as root user to run it. I have to set the environment variable FLASK_RUN_HOST equal to the IP I assigned my server.
There are however some bugs in this format. I am able to start and run in production mode and access the landing page showing my 1 configuration (wg0), but when I click on it, It does not show me my peers anymore. This worked when I ran it publicly (not in the VPN) in non-production mode.
when i click the wg0 configuration it takes me to a blank page and This error is thrown at me on the server:
[2021-04-06 17:06:13,863] ERROR in app: Exception on /get_config/wg0 [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.8/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/lwaxana/Wireguard-Dashboard/src/dashboard.py", line 281, in get_conf
    "peer_data": getdb(config_name),
  File "/home/lwaxana/Wireguard-Dashboard/src/dashboard.py", line 169, in getdb
    get_conf_peers_data(config_name)
  File "/home/lwaxana/Wireguard-Dashboard/src/dashboard.py", line 93, in get_conf_peers_data
    if not db.search(peers.id == i):
  File "/usr/local/lib/python3.8/dist-packages/tinydb/table.py", line 233, in search
    docs = [doc for doc in self if cond(doc)]
  File "/usr/local/lib/python3.8/dist-packages/tinydb/table.py", line 233, in <listcomp>
    docs = [doc for doc in self if cond(doc)]
  File "/usr/local/lib/python3.8/dist-packages/tinydb/table.py", line 584, in __iter__
    for doc_id, doc in self._read_table().items():
  File "/usr/local/lib/python3.8/dist-packages/tinydb/table.py", line 634, in _read_table
    tables = self._storage.read()
  File "/usr/local/lib/python3.8/dist-packages/tinydb/storages.py", line 125, in read
    return json.load(self._handle)
  File "/usr/lib/python3.8/json/__init__.py", line 293, in load
    return loads(fp.read(),
  File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.8/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 32419 (char 32418)
<IP_ADDRESS> - - [06/Apr/2021 17:06:13] "GET /get_config/wg0 HTTP/1.1" 500 -```

@teku45 Hi could you provide what command you used? I changed my FLASK_RUN_HOST=<IP_ADDRESS> (that ip is my wg ip on my server) and have flask run and it only can be access thru connecting wireguard.

I used flask run as well and I used FLASK_RUN_HOST=<IP_ADDRESS> which is the IP of my server on the network

Hmmmm so every works well when you run publicly right, by using python3 dashboard.py ?

It looks like is something about the database. Can you try to remove the .json file under wireguard-dashboard/src/json that contained your wg conf's name? (i.e. wg0)


Add metadata to filter lists

Filter lists using the Adblock syntax can have metadata in special comments in the header. This helps identify the name of the list, its origin, refresh frequency, etc. For example:
! Title: uBlock-Origin-dev-filter
! Version: 12345
! Expires: 1 day
! Description: Filters to block and remove copycat-websites from DuckDuckGo and Google. Specific to dev websites like StackOverflow or GitHub.
! Homepage: https://github.com/quenhus/uBlock-Origin-dev-filter

One side-effect of not having this, is the lack of title after importing the uBlock-Origin-dev-filter list:

Thanks!

Thanks a lot, I looked into doing this at the beginning, but I couldn't find the way

After removing and re-adding the filter list, its name is now correctly displayed in uBlock Origin:

Thanks for the quick fix!