have no java wrapper

i want to use java program language, there is no java wrapper ？

Hi @xiaosongfu
At the moment there isn't one (at least not an official one). We might add it in later releases, based on community feedback and demand.

Thank you for your reply ^_^

It looks like @edwinRNDR is working on this: https://github.com/edwinRNDR/librealsense

Compiling works also on MacOSX if you change the gradle script and add a new target for it.
...
$.platforms.all {
    jniLibSpec.targetPlatform it.name
}

binaries.all {
    lib new JNIDependency(project)
    cppCompiler.args "-I${project.projectDir}/../../include"
    linker.args "-L${project.projectDir}/../../"
    //linker.args "-lrealsense2"

    if (targetPlatform.operatingSystem.macOsX) {
    	cppCompiler.args "-I${project.projectDir}/../../include"
        linker.args "${project.projectDir}/../../build/Debug/librealsense2.dylib"
    }

    if (targetPlatform.operatingSystem.windows) {
...

I am going to give it a try :)

@cansik Thanks. I have focussed on Windows support only, the C API (which is used by my Java wrapper) on macOS has had some issues that have recently been addressed (see: https://github.com/IntelRealSense/librealsense/issues/1586).
Let me know if you can get it to work. Proper support for macOS and linux-x64 (with portable native libraries distributed in jar files) is on my wish list but I haven't had the time to figure out the build process for those.

@edwinRNDR Compiling works and running too, after removing the absolute System.load commands and add relative ones (which target to the mac binaries too). I could create a pull request to your repository with the fixes for mac osx.
I also had the bug #1586 but could workaround it with a sleep in kotlin. My idea is to write a wrapper for processing, so it would be nice to have a final jar with all the prebuilt binaries.

@edwinRNDR I've added all my changes to the gradle build, readme and a multi-os-native library code snippet to the Native class.
The problem I am currently facing is, that the librealsense2.dylib is not automatically bundled when building everything with gradle. I could also not directly find the code in the build script where it will be bundled? Because of that I can not create the PR, because I can not test the multi-os-native-lib-loading. Could you tell me where you bundle all the dependencies?
I also would recommend that we change the name of the jar file to more descriptive name, for example: librealsense2java.jar
Here is the repository with the changes: https://github.com/cansik/librealsense/tree/master/wrappers/java

@cansik Thank you. Bundling the native libraries is currently done by hand, exactly in the way as you describe it. This is less than ideal, but I should be able to add that step to the gradle build script.
Is it OK if I merge from your repository instead of a pull request?
The name of the jar can be changed. I think it would also be easier to create a separate jar for each platform instead of a monolithic one as it is really hard to get Windows/macOS/Linux binaries in one place in a single build.

@edwinRNDR What is in your eyes the advantage of merging by hand over applying the PR? If you want to, I could remove the auto-formatting of the Native.java file.
Ok, so I will check if I can add the possibility of bundling to the build script.

@cansik Discard that :) I didn't see your pull request at the time I wrote that.

@edwinRNDR Maybe it would make sense to open the issue page on your repository, so we can discuss the next features to implement, instead always writing here. I would like to contribute more to the library, and already implemented some methods on my branch.

[Realsense Customer Engineering Team Comment]
@Xiaosong Sorry, the official release plan of java wrapper is still not clear yet. If you want to keep this open to wait for official release, we can keep it open.

Hi @dorodnic linking it is good. But a word of caution about the state of the project as I haven't been able to dedicate my time to it: The project has partial support for a likely older version of the C API and only Windows binaries are provided. It however was good enough for me to use in production; YMMV

[Realsense Customer Engineering Team Comment]
@Xiaosong As Dorodnic replied, we don't have the plan to add java wrapper in the near future. Considering this, is it Ok  for you to close the ticket at present?  You might check the release note if the feature is available later. Thanks!

wrappers#community-projects

@cansik I've found a Processing example for Windows (https://github.com/chungbwc/Magicandlove/tree/master/ml20181024b). Are you working on Mac? It would be a great to have the RealSense camera's working in Processing.

@kasperkamperman Yes, this windows example uses the prebuilt library of @edwinRNDR. I already implemented a processing version of it, you can find it here, also with the prebuilt java library for mac of the wrapper (the example code is in kotlin): realsense-processing
And I already used it in a real world project (RealSenseCamera.kt) and it worked without any problems.
I could implement a processing library in the future, but I am not sure if it's already necessary, because we can just grab the image streams, without post processing. The java wrapper is not that far yet.
For the processing library: It would be necessary to process the streams in a second thread, because we have to copy the pixels one by one to the PImage, which is really slow.

[Realsense Customer Engineering Team Comment]
@Xiaosongfu Is it ok for you to close this ticket?


Building with BaseHref plugin does not produce correct index.html

🐞 Bug report
Description
Everything works fine when building in dev mode.
However, when we build with production configuration and with scully-base-href-rewrite plugin, index.html generated from different routes all have the same content.
npm run build:prod:en
npx scully --scanRoutes

Scully config:
import {ScullyConfig, setPluginConfig} from '@scullyio/scully';
import { baseHrefRewrite } from '@scullyio/scully-plugin-base-href-rewrite';

const defaultPostRenderers = ['seoHrefOptimise', baseHrefRewrite];
setPluginConfig(baseHrefRewrite, {href: 'https://somedomain.com'});
export const config: ScullyConfig = {
  projectName: 'project name',
  outDir: './dist/static',
  defaultPostRenderers,
  routes: {
    '/cases/:id': {
      type: 'json',
      id: {
        url: 'https://someapi.com',
        property: 'id',
      },
    }
  }
};

From the console out put of running Scully, things look correct and there's no error/warnings:
Rewritten 'base href' to https://somedomain.com, for route: /cases/2523332
Route "/cases/2523332" rendered into file: "./dist/static/cases/2523332/index.html"

However, the index.html generated has incorrect content.
This is the product config in angular.json:
 "production-en": {
              .....
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "outputPath": "dist/browser/",
}

🔬 Minimal Reproduction
💻Your Environment
Angular Version:

Angular CLI: 9.1.11
Node: 12.0.0
OS: darwin x64

Angular: 9.1.12
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router, upgrade
Ivy Workspace: No

Package                                    Version
--------------------------------------------------------------------
@angular-devkit/architect                  0.901.11
@angular-devkit/build-angular              0.901.11
@angular-devkit/build-ng-packagr           0.901.11
@angular-devkit/build-optimizer            0.901.11
@angular-devkit/build-webpack              0.901.11
@angular-devkit/core                       9.1.11
@angular-devkit/schematics                 9.1.11
@angular/cdk                               9.1.0
@angular/cli                               9.1.11
@angular/flex-layout                       9.0.0-beta.31
@angular/http                              7.2.16
@angular/material                          9.1.0
@ngtools/webpack                           9.1.11
@nguniversal/builders                      9.1.1
@nguniversal/common                        9.1.1
@nguniversal/express-engine                9.1.1
@nguniversal/module-map-ngfactory-loader   8.2.6
@schematics/angular                        9.1.11
@schematics/update                         0.901.11
ng-packagr                                 9.1.5
rxjs                                       6.6.0
typescript                                 3.8.3
webpack                                    4.42.0

Scully Version:

 "@scullyio/init": "^1.1.2",
 "@scullyio/ng-lib": "^1.0.0",
 "@scullyio/scully": "^1.0.0",
 "@scullyio/scully-plugin-base-href-rewrite": "^1.1.1",

🔥 Exception or Error
All the index.htmls generated from different routes have the same and incorrect content.

Are you still having question regarding this?

Yes. We still need help on how to set up Scully correctly for the production build.
The production build happens on a Jenkin server that is currently not listed in the CSRF_TRUSTED_ORIGINS of the backend in prod. So the root cause should be that the Angular app Scully tentatively runs for pre-rendering does not have access to backend APIs in prod that is required for prerendering.
Specifically, our questions are:

Is it possible to configure Scully to pre-render the app using non-prod HTTP backend APIs with the same data as in prod, but makes the prod build still remain the correct prod settings (having rootUrl in environment.prod points to prod API. having the correct BaseHref, etc )? If yes, how?

If #1 is not possible, how to configure Scully to serve Angular app using HTTPs rather than HTTP when scanning routes? Is it done by using --ssl flag when running npx scully -scanRoutes?

When running npx scully serve --host=<IP_ADDRESS> --ssl --ssl-cert=certificate.crt --ssl-key=private.key, the non Scully version running at port 1864 works as expected. But the Scully one at port 1668 cannot work due to the below error:

Mixed Content: The page at 'https://XXXX:1668/' was loaded over HTTPS, but requested an insecure script 'http://www.googletagmanager.com/gtag/js?id=XXXXX&l=dataLayer&cx=c'. This request has been blocked; the content must be served over HTTPS.
And if understood correctly, this HTTP call is triggered from Scully:
<html lang="en" class="eventlistener localstorage sessionstorage queryselector js-focus-visible js no-touch csstransforms3d csstransitions" data-js-focus-visible=""><head><meta name="generator" content="Scully 1.1.0"> in index.html.
How to resolve these?  Thanks!

Resolved and closing this question.


[gflags] build failure with release-only build

Operating system
Linux (Fedora 39)
Compiler
GCC 13.2.1
Steps to reproduce the behavior
cp $VCPKG_ROOT/triplets/x64-linux.cmake ./x64-linux-release.cmake
echo "set(VCPKG_BUILD_TYPE release)" >> ./x64-linux-release.cmake
vcpkg install --triplet=x64-linux-release --overlay-triplets=$PWD gflags

Failure logs
Computing installation plan...
The following packages will be built and installed:
	gflags:x64-linux-release -> 2.2.2#8
Detecting compiler hash for triplet x64-linux-release...
Restored 0 package(s) from /home/adam/.cache/vcpkg/archives in 6.62 us. Use --debug to see more details.
Installing 1/1 gflags:x64-linux-release...
Building gflags:x64-linux-release...
-- [OVERLAY] Loading triplet configuration from: /home/adam/dev/gflags_repro/x64-linux-release.cmake
-- Using cached gflags-gflags-v2.2.2.tar.gz.
-- Cleaning sources at /home/adam/dev/vcpkg/buildtrees/gflags/src/v2.2.2-d9283b9285.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/adam/dev/vcpkg/downloads/gflags-gflags-v2.2.2.tar.gz
-- Applying patch 0001-patch-dir.patch
-- Applying patch fix_cmake_config.patch
-- Using source at /home/adam/dev/vcpkg/buildtrees/gflags/src/v2.2.2-d9283b9285.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux-release
-- Building x64-linux-release-rel
-- Fixing pkgconfig file: /home/adam/dev/vcpkg/packages/gflags_x64-linux-release/lib/pkgconfig/gflags.pc
CMake Error at scripts/cmake/vcpkg_replace_string.cmake:2 (file):
  file failed to open for reading (No such file or directory):

	/home/adam/dev/vcpkg/packages/gflags_x64-linux-release/debug/lib/pkgconfig/gflags.pc
Call Stack (most recent call first):
  ports/gflags/portfile.cmake:29 (vcpkg_replace_string)
  scripts/ports.cmake:170 (include)

Additional context
This looks related to the changes from #35188 (cc @dg0yt). I tested with the commit prior to this change (ce8fd9e7246969886ee31cbd76955b6d444289cb) and the build succeeds, but it fails at a44d019a38fe7217222a4780a9ed0d62691123ae.

Thanks for reporting. I guess I was too angry about pc files being completely removed ;-)
x64-linux-release exists as a community triplet. So the issue can be reproduced immediately without overlay triplets:
vcpkg install gflags:x64-linux-release


