[W.I.P./Todo] List of languages pending colour correction or addition

#4417 was closed yesterday, so I felt it might be beneficial to keep a record of languages whose colours are incorrect (according to their branding or community's "preferred" colour). That way they won't fade into obscurity after being blocked for so long.
 Since it's unclear when (or even if) a decision will be made on GitHub's part, I'm compiling them here so nobody forgets. :+1: The list is incomplete and I've probably missed a lot, so feel free to make amendments as you see fit.

[ ] Asymptote: #ff0000 (source: logo)
[ ] Apex: #1797c0 (source: #4417)
[ ] Blade: #f7523f
[ ] CSON: #244776 (source: "inherited" from CoffeeScript)
[ ] Eiffel: #4d6977 (source: logo)
[ ] Grammatical Framework: #ff0000 (source: logo)
[ ] Haml: #ece2a9
[ ] Handlebars: #f7931e
[ ] Latte: #f2a542
[ ] Less: #1d365d
[ ] Marko: #42bff2
[ ] Markdown: #083fa1 (source: original colour value)
[ ]  mIRC Script Language (mSL): #3D57C3 (source: "m" in logo)
[ ] PostScript: #da291c (source: #3141)
[ ] Prisma: #0C344B
[ ] Pug: #a86454
[ ] SCSS: #c6538c
[ ] Sass: #a53b70
[ ] Slim: #2b2b2b
[ ] SourcePawn: #f69e1d (source: logo)
[ ] Stylus: #ff6347
[ ] SVG: #ff9900 (source: logo)
[ ] Twig: #c1d026
[ ] V: #4f87c4 (source: logo)
[ ] Vue: #2c3e50 (source: #4448)
[ ] YAML: #cb171e (source: logo)

Sidenotes

Some of these are data or prose languages, which normally don't display
colours, but some are of relevance now that the linguist-detectable attribute
can reveal them in a project's statistics-bar. I'm being conservative and only
adding colours for data formats (like SVG or YAML) that have an obvious colour
defined by their logos.

Many of these are markup languages waiting to be degrouped. Degrouping them now
with missing/incorrect colours would be disruptive to many users.

I'm reluctant to tweak the colours of "well-known/famous" languages like JavaScript
or TypeScript, which have the highest degree of visibility on GitHub. Even if they
currently deviate only a few shades from their official colours, I predict astute
users with oddly-calibrated monitors will notice the shift immediately.

I would like to add:

[ ] Grammatical Framework: #ff0000 (source: logo)

Added, thank you!

[ ] SourcePawn: #f69e1d (source: logo)

Eiffel: #4d6977 (source: logo)
The current color for the Eiffel programming language is #946d57, what's the source of that color?
The current color of Ada (#02f88c) is also quite puzzling to me, what's the origin of it? Is it from the cover of the 1981 Ada book by I. C. Pyle?

@david-tamar Regarding the unknown colour sources: it's quite likely they were selected at random, possibly because the official colour was unknown or unavailable.
Added Eiffel to the OP.

@lildude Any update?

Nope. Still waiting on GitHub Design to give me the 👍 or 👎 on my request to drop the proximity enforcement.

Hopefully they can prioritise this or something, because there's a lot of stuff blocked on this... 😞

# 4417ถูกปิดเมื่อวานนี้ดังนั้นฉันรู้สึกว่ามันอาจเป็นประโยชน์ในการเก็บบันทึกภาษาที่มีสีไม่ถูกต้อง (อ้างอิงจากแบรนด์ของพวกเขาหรือสีที่ "ต้องการ" ของชุมชน) ด้วยวิธีนี้พวกเขาจะไม่จางหายไปสู่ความสับสนหลังจากถูกบล็อกมานาน
#4291ตอนนี้แก้ปัญหาเหล่านี้จะถูกบล็อกเพราะยุ่งเหยิงน่าเกลียดของการละเมิดสีใกล้ชิดซึ่งได้รับการกล่าวถึงก่อนหน้านี้ใน เพราะมันไม่ชัดเจนเมื่อ (หรือแม้กระทั่ง_ถ้า_ ) ตัดสินใจที่จะทำในส่วน GitHub ของฉันรวบรวมพวกเขาที่นี่จึงไม่มีใครลืม รายการไม่สมบูรณ์และฉันอาจจะพลาดมากดังนั้นอย่าลังเลที่จะทำการแก้ไขตามที่คุณเห็นสมควร

[ ]  เส้นกำกับ:  (ที่มา: โลโก้ )#ff0000
[ ]  เอเพ็กซ์:  (ที่มา: )#1797c0#4417
[ ]  ใบมีด: #f7523f
[ ]  CSON:  (แหล่งที่มา: "สืบทอด" จาก CoffeeScript)#244776
[ ]  ไอเฟล:  (แหล่งที่มา: โลโก้ )#4d6977
[ ]  กรอบไวยากรณ์ : (ที่มา: โลโก้ )#ff0000
[ ]  Haml: #ece2a9
[ ]  แฮนด์: #f7931e
[ ]  ลาเต้: #f2a542
[ ]  หัก: #1d365d
[ ]  Marko: #42bff2
[ ]  Markdown:  (แหล่งที่มา: ค่าสีดั้งเดิม )#083fa1
[ ]  PostScript:  (ที่มา: )#da291c#3141
[ ]  ปั๊ก: #a86454
[ ]  SCSS: #c6538c
[ ]  Sass: #a53b70
[ ]  บาง: #2b2b2b
[ ]  SourcePawn:  (แหล่งที่มา: โลโก้ )#f69e1d
[ ]  สไตลัส: #ff6347
[ ]  SVG:  (แหล่งที่มา: โลโก้ )#ff9900
[ ]  ทวิก: #c1d026
[ ]  V:  (แหล่งที่มา: โลโก้ )#4f87c4
[ ]  Vue:  (ที่มา: )#2c3e50#4448
[ ]  YAML:  (แหล่งที่มา: โลโก้ )#cb171e

Sidenotes

สิ่งเหล่านี้บางส่วนเป็นdataหรือproseภาษาซึ่งโดยปกติ_จะไม่_แสดง
สี แต่บางอันก็มีความเกี่ยวข้องกันในขณะนี้ซึ่งlinguist-detectableแอตทริบิวต์
สามารถเปิดเผยได้ในแถบสถิติของโครงการ ฉันเป็นคนอนุรักษ์นิยมและ
เพิ่มเฉพาะสีสำหรับรูปแบบข้อมูล (เช่น SVG หรือ YAML) ที่มีสีที่ชัดเจนซึ่ง
กำหนดโดยโลโก้ของพวกเขา
สิ่งเหล่านี้จำนวนมากเป็นมาร์กอัป langugages ที่รอการจัดกลุ่ม การจัดกลุ่ม
สีที่หายไป / ไม่ถูกต้องในตอนนี้จะทำให้ผู้ใช้หลายคนหยุดชะงัก
ฉันลังเลที่จะปรับแต่งสีของภาษา "ที่มีชื่อเสียง / โด่งดัง" เช่น JavaScript
หรือ TypeScript ซึ่งมีการแสดงผลระดับสูงที่สุดใน GitHub แม้ว่าพวกเขาจะ
เบี่ยงเบนเพียงไม่กี่เฉดสีจากสีทางการของพวกเขาฉันคาดการณ์
ผู้ใช้ที่ชาญฉลาดด้วยจอภาพที่ปรับเทียบอย่างผิดปกติจะสังเกตเห็นการเปลี่ยนแปลงในทันที

https://github.com/github/linguist/issues/4506#issue-436984670

Nope. Still waiting on GitHub Design to give me the +1 or -1 on my request to drop the proximity enforcement.

I'd like to thumbs-up your issue, can you give me a link?

I think it's internal. As in, visible only to GitHub staff.
If it were public, I'm sure we'd be seeing links to this issue being referenced in this thread's activity feed. E.g., stuff like "@lildude referenced this issue on 19 Sep" and what-have-you.

I'd like to add Prisma to the list 🙏

[x] Prisma: #0C344B (colliding with DataWeave #003a52)

Thanks!

Hey @Weakky, 👋
I'll add it once you've actioned https://github.com/github/linguist/pull/4668#discussion_r332994275. 😉

I wish to suggest a new color #57068C for Ada based on the historical birth place of it's principal free implementation, that is New York University's Ada Translator. The color is taken directly from New York University's official color, logo and seal.
Wikipedia cites that the US Department of Defense (which sponsored Ada in the first place) awarded an exclusive contract to NYU to implement a free implementation of Ada strictly under FSF's GPL.
NYU's Ada Translator (widely abbreviated today as GNAT, where the G stands for GNU, by association with FSF's GNU GPL) is in fact the only standard free implementation of Ada that is both officially sponsored by the US government, and freely available for everyone.
It's therefore most likely that every Ada project on GitHub uses NYU's implementation, since it's officially distributed on most Linux distributions like Debian, Fedora, Ubuntu and Red Hat. It's also the go-to implementation for Windows and Mac users.
AdaCore, a major contributor of NYU's Ada, is also targeting enterprise and corporate clients with a full featured infrastructure and IDE that ship with NYU's GNAT as the default implementation.
I searched the internet for historical logos or mascots of Ada, but I did not find any official logos or mascots that featured any other colors than plain black on white, and dark blue, and yet most of those commercial graphics (either from AdaCore or communities) came way after NYU's work on Ada. It's also worthwhile to note that apparently the current color for Ada was chosen arbitrarily.

@david-tamar This is worth being filed as a new issue, especially because there are guidelines in place for changing the colours of well-known languages.
This issue is only for colours that are unambiguously correct/official, but are blocked from use entirely due to another colour being slightly too similar.

@Alhadis, It turns out the current color is actually not arbitrary as I thought. A user on Reddit's Ada community has shown me the connection between Ada and the green color. Ada was actually code-named “Green” by its original author in its very early stage at least 12 years before New York University worked on the Ada Translator, so never mind.

Ichbiah's team submitted a language design labelled "Green" to a competition to choose the United States Department of Defense's embedded programming language. When Green was selected in 1978, he continued as chief designer of the language, now named "Ada".

