[BUG] OpenSearch version reported of core only

Describe the bug
When a user connects to https://<ip-of-cluster>:9200/ the response JSON reports version.number for the core (e.g. 1.0.0). Looking at the plans for 1.0.1 release, it looks like only particular bundled plugins will be updated and not the core. This means if a users updates to version 1.0.1, https://<ip-of-cluster>:9200/ will still respond with 1.0.0 in version.number. This could cause confusion after updates or if a user really needs to distinguish between versions.
To Reproduce
Steps to reproduce the behavior:

Go to curl https://localhost:9200/ -u admin:admin -k
See the response - something like:

{
  "name" : "opensearch-node1",
  "cluster_name" : "opensearch-cluster",
  "cluster_uuid" : "8oUPWeGFSTOH5cwKaBfuwA",
  "version" : {
    "distribution" : "opensearch",
    "number" : "1.0.0",
    "build_type" : "tar",
    "build_hash" : "34550c5b17124ddc59458ef774f6b43a086522e3",
    "build_date" : "2021-07-02T23:22:21.383695Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

Expected behaviour
The user should be able to see the bundled version (as well as the core version) when hitting https://<ip-of-cluster>:9200/
Perhaps something like this:
{
  "name" : "opensearch-node1",
  "cluster_name" : "opensearch-cluster",
  "cluster_uuid" : "8oUPWeGFSTOH5cwKaBfuwA",
  "version" : {
    "bundle" : "1.0.1"
    "distribution" : "opensearch",
    "number" : "1.0.0",
    "build_type" : "tar",
    "build_hash" : "34550c5b17124ddc59458ef774f6b43a086522e3",
    "build_date" : "2021-07-02T23:22:21.383695Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

(see version.bundle)
Although, I could see a different endpoint for the bundle version...
Plugins
All OpenSearch

@nknize We have a mechanism in 1.1 to describe the bundle, a bundle manifest that looks like this. It's going to be dropped along with the rest of the world in the bundle and we could read from that.
So we have two choices:

In a bundle installation, change version.number=bundle version, build_type=tar, build_hash=some kind of bundle hash, build_date=the date of the bundle build from the bundle JSON.
Return the bundle versioning data somewhere else if present. Where?

(1), from the machine point of view this, at first, sounded like a bad idea, because you could get two different versions for the same -min engine.  But bundle closely follows -min in versioning, so semantically it would still be correct. So feels like not a big deal, to me.
WDYT?

I guess the line between a bug and an enhancement to me is "would the average user be surprised by a behaviour of the software."

I agree with this. If a user has a bad time it's a bug. That's a valid point! Maybe we create a new github label user_experience to capture issues like this vs runtime or implementation bugs? Might be a good way for users to gain merit through design contributions? I wonder if other projects have something like this? /cc @spotaws

It's going to be dropped along with the rest of the world in the bundle and we could read from that.

I think this is a good choice if we have a new plugin called "bundle manager" or something? This plugin could expose an API for getting all details about the bundle rather than modifying core OpenSearch with logic about the bundle (decouple from the core). I do have some questions about this, though:

What is a bundle? A list of "blessed" plugins the project deems as first class?
Bundle plugins are installed by default? But users can uninstall them if they don't want them?
Does the "org" create a process for incubating third-party plugins with a well defined path to become a first class bundle plugin?
Instead of a single blessed bundle, what about creating many bundles consisting of groups of similar plugins? (e.g., ML bundle, Spatial bundle, Observability bundle)? In this manner there's one opensearch w/ many experience options?
Until we have a well defined version design, the many to one versioning is going to be an issue. How is it defined?

I have some more but I'll stick with these four for now...

I agree that a nice vision would be some sort of "choose your own adventure" OpenSearch, but that opens up a lot of considerations (dependency management/resolution, etc.).
From my personal POV, the bundled plugins are basically like a standard library in a programming language. Perhaps there are lessons in process & versioning from that world? I think that might inform some responses to @nknize's questions.

Is this fixed for the upcoming 1.1.1 release?

@dblock did this get fixed?

@dagneyb Nope. It's really a new feature where we want to repor the version of the whole distribution.


Not able to fetchNextPage using useFirestoreInfiniteQueryData

Hello, i have been trying to use the useFirestoreInfiniteQueryData hook, but when i try to fetch the next page i just get an empty array, which should contain 1 record more (3 in total), if anybody can recommend better practices feel free to leave a comment
This is the code to fetch the next page
type GetPatientsQueryContext = {
  pageIndex: number
  limit: number
}
export const useGetPatientsQuery = (
  workspaceId: string | undefined,
  context: GetPatientsQueryContext,
) => {
  const hasParameters = Boolean(workspaceId)
  const queries = hasParameters
    ? [
        limit(context.limit),
        where('workspaceId', '==', workspaceId),
        orderBy('createdAt'),
      ]
    : []
  const patientCollection = getCollection('patients')
  const q = query(patientCollection, ...queries)

  return useFirestoreInfiniteQueryData(
    ['patients', { workspaceId, ...context }],
    q,
    (documentData) => {
      if (!Boolean(documentData.length)) return undefined // Added this because when clicking fetchNextPage documentData has length of 0, which gives an error on startAfter
      const lastDocument = documentData[documentData.length - 1] // On first load if i add a console log here we correctly see the last doc which is "Zenaida Odom"
      return query(q, startAfter(lastDocument))
    },
    {},
    {
      getPreviousPageParam: (documentData) => {
        const firstDocument = documentData[0]
        return query(q, endBefore(firstDocument), limitToLast(context.limit))
      },
      select: (data) => {
        const castedPages = data.pages as Array<PatientRawData[]>
        const parsedPages = castedPages.map((page) => {
          return page.map((patient) => ({
            ...patient,
            createdAt: patient.createdAt.toDate(),
            updatedAt: patient.updatedAt?.toDate(),
          }))
        })
        return {
          pages: parsedPages as Array<PatientData[]>,
          pageParams: data.pageParams,
        }
      },
      enabled: hasParameters,
      refetchOnWindowFocus: false,
    },
  )
}

And i call this custom hook like this
  const { workspaceState } = useWorkspaceContext()
  const [pageIndex, setPageIndex] = React.useState(0)

  const patientsQuery = useGetPatientsQuery(workspaceState.workspace?.id, {
    pageIndex,
    limit: 2,
  })

  console.log(patientsQuery.data)

  const nextPage = async () => {
    if (!patientsQuery.hasNextPage) return
    await patientsQuery.fetchNextPage()
    setPageIndex(pageIndex + 1)
  }
  const previousPage = async () => {
    if (!patientsQuery.hasPreviousPage) return
    await patientsQuery.fetchPreviousPage()
    setPageIndex(pageIndex - 1)
  }

  return (
    <div className="patients">
      <button>prev</button>
      <button onClick={nextPage}>next</button>
    </div>
  )

Query data on first load
[ //Pages array
  [ // First page 2 records
    {
      "createdById": "y7SHgg4nTXf9rqqqr6aZORmdoid2",
      "gender": "female",
      "lastName": "Juarez",
      "phone": "+1<PHONE_NUMBER>",
      "id": "vQGcZCnysgBXBCMhH9tB",
      "createdAt": {
        "seconds":<PHONE_NUMBER>,
        "nanoseconds": 372000000
      },
      "name": "Gloria Macdonald",
      "workspaceId": "6WoMC9N64EyLhmmZUks1",
      "email"<EMAIL_ADDRESS>    },
    {
      "name": "Zenaida Odom",
      "workspaceId": "6WoMC9N64EyLhmmZUks1",
      "lastName": "Reeves",
      "email"<EMAIL_ADDRESS>      "gender": "female",
      "createdAt": {
        "seconds":<PHONE_NUMBER>,
        "nanoseconds": 980000000
      },
      "createdById": "y7SHgg4nTXf9rqqqr6aZORmdoid2",
      "phone": "+1<PHONE_NUMBER>",
      "id": "OkmZv4p0aJDhijGmYzRL"
    }
  ]
]

After clicking nextPage
[ // Pages array
  [ // First page 2 records
    {
      "createdById": "y7SHgg4nTXf9rqqqr6aZORmdoid2",
      "gender": "female",
      "lastName": "Juarez",
      "phone": "+1<PHONE_NUMBER>",
      "id": "vQGcZCnysgBXBCMhH9tB",
      "createdAt": {
        "seconds":<PHONE_NUMBER>,
        "nanoseconds": 372000000
      },
      "name": "Gloria Macdonald",
      "workspaceId": "6WoMC9N64EyLhmmZUks1",
      "email"<EMAIL_ADDRESS>    },
    {
      "name": "Zenaida Odom",
      "workspaceId": "6WoMC9N64EyLhmmZUks1",
      "lastName": "Reeves",
      "email"<EMAIL_ADDRESS>      "gender": "female",
      "createdAt": {
        "seconds":<PHONE_NUMBER>,
        "nanoseconds": 980000000
      },
      "createdById": "y7SHgg4nTXf9rqqqr6aZORmdoid2",
      "phone": "+1<PHONE_NUMBER>",
      "id": "OkmZv4p0aJDhijGmYzRL"
    }
  ],
  [] // Second page should contain 1 record but its empty instead
]

Possibly I caught this bug before, I will try to reproduce it and back to you with a report

I caught this bug too and here's what I have done.
Let me explain what I have found first. According to the document of firestore.
You can set a paginate data by passing document snapshot, instead of the fetch data. I think this is the problem. When you use useFirestoreInfiniteQueryData it only returns data, not the entire document snapshot. And you can't pass data to firestore to get next paginate data.
So what I've done is to use useFirestoreInfiniteQuery, which returns document snapshot.
Below is my code you can try it.
  const postsCollection = collection(firestore, "test");
  const postsQuery = query(postsCollection, orderBy("order"), limit(10));
  const posts = useFirestoreInfiniteQuery("test", postsQuery, (snapshot) => {
    const lastDocument = snapshot.docs[snapshot.docs.length - 1];

    return query(postsQuery, startAfter(lastDocument));
  });

  //  ...

  // when fetched new page
  useEffect(() => {
    if (posts.data?.pages) {
      let datas = [];
      posts.data.pages.forEach((page) =>
        page.docs.map((docSnapshot) => {
          // getting the data in document snapshot
          const data = docSnapshot.data();
          datas.push(data);
        })
      );
      // here is your paginate data
      console.log(datas);
    }
  }, [posts.data?.pages]);

  return (

  //  ...

  <Button title="click" onPress={() => posts.fetchNextPage()} />
  )

I think* things are working as intended here actually...
As @qaws5503 pointed out, to specify exactly what document you want to startAfter, you need to pass the snapshot - which is returned from the useFirestoreInfiniteQuery hook.
The useFirestoreInfiniteQueryData hook returns the snapshots data. In this case, you can still provide a cursor to startAfter, however this needs to be based on the query. For example, you should provide an orderBy to the query, however for the cursor, you have to provide data relating to that order from the array of data.
For example;
const userQuery = query(usersCollection, orderBy("age"), limit(10));

const posts = useFirestoreInfiniteQueryData("test", userQuery, (docs) => {
    const lastData = docs[docs.length - 1];

    return query(userQuery, startAfter(lastData['age']));
  });

You can see a Firebase example here.
I'd suggest using useFirestoreInfiniteQuery for this case if you need to specify exact snapshots to use as a cursor.

Thank you both for your answers, i ended up implementing @qaws5503 solution, i only added a line to prevent it from crashing when there's no more pages
    (snapshot) => {
      const lastDocument = snapshot.docs[snapshot.docs.length - 1];
      if (!lastDocument) return;
      return query(q, startAfter(lastDocument));
    },


Static compilation of files requires to pipe out content of file completely!

Ok, so i'm working on static Pug compiler, but we have a problem here.
I cannot just tell fuse-box, to not write this file into bundle.
Here is my plugin https://github.com/DoumanAsh/fuse-box-pug-static-plugin
There should be a way to allow plugin to write content outside of bundle in a separate file.
i.e.
src/index.pug -> build/indext.html' While not writing anything into build/out.js`

Main requirements:

Plugin should be able to control how to perform output (either into bundle or into particular path)
User should control it only through plugin options

Ideas:

Add new optional plugin method transform_static that will write file.contents into file.info.fuseBoxPath relative to outDir
Add method context.allowStaticExtension(ext_name) to control for which files to call transform_static

Maybe some examples on how it might look?

class PugCompiler {
    /**
     * Initializes new instance of ESLinter.
     * @param {Object} options - Optional options of plugin
     */
    constructor(options) {
        this.test = /.pug$/;

        this.root = require('app-root-path').path;
        this.inner = require('pug');

        this.is_static = options.is_static || true;
        this.ignore_pattern = /_*\.*/;
        if (options) {
            this.pug_options = options.pug || {};
        }
    }

    init(context) {
        if (this.is_static) context.allowStaticExtension(".pug");
        else context.allowExtension(".pug");
    }

    //If usual allowExtension then we just bundle rendered template
    transform(file) {
        if (file.collection.name === file.context.defaultPackageName) {
            file.loadContents();

            file.contents = `return ${this.inner.render(file.contents, this.pug_options)}`;
        }
    }

     //If static extension, then we write output into file.
    //fuse-box writes output into file.info.fuseBoxPath
    //For simplicity let's say our file just have method set_name
    transform_static(file) {
        if (file.collection.name === file.context.defaultPackageName) {
            file.loadContents();

            file.contents = `return ${this.inner.render(file.contents, this.pug_options)}`;
            file.set_name(file.info.fuseBoxPath.replace(/\..*$/, '.html'))
        }
    }

}

I guess there is no return when it's static
file.contents = `return ${this.inner.render(file.contents, this.pug_options)}`;
``

Yep, you're right :)

And I don't think we need allowStaticExtension

How then plugin should control wether content should be static or not or maybe both?

But then look, there are many other plugins. CssPlugin for example. It would require similar functionality. So I would suggest having something like transformedContents (idk), that would fall into the StaticContent plugin, for example.

So, a JSONPlugin, might copy files, or stringify the contents with module.exports. Think globally =)

You want to have a StaticPlugin? :)

I am just suggesting. We need to solve it for all plugins...And avoid copy-pasting transform_static ...

plugins : [
  [PugPlugin(), Static("static/pug-files")],
  [CssPlugin(), Static("static/css-files")],
]

What about:
plugins: {
    static: [],
    bundle: []
}

Breaking change, i know :(

You see, everyone got used to chains, they are very explicit and understandable. We want to make it readable.

Well considering that static content, should be generally separated from bundled one, i don't think it is much of issue.
But i leave it to you, but what i don't like is idea to force user to specify pug files on its own!

What do you mean by specifiy plugins on its own
plugins : [
  [/.pug/, PugPlugin(), Static("static/pug-files")]
]

i don't get what is "static/pug-files"? why user needs to set it in Static()?

that's where files got removed from fusebox dep tree and copied to the destination.

Shouldn't it be generally in outDir ?usually i want to build my stuff into one directory and server it from there :)
I'm also unsure how would work devServer >

why don't we have the concept of bypass ? it is s a plugin, the benefit from the pipeline, but we bypass some stages

That would be executed before bundle start... I think

@DoumanAsh i will draft the functionality, as a proof of concept =)

ok, for today i already too tired to think of anything properly... but tomorrow i might be ready to help out with ideas :D

Taking a cue from facebook/jscodeshift:

The return value of the function determines the status of the transformation:

If a string is returned and it is different from passed source, the transform is considered to be successful.
If a string is returned but it's the same as the source, the transform is considered to be unsuccessful.
If nothing is returned, the file is not supposed to be transformed (which is ok).

Could that work in this instance?

Could be useful if we could define a package that overrides what ever is under node_moduels
const fb = require("fuse-box");
const fuse = fb.FuseBox;

let fuseBundle= fuse.init({
    homeDir: "./src",
    outFile: "./vendor-bundle.js",
    tsConfig : "tsconfig.json",
    useCache:false,
    plugins: [
        fb.CSSPlugin(),
        fb.HTMLPlugin({ useDefault: true }),
        fb.TypeScriptHelpers()
    ],
    sourceMap: {
        bundleReference: "./vendor-bundle.js.map",
        outFile: "./vendor-bundle.js.map",
    }
})

fuseBundle.addPackage({
    name:"somethingCool",
    path:"./node_modules/somethingCool/dist/commonjs",
    main:"something.js"
    resources :`
        + **/*.html
        + utils/**/*.js
        + styles/**/*.css
    `
})

fuseBundle.addPackage({
    name:"evenCooler",
    path:"./node_modules/evenCooler/src",
    main:"index.ts"
    resources :`
        + **/*.html
        + utils/**/*.ts
        + styles/**/*.css
    `
})

fuseBundle.devServer(`
    > main.ts
    + **/*.html
    + **/*.ts
    + **/*.css
    + evenCooler
    + somethingCool`
)

I don't think so, transformation is either puts content into bundle or into a separate file (which requires fuse to know its name)
It would be difficult to come up with some obvious and consistent way to return something to hint it.

[ ] multiple html files,
[ ] callback or config for output paths for use when deploying,
[ ] adding assets (imgs, fonts, styles),
[ ] outputting as an html file,
[ ] ordering script tags

This should be handled now with the new enhancements and Sparky.
we will close this for now but let us know otherwise :)


 I encounter the same problem. Could you tell me how do you solve this problem? Thanks.

Hi! I encounter the same problem. Could you tell me how do you solve this problem? Thanks.
Oh! I got it. There is not a package named image_undistort. When I build it using catkin, this problem is solved. And don't forget source setup.bash after build. You can using command 'catkin build image_undistort' in your catkin workspace 'catkin_ws' before you download a image_undistort package in your catkin src folder. This package can be downloaded from github.

Hi! I encounter the same problem. Could you tell me how do you solve this problem? Thanks.
Oh! I got it. There is not a package named image_undistort. When I build it using catkin, this problem is solved. And don't forget source setup.bash after build. You can using command 'catkin build image_undistort' in your catkin workspace 'catkin_ws' before you download a image_undistort package in your catkin src folder. This package can be downloaded from github.

Thank you for your reply. I forgot how I solved this problem. I should set it to off.


Build CLI distribution zip

@Goooler On top of your logic I added this logic to avoid java -jar call
Final zip located in distributions folder

binaryJar already makes this jar executable.

binaryJar already makes this jar executable.

For me it's not working. Only with 'java -jar'.
Also tried on your cli tool, the same behavior

May have to mark it executable. chmod +x ...

I'm fine with migrating to installDist, in that case there is no need to build a fat jar or r8 jar, just align with https://github.com/JakeWharton/diffuse did.

I don't know what's better.
With shadow jar all jars from libs folder merged into single one and then with r8 I decrease size from 43mb to 8mb

@Goooler two options:
shadow + r8 = 8.5mb

pure installDist = 47.2mb

8mb looks better... and will be better for some cli tools (so you can locate jar and use it in pipeline takin less space)


Update to Koa 2

With the recent changes made and the relative simplicity of the task, it was easier to simply re-do the work of updating to koa@2 than it was to simply rebase the work @pgherveou did in #20.

Cool! Sorry never got time to resubmit my work
Sent from my iPhone

On May 17, 2016, at 8:32 AM, Daniel Friesen<EMAIL_ADDRESS>wrote:
With the recent changes made and the relative simplicity of the task, it was easier to simply re-do the work of updating to koa@2 than it was to simply rebase the work @pgherveou did in #20.
You can view, comment on, or merge this pull request online at:
https://github.com/koajs/error/pull/24
Commit Summary
Update to Koa 2 and refactor code
File Changes
M examples/example.js (10)
M index.js (89)
M package.json (4)
M test/index.js (14)
Patch Links:
https://github.com/koajs/error/pull/24.patch
https://github.com/koajs/error/pull/24.diff
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@dantman please rebase with master

Done

Would be nice to get this one merged when koa current is 2.0.1

I'll merge this within this week :)
Sorry for the delay 😢

updated at https://github.com/koajs/error/pull/28

land 1594f6dab7011ac90c150e97319e0694017de030

3.0.0 published !


Split init into init and build

@ashleygwilliams Sorry for missing your comment there since I was nearly done at that time.

looking great so far @csmoe thanks for taking this on! this will def require some docs updates! i can get you a review by tomorrow, but in the meantime- if you want to add docs that would be great!

Hey @csmoe mind rebasing and fixing the conflicts? I can give you a review as soon as that's done now that I'm back :)

