Symbols are not uploaded

The following carthage command:
carthage build ReactiveCocoa --platform ios

produces the outputs:
Carthage/Build/iOS/ReactiveCocoa.framework
Carthage/Build/iOS/ReactiveCocoa.framework.dSYM

However, invoking:
rome upload ReactiveCocoa

Only uploads the framework, not the dSYM.
It would seem that rome should cache not just .framework files matching the framework name, but rather any files matching the prefix of the framework name.

How do you see this working in case either the framework is missing or the  dSYM is missing ?
Should rome (upload | download) ReactiveCocoa fail if either is missing?
How would this work with rome list ([--missing] | [--present])? When should rome report a cache miss?

Since there is not a guarantee that a dSYM will be available for a prebuilt framework in zipped GitHub releases that Carthage consumes, I don't think Rome should require symbols to be available either. It seems like Rome should just opportunistically upload all Carthage/Build products prefixed by the framework name, and do the equivalent during downloads.
With respect to the above scenario, if ReactiveCocoa.dSYM was present in the Carthage/Build directory, this would result in it being included in rome (upload|download) ReactiveCocoa, but if it was not present, it would be omitted entirely with no failures.
Since the framework is the critical artifact (dSYMs are just a nice-to-have), you would imagine that rome list would still function as it does currently.
Finally, I don't think this should be a command line switch to follow the precedence of Carthage, which does this automatically without user intervention.
Hope that helps clear things up. Thanks!

Hi, this will be the next feature once the Romefile has moved to the INI format.

For contributors: dSYM are found in the same directory as the frameworks and must be zipped as well.

Available in pre-release https://github.com/blender/Rome/releases/tag/v<IP_ADDRESS>

Available from https://github.com/blender/Rome/releases/tag/v<IP_ADDRESS> onwards


Hide some variables which shouldn't be editable

I think we talked briefly about this feature.
The server can send some groups of variables which shouldn't be editable e.g. V2 variables.

Visible/Invisible is being handled on the client.
When transferType is partial, should the editors for full transferType be invisible to not confuse the user, if they don't know about full mode? @rjahn

I don't know the use-case anymore.
Why is there a difference between partial and full?

There is not really a difference between partial and full, but eg. if the mode is partial and a user doesn't know what the full variables mean, they could get confused.

OK, so this is a client decission.


Deprecated now-duplicate rules from TSLint 5.12.0 (bumped devDependency to 5.12.0)

PR checklist

[x] Addresses an existing issue: Fixes #684. Fixes #685.
[x] New feature, bugfix, or enhancement

[x] Includes tests

[x] Documentation update

And question indirectly related to this PR:
no-unnecessary-bind has special checks for underscore methods. Is there a need to re-implement rule with underscore specific checks or they are redundant?

underscore specific checks

IMO they're redundant. If someone would like to add those in, that should be added as a configurable parameter to core's unnecessary-bind.


Mango UI does display the complete patterns for Genome sequence

I am able to finally run the mango, But I do not see the patterns appear for the range on the browser from the reads, is UI issue is related to data? if so can someone suggest a better dataset where I can see all the reads appear for the range. Thanks in advance.
Command
./mango-submit  ~/GCA_000001405.15_GRCh38_full_analysis_set.2bit -reads hdfs://hadoop-mynamenode:9000/NA12878_phased_possorted_bam.alignments.adam

@akmorrow13 Can you shed some light on this, I do not see the whole patterns in the bottom portion of the browser. Thanks

Can you right click and see if there is a javascript console error?
Also, when did you last build? There was a recent bug fix  that may be related.

@akmorrow13 I just built new code base, still the same issue, no javascript errors.Is that something to do with the data set I am using?

Oh, my apologies. There is data (see the coverage track). To view reads, click on the settings wheel to "Show Alignments". By default, Mango only shows coverage. I can change this to show alignments by default.

@akmorrow13 , cool thanks, yes that was it. I think default show is better. Thanks much.

There is a driver cache and a spark RDD cache. When the data is in the driver cache, it just grabs data through there. When the data is not on the driver cache, it goes to Spark memory, which takes longer. When the data is also not in the RDD, it has to go to storage, which takes the longest.

@akmorrow13 thanks the UI worked for me. I have this UI, can you help in interpreting this, Like what it is that I am looking at. It will be a sense of understanding. Can you share few words.  Thanks

@ssabnis it looks like your reference does not match your sample. Maybe you're sample is aligned to hg19, instead of hg38. The top track is showing you coverage of the sample you are viewing, and the bottom track shows the raw reads at this location in the genome.

@akmorrow13 thanks, I have the following file, **HG001.hs37d5.300x.bam** can you suggest the corresponding fna and vcf files to be used with mango.

A vcf file can be any variant file you choose to view. Some example files can be found at http://www.internationalgenome.org/data/ and are free to download and play around with. You can download vcf files here and visualize the in the Mango browser as --variants.


No way to remove a stash

All of the stash methods either create or apply a stash. There needs to be additional functionality for stash, such as stash pop and stash drop. Pull Request https://github.com/schacon/ruby-git/pull/293 .

I for some reason didn't check to see if someone had done this before I did my pull request. I see that you closed your though. It is now Pull Request #297

this issue shouldn't be closed, is there a reason the pull request was never accepted?

Still an issue.
This stale bot is clearly more trouble than it's worth. It's buried tons of other issues too. I think it can be configured so that it only closes issues where a maintainer was the most recent commenter, otherwise leaving them open to be addressed or put to bed manually, which is ideal.

Is there any workaround?


[BUG] Failed install package: miss matched file name package.json and package-lock.json in the repo

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Following the instructions: azure-iot-explorer/README.md at main · Azure/azure-iot-explorer · GitHub
Navigate to "Run it locally and build it yourself" -> Open a Node capable command prompt
Clone the repo: git clone https://github.com/Azure/azure-iot-explorer.git
Run: npm install

Expected behavior
install package successfully, no error.
Actual result
C:\Users\Serena>npm install
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path C:\Users\Serena/package.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\Serena\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR!      C:\Users\Serena\AppData\Local\npm-cache_logs\2022-11-04T18_03_24_366Z-debug-0.log
Screenshots

Checked the local folder 'C:\Users\Serena, I found package-lock.json instead of package. json, manually change the package-lock.json to package. json, and run the npm install, no error, is this the expect behavior?

Desktop (please complete the following information):

OS:  Windows10, 11

I don't think you are in the this project repo.  After git clone, please cd into the folder and do npm install there.


Missing API token results in unintuitve error message

For some reason my Caddy wasn't picking up ENV variables. So when the DNS challenge was made I got this error message: solving challenges: presenting for challenge: adding temporary record for zone \"mydomain.com.\": got error status: HTTP 400: [{Code:6003 Message:Invalid request headers}]. At first that made me think that Cloudflare's API had been updated to require a different header or something. But in fact it was just that it was probably sending an empty API token.
It's not a big deal, happy to see this closed immediately. The main thing is that the error message is searchable, and might save somebody 5 minutes of head scratching.

Duplicate of #27

Thanks; maybe we should add this to the README :upside_down_face: Since Cloudflare hasn't improved the error message.

if caddy environ echoes correctly my api token, can the problem be that caddy sends empty api token?

It is, I suppose, you can see it here: https://caddy.community/u/breinich/notifications


codeium not working