So, I'm not sure when this happened exactly, but it looks like GitHub is now displaying language colours underneath code-search results as well:

Which is going to leave a lot of grey for data/prose languages...

A bit later after it's approval but I'd like to add:

[ ]  mIRC Script Language (mSL): #3D57C3 (source: logo, going off the M)

It is currently: #926059 because it was the first one I could find free.
Thanks :)

Hey @gen-angry, sorry for the slow response. 👋 I've added it to the list, thanks!

Could you also add:

[ ] Svelte: #ff3e00 (source: logo)

It's currently grouped under HTML.

@ObserverOfTime If it's grouped under HTML, the colour won't be visible anyway (because such "child" languages always inherit their parent's colour, irrespective of .gitattributes files).

I am aware but I think it should be ungrouped. It's similar to Vue which isn't part of the HTML group. Should I have mentioned it in #4291?

Should I have mentioned it in #4291?

Yes, actually. 👍

From https://github.com/github/linguist/issues/4969

Or better yet, we don't wait and just go ahead and crush it. It'd serve GitHub's design-team right for taking (literally) years to decide if similar-looking colours from two-facelifts ago are still a problem. 😜

I'm thiiiiiiis close to doing it and dealing with the fallout if and when it happens 😬. If I were to 🔥 it, do we want to allow duplicate colours? I'm thinking not at first as we'll end up with a million identical reds or blues.

If I were to 🔥 it, do we want to allow duplicate colours? I'm thinking not at first as we'll end up with a million identical reds or blues

I'll copy+paste my earlier response so folks here will see it:

Yes, of course. Otherwise, we'd end up with squabbles over which language is more deserving of #f00, and we'd have no argument to justify this outside of a popularity contest. If a repository has identical-looking shades of red and blue… congratulations, that's what colour-blind users are already seeing. 😉

🤦 Of course. I didn't think about that.

On second thought, let's just get it over with. #4291 will take all of 10 minutes to address, and the changes will be noticed—and warmly-welcomed—by virtually every web developer on GitHub.  Since we're on the verge of a new release, I say: LET'S DO THIS SHIT.

Right. Done. See #4978, #4979, #4980.


Fix: deprecated for_each_child

fix #59

This plugin is deprecated, please use https://github.com/HiPhish/rainbow-delimiters.nvim instead.


Config from environment variables?

Hey everyone,
i would like to use Github actions to pull changes into my repository, but I have trouble to securely setup everything. My main issue is that I can't commit the .wti file into the repository. Usually I would provide the secret via env variable, but the ruby wti tool doesn't support this (or did I miss that option). Any ideas?
cherrs

@edouard can you help? Is WTI dead?

Hey @sualko ! WTI is not dead but it isn’t our proper channel for technical support and we don’t monitor issues on GitHub. In the future please send us a message here: https://webtranslateit.com/en/support
Regarding your question, indeed we do not support env variables. All the config must be done in the .wti file. That being said I can’t think of a reason why you wouldn’t be able to commit that file to your repository. Do you get any error message? What operating system are you using?

Thanks for the quick response and nice to hear that WTI is still alive.
As I said, I would like to update all language files automatically via Github CI (actions) and I think it is no good idea to publish the API secret, isn't it?

Thanks! We’ll have a look on how we could implement having the API token in an environment variable. I think having your project API token committed into your repository is low risk. But you are right — it’s good practice.
You can also have the .wti file located elsewhere, but that wouldn’t work with Github CI tools, would it? You could then run wti commands with wti push -c /path/to/.wti, wti pull -c /path/to/.wti, etc

I just pushed wti v.2.4.12. Once you install it, it will let you config the API key with an environment variable.
$ export WTI_PROJECT_API_KEY=[my_api_token]
$ wti pull

That was quick. Thanks a lot. Currently I'm getting an error, but this could be related to the ci environment. Not sure, but I will try to debug it. Btw. the .wti file ist still required, but that's no big deal.
If you like to checkout the error, see https://github.com/jsxc/jsxc/runs/2951964800?check_suite_focus=true
/opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/lib/web_translate_it/configuration.rb:24:in `initialize': undefined method `[]' for false:FalseClass (NoMethodError)
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/lib/web_translate_it/command_line.rb:30:in `new'
  Pulling files
#25h
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/lib/web_translate_it/command_line.rb:30:in `block in initialize'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/lib/web_translate_it/command_line.rb:420:in `throb'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/lib/web_translate_it/command_line.rb:30:in `initialize'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/bin/wti:127:in `new'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/lib/ruby/gems/2.7.0/gems/web_translate_it-2.4.12/bin/wti:127:in `<top (required)>'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/bin/wti:23:in `load'
	from /opt/hostedtoolcache/Ruby/2.7.3/x64/bin/wti:23:in `<main>'
Error: Process completed with exit code 1.

Ok, I found the issue. There has to be at least one entry in the configuration file. Something like foo: works.

FYI this is my workflow file, which should update all locales in the morning: https://github.com/jsxc/jsxc/blob/master/.github/workflows/wti.yml


Warning: The set-output command is deprecated and will be disabled soon

Hey,
I'm getting the following warning when the action starts
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Could it be fixed?
Thanks,
Andriy.

Thank you for your report!
Fix and released it.
Please use v3.2.6

Thanks!


[Bug]: page.waitForFunction doesn't always pick up changes made to a global window object

Bug description
Steps to reproduce the problem:
Trying to get Puppeteer to wait on-page for the "task-done" event triggered, by a web-app that it navigates to.
The Puppeteer script is being executed from a background job, where around 1 out of 20 jobs result in being stuck at await page.waitForFunction("window.done", ...), even though it's confirmed with tracing that the code window.done = true; has been executed.
Here is the Puppeteer script used:
const puppeteer = require("puppeteer");

(async() => {
  try {
    const browser = await puppeteer.launch({headless: true, args: ["--headless", "--hide-scrollbars", "--mute-audio", "--user-agent=puppeteer"]});
    const page = await browser.newPage();

    page.evaluateOnNewDocument((params) => {
      try {
        document.addEventListener("task-done", (result) => {
          window.done = true;
          window.trace({message: 'task-done', uuid: window.UUID});
        });
      } catch (err) {
        console.log('error');
        window.done = true;
      }
    });

    await page.setViewport({width: 1920, height: 1200});
    await page.setRequestInterception(true);

    page.on("request", request => {
      const headers = request.headers();
      headers["X-Token"] = process.argv[3];
      request.continue({headers});
    });

    await page.goto(process.argv[2], {waitUntil: ["networkidle0"], timeout: 999000});
    await page.evaluateHandle("document.fonts.ready");
    await page.waitForFunction("window.done", {polling: 300, timeout: 3600*24*3*1000});

    console.log("window.done");
  } catch (err) {
    console.log(err);
  }

  await browser.close();
})();

process.on("unhandledRejection", up => {});
process.on("rejectionHandled", rh => {});

Puppeteer version
9.1.0
Node.js version
12.19.0
npm version
6.14.8
What operating system are you seeing the problem on?
Linux
Relevant log output
No response

@teejteej I'm seeing something similar... did you work out what was happening?

@teejteej @drmrbrewer I am also running into this. Did you find anything relevant to share while looking into it?

I havent found exactly where this may be documented, but I found using an async function / returning a promise from the waitForFunction callback to consistently use an updated window object.

Same problem for me. I created my own waitForFunction to workaround :
function waitForFunction(page, callback, options = { timeout : 2000 }) {
  const interval = 200

  return new Promise((resolve, reject) => {
    let time = 0
    const intervalId = setInterval(async() => {
      const ready = await page.evaluate(callback)

      if (ready) {
        resolve()
        clearInterval(intervalId)
      } else if (time >= options.timeout) {
        reject("timeout reached")
        clearInterval(intervalId)
      }
      time += interval
    }, interval)
  })
}


Data Prepper Extensions #2636, #2637

Description
Adds extensions to Data Prepper which can extend functionality. This first iteration allows for creating new objects in other plugins.
Issues Resolved
Resolves #2636 by adding the model.
Resolves #2637 by allowing creation of objects which can be shared by plugins.
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

For anybody reviewing this, you may wish to see #2731 for how this will be used.

The WhiteSource failures come from not having the latest Spring 5.3.0 changes. These will be obsolete after merging when those changes are inherited.


Update PushNotifications-spec.md to match design changes.

Removed PushNotificationActivationInfo from idl
Removed PushNotificationRegistrationActivators from idl
Modified PushNotificationManager registration APIs
Updated sample code
Updated guidance on foreground handler registration

Close this and moving to a new branch.

https://github.com/microsoft/WindowsAppSDK/pull/2196


DBZ-6171 Github workflows not working for Cassandra job (step Build D…

…ebezium Connector Cassandra)

@ggaborg Applied, thanks


9front.drawterm version 1.0.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/azp run

cc @ejh-github: Isn't the InstallerUrl supposed to come from http://drawterm.9front.org/drawterm.exe rather than https://github.com/ejh-github/drawterm-winget/raw/main/drawterm.msi?


When send voicenote with own client official desktop telegram shows it strange

Do you have example to send voicenote ?(voice message)
Im trying to send it like this with own client :
_: 'inputMessageVoiceNote',  voice_note: {  _: 'inputFileLocal',  path: this.path,  mime_type:'audio/ogg'  },  duration:2,  waveform:null,  caption:null
here type is inputMessageVoiceNote . But here something strange happening .
On Telegram Desktop, the first time I saw the voice message , I can play it . After the first launch, it became like this

icon changed
and i cant replay it . When I click it it opens audio in mediaplayer in pc . On phone all is good I can replay it .
Why I think that it because of code ? When I send voice message with official tg client I can get normal voice message in tg desktop I can replay it.

You need to get the message with TDLib and check its content. If it is messageVideoNote and all other fields look correct, then it is likely to be a Telegram Desktop issue.

{   "_": "message",   "author_signature": "",   "auto_delete_in": 0,   "can_be_deleted_for_all_users": true,   "can_be_deleted_only_for_self": false,   "can_be_edited": false,   "can_be_forwarded": true,   "can_be_saved": true,   "can_get_added_reactions": false,   "can_get_media_timestamp_links": false,   "can_get_message_thread": false,   "can_get_statistics": false,   "can_get_viewers": false,   "can_report_reactions": false,   "chat_id": 354453141,   "contains_unread_mention": false,   "content": {     "_": "messageVoiceNote",     "caption": {       "_": "formattedText",       "entities": [],       "text": ""     },     "is_listened": false,     "voice_note": {       "_": "voiceNote",       "duration": 2,       "mime_type": "audio/ogg",       "voice": {         "_": "file",         "expected_size": 41848,         "id": 1327,         "local": {           "_": "localFile",           "can_be_deleted": false,           "can_be_downloaded": false,           "download_offset": 0,           "downloaded_prefix_size": 41848,           "downloaded_size": 41848,           "is_downloading_active": false,           "is_downloading_completed": true,           "path": "/var/www/blank/test/files/client_id1/chat_id354453141/587e2f0e-6335-4b47-999e-f4c0a5f133d6/voice.ogg"         },         "remote": {           "_": "remoteFile",           "id": "",           "is_uploading_active": true,           "is_uploading_completed": false,           "unique_id": "",           "uploaded_size": 0         },         "size": 41848       },       "waveform": "AAAAAAABABACACCAEAIAIIAwzEEIoaQSQgghhM4xppRSCiFjjCGGGEIIIYIQIYQQAggAABBCACCAAIAIIQQA"     }   },   "date":<PHONE_NUMBER>,   "edit_date": 0,   "has_timestamped_media": true,   "id":<PHONE_NUMBER>7,   "is_channel_post": false,   "is_outgoing": true,   "is_pinned": false,   "is_topic_message": false,   "level": "info",   "media_album_id": "0",   "message_thread_id": 0,   "restriction_reason": "",   "self_destruct_in": 0,   "sender_id": {     "_": "messageSenderUser",     "user_id":<PHONE_NUMBER>   },   "sending_state": {     "_": "messageSendingStatePending",     "sending_id": 0   },   "unread_reactions": [],   "via_bot_user_id": 0 } here its updatenewmessage

This is irrelevant because "sending_state": { "_": "messageSendingStatePending", "sending_id": 0 },. You need to check information about the message after it was sent.

{"_":"updateMessageSendSucceeded","level":"error","message":{"_":"message","author_signature":"","auto_delete_in":0,"can_be_deleted_for_all_users":true,"can_be_deleted_only_for_self":true,"can_be_edited":true,"can_be_forwarded":true,"can_be_saved":true,"can_get_added_reactions":false,"can_get_media_timestamp_links":false,"can_get_message_thread":false,"can_get_statistics":false,"can_get_viewers":false,"can_report_reactions":false,"chat_id":6426572438,"contains_unread_mention":false,"content":{"_":"messageVoiceNote","caption":{"_":"formattedText","entities":[],"text":""},"is_listened":false,"voice_note":{"_":"voiceNote","duration":2,"mime_type":"audio/ogg","voice":{"_":"file","expected_size":72094,"id":1339,"local":{"_":"localFile","can_be_deleted":false,"can_be_downloaded":true,"download_offset":0,"downloaded_prefix_size":72094,"downloaded_size":72094,"is_downloading_active":false,"is_downloading_completed":true,"path":"/var/www/blank/testdevbackumnico/files/client_id1/chat_id6426572438/8bfb7813-d9b9-40be-a780-7fbbb6a098f9/voice.ogg"},"remote":{"_":"remoteFile","id":"AwACAgIAAxkDAAKVeGYfrYq6yqIvMQjStzkQfEbRKO5qAAJDRwACjZwAAUnYHzRj4csGijAE","is_uploading_active":false,"is_uploading_completed":true,"unique_id":"AgADQ0cAAo2cAAFJ","uploaded_size":72094},"size":72094},"waveform":"AAAAAAABABACACCAEAIAIIAwzEEIoaQSQgghhM4xppRSCiFjjCGGGEIIIYIQIYQQAggAABBCACCAAIAIIQQA"}},"date":1713352074,"edit_date":0,"has_timestamped_media":true,"id":40122712064,"is_channel_post":false,"is_outgoing":true,"is_pinned":false,"is_topic_message":false,"media_album_id":"0","message_thread_id":0,"restriction_reason":"","self_destruct_in":0,"sender_id":{"_":"messageSenderUser","user_id":5606345408},"unread_reactions":[],"via_bot_user_id":0},"old_message_id":40109080577}   Here success update

This is an ordinary voice note message, so it is likely to be a Telegram Desktop issue.

but  here something strange . I have in my crm function which is convert text to voice (i can chose voice. its third party service) and also send this voice same like voicenote .  Here its success update {"_":"updateMessageSendSucceeded","level":"error","message":{"_":"message","author_signature":"","auto_delete_in":0,"can_be_deleted_for_all_users":true,"can_be_deleted_only_for_self":true,"can_be_edited":true,"can_be_forwarded":true,"can_be_saved":true,"can_get_added_reactions":false,"can_get_media_timestamp_links":false,"can_get_message_thread":false,"can_get_statistics":false,"can_get_viewers":false,"can_report_reactions":false,"chat_id":6426572438,"contains_unread_mention":false,"content":{"_":"messageVoiceNote","caption":{"_":"formattedText","entities":[],"text":""},"is_listened":false,"voice_note":{"_":"voiceNote","duration":1,"mime_type":"audio/mpeg","voice":{"_":"file","expected_size":21315,"id":1336,"local":{"_":"localFile","can_be_deleted":false,"can_be_downloaded":true,"download_offset":0,"downloaded_prefix_size":21315,"downloaded_size":21315,"is_downloading_active":false,"is_downloading_completed":true,"path":"/var/www/blank/testdevbackumnico/files/client_id1/chat_id6426572438/84644983-7943-4cf7-ad8f-6e22c4c9c967/test.mp3"},"remote":{"_":"remoteFile","id":"AwACAgIAAxkDAAKVrWYfutH0TRXS77pT2fuLfmKLzzNtAAIjSAACjZwAAUlPDHinm_XjCzAE","is_uploading_active":false,"is_uploading_completed":true,"unique_id":"AgADI0gAAo2cAAFJ","uploaded_size":21315},"size":21315},"waveform":""}},"date":1713355473,"edit_date":0,"has_timestamped_media":true,"id":40178286592,"is_channel_post":false,"is_outgoing":true,"is_pinned":false,"is_topic_message":false,"media_album_id":"0","message_thread_id":0,"restriction_reason":"","self_destruct_in":0,"sender_id":{"_":"messageSenderUser","user_id":5606345408},"unread_reactions":[],"via_bot_user_id":0},"old_message_id":40168849409}  What is stange that it working correct . I can replay it in tg desktop like  usual  voice message . I

I have no way to know, what can cause such behavior in Telegram Desktop.


Breaks occasionally (but hard to reproduce, sorry!)

I am sometimes seeing exceptions arising from the log viewer in QuPath, which cause the log viewer to break completely.
Alas, I can't easily reproduce them and I fear the source might lie buried deep in JavaFX.
I see many exceptions popping up in the following form:
16:14:34.637 [JavaFX Application Thread] [ERROR] q.l.g.QuPathUncaughtExceptionHandler - arraycopy: last destination index 470 out of bounds for int[469]
java.lang.ArrayIndexOutOfBoundsException: arraycopy: last destination index 470 out of bounds for int[469]
	at java.base/java.lang.System.arraycopy(Native Method)
	at javafx.collections.transformation.FilteredList.addRemove(FilteredList.java:272)
	at javafx.collections.transformation.FilteredList.sourceChanged(FilteredList.java:143)
	at javafx.collections.transformation.TransformationList.lambda$getListener$0(TransformationList.java:105)
	at javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
	at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:327)
	at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:71)
	at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:246)
	at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
	at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
	at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:210)
	at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:200)
	at java.base/java.util.AbstractList.add(AbstractList.java:113)
	at qupath.ui.logviewer.ui.main.LogViewerModel.addLogMessage(LogViewerModel.java:72)
	at qupath.ui.logviewer.ui.main.LogViewerModel.lambda$addLogMessage$0(LogViewerModel.java:74)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run$$$capture(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java)