@ashleygwilliams I copied the workflow from your comment there:

init becomes what init --mode no-build is now
build is everything --mode no-build skips, build should have a --no-installs flag

I was also puzzled by the repeated init-steps in build(sorry for not asking for your suggestion at that time), but I just simply left it as it was.

i think our goal would be to keep those separate? e.g. if you run wasm-pack build and haven't run init it asks you to run init first?

I love this.


Simple test for exluding proxy in sqldiff implemented

Coverage increased (+2.6%) to 52.484% when pulling 86ab3f5b6fc32aadfbba787899c0fddf3b4f8190 on domandinho:1153_testing into c8c037d91fc1cb5728e477bfc5e99cf5641761d4 on django-extensions:master.

Coverage increased (+2.6%) to 52.484% when pulling 86ab3f5b6fc32aadfbba787899c0fddf3b4f8190 on domandinho:1153_testing into c8c037d91fc1cb5728e477bfc5e99cf5641761d4 on django-extensions:master.

Thanks !


How to deal with the problem of polyphone ?

When I input '银行'， the result of pinyin is 'yin xing' ,while the correct result is 'yin hang'.

Hi,
could you please give me a detailed description of how you are using the application or the steps to reproduce the bug? When I ran main.py and enter '银行', the pinyin I got from the console is ['yin2', 'hang2'], which appears to be correct.
您好，
能否详细描述一下您使用的情景或复现这个bug的步骤？我运行main.py输入'银行'后，终端上显示的拼音是['yin2', 'hang2']，应该没有错.

