Multiplescroller resets incorrectly with child jobs

https://keboola.slack.com/archives/C02JB1749/p1527516048000347
in the following configuration:
{
    "parameters": {
        "api": {
            "baseUrl": "foobar",
            },
            "pagination": {
                "method": "multiple",
                "scrollers": {
                    "forms_scroller": {
                        "method": "pagenum",
                        "limitParam": "page_count"
                    }
                }
            }
        },
        "config": {
            "jobs": [
                {
                    "endpoint": "forms",
                    "scroller": "forms_scroller",
                    "children": [
                        {
                            "endpoint": "/forms/{id}",
                            "placeholders": {
                                "id": "id"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

pagenum scroller will never go beyond page 2, because it is reset on every child request (and increments in next request)

the problem is in https://github.com/keboola/generic-extractor/blob/3.5.0/src/GenericExtractorJob.php#L210 where a parent scroller is cloned for child job, the Multiplescroller object contains references to defined scrollers https://github.com/keboola/juicer/blob/4.4.2/Pagination/MultipleScroller.php#L18
s a deep clone must be performed. Otherwise the cloned MultipleScroller contains references to parent scrollers and resets them when the child job is run. this applies only to stateful scrollers (e.g. pagenum)


Fix DAO publisher inconsistencies

This PR fixes two inconsistencies in the delete() method of the DAO publisher:

It did not raise ResourceNotFoundError as documented and like the normal DAO
The id cannot be passed using a positional argument, like in get_by_id() and update().

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

12 of 12 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 91.699%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
1657

Relevant Lines:
1807

💛  - Coveralls


Hub Admin not working - times out

I'm not able to access the Hub admin to approve resources and get timed out instead.

Possibly a side-effect of swapping to disk (https://github.com/AASHE/hub/issues/453).

Appears to be working now, ready to close unless there's something else.


🧪 Mad Science Project Idea: ATST Top 8

What is an Mad Science Project Idea?
A Mad Science Project Idea is an idea for a project within the Optimism ecosystem that may not have clear value but is generally cool as heck. Mad Science Project Ideas make great hackathon projects and tend to be a great way to explore Optimism, OP Mainnet, and the OP Stack.

Summary
On MySpace, users could set their “top 8 friends” to appear on their profile.  It still drives nostalgia today:
“bro, put me in your top 8”

Someone to me during high school

An attestation-based “top 8” could be a cool ~viral social feature to drive fun, but real attestations to ATST and possibly provide the grounds for other builders to build a social app on top of.
Possible Features

I attest to people in my top 8
I have some way to roll people on/off & ensure that I never have more than 8 in my top 8.
Possibly use “mutual attestations” to “verify” top 8 standing (i.e. if Michael and Lindsay are both in each other’s top 8, then it’s a stronger attestation & identity signal)
A cool frontend where you look someone up and see their top 8 & also see whose top 8 you’re in. We could also use Optimist NFTs as the profile pictures & ENS for the names
“Sunny” is the Tom of Optimism Top 8

(sunny)

Impact

Increase in social attestations
“Viral” feature/moment to educate builders, contributors, and users on ATST
Potential grounds for social apps to be built on ATST

This sounds fun. I have something started here:
https://github.com/gigamesh/repstation
https://github.com/gigamesh/ourspace


Pass length and modification time in split to avoid network call to fetch properties

Description
An additional call is made in Velox to fetch metadata and initialize file length although the information is present upstream and not used to construct the split. For example in ABFS https://github.com/facebookincubator/velox/blob/90fc393715b70e78bf8bf7f4a14272c50b49030a/velox/connectors/hive/storage_adapters/abfs/AbfsFileSystem.cpp#L68 and in S3 https://github.com/facebookincubator/velox/blob/90fc393715b70e78bf8bf7f4a14272c50b49030a/velox/connectors/hive/storage_adapters/s3fs/S3FileSystem.cpp#L92
If fileSize and modificationTime are added to HiveConnectorSplit we can save on one network call per file handle.
I will be working on this
CC @zhli

[ ] Get length from FileOptions
[ ] Update FileHandleFactory to take file name, file length, file modification time


[vite:build-import-analysis] Cannot read properties of undefined (reading 'forEach')

Describe the bug
I added web workers to my react-vite project and when I try to build I get this error:
$ npm run build

><EMAIL_ADDRESS>build
> tsc && vite build

vite v4.5.3 building for production...
✓ 1037 modules transformed.
The emitted file "assets/purify.es-f1fd0f50.js" overwrites a previously emitted file of the same name.
The emitted file "assets/html2canvas.esm-e0a7d97b.js" overwrites a previously emitted file of the same name.
[vite:build-import-analysis] Cannot read properties of undefined (reading 'forEach')
✓ built in 17.41s
error during build:
TypeError: Cannot read properties of undefined (reading 'forEach')
    at addDeps (file:///D:/Web%20Development/projects/pack4print/node_modules/vite/dist/node/chunks/dep-41cf5ffd.js:46869:55)
    at Object.generateBundle (file:///D:/Web%20Development/projects/pack4print/node_modules/vite/dist/node/chunks/dep-41cf5ffd.js:46890:33)
    at file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:25544:40

here is my vite config :

    import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { VitePWA, VitePWAOptions } from "vite-plugin-pwa";
import { comlink } from "vite-plugin-comlink";
const manifestForPlugin: Partial<VitePWAOptions> = {
    // registerType: "prompt",
    // includeAssets: ["favicon.ico", "apple-touch-icon.png", "masked-icon.svg"],
    manifest: {
        name: "Pack4Print",
        short_name: "Pack4Print",
        description:
            "Print smart, print green: effortlessly organize diverse images on paper for optimal results.",
        icons: [
            {
                src: "pwa-192x192.png",
                sizes: "192x192",
                type: "image/png",
                purpose: "any",
            },

            {
                src: "pwa-512x512.png",
                sizes: "512x512",
                type: "image/png",
                purpose: "any",
            },
            // {
            //     src: "maskable-icon-512x512.png",
            //     sizes: "512x512",
            //     type: "image/png",
            //     purpose: "maskable",
            // },
            {
                src: "maskable-icon-512x512.png",
                sizes: "512x512",
                type: "image/png",
                purpose: "any",
            },
            {
                src: "apple-touch-icon-180x180.png",
                sizes: "180x180",
                type: "image/png",
                purpose: "any",
            },
        ],
        theme_color: "#134e4a",
        background_color: "#1e293b",
        display: "standalone",
    },
};
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [react(), comlink(), VitePWA(manifestForPlugin)],
    worker: {
        format: "es", // Ensure the worker format is 'es'
        plugins: [comlink()],
    },
    build: {
        rollupOptions: {
            output: {
                manualChunks(id) {
                    if (id.includes("jszip") || id.includes("pako")) {
                        return "jszip";
                    }
                    if (id.includes("node_modules")) {
                        return "vendor";
                    }

                    return "index";
                },
            },
        },
    },
});

Reproduction
https://github.com/SciSaif/pack4print
Steps to reproduce
npm run build
System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (8) x64 AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx
    Memory: 9.50 GB / 21.88 GB
  Binaries:
    Node: 22.3.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.22 - C:\Program Files\nodejs\yarn.CMD
    npm: 10.8.1 - C:\Program Files\nodejs\npm.CMD
    pnpm: 8.15.6 - ~\AppData\Local\pnpm\pnpm.EXE
  Browsers:
    Edge: Chromium (126.0.2592.113)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @vitejs/plugin-react: ^4.2.0 => 4.3.1
    vite: ^4.4.5 => 4.5.3

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

vite: ^4.4.5 => 4.5.3

You have older major version of Vite. It might be fixed on latest v5, so probably worth trying upgrading it. Can you also see if it works without manualChunks?

I tested the reproduction with 5.4.1 and it worked.
Closing as this is already fixed.

I tested the reproduction with 5.4.1 and it worked. Closing as this is already fixed.

I tried doing this, it still didn't work. Which branch did you test this on?
I am testing in branch "fix-build-issue"

I tested the reproduction with 5.4.1 and it worked. Closing as this is already fixed.
@sapphi-red
I tried doing this, it still didn't work. Which branch did you test this on?
I am testing in branch "fix-build-issue"

I am getting the following error while trying to build:
error during build:
[vite-plugin-pwa:build] Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.
file: D:/Web Development/projects/pack4print/src/webWorker.ts
    at getRollupError (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/parseAst.js:392:41)
    at error (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/parseAst.js:388:42)
    at validateOptionsForMultiChunkOutput (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:18377:16)
    at Bundle.generate (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:18270:17)
    at async file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:20832:27
    at async catchUnfinishedHookActions (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:20258:16)
    at async bundleWorkerEntry (file:///D:/Web%20Development/projects/pack4print/node_modules/vite/dist/node/chunks/dep-BzOvws4Y.js:47535:9)
    at async workerFileToUrl (file:///D:/Web%20Development/projects/pack4print/node_modules/vite/dist/node/chunks/dep-BzOvws4Y.js:47597:25)
    at async Object.transform (file:///D:/Web%20Development/projects/pack4print/node_modules/vite/dist/node/chunks/dep-BzOvws4Y.js:48034:26)
    at async transform (file:///D:/Web%20Development/projects/pack4print/node_modules/rollup/dist/es/shared/node-entry.js:18808:16)
    ```

UPDATE:
i added this line:
worker: {
format: "es",
plugins: () => [comlink()],
},
and now it builds successfully but my worker never responds, it keeps loading for some reason. This happens only in production, in development it works fine

Ah, I didn't test the built assets.
Checking the errror, you also need to change src/webWorker.ts to:
// worker instance
export const workerInstance = new ComlinkWorker<typeof import("./sw/worker")>(
    new URL("./sw/worker", import.meta.url),
    { type: 'module' }
);


Input Icons do not display using nuxt.js

I am having a problem using the default vs-input and the icons
I have installed vue-feather-icons as a module. The following code does not display the icons
  <vs-input
              type="password"
              icon="icon icon-lock"
              icon-pack="feather"
              label-placeholder="Password"
              v-model="value2"
              class="w-full mb-4 no-icon-border"
            />

I have tried registering the feather icon as a plugin within nuxt.js as well as enabling/disabling SSR. The icons do not display

same issue

this could help.


[CIP-1885] Update npm packages

@ana-dashuk-cobalt FYI

@mjang-cobalt Is it a Jira ticket CIP-1885?

@anastasia-shidlovskaya has approved in an internal DM. Merging on that basis.


Webpacker support

I am starting this issue in order to un-hijack #947.
With Webpacker now being the default JS compiler in Rails, it would be nice to support it properly. It seems as though some other contributors are interested in this as well. There are a lot of issues to work through, though. I would love to know what other people think of this idea, so I'm posting this issue for discussion, as well as my personal opinions about it.
I'm not so much concerned with assets for the admin side of things. Those can be included in compiled form, so it doesn't matter what build tool is used.
The frontend side of things is where I think Webpacker has potential, because that's where we see custom assets that need compilation. Having Babel for handling ES6+ features and tools like PostCSS and autoprefixer for cross-browser CSS is a big win for anyone customizing their theme. Right now, theme assets are compiled with Sprockets, but using them with Webpacker requires custom config or moving them out of the theme directory and into app/javascript/packs. I think the main goal of adding webpacker support to Camaleon should be to make theme assets compile correctly via webpack without any extra config by the user.
I am not a fan of the current Rails default of using Webpacker for JS and Sprockets for other assets.

I find Webpacker extremely helpful for compiling CSS because of the tools mentioned above.
The two-compiler setup is a poor fit for libraries like Bootstrap that have both JS and CSS components (in my opinion).
Reducing dependencies is a worthwhile goal. Even if Camaleon follows the Rails default of separate asset pipelines, it should at least be possible to remove one of them. Of course, Camaleon already accomplishes this by not requiring Webpacker, but I'd like to get the benefits of Webpacker without needing to include Sprockets.

Again, these are my opinions. It doesn't matter what I think, it matters what the user community overall and @owen2345 as the creator/maintainer think, so please comment if you have an opinion about this!

I'd also be very glad to reduce dependencies, but we could keep them both (with opt-out possibility), for the start, see how it will work and watch the community feedback.

Adding webpacker and asset compilation for the frontend is not something problematic at this point. I covered this some time ago in the article below...
https://revs.runtime-revolution.com/bringing-rails-webpack-react-and-camaleon-cms-together-6cc52f1aa372

@tostasqb thank you for your input. You are correct that it is possible to compile your frontend with webpacker. However, it does not work out of the box for the included themes, or for themes created by the developer that follow the established directory structure. Currently, using webpacker for frontend requires you to keep your theme assets in the app/javascript directory, away from all the other theme files. This is one of the two main problems I would like to solve, along with removing the dependency on sprockets.

Recent comments by DHH indicate that Rails is leaning towards native ESM modules for future development, rather than bundling with Webpacker (or any other bundler). Since Webpacker no longer seems like a long-term replacement for the asset pipeline, I'm going to close this issue. I no longer think it's a good investment of time.

Recent comments by DHH indicate that Rails is leaning towards native ESM modules for future development, rather than bundling with Webpacker (or any other bundler). Since Webpacker no longer seems like a long-term replacement for the asset pipeline, I'm going to close this issue. I no longer think it's a good investment of time.

@brian-kephart , some questions still legit for maybe using a bundler:

non-JS assets - import maps are not going to support these in the v1 standard. sprockets is still an option, but I don't know if there is a possibility to replace sass to dart-sass;

bundling the engine assets - this is still unresolved. Webpacker gem on the way to 6.0 release has even temporarily removed the doc about using it with Rails engines, stating that they are first going to achieve a stable state for 6.0 to be released.

@brian-kephart , some questions still legit for maybe using a bundler:

non-JS assets - import maps are not going to support these in the v1 standard. sprockets is still an option, but I don't know if there is a possibility to replace sass to dart-sass;

bundling the engine assets - this is still unresolved. Webpacker gem on the way to 6.0 release has even temporarily removed the doc about using it with Rails engines, stating that they are first going to achieve a stable state for 6.0 to be released.

@texpert  My motivation for opening this issue was twofold:

Move from the "old way" (Sprockets) to the "new way" (Webpacker). Basically, I wanted to keep up with changes in the Rails ecosystem. Now that the future of that ecosystem does not appear to be "Webpacker for everything by default," this motivation is no longer valid, which is why I closed the issue.
Remove Sprockets dependency. This is still valid. Webpacker users still need Sprockets to use Camaleon. Ideally this would not be the case, but I personally don't want to put the work in to change this unless Webpacker is going to be the default asset bundler for Rails for the forseeable future. Plus, as you said, there's not even a clear path forward here for migrating the engine assets to Webpacker. It seems like a lot of work for little benefit.

I'm not saying there are no benefits. I'm just saying this doesn't seem totally necessary to me anymore.

@texpert  My motivation for opening this issue was twofold:

Move from the "old way" (Sprockets) to the "new way" (Webpacker). Basically, I wanted to keep up with changes in the Rails ecosystem. Now that the future of that ecosystem does not appear to be "Webpacker for everything by default," this motivation is no longer valid, which is why I closed the issue.
Remove Sprockets dependency. This is still valid. Webpacker users still need Sprockets to use Camaleon. Ideally this would not be the case, but I personally don't want to put the work in to change this unless Webpacker is going to be the default asset bundler for Rails for the forseeable future. Plus, as you said, there's not even a clear path forward here for migrating the engine assets to Webpacker. It seems like a lot of work for little benefit.

I'm not saying there are no benefits. I'm just saying this doesn't seem totally necessary to me anymore.


update packages

:x: Build TheIdServer 7.4.4-fix-dependencies.1+49.build.3282 failed (commit https://github.com/Aguafrommars/TheIdServer/commit/3cd8b5feb2 by @invalid-email-address)

:white_check_mark: Build TheIdServer 7.4.4-fix-dependencies1-0049 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/3cd8b5feb2 by @invalid-email-address)

:white_check_mark: Build TheIdServer 7.4.4-fix-dependencies1-0050 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/234bc29378 by @invalid-email-address)


Adding support for field descriptions

Resolves https://github.com/voxel51/fiftyone/issues/2163
Adds support for storing field-level descriptions on datasets.
TODO

Add support for viewing (and editing?) field descriptions in the App
Add blurb about field descriptions to the App docs

Example usage
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
dataset.add_dynamic_sample_fields()

dataset.set_field_metadata(
    "ground_truth",
    description="Ground truth annotations",
)

dataset.set_field_metadata(
    "ground_truth.detections.area",
    description="Area of the box, in pixels^2",
)

field = dataset.get_field("ground_truth")
print(field.description)  # Ground truth annotations

field = dataset.get_field("ground_truth.detections.area")
print(field.description)  # Area of the box, in pixels^2

Appropriate validation is in-place:
# None of these are allowed
dataset.set_field_metadata("foo", description="bar")  # bad field
dataset.set_field_metadata("ground_truth.detections.foo", description="bar")  # bad attribute
dataset.set_field_metadata("ground_truth", foo="bar")  # bad metadata key
dataset.set_field_metadata("ground_truth", description=False)  # bad metadata value

Field descriptions may also be provided when the field is declared, if desired:
import fiftyone as fo

dataset = fo.Dataset()
dataset.add_sample_field(
    "int_field", fo.IntField, description="An integer field"
)

field = dataset.get_field("int_field")
print(field.description)  # An integer field

@ehofesmann any thoughts on how to support editing field descriptions from the App?
A simple tooltip would be a reasonable way to view the description, but editing the description from the App may be nice too.

@ehofesmann Also curious if you have any thoughts on the dataset.set_field_metadata() syntax. Love it? Hate it?

This is awesome already! Some thoughts:

Descriptions are a good start, but we really need to be able to store an arbitrary amount of data on fields. Something like a dictionary is something that might be better than a description string to start out. In terms of visualization, it could then use a the same structure as the json in the sample modal. Mainly because in the W&B use case, you will end up with many different URLs for each model run, so a single string field wouldn't be enough.

I'm not sure needing to support editing through the App is necessary right out of the gate. The description of fields isn't particularly something that needs to be modified constantly. (Not saying it wouldn't be nice). Especially if we go with the dict route, it would be great to be able to edit arbitrary JSON in the sample modal as well so that would kill 2 birds with one stone (probably in a follow-up PR imo)

Syntax: What about something like this:

dataset["ground_truth"].description = "my field is cool"
dataset["ground_truth"].info = {"other_stuff_1": 51}

dataset["ground_truth.detections.area"].description = "Area of the box, in pixels^2",

field = dataset["ground_truth"]
print(field.description)

This could allow for extensions something like
dataset["ground_truth"].values  # Equivalent to: dataset.values("ground_truth")

I'm a little confused by what is valid/not valid. How are the first two bad examples different from the valid examples? Is it that they are 3 letters?
[GOOD] dataset.set_field_metadata( "ground_truth", description="Ground truth annotations",)
[BAD] dataset.set_field_metadata("foo", description="bar")  # bad field
[GOOD] dataset.set_field_metadata("ground_truth.detections.area", description="Area of the box, in pixels^2",)
[BAD] dataset.set_field_metadata("ground_truth.detections.foo", description="bar")  # bad attribute

@kaixi-wang the set_field_metadata() method is designed to let you set metadata (currently only a description property) on any fields or embedded fields that have already been defined on your dataset. So here's why each of these is not allowed:
# This dataset doesn't have a field named `foo` defined
dataset.set_field_metadata("foo", description="bar")

# This dataset's `ground_truth.detections` field doesn't have an attribute named `foo` defined
dataset.set_field_metadata("ground_truth.detections.foo", description="bar")

# `foo` is not a valid metadata field. Currently only `description` is allowed
dataset.set_field_metadata("ground_truth", foo="bar")  # bad metadata key

# `description` must be a string
dataset.set_field_metadata("ground_truth", description=False)

And these are allowed:
# This dataset has a `ground_truth` field
dataset.set_field_metadata("ground_truth", description="...")

# This dataset's `ground_truth.detections` field has an `area` attribute defined
dataset.set_field_metadata("ground_truth.detections.area", description="...")

You can see what fields/embedded fields exist on a dataset using the following syntax (which was just added in https://github.com/voxel51/fiftyone/pull/1825 🤗 ):
print(dataset.get_field_schema(flat=True))

@ehofesmann Hmm interesting: if we allowed attaching an arbitrary dict of info to a field, how would you want this info displayed in the App? I can see why one might want a description and a url, for example. But the real value of storing a URL would be that you have a way to click on it from the Ap.
One side comment is that, although I added dataset.info, I don't love it, because it will be challenging to build a UI for visualizing arbitrary key-value pairs in a way that makes the information look good, be clickable (URLs, for example), and also editable.
The dataset["ground_truth"] syntax is definitely concise, but I'm worried that we might be overloading dataset[] too much as these things are already supported:
dataset[sample_id]
dataset[filepath]
dataset[1:10]

One other thing I should mention is note that field.save() is not currently something you can do:
field = dataset.get_field("ground_truth")

# Not allowed
field.description = "foo"
field.save()

because the Field class doesn't currently store a reference to its parent dataset, which would be required in order for field.save() or other things like potentially field.values() to work. We could add it of course, but just pointing it out.

@brimoor How I'm imagining we could display this info in the App:

The description field could be special in that if you hover over a field on the sidebar, it could show the description in a tooltip. This wouldn't work for an arbitrary number of custom field metadata, nor for links that you need to click since the tooltip would just move away. But a description is exactly what I would want to see on hover.
We could add some clickable icon/area on the fields in the sidebar that have field metadata populated which would show a modal similar to the JSON overlay, but over the grid view of the App. This would allow users to see a full page of all of the custom field metadata they added (like model hyperparameters and urls they could click)

Yeah, overloading the dataset[] syntax might be an issue. I was just thinking in terms of how pandas operates when you call dataframe[] but the catch is that if you want to do dataset[1:10], the equivalent would be dataframe.iloc[1:10] so we swapped what needs a method call vs what is built into the brackets. (I still prefer our syntax)

Closing in favor of https://github.com/voxel51/fiftyone/pull/2216.


Scene.pickPosition in 2D/CV

Adds pick position support in 2D and Columbus view. Fixes #4084.

[ ] Tests
[ ] Update CHANGES.md

Can we also document that the results can be different in 2D vs. 3D/CV due to the orthographic projection and give some sense as to how the precision works?
For example, in 3D:

In 2D:

@pjcozzi This is ready for another look.

Do you get this test failure?
Scene/Scene pickPosition
Expected Cartesian3({ x: -455845.5482883507, y: -5210338.458916779, z: 3637550.496413719 }) to equal epsilon Cartesian3({ x: -455845.46867895435, y: -5210337.548977215, z: 3637549.8562320103 }), 1e-7.
Error: Expected Cartesian3({ x: -455845.5482883507, y: -5210338.458916779, z: 3637550.496413719 }) to equal epsilon Cartesian3({ x: -455845.46867895435, y: -5210337.548977215, z: 3637549.8562320103 }), 1e-7.
    at stack (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:1475:17)
    at buildExpectationResult (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:1445:14)
    at Spec.expectationResultFactory (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:584:18)
    at Spec.addExpectationResult (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:332:34)
    at Expectation.addExpectationResult (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:528:21)
    at Expectation.toEqualEpsilon (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:1399:12)
    at http://localhost:8080/Specs/Scene/SceneSpec.js:660:30
    at compare (http://localhost:8080/Specs/addDefaultMatchers.js:255:29)
    at Expectation.toRenderAndCall (http://localhost:8080/ThirdParty/jasmine-2.2.0/jasmine.js:1378:35)
    at http://localhost:8080/Specs/Scene/SceneSpec.js:658:23

Do you get this test failure?

I was not seeing any failures. I changed the test to check the values returned instead of that it was defined. I updated the epsilon values so they should pass now.

Very nice.


fix: update vue-tsc to fix Global types identifiers conflict

In  vue-tsc:2.0.28 , https://github.com/vuejs/language-tools/commit/f2789d9f845469ac28cdefa562a524dbc89fcb76   , fix the bug:  https://github.com/vuejs/language-tools/issues/4231

There are some breaking changes in volar from current version to the latest, so the plugin requires some changes in creating program.

ok


Update golang_build.py

Run all project on fly

I signed it!

The default script runs the current file, I suggest running the entire project. Thus, it will not matter if the code written on the Golang is in one file or divided into several.

I have separately described here the desirable functionality which I believe @devable has implemented in this PR

Thanks @gopherbot !


The JSON visualizer from VS2017 doesn't recognize generated JSON as valid

While playing with preview 5 to validate my issue I used the JSON Debugger Visualizer to see the JSON and here it shows me that the generated JSON is invalid

Here is the generated JSON:
{"$id":1,"$values":[{"$id":2,"EMP_NO":2,"FIRST_NAME":"Robert","LAST_NAME":"Nelson","PHONE_EXT":"250","HIRE_DATE":"28.12.1988 00:00:00","DEPT_NO":"600","JOB_CODE":"VP","JOB_GRADE":2,"JOB_COUNTRY":"USA","SALARY":105900,"FULL_NAME":"Nelson, Robert","DEPARTMENTs":{"$id":3,"$values":[{"$id":4,"DEPT_NO":"600","DEPARTMENT1":"Engineering","HEAD_DEPT":"000","MNGR_NO":2,"BUDGET":1100000,"LOCATION":"Monterey","PHONE_NO":"(408) 555-1234","DEPARTMENT11":{"$id":5,"$values":[]},"EMPLOYEEs":{"$id":6,"$values":[]},"EMPLOYEE":{"$ref":2},"PROJ_DEPT_BUDGET":{"$id":7,"$values":[]}}]},"PROJECTs":{"$id":8,"$values":[]},"SALARY_HISTORY":{"$id":9,"$values":[{"$id":10,"EMP_NO":2,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":98000,"PERCENT_CHANGE":8,0612,"NEW_SALARY":105899,976,"EMPLOYEE":{"$ref":2}}]},"SALES":{"$id":11,"$values":[]},"PROJECTs1":{"$id":12,"$values":[]}},{"$id":13,"EMP_NO":4,"FIRST_NAME":"Bruce","LAST_NAME":"Young","PHONE_EXT":"233","HIRE_DATE":"28.12.1988 00:00:00","DEPT_NO":"621","JOB_CODE":"Eng","JOB_GRADE":2,"JOB_COUNTRY":"USA","SALARY":97500,"FULL_NAME":"Young, Bruce","DEPARTMENTs":{"$id":14,"$values":[]},"PROJECTs":{"$id":15,"$values":[{"$id":16,"PROJ_ID":"MAPDB","PROJ_NAME":"MapBrowser port","PROJ_DESC":"Port the map browsing database software to run
on the automobile model.
","TEAM_LEADER":4,"PRODUCT":"software","EMPLOYEE":{"$ref":13},"PROJ_DEPT_BUDGET":{"$id":17,"$values":[]},"EMPLOYEEs":{"$id":18,"$values":[]}}]},"SALARY_HISTORY":{"$id":19,"$values":[{"$id":20,"EMP_NO":4,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":90000,"PERCENT_CHANGE":8,3333,"NEW_SALARY":97499,97,"EMPLOYEE":{"$ref":13}}]},"SALES":{"$id":21,"$values":[]},"PROJECTs1":{"$id":22,"$values":[]}},{"$id":23,"EMP_NO":5,"FIRST_NAME":"Kim","LAST_NAME":"Lambert","PHONE_EXT":"22","HIRE_DATE":"06.02.1989 00:00:00","DEPT_NO":"130","JOB_CODE":"Eng","JOB_GRADE":2,"JOB_COUNTRY":"USA","SALARY":102750,"FULL_NAME":"Lambert, Kim","DEPARTMENTs":{"$id":24,"$values":[]},"PROJECTs":{"$id":25,"$values":[]},"SALARY_HISTORY":{"$id":26,"$values":[{"$id":27,"EMP_NO":5,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":95000,"PERCENT_CHANGE":8,1578,"NEW_SALARY":102749,91,"EMPLOYEE":{"$ref":23}}]},"SALES":{"$id":28,"$values":[]},"PROJECTs1":{"$id":29,"$values":[]}},{"$id":30,"EMP_NO":8,"FIRST_NAME":"Leslie","LAST_NAME":"Johnson","PHONE_EXT":"410","HIRE_DATE":"05.04.1989 00:00:00","DEPT_NO":"180","JOB_CODE":"Mktg","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":64635,"FULL_NAME":"Johnson, Leslie","DEPARTMENTs":{"$id":31,"$values":[]},"PROJECTs":{"$id":32,"$values":[]},"SALARY_HISTORY":{"$id":33,"$values":[{"$id":34,"EMP_NO":8,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":62000,"PERCENT_CHANGE":4,25,"NEW_SALARY":64635,"EMPLOYEE":{"$ref":30}}]},"SALES":{"$id":35,"$values":[]},"PROJECTs1":{"$id":36,"$values":[]}},{"$id":37,"EMP_NO":9,"FIRST_NAME":"Phil","LAST_NAME":"Forest","PHONE_EXT":"229","HIRE_DATE":"17.04.1989 00:00:00","DEPT_NO":"622","JOB_CODE":"Mngr","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":75060,"FULL_NAME":"Forest, Phil","DEPARTMENTs":{"$id":38,"$values":[{"$id":39,"DEPT_NO":"622","DEPARTMENT1":"Quality Assurance","HEAD_DEPT":"620","MNGR_NO":9,"BUDGET":300000,"LOCATION":"Monterey","PHONE_NO":"(408) 555-1234","DEPARTMENT11":{"$id":40,"$values":[]},"EMPLOYEEs":{"$id":41,"$values":[]},"EMPLOYEE":{"$ref":37},"PROJ_DEPT_BUDGET":{"$id":42,"$values":[]}}]},"PROJECTs":{"$id":43,"$values":[]},"SALARY_HISTORY":{"$id":44,"$values":[{"$id":45,"EMP_NO":9,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":72000,"PERCENT_CHANGE":4,25,"NEW_SALARY":75060,"EMPLOYEE":{"$ref":37}}]},"SALES":{"$id":46,"$values":[]},"PROJECTs1":{"$id":47,"$values":[]}},{"$id":48,"EMP_NO":11,"FIRST_NAME":"K. J.","LAST_NAME":"Weston","PHONE_EXT":"34","HIRE_DATE":"17.01.1990 00:00:00","DEPT_NO":"130","JOB_CODE":"SRep","JOB_GRADE":4,"JOB_COUNTRY":"USA","SALARY":86292,94,"FULL_NAME":"Weston, K. J.","DEPARTMENTs":{"$id":49,"$values":[{"$id":50,"DEPT_NO":"130","DEPARTMENT1":"Field Office: East Coast","HEAD_DEPT":"100","MNGR_NO":11,"BUDGET":500000,"LOCATION":"Boston","PHONE_NO":"(617) 555-1234","DEPARTMENT11":{"$id":51,"$values":[]},"EMPLOYEEs":{"$id":52,"$values":[]},"EMPLOYEE":{"$ref":48},"PROJ_DEPT_BUDGET":{"$id":53,"$values":[]}}]},"PROJECTs":{"$id":54,"$values":[]},"SALARY_HISTORY":{"$id":55,"$values":[{"$id":56,"EMP_NO":11,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":70000,"PERCENT_CHANGE":7,5,"NEW_SALARY":75250,"EMPLOYEE":{"$ref":48}},{"$id":57,"EMP_NO":11,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":75250,"PERCENT_CHANGE":4,25,"NEW_SALARY":78448,125,"EMPLOYEE":{"$ref":48}},{"$id":58,"EMP_NO":11,"CHANGE_DATE":"20.12.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":78448,13,"PERCENT_CHANGE":9,9999,"NEW_SALARY":86292,86455187,"EMPLOYEE":{"$ref":48}}]},"SALES":{"$id":59,"$values":[{"$id":60,"PO_NUMBER":"V9336100","CUST_NO":1002,"SALES_REP":11,"ORDER_STATUS":"waiting","ORDER_DATE":"27.12.1993 00:00:00","SHIP_DATE":"01.01.1994 00:00:00","DATE_NEEDED":"01.01.1994 00:00:00","PAID":"n","QTY_ORDERED":150,"TOTAL_VALUE":14850,"DISCOUNT":0,05,"ITEM_TYPE":"software","AGED":5,"EMPLOYEE":{"$ref":48}},{"$id":61,"PO_NUMBER":"V9333006","CUST_NO":1002,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"27.04.1993 00:00:00","SHIP_DATE":"02.05.1993 00:00:00","DATE_NEEDED":"02.05.1993 00:00:00","PAID":"n","QTY_ORDERED":5,"TOTAL_VALUE":20000,"ITEM_TYPE":"other","AGED":5,"EMPLOYEE":{"$ref":48}},{"$id":62,"PO_NUMBER":"V92E0340","CUST_NO":1004,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"15.10.1992 00:00:00","SHIP_DATE":"16.10.1992 00:00:00","DATE_NEEDED":"17.10.1992 00:00:00","PAID":"y","QTY_ORDERED":7,"TOTAL_VALUE":70000,"ITEM_TYPE":"hardware","AGED":1,"EMPLOYEE":{"$ref":48}},{"$id":63,"PO_NUMBER":"V92F3004","CUST_NO":1012,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"15.10.1992 00:00:00","SHIP_DATE":"16.01.1993 00:00:00","DATE_NEEDED":"16.01.1993 00:00:00","PAID":"y","QTY_ORDERED":3,"TOTAL_VALUE":2000,"ITEM_TYPE":"software","AGED":93,"EMPLOYEE":{"$ref":48}},{"$id":64,"PO_NUMBER":"V9345200","CUST_NO":1003,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"11.11.1993 00:00:00","SHIP_DATE":"02.12.1993 00:00:00","DATE_NEEDED":"01.12.1993 00:00:00","PAID":"y","QTY_ORDERED":900,"TOTAL_VALUE":27000,"DISCOUNT":0,3,"ITEM_TYPE":"software","AGED":21,"EMPLOYEE":{"$ref":48}},{"$id":65,"PO_NUMBER":"V91E0210","CUST_NO":1004,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"04.03.1991 00:00:00","SHIP_DATE":"05.03.1991 00:00:00","PAID":"y","QTY_ORDERED":10,"TOTAL_VALUE":5000,"DISCOUNT":0,1,"ITEM_TYPE":"hardware","AGED":1,"EMPLOYEE":{"$ref":48}},{"$id":66,"PO_NUMBER":"V9333005","CUST_NO":1002,"SALES_REP":11,"ORDER_STATUS":"shipped","ORDER_DATE":"03.02.1993 00:00:00","SHIP_DATE":"03.03.1993 00:00:00","PAID":"y","QTY_ORDERED":2,"TOTAL_VALUE":600,5,"ITEM_TYPE":"software","AGED":28,"EMPLOYEE":{"$ref":48}},{"$id":67,"PO_NUMBER":"V9346200","CUST_NO":1003,"SALES_REP":11,"ORDER_STATUS":"waiting","ORDER_DATE":"31.12.1993 00:00:00","DATE_NEEDED":"24.01.1994 00:00:00","PAID":"n","QTY_ORDERED":3,"DISCOUNT":1,"ITEM_TYPE":"software","EMPLOYEE":{"$ref":48}}]},"PROJECTs1":{"$id":68,"$values":[]}},{"$id":69,"EMP_NO":12,"FIRST_NAME":"Terri","LAST_NAME":"Lee","PHONE_EXT":"256","HIRE_DATE":"01.05.1990 00:00:00","DEPT_NO":"000","JOB_CODE":"Admin","JOB_GRADE":4,"JOB_COUNTRY":"USA","SALARY":53793,"FULL_NAME":"Lee, Terri","DEPARTMENTs":{"$id":70,"$values":[]},"PROJECTs":{"$id":71,"$values":[]},"SALARY_HISTORY":{"$id":72,"$values":[{"$id":73,"EMP_NO":12,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":48000,"PERCENT_CHANGE":7,5,"NEW_SALARY":51600,"EMPLOYEE":{"$ref":69}},{"$id":74,"EMP_NO":12,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":51600,"PERCENT_CHANGE":4,25,"NEW_SALARY":53793,"EMPLOYEE":{"$ref":69}}]},"SALES":{"$id":75,"$values":[]},"PROJECTs1":{"$id":76,"$values":[]}},{"$id":77,"EMP_NO":14,"FIRST_NAME":"Stewart","LAST_NAME":"Hall","PHONE_EXT":"227","HIRE_DATE":"04.06.1990 00:00:00","DEPT_NO":"900","JOB_CODE":"Finan","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":69482,63,"FULL_NAME":"Hall, Stewart","DEPARTMENTs":{"$id":78,"$values":[]},"PROJECTs":{"$id":79,"$values":[]},"SALARY_HISTORY":{"$id":80,"$values":[{"$id":81,"EMP_NO":14,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":62000,"PERCENT_CHANGE":7,5,"NEW_SALARY":66650,"EMPLOYEE":{"$ref":77}},{"$id":82,"EMP_NO":14,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":66650,"PERCENT_CHANGE":4,25,"NEW_SALARY":69482,625,"EMPLOYEE":{"$ref":77}}]},"SALES":{"$id":83,"$values":[]},"PROJECTs1":{"$id":84,"$values":[]}},{"$id":85,"EMP_NO":15,"FIRST_NAME":"Katherine","LAST_NAME":"Young","PHONE_EXT":"231","HIRE_DATE":"14.06.1990 00:00:00","DEPT_NO":"623","JOB_CODE":"Mngr","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":67241,25,"FULL_NAME":"Young, Katherine","DEPARTMENTs":{"$id":86,"$values":[{"$id":87,"DEPT_NO":"623","DEPARTMENT1":"Customer Support","HEAD_DEPT":"620","MNGR_NO":15,"BUDGET":650000,"LOCATION":"Monterey","PHONE_NO":"(408) 555-1234","DEPARTMENT11":{"$id":88,"$values":[]},"EMPLOYEEs":{"$id":89,"$values":[]},"EMPLOYEE":{"$ref":85},"PROJ_DEPT_BUDGET":{"$id":90,"$values":[]}}]},"PROJECTs":{"$id":91,"$values":[]},"SALARY_HISTORY":{"$id":92,"$values":[{"$id":93,"EMP_NO":15,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":60000,"PERCENT_CHANGE":7,5,"NEW_SALARY":64500,"EMPLOYEE":{"$ref":85}},{"$id":94,"EMP_NO":15,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":64500,"PERCENT_CHANGE":4,25,"NEW_SALARY":67241,25,"EMPLOYEE":{"$ref":85}}]},"SALES":{"$id":95,"$values":[]},"PROJECTs1":{"$id":96,"$values":[]}},{"$id":97,"EMP_NO":20,"FIRST_NAME":"Chris","LAST_NAME":"Papadopoulos","PHONE_EXT":"887","HIRE_DATE":"01.01.1990 00:00:00","DEPT_NO":"671","JOB_CODE":"Mngr","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":89655,"FULL_NAME":"Papadopoulos, Chris","DEPARTMENTs":{"$id":98,"$values":[{"$id":99,"DEPT_NO":"671","DEPARTMENT1":"Research and Development","HEAD_DEPT":"670","MNGR_NO":20,"BUDGET":460000,"LOCATION":"Burlington, VT","PHONE_NO":"(802) 555-1234","DEPARTMENT11":{"$id":100,"$values":[]},"EMPLOYEEs":{"$id":101,"$values":[]},"EMPLOYEE":{"$ref":97},"PROJ_DEPT_BUDGET":{"$id":102,"$values":[]}}]},"PROJECTs":{"$id":103,"$values":[{"$id":104,"PROJ_ID":"GUIDE","PROJ_NAME":"AutoMap","PROJ_DESC":"Develop a prototype for the automobile version of
the hand-held map browsing device.
","TEAM_LEADER":20,"PRODUCT":"hardware","EMPLOYEE":{"$ref":97},"PROJ_DEPT_BUDGET":{"$id":105,"$values":[]},"EMPLOYEEs":{"$id":106,"$values":[]}}]},"SALARY_HISTORY":{"$id":107,"$values":[{"$id":108,"EMP_NO":20,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":80000,"PERCENT_CHANGE":7,5,"NEW_SALARY":86000,"EMPLOYEE":{"$ref":97}},{"$id":109,"EMP_NO":20,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":86000,"PERCENT_CHANGE":4,25,"NEW_SALARY":89655,"EMPLOYEE":{"$ref":97}}]},"SALES":{"$id":110,"$values":[]},"PROJECTs1":{"$id":111,"$values":[]}},{"$id":112,"EMP_NO":24,"FIRST_NAME":"Pete","LAST_NAME":"Fisher","PHONE_EXT":"888","HIRE_DATE":"12.09.1990 00:00:00","DEPT_NO":"671","JOB_CODE":"Eng","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":81810,19,"FULL_NAME":"Fisher, Pete","DEPARTMENTs":{"$id":113,"$values":[]},"PROJECTs":{"$id":114,"$values":[{"$id":115,"PROJ_ID":"DGPII","PROJ_NAME":"DigiPizza","PROJ_DESC":"Develop second generation digital pizza maker
with flash-bake heating element and
digital ingredient measuring system.
","TEAM_LEADER":24,"PRODUCT":"other","EMPLOYEE":{"$ref":112},"PROJ_DEPT_BUDGET":{"$id":116,"$values":[]},"EMPLOYEEs":{"$id":117,"$values":[]}}]},"SALARY_HISTORY":{"$id":118,"$values":[{"$id":119,"EMP_NO":24,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":73000,"PERCENT_CHANGE":7,5,"NEW_SALARY":78475,"EMPLOYEE":{"$ref":112}},{"$id":120,"EMP_NO":24,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":78475,"PERCENT_CHANGE":4,25,"NEW_SALARY":81810,1875,"EMPLOYEE":{"$ref":112}}]},"SALES":{"$id":121,"$values":[]},"PROJECTs1":{"$id":122,"$values":[]}},{"$id":123,"EMP_NO":28,"FIRST_NAME":"Ann","LAST_NAME":"Bennet","PHONE_EXT":"5","HIRE_DATE":"01.02.1991 00:00:00","DEPT_NO":"120","JOB_CODE":"Admin","JOB_GRADE":5,"JOB_COUNTRY":"England","SALARY":22935,"FULL_NAME":"Bennet, Ann","DEPARTMENTs":{"$id":124,"$values":[]},"PROJECTs":{"$id":125,"$values":[]},"SALARY_HISTORY":{"$id":126,"$values":[{"$id":127,"EMP_NO":28,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":20000,"PERCENT_CHANGE":10,"NEW_SALARY":22000,"EMPLOYEE":{"$ref":123}},{"$id":128,"EMP_NO":28,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":22000,"PERCENT_CHANGE":4,25,"NEW_SALARY":22935,"EMPLOYEE":{"$ref":123}}]},"SALES":{"$id":129,"$values":[]},"PROJECTs1":{"$id":130,"$values":[]}},{"$id":131,"EMP_NO":29,"FIRST_NAME":"Roger","LAST_NAME":"De Souza","PHONE_EXT":"288","HIRE_DATE":"18.02.1991 00:00:00","DEPT_NO":"623","JOB_CODE":"Eng","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":69482,63,"FULL_NAME":"De Souza, Roger","DEPARTMENTs":{"$id":132,"$values":[]},"PROJECTs":{"$id":133,"$values":[]},"SALARY_HISTORY":{"$id":134,"$values":[{"$id":135,"EMP_NO":29,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":62000,"PERCENT_CHANGE":7,5,"NEW_SALARY":66650,"EMPLOYEE":{"$ref":131}},{"$id":136,"EMP_NO":29,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":66650,"PERCENT_CHANGE":4,25,"NEW_SALARY":69482,625,"EMPLOYEE":{"$ref":131}}]},"SALES":{"$id":137,"$values":[]},"PROJECTs1":{"$id":138,"$values":[]}},{"$id":139,"EMP_NO":34,"FIRST_NAME":"Janet","LAST_NAME":"Baldwin","PHONE_EXT":"2","HIRE_DATE":"21.03.1991 00:00:00","DEPT_NO":"110","JOB_CODE":"Sales","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":61637,81,"FULL_NAME":"Baldwin, Janet","DEPARTMENTs":{"$id":140,"$values":[{"$id":141,"DEPT_NO":"110","DEPARTMENT1":"Pacific Rim Headquarters","HEAD_DEPT":"100","MNGR_NO":34,"BUDGET":600000,"LOCATION":"Kuaui","PHONE_NO":"(808) 555-1234","DEPARTMENT11":{"$id":142,"$values":[]},"EMPLOYEEs":{"$id":143,"$values":[]},"EMPLOYEE":{"$ref":139},"PROJ_DEPT_BUDGET":{"$id":144,"$values":[]}}]},"PROJECTs":{"$id":145,"$values":[]},"SALARY_HISTORY":{"$id":146,"$values":[{"$id":147,"EMP_NO":34,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":55000,"PERCENT_CHANGE":7,5,"NEW_SALARY":59125,"EMPLOYEE":{"$ref":139}},{"$id":148,"EMP_NO":34,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":59125,"PERCENT_CHANGE":4,2499,"NEW_SALARY":61637,753375,"EMPLOYEE":{"$ref":139}}]},"SALES":{"$id":149,"$values":[]},"PROJECTs1":{"$id":150,"$values":[]}},{"$id":151,"EMP_NO":36,"FIRST_NAME":"Roger","LAST_NAME":"Reeves","PHONE_EXT":"6","HIRE_DATE":"25.04.1991 00:00:00","DEPT_NO":"120","JOB_CODE":"Sales","JOB_GRADE":3,"JOB_COUNTRY":"England","SALARY":33620,63,"FULL_NAME":"Reeves, Roger","DEPARTMENTs":{"$id":152,"$values":[{"$id":153,"DEPT_NO":"120","DEPARTMENT1":"European Headquarters","HEAD_DEPT":"100","MNGR_NO":36,"BUDGET":700000,"LOCATION":"London","PHONE_NO":"71 235-4400","DEPARTMENT11":{"$id":154,"$values":[]},"EMPLOYEEs":{"$id":155,"$values":[]},"EMPLOYEE":{"$ref":151},"PROJ_DEPT_BUDGET":{"$id":156,"$values":[]}}]},"PROJECTs":{"$id":157,"$values":[]},"SALARY_HISTORY":{"$id":158,"$values":[{"$id":159,"EMP_NO":36,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":30000,"PERCENT_CHANGE":7,5,"NEW_SALARY":32250,"EMPLOYEE":{"$ref":151}},{"$id":160,"EMP_NO":36,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":32250,"PERCENT_CHANGE":4,25,"NEW_SALARY":33620,625,"EMPLOYEE":{"$ref":151}}]},"SALES":{"$id":161,"$values":[]},"PROJECTs1":{"$id":162,"$values":[]}},{"$id":163,"EMP_NO":37,"FIRST_NAME":"Willie","LAST_NAME":"Stansbury","PHONE_EXT":"7","HIRE_DATE":"25.04.1991 00:00:00","DEPT_NO":"120","JOB_CODE":"Eng","JOB_GRADE":4,"JOB_COUNTRY":"England","SALARY":39224,06,"FULL_NAME":"Stansbury, Willie","DEPARTMENTs":{"$id":164,"$values":[]},"PROJECTs":{"$id":165,"$values":[]},"SALARY_HISTORY":{"$id":166,"$values":[{"$id":167,"EMP_NO":37,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":35000,"PERCENT_CHANGE":7,5,"NEW_SALARY":37625,"EMPLOYEE":{"$ref":163}},{"$id":168,"EMP_NO":37,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":37625,"PERCENT_CHANGE":4,2499,"NEW_SALARY":39224,024875,"EMPLOYEE":{"$ref":163}}]},"SALES":{"$id":169,"$values":[]},"PROJECTs1":{"$id":170,"$values":[]}},{"$id":171,"EMP_NO":44,"FIRST_NAME":"Leslie","LAST_NAME":"Phong","PHONE_EXT":"216","HIRE_DATE":"03.06.1991 00:00:00","DEPT_NO":"623","JOB_CODE":"Eng","JOB_GRADE":4,"JOB_COUNTRY":"USA","SALARY":56034,38,"FULL_NAME":"Phong, Leslie","DEPARTMENTs":{"$id":172,"$values":[]},"PROJECTs":{"$id":173,"$values":[]},"SALARY_HISTORY":{"$id":174,"$values":[{"$id":175,"EMP_NO":44,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":50000,"PERCENT_CHANGE":7,5,"NEW_SALARY":53750,"EMPLOYEE":{"$ref":171}},{"$id":176,"EMP_NO":44,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":53750,"PERCENT_CHANGE":4,25,"NEW_SALARY":56034,375,"EMPLOYEE":{"$ref":171}}]},"SALES":{"$id":177,"$values":[]},"PROJECTs1":{"$id":178,"$values":[]}},{"$id":179,"EMP_NO":45,"FIRST_NAME":"Ashok","LAST_NAME":"Ramanathan","PHONE_EXT":"209","HIRE_DATE":"01.08.1991 00:00:00","DEPT_NO":"621","JOB_CODE":"Eng","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":80689,5,"FULL_NAME":"Ramanathan, Ashok","DEPARTMENTs":{"$id":180,"$values":[]},"PROJECTs":{"$id":181,"$values":[{"$id":182,"PROJ_ID":"VBASE","PROJ_NAME":"Video Database","PROJ_DESC":"Design a video data base management system for
controlling on-demand video distribution.
","TEAM_LEADER":45,"PRODUCT":"software","EMPLOYEE":{"$ref":179},"PROJ_DEPT_BUDGET":{"$id":183,"$values":[]},"EMPLOYEEs":{"$id":184,"$values":[]}}]},"SALARY_HISTORY":{"$id":185,"$values":[{"$id":186,"EMP_NO":45,"CHANGE_DATE":"15.12.1992 00:00:00","UPDATER_ID":"admin2","OLD_SALARY":72000,"PERCENT_CHANGE":7,5,"NEW_SALARY":77400,"EMPLOYEE":{"$ref":179}},{"$id":187,"EMP_NO":45,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":77400,"PERCENT_CHANGE":4,25,"NEW_SALARY":80689,5,"EMPLOYEE":{"$ref":179}}]},"SALES":{"$id":188,"$values":[]},"PROJECTs1":{"$id":189,"$values":[]}},{"$id":190,"EMP_NO":46,"FIRST_NAME":"Walter","LAST_NAME":"Steadman","PHONE_EXT":"210","HIRE_DATE":"09.08.1991 00:00:00","DEPT_NO":"900","JOB_CODE":"CFO","JOB_GRADE":1,"JOB_COUNTRY":"USA","SALARY":116100,"FULL_NAME":"Steadman, Walter","DEPARTMENTs":{"$id":191,"$values":[{"$id":192,"DEPT_NO":"900","DEPARTMENT1":"Finance","HEAD_DEPT":"000","MNGR_NO":46,"BUDGET":400000,"LOCATION":"Monterey","PHONE_NO":"(408) 555-1234","DEPARTMENT11":{"$id":193,"$values":[]},"EMPLOYEEs":{"$id":194,"$values":[]},"EMPLOYEE":{"$ref":190},"PROJ_DEPT_BUDGET":{"$id":195,"$values":[]}}]},"PROJECTs":{"$id":196,"$values":[]},"SALARY_HISTORY":{"$id":197,"$values":[{"$id":198,"EMP_NO":46,"CHANGE_DATE":"20.12.1993 00:00:00","UPDATER_ID":"tj","OLD_SALARY":120000,"PERCENT_CHANGE":-3,25,"NEW_SALARY":116100,"EMPLOYEE":{"$ref":190}}]},"SALES":{"$id":199,"$values":[]},"PROJECTs1":{"$id":200,"$values":[]}},{"$id":201,"EMP_NO":52,"FIRST_NAME":"Carol","LAST_NAME":"Nordstrom","PHONE_EXT":"420","HIRE_DATE":"02.10.1991 00:00:00","DEPT_NO":"180","JOB_CODE":"PRel","JOB_GRADE":4,"JOB_COUNTRY":"USA","SALARY":42742,5,"FULL_NAME":"Nordstrom, Carol","DEPARTMENTs":{"$id":202,"$values":[]},"PROJECTs":{"$id":203,"$values":[]},"SALARY_HISTORY":{"$id":204,"$values":[{"$id":205,"EMP_NO":52,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":41000,"PERCENT_CHANGE":4,25,"NEW_SALARY":42742,5,"EMPLOYEE":{"$ref":201}}]},"SALES":{"$id":206,"$values":[]},"PROJECTs1":{"$id":207,"$values":[]}},{"$id":208,"EMP_NO":61,"FIRST_NAME":"Luke","LAST_NAME":"Leung","PHONE_EXT":"3","HIRE_DATE":"18.02.1992 00:00:00","DEPT_NO":"110","JOB_CODE":"SRep","JOB_GRADE":4,"JOB_COUNTRY":"USA","SALARY":68805,"FULL_NAME":"Leung, Luke","DEPARTMENTs":{"$id":209,"$values":[]},"PROJECTs":{"$id":210,"$values":[]},"SALARY_HISTORY":{"$id":211,"$values":[{"$id":212,"EMP_NO":61,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":60000,"PERCENT_CHANGE":4,25,"NEW_SALARY":62550,"EMPLOYEE":{"$ref":208}},{"$id":213,"EMP_NO":61,"CHANGE_DATE":"20.12.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":62550,"PERCENT_CHANGE":10,"NEW_SALARY":68805,"EMPLOYEE":{"$ref":208}}]},"SALES":{"$id":214,"$values":[{"$id":215,"PO_NUMBER":"V92J1003","CUST_NO":1010,"SALES_REP":61,"ORDER_STATUS":"shipped","ORDER_DATE":"26.07.1992 00:00:00","SHIP_DATE":"04.08.1992 00:00:00","DATE_NEEDED":"15.09.1992 00:00:00","PAID":"y","QTY_ORDERED":15,"TOTAL_VALUE":2985,"ITEM_TYPE":"software","AGED":9,"EMPLOYEE":{"$ref":208}},{"$id":216,"PO_NUMBER":"V93F0020","CUST_NO":1009,"SALES_REP":61,"ORDER_STATUS":"shipped","ORDER_DATE":"10.10.1993 00:00:00","SHIP_DATE":"11.11.1993 00:00:00","DATE_NEEDED":"11.11.1993 00:00:00","PAID":"n","QTY_ORDERED":1,"TOTAL_VALUE":490,69,"ITEM_TYPE":"software","AGED":32,"EMPLOYEE":{"$ref":208}},{"$id":217,"PO_NUMBER":"V93H3009","CUST_NO":1008,"SALES_REP":61,"ORDER_STATUS":"shipped","ORDER_DATE":"01.08.1993 00:00:00","SHIP_DATE":"02.12.1993 00:00:00","DATE_NEEDED":"01.12.1993 00:00:00","PAID":"n","QTY_ORDERED":3,"TOTAL_VALUE":9000,"DISCOUNT":0,05,"ITEM_TYPE":"software","AGED":123,"EMPLOYEE":{"$ref":208}},{"$id":218,"PO_NUMBER":"V93H0500","CUST_NO":1008,"SALES_REP":61,"ORDER_STATUS":"open","ORDER_DATE":"12.12.1993 00:00:00","DATE_NEEDED":"15.12.1993 00:00:00","PAID":"n","QTY_ORDERED":3,"TOTAL_VALUE":16000,"DISCOUNT":0,2,"ITEM_TYPE":"hardware","EMPLOYEE":{"$ref":208}},{"$id":219,"PO_NUMBER":"V94H0079","CUST_NO":1005,"SALES_REP":61,"ORDER_STATUS":"open","ORDER_DATE":"13.02.1994 00:00:00","DATE_NEEDED":"20.04.1994 00:00:00","PAID":"n","QTY_ORDERED":10,"TOTAL_VALUE":9000,"DISCOUNT":0,05,"ITEM_TYPE":"software","EMPLOYEE":{"$ref":208}}]},"PROJECTs1":{"$id":220,"$values":[]}},{"$id":221,"EMP_NO":65,"FIRST_NAME":"Sue Anne","LAST_NAME":"O'Brien","PHONE_EXT":"877","HIRE_DATE":"23.03.1992 00:00:00","DEPT_NO":"670","JOB_CODE":"Admin","JOB_GRADE":5,"JOB_COUNTRY":"USA","SALARY":31275,"FULL_NAME":"O'Brien, Sue Anne","DEPARTMENTs":{"$id":222,"$values":[]},"PROJECTs":{"$id":223,"$values":[]},"SALARY_HISTORY":{"$id":224,"$values":[{"$id":225,"EMP_NO":65,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":30000,"PERCENT_CHANGE":4,25,"NEW_SALARY":31275,"EMPLOYEE":{"$ref":221}}]},"SALES":{"$id":226,"$values":[]},"PROJECTs1":{"$id":227,"$values":[]}},{"$id":228,"EMP_NO":71,"FIRST_NAME":"Jennifer M.","LAST_NAME":"Burbank","PHONE_EXT":"289","HIRE_DATE":"15.04.1992 00:00:00","DEPT_NO":"622","JOB_CODE":"Eng","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":53167,5,"FULL_NAME":"Burbank, Jennifer M.","DEPARTMENTs":{"$id":229,"$values":[]},"PROJECTs":{"$id":230,"$values":[]},"SALARY_HISTORY":{"$id":231,"$values":[{"$id":232,"EMP_NO":71,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":51000,"PERCENT_CHANGE":4,25,"NEW_SALARY":53167,5,"EMPLOYEE":{"$ref":228}}]},"SALES":{"$id":233,"$values":[]},"PROJECTs1":{"$id":234,"$values":[]}},{"$id":235,"EMP_NO":72,"FIRST_NAME":"Claudia","LAST_NAME":"Sutherland","HIRE_DATE":"20.04.1992 00:00:00","DEPT_NO":"140","JOB_CODE":"SRep","JOB_GRADE":4,"JOB_COUNTRY":"Canada","SALARY":100914,"FULL_NAME":"Sutherland, Claudia","DEPARTMENTs":{"$id":236,"$values":[{"$id":237,"DEPT_NO":"140","DEPARTMENT1":"Field Office: Canada","HEAD_DEPT":"100","MNGR_NO":72,"BUDGET":500000,"LOCATION":"Toronto","PHONE_NO":"(416) 677-1000","DEPARTMENT11":{"$id":238,"$values":[]},"EMPLOYEEs":{"$id":239,"$values":[]},"EMPLOYEE":{"$ref":235},"PROJ_DEPT_BUDGET":{"$id":240,"$values":[]}}]},"PROJECTs":{"$id":241,"$values":[]},"SALARY_HISTORY":{"$id":242,"$values":[{"$id":243,"EMP_NO":72,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":88000,"PERCENT_CHANGE":4,25,"NEW_SALARY":91740,"EMPLOYEE":{"$ref":235}},{"$id":244,"EMP_NO":72,"CHANGE_DATE":"20.12.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":91740,"PERCENT_CHANGE":10,"NEW_SALARY":100914,"EMPLOYEE":{"$ref":235}}]},"SALES":{"$id":245,"$values":[{"$id":246,"PO_NUMBER":"V9324200","CUST_NO":1001,"SALES_REP":72,"ORDER_STATUS":"shipped","ORDER_DATE":"09.08.1993 00:00:00","SHIP_DATE":"09.08.1993 00:00:00","DATE_NEEDED":"17.08.1993 00:00:00","PAID":"y","QTY_ORDERED":1000,"TOTAL_VALUE":560000,"DISCOUNT":0,2,"ITEM_TYPE":"hardware","AGED":0,"EMPLOYEE":{"$ref":235}},{"$id":247,"PO_NUMBER":"V93C0120","CUST_NO":1006,"SALES_REP":72,"ORDER_STATUS":"shipped","ORDER_DATE":"22.03.1993 00:00:00","SHIP_DATE":"31.05.1993 00:00:00","DATE_NEEDED":"17.04.1993 00:00:00","PAID":"y","QTY_ORDERED":1,"TOTAL_VALUE":47,5,"ITEM_TYPE":"other","AGED":70,"EMPLOYEE":{"$ref":235}},{"$id":248,"PO_NUMBER":"V93C0990","CUST_NO":1006,"SALES_REP":72,"ORDER_STATUS":"shipped","ORDER_DATE":"09.08.1993 00:00:00","SHIP_DATE":"02.09.1993 00:00:00","PAID":"y","QTY_ORDERED":40,"TOTAL_VALUE":399960,5,"DISCOUNT":0,1,"ITEM_TYPE":"hardware","AGED":24,"EMPLOYEE":{"$ref":235}}]},"PROJECTs1":{"$id":249,"$values":[]}},{"$id":250,"EMP_NO":83,"FIRST_NAME":"Dana","LAST_NAME":"Bishop","PHONE_EXT":"290","HIRE_DATE":"01.06.1992 00:00:00","DEPT_NO":"621","JOB_CODE":"Eng","JOB_GRADE":3,"JOB_COUNTRY":"USA","SALARY":62550,"FULL_NAME":"Bishop, Dana","DEPARTMENTs":{"$id":251,"$values":[]},"PROJECTs":{"$id":252,"$values":[]},"SALARY_HISTORY":{"$id":253,"$values":[{"$id":254,"EMP_NO":83,"CHANGE_DATE":"08.09.1993 00:00:00","UPDATER_ID":"elaine","OLD_SALARY":60000,"PERCENT_CHANGE":4,25,"NEW_SALARY":62550,"EMPLOYEE":{"$ref":250}}]},"SALES":{"$id":255,"$values":[]},"PROJECTs1":{"$id":256,"$values":[]}},{"$id":257,"EMP_NO":85,"FIRST_NAME":"Mary S.","LAST_NAME":"MacDonald","PHONE_EXT":"477","HIRE_DATE":"01.06.1992 00:00:00","DEPT_NO":"100","JOB_CODE":"VP","JOB_GRADE":2,"JOB_COUNTRY":"USA","SALARY":111262,5,"FULL_NAME":"MacDonald, Mary S.","DEPARTMENTs":{"$id":258,"$values":[{"$id":259,"DEPT_NO":"100","DEPARTMENT1":"Sales and Marketing","HEAD_DEPT":"000","MNGR_NO":85,"BUDGET":2000000,"LOCATION":"San Francisco","PHONE_NO":"(415) 555-1234","DEPARTMENT11":{"$id":260,"$values":[]},"EMPLOYEEs":{"$id":261,"$values":[]},"EMPLOYEE":{"$ref":257},"PROJ_DEPT_BUDGET":{"$id":262,"$values":[]}}]},"PROJECTs":{"$id":263,"$values":[{"$id":264,"PROJ_ID":"MKTPR","PROJ_NAME":"Marketing project 3","PROJ_DESC":"Expand marketing and sales in the Pacific Rim.
Set up a field office in Australia and Singapore.

Here it is:
[Table("Firebird.SALARY_HISTORY")]
public partial class SALARY_HISTORY
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public short EMP_NO { get; set; }

    [Key]
    [Column(Order = 1)]
    public DateTime CHANGE_DATE { get; set; }

    [Key]
    [Column(Order = 2)]
    [StringLength(20)]
    public string UPDATER_ID { get; set; }

    [Column(TypeName = "numeric")]
    public decimal OLD_SALARY { get; set; }

    public double PERCENT_CHANGE { get; set; }

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public double? NEW_SALARY { get; set; }

    public virtual EMPLOYEE EMPLOYEE { get; set; }
}

Can you pls run this code and show me the result? thanks.
After run serializer you must replace SALARY_HISTORY_Type to your SALARY_HISTORY object instance.
example:
obj.SALARY_HISTORY.GetType()
                var result= string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

Can you pls run this code and show me the result? thanks.
var result= string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

Here is the output:
name: $id , type: System.Int32
name: $values , type: System.Collections.Generic.HashSet`1[[SerializerDemo.Model.SALARY_HISTORY, SerializerDemo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]

Thanks But its not result that I want,
It's make result of array but I want result of one item of array.
So please do this example:
var result= string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type[0]).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

Thanks But its not result that I want,

var result= string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type[0]).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

ICollections have no [] index support, so I used list[0].SALARY_HISTORY.AsEnumerable().ElementAt(0).GetType(); to get type of one element and here is result:
name: $id , type: System.Int32
name: EMP_NO , type: System.Int16
name: CHANGE_DATE , type: System.DateTime
name: UPDATER_ID , type: System.String
name: OLD_SALARY , type: System.Decimal
name: PERCENT_CHANGE , type: System.Double
name: NEW_SALARY , type: System.Nullable`1[[System.Double, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
name: EMPLOYEE , type: SerializerDemo.Model.EMPLOYEE

Install firebird 3, the firebird .net provider as .MSI DDEX and use EF6 reverse Engineering to generate the Code First code. Now you can test it in depth

Ok I tried and everything was ok but generate edmx for ado.net not work because i have vs 2019 last version and it vsix not showing firebird provider, please send me your edmx file if you can.

I don't have a EDMX, I've used EF6 reverse Engineering to generate the Code First .cs files. After configuring DDEX provider, stop automatic extension updates in Visual Studio. After an extension update you need to mount the privateregistry.bin and import the reg data again.

Here are the cs files:
Model.zip
Add this to your app.config
<entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
    </providers>
    <defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
  </entityFramework>
<connectionStrings>
    <add name="EmployeeModel" connectionString="character set=ISO8859_1;data source=localhost;initial catalog="C:\Program Files\Firebird\Firebird_3_0\examples\empbuild\EMPLOYEE.FDB";user id=SYSDBA;password=masterkey" providerName="FirebirdSql.Data.FirebirdClient" />
  </connectionStrings>

           using (var context = new ModelDbContext())
           {
               var query = from d in context.EMPLOYEEs.Include(a=>a.DEPARTMENTs)
                                                       .Include(b=>b.SALARY_HISTORY)
                                                       .Include(c=>c.SALES)
                                                       .Include(x => x.PROJECTs)
                                                       .AsNoTracking()
                   select d;

               var queryresult = query.ToList();

               var serializedvalue = JsonGo.Serializer.SingleIntance.Serialize(queryresult);

               var SALARY_HISTORY_Type = queryresult[0].SALARY_HISTORY.GetType();
               var SALARY_HISTORY_Type_1 = queryresult[0].SALARY_HISTORY.AsEnumerable().ElementAt(0).GetType();

               var result = string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

               Console.WriteLine(result);

               result = string.Join(Environment.NewLine, TypeGoInfo.Generate(SALARY_HISTORY_Type_1).SerializeProperties.Select(x => $"name: {x.Name} , type: {x.Type.FullName}"));

               Console.WriteLine(result);

               var deserialize = JsonGo.Deserialize.Deserializer.SingleIntance.Deserialize<List<EMPLOYEE>>(serializedvalue);
}

I tested that in ef core there was not serialization problem, but in ef6 i got this error and i cannot run the project:

System.InvalidOperationException: 'The 'Instance' member of the Entity Framework provider type 'FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=3750abcc3150b00c' did not return an object that inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. Entity Framework providers must inherit from this class and the 'Instance' member must return the singleton instance of the provider. This may be because the provider does not support Entity Framework 6 or later; see http://go.microsoft.com/fwlink/?LinkId=260882 for more information.'

can you send me what version is your project packages and what packages are you installed?
thank you.

I use EF6 6.2 and firebird provider 7.1.0. Have you also installed the EF provider for Firebird?

Yes I installed everything, its work in net core, with ef core packages but not work in EF6

have you added the entry to the app.config?

Yes, but that not works.I did that direct.
I uploaded my solution
jsongodbtest.zip

your password settings are wrong. user is SYSDBA and password masterkey for firebird, the bindings to FB are not up to date (you force loading 4.5):
<dependentAssembly>
        <assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>

in Context constructor you used a strange connection string, use the default value it reads the string from app.config, next you corrupted the query . Add using System.Data.Entity; to get lamda support.
Main issue was a corrupted app.config. I've attached the fixed version.
jsongodbtest.zip

ok I published Preview6 and fix the bugs, now you can test it, Thank you for you Issue.

new version still generates invalid json in the JSON visualizer

I don't know why, but in my case that works fine, mybe yoou have more data in your table?

not, it is the demo project from here. Nothing added.

Ok , Can you send me your serialized Text?

ok the bug was for your default system Culture. please check preview7

please check preview7

works now fine


Stable identities for Kafka Connect worker nodes

This PR adds a proposal for stable Kafka Connect and Kafka Mirror Maker 2 pod names which should give the worker nodes stable identities and improve the way how tasks are rebalanced when reconfiguring the Connect or MM2 clusters.

Approved with 6 binding and 2 non-binding votes.


Add xbox live custom update

Breaking Change:
N/A

Description:

Set a default update interval that is within the free limit. Consider number of users per api key when setting interval.
Add myself as codeowner.

Related issue (if applicable):
fixes #16105
closes #26930
Example entry for configuration.yaml (if applicable):
sensor:
  - platform: xbox_live
    api_key: API_KEY
    xuid:
      -<PHONE_NUMBER>234567
      -<PHONE_NUMBER>234568

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.

CC @frenck

Nice work mister! 🎉 🏅


Allow cloud-init override

The driver should allow cloud-init customization :
cloud_init: base64 | default(default_generated)
ssh_priv_key: file |default(auto) # if auto : *try* to inject ssh key in custom cloud init

expose ssh credential as ansible {{ var }} for people to use it in their own template ? allow override as mentionned in sample code and try to inject ?  (this may be 2 different issues ?)

Now ok with user_data introduced in 0.0.5


[stable/kube-state-metrics] Fix STS role for Autosharding

Currently, Get, List and Watch are required. List and Watch are provided
by the ClusterRole related to collectors. The STS collector can be
disabled breaking the current AutoSharding role permissions.

Moreover, the resourceNames depends of the RELEASE_NAME as defined in
deployment.yaml so we need to reflect this or we won't have the correct
permission to read our STS.

What this PR does / why we need it:
Currently, there are two things missing for Autosharding to work properly. The first having the correct permissions. When you are using this chart but disabling the STS collector, you end up having only the "Get" permission which is not enough to have a ListWatch.
The second is the STS name. This chart defines it as:
https://github.com/helm/charts/blob/39b30b5a042198fc749e21c38ab78589f3ddf90f/stable/kube-state-metrics/templates/deployment.yaml#L8
The Role however, specify kube-state-metrics which does not match the real name (and hence not provide you the permissions).
Which issue this PR fixes
No issue yet.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/ok-to-test


Upgrade Terraform to 1.2.3

To ensure the applications are aligned in their use of the same Terraform version, we need to upgrade the version from 0.14.11 to 1.2.3.
Context
Changes proposed in this pull request
Guidance to review
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Upgrade terraform in register


Ability to add widget in Gnome panel

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
I would like to add widget of my app in Gnome panel/bar.
Describe alternatives you've considered
I have checked the docs and couldn't find anything clear.
Additional context
See the attachment, i would like to add the widget in those red squares.

This is out of tauri scope.
However you could call native apis with rust, and you probably will need to use gtk-rs.


Dummy PR (to trigger tests)

Dummy PR to trigger regression test workflows (copy of #873 )

finished testing


TestBed Integration broken

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: 6.1.2
Cross-platform modules: 6.1.0
Android Runtime: 6.1.2
iOS Runtime: 6.1.0
Plugin(s): -
NativeScript-Angular: 8.2.0
Angular: 8.2.0

Describe the bug
Getting following error:
NativeScript / 12.0 (12.0; iPhone) Renderer E2E executes events inside NgZone when listen is called outside NgZone FAILED
	TypeError: null is not an object (evaluating 'this.platform.injector') in file:///app/vendor.js (line 69344)
	    at <Jasmine>
	at file:///app/vendor.js:82816:44
	    at <Jasmine>
	at file:///app/bundle.js:116:28
	    at <Jasmine>

To Reproduce

Create new project
Add test tools: tns test init && npm i jasmine @types/jasmine --D
Add test at src/tests/example.ts:

import { Component, ElementRef, NgZone, Renderer2 } from '@angular/core';
import { ComponentFixture, async } from '@angular/core/testing';
import { StackLayout } from 'tns-core-modules/ui/layouts/stack-layout';
import {
    nsTestBedAfterEach,
    nsTestBedBeforeEach,
    nsTestBedRender
} from 'nativescript-angular/testing';

@Component({
    template: `
        <StackLayout><Label text="Layout"></Label></StackLayout>
    `
})
export class ZonedRenderer {
    constructor(public elementRef: ElementRef, public renderer: Renderer2) {}
}

describe('Renderer E2E', () => {
    beforeEach(nsTestBedBeforeEach([ZonedRenderer]));
    afterEach(nsTestBedAfterEach(false));

    it('executes events inside NgZone when listen is called outside NgZone', async(() => {
        const eventName = 'someEvent';
        const view = new StackLayout();
        const eventArg = { eventName, object: view };
        const callback = arg => {
            expect(arg).toEqual(eventArg);
            expect(NgZone.isInAngularZone()).toBeTruthy();
        };
        nsTestBedRender(ZonedRenderer).then(
            (fixture: ComponentFixture<ZonedRenderer>) => {
                fixture.ngZone.runOutsideAngular(() => {
                    fixture.componentInstance.renderer.listen(
                        view,
                        eventName,
                        callback
                    );

                    view.notify(eventArg);
                });
            }
        );
    }));
});

Expected behavior
test works ;)
Sample project
https://github.com/hypery2k/tns_bug_2048
Just checkout and run tns test ios
Additional context

sorry, can be ignored. Setup issue on my side: You'll find a sample here: https://github.com/hypery2k/tns_testbed_sample


Translatable: Fix PHP7 error "Cannot use 'String' as class name".

There is deprecate field type annotation in ODM in favor of Field.
Old:
/**
* @MongoODM\String
*/

New:
/**
* @MongoODM\Field(type="string")
*/

thanks ;)

Very thanks for this modification. @l3pp4rd can we have, please, a version more than use the dev version for this modification?

:+1: for merging in 2.4 as suggested in this issue too: https://github.com/stof/StofDoctrineExtensionsBundle/issues/332

Can we have this merged in 2.4.x please? I'm using this extension with php7 and the AbstractTranslation class still uses MongoODM\String

it is in v2.4.23 tag. see the commits and changes update your extensions

I think there's some mistake and it isn't or maybe I'm super confused but:
https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.23/lib/Gedmo/Translatable/Document/MappedSuperclass/AbstractTranslation.php

hm, indeed. could you open a pull request with the Field annotation usage instead?

It has already been merged into master. Should there be new pull request to merge it into v2.4.x branch or how should this be done?

#1683
This should be it


Alternative cursor rendering idea

Rather than the current XOR based cursor rendering, we could render the cursor in a similar manner to sprites - copy the background and then draw a rectangle when showing, and paste the background when hiding.  doing this the cursor will always be able to render, and will always be shown in the current text foreground colour.
going down this route we could also, potentially, add support for using a bitmap as a cursor
(part of the "problem" with the existing cursor rendering system is that the routine that draws the cursor neither knows or really cares whether it's showing or hiding the cursor.  we separately track a binary to indicate whether the cursor is showing or is hidden, but the drawing routine simply doesn't care)

The cursor will then be completely invisible when it is over a rectangle that is completely in the foreground colour. For example a space that was drawn in reverse video.


allow control over pkg versions

it would be helpful to add control over which pkg version/commit goes into the universe, default being updated CRAN version.

love this idea and fully intend to implement it, but I'll stop short of guaranteeing a completion date 😬


Decouple components

This PR is prep to create HA integration instead of using MQTT. This is done by adding an event bus and decoupling the XC package and MQTT.

Can you proceed a little with the HA integration, so I can better understand your approach? This is not criticism, I just haven't completely understood why the components need to be decoupled in this way yet.


documentation:  Collab_Notebook_Processing_data_using_SQL_and_local_database

What
Added Collab notebook for the example - Processing data using SQL and local database, #3061
Why
To make it easier for the user to work the library in Google Collab notebook.
What kind of Change it is
enhancement

I have made the changes in the notebook by adding the jobs in the cells using %%vdksql cell magic command, also i have updated the link to github on my branch will change to main when merged

@antoniivanov Completed all the above changes

Thank you for your contribution. I've merged it now.  And I've added a link in the data processing examples section


Update de_DE.lang

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Add IstNorden / NichtIstNorden

Add at least on direction condition to make code adaptable to heading

-> will be done soon

done


[CLML] Fix in clml pattern check condition

Added more check condition to make clml path more robust.

Depth_to_space - CLML path only supported for mode="DCR" and NCHW layout
Default checks -  CLML supports less than 4D tensor dimension and with batch size =1.

@srkreddy1238 : Can you please take a look in this PR


Updated README.md with link to new packed release (zip)

The README.md file contain a link to a packed release (zip) for people not using composer. This zip-file contains a version that is more than a year old (version 3.20).
Time to create a new packed release?

Thanks @beltofte!
We will investigate.

This is resolved in our latest release. Thanks again for the heads up!


299 create dev space

@gleckler1 @durack1 let me know if this makes any sense, look at: https://github.com/PCMDI/pcmdi_metrics/blob/299_create_dev_space/doc/HOWTO_devel_package.md
to know how it is supposed to work, I tried to make it very simple and automate the build for you.

@doutriaux1 this is very nifty, but is way over the head of most conventional scientists..

This should help us get started but its true scientists will struggle.    I don't really get
"lib where your python packge file will sit"
using /lib for including functions/modules I get, but what is "your python package file"?  How is this different from a "driver script" in the script directory?   Anyhow, thanks for setting this up and we'll start experimenting with it and keep you in the loop as difficulties arise...
FYI a few starters...
/obs_preparation - here Paul and I will develop scripts converting obs monthly data with cmor and climatologies using cmor.
/variability_santer2011 - here PG will work with Celine on advancing a script she has been developing
/seaice_ivanova2016 - this will be annual cycle sea-ice metrics
... there is going to be an interesting list!

@gleckler1 wanna merge and then tweak? Is this what you envisaged?

@gleckler1 look into src/python/devel
There is an example of a package called example_dev
basically scripts (like pcmdi_driver) go in scripts (doh..)
all the actual python files to run the code go in lib (like files currently in src/python/pcmdi)
any doc/share etc... need go into doc/share subdirectories of data
I can walk you through it on Monday.

@durack1 let me go through it with @gleckler1 first probably a few tweaks then, then let's merge. Anyway nothing in devel will be built unless the user specificcally asks for it, so even if you merge it won't affect end-users.

@doutriaux1 no problems.. Both @gleckler1 and I are out east this week, so might be a little harder to get feedback.. I'm aware that we're under a fair time pressure on all this so just want to make sure that I'm/we're not holding up progress by not merging your standing PRs or anything..


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_9fc3s9tt8b/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_9fc3s9tt8b/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_9fc3s9tt8b/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
Errors were found


Adjust PostgreSQL fillfactor for tables involving updates

Default fillfactor in PostgreSQL is 100. This is good for tables which are never involved in updates. However, the following tables are used with updates and should use a smaller fillfactor for better performance:

logical_resources
{resource-type}_logical_resources

The update to logical_resources occurs only during a reindex operation. Updates to the resource-type-specific logical-resources tables occurs when a new version of an existing resource is created.

one parameter value, but needs investigation and testing about what is the best value for each table

not directly related to the new query builder but should be considered if we happen to adjust postgres schema for improved stats.

if you describe the tables with \d+ it can give you the extra info


Feature: Ability to compile in-world, and compendiums for items/spells

If we have functionality that can help us find pre-existing items of a certain type, we can have the character builder (and perhaps building the custom classes & ancestries easier) populated with whatever a GM wants to add to the world.

I have something I developed for the John Carter of Mars system I'm slowly working on which will handle this.  It basically builds a deduped cache of specified item types and stores them in the CONFIG object for ease of access.
I can try and get that included ready for when we need to use it.

Awesome, that sounds exactly what the thoughts I had could have crystalized down to!

This has been implemented, see src/documents/cacheForeignDocuments.mjs.

Reopening this as lessons learned from the Conan system have revealed that this is not a great way of doing this (too many issues), so will replace with a more dynamic setup.


Java runtime

Hi Tom @tomjohnson1492
First of all, thanks for this wonderful theme.
I have some issue in starting the Jekyll server at my local machine. Here is the error that I am getting. Let me know if you have seen this message before. I am on Slackware 14.2 and followed the getting started instructions to upgrade the bundle..
bash-4.3$ bundle exec jekyll serve Configuration file: /home/ashutosh/documentation/_config.yml Configuration file: /home/ashutosh/documentation/_config.yml jekyll 3.3.1 | Error:  Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
After seeing this message, I installed the execjs too from above link. But it didn't work.
Thanks in advance

I've never seen that error. I'm not sure what Slackware 14.2 even is. Can you install and run a vanilla jekyll site? did you try bundle install?

Tom - Thanks for the response.
Slackware is a Linux distribution. 14.2 being their latest release.
Yes , I have Jekyll server running for other Jekyll based websites. I suspect its the jekyll version 3.3.1 causing the issue ..
Yes, I did Bundle install. I upgraded bundler to to latest version 1.14. Then I did bundle update . It did work..

Great. Thanks for the follow-up.


[Q] Is there a way to combine runs from different wandb local into a single one?

Hello,
I'm trying to aggregate the runs I collected with different wandb local instances into a single one, so that I can look at all my runs simultaneously.
Is there a simple way to do that? Also, could I run wandb in an offline mode and then somehow add up the collected runs in a folder and then run wandb local on it?

Hey @optimass we do not support merging multiple instances of wandb local.  It's meant for trying out the service, we would suggest configuring a production install by obtaining a license and configuring an external MySQL and object store.
You can sync local run folders to any wandb server.  Just make sure you're logged in to the appropriate server with wandb login --host=http://localhost:8080 and then run wandb sync wandb/run-XXX-XXXXXXX where the XXX's are replaced with the actual local run folders.

Great, that worked!
Some extra notes if someone else is switching between standard and self-hosted wandb and gets here:
after wandb local, maybe wandb login --host=http://localhost:8080 will work fine but wandb sync will throw :
    raise CommError("Invalid or missing api_key.  Run wandb login")
wandb.errors.CommError: Invalid or missing api_key.  Run wandb login

in this case, run wandb login --relogin --host=http://localhost:8080 and paste the API key of your local account


Unable to push a new app in vagrant

I was able to set /deis/platform/sshPrivateKey, but when I tried to push example-ruby-sinatra to my local cluster, it failed with Permission denied (publickey)..
I also did a ssh-add ~/.vagrant.d/insecure_private_key before pushing my app.
I then restarted deis-builder but without luck.

I've personally earlier today followed the instructions step for step and set up vagrant with deis, your issue did not affect me, did you perhaps miss some step?
I'm on master at f4c2a241530522d0d612fe3448bf9309d2c7927f.

@ngpestelos did you run deis keys:add?

Any update on this Permission denied (publickey) issue? This usually means deis keys:add wasn't run, or that the key added isn't available to the client with ssh-add ~/.ssh/privkey.

I'm going to close this since it hasn't had any updated activity in a couple weeks. Please re-open if there is still an issue here that Deis should fix.

OK, thank you.


Support seccomp on musl

Musl-based distributions like Alpine didn't work with seccomp profile
enabled. This was due to musl using different syscalls than glibc under
the cover.

writev/readv and epoll_pwait have been allowed
specific ioctl has been allowed to enableprinting the error/exit
message
brk has been allowed at runtime
worker writes to stderr have been allowed (this was also broken on
glibc)

Fixes #347

thanks! for some reason I thought the process would exit if the failure were severe enough. hopefully this fixes it enough, I'll try to validate

Would you prefer if it did?
As per:
https://github.com/memcached/memcached/blob/master/linux_priv.c#L7
This is a simple change. It may be easier to tell that something's wrong that way...

Yeah probably. it's still gated behind a compile flag.. it didn't exactly "fail open" this time, it seemed to have "Failed into a confused user" :)

This change is also needed to run on recent glibc. I checked on an updated Arch with glibc 2.26 and it also uses epoll_pwait syscall internally.

time for another merge round. seems to work locally at least :) I'm going to attempt to add a separate buildbot builder for seccomp before release, but it's merged into next for now.

released in 1.5.7


postprocessing

Hello, I want to set auto-exposure and enable postprocessing using python just as in the realsense，my code is as follows, I can set depth unit and emitter now, how to set auto-exposure and post-
processing using python

import pyrealsense2 as rs
import numpy as np
import cv2
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
profile = pipeline.start(config)
depth_sensor = profile.get_device().first_depth_sensor()
if depth_sensor.supports(rs.option.depth_units):
depth_sensor.set_option(rs.option.depth_units,0.001)
if depth_sensor.supports(rs.option.emitter_enabled):
depth_sensor.set_option(rs.option.emitter_enabled, 1.0)
depth_scale = depth_sensor.get_depth_scale()
print("Depth Scale is: " , depth_scale)
clipping_distance_in_meters = 1 #1 meter
clipping_distance = clipping_distance_in_meters / depth_scale
align_to = rs.stream.color
align = rs.align(align_to)
i=1
j=1
try:
while True:
frames = pipeline.wait_for_frames()
aligned_frames = align.process(frames)
    aligned_depth_frame = aligned_frames.get_depth_frame() # aligned_depth_frame is a 640x480 depth image
    color_frame = aligned_frames.get_color_frame()

    if not aligned_depth_frame or not color_frame:
        continue

    depth_image = np.asanyarray(aligned_depth_frame.get_data())
    color_image = np.asanyarray(color_frame.get_data())

    grey_color = 153
    depth_image_3d = np.dstack((depth_image,depth_image,depth_image)) #depth image is 1 channel, color is 3 channels
    bg_removed = np.where((depth_image_3d > clipping_distance) | (depth_image_3d <= 0), grey_color, color_image)

    depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
    images = np.hstack((bg_removed, depth_colormap))
    cv2.namedWindow('Align Example', cv2.WINDOW_AUTOSIZE)
    cv2.imshow('Align Example', images)
    cv2.imwrite("//home//cindy//桌面//emitter_enabled//depth//"+str(i)+".png",depth_image)  #保存到指定目录
    cv2.imwrite("//home//cindy//桌面//emitter_enabled//rgb//"+str(i)+".png",color_image)
    i = i+1
    j = j+1
    key = cv2.waitKey(1)
    # Press esc or 'q' to close the image window
    if key & 0xFF == ord('q') or key == 27:
        cv2.destroyAllWindows()
        break

finally:
pipeline.stop()
Thanks very much

Hi @Mikeraka
Please take a look at depth_filters.ipynb, I think it can help you get started.

Hi @Mikeraka
Setting depth unit option should affect raw depth values.
You can try it with the RealSense Viewer: when hovering over depth pixel, the reported distance should not change, but the raw value should.
Please check that you are using the latest SDK version, since we did fix something related to depth units recently.

@dorodnic Thank you very much for your answering.
As I want to save a sequences of aligned depth and rgb images for 3D reconstruction. My code is as follows:
import pyrealsense2 as rs
import numpy as np
import cv2
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
decimation = rs.decimation_filter()
spatial = rs.spatial_filter()
temporal = rs.temporal_filter()
hole_filling = rs.hole_filling_filter()
depth_to_disparity = rs.disparity_transform(True)
disparity_to_depth = rs.disparity_transform(False)
profile = pipeline.start(config)
depth_sensor = profile.get_device().first_depth_sensor()
if depth_sensor.supports(rs.option.depth_units):
depth_sensor.set_option(rs.option.depth_units,0.0001)#像素1——>代表0.0003m
depth_scale = depth_sensor.get_depth_scale()
print("Depth Scale is: " , depth_scale)
clipping_distance_in_meters = 1 #1 meter
clipping_distance = clipping_distance_in_meters / depth_scale
align_to = rs.stream.color
align = rs.align(align_to)
i=1
j=1
try:
while True:
frames = pipeline.wait_for_frames()
    aligned_frames = align.process(frames)

    aligned_depth_frame = aligned_frames.get_depth_frame() # aligned_depth_frame is a 640x480 depth image
    color_frame = aligned_frames.get_color_frame()

    if not aligned_depth_frame or not color_frame:
        continue
    frame = depth_to_disparity.process(aligned_depth_frame)
    frame = spatial.process(frame)
    frame = temporal.process(frame)
    filtered_depth_frame = disparity_to_depth.process(frame)

    depth_image = np.asanyarray(filtered_depth_frame.get_data())
    color_image = np.asanyarray(color_frame.get_data())

    grey_color = 153
    depth_image_3d = np.dstack((depth_image,depth_image,depth_image)) #depth image is 1 channel, color is 3 channels
    bg_removed = np.where((depth_image_3d > clipping_distance) | (depth_image_3d <= 0), grey_color, color_image)

    depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
    images = np.hstack((bg_removed, depth_colormap))
    cv2.namedWindow('Align Example', cv2.WINDOW_AUTOSIZE)
    cv2.imshow('Align Example', images)
    cv2.imwrite("//home//cindy//0.0001WithLed//depth//"+str(i)+".png",depth_image)
    cv2.imwrite("//home//cindy//0.0001WithLed//rgb//"+str(i)+".png",color_image)
    i = i+1
    j = j+1
    key = cv2.waitKey(1)
    if key & 0xFF == ord('q') or key == 27:
        cv2.destroyAllWindows()
        break

finally:
pipeline.stop()
I set the depth unit to 0.0001, the output Depth Scale is:  0.0010000000474974513. but I find a problem that in different lighting conditions for the same place, the depth value was totally different, when the light is strong(I turn on the light in the room), the depth value are among 1000 to 3000 or so. but when I turn off the light, for the same place in the same distance, the depth value are among 8000 to 10000 or so. It's really weird, what's the matter?
Thanks very much!

楼主，我想问一下使用Python怎么生成跟Windows的SDK生成的深度图片一样

[Realsense Customer Engineering Team Comment]
@Chaojizhangdaxin Could you please provide a snapshot that you get from Windows SDK?

[Realsense Customer Engineering Team Comment]
@Mikeraka Could you please provide some depth snapshots for your findings on the difference with different light conditions? Thanks!

[Realsense Customer Engineering Team Comment]
@Mikeraka  Could you please update so we can follow up? Thanks!


Fix typo

@GitHubPang : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks @GitHubPang.


Added -cdd, -chrome-data-dir flag

Preparing to implement #209
Adding :
-cdd, -chrome-data-dir                 specify the --user-data-dir to chrome binary to preserve sessions

Todo:

[ ] Ensure the flag is implemented and works as expected


Move nopImage and entrypointImage from pkg/… package to cmd/controller

Changes
This is part of a set of changes to make sure we don't define CLI
flags in our pkg/… packages… so that importing packages from there
do not pollute the cli flags.
This is part of #1309 — submitting this one alone to gather early feedback and make sure this is the way to go (aka I am not a fan of the map in this change so far)
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.

/hold

Updated :angel:
/cc @ImJasonH @bobcatfish @sbwsg

/lgtm

/test pull-tekton-pipeline-integration-tests

/lgtm

/hold cancel
I'll update the rest of the flags in a follow-up :wink:


Support crate package?

Is it possible for us to use it with rust crate? I want to use it with own logic.

Sure we should support it as a package but this step will be after make sure that we have a final design and split it into small crates for sample split the parser and the engine into two creates with full docs, and that will let you to put your logic into any pass and extend language or engine

@southorange0929 now you can use any part (ast, parser, cli, engine) of the GQL as rust crates and customize with your logic
https://github.com/AmrDeveloper/GQL/tree/master/crates


Ingesting deposition metadata and keyphoto into s3

Relates to https://github.com/chanzuckerberg/cryoet-data-portal/issues/784

Description
TODO:

[x] Update s3 ingestion workflow to support deposition
[x] Add tests for deposition s3 ingestion

Does this mean we need to add deposition info to all configs ASAP?

Does this mean we need to add deposition info to all configs ASAP?

This PR already adds the deposition entity to all the configs. :)


Build lookup table for the geometry of the cell

Improvements:
Maybe come up with a better name for LookupTable's array than "configuration"
Try to find a better way to setup


Add fips-recast to registry

Add recast to registry.
I've converted recast demo to glfw3 as I'd said it would be easier than get a fipsified SDL, but at the same time I've not tested on MacOS (I do not have one) or Windows (but will do soon).
Note: The glfw3 conversion is currently hosted at my fork, but the changes may get accepted upstream as the maintainer already confirmed it prefers glfw. I must only verify that premake4 builds correctly on MacOS and Windows before doing the PR there.

Awesome :) On OSX I'm still getting a compile error because GL/glu.h doesn't exist, as far as I can see only one GLU function is used in the tools: gluProject. One fips-friendly solution would be to replace this with glm (https://github.com/floooh/fips-glm), but I'm not sure whether the recast maintainer wants to bring in too many dependencies.

One solution would be to select between gluProject and glm::project using a C define, and fips-projects could then simply set some RECAST_USE_GLM in the fips.yml or cmake files.

PS: I've also written a ticket that fips needs some sort of import filter for cases like this where imports are only needed in specific situations (such as when building sample programs, but not when importing as lib): #69

I pinged Mikko about this and he prefers a direct copy-paste to replace the dependency on GLU (if its really just that function): https://twitter.com/mikkomononen/status/577406986029035521

Nice! I will do this change and then do a little more work on the demo late today, thank you.

Done. Removed GLU dependency, hope now it will work on MacOS. Still not tested on Windows, will try tomorrow at work.

I'm now having trouble with GL_TEXTURE_RECTANGLE_ARB not being defined on OSX, seems to be some include problem with glfw3.h. I'll try to find out more this evening.

I have created a pull request fungos/fips-recast#1 to fix the OSX issues (and some minor CMakeLists.txt tweaks), looking at Windows next.


lock on influxdb v0.9.4 api

Fixes #875

Looks good.  Can you cherry-pick this to the 1.3.x branch for RC4?


Fixes #306: Implement Circuit Breaker for Task

Implementation for issue #306.
The TaskCircuitBreaker is used to provide stability and prevent cascading failures in distributed systems. This implementation is inspired by the availability of Akka's Circuit Breaker, but note that the implementation and API are different.
Usage:
import monix.eval._
import scala.concurrent.duration._

val circuitBreaker = TaskCircuitBreaker(
  maxFailures = 5,
  resetTimeout = 10.seconds
)

//...
val problematic = Task {
  val nr = util.Random.nextInt()
  if (nr % 2 == 0) nr else
    throw new RuntimeException("dummy")
}

val task = circuitBreaker.protect(problematic.timeout(1.second))

So basically after the maxFailures threshold is reached in a row, then the circuit breaker ends up in the Open state where it keeps fast-failing tasks. It does so until the resetTimeout is reached, when it makes an attempt to reconnect by allowing one task to execute and analyzing its result.
Note in the example that the timeout protection needs to be added per executed Task, since this is a feature of Task already. This is in contrast with Akka's implementation, because that implementation have the luxury of working with Task 😜
On attempts to reconnect we can also apply an exponential backoff, with a timeout that keeps increasing up to a configured maximum:
val circuitBreaker = TaskCircuitBreaker(
  maxFailures = 5,
  resetTimeout = 10.seconds,
  exponentialBackoffFactor = 2,
  maxResetTimeout = 10.minutes
)

API docs and test coverage are pretty good.

/cc @etorreborre

Codecov Report

Merging #324 into master will increase coverage by 0.1%.
The diff coverage is 94.05%.

@@            Coverage Diff            @@
##           master     #324     +/-   ##
=========================================
+ Coverage   86.28%   86.38%   +0.1%
=========================================
  Files         309      311      +2
  Lines        8193     8294    +101
  Branches     1624     1638     +14
=========================================
+ Hits         7069     7165     +96
- Misses       1124     1129      +5

Continue to review full report at Codecov.

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