Here is a screenshot showing what happens when I try to resize it after the log: basically, it is unusable and QuPath needs restarted.

The most recent occurrence was when I switched to debug mode, before running some multithreaded code.
I'm not sure if it can be fixed at source, but maybe there could be a workaround (e.g. wrapping the most relevant code in a try/catch, and attempting to recover more gracefully).

I was not able to reproduce the issue, even when logging 10000 messages in parallel at the same time.
From the stacktrace, it looks like the filteredLogs FilteredList becomes in an illegal state after listening to the allLogs ObservableList. This could be caused by an update to allLogs from a different thread than the JavaFX Application Thread, but this never happens, so I think it's a JavaFX bug. I didn't find anything relevant on Google.
I don't think wrapping the most relevant code in a try/catch would change anything, because it won't prevent filteredLogs from being in an illegal state, it will just silent it. But maybe I'm wrong, so you can try to put the allLogs.add(logMessage); line in a try catch statement.

I think I've tracked down the source of the issue and can reproduce it. It is quite specific...
It occurs when

using macOS with the system menubar turned on
logging at the debug level (at least, I couldn't reproduce it at the info level) - and setting the UI to display debug logs
logging from a thread with a 'new' name, triggering a new MenuItem to be added

When these things are in place, the following QuPath script could consistently produce the exception.
for (int i = 0; i < 10; i++) {
    String randomName = UUID.randomUUID().toString()
    new Thread(this::logSomething, randomName).start()
}

def logSomething() {
    getLogger().debug("Something")
}

Replacing all items in the thread menu with setAll seems to work around the issue (rather than using add for the missing item only). I couldn't reproduce it with the proposed workaround in https://github.com/qupath/log-viewer/pull/71


Device support request: QBKG03LM + cc2530 only shows status, no control.

the switch QBKG03LM is successfully paired with cc2530 + cp2102, is shown in ZHA. When physically turning on / off, the status changes in the HA (0,108,2) interface. But changing the status from the HA interface does not lead to a physical switch. In addition, after a few seconds in the interface HA, the switch returns to its previous state.
https://user-images.githubusercontent.com/3389141/79025251-dc02d600-7b8d-11ea-9660-86faef44a830.png

Can you reproduce this with another coordinator that is not part of the TI support? Deconz, ember, Xbee?

I have a deconz conbee2, with this coordinator the problem does not reproduce. The switch works well.
The problem is only with TI2530.

If problem is only wit TI/ZNP, then enable debug logging, reproduce the problem and raise an issue in zigpy-cc repo


feature: Add support for Azure OpenAI models.

name: Add support for Azure OpenAI models.
about: Create a pull request
Description

Attempted to use this repository with an Azure OpenAI endpoint but found it was not supported.
Modified src/agentscope/models/openai_model.py by adding a parameter to the base class and add logic to initialize an AzureOpenAI endpoint.
Tested initializing an agent with a valid Azure OpenAI endpoint configuration.

Checklist
Please check the following items before code is ready to be reviewed.

[ ]  Code has passed all tests
[x]  Docstrings have been added/updated in Google Style
[x]  Documentation has been updated
[x]  Code is ready for review

Thansk for your contributing, but AgentScope has already supported Azure OpenAI API via litellm?

Thansk for your contribution, but AgentScope has already supported Azure OpenAI API via litellm?
Refer to https://docs.litellm.ai/docs/providers/azure

Thanks for the reminder, I just found it. By the way, perhaps implement Embedding and DALLEWrapper via LiteLLM as well.


Can you provide an example using the library with Akka-Stream?

Hi,
I came across the library and I would like to try to parse some json stream that I will be reading from a file.  I am not really sure how to use the library yet.
When I tried to parse the stream using Circe, I do get
could not find implicit value for evidence parameter of type io.circe.Decoder[jawn.ast.JValue]
I have looked at Circe source and found the support for spray-json file.  So I include them as below to resolve the implicit issue.
import jawn.ast.JValue
import jawn.support.spray.Parser._
import spray.json.{ DefaultJsonProtocol, JsValue }
import io.circe._
import io.circe.generic.auto._
import io.circe.parser._
import io.circe.syntax._
But when I ran the the flow:
FileIO.fromFile(someFile)
      .via(Framing.delimiter(ByteString(System.lineSeparator), maximumFrameLength = 512, allowTruncation = true))
      //.via(de.knutwalker.akka.stream.support.CirceStreamSupport.decode[JsValue])
      .map(s => { println(s); s.toString })
      .runWith(Sink.foreach(println))

The first via prints out the content while the second just does not process anything.
Would it be possible to have some sample code for such a scenario?  Thanks for your help.

Hi,
there are a couple of different concepts at play here. First, the library uses jawn for parsing. Jawn uses a Facade to decide what it parses into. The result is usually an AST from some Json library of your choosing. It depends on this library how to progress further.
For example, to parse into spray-json, you have to include the "de.knutwalker" %% "akka-stream-json" % "3.0.0" and the `"org.spire-math" %% "jawn-spray" % "0.8.4" libraries and then the following should work
import de.knutwalker.akka.stream._
import jawn.support.spray.Parser._ // this is the spray facade
import spray.json._                // this is the spray ast

FileIO.fromFile(someFile)
  .via(JsonStreamParser[JsValue])
  .runWith(Sink.foreach(println))

What you do from here is entirely up to spray-json.
The circe module from this library is just a shortcut for this and the additional step to get to your case class, but it is in no way required to use circe. Overall, much of the usage depends on what json backend you end up using and the only actual thing provided by this library is the JsonStreamParser.
Hope this helps a bit.

Thank you, Paul.  This really helps.  It has got me started for now.

On Jun 10, 2016, at 3:04 PM, Paul Horn<EMAIL_ADDRESS>wrote:
import de.knutwalker.akka.stream._
import jawn.support.spray.Parser._ // this is the spray facade
import spray.json._                // this is the spray ast
FileIO.fromFile(someFile)
.via(JsonStreamParser[JsValue])
.runWith(Sink.foreach(println))

I hope you don't mind I ask a related question.  I do run the flow reading from a file.  However, it looks like I can only run it once and it becomes exhausted.  How do I continually process the files that will be coming in aperiodically?  Thanks again for your help.

The default JsonStreamParser[JsValue] should parse multiple json documents that appear in the file, though it really depends on the async parser mode from jawn, ValueStream being the default.
Do you want to continue parsing after you've added more files or modified the existing file outside of the application? If so, this is out of scope for either akka-stream-json or akka-stream in general. You'd have to implement these features by yourself, the FileIO is reading the file as it is at that moment and does not react to changes.

Thanks Paul.  I do have the watcher that is listening for new files.  The problem I have at the moment is the processing seems to be done only once.  When I have new file coming in and I call FileIO.fromFile again, that just does not do kick off the parsing process again.  Could you provide more detail on what needs to be done to keep the parsing going for the new files that would be dropped into the folder?  Also, do you have an example where we can use the parser with Flow[Path] and we read the ByteBuffer from the path to feed the parser?  Thanks again for your help.

On Jun 11, 2016, at 6:24 AM, Paul Horn<EMAIL_ADDRESS>wrote:
The default JsonStreamParser[JsValue] should parse multiple json documents that appear in the file, though it really depends on the async parser mode from jawn https://github.com/non/jawn#parsing, ValueStream being the default.
Do you want to continue parsing after you've added more files or modified the existing file outside of the application? If so, this is out of scope for either akka-stream-json or akka-stream in general. You'd have to implement these features by yourself, the FileIO is reading the file as it is at that moment and does not react to changes.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/knutwalker/akka-stream-json/issues/1#issuecomment-225361524, or mute the thread https://github.com/notifications/unsubscribe/AAFibUPiMmkLhJxuY0oK-U7t2VKsPhNhks5qKrcrgaJpZM4IzQfl.

It might be related to the call to deleteIfExists call. Since the flow run asynchronously, it is likely that the file is removed before the flow has finished, maybe even before it has started. Maybe something like this could work:
val fileParser = Source.actorRef[Path](0, OverflowStrategy.dropNew) // use proper settings for your application
  .flatMapConcat(p => FileIO.fromFile(p.toFile))
  .via(JsonStreamParser[JsValue])
  .toMat(Sink.foreach(println))(Keep.left)
  .run()

val action: Callback = { path =>
  println(s"Something was modified in a directory: ${path.toRealPath()}" +
    s" ${path.toAbsolutePath} ${path.getFileName()}")
  fileParser ! path
}

Thanks for your help.  I will try that.  However, the file has to be deleted or moved out of the directory.  Could that be part of the flow?

On Jun 11, 2016, at 8:08 AM, Paul Horn<EMAIL_ADDRESS>wrote:
It might be related to the call to deleteIfExists call. Since the flow run asynchronously, it is likely that the file is removed before the flow has finished, maybe even before it has started. Maybe something like this could work:
val fileParser = Source.actorRef[Path](0, OverflowStrategy.dropNew) // use proper settings for your application
.flatMapConcat(p => FileIO.fromFile(p.toFile))
.via(JsonStreamParser[JsValue])
.toMat(Sink.foreach(println))(Keep.left)
.run()
val action: Callback = { path =>
println(s"Something was modified in a directory: ${path.toRealPath()}" +
s" ${path.toAbsolutePath} ${path.getFileName()}")
fileParser ! path
}
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/knutwalker/akka-stream-json/issues/1#issuecomment-225368503, or mute the thread https://github.com/notifications/unsubscribe/AAFibWMKY88o64HkiMgyYEEVTHtvIWMJks5qKs94gaJpZM4IzQfl.

I don't think you could add this to the final flow as you will not have any notion about which json belonged to which file, but maybe something like this will work:
val fileParser = Source.actorRef[Path](0, OverflowStrategy.dropNew) // use proper settings for your application
  .mapAsync(1) { filePath =>
  val parsingComplete = FileIO.fromFile(filePath.toFile)
    .via(JsonStreamParser[Json])
    .runWith(Sink.foreach(println))
  parsingComplete.map { _ =>
    Files.deleteIfExists(filePath)
  }
}.to(Sink.ignore).run()

I took out the delete line because the actor would not see the file as you mentioned that it is async.  However the behavior is still the same.  It only process only once.  And I do see the println for the second file but there was no parsing going on.
,"dateCreated":null,"createdBy":null,"imonumber":null,"elavonGCSShipCode":null,"elavonJapanShipCode":null,"current":true,"modifiedBy":null},"endOfCruiseStatus":"ACTIVE","createdBy":null,"disembarkDate":"2016-03-13T11:00:00Z","embarkDate":"2016-03-03T21:00:00Z","modifiedBy":null,"voyageNumber":"1607"},"cabinClass":null,"voyageNumber":"1607","userName":null,"deleted":false,"gender":"M"}]}
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/.DS_Store /scala/reactive-kafka-scala/src/main/resources/.DS_Store .DS_Store
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/guests copy.json /scala/reactive-kafka-scala/src/main/resources/guests copy.json guests copy.json
Right now it works if I just parse the file as below:
//      val f = scala.io.Source.fromFile(filePath.toString)
//      val myResult: Try[JsValue] = Parser.parseFromByteBuffer(ByteBuffer.wrap(f.toArray.map(_.toByte)))
//      myResult match {
//        case Success(jsValue) => println(jsValue.asJsObject.fields("count"))
//        case Failure(t)       => println(t)
//      }
Anything stands out as to why the flow is not being called the second time around?

On Jun 11, 2016, at 8:08 AM, Paul Horn<EMAIL_ADDRESS>wrote:
val fileParser = Source.actorRef[Path](0, OverflowStrategy.dropNew) // use proper settings for your application
.flatMapConcat(p => FileIO.fromFile(p.toFile))
.via(JsonStreamParser[JsValue])
.toMat(Sink.foreach(println))(Keep.left)
.run()
val action: Callback = { path =>
println(s"Something was modified in a directory: ${path.toRealPath()}" +
s" ${path.toAbsolutePath} ${path.getFileName()}")
fileParser ! path
}

Do you send the .DS_Store file into the flow as well? This is probably not a valid json and if the stream parser encounters an error, it will fail the stream. So, the first file runs throught the flow and the .DS_Store file fails it so that it stops doing anything

This does not parse anything at all.  I do only see the println:
[info] 08:29:16.557 INFO  akka.event.slf4j.Slf4jLogger - Slf4jLogger started
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/.DS_Store /scala/reactive-kafka-scala/src/main/resources/.DS_Store .DS_Store
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/.DS_Store /scala/reactive-kafka-scala/src/main/resources/.DS_Store .DS_Store
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/guests.json /scala/reactive-kafka-scala/src/main/resources/guests.json guests.json
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/.DS_Store /scala/reactive-kafka-scala/src/main/resources/.DS_Store .DS_Store
[info] Something was modified in a directory: /scala/reactive-kafka-scala/src/main/resources/guests.json /scala/reactive-kafka-scala/src/main/resources/guests.json guests.json

On Jun 11, 2016, at 8:25 AM, Paul Horn<EMAIL_ADDRESS>wrote:
val fileParser = Source.actorRef[Path](0, OverflowStrategy.dropNew) // use proper settings for your application
.mapAsync(1) { filePath =>
val parsingComplete = FileIO.fromFile(filePath.toFile)
.via(JsonStreamParser[Json])
.runWith(Sink.foreach(println))
parsingComplete.map { _ =>
Files.deleteIfExists(filePath)
}
}.to(Sink.ignore).run()

Oh, let me test that out.

On Jun 11, 2016, at 8:31 AM, Paul Horn<EMAIL_ADDRESS>wrote:
Do you send the .DS_Store file into the flow as well? This is probably not a valid json and if the stream parser encounters an error, it will fail the stream. So, the first file runs throught the flow and the .DS_Store file fails it so that it stops doing anything
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/knutwalker/akka-stream-json/issues/1#issuecomment-225370126, or mute the thread https://github.com/notifications/unsubscribe/AAFibRLa2tm8CYRIJ3aad_lwLglB0Dnwks5qKtTagaJpZM4IzQfl.

I disable .DS_Store file from being created and rerun the code.  That still parses only once.  And also the file does not get deleted.  I know that there is a gap in my understanding how the flow works but I am just not sure why it get exhausted somehow.  Any other suggestion that I should try?  Thanks for your help, Paul.

On Jun 11, 2016, at 8:31 AM, Paul Horn<EMAIL_ADDRESS>wrote:
Do you send the .DS_Store file into the flow as well? This is probably not a valid json and if the stream parser encounters an error, it will fail the stream. So, the first file runs throught the flow and the .DS_Store file fails it so that it stops doing anything
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/knutwalker/akka-stream-json/issues/1#issuecomment-225370126, or mute the thread https://github.com/notifications/unsubscribe/AAFibRLa2tm8CYRIJ3aad_lwLglB0Dnwks5qKtTagaJpZM4IzQfl.

I kept testing and rerunning the code with some modification til:
if (path.getFileName.toString.trim.endsWith(".json")) {
FileIO.fromFile(filePath.toFile)
.via(JsonStreamParser[JsValue])
.runWith(Sink.foreach(println))
.onComplete(_ => Files.deleteIfExists(filePath))
} else {
println("non json file is not processed")
Files.deleteIfExists(filePath)
}
To learn that onComplete is called when the file extension is not .json but it is not called when the parsing was carried out successfully.  Do you know if that is the normal behavior we should expect?  And also, the .DS_Store seems to be the cause of the flow not rerunning in the first place.  Thanks for your help.

On Jun 11, 2016, at 9:12 AM, Watt P<EMAIL_ADDRESS>wrote:
I disable .DS_Store file from being created and rerun the code.  That still parses only once.  And also the file does not get deleted.  I know that there is a gap in my understanding how the flow works but I am just not sure why it get exhausted somehow.  Any other suggestion that I should try?  Thanks for your help, Paul.

On Jun 11, 2016, at 8:31 AM, Paul Horn<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Do you send the .DS_Store file into the flow as well? This is probably not a valid json and if the stream parser encounters an error, it will fail the stream. So, the first file runs throught the flow and the .DS_Store file fails it so that it stops doing anything
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/knutwalker/akka-stream-json/issues/1#issuecomment-225370126, or mute the thread https://github.com/notifications/unsubscribe/AAFibRLa2tm8CYRIJ3aad_lwLglB0Dnwks5qKtTagaJpZM4IzQfl.

Hi,
I am trying to you use your library with Akka-stream java and also trying to using Jackson. I am not very familiar with scala. Can you help me with an example to use the framework in akka-stream java world.

@harsh86 This library only works together with Jawn, not with Jackson. Jawn doesn't target Java, so this library doesn't as well. If you wan to use Jackson together with Akkas Java API, have a look at Source Streaming and akka-http-json.


rkt: move image-related commands as rkt image's subcommands

This patch moves rkt images to rkt image list and rkt rmimage to
rkt image rm.
This fixes #933,
I thought about adding some doc but perhaps it would be better first updating #649?

LGTM thank you @sgotti !

Could we take this opportunity to clean up the file names? perhaps image_list, image_rm, etc

@jonboulle Good idea!

LGTM


Add ToE 2 x Final Theory (full) by DJ-Nate

Song Name
ToE 2 x Final Theory (full)
Artist Name
DJ-Nate
Source
Youtube
Youtube Link
6P9OTt1cguA
Direct File Link
No response
Song ID
790340
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 46604847

accept


Fix for ulduar release changes (blizz merged in some Wow 10 api changes)

All the code looks good to me. I'd recommend a merge

just an FYI, this is my local fork, not what curseforge has. I just took the zip from curseforge and modified it for my guild to get the errors to work @agulot

Fully aware but I wanted to make sure it was noted


Fail to capture data from meter

Honestly im not sure why this just started, i figured it coincided with the latest homeassistant core update but i rolled back to 2023.6.3 and it persists.
I seem to not see any meter reads any longer. No errors per se but i dont recall seeing this is in the logs before
[2023-07-06 18:15:11] 18:15:11.367970 main.go:343: Receiver context cancelled.
[2023-07-06 18:15:11] 18:15:11.368278 main.go:320: read tcp <IP_ADDRESS>:37680-><IP_ADDRESS>:1234: i/o timeout
[2023-07-06 18:15:11] io.ReadFull
[2023-07-06 18:15:11] main.(*Receiver).Run.func2
[2023-07-06 18:15:11] 	/go/pkg/mod/github.com/bemasher/rtlamr@v0.9.3/main.go:181
[2023-07-06 18:15:11] runtime.goexit
[2023-07-06 18:15:11] 	/usr/local/go/src/runtime/asm_amd64.s:1594

config as follows:
general:
  sleep_for: 60
  verbosity: debug
  listen_only: false
  tickle_rtl_tcp: false
  device_id: single
  usb_reset: "009:012"
mqtt:
  ha_autodiscovery: true
  ha_autodiscovery_topic: homeassistant
  base_topic: rtlamr
  tls_enabled: false
  tls_ca: /etc/ssl/certs/ca-certificates.crt
  tls_cert: /etc/ssl/my_self_signed_cert.crt
  tls_keyfile: /etc/ssl/my_self_signed_cert_key.key
  tls_insecure: true
  host: core-mosquitto
  port: 1883
  user: homeassistant
  password: nothingtoseehere
custom_parameters:
  rtltcp: "-s 2048000"
  rtlamr: "-unique=true"
meters:
  - id:<PHONE_NUMBER>
    protocol: scm+
    name: production_meter
    format: "#####.##"
    unit_of_measurement: kWh
    icon: mdi:transmission-tower-export
  - id:<PHONE_NUMBER>
    protocol: scm+
    name: consumption_meter
    format: "#####.##"
    unit_of_measurement: kWh
    icon: mdi:transmission-tower-import

I have reset the adapter physically at the server too. Im running hass os on a proxmox vm. Proxmox is on 7.4 (latest is 8) but this issue suddenly appeared today and proxmox 8 has been out for a while. Could still be hardware... Wanted to add an issue incase you see something obvious.
Thanks for your time and development as always!

I'm seeing the same problem.

Actually i wonder if this os related to https://github.com/bemasher/rtlamr/issues/188. Coincidence that there are 2 of us seeing this?

I/O timeout usually means error accessing the USB device.


[BUG] Unable to import data from csv

Context
In order to help us troubleshoot issues with this project, you must provide the following details:

ElasticDump version  6.33.4
Elasticsearch 7.10.0
Node.js version v10.19.0
Full command you are having issue with (with inputs and outputs) - see below
A data-set you can share publicly which reproduces the problem:
analytics-events-public.csv.txt

Describe the bug
Unable to import data from csv file. Probably wrong command provided in README.md
To Reproduce
Steps to reproduce the behavior:

Go to the documentation: https://github.com/elasticsearch-dump/elasticsearch-dump#use
prepare csv file with data (say, analytics-events-public.csv) in your working directory
try to import data from csv as described:

# Import data from CSV file into ES (using csvurls)
elasticdump \
  --input "csv://${file_name}.json" \
  --output=http://production.es.com:9200/my_index \
  --csvSkipRows 1
  --csvDelimiter ";"

neither of these commands worked:

elasticdump --input "csv://analytics-events-public.csv.json" --output=http://localhost:9200/analytics-events-prod --csvSkipRows 1 --csvDelimiter ";"
elasticdump --input "csv://./analytics-events-public.csv" --output=http://localhost:9200/analytics-events-prod --csvSkipRows 1 --csvDelimiter ";"
elasticdump --input "analytics-events-public.csv" --output=http://localhost:9200/analytics-events-prod --csvSkipRows 1 --csvDelimiter ";"

see one of the following errors depending on what path to csv file you use:

ENOENT: no such file or directory, open 'csv://analytics-events-public.csv.json'
ENOENT: no such file or directory, open 'csv:./analytics-events-public.csv'
Error: Invalid JSON (Unexpected "ï" at position 0 in state STOP)

Current behavior
not importing data from csv file
Expected behavior
importing data from csv file as it does from json
OS: Ubuntu 20.04
importing to\from json works perfectly. the issue is with csv.
I worked around this issue by converting csv to json similar to what this online converter does: https://csvjson.com/csv2json and manually tweaking it to look like json dump

All the commands used has errors. It's very important to read the documentation.

You're using the command below to import JSON using a CSV transport. That's incorrect and will fail

elasticdump --input "csv://analytics-events-public.csv.json" \
--output=http://localhost:9200/analytics-events-prod \
--csvSkipRows 1 \
--csvDelimiter ";"

The command is correct, but the delimiter is incorrect. The delimiter should have been ,

elasticdump --input "csv://./analytics-events-public.csv" \
--output=http://localhost:9200/analytics-events-prod \
--csvSkipRows 1 \
--csvDelimiter ";"

The command incorrect csv:// is a prefix that used to detect that the file being parsed is CSV.

elasticdump --input "analytics-events-public.csv" \
--output=http://localhost:9200/analytics-events-prod \
--csvSkipRows 1 \
--csvDelimiter ";"
``

--csvDelimiter
The delimiter that will separate columns.
(default : ',')
--csvSkipRows
If number is > 0 then the specified number of parsed rows will be skipped
(default : 0)

Ran the command with your dataset and everything worked

``bash
elasticdump \
--input csv:///home/ferron/personal_git/es-dump/runlocal/csv/analytics-events-public.csv.txt \
--output http://localhost:9200/analytics-events-prod \
--type data\

http://localhost:9200/analytics-events-prod --type data ./elasticdump.js
Sun, 22 Nov 2020 14:49:10 GMT | starting dump
Sun, 22 Nov 2020 14:49:10 GMT | got 4 objects from source csv (offset: 0)
Sun, 22 Nov 2020 14:49:10 GMT | sent 4 objects to destination elasticsearch, wrote 4
Sun, 22 Nov 2020 14:49:10 GMT | got 0 objects from source csv (offset: 4)
Sun, 22 Nov 2020 14:49:10 GMT | Total Writes: 4
Sun, 22 Nov 2020 14:49:10 GMT | dump complete

elastic check

curl http://localhost:9200/analytics-events-prod/_search | jq .

{
  "took": 4,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 8,
      "relation": "eq"
    },
    "max_score": 1,
    "hits": [
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "QUtt8HUBixw1JCrqY0nd",
        "_score": 1,
        "_source": {
          "id": "3",
          "timestamp": "2020-01-15T18:10:54.9134328",
          "type": "0",
          "event_name": "sign-up"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "Qktt8HUBixw1JCrqY0nd",
        "_score": 1,
        "_source": {
          "id": "2",
          "timestamp": "2020-02-21T07:46:46.1442755",
          "type": "1",
          "event_name": "sign-in"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "Q0tt8HUBixw1JCrqY0nd",
        "_score": 1,
        "_source": {
          "id": "1",
          "timestamp": "2020-03-15T23:05:10.4614024",
          "type": "1",
          "event_name": "sign-in"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "REtt8HUBixw1JCrqY0nd",
        "_score": 1,
        "_source": {
          "id": "0",
          "timestamp": "2020-04-14T07:30:52.1025673",
          "type": "2",
          "event_name": "download"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "RUtu8HUBixw1JCrqH0nm",
        "_score": 1,
        "_source": {
          "id": "3",
          "timestamp": "2020-01-15T18:10:54.9134328",
          "type": "0",
          "event_name": "sign-up"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "Rktu8HUBixw1JCrqH0nn",
        "_score": 1,
        "_source": {
          "id": "2",
          "timestamp": "2020-02-21T07:46:46.1442755",
          "type": "1",
          "event_name": "sign-in"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "R0tu8HUBixw1JCrqH0nn",
        "_score": 1,
        "_source": {
          "id": "1",
          "timestamp": "2020-03-15T23:05:10.4614024",
          "type": "1",
          "event_name": "sign-in"
        }
      },
      {
        "_index": "analytics-events-prod",
        "_type": "_doc",
        "_id": "SEtu8HUBixw1JCrqH0nn",
        "_score": 1,
        "_source": {
          "id": "0",
          "timestamp": "2020-04-14T07:30:52.1025673",
          "type": "2",
          "event_name": "download"
        }
      }
    ]
  }
}

I try all the correct parameter but still having the problem..
"Error: ENOENT: no such file or directory, open 'csv://......'
Not sure it is problem on MacOS only.
Having problem for both import and export data (CSV)

You have to provide more information. What command did you use ? Can you provide a sample dataset

elasticdump --output https://localhost:9200/test --input "csv:///Users/vorapoap/test.csv" --type data
elasticdump --output https://localhost:9200/test --input "csv://~/test.csv" --type data
elasticdump --output https://localhost:9200/test --input "csv://./test.csv" --type data
elasticdump --output https://localhost:9200/test --input "csv://test.csv" --type data
sudo elasticdump --output https://localhost:9200/test --input "csv://test.csv" --type data
sudo elasticdump --output https://localhost:9200/test --input "csv:///Users/vorapoap/test.csv" --type data

None of this works....also remove --type data.
the file.is
NAME,AGE
Bob,10
Alice,11
Jonas,13

Always shows this similar error
Sat, 14 May 2022 15:27:06 GMT | starting dump
Sat, 14 May 2022 15:27:06 GMT | Error Emitted => {
  msg: 'Pipeline failed',
  err: [Error: ENOENT: no such file or directory, open 'csv:///Users/vorapoap/test.csv'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: 'csv:///Users/vorapoap/test.csv'
  }
}
Sat, 14 May 2022 15:27:06 GMT | Error Emitted => {
  msg: 'Pipeline failed',
  err: [Error: ENOENT: no such file or directory, open 'csv:///Users/vorapoap/test.csv'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: 'csv:///Users/vorapoap/test.csv'
  }
}
Sat, 14 May 2022 15:27:06 GMT | Total Writes: 0
Sat, 14 May 2022 15:27:06 GMT | dump ended with error (get phase) => Error: {
  msg: 'Pipeline failed',
  err: [Error: ENOENT: no such file or directory, open 'csv:///Users/vorapoap/test.csv'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: 'csv:///Users/vorapoap/test.csv'
  }
}

I wasn't able to replicate the issue. What version of elasticdump are you using ?
sample dataset expected
key,_uuid,@id,@index,@type
key47,47,47,another_index,seeds
key50,50,50,another_index,seeds
key51,51,51,another_index,seeds
key52,52,52,another_index,seeds
key53,53,53,another_index,seeds

❱ elasticdump --version
6.33.4

Ok I think I found the issue. need to do -g on npm install.


Allow for value actions (previously right click actions) to be selectable for view per user

Allow for individuals to be allowed to select which value actions are displayed for their session. Perhaps a checkbox based ENABLED type of list within the user settings page would work?
Example - User A only wants the "Send to VT" value actions to be displayed. User A would check the box only for this value action in their settings page.
A "Select All" and DeSelect All" checkbox would also be useful.
Thank you!

This feature exists by using the notUsers field for each value action in the WISE UI (https://arkime.com/wiseapi#wisesourceapivalueaction-type). Please reopen if this is not a suitable solution and you need this in the viewer settings.


Optimize video capability in layers panel

Description
If a video hasn't been optimized and fits the criteria we've established in the prepublish checklist then it should have an option to be optimized from the video's layer in the layer panel.
https://www.figma.com/file/1YM3jA9h4QGc4xLdyaXIJS/Stories-Sprint-1.7?node-id=7122%3A22242
This button is the same functionality as in the prepublish checklist (#7258 ) just in the layers panel instead.
If it's successful, show the same optimization successful message as established in #7314
If it's a failure, show the same optimization error message as established in #7314 and #7315
This button also gets the fancy CTA treatment found here: #7312

Acceptance Criteria

New button in the layers panel for videos that can be optimized according to PPC standards
When clicked it has the same 'processing' UI of the button border moving (see #7312)
Snackbars show success and failure
New tests, please

Is it confirmed that we want to implement this? IIRC it was just an exploration last time.
I fear that adding so many options for users to optimize videos clutters the UI too much and gives the feature more importance than needed. The PPC integration should suffice for now, IMO.

(Not part of release 1.9)

we will likely not implement this per conversation in design syncs in June

Cool. Let's close this for now then.


Disable iOS code block bounces

Details

We disable BasePreRenderer.ScrollView.bounces on the iOS native platform, keep it consistent with Android platform, so that the left swipe navigation gesture will not be interrupted
Fixed Issues

$ https://github.com/Expensify/App/issues/18111
$ https://github.com/Expensify/App/issues/18111#issuecomment-1527645547
Tests

Send a message

```hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh```

Send a message

```hhhhhhhh
hhhhhhhh```

Verify that both messages have no spring effect on the iOS native platform

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Same as others

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://user-images.githubusercontent.com/20135674/236517554-a056fc75-1681-4f04-9f56-f0316009acfd.mov

Mobile Web - Chrome

https://user-images.githubusercontent.com/20135674/236517583-582bee59-31c4-4d73-ad8a-9f2777580fc3.mp4

Mobile Web - Safari

https://user-images.githubusercontent.com/20135674/236822215-b4b4b41c-dd83-4c84-ac14-6e21094caea8.mp4

Desktop

https://user-images.githubusercontent.com/20135674/236517638-7665f4e1-6541-49af-a76a-0bf6cef27508.mov

iOS

https://user-images.githubusercontent.com/20135674/236517654-a00c1354-cffa-48ee-99e4-24f67f47f781.mp4

Android

https://user-images.githubusercontent.com/20135674/236517672-9805c504-08e2-4c48-89b9-b4a19c901856.mp4

@0xmiroslav Yes, I noticed that too, but react-native-web doesn't support the property bounces.
From https://stackoverflow.com/questions/7768269/ipad-safari-disable-scrolling-and-bounce-effect, so it don't have a perfect solution

@0xmiroslav Thanks, I found a way overflowScrollBehaviorNone to support it, only works on iOS 16+

@0xmiroslav  Thanks, I tested again and it work fine, and we're already using it in the body element, https://github.com/Expensify/App/blob/ab9171f953603bb8e4e061f5582a4b7cab3d4a43/web/index.html#L32-L35

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/Julesssss in version: 1.3.13-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.13-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Restrict scala-native projects to 2.11

This allows to import shapeless in IntelliJ in particular.

Codecov Report

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

@@          Coverage Diff           @@
##           master    #894   +/-   ##
======================================
  Coverage    87.9%   87.9%
======================================
  Files          65      65
  Lines        1497    1497
  Branches        5       5
======================================
  Hits         1316    1316
  Misses        181     181

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 1cc4721...7119594. Read the comment docs.

LGTM! Many thanks ... merging :-)


Update SITES.md

add my blog url

Thanks for the PR! We've simplified the process of adding your site/repo to the list. Instead of updating SITES.md you would add the utterances topic to your repo.


Can't import state with chrome dev tools

Hi,
I'm using this project with chrome dev tools and I'm loving it so thanks for your hard work.
However, I'm missing a feature where you can replace a current state with a saved one. It works fine with a pure react app like this one: http://zalmoxisus.github.io/examples/todomvc/
https://www.youtube.com/watch?v=JdybTliFl4I
But if I use chrome dev tools with the ngrx example app (or any other ngrx app) I'm not able to import the state: https://www.youtube.com/watch?v=5wD_GyEUHJc
Is this a bug or do store-devtools not suport this feature (replacing the store)?
I'm currently using the following versions of ngrx and angular:
@angular/common: 2.0.1
@angular/compiler: 2.0.1
@angular/core: 2.0.1
@angular/http: 2.0.1
@angular/platform-browser: 2.0.1
@angular/platform-browser-dynamic: 2.0.1
@ngrx/core: 1.2.0
@ngrx/effects: 2.0.0
@ngrx/store: 2.2.1
@ngrx/store-devtools: 3.1.0

And are bootstrapping store-devtools with:
@NgModule({
    declarations: ...,
    imports: [
        StoreModule.provideStore(reducers, initState()),
        EffectsModule.run(SomeEffects1),
        EffectsModule.run(SomeEffects2),
        StoreDevtoolsModule.instrumentOnlyWithExtension()
    ],
    bootstrap: ...,
    providers: ...
})

Thanks!

It looks like the extension only filter out DISPATCH  action-types   https://github.com/ngrx/store-devtools/blob/6e880ba68958e24a78dce05d5bb8a75b09999ad5/src/extension.ts#L84 but when I try to import an old state the type is of IMPORT.

I have the same issue as the one you stated. Looks like you found a solution in #225. I was able to hardcode the initial state using the second param of the provideStore function. However id like to make use of the dev-tools ui for this step. Can you provide a small code sample with the solution?

This looks related to https://github.com/ngrx/store-devtools/issues/33 and probably at least has the issue with immediate unsubscription from extension changes that I mention in https://github.com/ngrx/store-devtools/issues/33#issuecomment-257005059

I'm also having problems with this. Has anyone found a workaround or fix?
A lot of why I want ngrx is so my QA can send me his state when he finds bugs. Very disappointed when I found this wasn't working.


logs not emitted on revert

I'm not seeing logs emitted when running forge test --verbosity 3 and hitting a revert()

for those looking to reproduce :)
function test() public {
    revert();
    emit log_string('hey');
}


Scrollbar not showing on component Render for in React-Router Component

I have routes with react-router set as this
const routes = (
<Route component={MainComponent} path="/">
     <Route component={Component1} path="/no-scrollbar"/>
     <Route component={Component2} path="/show-scrollbar"/>
</Route>
)

If I visit myapp.com/show-scrollbar the scrollbar is not shown unless I press the arrow down|up key of my keyboard but its shown automatically if i get to this route through react-router Link component.
I don't know why this is so and I'm doing anything that affects the state of this component. The component just renders and all its component within except the scrollbar component. Btw I'm also server rendering my whole app with webpack and have not encountered this problem with the other components that I'm using.

Could you provide some code or a repo that reproduces the bug? Then I'll have a look at it.

That will be tricky cause I'm using it on an app @ work but I'll see if I can replicate the same bug with a similar code base

Maybe related to #38

Any updates on this?

I'll close this for now, please reopen, If you got updates on this!


Parameter cleanup

First half of #620 – this is just cleanup/refactoring that doesn't change any functionality and removes more lines than it adds.

LGTM (at a glance)

This is what caused #738 (just wanted to create the clickable hyperlink here :))


Don't "jump" to the active field when starring/unstarring certain variables

This PR resolves #135 by memoizing the derivation of entities. This stops the chain of events described in that issue from occurring.

I'm going to merge this so that it can be push to the feature site along with the "My variables" feature.


Use 'for loop' instead of 'forEach', maybe we can have better performance.

What problem does this feature solve?
To increase performance. One order of magnitude or more.
See:
https://jsperf.com/fast-array-foreach
https://jsperf.com/loop-test-aamulumi/1
What does the proposed API look like?
None of new API, just better performance

We do use for loops in most places, specially perf critical places. If you find anywhere where switching to a for loop would increase the performance we are happy to review a pr with the corresponding perf benchmarks comparison  🙂


Replaced loops_current with end_loop in AnimationNodeStateMachinePlayback

First time committing to open source!
Fixes #59967
Found in AnimationNodeStateMachinePlayback
Private variable loops_current in was being used in the method _travel to calculate the end of a loop.
if (next_pos < pos_current) {
    loops_current++;
}
pos_current = next_pos; //looped

if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_AT_END) {
    goto_next = next_xfade >= (len_current - pos_current) || loops_current > 0;

This created an issue when an Advance Condition (atEnd) was changed from false to true when loops_current > 0 (any time after the first loop). This caused an immediate transition instead of at the end of the animation loop.
Could not find any other use for loops_current so I replaced it with end_loop to solve this issue;
Relevent changes in _travel
{ //advance and loop check

	float next_pos = len_current - rem;

-	if (next_pos < pos_current) {
-		loops_current++;
-	}
+	end_loop = next_pos < pos_current;
	pos_current = next_pos; //looped
}

if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_AT_END) {
-    goto_next = next_xfade >= (len_current - pos_current) || loops_current > 0;
-    if (loops_current > 0) {
+    goto_next = next_xfade >= (len_current - pos_current) || end_loop;
+    if (end_loop) {
......
}

First time contributing please inform me if I did anything out of conduct :)

Sorry did not mean to close this... I'm still trying to get used to using GitHub and was confused.... 😅

The changes look good style wise, just needs a review from folks familiar with animation features (@godotengine/animation).

Cherry-picked for 3.5.

Cherry-picked for 3.4.5.


test: reflect language changes

Related to flix/flix#9236

A change has been made which causes the highlighted range of an enum case to go from
enum Shape {
    case Circle(Int32),
         ^^^^^^
    case Square(Int32),
    case Rectangle(Int32, Int32)
}

to
enum Shape {
    case Circle(Int32),
         ^^^^^^^^^^^^^
    case Square(Int32),
    case Rectangle(Int32, Int32)
}

However, this seems to be changed by vscode before being displayed:

The failing CI run seems to not include the most recent commit. Weird. Can we try retriggering it?

I retriggered CI

@LoZander @sockmaster27 In terms of highlighting. What do you think makes the most sense?

Tests still fail. Its strange.

No clue. Could it be an error on GitHub's end?

No clue. Could it be an error on GitHub's end?

It seems unlikely. Its probably a bug in our code. Maybe insert a lot of prints?

I got the same error when running the tests before the second commit, but now it passes for me.

I got the same error when running the tests before the second commit, but now it passes for me. What the CI reports as the expected value no longer appears anywhere in our code.

😮

I could try to merge the PR and see what happens?

I tried, so now I suppose we need another fake PR to test?


Allow inputs

Inspired by Pluto.jl, we should support inputs as a mechanism to pass data to code cells. My idea is that this can be done via the stdio. For example, we could add a slider with name "foo". Then, on the Elixir side of things, we would do:
value = IO.gets("foo: ")

The above would extract the name (with a rule to be defined) and match against the inputs on the page. This has the following benefits:

By tracking via stdio, we can automatically re-execute the cell once the input changes
By tracking via stdio, it will be easier to support other languages without meta-programming facilities (such as Erlang)
By tracking via stdio, it means the cell can be executed outside of livebook and still work (for example, if we export foo.exs files)

it might be worth also looking at how apache zeppelin does forms; https://zeppelin.apache.org/docs/0.9.0/usage/dynamic_form/intro.html
It really makes setting variables easy

Here is the specification:

We will have an + Input cell. It requires you to add the name and the type (text or url initially)

The cell is persisted as a comment in .livemd. The current value of the cell is also persisted. Since we want to support multiple inputs in the future, we will already store them as a group:
{"inputs"=>[{...}]}

Inputs will be rendered in a single line:
Date: [ oops              ]                       [ ] [ ] [ ] [ ] [ ]

As mentioned above, they will be read like this from code cells:
date = IO.gets("Date: ") #=> "oops\n"
IO.puts(date)

We will execute a longest prefix match to find the matching inputs to the gets expression, return :error otherwise.
I will open up separate issues for:

More input types
Reactive inputs
Support forms (multiple inputs)


relationalBone(multiple=True) but with unique relations per destination

Hi there,
I'm having a requirement for some kind of unique-Feature for relationalBone(multiple=True) bones, where multiple relations to different destination can be added, but only one relation for each target key is allowed.
In the current implementation, I can create multiple relations to the same destination entity.
How could this be implemented?
How could it be named? (I think unique is not the right wording, because it is used differently).

Interesting feature/idea!
I think we have to implement this as a new parameter referencedBy (or something like that). Valid values could be a positive int to limit the references from this kind or -1 for infinity.
Maybe we need several severities for this:

Reference only n-times with the same using-skel-values
or only n-times in general, 	independently from the using-skel-values.

The validation could count the entities in the viur-relations kind with the actually src-kind and dest-relation - this should be straightforward, or not?

Not sure what you actually trying to archive. You have Kind A and B, both with entities a and b. You add relations from Entity A-a to entities B-a and B-b. Do you want to prevent another entity like A-b to also reference any of B-a and B-b? Then use unique with SameValue. Or do you want to prevent A-a from referencing B-a twice within the same relation? Then just add an test to interBoneValidations.

@tsteinruecken please provide an example for this. I just want a relationalBone, where only one relation can be created for each target entity. E.g. in a userBone(), I currently can select the same user twice. This should be avoided by this bone, which either accepts the entry when it's currently not linked, or either replaced or rejects it when it's already there.


Allow set-and-delete flow that is usually used by acme-clients

This PR builds on the work of @jacobmyers-codeninja's PR #245 and fully implements set-and-delete flow.
This fixes issues such as https://github.com/dehydrated-io/dehydrated/issues/832

Coverage decreased (-4.2%) to 68.938% when pulling 5a16ea93e9bdd936358785a969bcb880e6c69537 on Yannik:set-delete-flow into 68bb6ab654b6fb1fe375e08807688c55621513a2 on joohoi:master.

I haven't yet deployed acme-dns, so maybe I'm missing something, but I don't see why more than two TXT records per account are necessary.  Just use a different acme-dns account for each subdomain.


[W6.5][W14-B2] Koo chin chye

[LO-JavaFX]
Added a circle icon and shifted the input text down

@koo1993
Some comments added. Please ack & close the PR after reading comments.


How do I see the showcase?

After I add all the widgets in my code, how do I see the showcase, like in the demo?

Hey, storybook is just a widget, so you can just run the app with storybook as a normal Flutter app.

@ookami-kb but I want to see the showcase, on the web, like this demo (https://ookami-kb.github.io/storybook_flutter/#/). do I need to create a web app also? what am I missing?

Yes, for that one, you need to enable web app.


(Build) Fail on dev branch.

This issue is created automatically by CI.
Linux Build State: failure
Windows Build State: success
Commit: 4a479d1ded02664f2efd62cb318bf0b064563906
Commit Branch: dev
Commit Author: innerviewer

Auto-closing as build in this branch is successful now. Commit: d51f9b5be774adf93d3096cdb824093eed135a68


[Dialog] add property to manage the overlay

I'm facing a situation now where I have to display multiple dialogs at the same time and doing it today will display multiple overlays, and that's not good. I'd like just to add a showOverlay property to the Dialog so if anyone needs to do something similar, we'll have a way to hide the 'second' overlay.
I know that the material design spec doesn`t suggest us to display multiple dialogs at the same time, but adding it wont generate problems to the component..

@oliviertassinari What do you think? Should this be automatically detected? (no overlay if there are dialogs open already) or this prop makes more sense?

where I have to display multiple dialogs at the same time

First of all, I think that it's against the material spec advices.

I'd like just to add a showOverlay property to the Dialog

That sounds fair.

@andrejunges I don't think adding that prop would hurt anyone, go ahead, we'll welcome any enhancements to customization PR :grin:

@andrejunges Is this issue resolved with your PR? can I close this? :grin:

yess, thanks :)