您好，
我试了一下，是pypinyin识别多音字时，有的会识别错误


What's the difference between Downtime and Maintenance mode?

Hi, @shlomi-noach.
$ orchestrator-client -c help | grep maintenance -C2
    begin-downtime                           Mark an instance as downtimed
    end-downtime                             Indicate an instance is no longer downtimed
    begin-maintenance                        Request a maintenance lock on an instance
    end-maintenance                          Remove maintenance lock from an instance

As from the documentation, the difference between downtime and maintenance mode is unclear.
Also, how do those two modes affect graceful/automatic failover?
SEE ALSO: https://github.com/openark/orchestrator/issues/1244

As I tested, why I can promote a downtimed instance from replica into master in web UI by graceful-master-takeover?


Able to change the policy for pending appeals

Summary
As part of a workflow, we can add/remove/alter approval steps and logic in policy and it can apply only to new appeals. Need a way in guardian to apply the new workflow to existing pending appeals too.

what is the definition of new appeals?


Peter updates

See discussion http://parallella.org/forums/viewtopic.php?f=13&t=3901&sid=e0d644b355f0d22b53eb1fb18ffce6e3#p18553
With these fixes I get pal to build and tests to run:  Epiphany test results:
TOTAL: 102
PASS:  74
SKIP:  26
XFAIL: 0
FAIL:  2
XPASS: 0
ERROR: 0
Host test results:
TOTAL: 102
PASS:  80
SKIP:  22
XFAIL: 0
FAIL:  0
XPASS: 0
ERROR: 0

Build fails because pal_config_device.m4 always enables tests in device overriding top level config.
ac_configure_args="--enable-tests ...
Perhaps there is a better way to fix this but I do not know.

Hack fix is to ignore copy fails...  none of this is very good..  Not sure why config/test-driver does not exist on the travis build...

So in conclusion I think that the build problems I get are because my version of autotools is different and because I am not using the standard release sdk...  So I am going to withdraw this pull request.
For completeness my version of automake is (GNU automake) 1.15.  I suspect that the version run in the Travis CI build is different.


tight loop in spi_flash triggering WDT (IDFGH-4238)

Environment

Development Kit:      [none]
Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
Module or chip used:  [ESP32-WROVER]
IDF version (run git describe --tags to find it): v4.1
Build System:         [|CMake|idf.py]
Compiler version (run xtensa-esp32-elf-gcc --version to find it):
// xtensa-esp32-elf-gcc (crosstool-NG esp-2020r2) 8.2.0
Operating System:     [Windows|]
(Windows only) environment type: [|ESP Command Prompt|].
Using an IDE?: [No|]
Power Supply:         [USB|external 5V||Battery]

Problem Description
A tight loop in spi_flash component triggers WDT. The loop can be found at:
C:\esp-idf\components\spi_flash\cache_utils.c:141-144.
Expected Behavior
Should return before WDT triggers. I'd recommend a small delay in this loop. (vTaskDelay(1);)
Actual Behavior
Triggers WDT on occasion.
Steps to reproduce
// If possible, attach a picture of your setup/wiring here.
Code to reproduce this issue
Debug Logs
E (23767) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (23767) task_wdt:  - IDLE0 (CPU 0)
E (23767) task_wdt: Tasks currently running:
E (23767) task_wdt: CPU 0: Wifi
E (23767) task_wdt: CPU 1: IDLE1
E (23767) task_wdt: Aborting.
abort() was called at PC 0x400dce37 on core 0

ELF file SHA256: 1b5c05c3dc5a8fcf

Backtrace: 0x4008a1bd:0x3ffb0660 0x4008a579:0x3ffb0680 0x400dce37:0x3ffb06a0 0x4008507d:0x3ffb06c0 0x400856f3:0x3ffe1fa0 0x40086571:0x3ffe1fc0 0x40089f71:0x3ffe1fe0 0x4008637b:0x3ffe2000 0x4008655d:0x3ffe2030 0x4011b9d5:0x3ffe2050 0x4011a3d1:0x3ffe2070 0x4011a7a9:0x3ffe2090 0x401171cd:0x3ffe2100 0x40119960:0x3ffe2150 0x4011b8b3:0x3ffe21b0 0x40116719:0x3ffe21d0 0x40116ac9:0x3ffe2200 0x400e43c1:0x3ffe2220 0x400f8846:0x3ffe2370 0x400f8ab5:0x3ffe23c0 0x4008b831:0x3ffe23e0

Other items if possible

[x] sdkconfig file (attach the sdkconfig file from your project folder)
[x] elf file in the build folder (note this may contain all the code details and symbols of your project.)
[ ] coredump (This provides stacks of tasks.)
files.zip

Thanks for reporting, we will look into.

Any update / workaround on this issue?
I'm experiencing this same issue. This exact same loop is the reason for random BtController / WiFi / fopen / fclose etc Task WDT issues prohibiting me from getting a product production ready for over a week now.
Please help!

im still seeing the same problem in v4.3.4 when opening a (second) file with fopen
0x40081b9e: panic_abort at ~/esp-idf/components/esp_system/panic.c:404
0x40092d45: esp_system_abort at ~/esp-idf/components/esp_system/system_api.c:112
0x4009844a: abort at ~/esp-idf/components/newlib/abort.c:46
0x40159010: task_wdt_isr at ~/esp-idf/components/esp_common/src/task_wdt.c:182 (discriminator 1)
0x40083db1: _xt_lowint1 at ~/esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1105
0x4008b932: spi_flash_disable_interrupts_caches_and_other_cpu at ~/esp-idf/components/spi_flash/cache_utils.c:160 (discriminator 1)
0x4008c825: cache_disable at ~/esp-idf/components/spi_flash/spi_flash_os_func_app.c:70
0x4008c831: spi1_start at ~/esp-idf/components/spi_flash/spi_flash_os_func_app.c:99
0x40090cbd: spiflash_start_default at ~/esp-idf/components/spi_flash/esp_flash_api.c:111
0x4008c641: esp_flash_read at ~/esp-idf/components/spi_flash/esp_flash_api.c:691
0x40150e5f: esp_partition_read at ~/esp-idf/components/spi_flash/partition.c:419
0x400ffaa3: spiffs_api_read at ~/esp-idf/components/spiffs/spiffs_api.c:36
0x40102ee9: spiffs_phys_rd at ~/esp-idf/components/spiffs/spiffs/src/spiffs_cache.c:161
0x40100ec3: spiffs_obj_lu_find_entry_visitor at ~/esp-idf/components/spiffs/spiffs/src/spiffs_nucleus.c:166
0x40102c15: spiffs_obj_lu_find_free_obj_id at ~/esp-idf/components/spiffs/spiffs/src/spiffs_nucleus.c:2212
0x40100006: SPIFFS_open at ~/esp-idf/components/spiffs/spiffs/src/spiffs_hydrogen.c:250
0x400ff80d: vfs_spiffs_open at ~/esp-idf/components/spiffs/esp_spiffs.c:508
0x400d6153: esp_vfs_open at ~/esp-idf/components/vfs/vfs.c:376 (discriminator 3)
0x401c629c: _fopen_r at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/fopen.c:129
0x401c6345: fopen at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/stdio/fopen.c:168

@fromeijn could you please attach your sdkconfig file?

Thanks igrr for looking in to this, see attached
sdkconfig.log

CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192

It seems that the options required to yield from flash operations are enabled, so it's odd that the task watchdog is triggering.
Do you think you could reduce your application to a smaller example which reproduces this issue? This would help us recreate the issue on our end. Also, how frequently does the issue happen, or how much time it takes to reproduce it?

CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192

It seems that the options required to yield from flash operations are enabled, so it's odd that the task watchdog is triggering.