Fixed adding additional RBAC rules.

:gear: Issue
When adding additional role rules or logging role rules, the manifest it renders ends up missing a newline and always returning an error.
Error: YAML parse error on container-agent/templates/role.yaml: error converting YAML to JSON: yaml: line 15: did not find expected key helm.go:84: [debug] error converting YAML to JSON: yaml: line 15: did not find expected key
:gear: Change
Altered the toYaml section for the extra rules to use 'nindent' instead of 'indent' to introduce a newline in order to fix the formatting.
AC:
:white_check_mark: Fix
When providing additional rules, the manifest now renders as valid YAML.
:question: Tests
Ran helm template command locally and before the change it rendered and errored:
rules:
  - apiGroups: [""]
    resources: ["pods", "pods/exec", "pods/log"]
    verbs: ["get", "watch", "list", "create", "delete"]
  - apiGroups: [""]
    resources: ["secrets"]
    verbs: ["get", "list", "create", "delete"]
  - apiGroups: ["", "events.k8s.io/v1"]
    resources: ["events"]
    verbs: ["watch"] # if .Values.agent.ssh.enabled  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - create
    - update
    - delete # if $role.rules

After the change it rendered and ran correctly:
 rules:
  - apiGroups: [""]
    resources: ["pods", "pods/exec", "pods/log"]
    verbs: ["get", "watch", "list", "create", "delete"]
  - apiGroups: [""]
    resources: ["secrets"]
    verbs: ["get", "list", "create", "delete"]
  - apiGroups: ["", "events.k8s.io/v1"]
    resources: ["events"]
    verbs: ["watch"] # if .Values.agent.ssh.enabled
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - create
    - update
    - delete # if $role.rules

🗒 Documentation
N/A -- Just a bug fix

I've to push a couple additions to your changes @toran414 , mostly boiler plate stuff that should be in a contributors section of our README but isn't. Chart version updating, changelog entry, and some quick unit tests for the fix.

@toran414 Thanks for the contribution :D


Any ckeditor examples?

Are there any examples  for using this with ckeditor?

I already use Responsive file manager: https://github.com/crabstudio/app/tree/master/webroot/filemanager
Integrated to cakephp 3.x :https://github.com/crabstudio/app


Looping video

[suggested by Tim, email 11 Feb 2019] An option to allow a video to loop automatically. When the video reaches its end, playback continues from the start. The setting could be placed in the command panel. The video could be stopped at any point.

Hi Anthony,
I was wondering if there is any progress with this? We recently had a funeral (actually we have had quite a few, sadly) where the funeral director supplied a video (mp4) which was basically a slideshow set to music. My instructions were to keep it playing before and after the funeral service, which meant I had to keep watching it and restarting it each time it finished. Thanks for all your help, it is very much appreciated.


Sample name clashes without Sidx

Check that sample names don't clash when not using the s-idx numbers

if wet lab crew does proper sample naming, this shouldn't happen!


WIP: Fix Travis

Can't replicate locally so I'll have to debug iteratively.

Current coverage is 85.66% (diff: 100%)

Merging #3927 into master will increase coverage by <.01%

@@             master      #3927   diff @@
==========================================
  Files           349        349
  Lines         62107      62108     +1
  Methods           0          0
  Messages          0          0
  Branches       9510       9510
==========================================
+ Hits          53201      53202     +1
  Misses         6236       6236
  Partials       2670       2670

Powered by Codecov. Last update a94f81a...c0bcd5b

Well I didn't expect that to work, but it appears as though it did.


Typo in k4abt_joint_id_t

Describe the bug

The enum member K4ABT_JOINT_SPINE_NAVAL of k4abt_joint_id_t should be K4ABT_JOINT_SPINE_NAVEL since it's referring to the navel.
To Reproduce

Go to k4abttypes.h
Read members of k4abt_joint_id_t
See naval 🚢

Expected behavior

Should be K4ABT_JOINT_SPINE_NAVEL
Logs
N/A
Desktop (please complete the following information):

OS with Version: N/A
SDK Version:  Present in k4abt 0.9.4
Firmware version:  N/A

@hobinjk-ptc Thank you for reporting this. The issue will be fixed in the next release.

Fixed in v0.9.5. Note that this is a breaking change. Joint K4ABT_JOINT_SPINE_NAVAL -> K4ABT_JOINT_SPINE_NAVEL.


The insert_range method does not properly handle boundary condition

Progress

[ ] Move to RangeInclusive

[ ] bitmap

[x] insert_range
[ ] remove_range

[ ] treemap

[ ] insert_range
[ ] remove_range

[ ] Fix boundary condition in insert_range/remove_range
[ ] Add more tests

Experiments
#[test]
fn insert_range_multi() {
    let mut bitmap = RoaringBitmap::new();
    bitmap.insert_range(0..((1_u64 << 16) + 1));
    println!("{:?}", bitmap);
}

#[test]
fn insert_multi() {
    let mut bitmap = RoaringBitmap::new();
    for i in 0..((1 << 16) + 1) {
        bitmap.insert(i);
    }
    println!("{:?}", bitmap);
}

#[test]
fn insert_range_single() {
    let mut bitmap = RoaringBitmap::new();
    bitmap.insert_range(0..(1_u64 << 16));
    println!("{:?}", bitmap); // would panic here
}

#[test]
fn insert_single() {
    let mut bitmap = RoaringBitmap::new();
    for i in 0..(1 << 16) {
        bitmap.insert(i);
    }
    println!("{:?}", bitmap);
}

single partition insertion
After insert 0..(1_u64 << 16) to the bitmap, we expect only one container(bitmap), whose key is 0, exists in the bitmap.
But actually we got:

multiply partition insertion
After insert 0..((1_u64 << 16) + 1) to the bitmap, we expect one container(bitmap), whose key is 0, followed by a container(array), whose key is 1.
But we got:

Hey @oliverdding, have you found the time to work on this? 😃