Thank you for the PR. it was needed :+1:


Add About Section

About section provides  clear and concise description of what the project is and also includes the project link .

Hey @aasthakourav20 can you describe how and where you will add it?

Updates @aasthakourav20

Updates @aasthakourav20

Hey I have raised a PR kindly check & review .

Hey @aasthakourav20. It's better to assign the issue and provide a brief before starting rather than opening a PR. Please remember for next time.

Hey @aasthakourav20. It's better to assign the issue and provide a brief before starting rather than opening a PR. Please remember for next time.

Sorry for the mistake , I will be more responsible  next time . But any issues with the current PR ? , if any then please tell me how can I help.

No worries @aasthakourav20. Will let you know once the design team goes through it.


Revert "[flutter_tools] migrate FlutterView to new vm_service"

Reverts flutter/flutter#55341
This broke the smoke_catalina_benchmark:
Missed one:
2020-04-27T14:23:19.195407: stderr:
2020-04-27T14:23:19.197966: stderr: Oops; flutter has exited unexpectedly: "Unsupported operation: Symbol("kill") is not currently supported".
2020-04-27T14:23:19.213748: stdout: [  +20 ms] executing: [/Users/flutter/.cocoon/flutter/] git -c log.showSignature=false log -n 1 --

TBR @zanderso @jmagman