my config:
(use-package codeium
    :ensure nil
    :quelpa (codeium :fetcher github :repo "Exafunction/codeium.el")
    :init
    ;; use globally
    (add-to-list 'completion-at-point-functions #'codeium-completion-at-point)

    :config
    (setq use-dialog-box t ;; do not use popup boxes
          codeium-mode-line t)

    ;; if you don't want to use customize to save the api-key
    ;; (setq codeium/metadata/api_key "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

    ;; get codeium status in the modeline
    (setq codeium-mode-line-enable
          (lambda (api) (not (memq api '(CancelRequest Heartbeat AcceptCompletion)))))
    (add-to-list 'mode-line-format '(:eval (car-safe codeium-mode-line)) t)
    ;; alternatively for a more extensive mode-line
    ;; (add-to-list 'mode-line-format '(-50 "" codeium-mode-line) t)

    ;; use M-x codeium-diagnose to see apis/fields that would be sent to the local language server
    (setq codeium-api-enabled
          (lambda (api)
            (memq api '(GetCompletions Heartbeat CancelRequest GetAuthToken RegisterUser auth-redirect AcceptCompletion))))
    ;; you can also set a config for a single buffer like this:
    ;; (add-hook 'python-mode-hook
    ;;     (lambda ()
    ;;         (setq-local codeium/editor_options/tab_size 4)))

    ;; You can overwrite all the codeium configs!
    ;; for example, we recommend limiting the string sent to codeium for better performance
    (defun my-codeium/document/text ()
      (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (min (+ (point) 1000) (point-max))))
    ;; if you change the text, you should also change the cursor_offset
    ;; warning: this is measured by UTF-8 encoded bytes
    (defun my-codeium/document/cursor_offset ()
      (codeium-utf8-byte-length
       (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (point))))
    (setq codeium/document/text 'my-codeium/document/text)
    (setq codeium/document/cursor_offset 'my-codeium/document/cursor_offset))

M-x: codeium-install
M-x: codeium-init
but it's not working.

Are you using a completion frontend or the default completion-at-point frontend?

Are you using a completion frontend or the default completion-at-point frontend?
my config:

  (use-package company
    :diminish
    :bind (("C-M-i" . company-complete)
           :map company-mode-map
           ("<backtab>" . company-yasnippet))
    :hook (after-init . global-company-mode)
    :init
    (setq company-tooltip-align-annotations t
          company-tooltip-limit 12
          company-idle-delay 0
          company-echo-delay (if (display-graphic-p) nil 0)
          company-minimum-prefix-length 1
          company-icon-margin 3
          company-require-match nil
          company-dabbrev-ignore-case nil
          company-dabbrev-downcase nil
          company-global-modes '(not erc-mode message-mode help-mode
                                     gud-mode eshell-mode shell-mode)
          company-backends '((company-capf :with company-yasnippet)
                             (company-dabbrev-code company-keywords company-files)
                             company-dabbrev))）

@Alan-Chen99 do you have any ideas?

Same issue here. After some experimentation I've noticed codeium fails to show completions when some other company completion backend is running, for example with eglot included in Emacs 29.1:
Without eglot running:

With eglot running:

There is no suggestion for me if eglot is enabled. Once I turn off eglot, the suggestions come to appear

Same problem here. Any help?

Same problem with config similar to @b40yd, in rust files with lsp-mode. Codeium completions work in comments section but for code there are only LSP completion.

Corfu + Eglot has the same problem. You can get Codeium to show up independently as explained in #97 with cape-capf-super, but it will still show Codeium alternatives in a popup menu. It seems impossible to get Corfu to show only one candidate from Codeium, or to tell Codeium to fetch only one. Perhaps with some hacking, it can be achieved with corfu-candidate-overlay, but I haven't been able to.
The way copilot.el handles previews is probably the way to go.


Transfer Ownership of 'quetz' Namespace in PyPI

Apologies for this unrelated GitHub issue, but I couldn't find a better way to contact you.
I'm one of the maintainers of Quetz, the open-source server for Conda packages. We're currently distributing our library under the 'quetz-server' namespace on PyPI, as 'quetz' is already taken by you. This breaks some of our automation, which makes releasing new versions of Quetz inconvenient.
Are you open to giving us ownership over the 'quetz' namespace on PyPI? This would help us tremendously.
If that's okay with you, I suggest transferring the project ownership to my PyPI account, jan_jagusch.
Thanks a lot in advance for considering my request. If you have any questions, please let me know. 🙏

Hi @janjagusch,
Unfortunately, we have reserved that name for an ongoing project, and we are still planning to release under it. If our plans change, however, I will make sure to let you know and I will transfer ownership to you before releasing it.

Hi @janjagusch,
Unfortunately, we have reserved that name for an ongoing project, and we are still planning to release under it. If our plans change, however, I will make sure to let you know and I will transfer ownership to you before releasing it.


A sidebar to display my library and pick and use icons from

I'm working with an extensive product design library, where the UI is builtg as components using nested smybols and a "folder" structure by symbol naming. I find the standard multilevel dropdown if sketch hard to use to find the icons I need quickly and put them on the stage. I would love a full height sidebar I can open (that stays open on demand) and close, where my symbols are neatly grouped and accessible as list/grid items with thumbnail previews to drag and drop them onto the stage for example. Somewhat like a simplified pallette from Creative Cloud apps. That shouldn't be too hard, right? As i'm a UX designer I could provide concept and sketches. I also would try to develop it myself, with some help of a developer. Drop me a line if you're intereted in cooperating.

Until someone makes a more visual panel, Sketch Runner may help you. I know it's not the same, but it could be part of the way there. You can use it to search across all your libraries

@JonasASchmidt did you find anything else for this besides Sketch Runner? I find myself wishing for this on a regular basis.

It’s not a sidebar, but Symbol Browser might be close to what you’re looking for. http://symbol-browser.pratikshah.website/

Thanks for the input. For the time being I'm working with Sketch Runner Pro.


An error when adding and then removing an annotation

When adding an annotation and then removing it right away an alert flashes and the console displays the following error:
Error: Attempted to handle event `deleteRecord` on <portia-ui@model:annotation::ember3132:2aad-44da-b749|0e37-4d53-9d83> while in state root.loaded.updated.inFlight
(I'm using a develop branch)

That happens because the annotation still hasn't been created so it can't be deleted. Ideally there would be a request queue for each object so it could merge updates and prioritize deletes without throwing an error


Suggestions for class-construction.md

Please just cherry-pick what is acceptable.

Thank you :) All applied.


composer require google/apiclient-services:dev-master gives an error

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package google/apiclient-services No version set (parsed as 1.0.0) is satisfiable by google/apiclient-services[No version set (parsed as 1.0.0)] but these conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

Please attach a copy of the composer.json file you are having problems with.

You are almost always going to want to require apiclient which depends on apiclient-services
composer require google/apiclient:^2.0
but if a direct dependency is what you want specify the same version as apiclient
composer require google/apiclient-services:~0.13


COMMIT phase rebroadcast

From what I can tell, every phase except the COMMIT phase will eventually time out, no matter how few messages are received. The commit phase, on the other hand, needs to receive messages from two-thirds of the power to move on to the next round, even if no decision has been reached.
Given that, I believe we need periodic rebroadcast of messages during the commit phase. Otherwise, the entire network can be waiting on messages that will never arrive. Ideally this would be some kind of persistent rebroadcast in case the network crashes at this point.

Closing in favour of #169


Property 'blockConcurrencyWhile' does not exist on type 'DurableObjectState'

Error :
src/index.ts → dist/index.mjs...
[!] (plugin typescript) Error: @rollup/plugin-typescript TS2339: Property 'blockConcurrencyWhile' does not exist on type 'DurableObjectState'.
src/counter.ts (9:16)

9     this.state.blockConcurrencyWhile(async () => {
                 ~~~~~~~~~~~~~~~~~~~~~

Error: @rollup/plugin-typescript TS2339: Property 'blockConcurrencyWhile' does not exist on type 'DurableObjectState'.
    at error (/home/wighawag/dev/wighawag/etherplay/testing-durable/node_modules/rollup/dist/shared/rollup.js:151:30)
    at throwPluginError (/home/wighawag/dev/wighawag/etherplay/testing-durable/node_modules/rollup/dist/shared/rollup.js:19344:12)

To reproduce :
wrangler generate testing-durable https://github.com/cloudflare/durable-objects-typescript-rollup-esm
cd testing-durable
npm i
npm run build

see https://github.com/cloudflare/workers-types/pull/106

fixed in the meantime in https://github.com/cloudflare/durable-objects-typescript-rollup-esm/pull/5


Streaming Support

Streaming is a very critical part of our app. Are there any plans to support it some how?
Originally posted by @cb-eli in https://github.com/microsoft/TypeChat/discussions/68

@cb-eli can you provide some background here? TypeChat is currently all about providing structured JSON results. While TypeChat could accept streaming JSON, the results always come back atomically at the moment, and I don't know if we would support other forms of streaming.
Can you elaborate on what your constrains are?

I'm actually looking at exactly this right now for a non TypeChat based app, and was wondering if there was support here.
I'm planning to handle this as follows:
Say the stream has something like this:

I'm actually looking at exactly this right now for a non TypeChat based app, and was wondering if there was support here.
I'm planning to handle this as follows. Say the stream has something like this:
{
  foo: [
    {obj: 1},
    {obj: 2},
    {obj: 3},
  ]
}

I would like to have a stream that looks like this
foo: []

foo: [{obj: 1}]

foo: [{obj: 2}]

so something like always closing objects/arrays until more parsable objects/arrays appear, and continuously adding fields as they become available.

another variation on the above is that as the fields themselves become more defined, like content being written into a string, it would also be streaming the repsonse
so
foo: [
  {obj: 1, text: 'hello '},
]

foo: [
  {obj: 1, text: 'hello w'},
]

foo: [
  {obj: 1, text: 'hello wo'},
]

foo: [
  {obj: 1, text: 'hello wor'},
]

foo: [
  {obj: 1, text: 'hello worl'},
]

foo: [
  {obj: 1, text: 'hello world'},
]

Here's a demo of it working:
https://recordit.co/Se8XHwlT0d

Here's a demo of something I cobbled together that streams JSON for inspiration:
https://recordit.co/6Lj3d8HyJe

I have a question: if the JSON response is streamed from the AI string output, it may always lack the remaining part that is being processed.
To address this, we could complete the JSON string data by setting the remaining part as default, adding some termination characters such as '"' or '}' to indicate the end, and then output the available JSON in real-time.
I can only think of these ideas, and I'm not sure if they are correct.

Thanks for the context - I still might need to ask a few more questions, so thanks in advance for your patience. 😄
First off, how do you intend to consume each of the streamed elements? Do you plan to immediately operate on them? What happens if a subsequent object has an error in some way?
[
  { "title": "Shake It Off", artist: "Taylor Swift" }, // <- was fine

  // until...

  "unrelated value" // <- oops! this causes an error!

Also, in your example, you have a response object that has a foo property. Is that actually realistic, or are responses usually only streaming at the top-level?

another variation on the above is that as the fields themselves become more defined, like content being written into a string, it would also be streaming the repsonse
so
foo: [
  {obj: 1, text: 'hello '},
]

foo: [
  {obj: 1, text: 'hello w'},
]

Earlier I gave an example of later values invalidating previous results. But with this, there's also the problem of intermediate values thrashing in phases of being invalid. For example, if you expect an array of the strings "foo" or "bar", then the following will be invalid:
[
  "foo",
  "bar",
  "fo  // <- what here? effectively gets auto-corrected to `"foo"`

I think at best one could imagine a version where whole values in an array are streamed - but those must be complete.

Another way to reframe this - if you'd be able to describe what the desired user experience you're trying to build here is, that would actually be the most helpful context!

Hi Daniel,
Thanks for opening this thread.
I agree with @samhatoum regarding the expected output from TypeChat.
Our use case is similar to a chat app.
The user submits his input and we stream back the result as text in Markdown syntax (as defined in the prompt).
We need the data to be structured to visualize the results.
During the streaming we parse and visualize the Markdown text.
When the full result returns, we parse it and save it as JSON for future use.
If more information is needed, I would be glad to provide it.

Our use case is similar to a chat app.
The user submits his input and we stream back the result as text in Markdown syntax (as defined in the prompt).
We need the data to be structured to visualize the results.
During the streaming we parse and visualize the Markdown text.
When the full result returns, we parse it and save it as JSON for future use.

@cb-eli that actually seems possible with the current API.
In your case, I believe you could create a custom TypeChatLanguageModel. Under the hood, you would connect to a language model API and the completer function could just be made to invoke a callback every time content comes in.
Here's an example of a streaming completer that uses node-fetch to open a streamed connection to OpenAI's chat completions REST API, which logs each streamed piece of content to standard output.

import assert from "assert";
import fetch from "node-fetch";
import dotenv from "dotenv";
import { TypeChatLanguageModel, success } from "typechat";

dotenv.config();

const modelName = process.env.OPENAI_MODEL;
const apiKey = process.env.OPENAI_API_KEY;

assert(modelName);
assert(apiKey);

const model: TypeChatLanguageModel = {
    complete: createStreamingCompleter(s => process.stdout.write(s))
};

function createStreamingCompleter(onContent: (content: string) => void) {
    return async function complete(prompt: string) {
        const response = await fetch("https://api.openai.com/v1/chat/completions", {
            method: "POST",
            headers: {
                Authorization: `Bearer ${apiKey}`,
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                model: modelName,
                stream: true,
                temperature: 0,
                n: 1,
                "messages": [
                    { "role": "user", "content": prompt }
                ],
            })
        });

        assert(response.body);

        let result = "";
        for await (const data of parseDataEvents(response.body)) {
            const deltaContent = JSON.parse(data).choices[0].delta.content;
            if (deltaContent !== undefined) {
                onContent(deltaContent);
            }
            result += deltaContent;
        }
        return success(result);
    }
}

/**
 * @param {AsyncIterable<Buffer | string>} stream
 */
async function* parseDataEvents(stream) {
    let tmp = ""
    for await (let part of stream) {
        part = part.toString();
        let start = 0;
        let end = 0;
        while ((end = part.indexOf("\n\n", start)) >= 0) {
            tmp += part.slice(start, end);
            if (tmp.startsWith("data: ")) {
                tmp = tmp.slice("data: ".length);
                if (tmp === "[DONE]") {
                    break;
                }
                yield tmp;
            }
            tmp = "";
            start = end + 2
        }
    }
}

And you can try it in action on a variation of our sentiment example.
import assert from "assert";
import dotenv from "dotenv";
import fetch from "node-fetch";
import { TypeChatLanguageModel, createJsonTranslator, processRequests, success } from "typechat";

dotenv.config();

const modelName = process.env.OPENAI_MODEL;
const apiKey = process.env.OPENAI_API_KEY;

assert(modelName);
assert(apiKey);

const model: TypeChatLanguageModel = {
    complete: createStreamingCompleter(s => process.stdout.write(s))
};

export interface SentimentResponse {
    sentiment: "positive" | "negative" | "neutral";
}
const schema = `export interface SentimentResponse {
    sentiment: "positive" | "negative" | "neutral";
}`;

const translator = createJsonTranslator(model, schema, "SentimentResponse");
processRequests("> ", undefined, async (req) => {
    const result = await translator.translate(req);

    console.log("\n------\n");
    if (result.success) {
        console.log(result.data);
    }
    else {
        console.log("Uh oh!");
        process.exit(-1);
    }
});

function createStreamingCompleter(onContent: (content: string) => void) {
    return async function complete(prompt: string) {
        const response = await fetch("https://api.openai.com/v1/chat/completions", {
            method: "POST",
            headers: {
                Authorization: `Bearer ${apiKey}`,
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                model: modelName,
                stream: true,
                temperature: 0,
                n: 1,
                "messages": [
                    { "role": "user", "content": prompt }
                ],
            })
        });

        assert(response.body);

        let result = "";
        for await (const data of parseDataEvents(response.body)) {
            const deltaContent = JSON.parse(data).choices[0].delta.content;
            if (deltaContent !== undefined) {
                onContent(deltaContent);
            }
            result += deltaContent;
        }
        return success(result);
    }
}

/**
 * @param {AsyncIterable<Buffer | string>} stream
 */
async function* parseDataEvents(stream) {
    let tmp = ""
    for await (let part of stream) {
        part = part.toString();
        let start = 0;
        let end = 0;
        while ((end = part.indexOf("\n\n", start)) >= 0) {
            tmp += part.slice(start, end);
            if (tmp.startsWith("data: ")) {
                tmp = tmp.slice("data: ".length);
                if (tmp === "[DONE]") {
                    break;
                }
                yield tmp;
            }
            tmp = "";
            start = end + 2
        }
    }
}

Note that parseDataEvents is just something quick and dirty I wrote up to parse server-sent events. I haven't tested it, so you may want to look into solutions like https://www.npmjs.com/package/eventsource.
Let me know if this is a reasonable solution for your app. We've recently been considering a page on custom models and this streaming example could be a good fit for that.

I'm not sure if this is helpful or not, but in this (unrelated) issue where I'm reporting a problem with linked back ends in Azure static web apps I shared an example of what a front end that consumed an async text stream from a C# back end:
https://github.com/Azure/static-web-apps/issues/1180
I share in case it proves useful background - feel free to ignore

Our use case is similar to a chat app.
The user submits his input and we stream back the result as text in Markdown syntax (as defined in the prompt).
We need the data to be structured to visualize the results.
During the streaming we parse and visualize the Markdown text.
When the full result returns, we parse it and save it as JSON for future use.

@cb-eli I think that's actually possible with the current API!
In your case, I believe you could create a custom TypeChatLanguageModel. Under the hood, you would connect to a language model API and the completer function could just be made to invoke a callback every time content comes in.
Here's an example of a streaming completer that uses node-fetch to open a streamed connection to OpenAI's chat completions REST API, which logs each streamed piece of content to standard output.
import assert from "assert";
import fetch from "node-fetch";
import dotenv from "dotenv";
import { TypeChatLanguageModel, success } from "typechat";

dotenv.config();

const modelName = process.env.OPENAI_MODEL;
const apiKey = process.env.OPENAI_API_KEY;

assert(modelName);
assert(apiKey);

const model: TypeChatLanguageModel = {
    complete: createStreamingCompleter(s => process.stdout.write(s))
};

function createStreamingCompleter(onContent: (content: string) => void) {
    return async function complete(prompt: string) {
        const response = await fetch("https://api.openai.com/v1/chat/completions", {
            method: "POST",
            headers: {
                Authorization: `Bearer ${apiKey}`,
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                model: modelName,
                stream: true,
                temperature: 0,
                n: 1,
                messages: [
                    { role: "user", content: prompt }
                ],
            })
        });

        assert(response.body);

        let result = "";
        for await (const data of parseDataEvents(response.body)) {
            const deltaContent = JSON.parse(data).choices[0].delta.content;
            if (deltaContent !== undefined) {
                onContent(deltaContent);
            }
            result += deltaContent;
        }
        return success(result);
    }
}

/**
 * @param {AsyncIterable<Buffer | string>} stream
 */
async function* parseDataEvents(stream) {
    let tmp = ""
    for await (let part of stream) {
        part = part.toString();
        let start = 0;
        let end = 0;
        while ((end = part.indexOf("\n\n", start)) >= 0) {
            tmp += part.slice(start, end);
            if (tmp.startsWith("data: ")) {
                tmp = tmp.slice("data: ".length);
                if (tmp === "[DONE]") {
                    break;
                }
                yield tmp;
            }
            tmp = "";
            start = end + 2
        }
    }
}

And you can try it in action on a variation of our sentiment example.
Note that parseDataEvents is just something quick and dirty I wrote up to parse server-sent events. I haven't tested it, so you may want to look into solutions like https://www.npmjs.com/package/eventsource.
Let me know if this is a reasonable solution for your app. We've recently been considering a page on custom models and this streaming example could be a good fit for that.

The first char I receive for my prompt in the streamed response is \n
When calling const result = await translator.translate(req); the result equals to:
{
  success: false,
  message: "Response is not JSON:\n",
}

and it exits.
Am I missing something?

My use-case is that I have a diagram that's being built up incrementally as the data becomes available.
I have to say, I'm currently working without types at all and using only JSON, so what I'm doing in the more freeform way may not be suitable for a typed approach as I think about it. I can see what you mean in terms of whole values being streamed.

My use-case is that I have a diagram that's being built up incrementally as the data becomes available.
I have to say, I'm currently working without types at all and using only JSON, so what I'm doing in the more freeform way may not be suitable for a typed approach as I think about it. I can see what you mean in terms of whole values being streamed.

Yeah, I think there are shades of gray here - a big part of the approach with TypeChat is that it enables you to guarantee a specific well-typed structure. If you're getting objects that are meant to model pure associative data like a map (which you might be using for these diagrams) then it might be overkill to use TypeChat to guarantee that you have a Record<string, string>.
That said, we might be able to do something better here over time.


Describe updated astrometric calibration procedure

As @jchiang87 points out in #73:

I've only scanned the content so far, but I note immediately that the astrometry.net stuff has been superseded. I think the correct procedure is captured here and here

This issue was moved to LSSTDESC/ImageProcessingPipelines#14


Type checker does not completely recognise Dict type constructor in typing library

Environment data

Language Server version: 2020.9.0
OS and version: Ubuntu 20.04 LTS
Python version (& distribution if applicable, e.g. Anaconda): 3.8.2

Expected behaviour
When hovering over pdict
def __init__(self, syst: str, pdict: Dict[str, float]) -> None:

pylance should display
(parameter) pdict: Dict[str, float]

Actual behaviour
Instead, it displays
(parameter) pdict: Dict

Logs

None

Code Snippet / Additional information

class aqi:
    def __init__(self, syst: str, pdict: Dict[str, float]) -> None:
    ...

Thanks for the bug report.
This issue has already been addressed, and the fix will appear in the next release of Pylance.

It is a duplicate of #315

Okay. Thank you.


Arrow Down key should open combobox popup

Description
Pressing ArrowDown ↓ key should open combobox popup.
Reproduction
Steps

Go to https://www.algolia.com/doc/ui-libraries/autocomplete/introduction/what-is-autocomplete/ and place cursor in first autocomplete.
Press Escape to close the popup.
Press Arrow Down ↓ to open the popup.
Combobox stays closed.

Expected behavior
Pressing Arrow Down should open the combobox. Also see here
Environment

OS: [e.g. Windows / Linux / macOS / iOS / Android]
Browser: [e.g. Chrome, Safari] Firefox 88
Autocomplete version: [e.g. 1.0.0] 1.0.1

Update: this feature is being worked on by @shortcuts.


Default URL scheme ssh:// and port not parsed correctly

Steps to reproduce:
# ./client --foreground -d example.com:3232
2024/02/21 13:40:13 url scheme  example.com not recognised falling back to ssh:  :22 as no port specified
2024/02/21 13:40:13 Connecting to  example.com:3232
2024/02/21 13:40:13 Unable to start a new client connection: ssh: handshake failed: ssh: invalid packet length, packet too large

Ah yep, thats a regression


The model for person detection

Thanks for the great work. Could you also provide the model and demo codes for person detection task?

Hi, we have added the person detection tflite model to the repo. To deploy the model, we still need support from the engine side. Please stay tuned for the TinyEngine release!

Hi, thanks for the great work.
Can you also provide 8 bit quantized tflite model or the training code for person detction? It will be pretty cool to run this model on microcontroller in high frame rate like 60FPS.

could you please provide the float torch model in main page, really appreciate that

@tonylins could you explain the changing to coustom object detection model.


Optimizing Latency in FlashLlamaLayer.mlp During First Token Generation

Feature request
While using a Llama2 model, I've noticed a significant performance bottleneck in FlashLlamaLayer.mlp during the first decoder step.
I'm looking for guidance on how to contribute to improve this problem.
For a large llama model, profiling show that the mlp module consumes 80% of the time for the first token decode. For a 3k prompt, this is about the same latency (~3s) as the next 35 tokens combined. This is particularly noticeable with bigger prompts.  Here are the test results:
Decoding of the 1st completion token
# Token 1

prompt-size	2712	283
mlp size	[2712, 8192] [283, 8192]

mlp		2.76s	0.65s
query_key_value	0.34s	0.09s
prefill-atn	0.11s	0.01s

Subsequent decoding step (eg completion token 2, or 3, or 4, ...)
# Token 2

prompt-size			 2712	283
mlp size			 [1, 8192] [1, 8192]
mlp				 0.06s	0.06s
query_key_value			 0.02s	0.01s
single_query_cached_kv_attention 0.01s	0

mlp_size refers to the tensor dimensions going into the mlp layer.
Some questions I have:

Why is the mlp input tensor smaller in subsequent decoding steps? I was always under the impression that the whole input sequence had to flow through all layers.

Is it possible to omit to only feed the last token, rather than the full input sequence, into mlp?

ps: Measurements profiled the model code (a print statement before/after the relevant module inside forward), but the sum is close to the total request latency
Motivation
Improving throughput and latency for a large llama2 models.
Your contribution
Looking for guidance on how to contribute.

I managed to figure out what's going on. The attention for each layer is dependent on the MLP of the previous layer. For 1st token decode, we have to calculate the attention for every kv.
In decoding steps the kv cache is retrieved. But the kv cache already went through the MLP layer, so the information is preserved. And for decode step 2, 3, 4, ..., only 1 value needs to be added to the attention matrix.
So I don't think my optimization aim would be fruitful


Add APIs for setting OAuth and basic auth headers to the ClientBuilder

Motivation:
It would be nice if we provide APIs for setting basic auth, OAuth 1.0 and OAuth 2.0 header as we support those in the server-side.
Modifications:

Add auth(BasicToken), auth(OAuth1aToken) and auth(OAuth2Token) to AbstractClientOptionsBuilder.
Fix a bug where OAuth1a paremters are not decoded when they are percent-encoded.

Result:

You can now easily set the authorization header.
(Breaking) BasicToken, OAuth1aToken and OAuth2Token classes are moved to com.linecorp.armeria.common.auth.

Thanks, @minwoox!


Select no tests if modified-only returns nothing

Previously it selected all tests. Now it respects that if nothing is modified then nothing is selected.
Fix: #2449
Is this worth of release note?
Pull Request Checklist

[x] implement the feature
[x] extend the test coverage

Do you still plan to add a release not as suggested by the checklist?

No idea. Any preference? On one side it changes behavior but on the other it changes it to the expected one.

On one side it changes behavior but on the other it changes it to the expected one.

Yeah, in fact, it just fixes a bug, and probably not that interesting --> I suggest to skip the release note.

Hm, /tests/discover/modified seems to be failing.

I'll take a look in the afternoon. That test used to pass before the rebase.

Frankly I have no idea why has that test ever passed. Fixed code now.

Failing tests are known culprits --> merging.


fix: add new validateParams function

This commit adds the "validateParams" function
to the node core.  This function will be used
by the operation code generated by the Node
SDK generator to validate the parameters found
within a "params" object.  It will check for
required parameters that are not present, and also
check to make sure that all parameters that ARE present
are valid (i.e. the param name is among the expected
valid parameter names for the operation).

Checklist

[x] npm test passes (tip: npm run lint-fix can correct most style issues)
[x] tests are included
[x] documentation is changed or added

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rename tab-size to indent-width

Summary
This PR renames the tab-size configuration option to indent-width to align its name with the other options specifying a width and express that the option is used by the formatter to determen the indentation width AND as tab width.
I first preferred naming the option tab-width but then decided to go with indent-width because:

It aligns with the indent-style option
It would allow us to write a lint rule that asserts that each indentation uses indent-width spaces.

Test Plan
Added integration test

Current dependencies on/for this PR:

main

PR #8000

PR #8002

PR #8032
PR #8006

PR #8035

PR #8010

PR #8082   👈
PR #8039

PR #8031

This comment was auto-generated by Graphite.

Merge activity

Oct 24, 4:06 AM: Graphite rebased this pull request as part of a merge.

@charliermarsh feel free to hit merge when the changes look reasonable to you


Wrong header protection key derived for AEAD_CHACHA20_POLY1305

Whenever the ChaCha20-Poly1305 TLS 1.3 cipher suite is negotiated, quic-go uses AES anyway for header protection which breaks decryption:
https://github.com/lucas-clemente/quic-go/blob/9d92550e4e4b26e1a67b23ae7e703d15ffe38d0c/internal/handshake/aead.go#L103-L110
ChaCha20-based header protection must be applied instead as described at
https://tools.ietf.org/html/draft-ietf-quic-tls-22#section-5.4.4
This issue was originally caught by Wireshark (where decryption with an AES cipher works, but ChaCha20-Poly1305 fails) and later reproduced with ngtcp2.
Reproducer 1
crypto/tls (on which qtls is based) has some "funny" behavior. If the CPU supports AES acceleration instructions, it will default to AES ciphersuites. Otherwise, it will use ChaCha20-Poly1305.
It is unfortunately not easy to force a specific TLS 1.3 cipher with OpenSSL or crypto/tls, the developers wanted to reduce the possibility of misconfigured software at the cost of flexibility for testing.
To force the use of ChaCha20-Poly1305 with standard crypto/tls, one can set GODEBUG=cpu.all=off. Unfortunately, x/sys/cpu does not respect this (see https://github.com/golang/go/issues/33963), so in order to make this override work I used this patch in qtls v0.3.2:
diff --git a/common.go b/common.go
index d3c66fd..2350061 100644
--- a/common.go
+++ b/common.go
@@ -1082,6 +1082,12 @@ func initDefaultCipherSuites() {
 		hasGCMAsm = hasGCMAsmAMD64 || hasGCMAsmARM64 || hasGCMAsmS390X
 	)

+	// x/sys/cpu does not respect GODEBUG=cpu.all=off. As a workaround,
+	// check it here. See https://github.com/golang/go/issues/33963
+	if strings.Contains(os.Getenv("GODEBUG"), "cpu.all=off") {
+		hasGCMAsm = false
+	}
+
 	if hasGCMAsm {
 		// If AES-GCM hardware is provided then prioritise AES-GCM
 		// cipher suites.

For generating a TLS keylog file for use with Wireshark I used:
diff --git a/example/echo/echo.go b/example/echo/echo.go
index 7c1ae280..d25e40ca 100644
--- a/example/echo/echo.go
+++ b/example/echo/echo.go
@@ -11,6 +11,7 @@ import (
 	"io"
 	"log"
 	"math/big"
+	"os"

 	quic "github.com/lucas-clemente/quic-go"
 )
@@ -106,8 +107,16 @@ func generateTLSConfig() *tls.Config {
 	if err != nil {
 		panic(err)
 	}
+	var keyLogWriter io.Writer
+	if keylogfile := os.Getenv("SSLKEYLOGFILE"); keylogfile != "" {
+		keyLogWriter, err = os.OpenFile(keylogfile, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0600)
+		if err != nil {
+			panic(err)
+		}
+	}
 	return &tls.Config{
 		Certificates: []tls.Certificate{tlsCert},
 		NextProtos:   []string{"quic-echo-example"},
+		KeyLogWriter: keyLogWriter,
 	}
 }
diff --git a/go.mod b/go.mod
index 15a9b90d..762e743f 100644
--- a/go.mod
+++ b/go.mod
@@ -12,4 +12,5 @@ require (
 	github.com/onsi/gomega v1.4.3
 	golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25
 	golang.org/x/net v0.0.0-20190228165749-92fc7df08ae7
+	golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e
 )

I then built and ran the echo client with:
go mod download && go mod vendor
go build -mod=readonly ./example/echo
sudo tcpdump -i any -p -w quic-go-v0.12.0.pcap -f udp &
# normal AES cipher
SSLKEYLOGFILE=quic-go-v0.12.0.keys ./echo
# Force ChaCha20-Poly1305
GODEBUG=cpu.all=off SSLKEYLOGFILE=quic-go-v0.12.0.keys ./echo

Wireshark (with some patches) will be able to decrypt the first, but not the second session.
Reproducer 2
Interop between quic-go v0.12.0 server and ngtcp2 client with the following versions:
https://github.com/ngtcp2/ngtcp2 draft-22 9c1805430d4a
https://github.com/ngtcp2/nghttp3 master 6964d8e771ec
https://github.com/tatsuhiro-t/openssl openssl-quic-draft-22 90ccde5d7d53
Reproducer:
# run in quic-go directory
go build -mod=vendor -o example-main ./example
./example-main -v

# run in ngtcp2 build dir
cd examples
dumpcap -i lo -f 'udp port 6121' -w quic-interop.pcapng -p &
SSLKEYLOGFILE=quic-interop.keys ./client <IP_ADDRESS> 6121 http://example.com --ciphers=TLS_CHACHA20_POLY1305_SHA256

Without the --ciphers override, Wireshark is able to decrypt the traffic and interop succeeds because AES is in use.
With the --ciphers override, ChaCha20-Poly1305 will be used, and interop fails. Wireshark shows decryption failure and quic-go reports this as well:
server Dropping packet that could not be unpacked. Error: decryption failed

@Lekensteyn Thank you for the detailed bug report.
I applied your patch to the v0.3.3 release of qtls. To actually support ChaCha though, I think I'll need to refactor things quite a bit, since the cipherSuite interface hides all information about the actual cipher suite used, so we currently can't distinguish between AES and ChaCha.


LSP Code Action: Create implementation of interface

Problem
It takes a lot of manual effort to go from interface => skeleton class implementing interface.
Proposed solution
In editor, implement a code action that automatically generates a skeleton class implementing a given interface.
e.g.:
module Runnable
  extend T::Sig
  extend T::Helpers                                    # (1)
  interface!                                           # (2)

  sig {abstract.params(args: T::Array[String]).void}   # (3)
  def main(args); end                                  # (4)
end

Would generate something like:
class Generated
  extend T::Sig
  include Runnable

  sig {override.params(args: T::Array[String]).void}
  def main(args)
    raise "Not yet implemented."
  end
end

This was done in #7048


Added extra copy of apcera.md since first not linked

This is a followup to pull request #55. There's probably a way to get the first copy of apcera.md that I put under the deployment directory correctly linked, but I can't figure it out and have not heard back about #56 .  So, I decided to add an extra copy under microservices-demo/deployment since I suspect that one will be linked to from doc_menu.html.
But please do see my comments in #56 in which I wondered whether the entire site needs to be recompiled in order for the link to be fixed.  The issue is not just the broken link but also that Apcera does not appear on the left-side menu when visiting the other deployment pages which suggests that they are not yet using the new version of doc_menu.html.
I'd really like to have a working link tomorrow since I am writing a blog post which Apcera wants to publish this week which will talk about the demo of Sock Shop I created on Apcera including both the version that mixes some of the Docker images with modified source code from GitHub and the pure Docker version I've documented here.
It would obviously be better to figure out how to get my previous pull request with the single copy of apcera.md working.  If that can be done, then please reject this one.  But if noone can figure that out, then please do accept this pull request.
Thanks,
Roger Berlind

This is no longer needed since submodule on main project was updated.
Thanks.


Support Azul Zulu builds of OpenJDK publishing at the Adoptium marketplace

Azul wants to publish Azul Zulu builds of OpenJDK at the Adoptium marketplace.
The aqa-tests results for Linux platform build (zulu<IP_ADDRESS>-ca-jdk8.0.292-linux_x64) for sanity.system, extended.system, special.system, sanity.functional, extended.functional, special.functional, sanity.openjdk, extended.openjdk and special.openjdk test suites can be found here:
https://cdn.azul.com/aqavit/zulu<IP_ADDRESS>-ca-jdk8.0.292-linux_x64-results

We do not have the marketplace fully set up yet, but since Azul is a working group member we expect they'll be available via the marketplace in due course once it is ready :-)

Hi @smlambert @sxa , is there any progress with the simplifying process you are working on?
I have already looked through https://github.com/adoptium/marketplace-data
and https://marketplace-api.adoptium.net/q/swagger-ui/
What should we do now to proceed with publishing Zulu (Azul) builds in the marketplace?
Thanks!

Hi @SashaPepin Yes there are now tagged versions of the test suites - I believe the correct version for the current releases is v0.9.1 in the AQA test repositories but I'll leave it to @smlambert to confirm as I haven't been so closely involved with the marketplace certification discussions this time.

You are going to use aqa-tests v0.9.1-release branch and set the environment variable USE_TESTENV_PROPERTIES=true (which will pin the other test material to specific tagged versions).
Please use this doc as the basis to follow:
https://adoptium.net/docs/aqavit-verification/
For command line runs, looks like:
git clone --depth 1 --branch v0.9.1-release https://github.com/adoptium/aqa-tests.git

export TEST_JDK_HOME=
export USE_TESTENV_PROPERTIES=true
export JDK_VERSION=17
export JDK_IMPL=hotspot
export BUILD_LIST=functional // where this matches the directory of the test material you want to compile

cd aqa-tests
./get.sh
./compile.sh
cd TKG
make _sanity.functional
…
make _extended.system

Collect *.tap file and metadata file
Archive .zip
Publish .zip

The errors listed in the tap files shared in this issue, it is worth noting that you need to also supply the native testimage for the sanity.openjdk and extended.openjdk targets.
If you are using our Jenkins pipeline this can be done by setting SDK_RESOURCE=customized and CUSTOMIZED_SDK_URL=url to jdk binary url to native test image
where they are space separated.  If you are running via commandline, you can export an environment variable called TESTIMAGE_PATH (which would be what we'd pass to jtreg on the -nativepath option).
In the event that there are Azul specific features that cause some of the tagged openjdk test material to fail, there is an option for temporary exclusion while we sort it out.  (We want to establish the baseline set of tests that are applicable to all, and then we can thoughtfully add more tests as we understand different distributors/vendor implementations.
Happy to answer more questions and help in any way to prep you for marketplace launch.  Cheers!

@smlambert thanks a lot for the detailed answer!

@smlambert could you please clarify:
Collect *.tap file and metadata file - what is a metadata file? Where it could be found?
In aqa-tests/testenv/testenv.properties I can see
AQA_REQUIRED_TARGETS=sanity.functional,extended.functional,special.functional,sanity.openjdk,extended.openjdk,sanity.system,extended.system,sanity.perf,extended.perf
Can I somehow use AQA_REQUIRED_TARGETS property to run all the reqired tests at once?
Thanks!

re: https://github.com/adoptium/aqa-tests/issues/2826#issuecomment-1138715566
@SashaPepin - you can run all the targets at once, but we typically do not recommend it since running them serially is going to take a long while...
but having said that, it is 'possible'... and if many folks are running via commandline, we should add some convenience scripts I suppose.
You will have to set
export BUILD_LIST=functional,openjdk,system,perf to ensure that all of the test material gets compiled, then presumably
And assuming I've created a script called runRequiredTargets.sh that looked like this:
echo "Running AQA_REQUIRED_TARGETS: $AQA_REQUIRED_TARGETS"

for i in $(echo $AQA_REQUIRED_TARGETS | sed "s/,/ /g")
do
    # execute the top-level test targets
    make  "_$i"
done

Updating the instructions I shared in a previous comment change to something like:
git clone --depth 1 --branch v0.9.1-release https://github.com/adoptium/aqa-tests.git

export TEST_JDK_HOME=<location of your JDK under test>
export USE_TESTENV_PROPERTIES=true
export JDK_VERSION=17
export JDK_IMPL=hotspot
export BUILD_LIST=functional,openjdk,system,perf // where these are all the directories whose test material we wish to use
export AQA_REQUIRED_TARGETS=sanity.functional,extended.functional,special.functional,sanity.openjdk,extended.openjdk,sanity.system,extended.system,sanity.perf,extended.perf // I will plant to create a PR to export this var during test setup in future

cd aqa-tests
./get.sh
./compile.sh
cd TKG
./runRequiredTargets.sh

// Collect all *.tap file from the TKG/output_`timestamp` dir and the **AQACert.log and SHA.txt file** from the TKG dir
// Archive .zip
// Publish .zip

@smlambert could you please have a look at this test results
archive.zip
Does it look good to you to be published?
Thanks!

hi @SashaPepin - good start!
so, if you intend to publish jdk8 x64 linux build, described by:
DETECTED_JAVA_VERSION=openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Zulu <IP_ADDRESS>-CA-linux64) (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (Zulu <IP_ADDRESS>-CA-linux64) (build 25.332-b09, mixed mode)
DETECTED_RELEASE_INFO=JAVA_VERSION="1.8.0_332"
OS_NAME="Linux"
OS_VERSION="2.6"
OS_ARCH="amd64"
SOURCE="git:f4b2b4c5882e"

the contents of this archive.zip will contain 8 other .tap files also (which are possibly in other output_xxtimestamp directories):
Test_openjdk8_hotspot_extended.system_x86-64_linux.tap 👍
AQACert.log
SHA.txt
Test_openjdk8_hotspot_extended.system_x86-64_linux.tap
Test_openjdk8_hotspot_extended.system_x86-64_linux.tap
Test_openjdk8_hotspot_extended.system_x86-64_linux.tap
Test_openjdk8_hotspot_extended.system_x86-64_linux.tap

Thanks a lot @smlambert !
I know about other .tap files :) I just wanted to be sure that the archived information is full and correct to be published.
Thanks again!

Hi @smlambert !
Here are all our test results for Zulu8 on Linux x64
functional_extended.zip
functional_sanity.zip
functional_special.zip
openjdk_extended.zip
openjdk_sanity.zip
perf_extended.zip
perf_sanity.zip
system_extended.zip
system_sanity.zip
All tests passed except 12 tests in openjdk.extended test suite. I've found only 5 test failures in your test run on the same platform https://ci.adoptopenjdk.net/view/Test_openjdk/job/Test_openjdk8_hs_extended.openjdk_x86-64_linux_testList_0/42/tapResults/
As I'm not familiar so far with openjdk tests could you please look at our results and probably give any hints.
Thanks!

@SashaPepin - this looks pretty good.
@sophia-guo is kindly putting together a PR https://github.com/adoptium/aqa-tests/pull/3723 to exclude the few remaining failing test cases.  Once the PR is merged and cherry-picked to the v0.9.1-release branch you can rerun the failing targets and append the TAP files from the rerun to complete the verification work.
We can look more closely at the failing tests to see if they should be permanently excluded, or whether there are improvements to the tests or the product code before reinclusion, but will not need to block.

Thank you very much @smlambert and @sophia-guo !
I very appreciate your help!
I will re-run the tests tonight and will send you new results.

@sophia-guo - can you put a note when your PR is cherrypicked and put into v0.9.1-release branch, as no point for @SashaPepin to rerun until its backported.

Done https://github.com/adoptium/aqa-tests/pull/3743

@smlambert and @sophia-guo thank you very much for your efforts!
Fortunately openjdk extended test suite started right after the backport push had happened and all tests passed this time.
Here are the latest test results:
functional_sanity.zip
functional_extended.zip
functional_special.zip
system_sanity.zip
system_extended.zip
openjdk_sanity.zip
openjdk_extended.zip
perf_sanity.zip
perf_extended.zip

Great!
All TAP files can be added to a single archive (nested zip is fine or flattened) and pointed to in the aqavit_results_link in the json file for listing in the Marketplace (as described in https://adoptium.net/docs/marketplace-listing/ and exemplified by the example.json here).
azul_tap.zip is sufficient to show that the product described by contents of AQACert.log is now AQAvit verified:
DETECTED_JAVA_VERSION=openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Zulu <IP_ADDRESS>-CA-linux64) (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (Zulu <IP_ADDRESS>-CA-linux64) (build 25.332-b09, mixed mode)
DETECTED_RELEASE_INFO=JAVA_VERSION="1.8.0_332"
OS_NAME="Linux"
OS_VERSION="2.6"
OS_ARCH="amd64"
SOURCE="git:f4b2b4c5882e"

We can and should take a look at the excluded tests to see what actions can happen next to fix/reinclude if applicable.

You do not need to create the output.html file, I just included it, so it was easy for you and others to see and navigate the results (described here how it was created: https://github.com/adoptium/aqa-tests/issues/3713#issuecomment-1147671210).
Yes, for this release, you would not flatten, as the different test groups include different information in the SHA.txt file.   Going forward (for July and onward), we are going to include the metadata information at the top of the TAP files so that the additional metadata files (AQACert.log and SHA.txt) will no longer be required.
Your next step would be to prepare the json file (as per the https://adoptium.net/docs/marketplace-guide, and see the 'Providing Publisher Information' and opening a "New Marketplace Publisher issue".
Tagging @tellison who will see that new Marketplace Publisher issue and can provide guidance should you need.

I believe the AQAvit piece is complete, so we can likely close this issue.  The remaining activity is outlined in https://github.com/adoptium/aqa-tests/issues/2826#issuecomment-1155350727.

Hi @smlambert !
Sorry for the delayed response. I'm currently on vacation.
Yes, I think the issue can be closed!
Thank you very much for your help!


Regent: Errors during executable linking on IBM Power 9 machine with LLVM 90

If I try to compile HTR on an IBM Power 9 machine (https://wiki.u-gov.it/confluence/display/SCAIUS/UG3.2%3A+MARCONI100+UserGuide) using LLVM 90 I get a lot of errors like
terra:(.text+0x227b1c): call to `legion_task_postamble' lacks nop, can't restore toc; recompile with -fPIC
terra:(.text+0x227b1c): unresolvable R_PPC64_REL24 against `legion_task_postamble'
/usr/bin/ld: final link failed: Bad value

when linking the executable.
If LLVM 60 is used, the linking is executed correctly.

For future reference, the error reproduces with the command ../regent.py embed_tasks.rg executed in the folder language/examples of the legion repository

Recording some comments on this from a Slack discussion.
It looks like we need to pass -fPIC when producing a .o file from a .rg file using saveobj. Unfortunately it doesn't seem straightforward to pass such flags to llvm when it compiles object files, i.e. here https://github.com/terralang/terra/blob/0636d05b56cadc5fd324b8346d42cacc4b491090/src/tllvmutil.cpp#L148-L179.
It might be possible to work around this by saving bitcode and then compiling with llc

Experienced the same problem with LLVM 11.0.1 in Power9 machine.

Can someone try to reproduce this again with LLVM 13? I am no longer able to replicate #939 on Summit with LLVM 13.

For what it's worth, I am no longer able to replicate the error with ./regent.py examples/embed_tasks.rg with the same configuration I noted at https://github.com/StanfordLegion/legion/issues/939#issuecomment-1099526412.

I am not able to replicate this issue either with LLVM 13. Thanks for fixing this issue


Can't build HoloToolkit in Unity 2018.4 (LTS)

Describe the bug
The latest HoloToolkit (not Mixed Reality Toolkit!) doesn't work in Unity 2018.4 (LTS).
There are errors after exporting the Visual Studio project.

To reproduce
Steps to reproduce the behavior:

Create new project in Unity 2018.4
Import HoloToolkit-Unity-2<IP_ADDRESS>.unitypackage
Switch to UWP
Build project
Open Visual Studio project and build

Expected behavior
Successful VS build without error. Instead there are errors about missing references.
Screenshots
Your Setup (please complete the following information)

Unity Version 2018.4.0f1
HT Version 2<IP_ADDRESS>

Target Platform (please complete the following information)

HoloLens

Additional context

HTK requires Unity 2017.4
Closing older HTK issue as we are no longer actively working on HTK.
Please upgrade to MRTK V2 for the latest fixes.

Unfortunately I have a project running on HTK which I cannot upgrade easily without rewriting a lot of custom scripts.
But at least I got HTK running for Unity 2018.2.


Modifications to automatically generated files

For better handling, please mark all classes/interfaces that were automatically generated with the javax.annotation.processing.Generated annotation.
Further, for the RexsStandard... interfaces, please apply the following changes:

drop the public static final modifiers, as all fields of interfaces are implicitly public static final
When referring to other standard types, use the fields from the interface instead of the subclass

Here's an example of the requested changes:
@Generated("Package path of the generator")
public interface RexsStandardAttributeIds {

        // ...

	/** Tooth tip height (Versions: 1.2, 1.3, 1.4, 1.5, 1.6) */
	 RexsAttributeId addendum_basic_profile = RexsAttributeId.create("addendum_basic_profile", RexsStandardUnitIds.mm);

        // ...
}

fixed by #119


not work in node.js

i have couchdb 1.6.1 and i install pouchdb in my nodejs
use code:
var PouchDB = require('pouchdb');
PouchDB.plugin(require('pouchdb-find'));
var db = new PouchDB('http://localhost:5984/testdb');
db.find({
selector: {
name: 'Mario'
},
fields: ['_id', 'name'],
sort: ['name']
}).then(function (result) {
console.log(result)
}).catch(function (err) {
console.log(err)
});
any ans...
{ [bad_request: Something wrong with the request]
status: 400,
name: 'bad_request',
message: 'Something wrong with the request',
error: true,
reason: 'Referer header required.' }
why ???
how can i do ?

What version of Node and PouchDB and PouchDB-find?
All misspelling thanks to my iPhone

On 01 Nov 2015, at 9:20 AM, c941010623<EMAIL_ADDRESS>wrote:
i have couchdb and i install pouchdb in my nodejs
use code:
db.find({
selector: {
name: 'Mario'
},
fields: ['_id', 'name'],
sort: ['name']
}).then(function (result) {
console.log(result)
}).catch(function (err) {
console.log(err)
});
any ans...
{ [bad_request: Something wrong with the request]
status: 400,
name: 'bad_request',
message: 'Something wrong with the request',
error: true,
reason: 'Referer header required.' }
why ???
how can i do ?
—
Reply to this email directly or view it on GitHub.

i only use npm install pouchdb-find and npm install pouchdb
couchdb is 1.6.1
and not use db.find to couchdb ....
but  node.js local is work
why ??

CouchDB 1.6 doesn't support query. You need to use CouchDB from the master branch or PouchDB-server
All misspelling thanks to my iPhone

On 02 Nov 2015, at 2:07 PM, c941010623<EMAIL_ADDRESS>wrote:
i only use npm install pouchdb-find and npm install pouchdb
couchdb is 1.6.1
and not use db.find to couchdb ....
but node.js local is work
why ??
—
Reply to this email directly or view it on GitHub.


Nested lists are not displayed

Hi,
The description of my software contains nested lists (<ul> inside another <ul>). Unfortunately, both on current website and on beta, the main list is displayed but the nested is not. Using KDE Discover (5.24.5), the description is cut a little before the nested list, like on Linux Mint software center. I do not have a Gnome Software at hands to test this.
This would clearly suggest I made a syntax mistake in my manifest but it seems not, and it passes appstream-util validate.

Appstream metainfo: https://framagit.org/Yvan-Masson/WhosWho/-/blob/master/data/fr.masson_informatique.WhosWho.metainfo.xml
Current website: https://flathub.org/apps/details/fr.masson_informatique.WhosWho
Beta website: https://beta.flathub.org/apps/details/fr.masson_informatique.WhosWho

Regards,
Yvan

I fear, that that's also a problem of the current backend lib removing that.
Might improve as soon as https://github.com/flatpak/flatpak-builder/pull/418 happens. Will have a look at it after that.

Just a quote from the Appstream Spec:

Nested lists are not supported

Your Appstream file is invalid. appstreamcli shows the error:
$ appstreamcli validate --explain fr.masson_informatique.WhosWho.metainfo.xml
I: fr.masson_informatique.WhosWho:7: summary-has-dot-suffix
     Create PDF documents with people pictures and corresponding name, also
         called "who's who", "yearbook" or "facebook".
   The component summary should not end with a dot (`.`).

E: fr.masson_informatique.WhosWho:40: description-para-markup-invalid ul
   This description paragraph contains invalid markup. Currently, only <em/> and <code/> are
   permitted.

E: fr.masson_informatique.WhosWho:7: summary-has-tabs-or-linebreaks
   The component summary must not contain tabs or linebreaks.

? Validation failed: errors: 2, infos: 1, pedantic: 2

While Flatpak currently uses appstream-glib (of which appstream-util is a part) of, it will switch soon to libappstream (which provides appsteamcli). libappstream is the current standard implementation and the validating is far better. So it make sense to check your Appstream files currently with both: appstream-util (for Flathub compatibility) and appstreamcli (to see if it is real valid).

Thanks @razzeee, thanks @JakobDev, information you have provided are really useful for me. As my Appstream file is not valid, I believe this issue should be closed. Sorry for the annoyance.


add time referencial

Codecov Report

Merging #613 into master will increase coverage by 0.1%.
The diff coverage is 65.9%.

@@            Coverage Diff            @@
##           master     #613     +/-   ##
=========================================
+ Coverage   45.88%   45.98%   +0.1%
=========================================
  Files         189      191      +2
  Lines       17017    17105     +88
=========================================
+ Hits         7808     7866     +58
- Misses       9209     9239     +30

Impacted Files
Coverage Δ

chain-time/src/timeframe.rs
63.51% <63.51%> (ø)

chain-time/src/timeline.rs
78.57% <78.57%> (ø)

Continue to review full report at Codecov.

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


[All hosts] Refactor debugging/troubleshooting content.

This PR moves information about "clearing the Office cache" and "debugging with runtime logging" into separate articles (for improved discoverability of this important info), making it so that the "validate an add-in's manifest" article contains only information relevant to that topic.
(re internal work item # 2660004)

Docs Build status updates of commit 0d88f46:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/add-in-manifests.md
:white_check_mark:Succeeded

docs/develop/troubleshoot-sso-in-office-add-ins.md
:white_check_mark:Succeeded

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded

docs/testing/clear-cache.md
:white_check_mark:Succeeded

docs/testing/create-a-network-shared-folder-catalog-for-task-pane-and-content-add-ins.md
:white_check_mark:Succeeded

docs/testing/runtime-logging.md
:white_check_mark:Succeeded

docs/testing/testing-and-troubleshooting.md
:white_check_mark:Succeeded

docs/testing/troubleshoot-manifest.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

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

File
Status
Preview URL
Details

docs/develop/add-in-manifests.md
:white_check_mark:Succeeded

docs/develop/troubleshoot-sso-in-office-add-ins.md
:white_check_mark:Succeeded

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded

docs/testing/clear-cache.md
:white_check_mark:Succeeded

docs/testing/create-a-network-shared-folder-catalog-for-task-pane-and-content-add-ins.md
:white_check_mark:Succeeded

docs/testing/runtime-logging.md
:white_check_mark:Succeeded

docs/testing/testing-and-troubleshooting.md
:white_check_mark:Succeeded

docs/testing/troubleshoot-manifest.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@AlexJerabek thanks for the review! I've updated this PR per your feedback and responded via comment regarding an issue we'll plan to address later (beyond the scope of this PR).


rocketmq return SEND_OK，but the message is lose

use this method :
this.sendDefaultImpl(msg, CommunicationMode.SYNC, null, timeout);
in org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#sendDefaultImpl
I had send message success because it returned SEND_OK and msgId, but i can not found the message .

you can print the return result and print messageKey，then you can use mqadmin to query the message to check。

I had print return result , and use msgId query in the mqadmin, but nothing found!
This kind of thing only happens once or twice。

zhgdbut,
Here is the checklist, which might be helpful to you.

RocketMQ supports synchronous disk flush and asynchronous disk flush
strategies. If you configured to use the latter without replication, in
case of a power outage/OS crash, it has chances, though very unlikely, to
lose one or a few messages as you configured those broker servers to ack
clients before flushing data to disk.
When querying messages, RocketMQ internally queries consume queues,
which are built out of commit log asynchronously. If for some reason, the
building consume-queue process lags behind, you may find the sent message
unavailable for a while. But your message will appear once the building
catches up.
Check the store.log to see if this is the case.
If your broker runs out of disk, it automatically deletes the
earliest data in order to keep serving, even if these old ones are never
consumed.

Either case mentioned above may lead you to the conclusion that your
message is 'lost'.
Zhanhui Li
On Tue, Jun 2, 2020 at 11:12 PM zhgdbut<EMAIL_ADDRESS>wrote:

I had print return result , and use msgId query in the mqadmin, but
nothing found!
This kind of thing only happens once or twice。
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/rocketmq/issues/2066#issuecomment-637606420,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE4WG4BBPHTBMWOKXV7UQLRUUJFJANCNFSM4NQUIAOQ
.

This happened to me, too. How did you solve it


Live

Docs Build status updates of commit 3197c20:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/learn-about-hardware/SoCsAndCustomBoards.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update projects short description

The short description of this project currently suggests that it is a Laravel 4 package while, from the looks of it, you do support Laravel 5.

+1

Done!


Fix navBar navigation Buttons

The buttons are way too large for mobile displays, they overflow with the search bar.

i see four ways of fixing this, either make the text smaller/remove padding (it would break asthetics), overflow individual buttons as they reach the search button, overflow all buttons to the hamburguer menu whenever the first one reaches the search button or finally change the search button to either not be as big or to go to the right without the "search" text

fixed, kinda


chore: Add warning about no_std environment

Adds a warning in the main README that the only officially supported no_std environment is WASM

The only other potential thing is that we may want to add similar warnings to individual crates READMEs (e.g., here) as these will appear as main READMEs for the corresponding crates on crates.io.

Added the statement to the 4 crates that have the std feature: miden, processor, prover, verifier.


msgq: NULL handler assertion with data cache enabled

Describe the bug
Trying to receive a message from a message queue inside a work queue causes a NULL handler assertion.
The call to 'k_msgq_get' from inside the work queue causes this to happen.
What have you tried to diagnose or workaround this issue?
I found that this only occurs when the data cache is enabled, I am using a Cortex-M7 chip (Atmel Sam e70).
When I comment out the following lines in the soc.c file the problem goes away:
	if (!(SCB->CCR & SCB_CCR_DC_Msk)) {
		SCB_EnableDCache();
	}

To Reproduce
Here is the relevant code:

/* globals */
static struct k_work_q serial_link_work_q;
struct serial_link_rx_packet {
	uint8_t *buff;
	uint16_t length;
	uint16_t index;
};

/* In init function */
BUILD_ASSERT(IS_POWER_OF_2(sizeof(struct serial_link_rx_packet)),
  "error: 'struct serial_link_rx_packet' size must be a power of 2");

k_msgq_init(&data->rx_thread.packet_mq,
  data->rx_thread.packet_buffer,
  sizeof(struct serial_link_rx_packet),
  RX_PACKET_Q_MSG_SIZE);

k_work_init_delayable(&data->rx_thread.work, _rx_thread);
k_work_init_delayable(&data->tx_thread.work, _tx_thread);

k_work_queue_start(&serial_link_work_q,
  serial_link_work_q_stack,
  K_THREAD_STACK_SIZEOF(serial_link_work_q_stack),
  WORK_Q_PRIORITY,
  NULL);
k_thread_name_set(&serial_link_work_q.thread, "serial_link_workq");

/* In work queue */
k_msgq_get(&thread->packet_mq, &packet, K_FOREVER);

/* In ISR */
k_msgq_put(&data->rx_thread.packet_mq, &packet, K_NO_WAIT);

I will see about making a small reproducible example, might be a while because of time constraints.
Expected behavior
There should be no assertion failure
Impact
I can work around this, maybe add some cache invalidation code or disable cache if I cannot get it working. However, would be nice if this was part of the library.
Logs and console output
ASSERTION FAIL [handler != ((void *)0)] @ WEST_TOPDIR/zephyr/kernel/work.c:650
[00:00:00.215,000] <err> os: r0/a1:  0x00000004  r1/a2:  0x0000028a  r2/a3:  0x40024000
[00:00:00.215,000] <err> os: r3/a4:  0x00000000 r12/ip:  0x00000000 r14/lr:  0x004186d1
[00:00:00.215,000] <err> os:  xpsr:  0x61000000
[00:00:00.215,000] <err> os: EXC_RETURN: 0x0
[00:00:00.215,000] <err> os: Faulting instruction address (r15/pc): 0x004186ca
[00:00:00.215,000] <err> os: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
[00:00:00.215,000] <err> os: Current thread: 0x20400af8 (serial_link_workq)
[00:00:00.266,000] <err> os: Halting system

Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK 0.13.1
v2.7.0 branch

Update: I have noticed this also happens when the cache is disabled, but much less frequently. I have stopped using a message queue, and thus cannot reproduce it. I am going to close it since it is very likely a bug in my application that caused this. It can be opened again if someone else sees it.


Back-to-back videos: onLoad called multiple times, onEnd called a different number of times than onLoad (2 probs)

We're doing a multi-video flow where the video component stays shown while we wait for onEnd to set the src to a new URI, over and over, to make it show an array of videos one after another.
One of the problems we're seeing is that onLoad is happening twice sometimes for a single URI. Has anyone seen this before? What could cause it?
Another problem we're seeing is that onEnd is NOT called multiple times when onLoad happens multiple times.
If either onLoad was clamped to never happen more than once, or onEnd matched the number of times onLoad happened, things would be consistent. But at the moment, these 2 disparities leave things very inconsistent.
Please advise, thanks.

Update: I have a hunch about what could be causing this. There might just be a race condition when one video ends and the next begins, where their events aren't happening in quite the right order (the 2nd video fires "begin" events before the 1st video fires its "end" events). I'll bet using a simple in-memory lock/semaphore would solve this. Wondering if this project has tests for back-to-back yet?

It's a little bit of a hack but using debounce as suggested in #238 can solve it until a better solution comes along.

@GeoffreyPlitt did you figure out a solution to this? I'm running into this issue now, and I'd prefer to resolve the root as opposed to hacking it with debounce.

We did not, and we are currently using a debounce workaround, which kinda sucks. Hope this gets fixed.

Closed as completed?  I'm not trying to show multiple videos, just one, but it seems my onLoad is being called three times.


Fix Errors on IE11 since it doesn't support iterators properly

#49
Easier to use old school semantics.

Thanks for your PR!


Implement get horoscope intent

To read the current or last week's horoscope for a given sign.

Completed in https://github.com/simonprickett/zestyscopes/commit/147a8d2dfa39016218642a4d8c5aa862c9f62c2a


Date Field

Hello,
I'm trying FormsFx ! It rocks !
I don't find a way to manage Date Field.
Is there a way to manage Date without develop a new Control ?

Hi,
a made DateField implementation. See my fork branch:
https://github.com/pershy/formsfx

Ideally you submit a pull request so that it can be properly reviewed.
Dirk
pershy<EMAIL_ADDRESS>schrieb am So. 30. Dez. 2018 um 10:15:

Hi,
a made DateField implementation. See my fork branch:
https://github.com/pershy/formsfx
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dlemmermann/formsfx/issues/39#issuecomment-450548154,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJF7XWNijcDk7wS-DywzJzb04vJWyVlQks5u-IQTgaJpZM4ZknkW
.

--
Dirk Lemmermann
Software & Consulting
Zurich, Switzerland
+41-(0)79-800-23-20
http://www.dlsc.com
<EMAIL_ADDRESS>

i created pull request #40


Request for contributions: writing and testing API conversion decorators.

In Keras 2 (branch keras-2), the API for pretty much every layer has changed. We will keep supporting the Keras 1 API, and we will do so via API conversion decorators.
As an example, I have written the conversion decorator for the Dense layer. It was done in this commit: https://github.com/fchollet/keras/commit/5516c8fb42f01622c9a4a31c19cb46ae68cfa0f6
The decorator code is here: https://github.com/fchollet/keras/blob/keras-2/keras/legacy/interfaces.py#L15
The test for it is here: https://github.com/fchollet/keras/blob/keras-2/tests/keras/legacy/interface_test.py#L8
In order to launch Keras 2, we will need such decorators for every layer (and also for training routines and model constructors). If you want to contribute, please add these decorators (in keras/legacy/interfaces.py, with tests in tests/keras/legacy/interface_test.py). You just need to follow the template laid out with the Dense layer decorator.
You can leave out the Conv*D layers for now, since they will require special handling due to a positional/keyword argument conflict.
Thanks a lot!

Hi, I had previously seen on twitter that you were looking for developers to fix failing theano tests. Are they fixed? Else, can I start working on them?

The Theano tests are fixed. Please focus on porting the examples (some still need porting) and writing the conversion interfaces.

@fchollet
I would like to check UserWarning message.
old_layer = keras.layers.Dense(2, bias=False, init='normal',                                    W_regularizer='l1',                                    W_constraint='max_norm', name='d')
makes warning below
UserWarning: Update your Denselayer call to the Keras 2 API:Dense(2, kernel_initializer="normal", kernel_regularizer="l1", kernel_constraint="max_norm", use_bias=False)  'to the Keras 2 API: ' + signature)
There is '+ signature' in bottom of warning message, which we don't expect.
isn't it?

@fchollet
Also, I have a question.
In test,
old_layer = keras.layers.Dense(input_dim=3, output_dim=2, name='d') dose not make any warning message.
Shouldn't we show warning message about using output_dim(even, this is not keyword argument)?

Hi @fchollet,
I am trying to implement this paper https://arxiv.org/pdf/1605.03481.pdf with the following code.
`# define the symbol alphabet, including the padding symbol '#' and create mapping of unique chars to integers
chars = 'X'+ ''.join(sorted({c for s in raw_text for c in s}))
char_to_int = {c:i for i,c in enumerate(chars)}
compute the size of our alphabet e.g.,length of vocabulary (letters) size in the training dataset
n_chars = len(raw_text)
maximum length of distinct characters in the vocabulary much more than 26 in the alphabet.
max_length = max(map(len, raw_text.split()))
#decoding and encoding
def encode_string(s):
return [char_to_int[c] for c in s]
def decode_string(a):
return ''.join(chars[i] for i in a)
def encode_and_pad(words):
return pad_sequences(list(map(encode_string, words)), padding='post', maxlen=max_length)
Our inputs (x) will be the participles
padded_input = encode_and_pad(chars)
load the dataset but only keep the top n words, zero the rest
X_train, X_test = train_test_split(padded_input, test_size=0.20, random_state=seed)
X_train = sequence.pad_sequences(X_train, maxlen=max_length)
X_test = sequence.pad_sequences(X_test, maxlen=max_length)
#model construction
sequence_length = X_train.shape[1]
vocabulary_size = len(chars)
embedding_dim = 256
decoder_size = 128
filter_sizes = [7,3]
num_filters = 256
drop = 0.5
nb_epoch = 10
batch_size = 5
we define what the input shape looks like:
inputs = Input(shape=(sequence_length, vocabulary_size), name='input', dtype='float32')
all the convolutional layers...
conv = Convolution1D(num_filters, filter_length=filter_sizes[0],
border_mode='valid', activation='relu',input_shape=(sequence_length, vocabulary_size))(inputs)
pool = MaxPooling1D(pool_length= filter_sizes[1])(conv)
conv1 = Convolution1D(num_filters, filter_length=filter_sizes[0],
border_mode='valid', activation='relu')(pool)
pool2 = MaxPooling1D(pool_length= filter_sizes[1])(conv1)
conv3 = Convolution1D(num_filters, filter_length=filter_sizes[0],
border_mode='valid', activation='relu')(pool2)
conv4 = Convolution1D(num_filters, filter_length=filter_sizes[0],
border_mode='valid', activation='relu')(conv3)
encode with LSTM
encoding_layer = LSTM(conv4, embedding_dim, return_sequences=True)
rep_in = RepeatVector(encoding_layer)
l_decoder_1 = LSTM(rep_in, decoder_size, name='decoder1')
l_decoder_2 = LSTM(l_decoder_1, decoder_size, name='decoder2')
l_reshape = Reshape(l_decoder_2, (-1,[2]), name='l_reshape')`
The objective is to reshape decoders LSTM to define the actual input text or synonym replacement of the early text. Running this code, i got the following:

TypeError                                 Traceback (most recent call last)
 in ()
55 l_decoder_1 = LSTM(rep_in, decoder_size, name='decoder1')
56 l_decoder_2 = LSTM(l_decoder_1, decoder_size, name='decoder2')
---> 57 l_reshape = Reshape(l_decoder_2, (-1,[2]), name='l_reshape')
TypeError: init() takes exactly 2 arguments (4 given)

@fchollet I'll knock some out. Is there any specific naming convention? I'm assuming, for example, that  a legacy BatchNormalization layer wrapper might be named legacy_batchnormalization_support . Is that correct?

@fredtony sure, that's fine.

It'd be great if people could mention what they're working on, to avoid duplicate efforts.

@fchollet I'm trying to convert the BatchNormalization legacy interface, but I can't figure out what happened to the weights and mode arguments

@abhaikollara I was working on BatchNormalization a few days ago and the mode argument complicated the conversion interface, so fchollet advised not to worry about this API conversion interface for now. The weights argument actually goes to the parent class Layer which will take that argument for any layer, so you don't need to worry about it if you see it in any layer conversions. I'm working on layers in local.py currently.

@fredtony Thanks for the info !

@fchollet Did this get fully completed? I know all the layers were completed, but did all of the training routines and model constructors that you mentioned get converted? Gonna help proofreading docs if so.

Yes, this work is complete. Proofreading docs is helpful, and so is testing Keras 1 code with Keras 2 in order to make sure we are still mostly compatible.

It seems that this issue is resolved.


no semi colon after border radius = completion (percent)

Challenge http://www.freecodecamp.com/challenges/waypoint-make-circular-images-with-a-border-radius has an issue. Please describe how to reproduce it, and include links to screen shots if possible.

duplicate of #865


Is Function Calling possible?

I've looked into the samples a bit and the available params but I'm not seeing anything about function calling/tools. Is this already possible and I'm missing it or is it planned to be supported? It would be awesome to be able to call local Dart functions through Gemini similar to how it appears to be possible with Python or a REST API

Badly needed

It's already supported.
https://ai.google.dev/gemini-api/docs/function-calling/tutorial?lang=dart

That'd be dope! I'll try that next week!

It's already supported. https://ai.google.dev/gemini-api/docs/function-calling/tutorial?lang=dart

I try function call by this post, but is not works.
Gemini return this:flutter: I need to access a live exchange rate API to answer your question. I do not have access to real-time information, including currency exchange rates.  Therefore, I cannot provide you with the current exchange rate for US dollars to Swedish krona.
To get the most up-to-date information, I recommend checking a reliable online converter or your bank's website.

I try function call by this post, but is not works. Gemini return this:
I need to access a live exchange rate API to answer your question. I do not have access to real-time information, including currency exchange rates.  Therefore, I cannot provide you with the current exchange rate for US dollars to Swedish krona.

To get the most up-to-date information, I recommend checking a reliable online converter or your bank's website.

What's the code you are configuring the function / tool with, and then calling Gemini?

@MrCsabaToth
Sorry, if I set model as 'gemini-1.5-flash' it works!

@MrCsabaToth
Sorry, if I set model as 'gemini-1.5-flash' it works!

@MrCsabaToth
Sorry, if I set model as 'gemini-1.5-flash' it works!

No problem but I'm still highly interested in the source code

Actually now I'm at the point that I'm trying function calling and it doesn't seem to be working. I was providing a function to retrieve weather data. I tried both gemini-flash-lates and gemini-pro-latest with the prompt "What is the weather today?", and I got back I am sorry, I cannot provide you with the weather information. I do not have access to real-time data like weather conditions.. Note that I also provide a tool to retrieve the location.

Actually now I'm at the point that I'm trying function calling and it doesn't seem to be working. I was providing a function to retrieve weather data. I tried both gemini-flash-lates and gemini-pro-latest with the prompt "What is the weather today?", and I got back I am sorry, I cannot provide you with the weather information. I do not have access to real-time data like weather conditions.. Note that I also provide a tool to retrieve the location.

Do you add function_calling_config parameter? Try to delete this.

Actually now I'm at the point that I'm trying function calling and it doesn't seem to be working. I was providing a function to retrieve weather data. I tried both gemini-flash-lates and gemini-pro-latest with the prompt "What is the weather today?", and I got back I am sorry, I cannot provide you with the weather information. I do not have access to real-time data like weather conditions.. Note that I also provide a tool to retrieve the location.

Do you add function_calling_config parameter? Try to delete this.

No, do you have some code by any chance?
function_calling_config seems to be Pythonic, we are in Dart land here. However the Dart API also has a FunctionCallingMode. It has modes: auto, any, and none. any forces a function call, auto supposed to be the default. I'll try to add a toolConfig: ToolConfig(functionCallingConfig: FunctionCallingConfig(mode: FunctionCallingMode.auto)) during model instantiation. Unlike the Python and some other language APIs the chat instantiation doesn't have a parameter like start_chat(enable_automatic_function_calling=True) in Python. The Dart startChat only has history, safetySettings, and generationCOnfig. This latter doesn't have function call related settings in it.
@adamglin0 How did you solve the problem?

I tested explicitly specifying toolConfig: ToolConfig(functionCallingConfig: FunctionCallingConfig(mode: FunctionCallingMode.auto)) and it didn't help.
My source code: https://github.com/CsabaConsulting/InspectorGadgetApp/blob/21cfcc45436dd1c155c703183d22c0239376ee56/lib/interaction/view/interaction_page.dart#L257

Actually now I'm at the point that I'm trying function calling and it doesn't seem to be working. I was providing a function to retrieve weather data. I tried both gemini-flash-lates and gemini-pro-latest with the prompt "What is the weather today?", and I got back I am sorry, I cannot provide you with the weather information. I do not have access to real-time data like weather conditions.. Note that I also provide a tool to retrieve the location.

Do you add function_calling_config parameter? Try to delete this.

No, do you have some code by any chance? function_calling_config seems to be Pythonic, we are in Dart land here. However the Dart API also has a FunctionCallingMode. It has modes: auto, any, and none. any forces a function call, auto supposed to be the default. I'll try to add a toolConfig: ToolConfig(functionCallingConfig: FunctionCallingConfig(mode: FunctionCallingMode.auto)) during model instantiation. Unlike the Python and some other language APIs the chat instantiation doesn't have a parameter like start_chat(enable_automatic_function_calling=True) in Python. The Dart startChat only has history, safetySettings, and generationCOnfig. This latter doesn't have function call related settings in it.
@adamglin0 How did you solve the problem?

Let me find my old code, this will take some time.

@MrCsabaToth  I can no longer reproduce the issue. But I can tell you how I resolved it.

After I found the same error, I tried this document.

But still not successful.

Then I found that my GenerativeModel section seemed different from the one in the document, so I copied part of the model and it worked. https://ai.google.dev/gemini-api/docs/function-calling/tutorial?hl=zh-cn&lang=dart

Later, after leaving a message on this issue, I modified the value of the model, but then realized that I wrote toolConfig in GenerativeModel (it seems like this because there is no git record).

Now I cannot reproduce it anymore, sorry for that

Reporting back about what I've found out: @adamglin0 was exactly right here https://github.com/google-gemini/generative-ai-dart/issues/81#issuecomment-2172053459
If I go with gemini-1.5-flash or gemini-1.5-pro instead of gemini-1.5-flash-latest or gemini-1.5-pro-latest (so not using the -latest model name prefix) the tool functionality seems to be waking up. Now I'm getting I need to know your location to get the weather forecast. Can you tell me your latitude and longitude?. So it is probably seeing my weather function, however it misses the location function which would exactly provide the lat / long.
Since https://github.com/google-gemini/generative-ai-dart/blob/main/samples/dart/bin/function_calling.dart demonstrates a function call chain possibility, I expect the model to figure out the two step of first calling the location function for the lat long GPS, and then use those as parameters to call the weather function.

I'm dealing with a problem with multiple tools: #194


[FLINK-10599][Documentation] Provide documentation for the modern kafka connector

What is the purpose of the change
This pull request provides documentation for the modern kafka connector
Brief change log

Provide documentation for the modern kafka connector

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi @aljoscha I provided a simple introduction and documentation for the modern kafka connector. Considering that I am not a native English user, you are welcome to point out where the documentation is inappropriate. Also, if it is missing something, pelase feel free to tell me. Thank you.

Hi @eliaslevy Thank you for reviewing it, I have adopted most of your suggestions.

@zentol updated.

@zentol @aljoscha @pnowojski Can you give a final check about this documentation?

@pnowojski thanks for your suggestion, updated.

@pnowojski updated.


First load RuntimeException to prevent segfault on error

Motivation:
When an error happens during loading the native library it may try to generate a new RuntimeException before the RuntimeException is loaded.
Modifications:

Load RuntimeException as first

Result:
No more segfaults possible

Cherry-picked into: 4.0 (6954f034fd271954c0083fa3af3a32040ef52bf4) and 4.1 (c7827dc16a7cdb0c5e84bef4075be82911788c7f) and master (63859a550ff57ff885ca632864e782885cd430b6)

thanks @normanmaurer!