Hi @Kerollmops , yes, sure. Maybe I have misunderstood ( I'm waiting for your PR on RangeBound XP).
Anyway, let's see what I can do now. I can modify inner insert_range without breaking outside's insert_range, is that right?
Inner function's declaration should be changed, in which case should I use RangeInclusive  or RangeBound to keep consistency with you?

In fact, I am not sure if we really care to break or not, go on break everything, we will simply release a new breaking version 😄
You can use the RangeBounds trait on the user-facing API i.e RoaringBitmap/RoaringTreemap::insert_range if it's not too complex, it would be ideal or the RangeInclusive struct, like you said if that too much work. 🚀

May I ask a question, where is the best place to put the test case? I found that in roaring-rs they are ling across the source file and tests folder.

Hi @Kerollmops
I got you. Here is my idea:
I work on switching Range to RangeInclusive for Container and Store based on your branch, which is internal. This can be committed with your Rework the insert/remove_range functions with RangeBounds #92.
After that, I can fix boundary issue.

Hey @oliverdding,
Seems like a great idea, go on I will take time to review that! And no worries about your English it's very good 😃

Hi @Kerollmops
I've push another fix based on your branch, which trying to use RangeBounds as parameter.
But I encountered a problems:
In rust std-lib, RangeBounds are always used with <usize>, but I think a solid boundary is much more meaningful in our scenario, preventing boundary check. What do you think?

Hi @Kerollmops
I've pushed another fix based on your branch(you can find it here), trying to use RangeBounds as parameter to fix inner insert_range and remove_range method.

I like what you have done, I didn't find time to review it in details but what I can see is that you changed a little bit too much things in this commit, for example you modifies the !0u64 to u64::MAX and things like that. You also changed/added new tests in this commit. I would prefer that you split the changes in multiple commits and also don't touch too much to the current logic. It would be much easier for me to review bit by bit your changes 😄

In rust std-lib, RangeBounds are always used with <usize>, but I think a solid boundary is much more meaningful in our scenario, preventing boundary check. What do you think?

I think the user-side API must, indeed, expose a RangeBounds<u32> for the Bitmap and a RangeBounds<u64> for the Treemap.

Though we use RangeBounds, which has three types in both boundary. But, in fact, only Range( [a, b) ) and RangeInclusive( [a, b] ) are effective, am I right?

It would be easier to just support all of them, as we know the real boundaries i.e u32::MIN and u32::MAX, we fan easily convert unbounded ranges to fully bounded ones.

I would prefer that you split the changes in multiple commits and also don't touch too much to the current logic.

Ok, I would re-arange my code and commit later into a new branch.

I think the user-side API must, indeed, expose a RangeBounds for the Bitmap and a RangeBounds for the Treemap.

In my mind, it should be u16 for the inner insert_range, just like what I have done. And as what your mentioned, It should be u32/u64 in the user-side API. And for now, I just handle with the inner side.

It would be easier to just support all of them, as we know the real boundaries i.e u32::MIN and u32::MAX, we can easily convert unbounded ranges to fully bounded ones.

This is confusing. I can only find two kind of parameters that user would passwd in:

insert_range(1..2) which have left Included and right Excluded.
insert_range(1..=2) which have lefet Included and right Included.

And I have handled both of the situation I mentioned below.
The point is Outbounded, in which scenario this would happen? And when it happen how can I scale down it's boundary to Included in both side?

In my mind, it should be u16 for the inner insert_range, just like what I have done. And as what your mentioned, It should be u32/u64 in the user-side API. And for now, I just handle with the inner side.

Yup, that's it!

This is confusing. I can only find two kind of parameters that user would passwd in:

insert_range(1..2) which have left Included and right Excluded.

insert_range(1..=2) which have lefet Included and right Included.

And I have handled both of the situation I mentioned below.
The point is Outbounded, in which scenario this would happen? And when it happen how can I scale down it's boundary to Included in both side?

A user could also use unbounded ranges like so:

insert_range(..20) which have left unbounded and right excluded which is equivalent to insert_range(0..20).
insert_range(..0) which have left unbounded and right excluded which is equivalent to ignoring the call as nothing can be inserted, zero is excluded.
insert_range(20..) which have left included and right unbounded which is equivalent to insert_range(20..=u32::MAX).
insert_range(u32::MAX..) which have left included and right unbound which is equivalent to just inserting u32::MAX but also simply equivalent to the range described above (3.).

And this is why I told you that all of these other situations can be easily converted into both included bounds. And if the user specifies an empty range, we can early return as nothing can be inserted.

Hi @Kerollmops
I finally finished the job, moving inner's range related functions to accept RangeBounds, perfectly handling all boundary conditions. I have created a neo-branch to commit minimal changes that fix this issue, all of the changes can be seen in this PR.
(BTW, I proposed to switching max_value() to MAX, which is deprecated.

Hi @Kerollmops
When fixing this issue, I am confused of the pub of functions of store and container.
In my mind, they should never be exposed to the end-user, it that right?

Yup, that's right but pub doesn't mean it is exposed to the user, it means it is expose out of the module, and as you can see we never expose the Store or Container type out of the lib.rs. So yeah, the pub in front of the Store and Container methods means: expose this out of the module not out of the lib.rs. So that's private to everyone that can't see the types.
PS: You can check that the types are private by doing a simple cargo doc --open.

Hi @Kerollmops . I got it.
And now I have done all the tasks and created another PR now.
Thanks for your patience 😊


Add HTML5 cache manifest.

Use gulp-manifest to add an HTML5 cache manifest to cache common site files for faster performance.

Because the pagespeed module re-writes file url's for cache busting, it doesn't make sense to implement a cache manifest because the filenames will change during this process.


Feat: Add sendTransaction support

Description:
This PR modifies the sendTransaction method and parseTransaction method in order to provide support for TX Submissions
Related issue(s):
#55
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.) -> Tests are pending at #61

Your CI is failing because you either removed package-lock.json or there is a diff between the dependencies in the lockfile and  package.json


Unfair removing C# code

why is this removed?
https://github.com/hanabi1224/Programming-Language-Benchmarks/commit/36160bcb0aa5916ae0078e7256c1278784b6af90#diff-dad64536dad5a5311a7f653d00f5f8e10fb1fa76e473e7abca4c8a1df12680e2
On the next commit it says, "removed the trick of using struct" !
can anyone elaborate on this matter? using language specific features is bad?

Because they unfairly halve number of allocations

can you define what does "unfair" mean?
for example, if I use stackalloc to reduce heap allocation, it is considered "unfair"?

How exactly is making use of a language feature "unfair"?

It's not C# fault that some languages don't have the ability to do stack allocations.


fixes #1131 - broken action redirect in FileAdmin

Can you add temporary index view which spits warnings.DeprecationWarning and redirects to new index_view? We'll remove it after release or two.

Added. I exposed it as "old_index" I hope that's fine.

Thanks!


fail compiling glvis-3.4 on Ubuntu 18.04 LTS

I have this error when compiling on Ubuntu 18.04 LTS
/usr/bin/ld: lib/libglvis.a(aux_vis.o): undefined reference to symbol 'XGetWindowAttributes'
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
This does not happen with glvis3.3, so I think this issue is recently introduced.

Can you try the solution proposed in #79 (using latest master branches for both mfem and glvis)?

yes, it works. Thank you.


CM-979: Fastest Way to Check if a List is Ordered in C#

This PR includes the source code with examples for the article "Fastest Way to Check if a List is Ordered in C#".

retest this please


Proposal: Stick to a specific SDL2, SDL_ttf, SDL_image, SDL_mixer version or add a minimum supported one.

Is your feature request related to a problem? Please describe.
Currently, we don't specify a target or minimum supported version for the following dependencies on Linux and macOS:

SDL2
SDL_ttf
SDL_image
SDL_mixer

Or, at least, we specify a version, but only for the CI-generated wheels and Kivy.app builds.
That makes it hard to test changes or add new features exposed by newer versions of the SDL2 libraries ecosystem. (See: https://github.com/kivy/kivy/pull/7982 CI failure on Ubuntu Unittests)
Describe the solution you'd like
Is hard to force the contributors (or someone who wants to build from sources) to use a specific version, but at least we need to consider adding a "minimum supported version", which should be checked at the very beginning of the build process.
If system-provided dependencies are too old (as it's happening on the CI), or the developer wants to stick to the same exact version that we use in the CI, a build script for the non-python-packages dependencies could be exposed and documented.
We already maintain a build script for SDL2 dependencies as the CI-generated wheels and Kivy.app already makes use of a self-built version, so should not be an issue.
Describe alternatives you've considered

(Could be the easiest one to maintain and to avoid some support requests)
Force the contributors (or someone who wants to build from sources) to use a specific self-built library set that can be built via the build script. System-provided deps may be forced via KIVY_FORCE_SYSTEM_DEPS=1. That allows us to only target a specific version of the SDL2 library, and even use a patched/unreleased version if it contains a specific bugfix/feature.

Do not specify a minimum supported version, but add guards to avoid using an unsupported feature.

Additional context

On macOS that situation may be unlikely, as in the docs we state to use brew or directly download and install the Framework. brew usually supports the latest stable version for all the supported macOS versions, and the Framework links could be easily updated.
On Windows, that's not an issue, as we provide our own version of sdl2 via kivy_deps
I love Linux distros, but Linux is where the headache starts. Unfortunately, the latest version of sdl2 libraries are only packaged and distributed (via the default package manager and sources) for the latest version of the OS. (Or at least, that happens on Ubuntu, e.g. 18.04 LTS is still on sdl2 2.0.8)

Update ⚠ : We also release Kivy via Ubuntu PPA. If we choose to stick on sdl2>=2.0.20, only Ubuntu versions >=22.04LTS could be supported (unless we decide to vendor our version of sdl2).

How viable would it be to use the same strategy used on Windows for Linux and macOS?

Closed via #8096


Length data bin widths

Hello SS community! In SS can you specify different bin widths for different data sources? For instance, one of our length data inputs is from a visual survey. The measurement error for this survey is greater than our other surveys, so that a 5 cm bin width is more appropriate compared to, say, a 2 cm bin width for our dockside sampling surveys. Our conditional age at length data is also at a finer scale (1 or 2 cm bin width). Thank you! Shanae (FL FWC)

Hi @shanae-allen , thanks for asking this. Generalized size comps can be used to input different bin sizes. I think for conditional age at length data, though, that needs to be put in in the regular length and age comps.
Hope this helps - and hopefully others will chime in if they also have advice!

Thank you for the very quick response! We will try that.

Best of luck! Feel free to reopen this if needed.

each CAAL observation specifies a min and max population bin, which can be finer than data length bins.  So, you may be able to do CAAL with different length ranges for different observations/sources.

Thank you Rick! I mistakenly thought that CAAL data were in terms of data
bins, rather than population bins, so thank you for clearing that up!
On Thu, May 5, 2022 at 2:56 PM Richard Methot @.***>
wrote:

each CAAL observation specifies a min and max population bin, which can
be finer than data length bins. So, you may be able to do CAAL with
different length ranges for different observations/sources.
—
Reply to this email directly, view it on GitHub
https://github.com/nmfs-stock-synthesis/stock-synthesis/issues/306#issuecomment-1118943000,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANDS3O64XFACUASJ6JTNLADVIQKXBANCNFSM5VF2M4XA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @shanae-allen, your confusion is reasonable because you really have 3 choices for the Lbin_lo and Lbin_hi values used for conditioning the CAAL data:

Bin method for age data
   1 = value refers to population bin index
   2 = value refers to data bin index
   3 = value is actual length (which must correspond to population length bin boundary)

(from User Manual section 7.16.3 Age Composition Specification: https://nmfs-stock-synthesis.github.io/doc/SS330_User_Manual.html#age-composition-specification)
My preference is to always use the actual length because it creates the least confusion. In your case if you want to condition on 1cm bins, you would specify 1cm population length bins and then provide the same value for low and high in the CAAL data. That is, Lbin_lo = 30, Lbin_hi = 30 would include ages from all fish between 30.0cm and 30.999cm, whereas Lbin_lo = 30, Lbin_hi = 31 would condition on the 2cm range going up to 31.999.
@Rick-Methot-NOAA, instead of having folks increase the bin width to account for measurement uncertainty (as in this case where the visual survey is imprecise), does it make sense as a concept to have the equivalent of ageing error applied to length data? It's conceivable that you could experimentally measure the precision of the visual length measurements to guide the choice of the error estimation in a more satisfying way than just wider bins. It's hard to imagine that this would rise to the top of the to-do list anytime soon, but perhaps worth thinking about for future models.

Yes, something like that would be an improvement.
Reminds me of a feature from the pre-ADMB FORTRAN version of synthesis that was not carried forward.  That feature was mis-sexing.  I added it because the rare very large male sablefish was probably just a miscoded female; easy to do with paper forms on a rolling deck.

Ah yes, I always use bin method #3 for age data (actual length), but I
mistakenly thought those lengths had to correspond to the data lengths
rather than the population lengths. Luckily I never had a problem with this
incorrect assumption before because my data lengths matched my population
lengths. In the future though I would like to experiment with finer scale
population bins.
I agree that applying something similar to an ageing error matrix rather
than increasing bin widths is a much more refined way of dealing with
measurement error in length.
Thank you both for your valuable feedback!
On Thu, May 5, 2022 at 3:38 PM Ian Taylor @.***> wrote:

Hi @shanae-allen https://github.com/shanae-allen, your confusion is
reasonable because you really have 3 choices for the Lbin_lo and Lbin_hi
values used for conditioning the CAAL data:
Bin method for age data
1 = value refers to population bin index
2 = value refers to data bin index
3 = value is actual length (which must correspond to population length
bin boundary)
(from User Manual section 7.16.3 Age Composition Specification:
https://nmfs-stock-synthesis.github.io/doc/SS330_User_Manual.html#age-composition-specification
)
My preference is to always use the actual length because it creates the
least confusion. In your case if you want to condition on 1cm bins, you
would specify 1cm population length bins and then provide the same value
for low and high in the CAAL data. That is, Lbin_lo = 30, Lbin_hi = 30
would include ages from all fish between 30.0cm and 30.999cm, whereas
Lbin_lo = 30, Lbin_hi = 31 would condition on the 2cm range going up to
31.999.
@Rick-Methot-NOAA https://github.com/Rick-Methot-NOAA, instead of
having folks increase the bin width to account for measurement uncertainty
(as in this case where the visual survey is imprecise), does it make sense
as a concept to have the equivalent of ageing error applied to length data?
It's conceivable that you could experimentally measure the precision of the
visual length measurements to guide the choice of the error estimation in a
more satisfying way than just wider bins. It's hard to imagine that this
would rise to the top of the to-do list anytime soon, but perhaps worth
thinking about for future models.
—
Reply to this email directly, view it on GitHub
https://github.com/nmfs-stock-synthesis/stock-synthesis/issues/306#issuecomment-1118976816,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANDS3O7FTFUKYEQTJUBYLBTVIQPRRANCNFSM5VF2M4XA
.
You are receiving this because you were mentioned.Message ID:
@.***>


default error source to process.cwd if require is not defined

This allows the use of this from ESmodules and fixes #60

See #62 for updated PR


Variables not working as Watch expression

Hello, I'm using the latest nightly and watching expressions does not seem to work. Scenario: I set a breakpoint in my specification, the debugger stops there, I set an expression to watch (e.g. "vote", which is a variable in my specification). Now all I see is "vote:" in the watch panel with nothing after the colon  (it doesn't even say "not available"). Stepping more doesn't change it. Am I misunderstanding this feature, or is there a bug?

Please try the next nightly with https://github.com/tlaplus/tlaplus/commit/503a1e483a1909e15fe027043a4db719c8ad8021

Thanks! Now it works for variables but seemingly not anything else (this is strictly better than before, where didn't work at all). Let's say I add the watch expression vote[p1], where p1 is a model value, then I only get vote[p1]: with nothing after.
By the way, I think it's nice to be able to watch a variable as it's more readable than have to open up the state and scroll to find the variable of interest.

Thanks! Maybe just displaying vote[p1]: unsupported expression would help users.

Do you want to provide a patch? :-)
https://github.com/tlaplus/tlaplus/blob/503a1e483a1909e15fe027043a4db719c8ad8021/tlatools/org.lamport.tlatools/src/tlc2/debug/TLCStackFrame.java#L536-L563


How to print ncnn log in ios?

I have tried to print the ncnn log in ios. But the log hasn't been printed out.

Please post the code.

Please post the code.
The code is inside the ncnn source code ncnn-src/src/layer.cpp.

#if NCNN_STRING
int layer_to_index(const char* type)
{
    for (int i = 0; i < layer_registry_entry_count; i++)
    {
        NCNN_LOGE("Layer_to_index %s %d", type, i);
        if (strcmp(type, layer_registry[i].name) == 0)
            return i;
    }

    return -1;
}

I want to print the ncnn log above on the iOS terminal, but it appears that it can only be printed in the CLION terminal window and not the iOS Xcode terminal window.

You'll need to re-compile the code after you modify it.
Remember to use the correct script
https://github.com/k2-fsa/sherpa-ncnn/blob/master/build-ios.sh
to compile the code.
Also, remember to use the re-compiled libraries in your project to replace your previous libraries.

You'll need to re-compile the code after you modify it.
Remember to use the correct script https://github.com/k2-fsa/sherpa-ncnn/blob/master/build-ios.sh to compile the code.
Also, remember to use the re-compiled libraries in your project to replace your previous libraries.

Yes. What I did is to modify the ncnn source code inside build-ios/build/os64/_deps/ncnn-src/src/layer.cpp

Did you rebuild the project after the change?
If yes, are you using the latest xcframework after re-building?

Have you fixed it?

Yes. Thank you!


[URGENT] Add owl background

This is urgent.
I  know some people won't like this, but they can compile it themselves.

@xmk3 says veto, and I decide to veto the veto
Viva la revolution

Am I the only one reminded of Futurama?
"We're owl exterminators."
"Then exterminate this owl!"
I'm going to have to agree with @xmk3, I say no :P

I give this +1

I love it! Owl Coin.

TeamOWL

Owl coin will rise from the ashes.

Closing this.


Automatically gas estimation for eth_call

Describe the bug
Why reth does not automatically estimating the gas to cost for a eth_call?
Steps to reproduce
eth_call
Node logs
No response
Platform(s)
Linux (x86)
What version/commit are you on?
reth Version: 1.0.8
Commit SHA: a846cbdcee94d00ed1b022708f19e8ed20ffbb29
Build Timestamp: 2024-10-05T10:57:20.381787483Z
Build Features: asm_keccak,jemalloc
Build Profile: maxperf
What database version are you on?
2024-10-05T17:49:12.942601Z  INFO Initialized tracing, debug log directory: /root/.cache/reth/logs/mainnet
Current database version: 2
Local database version: 2
Which chain / network are you on?
eth mainnet
What type of node are you running?
Full via --full flag
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

Why reth does not automatically estimating the gas to cost for a eth_call?

can you unpack this please? unsure what you mean here

can you unpack this please? unsure what you mean here

Sorry for my unclearness, i reopen the issue now.
Details are follow:
First, I ran a synced reth node(latest build from main branch) in local. It works (the get_chainId eth rpc call works).
Then I send some eth_call in my program to reth:
warning: `arbi` (bin "arbi") generated 7 warnings (run `cargo fix --bin "arbi"` to apply 7 suggestions)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s
     Running `target/debug/arbi uniswap-v2-like-tester-v3 --provider-url 'http://<IP_ADDRESS>:8545' --private-key *** --router-address 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D`
   0.001691014s TRACE ThreadId(01) rpc{method="eth_chainId" params="null"}: ethers_providers::rpc::provider: tx
   0.003205427s TRACE ThreadId(01) rpc{method="eth_chainId" params="null"}: ethers_providers::rpc::provider: rx="\"0x1\""
   0.003259178s TRACE ThreadId(01) rpc{method="eth_chainId" params="null"}: ethers_providers::rpc::provider: close time.busy=952µs time.idle=634µs
   0.004807314s TRACE ThreadId(01) rpc{method="eth_call" params="[{\"accessList\":[],\"data\":\"0xc45a0155\",\"from\":\"0x90f79bf6eb2c4f870365e785982e1f101e93b906\",\"to\":\"0x7a250d5630b4cf539739df2c5dacb4c659f2488d\",\"type\":\"0x02\"},\"latest\"]"}: ethers_providers::rpc::provider: tx
   0.006114568s TRACE ThreadId(01) rpc{method="eth_call" params="[{\"accessList\":[],\"data\":\"0xc45a0155\",\"from\":\"0x90f79bf6eb2c4f870365e785982e1f101e93b906\",\"to\":\"0x7a250d5630b4cf539739df2c5dacb4c659f2488d\",\"type\":\"0x02\"},\"latest\"]"}: ethers_providers::rpc::transports::retry: should not retry err=JsonRpcClientError(JsonRpcError(JsonRpcError { code: -32000, message: "intrinsic gas too high", data: None }))
   0.006229243s TRACE ThreadId(01) rpc{method="eth_call" params="[{\"accessList\":[],\"data\":\"0xc45a0155\",\"from\":\"0x90f79bf6eb2c4f870365e785982e1f101e93b906\",\"to\":\"0x7a250d5630b4cf539739df2c5dacb4c659f2488d\",\"type\":\"0x02\"},\"latest\"]"}: ethers_providers::rpc::provider: close time.busy=365µs time.idle=1.06ms
thread 'main' panicked at src/uniswap_v2_like_testers/uniswap_v2_like.rs:570:30:
called `Result::unwrap()` on an `Err` value: MiddlewareError { e: MiddlewareError(JsonRpcClientError(JsonRpcError(JsonRpcError { code: -32000, message: "intrinsic gas too high", data: None }))) }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

as you can see, the reth node response the eth_call with an error: intrinsic gas too high. while I set a properly gas for those eth_call manually, I return the results normally. So I think there were some problems in reth internal.
Then I check into the source code of reth(reth/crates/rpc/rpc-eth-api/src/helpers/call.rs):
    /// Executes the [`EnvWithHandlerCfg`] against the given [Database] without committing state
    /// changes.
    fn transact<DB>(
        &self,
        db: DB,
        env: EnvWithHandlerCfg,
    ) -> Result<(ResultAndState, EnvWithHandlerCfg), Self::Error>
    where
        DB: Database,
        EthApiError: From<DB::Error>,
        DB::Error: std::fmt::Debug,
    {
        println!("env: {env:?}");

        let mut evm = self.evm_config().evm_with_env(db, env);
        let res = evm.transact();
        println!("ddd: {res:?}");
        let res = res.map_err(Self::Error::from_evm_err)?;
        let (_, env) = evm.into_db_and_env_with_handler_cfg();
        Ok((res, env))
    }

Here is the 'logs' when reth received a eth_call:
env: EnvWithHandlerCfg { env: Env { cfg: CfgEnv { chain_id: 1, kzg_settings: Default, perf_analyse_created_bytecodes: Analyse, limit_contract_code_size: None, memory_limit:<PHONE_NUMBER>, disable_balance_check: false, disable_block_gas_limit: false, disable_eip3607: true, disable_gas_refund: false, disable_base_fee: true, disable_beneficiary_reward: false }, block: BlockEnv { number: 20904603, coinbase: 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5, timestamp:<PHONE_NUMBER>, gas_limit: 30000000, basefee:<PHONE_NUMBER>, difficulty: 0, prevrandao: Some(0x8c048c042f8b3cef2b7f478cce49c1512d6f375ad797997cd9f9d9eccd16661e), blob_excess_gas_and_price: Some(BlobExcessGasAndPrice { excess_blob_gas: 393216, blob_gasprice: 1 }) }, tx: TxEnv { caller: 0x90f79bf6eb2c4f870365e785982e1f101e93b906, gas_limit: 50000000, gas_price: 0, transact_to: Call(0x7a250d5630b4cf539739df2c5dacb4c659f2488d), value: 0, data: 0xc45a0155, nonce: None, chain_id: None, access_list: [], gas_priority_fee: None, blob_hashes: [], max_fee_per_blob_gas: None, authorization_list: None } }, handler_cfg: HandlerCfg { spec_id: CANCUN } }
ddd: Err(Transaction(CallerGasLimitMoreThanBlock))
res: Err(InvalidTransaction(GasTooHigh))

The BlockEnv has a gas limit of 30000000 while TxEnv has a gas limit of 50000000.

And by the way, when I start the reth with this command:
reth node     --authrpc.jwtsecret /secrets/jwt.hex     --authrpc.addr <IP_ADDRESS>     --authrpc.port 8551 --http --http.api eth,web3,net,txpool,debug,trace,admin,rpc  --rpc.gascap 30000000

It works normally for eth_call.
No GasTooHigh error anymore!

Seems fixed in latest...


Anjum48 entries 1 and 2

Hello and welcome to the contest. Thank you for this.. they scored 0.525 and 0.559 for the v2 file. Not too bad at all. Cheers!


Add type hints to signature.py

Address #962
This is substantially complicated by the use of Pydantic.
/cc @thomasahle

I could definitely use help here. I got started just fixing issue #962 , but tried to add more type hints, and have been having issues because mypy does not seem to understand that Signature() is a class-constructor, not an instance-constructor, and also because it is confused by its signature (inherited from BasicModel, I believe).


Use NFC tag to arm/disarm alarm

It could be very neat if you could use a NFC tag (or even a phone with NFC) to arm/disarm the alarm, as quite a few Android tablet and phones have NFC capabilities

i have a nfc tag next to my front door that arms the alarm when i tap it as i leave. its set up in HA and sets alarmo to armed. i would shy away from having a nfc tag for unarm as that can be a security breach.

I don’t think we will implement this due to the security with NFC tags, being not that safe.  Perhaps a QRCode would be better?  I’m not convinced NFC is best option.  I am open for a PR if someone wants to implement.


New Issue Title

This change has been released as part of FakeItEasy 5.4.0.

This change has been released as part of FakeItEasy 5.5.0.

This change has been released as part of FakeItEasy 5.6.0.


feat: continuous, embedded covariates re-injected during training

Added other covariates types (continuous, embedded) to be able to reinjected, and not just to the input layer

close https://github.com/scverse/scvi-tools/issues/3021

This kind of change requires touching the module for each model. I don't think there is anywhere around it. Its risky and this is why I implemented it only for scvi &  scanvi at the moment (maybe others will work also but I didn't test thoroughly). the rest of the changed modules are mainly things in function headers and placeholders to able to cope with the major changes in base_components (i.e cont_cov is usually None and cant be injected to their hidden layers).
To summarise we have 2 parameters to think of:

deeply_inject (bool): covariates (continuous or categorial whether being encoded or not) are always injected to the first layer. If this parameter is True they will also be injected to the hidden layer of the encoder/decoder.
encode_covariates (bool): this is only relevant for the categorial covariates. If this parameter is false, they will be injected as one-hot, if true, they will be encoded as an embedded matrix (this is dependent on other meta-parameters such as the size of embedded vector and the batch_representation which should be "embedded" as well if we want it, otherwise it will remain one-hot)

@Hrovatin please try to use this branch

@ori-kron-wis I think there are things that need to be fixed as per my review comments. To summarise:
I think the behaviour should be as follows:

Module passes to layers expression, continuous covariates (can be None), and categorical covariates that need to be one-hot encoded (can be empty list)
Module is the one that decides if batch will be embedded and concatenated to continuous covariates or added to the categorical list
Layers should not check how the batch is encoded as their init params already tell the number of continous/categorical covariates as determined by the Module.
The layers then either inject covariates (continuous and one-hote encoded categorical) into all layers or only add to the first one. - So module should not be concatenating continuous covariates to expression.


Update install-calico-windows.ps1.tpl

Description
Recreation of #5570 - @lmm apologies, couldn't work out how to maintain my prior PR so I just created a new one.
-ArgumentList parameter is invalid for Invoke-CimMethod and generates an error during install, resulting in --enable-dsr=true --feature-gates=WinDSR=true flags not being passed to kube-proxy service if the node does in fact support DSR.
Switch to use working -Arguments parameter as per Microsoft docs: https://docs.microsoft.com/en-us/powershell/module/cimcmdlets/invoke-cimmethod?view=powershell-7.1#parameters
Release Note
None required

@91jme I would like to get your changes merged so I've opened a new PR and cherry-picked your commit to it here: https://github.com/projectcalico/calico/pull/5710
If you have any feedback on that PR, please feel free to add a review. I'm going to close this PR in favor of that one.
Thanks again for your contribution!


Suport for Makie Plots [FR]

I have coded up the necessary parts to Weave Makie plots.  Unfortunately I've never done a pull request before, not sure where to start.  I can drop the code here, or with some help I can create a proper pull request.
For the most part the code is straight forward, but I do see one potential issue:  the capture_output(code, mod, path, error, report) function needs to call display(report, obj) rather than just display(obj).  For some reason, if the obj is a Makie.Figure, it get's somehow mangled and converted to a Makie.Scene on the way to calling display(report, obj).  Is there any consequence to calling the former rather than the later?

OK, I'm not sure why I thought this was needed, it seems that Makie is working just fine with Weave.  I'll go ahead and close this.


feat: port Analysis.InnerProductSpace.Projection

You don't need to make #4390 a separate PR, since it's so small and it helps just this PR. You can close #4390 and incorporate its change into here.

@Parcly-Taxel I closed #4390.

Whoops, CI wasn't done yet.
bors r-
bors d+

bors d=j-loreaux

bors merge


Clarify "Show problems for project" config

[x] All compiled assets are included (atom packages are git tags and hence the built files need to be a part of the source control)

One of the reasons that my editor slowed in #1554 was that I had enabled this option. I added a warning so people know about it. I recommend adding a tool-bar button for this command instead of tracking the atom file saving.
This can be a huge lag for big projects. On each keyboard stroke: 800ms for Atom, and 200ms for atom-typescript itself.

I've cherry-picked d5dde73 into v13.9.2, albeit I've changed the wording a little. I really don't want to annoy users with pop-ups. Those who want to, will read the changelog anyway. Those who don't, won't read the pop-up either and will get annoyed.


ali: init at 0.7.5

Adds ali, the HTTP benchmark tool that plots the results in real time.
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

ali

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

1 package built:

ali


Posts.create fix

require user object input in 'client.posts.create' action because previous logic was failing to get<EMAIL_ADDRESS>inside the 'posts.create' block at runtime.

Also caught a few README typos.

Thanks!

New version posted to RubyGems


fix: redeployment_trigger: replace timestamp() with plantimestamp()

REF: https://github.com/hashicorp/terraform-provider-aws/issues/28070
what
in attempt to fix apply time issues like #28070,
replace usage of function timestamp() with plantimestamp()
why
provided function apparently works for use cases when redeploy_on_apply && force_new_deployment set to true
references

https://github.com/hashicorp/terraform-provider-aws/issues/28070

/terratest

/terratest

/terratest


Request for license

Hi, may I know what license this repo is under?
Thank you!

Please see https://github.com/oyyd/frozen_east_text_detection.pb/blob/master/LICENSE.


Add automation that removes logs older than 2 weeks

Currently HFP-data older than 2 weeks is removed, maybe same could be done for logs as well (api_log and importer log tables)

Logs will be removed every night before import. Consider moving removal to the another process.


[Question] Send other metric data with alert

Is there a way to send some other metric data with the alert.
I have an alert for CPU usage and I want that alert to also send data from some other metric.
Thanks, Aljaž

Usage questions will get the best response from https://groups.google.com/forum/#!aboutgroup/prometheus-users


Handling exceptions

Add Try blocks to the code to handle exceptions where needed.
 This is a summary of how I think the program throws an exception during certain actions. Warnings should notify the user that the action couldn't be completed, such as an image not being able to be used for various reasons, then continue running with the rest of the data.  Once the threshold has been exceeded, the program should throw an exception and terminate. We would do this in case of systematic user error, for example trying to load images only in pdf format or having a different band number or number of classes in the config.yaml compared to the images in use.

Relevant exceptions are being implemented ad hoc.


Provide button for copying docker reproduction command.

Provide a more visible button/widget to copy the docker command to reproduce a build.

This is addressed by #681.


Ambiguous sendM / Parametric base monad

I'm not really sure how to title this issue better, but anyway, I've been playing with polysemy and trying to make it work with Reflex, which is where I do most of my development nowadays.

     ( Typeable s
     , Typeable t
     , Reflex t
     , MonadHold t m
     , Member Fixpoint r
     , Member (Lift m) r
     )
  => s
  -> Semantic (Store s t ': r) a
  -> Semantic r a

Where I ran into trouble was in the next step, when trying to simultaneously use the effect and the GUI elements from Reflex-DOM. Despite having only one (Lift m) effect member, I've needed to annotate all calls to sendM with @m. As before, this isn't completely unusable but it's pretty annoying.
widget :: forall t m. (Typeable t, MonadWidget t m) => m ()
widget = runM $ runFixpointM runM $ runStore @m @Text "" $ do
  x <- get @Text @t
  dynText x
  dText <- sendM @m $ textInput def
  eSave <- sendM @m $ button "Save"
  put (current (value dText) <@ eSave)

Trying a third time, I thought that I could write a Semantic instance for the necessary typeclasses so that I could use the functions directly, as all Reflex functions are parametric in the monad, but that attempt ended abruptly after running into:
instance (Reflex t, DomBuilder t m, Member (Lift m) r) => DomBuilder t (Semantic r)

-- Illegal instance declaration for ‘DomBuilder t (Semantic r)’
--         The liberal coverage condition fails in class ‘DomBuilder’
--           for functional dependency: ‘m -> t’
--         Reason: lhs type ‘Semantic r’ does not determine rhs type ‘t’
--         Un-determined variable: t

When writing up this issue, I thought of introducing a newtype wrapper for Semantic with another type parameter, say
newtype SemR t r a = SemR { unSemR :: forall m. Member (Lift m) r => Semantic r a }

but quickly trying that, the definition doesn't even typecheck due to Ambiguous use of effect 'Lift'.
By now I've long ran out of my type-level programming knowledge and, more importantly, the time I've set aside for exploring this, so while I'd love to continue, it'll have to wait some two weeks.
This issue is not meant to report a problem with the library, it is more of a request for advice, but I'd say it's closely related to #15 with problems with the base monad...

This is a really interesting use case. I don't know a lot about Reflex, but I'd love to see how the two get on.
Potential warning: I've found that my fixpoint implementation diverges a little harder than others'. My understanding is that Reflex is pretty mdo dependent, and if so, this might be the first thing to bite you when running the code. Any advice here would be appreciated.

 Unfortunately Haskell realizes there's nothing preventing you from wanting to run two reflexes in the same Semantic block, and that maybe you just forgot to add the other one to your context. This is definitely a pain point that I have some ideas to solve, but it's not going to happen in the next month. Maybe you can instead write a custom sendReflex = sendM with a type signature more amenable to type inference.
As for your instance
newtype SemR t r a = SemR { unSemR :: forall m. Member (Lift m) r => Semantic r a }

try instead moving the m out, as it is indeed completely ambiguous:
newtype SemR t m r a = SemR { unSemR :: Member (Lift m) r => Semantic r a }

This thing will definitely pass the fundep coverage condition. I'm not sure it will be more usable, but I guess it's worth a shot!
If there is indeed a canonical reflex monad you could lift a la #15, that seems to me like the best solution.

Thanks for the response. Yes, fixpoint divergence was the first problem that I've encountered, but that 'somehow' disappeared once I've noticed the MonadFix instance and used RecursiveDo instead of manually sending a Fixpoint effect, so I forgot to mention that in the initial post. (I think it was because of a non-lazy destructuring, but I didn't check.)
As for a canonical Reflex monad, that's not really possible as there are at least two, sometimes more base monads (one for the browser and one for the server), plus Reflex is very MTL-heavy, so any pre-made library effect would change the monad. I'm pretty sure that there are at least twenty 'base' Reflex typeclasses...
I made some time for another batch of exploration and I did manage to get half a step forward. I'm not sure why I didn't try a newtype with an exposed m which is the obvious next step in retrospective, but that somewhat worked. I only needed to ditch makeSemantic and write my own effect functions as wrapping bare effects in the newtype had the same inference problems as above (SemR @m $ get @Text @t).
get :: forall s t r m. Member (Store s t) r => SemR t r m (Dynamic t s)
get = SemR $ send Get
{-# INLINABLE get #-}

Once I did that, I finally got to the desired state of being able to write Reflex instances for the newtype wrapper and the demo code looks pretty much the way I'd want it:
app :: forall t m r. (Member (Store Text t) r, MonadWidget t m) => SemR t r m ()
app = do
  dynText =<< get @Text
  dText <- inputElement def
  eSave <- button "Save"
  put (current (value dText) <@ eSave)

This is where I encountered the next blocker. The newtype I used in the end 1) doesn't play well with GeneralizedNewTypeDeriving (DerivingFunctor works though, but that's the only one), which is quite OK as I'd only need to write out the instances only once, but I also discovered that I need an instance of MonadTransControl which is where I got stuck this time.
newtype SemR t r m a = SemR
  { unSemR :: (Member Fixpoint r, Member (Lift m) r) => Semantic r a
  } deriving (Functor)

Can't make a derived instance of ‘Applicative (SemR t r m)’
         (even with cunning GeneralizedNewtypeDeriving):
         cannot eta-reduce the representation type enough
     • In the newtype declaration for ‘SemR’

I'm pretty sure that there is some clever combination of Tactical and unLift that would enable me to encode type StT t a :: *, the "The monadic state of a monad transformer [which] is the result type of its run function", but this is where I ran out of time for this week...
I'd love to continue, the results so far are quite pleasant, but I expect I'll be able to get to this only next weekend.
P.S.: Oh, and while searching for freer and MonadTransControl, I found https://mail.haskell.org/pipermail/haskell-cafe/2018-May.txt, where they mention a Members '[...] r => Effects r a` synonym. I think that it might be worth adding that, esp. for bigger effect stacks...

Well, nevermind. After sleeping on it, I removed the constraints from the newtype which enabled GeneralizedNewTypeDeriving to do some of it magic.  This requires unwrapping the effect and event (using fmap) and sending the underlying m a to the underlying monad's method. Below is what that looks like in a trivial effect implemented using the MTL method Reflex uses. (Also, wow, those type signatures in the rest of the file look terrible...)
https://github.com/reflex-frp/reflex/blob/767faa134dc57ac83445e89fc03f4a42d699cd53/src/Reflex/EventWriter/Base.hs#L149-L161
The magic underlying this specific function is not trivial...:
https://github.com/reflex-frp/reflex-dom/blob/3383d8628d43001d153d7a79dc6ca52dc2021682/reflex-dom-core/src/Reflex/Dom/Builder/Immediate.hs#L1448-L1542
A simpler function to start with might be element, which just takes a config object and an effect producing children of the element: Text -> ElementConfig er t (...) -> SemR t r m a -> SemR t r m (Element er (...) t, a). This one also requires a runner, which makes me think I need to start with a new effect, something closer to Resource rather than just adding instances for a newtype...

@isovector Hmm, I have the uncomfortable feeling that I've finally reached the limits of polysemy capabilities...
I did manage to figure out element which contains just a single nested action - by creating a separate effect and running the effect using Tactics. The resulting code is ugly, but I have no reason to suspect it doesn't work.
Where I've had to stop is when handling the effect RunWithReplaceE :: r a -> Event t (r b) -> DomBuilderEff t m r (a, Event t b) = an action and an event stream of actions, where I need to return the result of the first action and the event stream of results of the actions.
The way this is done in Reflex internals is by manually threading the state from the first action through the stream of actions. An example from the class EventWriter looks like this (the state is returned as the second part of the tuple returned by runEventWriterT, from https://github.com/reflex-frp/reflex/blob/master/src/Reflex/EventWriter/Base.hs#L153-L161):
runWithReplaceEventWriterTWith :: forall m t w a b. (Reflex t, MonadHold t m, Semigroup w)
                               => (forall a' b'. m a' -> Event t (m b') -> EventWriterT t w m (a', Event t b'))
                               -> EventWriterT t w m a
                               -> Event t (EventWriterT t w m b)
                               -> EventWriterT t w m (a, Event t b)
runWithReplaceEventWriterTWith f a0 a' = do
  (result0, result') <- f (runEventWriterT a0) $ fmapCheap runEventWriterT a'
  tellEvent =<< switchHoldPromptOnly (snd result0) (fmapCheap snd result')
  return (fst result0, fmapCheap fst result')

And that's only the simplest of the three methods of the typeclass Adjustable, the other two thread state through an IntMap and through a DMap...
An event is just a Functor with a special push method where I'm able 'hold' an f a (MonadHold m => (a -> m b) -> Event a -> Event b), so in theory I think I know how to thread an f b through an event, but that doesn't help me to get from a (f a, Event t (f b)) to an f (a, Event t b), which is what I need to return in an interpretH.
I'm including the snippet where I've finished, I've tried to annotate it with some types so that it's at least somewhat readable. This doesn't compile due to two reasons - one is the f (...)/(f a, f ...) mismatch, the other is the fact that an Event is not a Traversable
runDomBuilder ::
     forall t m r a. (DomBuilder t m, Member (Lift m) r)
  => (forall x. Semantic r x -> m x)
  -> Semantic (DomBuilderEff t m ': r) a
  -> Semantic r a
runDomBuilder runner = interpretH $ \case
  ElementE e cfg child -> do
    c <- runT child
    sendM $ do
      (out, fa) <- element e cfg (runner .@ runDomBuilder $ c)
      pure $ (out,) <$> fa
  RunWithReplaceE (a :: m1 a1) (eb :: Event t (m1 b)) -> (do
    let runner' = runner .@ runDomBuilder :: Semantic (DomBuilderEff t m : r) z -> m z
    ra :: m (f a1) <- runner' <$> runT a
    reb :: Event t (m (f b1)) <- traverse (fmap runner' . runT) eb
    sendM @m $ (runWithReplace ra reb :: m (f a1, Event t (f b1)))
    ) :: Semantic (WithTactics (DomBuilderEff t m) f1 m1 r) (f1 (a1, Event t b1))

Hmm, one option that just occurred to me is to use the MonadFix instance of the underlying monad, to use the first element of the tuple returned from runWithReplace, which would solve the problem with Event not being a Traversable - this would give me an f a and an Event t (f b), but I still don't have a way to combine them into f (a, Event t b).

Reflex is surprisingly hard to find documentation for --- I wanted to track down the definition of Event but after a few minutes gave up.
That being said, I'm reasonably sure this is doable. If you can find an instance of the Effect typeclass below for your type, it's definitely possible to connect into polysemy.
class (∀ m. Functor m => Functor (e m)) => Effect e where
  weave
      :: (Functor s, Functor m, Functor n)
      => s ()
      -> (∀ x. s (m x) -> n (s x))
      -> e m a
      -> e n (s a)

Event is a newtype that not supposed to be destructured anywhere outside of the timeline implementation itself (the t parameter). There were even some attempts to backpack-ify the t parameter (https://github.com/ezyang/reflex-backpack), but right now, there are three possible definitions:

SpiderTimeline, the default one: https://github.com/reflex-frp/reflex/blob/376cded87b6de2b883844ff7a6b720c3f9c408eb/src/Reflex/Spider/Internal.hs
ProfiledTimeline wrapping Spider, for profiling: https://github.com/reflex-frp/reflex/blob/376cded87b6de2b883844ff7a6b720c3f9c408eb/src/Reflex/Profiled.hs
Pure, 'given a(ny) moment in time, get the value': https://github.com/reflex-frp/reflex/blob/376cded87b6de2b883844ff7a6b720c3f9c408eb/src/Reflex/Pure.hs

I'll give the manual instantiation of Effect a try later, but I'm in the last week of my thesis (where I wanted to include a demonstration of effects as an alternative to mtl), so I'm very much out of time for this side-task.

After two more hours at it, I failed again with the approach I outlined in my previous post (threading the state through Reflex-provided state capabilities).
Reading through some more polysemy code though, I'm pretty confident that it is possible to interpret the DomBuilderEff effect using weave without any extra instances of Effect in a manner similar to Polysemy.Error or Polysemy.NonDet. I'm slightly apprehensive about diving into Yo and the like, but squinting at the types in runError, I think the types will lead me.
(I needed a break from spewing my thesis' text, so I took another stab at it. The things I do to procrastinate...)

If you want to set up a call and hash this out in real time, let me know!

Thanks for the offer! I'll start by watching that talk of yours, even just the observation from Reddit comments that Sem ~ ReaderT of interpreter is quite useful, and just in general try to wrap my head around all the types - but only after I finish my thesis, no more procrastination doing useful things! :)

Despite having only one (Lift m) effect member, I've needed to annotate all calls to sendM with @m.

Give this a spin: polysemy-plugin --- it should automatically disambiguate most ambiguous uses of effects, aka dramatically improve type inference.


This code looks not necessary.

Hello
I use go-couchbase to the web application.
Request in order to disable this feature( "Debug/pprof/")
thank you.

@darkne5 Thanks for the contribution!  I'm finding out who the current maintainer of this repo is.


@agentic/core breaks edge runtime

Hi,
There's a dependency in @agentic/core called hash-object which requires node:crypto behind the scenes.
This causes runtime edge to break in Next.js
Can that dependency be replaced with something else?
Thanks!

Good catch @oalexdoda
Yes, it should be easy to swap hash-object out. Will work on this shortly. Thanks!

Thank you @transitive-bullshit ! (btw weird name to tag lol)
Looking forward to the release!

Should be fixed in https://github.com/transitive-bullshit/agentic/releases/tag/7.2.0

Awesome, thank you @transitive-bullshit - really appreciate you!


Zero Shot Image Classification Use Cases

@merveenoyan use cases have been added for now, will be adding inference code snippets soon as well. Use cases were curated from several research papers, is there a need to provide their references?

I came across another intersting use case which i can addhttps://www.science.org/doi/10.1126/scirobotics.aav3150

I came across another intersting use case relating robotics which i can add
https://www.science.org/doi/10.1126/scirobotics.aav3150

thanks! the confilcts are resolved @merveenoyan

@chefhaider thanks a lot! Can you give me your HF username so I can add credits?

@merveenoyan its Haider Zaidi . I'm really gratified here 🤗


Fixes #376

A picture tells a thousand words
Before this PR

After this PR

Coverage decreased (-0.2%) to 45.261% when pulling 1b755362951c19496480492adffeb739b4e2bdcd on loadCodesAfterParents into b8cd9a9140312c9eccd52b80590a6b44bd03b18d on master.


feat: make lifi swapper wallet agnostic

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #5223   👈

PR #5224

This comment was auto-generated by Graphite.


wish set android:exported="false" , OK??

Summary
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.learnium.RNDeviceInfo">

    <application>
        <receiver
            android:name="com.learnium.RNDeviceInfo.RNDeviceReceiver"
            android:enabled="true"
            android:exported="false"
        >
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

the device is android,i wish set android:exported="false".
Current behavior
android:exported="true".

Expected behavior
android:exported="false"

Why?

I have the same question - do we need exported to be "true"? any thoughts

I believe it must be true yes. The docs indicate it has to be true to receive broadcasts from outside the app package, and I believe this is the installer sending a broadcast so you'd only receive if it were true.
But feel free to try it either way, I could be wrong about the installer package specifically?
https://developer.android.com/guide/topics/manifest/receiver-element

@mikehardy my app was previously flagged vulnerable with low risk rating specifically on the AndroidManifest.xml since the receiver was exported="true", can I set it to false since I'm only using the library to get the basic info like getVersion()?

You may do whatever you like.


Create sound engine

Currenty the audio system of Crafty is used to produce sounds for the game. but these have limitations:

No stereo effects
limit on amount of effects played
Looping isn't flawless

This is due to the use of <audio> tags
A fix would be making a new audio system using HTML5 audio API.

[ ] Experiment with audiocontext
[ ] experiment with volume settings
[ ] experiment with volume groups (effects and music separation)
[ ] experiment with loops
[ ] experiment with stereo effects
[ ] experiment with 'layers' music, ambient sound, sound effect groups
[ ] experiment with adding in a music engine (mod/midi)
[ ] try to define stable reusable API that would benefit Crafty

[ ] Propose API to crafty using PR

https://github.com/deskjet/chiptune2.js

Start this after #66

Game has webAudio now. Interactive music has an experiment in #139


[Doc Improvement] [Update TeamsFx CLI Doc]

Updates to TeamsFx CLI Doc to prepare for TeamsFx Build update.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
86
33
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit c4920e5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
85
34
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 66d8026:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
85
34
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 37c335b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
85
34
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 6f3f120:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
84
37
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit b2763a5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
84
37
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 6e3e139:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
84
37
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit c243b2d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
83
38
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 47a484f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/toolkit/TeamsFx-CLI.md
81
40
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 34d9831:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/TeamsFx-CLI.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add more robust code and additional notes to backup job

Adding more robust code that does not fail immediately when you execute it because it is too fast when it runs.
Also adding additional information as to how it all works.
Rewording "AsJob" clause as it was factually incorrect. We create it with Parameter and save as Variable.
Additionally, added more logical output and if statement to make sure that status will be displayed accordingly.

@cblackuk : Thanks for your contribution! The author, @jeffgilb, has been notified to review your proposed change.

@cblackuk  Thanks for your info. I may be in touch in a bit with some additional questions. Cheers! Matt

@mattbriggs Thanks a lot for a quick turnaround of this :-) Happy to answer any questions as well.


fhir-persistence-schema update-schema doesn't properly update postgresql functions leading to duplicate entries in bundle response

Describe the bug
After applying 4.5.0 and running re-index, we're seeing duplicate resources are returned for various searches when the include parameter is used.
To Reproduce
Steps to reproduce the behavior:

create a resource (e.g. a Coverage resource) with a version prior to 4.5.0 with a postgresql db
update the resource (creates a second version of it)
use fhir-persistence-schema to upgrade the postgres db to 4.5.0
invoke reindex
note that a search such as the following returns the resource multiple times:
GET {contextroot}/Coverage?beneficiary={patientid}&_include=Coverage:payor

Reponse is as below: note redacted some solution specific data
{
"resourceType" : "Bundle",
"id" : "a4191f5a-fb41-4d5c-a9a3-f5db955db2f4",
"type" : "searchset",
"total" : 1,
"link" : [ {
"relation" : "self",
} ],
"entry" : [ {
"fullUrl" : "{contexroot}/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
"resource" : {
"resourceType" : "Coverage",
"id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
"meta" : {
"versionId" : "2",
"lastUpdated" : "2020-11-26T19:40:33.526Z",
"profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
"tag" : [ {
"system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
"code" : "2020-11-26T19:40:21Z_AwsSBnYBFDtuiDayJ82I"
} ]
},
.......... {redacted part of the response}
}, {
  "fullUrl" : "{contexroot}/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
  "resource" : {
    "resourceType" : "Coverage",
    "id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
    "meta" : {
      "versionId" : "2",
      "lastUpdated" : "2020-11-26T19:40:33.526Z",
      "profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
      "tag" : [ {
        "system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
        "code" : "2020-11-26T19:40:21Z_AwsSBnYBFDtuiDayJ82I"
      } ]
    },
    		.......... {redacted part of the response}
} ]

}
Expected behavior
A clear and concise description of what you expected to happen.
Expect only one entry to be returned (to match total count) instead of duplicate entries.
Note that totalcount is 1 while there are 2 entries.
Additional context
Add any other context about the problem here.

Adding the whole rest response (now includes all redacted info)
{
"resourceType" : "Bundle",
"id" : "f28ae3d6-0959-4cb8-8096-8b82a58e0940",
"type" : "searchset",
"total" : 1,
"link" : [ {
"relation" : "self",
"url" : "fhirserverurl/fhir-server/api/v4/Coverage?_count=10&beneficiary=interop-fvt-1111-patient-3&_include=Coverage:payor:Organization&_include=Coverage:payor:Patient&_include=Coverage:payor:RelatedPerson&_page=1"
} ],
"entry" : [ {
"fullUrl" : "fhirserverurl/fhir-server/api/v4/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
"resource" : {
"resourceType" : "Coverage",
"id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
"meta" : {
"versionId" : "4",
"lastUpdated" : "2020-12-01T14:57:00.497Z",
"profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
"tag" : [ {
"system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
"code" : "2020-12-01T14:56:50Z_tSLOHnYB6uEUlMnZX1Wt"
} ]
},
"identifier" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "MB",
"display" : "Member Number"
} ]
},
"system" : "https://www.xxxhealthplan.com/fhir/memberidentifier",
"value" : "3761-703-4129-11660715187"
} ],
"status" : "active",
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code" : "HIP"
} ],
"text" : "health insurance plan policy"
},
"subscriberId" : "11660715187",
"beneficiary" : {
"reference" : "Patient/interop-fvt-1111-patient-3"
},
"relationship" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
"code" : "self"
} ]
},
"payor" : [ {
"reference" : "Organization/interop-fvt2tenant-4196",
"display" : "Aetna"
} ],
"class" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "group"
} ],
"text" : "An employee group"
},
"value" : "021890",
"name" : "Acme Corporation"
}, {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "plan"
} ],
"text" : "Plan"
},
"value" : "XYZ123",
"name" : "ABC123-UPMC CONSUMER ADVA"
} ],
"network" : "ABC123-UPMC CONSUMER ADVA"
}
}, {
"fullUrl" : "fhirserverurl/fhir-server/api/v4/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
"resource" : {
"resourceType" : "Coverage",
"id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
"meta" : {
"versionId" : "4",
"lastUpdated" : "2020-12-01T14:57:00.497Z",
"profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
"tag" : [ {
"system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
"code" : "2020-12-01T14:56:50Z_tSLOHnYB6uEUlMnZX1Wt"
} ]
},
"identifier" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "MB",
"display" : "Member Number"
} ]
},
"system" : "https://www.xxxhealthplan.com/fhir/memberidentifier",
"value" : "3761-703-4129-11660715187"
} ],
"status" : "active",
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code" : "HIP"
} ],
"text" : "health insurance plan policy"
},
"subscriberId" : "11660715187",
"beneficiary" : {
"reference" : "Patient/interop-fvt-1111-patient-3"
},
"relationship" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
"code" : "self"
} ]
},
"payor" : [ {
"reference" : "Organization/interop-fvt2tenant-4196",
"display" : "Aetna"
} ],
"class" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "group"
} ],
"text" : "An employee group"
},
"value" : "021890",
"name" : "Acme Corporation"
}, {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "plan"
} ],
"text" : "Plan"
},
"value" : "XYZ123",
"name" : "ABC123-UPMC CONSUMER ADVA"
} ],
"network" : "ABC123-UPMC CONSUMER ADVA"
}
}, {
"fullUrl" : "fhirserverurl/fhir-server/api/v4/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
"resource" : {
"resourceType" : "Coverage",
"id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
"meta" : {
"versionId" : "4",
"lastUpdated" : "2020-12-01T14:57:00.497Z",
"profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
"tag" : [ {
"system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
"code" : "2020-12-01T14:56:50Z_tSLOHnYB6uEUlMnZX1Wt"
} ]
},
"identifier" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "MB",
"display" : "Member Number"
} ]
},
"system" : "https://www.xxxhealthplan.com/fhir/memberidentifier",
"value" : "3761-703-4129-11660715187"
} ],
"status" : "active",
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code" : "HIP"
} ],
"text" : "health insurance plan policy"
},
"subscriberId" : "11660715187",
"beneficiary" : {
"reference" : "Patient/interop-fvt-1111-patient-3"
},
"relationship" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
"code" : "self"
} ]
},
"payor" : [ {
"reference" : "Organization/interop-fvt2tenant-4196",
"display" : "Aetna"
} ],
"class" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "group"
} ],
"text" : "An employee group"
},
"value" : "021890",
"name" : "Acme Corporation"
}, {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "plan"
} ],
"text" : "Plan"
},
"value" : "XYZ123",
"name" : "ABC123-UPMC CONSUMER ADVA"
} ],
"network" : "ABC123-UPMC CONSUMER ADVA"
}
}, {
"fullUrl" : "fhirserverurl/fhir-server/api/v4/Coverage/e17b7b4f-9e46-4629-b45c-6b075f441082",
"resource" : {
"resourceType" : "Coverage",
"id" : "e17b7b4f-9e46-4629-b45c-6b075f441082",
"meta" : {
"versionId" : "4",
"lastUpdated" : "2020-12-01T14:57:00.497Z",
"profile" : [ "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage" ],
"tag" : [ {
"system" : "http://ibm.com/fhir/cdm/StructureDefinition/ingestion-batch-id",
"code" : "2020-12-01T14:56:50Z_tSLOHnYB6uEUlMnZX1Wt"
} ]
},
"identifier" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "MB",
"display" : "Member Number"
} ]
},
"system" : "https://www.xxxhealthplan.com/fhir/memberidentifier",
"value" : "3761-703-4129-11660715187"
} ],
"status" : "active",
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code" : "HIP"
} ],
"text" : "health insurance plan policy"
},
"subscriberId" : "11660715187",
"beneficiary" : {
"reference" : "Patient/interop-fvt-1111-patient-3"
},
"relationship" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
"code" : "self"
} ]
},
"payor" : [ {
"reference" : "Organization/interop-fvt2tenant-4196",
"display" : "Aetna"
} ],
"class" : [ {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "group"
} ],
"text" : "An employee group"
},
"value" : "021890",
"name" : "Acme Corporation"
}, {
"type" : {
"coding" : [ {
"system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
"code" : "plan"
} ],
"text" : "Plan"
},
"value" : "XYZ123",
"name" : "ABC123-UPMC CONSUMER ADVA"
} ],
"network" : "ABC123-UPMC CONSUMER ADVA"
}
} ]
}

it feels very similar to https://github.com/IBM/FHIR/issues/1557 except that in this case, we have the same Coverage resources being returned twice.  This would make sense if we were including Coverage resources in the response, but I don't think any of the _include resources should be Coverages:
Coverage?_count=10&beneficiary=interop-fvt-1111-patient-3&_include=Coverage:payor:Organization&_include=Coverage:payor:Patient&_include=Coverage:payor:RelatedPerson&_page=1

It appears that the following stored procedure hasn't been updated on the system:  https://github.com/IBM/FHIR/blob/master/fhir-persistence-schema/src/main/resources/postgres/add_any_resource.sql. Likely the version on the system is not doing the delete from the _resource_token_refs table, and it's the multiple records in that table that is causing the issue.
After updating the stored procedure on the system, the existing resources will need to be re-indexed, or new resources will need to be used for testing.

We believe there is a workaround which is to explicitly invoke the --update-proc action from fhir-persistence-schema after running --update-schema.