Avoid reconfiguring unmentioned DPDK VFs

If a Virtual Function is configured with a DPDK driver (e.g. vfio-pci) and it is not referred by any SriovNetworkNodePolicy, NeedToUpdateSriov function must not trigger a  reconfiguration. This may happen if a PF is configured by multiple policies (via PF partitioning) and a policy is deleted by the user. In these cases, the VF is not reconfigured [1] and a drain loop is started
refs:
[1] https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/5f3c4e903f789aa177fe54686efd6c18576b7ab1/pkg/host/internal/sriov/sriov.go#L457

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 39.677%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/v1/helper.go
1
2
50.0%

Files with Coverage Reduction
New Missed Lines
%

controllers/drain_controller.go
3
67.1%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5177

Relevant Lines:
13048

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 39.707%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/v1/helper.go
1
2
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
5181

Relevant Lines:
13048

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 39.677%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/v1/helper.go
1
2
50.0%

Files with Coverage Reduction
New Missed Lines
%

controllers/drain_controller.go
3
67.1%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5177

Relevant Lines:
13048

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.001%) to 40.376%

Files with Coverage Reduction
New Missed Lines
%

api/v1/helper.go
1
72.26%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
5452

Relevant Lines:
13503

💛  - Coveralls


Add passes and dynamic SPI