The original issue report (https://github.com/espressif/esp-idf/issues/6096#issue-739336614) already has above settings (see the files.zip).
This issue has been there for years.

https://github.com/espressif/esp-idf/issues/4984#issuecomment-1156445364

CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192

It seems that the options required to yield from flash operations are enabled, so it's odd that the task watchdog is triggering.

FYI, https://github.com/espressif/esp-idf/issues/11032#issuecomment-1560531918 has the same settings as above, but still hit WDT.

@igrr @Alvin1Zhang
Do you have any progress for this issue?
(This was reported since 2020, and there are several related reports linked in above comments)

Hello everyone,
I'm also experiencing the watchdog timer getting triggered in read and fopen functions, using the LittleFS file system.
Backtrace says that the code is stuck at esp-idf/components/spi_flash/cache_utils.c::167
while (!s_flash_op_can_start) {
// Busy loop and wait for spi_flash_op_block_func to disable cache
// on the other CPU
}
Regards,

I had a similar experience.
Reading NVS causes WDT elapsed at "while (!s_flash_op_can_start)".
What I found is it happens much less times after I updated IDF from 4.4 to 5.1.


Remove cabal check from stack builds

Stack should provide its own cabal, so I don't think the system cabal is
relevant here. This worked for me despite the check failing.

Cabal is regarded a runtime dependency of hie and that has nothing to do with the functionality of stack.
I can try to reproduce the issue when installing hie without having a cabal binary. Until then, this pr should not me merged.

Cabal is regarded a runtime dependency of hie and that has nothing to do with the functionality of stack.
I can try to reproduce the issue when installing hie without having a cabal binary. Until then, this pr should not me merged.

If so, it seems like it makes more sense to perform that check at runtime, since the installed version of cabal could change after installing hie, and since you shouldn't need it to compile hie with stack.
The problem that I ran into that this fixed for me was that hie reported my system's cabal version, <IP_ADDRESS>, as insufficient.

Mmm, some context: that was added in #1344 to close #1327, if i am not wrong. Before that, installing hie triggered installing globally the cabal version it needed, overwriting the old one.
In #1327 we discussed that maybe we could remove the cabal check/install when installing hie, or at least make hie use a private version of cabal. But i am afraid that we can't simply remove it without some additional work.
@ollef have you considered upgrade your default cabal to <IP_ADDRESS>?

Cheers for providing context. Is cabal necessary for using hie with stack projects? It seems to be working here without the correct version.
Again, I think runtime dependencies, especially when optional, are better checked at runtime.
I could upgrade, yeah.

The hie runtime is very tricky. I work on getting the correct checks that hie is able to perform a self test. However, I had little success so far.
As far as I know, cabal is indeed reqired, even for stack based projects.

Well, i've tested to open a stack based project removing cabal entirely from path and hie seems to work (open the project without errors), emitting a warning about not finding the cabal executable.
But i've not tested that the main features continue working.
@ollef have you tested that main features continue working with your cabal version? I guess that being a minor version mismatch (<IP_ADDRESS>vs <IP_ADDRESS>) they'll probably work but there is no the general case.
maybe we could add a flag to avoid/force the cabal installation (--install-cabal and --no-install-cabal or something alike), keeping the install by default for now? I would keep the check as a warning (like at runtime) that hie needs cabal (with a specific version) to work in all cases.

Ah, interesting, so there's something looking for cabal even in stack based projects. I didn't notice any warnings about my specific version of cabal, however.
As far as I can tell hie works with my cabal version, but I've only tested some of the basics.
A warning at compile-time on encountering the wrong version seems like a sensible approach to me.

I have no idea why hie depends on cabal. It seems unecessary.. my branch doesn't depend on it, unless you are already using cabal.

I've tried stack without cabal in path a little bit more and hie seems to behave identically for stack based projects.
For cabal projects it shows this log:
info: Found Cabal project at: D:\dev\ws\haskell\cabal-test
Using hie version: Version <IP_ADDRESS>, Git revision ff9a5b2e85a0910205cb781bf630503efe6bd227 (2995 commits) x86_64 ghc-8.6.5
info: 'cabal' executable wasn't found, trying next project type
info: Found no other project type, falling back to plain GHC project

I guess that some features will be not present.
So i am for mimic the runtime behavior in the build and keep the warn in the build  if cabal is not present or the version is not adequate. At least there would be a flag to avoid the install.

If others have no objection to this, I'm fine with dropping the check and merge this PR.


chatgpt.py::decoded_json:: {...'error': 'Our systems have detected unusual activity from your system. Please try again later.'}

So, I've noticed you've updated(and then reversed) the README recently, saying that openai had changed their protocol.
Just for the record, here's the current state of the issue with this project.
Upon sending a prompt, we get the following content within the "decoded_json" from the server:
{'message': None, 'conversation_id': '...', 'error': 'Our systems have detected unusual activity from your system. Please try again later.'}
So be careful, folks, because they can probably ban your account due to this.

The thing is, now they require a token called 'arkose-token.' I am trying to find a way to generate it. Hopefully, it will be fixed soon.


FastAPI (v0.100.0) / Pydantic v2 incompatibility

I'm sorry I think I made a mistake in #533.
I misunderstood that FastAPI (v0.100.0) has a compatibility in Pydantic v1 & v2 and it can use both versions as a response model & response body. But it doesn't.
For example,  the following code fails because the latest FastAPI does not allow using Pydantic v1 as a response model & body class.
# test.py
import datetime
from typing import Optional

from fastapi import FastAPI
from redis_om import HashModel, get_redis_connection

REDIS_DATA_URL = "redis://localhost:6380"

class Customer(HashModel):
    first_name: str
    last_name: str
    email: str
    join_date: datetime.date
    age: int
    bio: Optional[str]

app = FastAPI()

@app.post("/customer")
async def save_customer(customer: Customer):
    return customer.save()

@app.get("/customers")
async def list_customers():
    return {"customers": Customer.all_pks()}

@app.on_event("startup")
async def startup():
    Customer.Meta.database = get_redis_connection(
        url=REDIS_DATA_URL, decode_responses=True
    )

  File "/Users/foo/test.py", line 32, in <module>
    @app.post("/customer")
  File "/Users/foo/ib/python3.11/site-packages/fastapi/routing.py", line 706, in decorator
  self.add_api_route(
  File "/Users/foo/ib/python3.11/site-packages/fastapi/routing.py", line 645, in add_api_route
  route = route_class(
  ^^^^^^^^^^^^
  File "/Users/foo/ib/python3.11/site-packages/fastapi/routing.py", line 491, in **init**
  self.dependant = get_dependant(path=self.path_format, call=self.endpoint)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/foo/ib/python3.11/site-packages/fastapi/dependencies/utils.py", line 261, in get_dependant
  type_annotation, depends, param_field = analyze_param(
  ^^^^^^^^^^^^^^
  File "/Users/foo/ib/python3.11/site-packages/fastapi/dependencies/utils.py", line 429, in analyze_param
  field = create_response_field(
  ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/foo/ib/python3.11/site-packages/fastapi/utils.py", line 101, in create_response_field
  raise fastapi.exceptions.FastAPIError(
  fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'test.Customer'> is a valid Pydantic field type. If you are using a return type annotation that is not a valid Pydantic field (e.g. Union[Response, dict, None]) you can disable generating the response model from the type annotation with the path operation decorator parameter response_model=None. Read more: https://fastapi.tiangolo.com/tutorial/response-model/

There is a workaround like the following.
# Pydantic v2
class CustomerWrapper(BaseModel):
    first_name: str
    last_name: str
    email: str
    join_date: datetime.date
    age: int
    bio: Optional[str]

app = FastAPI()

@app.post("/customer")
async def save_customer(customer: CustomerWrapper):
    db_obj = Customer.parse_obj(customer.model_dump())
    return db_obj.save()

But I think it's not good.
So it will be better to revert #533 if the FastAPI support has the high priority in this library. Again, sorry for my careless.

Appreciate the honesty. What's the most recent working version of FastAPI?

Yes you can use the latest FastAPI (v0.100.0) with Pydantic v1.
The latest redis-om can handle Pydantic v1 too. So the following dependencies are safe to use.
fastapi = "0.100.0"
pydantaic = ">=1.10.2,<2.0"
redis-om = "0.1.3"

I got similar error @ninoseki How can i handle if i use post method it gives me save is not working it's my first time of using redis plz help

I got similar error @ninoseki How can i handle if i use post method it gives me save is not working it's my first time of using redis plz help

pip install pydantic==1.10.13 should solve your problem

thanks @dgtlmonk  ! It worked for me


fix(members): provide full profile link. Fixes HELP-1901

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


In Line Edit Colour

Hi Norm
Not sure if this is related to #173 or if you have already fixed this.  It made me think.
With the inlineEditColour turned on, if the column inline edit is turned on but the table is turned off the cell will still turn blue.  We have to turn the inline edit for the table on then turn each column off then turn the table back to off.
If you look at these 2 cells:

You can see that one has the column inline edit on and one has it off
The table has inline edit turned off:

I hope this makes sense: #173 made me think that this is an issue?
Craig

Very interesting. I think you've found something that may explain a few issues I've experienced with the KTL in the past.
Will check it out - thanks.
Norm

Should be fixed now.
Re-open is you see it again.
Norm


Implement lower task size

Processes that finish first could finish up tasks of slower engines

Solved by #24


Disable jinja spacing in ansible-lint

The jinja spacing check is not working as expected in multiline, our code base has many mulit-line jinja templates that is being flagged because of this check.
https://github.com/ansible/ansible-lint/discussions/3015

Test-Hint: no-check

retest

recheck

recheck


Portuguese Mayo / Porti-mayo

2 Parts Mayo
1 Parts Red Wine Vinegar
1 Parts Hot Crushed Peppers (Pimenta Moida)
Garlic Powder to Taste
Linguiça Seasoning to Taste

Best with eggs, especially with linguiça!


Preview bgc

Added background color changes to the perview.
Modified the javascript that changes color theme to also change background colors.

It works awesome and the code seems ok so you can merge since it has no conflicts. On the other hand, I still fell a little bit dizzy with the stripe's themes. If we have time maybe we can consider to change it to a backgroung image that changes color, like a landscape that can be display in scales of gray, red or green. What do you think? https://cdn.pixabay.com/photo/2013/07/12/17/49/landscape-152502_960_720.png

I've already merged this on code


[Bug] Missing label workflow_type in temporal_workflow_task_schedule_to_start_latency_bucket

What are you really trying to do?
I was trying to record metrics via prometheus config

Describe the bug
Missing label workflow_type in temporal_workflow_task_schedule_to_start_latency_bucket
Label workflow_type is not present in temporal_workflow_task_schedule_to_start_latency_bucket, as described in https://docs.temporal.io/references/sdk-metrics#workflow_task_schedule_to_start_latency

Minimal Reproduction
Track metrics using python-sdk version 1.14.0

Environment/Versions

OS and processor:M2 Mac
Temporal Version: 1.14.0
Are you using Docker or Kubernetes or building Temporal from source? No, running locally

Additional context

Thanks! Closing this as that is the fix, to remove that label from the metric docs.


UBSAN error in gzread.c

2: /Users/runner/work/zlib-ng/zlib-ng/gzread.c:398:18: runtime error: unsigned integer overflow:<PHONE_NUMBER>3709551615 *<PHONE_NUMBER>3709551615 cannot be represented in type 'unsigned long'
2: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Users/runner/work/zlib-ng/zlib-ng/gzread.c:398:18 in

https://github.com/nmoinvaz/zlib-ng/runs/1197163500?check_suite_focus=true see macOS Clang run.

https://github.com/zlib-ng/zlib-ng/blob/b55680bab51aacfeb8f9bf3f7f01d5a1122f15a0/gzread.c#L398
Seems that overflow is expected here.


Fixed casing of header on NuGet.org to comply with Windows/VS standards.

Addresses https://github.com/NuGet/NuGetGallery/issues/8008

Given our minimal test coverage of web pages I think it would be prudent to do a manual pass of all affected pages to make sure there's no problems.

+1. We should also check for pages that may have the incorrect capitalization

This seems to have gone stale. Should we rebase/work toward getting this merged? @chgill-MSFT @skofman1 @joelverhagen @zhhyu @agr @loic-sharma

This still hasn't progressed. What are your thoughts on closing this vs completing it? @chgill-MSFT @skofman1 @joelverhagen @zhhyu @agr @loic-sharma

Let's close it. We'll take this later if it needs attention.


Icon - Review functionality and provide a complete storybook

Please check the component and provide a complete storybook

add Icon story document description and push on mohammadsaleh-icon branch

there is an issue about icon #19


Artifact Memory

Implement a langchain memory class + config loader for artifacts.
Artifacts referenced in chat messages should be added to the context when prompting the agent. This ticket is for a basic version with a simple lookup mechanism.
Longer term version should use a similarity search to resolve artifacts.  That requires additional work to enable pg_vector and store embeddings for artifacts.

Initial version resolved in #56 supporting key lookups. Future revisions will introduce similarity search and additional capabilities.


Visuals not set to build by default in the latest version

Even in a fresh project using the example scenes, any attempt to build the map won't create a MeshInstance3D at all. Quick build does nothing except for making the map bounds visible when selected and full build will successfully generate an occluder and collision shapes but still produces no mesh.
This seems to be because the latest commit changed addons/qodot/game_definitions/fgd/solid_classes/worldspawn_solid_class to have "Build Visuals" disabled by default. Re-enabling this fixes the issue. I assume that this is an unintentional change that should be reverted since it means that Qodot's core functionality appears broken out of the box.

Lmao, I'm a dumbass, thanks for the report.


Create a tool to visualize the solution using pieces images

This has been fixed by outputing links to e2bucas.name site.


Added missing documentation and improved displaying images

Added documentation
Improved single image display
Added examples:

@deandreamatias Please check now

Nice! Thanks a lot!


Example's video has possibly offensive language

The third example in this learning area page:
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content
not only includes the phrase "OMG hell yeah" but that phrase is on the poster frame for the video, and is in the screen shot shown on the article page. We should find a different video to use here, because this is potentially offensive to various people, and not appropriate for any kids that might be using MDN to learn.

I've fixed this one; the post now says "Lovely rabbit video"


RPDO receive problem

I'm trying to run simple communication example with PDO. I have two nodes 0xA and 0xB. 0xA sending TPDO 0x18A with two bytes of random data every 1s. Node 0xB receive it on RPDO 0x1400 but there is no data in mapped variables OD_writeOutput8Bit[0]  and OD_writeOutput8Bit[1]. I'm using sligty modified IO.eds from example. I checked so far:

RPDO transmission type is 255 - data should be processed imidiattely
Both nodes are in operational state = 5
PDO map is enabled for Write output data 8 bit object,it's located in RAM, access=rw
0x1600 I think is mapped properly, 0x62000108 and 0x62000208
CO_process_RPDO runs cyclically every 1ms
In CANreceive I get msgMatched=True and callback should be fired

What I'm missing ? Thank you for any suggestions.
IOxdd.zip

I don't know, what can be the problem.
Can you try "CANopen command interface" with your network, as described in https://github.com/CANopenNode/CANopenNode/blob/master/doc/gettingStarted.md ? Or some other CANopen configuration tool?
You can try to read RPDO communication parameter COB-ID, to see, if RPDO is enabled (if there is an error, RPDO is disabled). You can also try to configure PDOs dynamically in running network. In case of writing wrong value you get SDO abort message.

Problem was in receive driver function. CO_CANrxMsg_t was passed to callback instead of can_message_t. Thank you.


Fix hard-coded timeout and error panic in API archive download endpoint (#20925)

Backport #20925
This commit updates the GET /api/v1/repos/{owner}/{repo}/archive/{archive}
endpoint which prior to this PR had a couple of issues.

The endpoint had a hard-coded 20s timeout for the archiver to complete after
which a 500 (Internal Server Error) was returned to client. For a scripted
API client there was no clear way of telling that the operation timed out and
that it should retry.

Whenever the timeout did occur, the code used to panic. This was caused by
the API endpoint "delegating" to the same call path as the web, which uses a
slightly different way of reporting errors (HTML rather than JSON for
example).
More specifically, api/v1/repo/file.go#GetArchive just called through to
web/repo/repo.go#Download, which expects the Context to have a Render
field set, but which is nil for API calls. Hence, a nil pointer error.

The code addresses (1) by dropping the hard-coded timeout. Instead, any
timeout/cancelation on the incoming Context is used.
The code addresses (2) by updating the API endpoint to use a separate call path
for the API-triggered archive download. This avoids producing HTML-errors on
errors (it now produces JSON errors).
Signed-off-by: Peter Gardfjäll<EMAIL_ADDRESS>

lint error is related.

Fixed

Make lgtm work


Add feature.

Add feature to send attachment through the shell.
Update the test.py file.

Hey @abhishekraj272
What kind of attachment should be added?

Currently add the feature to send image files. Later on more features will be updated.

Hi @iArazar, are you going to work on this issue? If it is no the case i'd like to work on it.

@xandmaga feel free ;)


UI: Add filter to list encrypted volumes

Description
This PR fixes: https://github.com/apache/cloudstack/issues/9130

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Screenshots (if appropriate):
How Has This Been Tested?
Added toggle button for filtering only encrypted volumes:

When set to true, passes 'isencrypted' parameter to the listVolumes API call:

When set to false, returns all non-encrypted volumes:

How did you try to break this feature and the system with this change?

@blueorangutan ui

@Pearl1594 a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/9548 (QA-JID-424)

@DaanHoogland  In order to address your comment, I've also tested this PR in a local environment by creating an encrypted volume and testing the new filter.

Images


Change controller and route to "Descriptions::Authors"

I personally only had the foggiest idea what this controller did when I made the routes last year.
Now that I'm checking it out more closely, it seems it could be better named.

coverage: 94.394%. remained the same
when pulling 15ef4bd71574c6564de377ddb1a4a35b35bc5073 on nimmo-description-authors
into a2a9bb1d5866bb5a5c6d2f18d596f824502f72d8 on main.


Mod description page on modrinth gives a dead link

If you visit mod description page on modrinth, and click the "REI" link at "About" section, you'd get an error. It seems that REI has changed their project id. (from roughly-enough-items to rei)
You might want to update the link to this: https://modrinth.com/mod/rei.

TropheusJ is currently finalizing the 0.5.1 update, so after that i think he has time.

fixed


Tests are not found out of the box

Version
3.0.0-rc.3
Reproduction link
https://would-not-be-useful.com could not find a good way to do this - I think it must be related to some other setting.
Steps to reproduce
vue create test_app -> choose babel and jest
yarn unit:test
yarn run v1.7.0
$ vue-cli-service test:unit
No tests found
In /Users/lachlanmiller/javascript/vue/qiita_post
  10 files checked.
  testMatch: /Users/lachlanmiller/javascript/vue/qiita_post/(tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)) - 0 matches
  testPathIgnorePatterns: /node_modules/ - 10 matches
Pattern:  - 0 matches
 ERROR  jest exited with code 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

What is expected?
It runs HelloWorld.spec.js
What is actually happening?
It does not find the test

MacOS 10.13.2 High Sierra
Happening on another machine (not sure of the macOS version for it, but it's high sierra). I can check the version tomorrow. I tried using both npm and yarn, and jest directly.
I tried both with jest config in package.json and standalone.
Also I cannot specify either:
yarn test:unit --  --runTestsByPath tests/unit/HelloWorld.spec.js

> vue-cli-service test:unit "--runTestsByPath" "tests/unit/HelloWorld.spec.js"

No tests found
No files found in /Users/lachlanmiller/javascript/vue/qiita_post.
Make sure Jest's configuration does not exclude this directory.
To set up Jest, make sure a package.json file exists.
Jest Documentation: facebook.github.io/jest/docs/configuration.html
Files: "tests/unit/HelloWorld.spec.js"

HOWEVER git cloning a project scaffolded on another PC works somehow.
Other projects on my machine are using jest no problem. Not sure what's going on. Any ideas?

Hi same for me on MacOS 10.13.4 High Sierra, I remove the enclosing round brackets in jest.config.js and it works. basically, this works:
testMatch: [
    "<rootDir>/tests/unit/**/*.spec.(js|jsx|ts|tsx)|<rootDir>/**/__tests__/*.(js|jsx|ts|tsx)"
]

@allochi not working neither, but I'm on Windows 10
Exactly the same problem as described as @lmiller1990

Both my machines are 10.13.2 and confirmed the bug is the same.
@allochi thanks, that works for me. Are the other brackets necessary? If not, could they be removed (not sure if that would impact other systems).

Allochi solution on mac works. but not in windows.

testMatch is an array, so I guess the following should works too (it did for me):
testMatch: [
    "<rootDir>/tests/unit/**/*.spec.(js|jsx|ts|tsx)",
    "<rootDir>/**/__tests__/*.(js|jsx|ts|tsx)"
]

It runs any test in the project's /tests/unit/ directory or any test in the project as long as it's in a __tests__ directory.

If you plan to have all your tests in /tests/unit/, just use:
testMatch: [
    "<rootDir>/tests/unit/**/*.spec.(js|jsx|ts|tsx)"
]

Not working /:

yep, the fun thing here is that removing testMatch variable tests actually works.

The issue on windows seems to be caused by the fact that jest v23 uses micromatch v3.1.10, while jest v22 used micromatch v2.3.11.
let micromatch = require('micromatch');

let path = 'D:\\app\\tests\\unit\\HelloWorld.spec.js';
let glob= 'D:/app/(tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx))';

console.log(micromatch([path], glob));

// with<EMAIL_ADDRESS>logs
// [ 'D:/app/tests/unit/HelloWorld.spec.js' ]

// with<EMAIL_ADDRESS>logs
// []

hello, I  have same problem on windows 10, however, I can run test correctly in the following way

remove testMatch block
add transformIgnorePatterns like below

    "transformIgnorePatterns": [
      "node_modules/"
    ],

On Ubuntu I have the same problem, I just add an additional path to
testMatch: [
"/(tests/unit//*.spec.(js|jsx|ts|tsx)|/tests/.(js|jsx|ts|tsx))",
"/tests/unit/.spec.(js|jsx|ts|tsx)"  // match test specs directly in "unit" directory
]

On Windows the listed workarounds don't seem to work.
Although not idea, I found this combination means I can run tests again:
    "moduleFileExtensions": [ "ts", "js" ],
    "testMatch": [ ]

@mildc055ee 's solution worked for me in Windows 10

This issue is not fixed on Windows with #1756 😞. I just re-ran vue invoke unit-jest, adjusted the regex based on what was committed, and the generated HelloWorld.spec.js is still not found...

Try this one: https://github.com/vuejs/vue-cli/commit/96778b2caf873c2178caadb5a66ab6bded070e96#diff-29994942bb568c5548a12d8103751233R34

@Akryum that one does work!
By the way I've just regenerated a project with vue-cli and strangely enough, now the test just works. I don't know what's changed. My CLI version is still 3.0.0-rc.3.

@mario-d-s
I scaffolded a vue-cli 3 app about ~2 weeks ago and my jest.config.js file looked like this:
module.exports = {
  moduleFileExtensions: ["js", "jsx", "json", "vue"],
  transform: {
    "^.+\\.vue$": "vue-jest",
    ".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$":
      "jest-transform-stub",
    "^.+\\.jsx?$": "babel-jest"
  },
  moduleNameMapper: {
    "^@/(.*)$": "<rootDir>/src/$1"
  },
  snapshotSerializers: ["jest-serializer-vue"],
  testMatch: [
    "<rootDir>/(tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx))"
  ]
};

When I scaffolded a new app today, jest.config.js now looks like
module.exports = {
  moduleFileExtensions: ["js", "jsx", "json", "vue"],
  transform: {
    "^.+\\.vue$": "vue-jest",
    ".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$":
      "jest-transform-stub",
    "^.+\\.jsx?$": "babel-jest"
  },
  moduleNameMapper: {
    "^@/(.*)$": "<rootDir>/src/$1"
  },
  snapshotSerializers: ["jest-serializer-vue"],
  testMatch: [
    "**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"
  ]
};

Note the difference between the testMatch array.

@kevinhofmaenner that is what vue-cli-plugin-unit-jest 3.0.0-rc.5 does. Can you check the version?

@mario-d-s - correct, the sample app I spun up yesterday was using 3.0.0-rc.5

For people having this issue, the latest version of Jest doesn't like the  in testMatch.  This happened in Jest 23, so if you built your jest.config.js file in Jest 22, then upgraded to Jest 23+, you will have this issue.
Use something like this instead:
'testMatch': [
  '**/?(*.)(spec).js?(x)',
  '**/?(*.)(test).js?(x)'
],

Thanks Jest, for yet again breaking everyone's code with a tiny yet important change and not telling anyone.

@onexdata Really it would be nice if the documentation would cover this somehow. I tried ./test/*.js, test/*.js, but only **/test/*.js worked. I wonder why processing a simple glob pattern is so hard. This should be a core feature that works flawlessly instead of a barely supported and documented thing...

<rootDir>/tests/unit/**/*.spec.(js|jsx|ts|tsx)|<rootDir>/**/__tests__/*.(js|jsx|ts|tsx)

@allochi  I try it now I've got this :
  ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { shallowMount } from '@vue/test-utils';
                                                                                ^^^^^^

    SyntaxError: Cannot use import statement outside a module


Compatibility issues with the latest Cucumber preprocessor

I am using Cypress 10 with @badeball/cypress-cucumber-preprocessor and your  Cypress-esbuild-preprocessor.
Everything worked very well, but now I updated the Cucumber preprocessor to the latest version 12.2.0 (before I think I had 11.5.0).
Now seems, your esbuild preprocessor is not compatible with the latest cucumber, I have this error:
Error: Build failed with 1 error:
node_modules/common-ancestor-path/index.js:17:37: ERROR: [plugin: feature] Reduce of empty array with no initial value
    at failureErrorWithLog (C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:1605:15)
    at C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:1251:28
    at runOnEndCallbacks (C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:1034:63)
    at buildResponseToResult (C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:1249:7)
    at C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:1358:14
    at C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:666:9
    at handleIncomingPacket (C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:763:9)
    at Socket.readFromStdout (C:\Users\JS\Desktop\test\node_modules\esbuild\lib\main.js:632:7)
    at Socket.emit (node:events:527:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)

and this prevents Cypress tests to run as due to this error no tests are found.
The only solution that worked was to downgrade Cucumber preprocessor to the previous version.
Please take a look and it'll be good if you take care of this esbuild preprocessor and regularly release a compatible versions.
Thank you

I had a similar incompatibility issue after upgrading cypress-esbuild-preprocessor and adding latest esbuild as a peer dependency, but found it was solved by upgrading cypress-cucumber-preprocessor to the latest version (currently 15.1.4).


Figure out how to collect any log from CloudWatch using Amazon Data Firehose

Goal
Suppose I own an AWS account, and I want to export log events from CloudWatch logs to an Elastic cluster.
Context
What are the CloudWatch logs?
Requirements & Limitations
We need to keep in mind a few requirements and limitations when using Amazon Data Firehose to ingest.

Supports EC (Elastic Cloud) deployments only.
EC deployment must be on AWS (deployments on Azure or GCP are not supported)
Does not support AWS PrivateLink yet (but it's coming soon)

Preparation
Install the latest versions of the following integrations on your Elastic cluster:

AWS integration
Amazon Data Firehose

Steps

Overview
Select a resource
Create a Firehose stream
Set up logging
Verify

Overview

Select a resource

Create a Firehose stream

Set up logging

Verify


zca_whitening causes memory leak in ImageDataGenerator.fit

Keras 2.2.2
TensorFlow 1.10.1
Python 3.6.6
macOS 10.13.6

I'm trying to generate augmentations of my training data with zca_whitening and an ImageDataGenerator. But when I try to fit the generator (which is mandatory when using zca_whitening) the python process eats more and more memory (100Gb+) until it gets killed by the system.
This small example can cause the leak:
import numpy as np
from keras.preprocessing.image import ImageDataGenerator

def cause_leak():
    idg = ImageDataGenerator(zca_whitening = True)
    random_sample = np.random.random((1, 250, 250, 3))
    idg.fit(random_sample)

cause_leak()

The terminal output only consists of a warning saying that featurewise_center is overwritten when enabling zca_whitening. I don't think this is related to the problem but who knows.

Would like to bump this. I can't get a single image to be fit with zca_whitening=True :(

---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)
<ipython-input-12-18f659183331> in <module>()
----> 1 g.fit(X_train[:1])

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/keras_preprocessing/image.py in fit(self, x, augment, rounds, seed)
   1247                 x, (x.shape[0], x.shape[1] * x.shape[2] * x.shape[3]))
   1248             sigma = np.dot(flat_x.T, flat_x) / flat_x.shape[0]
-> 1249             u, s, _ = scipy.linalg.svd(sigma)
   1250             s_inv = 1. / np.sqrt(s[np.newaxis] + self.zca_epsilon)
   1251             self.principal_components = (u * s_inv).dot(u.T)

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/scipy/linalg/decomp_svd.py in svd(a, full_matrices, compute_uv, overwrite_a, check_finite, lapack_driver)
    127     # perform decomposition
    128     u, s, v, info = gesXd(a1, compute_uv=compute_uv, lwork=lwork,
--> 129                           full_matrices=full_matrices, overwrite_a=overwrite_a)
    130
    131     if info > 0:

MemoryError:

@gabrieldemarmiesse Thanks for your action on this, do you know a current workaround?

https://github.com/keras-team/keras-preprocessing/issues/55
Should this be closed then?

Closing this issue as it has been migrated to keras-team/keras-preprocessing#55.


Support for Leaves from Bountiful Fares Mod (1.20.1)

Great mod that recently came out :)
https://modrinth.com/mod/bountiful-fares

This test pack in the PR can be used for support https://github.com/TeamMidnightDust/BetterLeavesPack/pull/45#issue-2242476762
It adds support for the fruit leaves and hoary leaves too!

I just merged the PR, thanks again, Liam!


add an option to set verification of ssl certificate to true or false

Can you add an option to set verification of ssl certificate to true or false?
requests.get(url, verify=False)

Hi @NetEyes this option already exists and is exposed on all API classes. Perhaps you are running an older version of the library?
Example in its internal representation using requests:
https://github.com/oasis-open/cti-taxii-client/blob/3ee5574c620868fce25aa32222a17343f465b06b/taxii2client/common.py#L222-L242
Example in Collection class:
https://github.com/oasis-open/cti-taxii-client/blob/3ee5574c620868fce25aa32222a17343f465b06b/taxii2client/v21/__init__.py#L190-L218

# Performing TAXII 2.1 Requests
from taxii2client.v21 import Collection

collection = Collection(
    'https://example.com/api1/collections/91a7b528-80eb-42ed-a74d-c6fbd5a26116',
    user='user',
    password='pass',
    verify=False
)
collection.get_object('indicator--252c7c11-daf2-42bd-843b-be65edca9f61')

Feel free to re-open if you think the issue has not been addressed.


Class to determine location of gamepiece on spikeline

going to focus on accurately determine left and center placed pixels.


File Name with diacritics causes the problem

I found a problem when I'm trying to upload file with diacrtics in filename
filename: Domašov návrh výměny svítidel.xlsx
data dump:
raw stream data:
------WebKitFormBoundaryL5QOWPMWAFioo0QJ
Content-Disposition: form-data; name="file"; filename="DomaĹˇov nĂˇvrh vĂ˝mÄ›ny svĂtidel.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
PK     ! t6Z¦z  „   [Content_Types].xml ˘(
........ file data ...
file data from parser:
t
PK     ! t6Z¦z  „   [Content_Types].xml ˘(
........ file data......
there are 5bytes more than in original file, I guess because there are 5more chars in name
DomaĹˇov nĂˇvrh vĂ˝mÄ›ny svĂtidel.xlsx than in original Domašov návrh výměny svítidel.xlsx

Sorry, my fault, I guess there is a default encoding UTF-8 in constructor
new MultipartFormDataParser(data); it causes a problem
new MultipartFormDataParser(data, Encoding.UTF8); it doesn't


[WIP] Use static not computed worker group count

PR o'clock
Description
length(var.worker_groups) has been replaced by a top-level variable worker_group_length as length of a computed value cannot be used. This fixes https://github.com/terraform-aws-modules/terraform-aws-eks/issues/73
Breaking Changes:
worker_group_length must be specified to use more than one worker group.
Checklist

[x] terraform fmt and terraform validate both work from the root and examples/eks_test_fixture directories (look in CI for an example)
[ ] Tests for the changes have been added and passing (for bug fixes/features)
[ ] Test results are pasted in this PR (in lieu of CI)
[x] Docs have been updated using terraform-docs per README.md instructions
[ ] I've added my change to CHANGELOG.md
[x] Any breaking changes are highlighted above

Looking good. Let me know when this is ready for review.

@brandoconnor I think the code itself is done, if this is the solution to go with - I'm just not sure what version to mark this as being part of (and thus what to put in the changelog). 1.4.0 or 2.0.0?

I've added this to the 1.4.0 changelog.

I've added this to the 1.4.0 changelog.

Thanks again for this and apologies on the review delay. I had a super busy week of preparing for my wedding! 👰 🤵
Reviewing now


Not able to work with motors

Hi, testing on latest ev3dev and python 3, getting this error
`>>> from ev3.lego import *

d = MediumMotor()
Traceback (most recent call last):
File "", line 1, in
File "/home/robot/.virtualenvs/ev3_py34/lib/python3.4/site-packages/python_ev3-<IP_ADDRESS>-py3.4.egg/ev3/lego.py", line 217, in init
File "/home/robot/.virtualenvs/ev3_py34/lib/python3.4/site-packages/python_ev3-<IP_ADDRESS>-py3.4.egg/ev3/ev3dev.py", line 330, in init
TypeError: 'NoneType' object is not subscriptable`

I am able to see motors in the folder /sys/class/tacho-motor/motor*/

run cd /sys/class/tacho-motor and dir and paste the output.
If you don't see motor0 and so on, then check the wires on the motor.
And try these steps:

shutdown your robot
disconnect all wires from your brick
boot ev3dev
if boot has finish, then connect the motors using the wires on your brick and run cd /sys/class/tacho-motor and dir again and paste the output too, if an output appears.

Are you sure you've downloaded and imported lang-python correctly?
Also this should work:
import ev3dev.ev3 as ev3
myMotor = ev3.LargeMotor('outA') # ports are from 'outA' to 'outD'
# do things with myMotor

@liam-b, I think you have "python-ev3" (this repository) confused with "ev3dev-lang-python" (https://github.com/rhempel/ev3dev-lang-python)


default to all routes

Hi, thanks for your lib, this is more of a question than a serious pull request. I was surprised I had to copy the route names in the useRoute API. Why is this? Defaulting to all routes seems sensible; maybe perf. reasons? Anyways, thanks for your work!

Summary

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Checklist

[ ] I added the documentation in README.md
[ ] I added a sample use of the API in the example project (example/)

In case of nesting (which happen on a lot of application), there is no advantage defaulting to all routes.
Plus, as this library could be used for something else than rendering (ex: having a specific behaviour on few routes), it does not make sense for that too:
const isModalLayout = useRoute(["users", "user"]) != null;

However, I will think about it for 1.0.0 release.
But if you want to do that right now and keep full type checking, you can do:
const routes = {
  root: "/",
  users: "/users",
  user: "/users/:userId",
  repositoriesArea: "/users/:userId/repositories/*",
  repositories: "/users/:userId/repositories",
  repository: "/users/:userId/repositories/:repositoryId",
} as const; // don't forget "as const"

const { useRoute: useRouteUntouched } = createRouter(routes);
const routeNames = Object.keys(routes) as (keyof typeof routes)[]; // because `Object.keys` will not return an union type 😞

export const useRoute = () => useRouteUntouched(routeNames);

Thanks for the explanation. I think I was doing things a little off. Is there a separate API for nested routes that I missed?

@ssured There is no special API, as it's only matching you can match on a subset of routes, if a route has a wildcard at the end, you render another component with it's own subset of routes, etc.
Check the example:
App useRoute: https://github.com/zoontek/react-chicane/blob/968c3b2d8ccdf745e7b8cb6a0223adb52a278209/example/src/App.tsx#L30
Render another component on route with wildcard: https://github.com/zoontek/react-chicane/blob/968c3b2d8ccdf745e7b8cb6a0223adb52a278209/example/src/App.tsx#L70
Then use another useRoute: https://github.com/zoontek/react-chicane/blob/968c3b2d8ccdf745e7b8cb6a0223adb52a278209/example/src/App.tsx#L81


How do I create a session?

Hi! I'm trying this plugin out but got stuck immediately. I want to save the current session, but running :PossessionSave prints the error "No session is currently open". Is that the intended behaviour? Since I don't yet have any sessions I can't open one.
This is my config:
use {
  'jedrzejboczar/possession.nvim',
  requires = { 'nvim-lua/plenary.nvim' },
  config = function()
    require('possession').setup()
  end
}

I realized just after posting this that that I'm supposed to add a session name as an argument to :PossesionSave, e.g. PossesionSave session_name. Perhaps the command should prompt the user for a session name using vim.ui.input if no session is open and no argument is provided?

Yeah, looks like the message is not very helpful... When I find a moment I'll try to improve the message or use vim.ui.input as you suggested.

I updated the message in https://github.com/jedrzejboczar/possession.nvim/commit/893479c418a4261261fce2492b1782ac031f19f9.


Add Stemming

In order to enhance this, we can add a Stemming process to optimize messages

Need also a language detector


Enhance KRS with GPU Support and Various Fixes

@ajeetraina @karanveersingh5623
Pull Request Title
Enhance KRS with GPU Support and Various Fixes

Pull Request Description
Summary
This PR introduces several enhancements and fixes to the Kubernetes Recommendation Service (KRS). The main changes include adding GPU support for LLM models, refactoring the CLI commands, more readability, and ensuring proper dependency management.
Changes

GPU Support for LLM Models:

i Modified llm_client.py to support GPU utilization for Hugging Face models.
i Updated KrsMain class in main.py to pass the device option (CPU/GPU) to KrsGPTClient.

CLI Enhancements:

i Refactored krs.py to use Typer for CLI command definitions.
i Added a new version command to display the current version of KRS.

Dependency Management:

i Created requirements.sh and requirements.bat for installing dependencies on Linux/macOS and Windows, respectively.
i Updated setup.py to conditionally execute the appropriate script based on the operating system.

Initialization and Health Check:

i Improved initialization (init) and health check (health) commands to handle configuration more robustly.
i Added checks to ensure KRS is initialized before running other commands.

Bug Fixes and Improvements:

i added Enhanced logging for better error tracking and debugging.
i Added error handling for invalid kubeconfig files.

Modified Files

krs/utils/llm_client.py: i Added GPU support for Hugging Face models.
krs/main.py: i Updated to handle GPU device option and refactored health check logic.
krs/krs.py: i Refactored CLI commands using Typer, added version command.
krs/utils/cluster_scanner.py:i  Enhanced logging for kubeconfig loading.
krs/utils/fetch_tools_krs.py: Fixed issues with GitHub stars conversion.
krs/utils/constants.py: No significant changes required.
setup.py: Updated to include dependency scripts execution based on OS.
requirements.sh: Shell script for installing dependencies on Linux/macOS.
requirements.bat: Batch script for installing dependencies on Windows.
printdependency.py: i Added script to print PyTorch and CUDA versions.
-test-cluster_scanner.py: i created a pytest script for this

Additional Information

Testing: Detailed steps to verify the changes have been provided, including initializing KRS and performing health checks with GPU support.
Documentation: Updated README and added new documentation where necessary to reflect the changes.

Notes

Kubeconfig File: Ensure a valid kubeconfig file is available for initializing KRS. This PR does not include a kubeconfig file.

Screenshots
i added a folder of screenshots
we need to Fix warnings related to GitHub stars conversion in fetch_tools_krs.py.
Please review the changes and provide feedback because i don't have a kubeconfig file so i can't test the gpu yet. Let me know if any further modifications or clarifications are needed. i used python version 3.11 on ubuntu 22.03
python
Python 3.11.6 (main, Oct  8 2023, 05:06:43) [GCC 13.2.0] on linux

We are not accepting the changes until specifically targeted towards an issue raised by the community. Kindly work towards resolving an issue, if the admins approve it, you can contribute to it.

Thank you
On Tue, 25 June 2024, 1:41 am Abhijeet Mazumdar, @.***>
wrote:

We are not accepting the changes until specifically targeted towards an
issue raised by the community. Kindly work towards resolving an issue, if
the admins approve it, you can contribute to it.
—
Reply to this email directly, view it on GitHub
https://github.com/kubetoolsca/krs/pull/26#issuecomment-2187694778, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4COXFRZS6QMTEGSBDPU4TZJC4EHAVCNFSM6AAAAABJZ3WCQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGY4TINZXHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Improve the design and UX of the Explorer tool

The new explorer was implemented quickly and with a heavy focus on functionality over form https://toiletmap.org.uk/explorer/
We'd like to improve the design and user experience of the tool

Hello @ob6160, I would like to work on this issue, this issue seems like a good way to contribute to this amazing project. I have set up the project locally and have started working on this.
Please assign this issue to me

@yashkumar2603 thank you for your contribution ✨
As a further change related to this ticket I was also thinking the search page could do with some improvement as well, which you'd be more than welcome to help out with if you have the time!

Hi! Oliver, I am happy that you liked my work.
I will be glad to work on the search page as well. I will be starting work on the search page asap


CosineSimilarity outputs result smaller than -1

Describe the problem.
As discussed in https://github.com/tensorflow/tensorflow/issues/58031, when I calculate the cosine similarity loss using tf.keras.losses.CosineSimilarity between two arrays: [[0,2,3]] and [[0,2,3]], it outputs -1.0000001. Following the documentation: https://www.tensorflow.org/api_docs/python/tf/keras/losses/CosineSimilarity, the output should be within the range: [-1, 1].
Describe the current behavior.
The cosine similarity loss between [[0,2,3]] and [[0,2,3]] is out of [-1, 1].
Describe the expected behavior.
The cosine similarity loss between [[0,2,3]] and [[0,2,3]] is limited between [-1, 1].
Contributing.

Do you want to contribute a PR? (yes/no): yes
If yes, please read this page for instructions
Briefly describe your candidate solution(if contributing):

Standalone code to reproduce the issue.
import tensorflow as tf
y_true = [[0.,2.,3.]]
y_pred = [[0.,2.,3.]]
cosine_loss = tf.keras.losses.CosineSimilarity()
res = cosine_loss(y_true, y_pred).numpy()
print("tensorflow: ", res)

Source code / logs.
tensorflow:  -1.0000001

It's a rounding issue with floating point numbers when calculating L2 Norm. Can you create a PR to clip the values to -1, 1 in cosine_similarity function -
https://github.com/keras-team/keras/blob/master/keras/losses.py#L2470
possibly by -
    y_true = tf.linalg.l2_normalize(y_true, axis=axis)
    y_pred = tf.linalg.l2_normalize(y_pred, axis=axis)
    res = -tf.reduce_sum(y_true * y_pred, axis=axis)
    return tf.clip_by_value(res, -1, 1)

To be consistent with other places in codebase, its better to clip via backend.clip(res, -1, 1) similar to how its done here - https://github.com/keras-team/keras/blob/master/keras/losses.py#L2386

Thanks for your reply, I have created a PR (https://github.com/keras-team/keras/pull/17147) following your suggestion.

@maybeLee Thank you for raising this issue. It will be closed once the PR is merged. Thank you!

Posted on the PR:
An imprecision of 1e-7 is to be expected when working in float32 precision. We should not add extraneous ops such as `clip` to enforce artificial value ranges like this, because that adds computation overhead for everyone.

Here are some thing you can do:

- If you critically need to enforce a specific value range, move the `clip` op to your own application.
- Use float64 precision to reduce numerical imprecision.
- ```


Request for Blockchain Workflow Application details

Hi team,
can you please share more information such as  implementation details, pricing guidance, or code example for the below blockchain architecture.
https://docs.microsoft.com/en-us/azure/architecture/solution-ideas/articles/blockchain-workflow-application
Thank you in advance.
Thanks and regards,
Jabbar

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

ID: 041da9ff-57a4-916d-ae12-8b1e4fe77d44
Version Independent ID: a56ac57e-3796-559f-261f-76061e0e4810
Content: Blockchain Workflow Application - Azure Solution Ideas
Content Source: docs/solution-ideas/articles/blockchain-workflow-application.yml
Service: architecture-center
Sub-service: solution-idea
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 365414

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 365414

Thank you for the quick response, I would be grateful if you can share me step by step instructions as to how to implement this.
thanks and regards,
Jabbar

Thank you for the quick response, I would be grateful if you can share me step by step instructions as to how to implement this.
thanks and regards,
Jabbar

Hi Team,
Just wanted to follow up on this. I understand that requests like these take time, however I am participating in one hackathon within my firm and details about this blockchain implementation in Supply chain on Azure would be of great help to me.
Thank you for your help!

Hi Team,
Just wanted to follow up on this. I understand that requests like these take time, however I am participating in one hackathon within my firm and details about this blockchain implementation in Supply chain on Azure would be of great help to me.
Thank you for your help!

@EdPrice-MSFT
Please close this PR; content in OneNote

We have this captured as an article to improve. Thank you for your feedback!


Support multiple Vessel directories per workspace

Refactors the extension to recognize nested Vessel directories.
Closes #66
Closes #95

very cool, thank you 🙏


Difference in model prediction for older vs latest libsvm version

Hi,
I am trying to update our project's version of Libsvm from version 2.89 to 3.22. I ran into problems on an old test case that was using an SVM model trained with version 2.89. I was able to load the old model using the new 3.22 code, but the predictions vary widely between the versions.
Before I add more details, I wanted to know if old models files are expected to be compatible with the latest code. Since the loading worked, I kind of assumed that the models would be the same.
Also, what's the best way to check for equivalence of models?

In 3.17 there is a change:
3.17: 2013/04/01
svm.cpp:
if class labels are 1 and -1, ensure labels[0] = 1 and labels[1] = -1
this might cause model incompability.
Arun Balagopalan writes:

Hi,
I am trying to update our project's version of Libsvm from version
2.89 to 3.22. I ran into problems on an old test case that was using
an SVM model trained with version 2.89. I was able to load the old
model using the new 3.22 code, but the predictions vary widely
between the versions.
Before I add more details, I wanted to know if old models files are
expected to be compatible with the latest code. Since the loading
worked, I kind of assumed that the models would be the same.
Also, what's the best way to check for equivalence of models?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
*


建议: 优化：添加数据添加的都是些啥数据呀，添加多一点的数据后面就给我来一个...？？？啥意思呀

Cannot get what you mean. Please provide more details, screeshot will be better.

Close since not updated for a long time.


matter.add.fromSVG fails in Chrome 80

Version

Phaser Version: v3.22.0

Operating system: MacOS Catalina

Browser: Chrome 80

Description

I call this function: "this.matter.add.fromSVG(100, 100, svg)" and I expect my svg element to appear as a physics object. However, I get this error in the console "Uncaught TypeError: Cannot read property 'numberOfItems' of undefined". This error, as far as I can tell, is generated by my svg path element not having a "pathSegList" attribute.
Example Test Code

Here is my SVG document:
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M140 100C140 122.091 122.091 140 100 140C77.9086 140 60 122.091 60 100C60 77.9086 77.9086 60 100 60C122.091 60 140 77.9086 140 100Z" fill="#4D90DE"/>
</svg>

DOMParser is used to turn the above SVG into an object:
let parser = new DOMParser();
let svg = parser.parseFromString([svgAsString], "image/svg+xml");

I pass the svg to matter:
this.matter.add.fromSVG(100, 100, svg);

See stack trace:

I believe pathSegList is depreciated, and I was unable to find an alternative?

Thanks!
Additional Information

I tried a few solutions, but they all ended up with the same underlying issue

Looked at the Matter.js docs and found out newer browsers have to add a polyfill: https://github.com/progers/pathseg


Downloads in /media/usb-luca/Downloads ?

I get the following system message in lidarr and radarr:
"
You are using docker; download client amule places downloads in /media/usb-luca/Downloads but this directory does not appear to exist inside the container. Review your remote path mappings and container volume settings. |
-- | --
"
However the path /media/usb-luca/Downloads is nowhere in my compose files or settings.
I have a folder, /external, mapped inside all my containers and have aMule downloading things to /external/media/Incoming, similar to how I have deluge set up for torrents

Just released a fix, should go in 1.5.5.
If you still have issues please re-open.


Unique container names are bad

I know I can override container names, but I think the default implementation is bad.
Currently containers are named "pytest{}".format(os.getpid()). This leads to the following problems:

If test runs fail or are interrupted (ctrl-c), containers may stay around. Due to the unique names they start to accumulate. Same for images.
Docker-compose doesn't recognize that things belong to each other, and has conflicts. For example, if you use a static network subnet, then pytest-docker fails as different runs try to use the same network, but it's named separately.

This cost me days to debug (no docker wiz here).
Is there a specific reason why to use the pid-based naming? I would follow simply the behavior of docker-compose:
@pytest.fixture(scope='session')
def docker_compose_project_name(pytestconfig):
    """ Generate a project name using the projects root directory.

    Override this fixture in your tests if you need a particular project name.
    """
    return "{}pytest".format(os.path.basename(str(pytestconfig.rootdir)))

Thanks for reporting this and sorry it caused you some pain!
Since you have a workaround, I'd like to take the time to fully understand the issues you're facing so we can work out the right solution :-)

Is there a specific reason why to use the pid-based naming?

The rationale behind unique container names is that we needed to support parallel builds on the same machine.  I was under the impression that this was a safer default than having parallel builds interfere with each other (this has also caused me lost days to debug in other circumstances).
Note: there is no reason to use the PID specifically, just some value that is locally unique for the duration of the test run.

I would follow simply the behavior of docker-compose:

I agree that we should try to honour docker-compose's behaviour to minimise surprises.
At the very least, I think we should honour $COMPOSE_PROJECT_NAME as an override.  I guess that if we had our build machines inject a unique value in this environment variable, we'd get our parallel builds without forcing unique container names on everyone.
Would that work for you?

If test runs fail or are interrupted (ctrl-c), containers may stay around.

Using fixed container names prevents build-up, which provides a partial solution to your problem, but I'm not sure we can solve the CTRL-C issue within a pytest plug-in.
I get proper cleanup when tests fail.  What do you mean by "if test runs fail"?

Same for images

Do you also see build-up when using fixed container names?
I automate daily cleanup of dangling images on all my machines that should run unsupervised for long periods of time (see this gist for several recipes).  I wish the Docker daemon did this automatically because it really helps all projects, not just tests run using pytest-docker.

The rationale behind unique container names is that we needed to support parallel builds on the same machine. I was under the impression that this was a safer default than having parallel builds interfere with each other (this has also caused me lost days to debug in other circumstances).

Ah ok. Admittedly, I haven't tested parallel builds on my dev machine, even though I need that for our CI server.

At the very least, I think we should honour $COMPOSE_PROJECT_NAME as an override. I guess that if we had our build machines inject a unique value in this environment variable, we'd get our parallel builds without forcing unique container names on everyone.
Would that work for you?

I'll read up / test and get back to you. I am not sure what it does tbh.

Using fixed container names prevents build-up, which provides a partial solution to your problem, but I'm not sure we can solve the CTRL-C issue within a pytest plug-in.

True, but having unique names limits the problem to one set.

I get proper cleanup when tests fail. What do you mean by "if test runs fail"?

Sorry, this was unspecific. During getting started with docker and pytest, we had many tests failing during setup rather than test run. For example, problems in the docker-compose file etc. Those aren't cleaned up properly afaik. However, I would need to re-test for details, after days of trial and error everything become a bit hazy ;)
Re images: Admittedly this is the smallest problem and can be easily solved with a script like you mention.
The main issue for us was using a static network. I've chosen to put our docker networks on a rarely used network as I constantly had problems with overlaps of local networks, vpns, wifis etc. I don't know how other people deal with this (I am rather new to docker), but I configured this as follows:
networks:
  default:
    ipam:
      config:
        - subnet: <IP_ADDRESS>/24

This configuration supports only a single instance, and thus fails with multiple instances with unique names due to a subnet overlap error.

The rationale behind unique container names is that we needed to support parallel builds on the same machine

Just thinking out loud - would this be better handled by having unique tags and repeatable image names?
I don't believe docker-compose can tag the images it builds, but it would be possible with a separate call to docker
$ docker tag <image> <tag>
Of course this would require a new DockerExecutor like DockerComposeExecutor etc. If I can get it working I'll submit a PR for discussion.

@danodonovan I'm not sure I understand how your proposal works.  Can you tell me more?

Sorry for delay. The idea would be to have a static image name (ie the project name sans pid) and then have unique tags for different builds (to cover the support for parallel builds).

docker-compose build builds the docker image(s) with a static image name
docker tag tags the built image(s) with a unique id(s) (ie not latest)
docker-compose up runs the containers with these tags

But, having investigated further, docker-compose explicitly doesn't support tagging of images https://github.com/docker/compose/issues/213#issuecomment-235453999 - So I don't think docker-compose could be made to run a specific <image>:<tag> if the tag wasn't specified in the compose file.
TL;DR I don't think this will work with docker-compose.

Wouldn't it make more sense to use labels to group containers, and have a garbage collection step identifying running containers associated with test runs where the test process has terminated?


SPARK-7265 Improving documentation for Spark SQL Hive support

Please review this pull request.

Can one of the admins verify this patch?


Search Support

[x] Use Spree::Config.searcher_class to retrieve products
[x] Update taxonomy product lookup to use ID instead of Permalink

Merged locally


Add a Navigation Bar

I would like to work on it, the website would look more appealing

I would like to work on it

Hey !! @nilisha-jais i would add responsive nav-bar.
So, I would like to work on this issue.

Assigned @V-Yeshwanth , go ahead.

Can you please assign me this issue

You have exhausted the given time for an easy issue @V-Yeshwanth . also we don't need it now.


Enabled DAO buttons when user has no farms

Both buttons should be disabled if list is empty.

Work Completed:

when no farms available to user, will show msg that user can't vote.

Verified
version 3.9.1
APK version 30-10-2024
android version 15

testcase


filter EU from onboarded countries

Checklist

[ ] Test your changes as thoroughly as possible before you commit them. Preferably, automate your test by unit/integration tests.
[ ] Make sure mvn -P integration-test clean verify runs for the whole project and, if you touched any code for a service in the services folder, ensure it can be run with spring-boot:run

Description

Please take a look at the checkstyle error and add a specific test for this scenario.


How to use proxy for testing this code?

I have to use the vpn for testing this code. When I open vpn for test.
I try to use this code:
"""
voyager = Voyager(
azure_login=azure_login,
skill_manager_retrieval_top_k=0,
max_iterations=200,
resume=True,
ckpt_dir="./checkpoints/ckpt",
openai_api_key=openai_api_key,
)
voyager.learn()
"""

always have many errors.
I need help!!!

Hi, I think the proxy is not a problem. Can you share your Mineflayer log here? It's under logs/mineflayer.

@xieleo5 please analyze  this log. tks
20230531_143639.log.zip

Hi, I found that you have 2023-05-31 14:38:17,620 - mineflayer - INFO - Prismarine viewer web server running on *:3001 this line in your log. Did you try to add Prismarine viewer yourself?

I don't why always throw this error.


Make tutorial examples editable urls

In the documentation section, where we describe different url patterns, the urls are editable and executable.
in the overview section, the urls are just links that take you to results in a different browser.

note: #358 adds code to make the GET example in the overview interactive. however, it is currently commented out because:

it's the only GET example in the overview, and we don't currently have a way to make the edit operation interactive
if Jetsons is not available, we might get a blank page (or error) in the example. We should update the interactive editors to make sure that they return (the correct) static content if the service is not available.