Allow passes with different techniques.

[x] Add technique scheduler with setup for SPP and also when the technique will happen and how often. E.g., every second SPP iteration after 16 SPP.
[x] Check if we can set the samples per iteration at runtime without performance loss.
[ ] If possible, it would allow dynamic FPS control for the viewer.

Last task is dropped in favour of more adaptive approach in the future


SAK-41353: Add instructor's name to student view lists and details on assignments

Nested if are needed. Is everythink ok?

@ern Please, could you check again this PR? Thanks.

Hi, @ern ... we would want to have this functionality on 20 branch. If you see more changes to do we can update this later.

I have updated the PR. Please could you check again @ern, @SedueRey?. Thanks.

Hello,
As long as this is far beyond our users needs, and this PR was made months ago, we are going to close this PR and try another way to do this.
Thanks to the community for reviewing this.


Pilot - Error when distributing build to external group

New Issue Checklist

[ X ] Updated fastlane to the latest version ( 2.28.3 )
[ X ] I have read the Contribution Guidelines

Issue Description
I am using Jenkins/fastlane to automate my iOS build. My pilot action has been working but this week, I tried adding an external testing group.  I have been trying to resolve the fastfile issues as they pop up, but this last one has me stumped. I searched but could not find any answer.  Thanks in advance for your help.
I just added the groups option to my pilot action (after my last build failed with "You must specify at least one group using the :groups option to distribute externally").  From looking around, it appears the value needs to be an array, but I am not 100% certain on that.
It's possible that my groups value is just wrong, but I am not sure what it should be.  When I execute the lane, I get the following error:
uninitialized constant Pilot::BuildManager::Group
Here is my pilot action:
pilot(
  distribute_external: true,
  changelog: 'Blah blah blah',
  beta_app_description: 'Blah blah blah',
  beta_app_feedback_email<EMAIL_ADDRESS>  groups: ["MyExternalGroupNameAsSpecifiedIniTunesConnect"],
)

Here is the line in build_manager.rb that it is crapping out on (I think):
    groups = Group.filter_groups(app_id: uploaded_build.app_id) do |group|

Here is my stack trace:
/Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/pilot/lib/pilot/build_manager.rb:127:in distribute_build': [!] uninitialized constant Pilot::BuildManager::Group (NameError) 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/pilot/lib/pilot/build_manager.rb:57:in distribute'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/pilot/lib/pilot/build_manager.rb:40:in upload' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/actions/pilot.rb:15:in run'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:252:in block (2 levels) in execute_action' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/actions/actions_helper.rb:50:in execute_action'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:230:in block in execute_action' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:226:in chdir'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:226:in execute_action' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:148:in trigger_action_by_name'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/fast_file.rb:146:in method_missing' 	from Fastfile:203:in block (2 levels) in parsing_binding'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/lane.rb:33:in call' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/lane.rb:33:in call'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:49:in block in execute' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:45:in chdir'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/runner.rb:45:in execute' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/lane_manager.rb:52:in cruise_lane'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/command_line_handler.rb:30:in handle' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/commands_generator.rb:104:in block (2 levels) in run'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:178:in call' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:178:in call'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:153:in run' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/runner.rb:476:in run_active_command'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:40:in run!' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/delegates.rb:15:in run!'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/commands_generator.rb:303:in run' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/commands_generator.rb:42:in start'
from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/fastlane/lib/fastlane/cli_tools_distributor.rb:66:in take_off' 	from /Users/admin/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.28.3/bin/fastlane:20:in <top (required)>'
from /Users/admin/.fastlane/bin/bundle/bin/fastlane:22:in load' 	from /Users/admin/.fastlane/bin/bundle/bin/fastlane:22:in '
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[INSERT OUTPUT HERE]
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.2

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.2 (16C67)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.28.3
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.5

addressable
2.5.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.54.0

faraday
0.11.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.0.1

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.26

json
1.8.1

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.0

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.3

faraday_middleware
<IP_ADDRESS>

generated on: 2017-04-21

So what was the result of this? Is this the correct way to supply the :groups parameter?
groups: ["MyExternalGroupNameAsSpecifiedIniTunesConnect"]

@AndyDunn yes.  It would be nice if they updated the documentation to reflect that this should be an array.