Display time delta for infraction expiration

Abstract
In addition to showing the expiration datetime in infraction searches, display the time delta between the expiration and creation of the infraction.
This is optional, but it would also be useful knowing how much time is left until the infraction expires. I may create a separate issue for this, and if so, link it here. EDIT - #669
EDIT2 - I would also like to see this time delta in the bot message confirmation after an infraction has been given out.
Example:
:incoming_envelope: :ok_hand: applied mute to @lemon until 2019-12-01 21:20 (7 days; 42 infractions total).
That last thing though is not mandatory for this issue to be closed. But I think it would be nice, because you could confirm immediately whether your duration was parsed as you expected.
Specification
Current implementation:
Created: 2019-11-23 20:09
Expires: 2019-11-30 20:15

Suggested implementation:
Created: 2019-11-23 20:09
Expires: 2019-11-30 20:15 (7 days, 6 minutes)

The actual granularity of this can vary as durations get longer. For example, if a duration is longer than 30 days, we could put (1 month) rather than the exact amount of days. Same goes for years.
If the exact implementation of this doesn't warrant discussion, the one who implements this feature should use their best judgement on when to use the following units of time: (years, months, days, hours, minutes).
For fun, we could put (∞) next to permanent infractions.
Rationale
Confirming the infraction duration should take little effort. If the infraction spills over multiple months, days, or hours for example, it requires more than a second of thinking to determine if the duration is right.
Examples:
Created: 2019-11-23 20:58
Expires: 2019-11-23 21:03  <-- 5 minutes, not 1 hour

Created: 2019-11-23 23:59
Expires: 2019-11-24 00:00 <-- 1 minute, not 1 day or 1 hour

Motivation
I'm lazy.

This sounds interesting, I would like to work on this.
Should we make this a helper function to return the difference between any two given datetime objects in that format? That way we can choose where and when we apply this.

Here's a quick example of what I thought of:
TIME_MARKS = (
    (60, 'second'),  # 1 minute
    (60, 'minute'),  # 1 hour
    (24, 'hour'),  # 1 day
    (7, 'day'),  # 1 week
    (4, 'week'),  # 1 month
    (12, 'month'),  # 1 year
    (1, 'year')  # dumb the rest as year
)

def get_duration(date_from: datetime, date_to: datetime) -> str:
    div = abs(date_from - date_to).total_seconds()
    results = []
    for unit, name in TIME_MARKS:
        div, amount = divmod(div, unit)
        if amount > 0:
            results.append(f"{int(amount)} {name}{'s' if amount > 1 else ''}")
    return ', '.join(results[::-1][:2])

When ran against this
for a, b in (
    (datetime(2019, 12, 12, 0, 1), datetime(2019, 12, 12, 12, 0, 5)),
    (datetime(2019, 12, 12), datetime(2019, 12, 11, 23, 59)),
    (datetime(2019, 11, 23, 20, 9), datetime(2019, 11, 30, 20, 15)),
    (datetime(2019, 11, 23, 20, 58), datetime(2019, 11, 23, 21, 3)),
    (datetime(2019, 11, 23, 23, 59), datetime(2019, 11, 24, 0, 0)),
):
    print(a, b, '->', get_duration(a, b))

Will give these as results:
2019-12-12 00:01:00 2019-12-12 12:00:05 -> 11 hours, 59 minutes
2019-12-12 00:00:00 2019-12-11 23:59:00 -> 1 minute
2019-11-23 20:09:00 2019-11-30 20:15:00 -> 1 week, 6 minutes
2019-11-23 20:58:00 2019-11-23 21:03:00 -> 5 minutes
2019-11-23 23:59:00 2019-11-24 00:00:00 -> 1 minute

@ikuyarihS this looks promising, and I agree a helper function is the right direction to go in. Let me know if you have any questions along the way.
I've assigned you this issue, and deferred #669 until this issue is fleshed out by you. I look forward to reviewing your progress.

@fiskenslakt I have a question, where would you want to apply this to? Currently I will add it to the embed showing the Expiration ( Expires: date ( duration ) ) like in your example, but I found that there are more than one place with this information - The embed sent to user for example.
In that case, should I also show the user how long ( in human readable format ) their mute / ban will be for, not just when it will expire?


Status says "Playing..." even when playback has already finished

Expected behavior: Automatically toggle back to "Not recording or playing." after playback has ended

I attempted to approach this with a Task.Delay in the Play method. However, if playback was stopped partway through and restarted, the first playback would cause the second playback to end prematurely.

Copied from original requirements doc

The user may press the spacebar while not recording. The software plays back audio for the currently selected line, if there is any.
The user presses the spacebar while the line is already playing. The software stops playback and starts again from the beginning.

There was an accidental design change early on where spacebar became a toggle to stop playback, when it should have only been used to start playback. Going back to the original design may help with automatically updating the status bar without glitches.


[HUDI-1188] Hbase index MOR tables records not being deduplicated

What is the purpose of the pull request
After fetching hbase index for a record, Hudi performs validation that the commit timestamp stored in hbase for that record is a commit on the timeline. This makes any record that is stored to hbase index during a deltacommit considered an invalid index and treated as a new record. This causes the hbase index to be updated every time which leads to records being able to be in multiple partitions and even in different file groups within same partition.
Brief change log

Modify HbaseIndex.checkIfValidCommit to consider DELTA_COMMIT timestamp as valid index timestamp

Verify this pull request
This change added tests and can be verified as follows:

Verified test failed on MOR table before change and succeeding now
Manually verified by:

Uploaded patched JAR to EMR 5.30.1 cluster
Create MOR table w/ HBASE index
Upsert record
Upsert record with new partition
Validate new partition was not created and existing partition displayed update to record

@n3nash can you please review this. (we can land after the release branch is cut)


[Mac] Crash-Tester and Simple-Example fail to build citing kszombie*

Full message:
Undefined symbols for architecture x86_64:
  "_kszombie_className", referenced from:
      _kscrw_i_writeMemoryContents in libKSCrashLib.a(KSCrashReport.o)
      _kscrw_i_writeMemoryContentsIfNotable in libKSCrashLib.a(KSCrashReport.o)
  "_kszombie_lastDeallocedNSExceptionAddress", referenced from:
      _kscrw_i_writeProcessState in libKSCrashLib.a(KSCrashReport.o)
  "_kszombie_lastDeallocedNSExceptionName", referenced from:
      _kscrw_i_writeProcessState in libKSCrashLib.a(KSCrashReport.o)
  "_kszombie_lastDeallocedNSExceptionReason", referenced from:
      _kscrw_i_writeProcessState in libKSCrashLib.a(KSCrashReport.o)
  "_kszombie_setEnabled", referenced from:
      _kscrash_setCatchZombies in libKSCrashLib.a(KSCrashC.o)
ld: symbol(s) not found for architecture x86_64

I can also replicate this issue by linking against KSCrash in my own macOS application.

Should be fixed in the latest.

You’re right! Thank you! ⚡


update dasu_client.py

This change is

Coverage decreased (-0.1%) to 75.0% when pulling 4d2ec0fd7c10ddba767ed29e569f34881291df24 on ivanka12:upstream into b86a8118a4c9efd35d3019bb5bef6576265be32b on openprocurement:upstream.


[BUG] Incorrect handling of an empty string by the safe access operator

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
The safe access operator (?.) fails to recognize an empty string on the left side and return null (as it should according to the documentation), instead throwing an error.
Reproducing the issue
The way I encountered this issue was using a deflisten on playerctl output, which outputs a JSON string but produces an empty string when all players are shut down. Here's a minimal eww.yuck (for Wayland):
(deflisten playerctlstatus 'playerctl metadata -aFf \'{"status": "{{status}}"}\'')

(defwidget playerctl []
    (label :text {playerctlstatus?.status}))

(defwindow test
    :geometry (geometry
                  :width "100%"
                  :height "22px"
                  :anchor "bottom center")
    :exclusive true
    :stacking "fg"
    :monitor 0
    (playerctl))

When there is an active player, the label correctly contains its state. However, when the player shuts down, playerctl outputs "" and the logs show an error:
error: Failed to turn `` into a value of type json-value
  ┌─ /home/mex/.config/eww/test-bug/eww.yuck:4:19
  │
4 │     (label :text {playerctlstatus?.status}))
  │                   ───────────────

Expected behaviour
Either

The operator returning a null with an empty string on the left, or
The documentation explicitly stating that the operator only works with a null on the left side and not an empty string.

Additional context
No response

will be closed by #1176
note that the docs don't lie, they are just misleading.
currently, the empty string is not supported, a string consisting of 2 " (also referred to as an empty json string) is.
this behavior will be removed by #1176, that pr currently makes indexing "" an error, and adds support for the empty string.


Update sprite.js

missing semicolon fix

Thanks for this. Can you sign the contributor agreement here so we can merge please:
https://github.com/playcanvas/engine/blob/a93c7cabd32438395228459cef82ed2ac3fe0e8c/CONTRIB.md

done

Thanks!


[NameLookup, ASTScope] Create lazily-parsed function body scopes.

Fixes ASTScope lookup for lazily-parsed function bodies in non-primary files.
Adds a test.
Addresses rdar://56384593
Also includes better debugging printing in a separate commit.
Suggest reviewing each commit separately.

@swift-ci please smoke test

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform

This has subtle UB, that I'm still trying to isolate.  The isNotAfter does not provide a strict weak ordering, which makes it an invalid comparator.

rdar://56540917


Provide ChannelHandler that closes Channel on unhandled error.

As we change #600, many users will start leaking Channels because they don't close on error. We should provide a ChannelHandler that closes on unhandled error that is typically added last to the pipeline.

see also:

https://github.com/grpc/grpc-swift/issues/381
https://github.com/pointfreeco/swift-web/issues/182
https://github.com/NozeIO/MicroExpress/issues/8
https://github.com/objcio/swift-talk-backend/issues/103
https://github.com/PerfectlySoft/Perfect-NIO/issues/6
https://github.com/vapor/http/issues/334
https://github.com/amzn/smoke-framework/issues/19
https://github.com/IBM-Swift/Kitura-NIO/issues/173

I think this tickets have very similar:
https://github.com/apple/swift-nio/issues/841


feat(cheerio): expose transformRequestFunction as hidden input

Feel free to throw this away. I need it now for the AI customer

I would not merge it as it is since combining it with the default behavior is hard

Maybe we should add this to all the scrapers?


clipboard_manager_copy does not work @ ST Console

I've replaced my default copy & paste hotkeys with ClipboardManager.  For the most part, it works great.  However, If I attempt to copy text from the console panel; the copy function no longer works.

Yeah I don't know why that doesn't work - you can right click to copy text from the console.  I tried to debug this, but couldn't figure it out.


Updated zippers that support @@girders-elements/children

Changes Unknown when pulling 6085427b0ae5a810fbbd9a2229bc1649192c89e9 on features/ge-children-support-in-zippers into ** on master**.


Add generators

Add Help class to generate help text
Add compatibilities for make my glap

There's still work to do on this branch, but before merging this, I want to update glap API


Print file directly

how to print a pdf file directly to default printer without showing print dialog or option like kiosk

@redaxol
You can do most custom tasks in the Controllers for C# and for JavaScript in html or js files  but actual pdf printing itself is not supported. You need to look into other projects for that.

Is that there are lightweight alternatives of Chromely in .net that support this feature ?

@redaxol

Is that there are lightweight alternatives of Chromely in .net that support this feature ?

My statement was a bit misleading. I just updated that.
This is what I meant:  https://github.com/chromelyapps/Chromely/issues/303.
So what you intend to do will will be done in this method:
       class PrintToPdfCallback : CefPdfPrintCallback
        {
            protected override void OnPdfPrintFinished(string path, bool ok)
            {
                if (ok)
                {
                    // Do the printer work here.
                    // Or other tasks.
                }
            }

            public void Dispose()
            {
            }
        }

We can look into feature exposing printing to PDF.


Revert "feat(TDI-40669): whitelist sql queries in cloud"

Reverts Talend/components#1317

Pull request test result: failure :x:


Conflicts with drupal Adminer module

Drupal Adminer module uses iFrame.
Possible nginx's vhost-proxy sends 'X-Frame-Options' header to deny display content of iframe.
Refused to display 'http://test.drude/admin/config/development/adminer/callback?username=&db=drupal' in a frame because it set 'X-Frame-Options' to 'deny'.

@beeblook drude's vhost-proxy does not set X-Frame-Options (on purpose). I'm also not seeing it on my end in the Response headers - http://take.ms/VEf03
Where exactly do you get it?

Sorry, my bad. You're right, this issue isn't connected with drude.
I rechecked, the problem is between module and latest adminer script.


Remove fiddler

https://news.ycombinator.com/item?id=15791781

https://github.com/chocolatey/chocolatey-coreteampackages/issues/923

Telerik reached out and is asking that the Fiddler package be removed as it is giving direct access to a download location they no longer show on the site.

As upstream is asking downstreams to remove packages, we may as well just remove it now and save any hassle.


Paste widget doesn't go away after selection

Testing #234962

Paste content into Copilot chat
Paste widget -> paste as code attachment
🐛 Paste widget doesn't go away after selection ^

https://github.com/user-attachments/assets/8ce4754b-5051-4eba-b1a7-cfe6916909f5

cc. @mjbvz I believe this is intentional? if you open it and select 'Insert Plain Text`, it will remove the code attachment. maybe we can change this tho

Yes this is expected. The paste widget sticks around until the cursor moves or you type. This lets you change how the paste is applied even after selecting an option in the list


[$500] Chat- Tapping header on new group, "members" section is updated to "share code"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.29
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4211281
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Launch app
Tap fab--- Start chat
Select few users and tap "add to group"
Tap header

Expected Result:
Members section should not be displayed and should show "share code" instead
Actual Result:
The "members" section is shown for a second and then replaced with "share code" section.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/9a8a397a-4110-4cfc-a5eb-2ce4229737b0
https://github.com/Expensify/App/assets/78819774/a9d34f4f-07f4-4945-bb4b-816195a7fdd3
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d9e33b8b7fdb77be
Upwork Job ID:<PHONE_NUMBER>423840768
Last Price Increase: 2024-01-22

This is a BE issue: when opening a new group report, we optimistically set the correct report.visibleChatMemberAccountIDs value, but the OpenReport API response resets it to an empty list:

However, on the page reload, the second OpenReport API call returns correct list of account IDs here.
So we need to fix on the BE the value returned for report.visibleChatMemberAccountIDs when opening a new group report.

You are correct, the backend should send this property on OpenReport

From the video posted by the QA and reproducing the issue. I can see that the data is correct for just few seconds then it change to an empty array for visibleChatMemberAccountIDs.
I think some part of the code is changing the value of visibleChatMemberAccountIDs in Onyx.

No, the correct data you see is the optimistic data, which is set correctly. After a while, it gets replaced by the data from server API response, which should be fixed on the BE.

then why if you refresh the page(or login/logout), you get right data!

if you refresh the page(or login/logout), you get right data!

I've explained it above:

However, on the page reload, the second OpenReport API call returns correct list of account IDs here.

These are different API calls, and they return different data

WAiting for an internal engineer to pick up

Needs internal fix

Still reproducible on v1.4.36-0

Still waiting for internal engineer to pick up

Still waiting for internal eng to pick up

I'll look into this.

I discussed with @marcaaron @srikarparsi and @rlinoz and the general consensus was to close this issue as won't fix because the code is being refactored to not have these different variables (everything will be in participants) and the value of fixing this bug now is quite low without a very good solution.

The GH for refactoring the participants is here: https://github.com/Expensify/Expensify/issues/341000


IE11 - "Object doesn't support property or method 'repeat'"

IE11 (at least for me), does not support the new ECMAScript 2015's "repeat" method. To fix this, I included Mozilla's poly-fill. Now everything's peachy.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat#Polyfill

Hi. I am getting this exact error in IE while it is working fine in Chrome and Firefox. Safari appears to have the same error too. Sorry to ask what is probably a basic question but how do I implement the fix above? Any help is greatly appreciated.

Copy the poly-fill code in the link I referenced and paste it in to a JS file that is referenced in your HTML. It could be the same JS file you write code for the canvas gauges in or a new file called poly-fill.js (as an example)

Can someone add the polyfill function (for String.repeat),
to file: lib/polyfill.js ?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat#Polyfill


As a user, I can obtain a list of existing tags

... so that I can know what tags I have used and use the correct one when I am adding a new person.

As a user who depends heavily on tags to classify contacts


Rework the CPU throttling variables and setup UI management

Reworked the CPU throttling to store the TCC offset directly. It allows to get around the nosubmitifs and set the fixed allowed range, which drastically simplifies the code and has better UX than some error pop-ups.
The current temperature threshold is still displayed as a grayed out numeric field.
Also fixed a couple of bugs:

Default value not restored properly.
Default value not passed from coreboot.
CPU maximum temperature not passed from coreboot (fixed on coreboot side).
Excessive use of variables for maximum and minimum temperature.

Looks good, thanks


Normalize exports

Make all the files have a single module.exports call at the end of the file.
I added a missing "use strict"; and removed a few unused functions from utils at the same time.

Nice!


Can't Submit Transcription.

Hello, I was editing the 'SNICKER' transcription and wanted to submit my changes, but it doesn't seem to be working. Screnshot Below:

The sreenshot of the error that shows up when submitting the transcript:

Let me know if you'd like the edited transcript submitted, using a different method to submit it.

Just a heads up, the transcript is now considered 'EXPIRED'

Since it's expired, I can't submit it anymore. Let me know if I can do anything help :) thanks.

I'm too facing this issue now.
Unable to make the first commit.

Sorry for the late response. We're doing a major refactor which we beleive may fix this issue. Please hang in there for a bit. We'll let you know when its deployed.
Sorry for the inconvenience and thanks for your patience.

We have successfully fixed the issue as part of our recent updates.
You should now be able to submit transcripts without any further inconvenience. We appreciate your patience and understanding while we addressed this matter.
We would be delighted to see you back on the platform. If you encounter any further issues or have any feedback, please don't hesitate to reach out to us. Your input is invaluable in helping us improve the platform. If you haven't already, I encourage you to join our Discord server. It's a great place to connect with fellow contributors, ask questions, share insights, and stay updated on new transcripts available for review.
Thank you once again for your understanding and support.


Minor changes and corrections

Minor changes and corrections

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

Hi @andres-canello
PMs and content developers should work in the private repository as described in Should I work in a private or a public repo? The private repo is at https://github.com/MicrosoftDocs/azure-docs-p*.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
In the private repos, your content gets the benefit of quality validation, and you can verify it on staging before publishing. Some PRs that have fewer updates might qualify for auto-merge.
(If you want a member of the content team to review your updates in the private repo before merging, you can request a review or at-mention them in a comment before you sign off. See GitHub for content reviews.)
We can keep this PR here in the public repo for review, but would you create future pull requests in the private repo? Thank you!

Hi Kristine, absolutely. Will take a look at how all this works. I’ve been taking the easiest path until now…
Thanks,
Andres
From: Kristine Toliver<EMAIL_ADDRESS>Sent: Friday, 27 March 2020 2:40 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Andres Canello<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Minor changes and corrections (#50977)
Hi @andres-canellohttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fandres-canello&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935780257&sdata=D4p2pBhUkRuVHVbz6t1rRJxiN%2B%2FF%2B4%2FiEP8l%2FI4i1go%3D&reserved=0
PMs and content developers should work in the private repository as described in Should I work in a private or a public repo?https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-authors-in-public-repo%3Fbranch%3Dmaster&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935780257&sdata=V1bGfwsI0F2pTz3Oyo%2FB5h6LOXJ0MMvNQKXYYQZq%2BWY%3D&reserved=0 The private repo is at https://github.com/MicrosoftDocs/azure-docs-phttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs-p&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935790247&sdata=%2BmKPLdhM1F2naLvRrrfHEAo2ySaJXhyVKppRghu0pHA%3D&reserved=0.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentationhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-get-started-setup-local%3Fbranch%3Dmaster&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935790247&sdata=Sc1u%2F2Mc9hqzkvbbGrzsSoM%2F5p5K7GP25TzhA2RFxzs%3D&reserved=0.
In the private repos, your content gets the benefit of quality validation, and you can verify it on staging before publishing. Some PRs that have fewer updates might qualify for auto-merge.
(If you want a member of the content team to review your updates in the private repo before merging, you can request a review or at-mention them in a comment before you sign off. See GitHub for content reviewshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-how-to-write-pull-request-reviews%3Fbranch%3Dmaster&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935800240&sdata=Yar4rs73n5Sgf7EUX8niz%2BJX6qz0K7ZAHLOxJPOFKVw%3D&reserved=0.)
We can keep this PR here in the public repo for review, but would you create future pull requests in the private repo? Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F50977%23issuecomment-604536996&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935800240&sdata=1Oc46YAi7bUcLo2%2FkLskpzRku9qOlsRvWDhynKZPPmc%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJMBY6WTGVISXIHRNPHFHJLRJOANNANCNFSM4LT6V5IA&data=02|01|andres.canello%40microsoft.com|a64e70b298b745e6b56e08d7d1a44e1c|72f988bf86f141af91ab2d7cd011db47|1|0|637208375935810231&sdata=utQTDwB9ogRqsp%2BPb%2Fa25AAg0ga1N%2FbGRj4xh7lFj1I%3D&reserved=0.

Hi Andres, sounds goods! Thanks for letting us know.
Kristine
PR Review Team
AQUENT at Microsoft | Content + Learning
Cloud + AI Developer Relations
Editorial service for technical contenthttps://review.docs.microsoft.com/help/contribute/contribute-apex-editorial-service?branch=master
From: Andres Canello<EMAIL_ADDRESS>Sent: Thursday, March 26, 2020 8:44 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Kristine Toliver (Aquent LLC<EMAIL_ADDRESS>Subject: RE: [MicrosoftDocs/azure-docs] Minor changes and corrections (#50977)
Hi Kristine, absolutely. Will take a look at how all this works. I've been taking the easiest path until now...
Thanks,
Andres
From: Kristine Toliver <notifications<EMAIL_ADDRESS>Sent: Friday, 27 March 2020 2:40 AM
To: MicrosoftDocs/azure-docs <azure-docs<EMAIL_ADDRESS>Cc: Andres Canello <Andres.Canello<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Minor changes and corrections (#50977)
Hi @andres-canellohttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fandres-canello&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442695738&sdata=ivFRN7tRbDUPtW5gyGxeP1AObfN0mByAYQqpuRIC0Ww%3D&reserved=0
PMs and content developers should work in the private repository as described in Should I work in a private or a public repo?https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-authors-in-public-repo%3Fbranch%3Dmaster&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442695738&sdata=BD9IA7Yz%2BrCtmqoXMG9xHFmZDTSYoqoM4THZy%2BJYvuY%3D&reserved=0 The private repo is at https://github.com/MicrosoftDocs/azure-docs-phttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs-p&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442705695&sdata=1Sfpay1Kc6%2BGpNccjV6gLJAi2vP6eaL1dvL93WLiMbk%3D&reserved=0.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentationhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-get-started-setup-local%3Fbranch%3Dmaster&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442705695&sdata=FAGJ6LTV%2F%2Fe38H9zZKC4ZlDpjw%2FosYQomTSDzHYCqaE%3D&reserved=0.
In the private repos, your content gets the benefit of quality validation, and you can verify it on staging before publishing. Some PRs that have fewer updates might qualify for auto-merge.
(If you want a member of the content team to review your updates in the private repo before merging, you can request a review or at-mention them in a comment before you sign off. See GitHub for content reviewshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fhelp%2Fcontribute%2Fcontribute-how-to-write-pull-request-reviews%3Fbranch%3Dmaster&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442715641&sdata=157SVmwgR2nwetyD%2B7RyEdatyL89ZLVLKAKd%2FV7C4uk%3D&reserved=0.)
We can keep this PR here in the public repo for review, but would you create future pull requests in the private repo? Thank you!

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F50977%23issuecomment-604536996&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442715641&sdata=zezyJPKXKlHhWI4gJ3mOQGrECm0QUczaCM0q1IFx6Bw%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJMBY6WTGVISXIHRNPHFHJLRJOANNANCNFSM4LT6V5IA&data=02|01|v-krmaxw%40microsoft.com|c6afa77f32fe4953ab8b08d7d2011575|72f988bf86f141af91ab2d7cd011db47|1|0|637208774442725598&sdata=gun3mjZu2TTCaZdwnsdwXV1UjRMAFIDIbwhZip3srII%3D&reserved=0.

#signoff


Model ID is not consistent for LLMs

@destefy shall we mark this issue as closed? You can add some description on why we thought this was an issue in this ticket and close it.

Resolved:
There were two source of non-determinism which made the hash/model_id inconsistent.

Hidet's Var expression class had a field "id", which was used for debugging. This id would differ given identical models/GraphModules/interpreters. To fix this, I created an option in hidet that by default will set this id to 0.
Secondly, the LLM model I was using to test RobertaForSequenceClassification had uninitialized weights since the model it was grabbing the weights from (RobertaForPreTraining) was missing those weights. This mean it would initialize those weights randomly, leading to a different hash for each time I would create the model. However, since this is non-determinism on the part of the model. The torch.fx.GraphModule, Interpreter, FlowGraph and hash remain consistent given the same model. No changes were needed to address this.


Release v0.4.3 needs a new release of ublox_derive

Currently, trying to use ublox = "0.4.3" from crates.io fails with errors like:
error: Not supported type, expect one of "u8, i8, u16, i16, u32, i32"
    --> C:\Users\matth\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ublox-0.4.3\src\ubx_packets\packets.rs:1709:15
     |
1709 |     cfg_data: &'a [CfgVal],
     |
error: expected one of: `map_type`, `scale`, `alias`, `may_fail`, `from`, `is_valid`, `get_as_ref`, `into`
    --> C:\Users\matth\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ublox-0.4.3\src\ubx_packets\packets.rs:3069:9
     |
3069 |         size_fn = data_len,
     |
error[E0412]: cannot find type `EsfMeas` in this scope
    --> C:\Users\matth\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ublox-0.4.3\src\ubx_packets\packets.rs:3082:6
     |
3082 | impl EsfMeas {
     |      ^^^^^^^ not found in this scope
     |
help: there is an enum variant `crate::PacketRef::EsfMeas`; try using the variant's enum
     |
3082 | impl crate::PacketRef {
     |

This is because v0.4.3 requires the changes which have been made to ublox_derive since its v0.0.4 release. Overriding the ublox_derive dependency to use the new code fixes the errors, e.g.
[patch.crates-io]
ublox_derive = { git =<EMAIL_ADDRESS>tag = "ublox-v0.4.3" }

I also noticed that the ublox_derive-v0.0.4 tag points to the same commit as ublox-v0.4.3, rather than its release commit which I think is the tag v0.4.0.
One other minor thing I noticed is that 0.4.3 on crates.io includes the changes from #67 which is after the ublox-v0.4.3 tag, so the ublox-v0.4.3 tag could be changed to 8f3e5e2. I checked this by using cargo vendor and diff against a git checkout.
I see that this crate was moved to an org recently. I'd be happy to help out maintaining this crate if you need an extra set of hands!

I think your finding is great stuff! If not mistaken, this is related to why publishing currently fails , as per this draft PR https://github.com/ublox-rs/ublox/pull/66 .
I think @gwbres is currently the maintainer. It would be nice if he could add you to the org.

Hello @mattico
I'm happy to add you to the repo, but I have no means to add you to the organization.
I'll see if I can publish a new derive release soon


End to end encryption

Codecov Report
Base: 100.00% // Head: 60.86% // Decreases project coverage by -39.13% :warning:

Coverage data is based on head (2c8ed1a) compared to base (f131811).
Patch coverage: 36.36% of modified lines in pull request are covered.

:exclamation: Current head 2c8ed1a differs from pull request most recent head f406506. Consider uploading reports for the commit f406506 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##              main      #82       +/-   ##
============================================
- Coverage   100.00%   60.86%   -39.14%
============================================
  Files            1        1
  Lines           15       23        +8
============================================
- Hits            15       14        -1
- Misses           0        9        +9

Impacted Files
Coverage Δ

src/common.ts
60.86% <36.36%> (-39.14%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


feat: added OSCR to avatar hover card

Description
Adds OSCR to avatar hover cards and now if you're logged out/guest, OSCR will be blurred. This required reworking some of the contributor grid and associated components.
Related Tickets & Documents
Closes #3802
Mobile & Desktop Screenshots/Recordings

https://github.com/user-attachments/assets/dcd82893-d39d-4970-bd4f-ad6f23e04c39
Steps to QA

Tier (staff will fill in)

[ ] Tier 1
[ ] Tier 2
[x] Tier 3
[ ] Tier 4

[optional] What gif best describes this PR or how it makes you feel?

Overall, this looks great: I'm wondering if there's an opportunity for a call to action on the blurred out numbers.
On Crunchbase, everywhere there's something blurred out, it's replaced with a link and an immediate tool tip that encourages you to click and get access. We should think about something similar (albeit, abit less annoying)

Suggestion:

Make blurred pills links to signup
Add immediate tooltip with copy for "Access OSCR for free"

Yeah, we could totally add a CTA to log in. Great idea.

Overall, this looks great: I'm wondering if there's an opportunity for a call to action on the blurred out numbers.
On Crunchbase, everywhere there's something blurred out, it's replaced with a link and an immediate tool tip that encourages you to click and get access. We should think about something similar (albeit, abit less annoying)

Suggestion:

Make blurred pills links to signup
Add immediate tooltip with copy for "Access OSCR for free"

Yeah, we could totally add a CTA to log in. Great idea. I'll probably do a small follow up PR for this as you can't add JSX to a tooltip for content, but I think making the blurred OSCR a button is probably the way to go.

@jpmcb, see #3810


Use GoogleTest back-end for unit tests running on host

Rationale
Now, in case of debugging failure, it will be possible to run a single test case from a group, e.g.:
./out/linux-x64-tests/tests/TestRead --gtest_filter=TestRead.TestResubscribeAttributeTimeout

Testing
CI will verify

This PR requires pigweed changes: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/243133


RST-1773 Updating text on NI number page to help users

There is no clear guidance on the digital channel for citizens who don't have a NI number. This statement directs them to complete a paper form, which is correct and agreed process.

Looks good Petr, thanks for update the page object.


Semantic release: rate limited

Description

Those releases ended up in a rate-limiting error for Traefiker bot.
Rate limits on the bot impact the whole org, we should be careful there.
Investigation regarding how many calls are launched by semantic release would help.

Some investigation:
-https://github.com/semantic-release/github/issues/98

https://github.com/semantic-release/github/pull/42

Closing as investigations showed it was an unlucky event unrelated to semantic release.


Rename Context?

One design choice that I made in mini-effection was renaming Context to Task. This aligns with Rust's async/await, with the CLR task class, and with ember-concurrency (somewhat).
I personally don't find Context to be a very intuitive name for the concept that it represents.
Maybe contrasting this with the usage of Context in GraphQL makes sense, here a context object is an object that represents some type of environment, a bundle of data that the query can access. This feels in line with what I would expect a context to be. But currently a context represents a sequence of asynchronous operations (e.g. it can be halted).
In other words, I would expect Context to define the set of memory/storage associated with a sequence of operations, not the sequence itself.
I think ExecutionContext is somewhat better, but it's both wordy and awkward, and still suffers a little bit from the same issues. Task is short and snappy, yet fits well for the intended purpose.

@jnicklas I first came across async await in .NET and I was actually thought Context was an environment and not a .NET like Task<T> so I am definitely in favour of. the name change.

Effection's Context might be closer to React's context in concept, but I find that proximity confusing. In general, I find the use of Context in programming to be confusing. It's like Data - it's so broad that anything qualifies which leads not knowing what it actually is.
@jnicklas can you use "task" in a sentence to show an example of what explaining Effection using task would be like?

I actually was thinking an Operation<T> was analogous to a Task<T> in .NET land.

@dagda1 it's somewhere in between, I think. Since .Net async functions immediately start executing when invoked, what is returned from the async function is actually an object representing the currently running thread of execution. This is in contrast to e.g. Rust, where Future does nothing until it starts to be polled by a Task, which is more similar to what we are doing in Effection. I don't think .Net separates these two concepts very clearly, but i might help to think of our concept of Operation as akin to an async function type in .Net, whereas Task/Context is what such a function returns.
@taras maybe something like:

A Task is responsible for running an operation to completion, as well as managing the lifecycle of the operation and of any spawned sub-tasks.

@taras it might help to take a look at the Task class in mini-effection, I think it is easier to understand its purpose since it does not mix in any of the responsibilities of the operation.

It sounds like in mini-effection, it's tasks and subtasks as an alternative to operations and their context. Task/sub-task is more clear and simple.

I share the dislike for Contextas being  too abstract and empty a term, but I think my biggest sticking point is that Task implies something running, which they often are, especially in a server side application, but at the same they can be a static tree of things that do little more than accumulate and manage state.
The other unresolved issue for me is what do we call the higher order ember-concurrency supervisor-like thing that we build on top of Context-y/Task-y thing that manages a set of running operations in a structured way with attributes like maxConcurrency, dropLatest, dropFirst ? I think having an idea of what that would be named would also provide good context for naming this thing.


Cannot get balena dash fullscreen on 4K TV

Hi, I am trying to use balena dash on a Raspberry Pi 4 4GB to display a webpage. The Pi is connected to the TV (LG 55CX) via HDMI and no matter what I try I cannot get the kiosk to use the whole screen, it is always letterboxed. If I test on 1080p TV it works fine.
I have tested the webpage on other devices including another Pi 4 running standard Raspberry Pi OS and it works perfectly. Even on my laptop in Chrome development console switching between 1920x1080 and 3840x2160 I can see it working fine.
However balena will not go full screen. Even the splash logo is letterboxed. The TV says it is receiving 2160p30 signal from Pi which I expect and when I run tvservice -s it reports 3840x2160 30Hz" which I also expect.
No combination of setting WINDOW_SIZE or WINDOW_POSITION in device variables can fix this. It simply doesn't work.
I can't be the only person using a Balena Dash on a Pi 4 with a 4K TV???
Anyone have solution, would be appreciated.
Thanks

state 0xa [HDMI CEA (95) RGB lim 16:9], 3840x2160 @ 30.00Hz, progressive```

Also trying to solve this.. watching

I can tell that it works with the Generic x86 image on a standard pc with HDMI out. But I cannot for the love of god force it to work on Raspberry pi 4.

I've given up on balena-dash now, it seems totally broken on Raspberry Pi.
I followed this instead: https://pimylifeup.com/raspberry-pi-kiosk/

This appears to work for me.
Manually defining the custom CVT mode for the HDMI.
Hardware: TCL 4-Series (3840x2160; 30fps)

Define a custom CVT mode for the HDMI: 3840 2160 30 0 0 0 0

I'm experiencing the exact same issue on a Samsung QM55R monitor. The tvservice sees a 4K monitor
$ tvservice -s
state 0xa [HDMI CEA (95) RGB lim 16:9], 3840x2160 @ 30.00Hz, progressive

which by my calculations is a 16:9 resolution, while X11 seems to prefer a 16:10 aspect ratio
$ cat /sys/class/graphics/fb0/modes
U:1920x1280p-0

Cable has been verified to be a HDMI 2.0 cable.
Defining a custom CVT mode at 3840 2160 30 0 0 0 0 makes no difference either.

Never mind. Upgraded balenaOS to version 2.94.4 which seem to have solved the issue completely.


Fix buildModuleUrl.setBaseUrl and .getCesiumBaseUrl in JSDoc/TypeScript

Issue 8922 8924
Description
If we use TypeScript, we will encounter the following problems.
import { buildModuleUrl } from 'cesium'

buildModuleUrl.setBaseUrl('./static/Cesium/')
buildModuleUrl.getCesiumBaseUrl()

PROBLEMS:
Property 'setBaseUrl' does not exist on type '(relativeUrl: string) => string'.
Property 'getCesiumBaseUrl' does not exist on type '(relativeUrl: string) => string'.

Why?
Source/Core/buildModuleUrl.js
/**
 * Given a relative URL under the Cesium base URL, returns an absolute URL.
 * @function
 *
 * ...
 */
function buildModuleUrl(relativeUrl) {
  ...
}

/**
 * Sets the base URL for resolving modules.
 * @param {String} value The new base URL.
 */
buildModuleUrl.setBaseUrl = function (value) {
  ...
};

/**
 * Gets the base URL for resolving modules.
 */
buildModuleUrl.getCesiumBaseUrl = getCesiumBaseUrl;

We can see that:

buildModuleUrl is a function
buildModuleUrl also is a namespace

When we execute the command build-ts, this is very confusing for JSDoc.
Cesium.d.ts
/**
 * Given a relative URL under the Cesium base URL, returns an absolute URL.
 * @example
 * ...
 */
export function buildModuleUrl(relativeUrl: string): string;

We can see that buildModuleUrl.setBaseUrl and buildModuleUrl.getCesiumBaseUrl is not exported.

Wrong solution
I have tried but failed.
+ /** @namespace buildModuleUrl */

 /**
  * @function
  */
 function buildModuleUrl(relativeUrl) {
   ...
 }

 /**
+ * @memberof buildModuleUrl
  * ...
  */
 buildModuleUrl.setBaseUrl = function (value) {
   ...
 };

 /**
+ * @memberof buildModuleUrl
  * ...
  */
 buildModuleUrl.getCesiumBaseUrl = getCesiumBaseUrl;

yarn run build-ts
Cesium.d.ts
export namespace buildModuleUrl {
    /**
     * ...
     */
    function setBaseUrl(value: string): void;
    /**
     * ...
     */
    function getCesiumBaseUrl(): Resource;
}

This time buildModuleUrl.setBaseUrl and buildModuleUrl.getCesiumBaseUrl is exported.
But export function buildModuleUrl has disappeared.

Emm.... I'm tired, destroy it.

The right solution
After unremitting efforts, I finally found a solution.
https://groups.google.com/g/jsdoc-users/c/1Md5S8j2ZI4

We use buildModuleUrl to represent the function
We use buildModuleUrl(1) to represent the namespace

Source/Core/buildModuleUrl.js
  /**
   * Given a relative URL under the Cesium base URL, returns an absolute URL.
+  * @function buildModuleUrl
   *
   * ...
   */
  function buildModuleUrl(relativeUrl) {
    ...
  }

+ /** @namespace buildModuleUrl(1) */

  /**
+  * @function setBaseUrl
+  * @memberof buildModuleUrl(1)
   * ...
   */
  buildModuleUrl.setBaseUrl = function (value) {
    ...
  };

  /**
+  * @function getCesiumBaseUrl
+  * @memberof buildModuleUrl(1)
   * ...
   */
  buildModuleUrl.getCesiumBaseUrl = getCesiumBaseUrl;

yarn run build-ts
Wow...
/**
 * Given a relative URL under the Cesium base URL, returns an absolute URL.
 * @example
 * var viewer = new Cesium.Viewer("cesiumContainer", {
 *   imageryProvider: new Cesium.TileMapServiceImageryProvider({
 *   url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),
 *   }),
 *   baseLayerPicker: false,
 * });
 * @param relativeUrl - The relative path.
 * @returns The absolutely URL representation of the provided path.
 */
export function buildModuleUrl(relativeUrl: string): string;

export namespace buildModuleUrl {
    /**
     * Sets the base URL for resolving modules.
     * @param value - The new base URL.
     * @returns void
     */
    function setBaseUrl(value: string): void;
    /**
     * Gets the base URL for resolving modules.
     * @returns The base URL for resolving modules.
     */
    function getCesiumBaseUrl(): Resource;
}

Perfect !!!

Thanks for the pull request @puxiao!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Thanks again for your contribution @puxiao!
No one has commented on this pull request in 90 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 90 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

@ebogo1
Please code review this pr.

Thanks @puxiao! Unfortunately, this does not work correctly with the generated documentation (npm run generateDocumentation ). I see two buildModuleUrl entries and see the (1).

In other modules, we use @memberof without defining a namespace or using an explicit name for @function. Does that work in your case?

I've tried to use @memberof and @function, but it doesn't solve the problem.

Wrong solution
I have tried but failed.

/** @namespace buildModuleUrl */

/**

@function
*/
function buildModuleUrl(relativeUrl) {
...
}

/**

@memberof buildModuleUrl
...
*/
buildModuleUrl.setBaseUrl = function (value) {
...
};

/**

@memberof buildModuleUrl
...
*/
buildModuleUrl.getCesiumBaseUrl = getCesiumBaseUrl;
yarn run build-ts

Cesium.d.ts
export namespace buildModuleUrl {
/**
* ...
/
function setBaseUrl(value: string): void;
/*
* ...
*/
function getCesiumBaseUrl(): Resource;
}
This time buildModuleUrl.setBaseUrl and buildModuleUrl.getCesiumBaseUrl is exported.
But export function buildModuleUrl has disappeared.

Thanks for taking a look @puxiao. Unfortunately, since this change breaks existing documentation, I don't think we can take it as is. Also, while this function is technically public, I don't believe we recommend it for use in your apps. What is the use case for using this function?

Okay, I know.
Thanks.


Deal with inexistent ID on context

Decide how to deal with update/delete by id when there is not record with that ID.

[ ] Return error
[ ] Return nil
[ ] Let it crash

I think we should follow the Ecto standards: bang functions like update! will crash and update returns an error {:error, changeset}

The format of the error returned is a good question.

Repo.update returns https://hexdocs.pm/ecto/Ecto.StaleEntryError.html when the changeset contains an ID that is not in the DB, but I wouldn't expect a function without bang to raise. I was thinking we could return something like {:error, :not_found}?

It now returns a changeset error, following Repo.insert pattern when :stale_error_field is provided


[Do Not Merge] Check if dependabot works

This PR should trigger Dependabot alert, as logback 1.2.3 introduces a vulnerability.

Introduced snyk instead (PR with a badge and passed action).


Default File Icon for AL language

At the moment there is no default icon for AL language which is used to develop extensions for Microsoft Dynamics 365 Business Central.

We use the Seti-UI theme as-is. Please file a request against https://github.com/jesseweed/seti-ui


Slider Tab - not working correclty

Describe the bug
Bug 1:
Tabs are shown in two rows. (should be visible in just one row, otherwise the < > left and right buttons would not make much sense.
Bug 2:
When using two times the slider-tab in one View then both slider tabs will not work work correctly. There are missing Views. Which means... you can click on one tab but nothin is beeing displayed in the tab.
If I remove the second slider-tab and use just one.. and then it works again.
To Reproduce
Just add the "slider-tab" widget to the VIS.
Expected behavior
One row only should be visible.
Two slider-tab widget should work at the same time.
Screenshots & Logfiles
Video:
https://www.youtube.com/watch?v=CH84W-vqZnU

Versions:

Adapter version: vis v1.4.16
JS-Controller version: 5.0.12
Node version: 18.18.0
Operating system: Debian 11

Additional context

Both bugs are corrected in vis-2

I just tried to use VIS2.
When moving the browser-windows... VIS2 does not show up ANYTHING. After loading... it shows something... and then.. WHITE SCREEN.
Maybe it's because I don't have a valid license yet.
But iam still unsure what it means to convert from VIS1 to VIS2 without going back ever. And there is no help or info shown there about what this means. Will me VIS2 never work then?
However, my VIS1 made progress over the last 5 years and redoing everything is VIS2 is... some work. Maybe 20 hours, who knows.
Regarding the cameras in my VIS:
You need to convert the camera stream so that it can be displayed in a browser.
I used "motion eye" software.
There is also "WEBRTC" https://github.com/AlexxIT/go2rtc
Which you can install just by one click if you have proxmox installed.
https://tteck.github.io/Proxmox/
WEBRTC needs much less CPU and RAM and it's "real time". So no stuttering in the video signal. And it can give you audio and videosignal at the same time. I can get the camera-stream out of my vis with finger-gesture... and I can make it "full screen" and stream it with apple airplay to another display for example.

Yeah... documentation is always a problem.
I tried, for fun, to install iobroker on a raspberry pi. (which i never did before) And the documentation even for that is not that good. :-)
The easiest way to install the WEBRTC thing is to go to proxmox and to the "main shell".
(the icon below the name "datacenter", then hit the "shell" button on the top right side.
copy/paste (by using right butt on the mouse to insert the link... strg+c and strg+v does not seem to work here)
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/go2rtc.sh)"
Then there will automatically a vm beeing added and the WEBRTC will be installed automatically.

The easiest way to install...
Thanks to your explanations I started this job.
This is what the system then tells me:

In other words: I would have to update Proxmox first? OMG.
Updating Proxmox seems to be hell on earth, or isn't it? Well, I even did not install Proxmox a couple of years ago, someone else did.

Following the updates, which to my astonishment went through without any issue, I retried your go2rtc advice.
And now I have a running go2rtc VM.
But I still don't see the cams and how to connect:
I can go to the go2rtc via browser and without understanding what is necessary to do next I just started it ans looked at "add" and found "onvif" and remembered that this has something to do with the streams of e.g. Reolink-cams.
And: The go2rtc searched in the local WLAN here and found something...

So is this correct? What are next steps please: Connect one of these streams to the go2rtc?
I can take one of the cams found and copy the url into the field above, clicking "test" shows success:

And then: How to implement go2rtc in the IOB?
Please advise.

PLEASE consider this is no general discussion forum. So stick to the topic of the issue.
Feel free to discuss at out forum https://forum.iobroker.net and post a link her if you prefer. But setting up camraequipment etc. seesm OT here.

@mcm1957: Yes, you are correct. Excuses if this caused any inconvenience.
I opened a question in the forum.
@Roellen: Can you please post an answer here...
https://forum.iobroker.net/topic/73885/go2rtc-iob-vis-widget
Your advice is highly appreciated.
Cheers

pls let us know when Inventwo has released or you have released vis-2 widgets.
Then I can try the universal switch from inventwo to control popups in VIS2. As per today this does not work.

see https://forum.iobroker.net/topic/73883/test-vis-2-inventwo-widgets


Option to enable auto camelcase

Graphene defaults to auto-camelcasing names - so property called full_name becomes fullName in GraphQL.
I don't like this for Datasette databases because I worry that it could become confusing. But it does fit better with JavaScript naming conventions.
So... I'm going to make it available as a plugin setting.

{
  "plugins": {
    "datasette-graphql": {
      "auto_camelcase": true
    }
  }
}


[Question] Getting the FieldDeclaration from a FieldAccessExpr

How can I get the (JavaParser)FieldDeclaration (or VariableDeclarator)from a FieldAccessExpr ? I can't do solve(fieldAccess) as it will throw me an error. getType works and gives me the correct Type, so I guess it must find the Declaration somewhere, but I don't find it.
Thank's !

That is weird. solve should works and provide the answer you need. If it does not than we should open a bug. Can you share with me the code giving you the exception?

Here is an example of FieldAccessExpr that I try to solve :
public class A {
    private String b = "www.google.com";

    public void connect() throws MalformedURLException {
        A a = new A();
        new URL(a.b);
    }
}

I wan't to get the declaration of b from the FieldAccessExpr a.b, but it throws me an error :
Exception in thread "main" java.lang.IllegalArgumentException: com.github.javaparser.ast.expr.FieldAccessExpr
	at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:137)

And when I look at the source code of solve(Expression) :
public SymbolReference<? extends ValueDeclaration> solve(Expression expr) {
        if (expr instanceof NameExpr) {
            return solve((NameExpr) expr);
        } else {
            throw new IllegalArgumentException(expr.getClass().getCanonicalName());
        }
    }

So it seems there is no way I could do solve(FieldAccessExpr) ; Though, I could do solve(fieldAccessExpr.getName()), but it won't work for fields declared in different CompilationUnits

Sorry @ftomassetti  but I think that solve method in its current form does not provide the correct answer. I ended up writing my own solve method :
public SymbolReference<ResolvedFieldDeclaration> solve(FieldAccessExpr fa, JavaParserFacade jp) {
  TypeSolver typeSolver = jp.getTypeSolver();
  FieldAccessContext ctx = ((FieldAccessContext) JavaParserFactory.getContext(fa, typeSolver));
    Optional<Expression> scope = Optional.of(fa.getScope());
    Collection<ResolvedReferenceTypeDeclaration> rt = findTypeDeclarations(fa, scope, ctx, jp);
    for (ResolvedReferenceTypeDeclaration r : rt) {
      try {
        return SymbolReference.solved(r.getField(fa.getName().getId()));
      } catch (Throwable t) {
    }
  }
  return SymbolReference.unsolved(ResolvedFieldDeclaration.class);
}

private Collection<ResolvedReferenceTypeDeclaration> findTypeDeclarations(
            Node node, Optional<Expression> scope, Context ctx, JavaParserFacade jp) {
  Collection<ResolvedReferenceTypeDeclaration> rt = new ArrayList<>();
  TypeSolver typeSolver = jp.getTypeSolver();
  SymbolReference<ResolvedTypeDeclaration> ref = null;
  if (scope.isPresent()) {
    if (scope.get() instanceof NameExpr) {
      NameExpr scopeAsName = (NameExpr) scope.get();
      ref = ctx.solveType(scopeAsName.getName().getId(), typeSolver);
    }
    if (ref == null || !ref.isSolved()) {
      ResolvedType typeOfScope = jp.getType(scope.get());
      if (typeOfScope.isWildcard()) {
        if (typeOfScope.asWildcard().isExtends() || typeOfScope.asWildcard().isSuper()) {
          rt.add(typeOfScope.asWildcard().getBoundedType().asReferenceType().getTypeDeclaration());
        } else {
          rt.add(new ReflectionClassDeclaration(Object.class, typeSolver).asReferenceType());
        }
      } else if (typeOfScope.isArray()) {
        rt.add(new ReflectionClassDeclaration(Object.class, typeSolver).asReferenceType());
      } else if (typeOfScope.isTypeVariable()) {
        for (ResolvedTypeParameterDeclaration.Bound bound : typeOfScope.asTypeParameter().getBounds()) {
          rt.add(bound.getType().asReferenceType().getTypeDeclaration());
        }
      } else if (typeOfScope.isConstraint()) {
        rt.add(typeOfScope.asConstraintType().getBound().asReferenceType().getTypeDeclaration());
      } else {
        rt.add(typeOfScope.asReferenceType().getTypeDeclaration());
      }
    } else {
      rt.add(ref.getCorrespondingDeclaration().asReferenceType());
    }
  } else {
    rt.add(jp.getTypeOfThisIn(node).asReferenceType().getTypeDeclaration());
  }
  return rt;
}

The findTypeDeclarations method is heavily inspired by solve method with MethodCallExpr parameter. I can send a pull request if you like.

@mcesar PRs are always welcome, let's try that against the existing tests and check the result, together with revising the code

Really appreciating the PR :)


Error: could not install The Observability Stack: could not install The Observability Stack: rate: Wait(n=1) would exceed context deadline

What happened?
Unable to install The Observability Stack on a Linode Kubernetes cluster.
Did you expect to see something different?
How to reproduce it (as minimally and precisely as possible):
Environment

tobs installation method:

[x] cli
[ ] helm chart

tobs version:
tobs version
Tobs CLI Version: 0.10.0, latest tobs helm chart version: 0.10.1

Kubernetes version information: 1.23
kubectl version

kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:36:49Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:43:11Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:
insert how you created your cluster: LKE (Linode Kubernetes Engine)

tobs Logs:

insert tobs logs relevant to the issue here

Anything else we need to know?
cert-manager version v1.6.1 exists in the cluster, skipping the installation...
Installing The Observability Stack, this can take a few minutes
Error: could not install The Observability Stack: could not install The Observability Stack: rate: Wait(n=1) would exceed context deadline
rajakavithakodhandapani@Rajakavithas-MacBook-Pro-2 ~ % tobs version
Tobs CLI Version: 0.10.0, latest tobs helm chart version: 0.10.1
rajakavithakodhandapani@Rajakavithas-MacBook-Pro-2 ~ % kubectl get pods
NAME                                                        READY   STATUS             RESTARTS         AGE
alertmanager-tobs-kube-prometheus-alertmanager-0            2/2     Running            0                33m
opentelemetry-operator-controller-manager-8cf5c85c8-mw7jz   2/2     Running            0                34m
prometheus-tobs-kube-prometheus-prometheus-0                2/2     Running            0                33m
tobs-connection-secret-7x8wm                                0/1     Completed          0                34m
tobs-grafana-6b6db7ddc9-zgp6g                               2/3     CrashLoopBackOff   11 (53s ago)     34m
tobs-kube-prometheus-operator-f4cbb9f64-mjc25               1/1     Running            0                34m
tobs-kube-state-metrics-765c569cbc-zdx4j                    1/1     Running            0                34m
tobs-prometheus-node-exporter-2hwzc                         1/1     Running            0                34m
tobs-prometheus-node-exporter-kzlcr                         1/1     Running            0                33m
tobs-prometheus-node-exporter-pm9fb                         1/1     Running            0                33m
tobs-promlens-7685c9744d-w5x45                              1/1     Running            0                34m
tobs-promscale-7454f9c99d-hsf4l                             0/1     CrashLoopBackOff   11 (2m10s ago)   34m
tobs-timescaledb-0                                          1/1     Running            0                33m
rajakavithakodhandapani@Rajakavithas-MacBook-Pro-2 ~ % kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:36:49Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:43:11Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"}```

I deployed on minikube v1.22.0 (K8s v1.21.2 on Docker 20.10.7) on my laptop and also got the same error.
I0520 09:44:50.229344   21225 request.go:665] Waited for 2.133260693s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:55230/api/v1/namespaces/default/services/tobs-promlens
Error: INSTALLATION FAILED: rate: Wait(n=1) would exceed context deadline

The installation succeeded though:
kubectl get pods
NAME                                                        READY   STATUS      RESTARTS   AGE
alertmanager-tobs-kube-prometheus-alertmanager-0            2/2     Running     0          3m3s
opentelemetry-operator-controller-manager-7467bdc8b-htczv   2/2     Running     0          5m24s
prometheus-tobs-kube-prometheus-prometheus-0                2/2     Running     0          3m2s
tobs-connection-secret-2lrpr                                0/1     Completed   0          5m24s
tobs-grafana-7db787f487-2zp45                               3/3     Running     2          5m24s
tobs-grafana-db-jfp4m                                       0/1     Completed   0          5m24s
tobs-kube-prometheus-operator-5874b95798-rw69h              1/1     Running     0          5m24s
tobs-kube-state-metrics-56c568fdcc-vrw66                    1/1     Running     0          5m24s
tobs-prometheus-node-exporter-4d986                         1/1     Running     0          5m24s
tobs-promlens-7f778cc958-mp9nk                              1/1     Running     0          5m24s
tobs-promscale-648d58d4f5-g2w5q                             0/1     Pending     0          5m24s
tobs-timescaledb-0                                          1/1     Running     0          5m23s

The error you are seeing is most likely related to a slow startup of timescaledb pod (due to very large image size). For helm installation method I recommend increasing timeout during installation with helm install --wait --timeout=15m. Sadly there is no such fix available for tobs CLI.
There is an initiative in the company to reduce the image size which would have a direct effect on tobs installation time.


mise trust is broken (again)

Describe the bug
After upgrading from 2024.8.15 linux-arm64 (14bab0e 2024-08-28) to latest 2024.9.2 linux-arm64 (283d988 2024-09-11), .mise.toml files are not trusted anymore.
To Reproduce
Trust a .mise.toml file on 2024.8.15 and upgrade to latest.
Expected behavior
Files are trusted.
mise doctor output
version: 2024.9.2 linux-arm64 (283d988 2024-09-11)
activated: yes
shims_on_path: no

build_info:
  Target: aarch64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Wed, 11 Sep 2024 23:20:32 +0000
  Rust Version: rustc 1.81.0 (eeb90cda1 2024-09-04)
  Profile: release

shell:
  /bin/bash
  GNU bash, version 5.1.16(1)-release (aarch64-unknown-linux-gnu)
  Copyright (C) 2020 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

  This is free software; you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

dirs:
  data: ~/.local/share/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: ~/.local/share/mise/shims

config_files:
  ~/.tool-versions
  /opt/xxxxxx/.ruby-version
  /opt/xxxxxx/Gemfile
  /opt/xxxxxx/.mise.toml

backends:
  cargo
  core
  go
  npm
  pipx
  spm
  ubi
  vfox

plugins:

toolset:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
env_vars:
  MISE_DATA_DIR=~/.local/share/mise
  MISE_ENV_FILE=.env
  MISE_SHELL=bash

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf = true
  asdf_compat = false
  cargo_binstall = true
  color = true
  disable_default_shorthands = false
  disable_hints = []
  disable_tools = []
  experimental = false
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = false
  http_timeout = 30
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  libgit2 = true
  node_compile = false
  not_found_auto_install = true
  paranoid = false
  pipx_uvx = false
  plugin_autoupdate_last_check_duration = "7d"
  python_default_packages_file = "~/.default-python-packages"
  python_pyenv_repo = "https://github.com/pyenv/pyenv.git"
  raw = false
  trusted_config_paths = []
  quiet = false
  use_versions_host = true
  verbose = false
  vfox = false
  yes = false
  ci = false
  debug = false
  env_file = ".env"
  trace = false
  log_level = "info"
  python_venv_auto_create = false

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false

No warnings found
1 problem found:

1. shims are missing, run mise reshim to create them
   Missing shims: 2to3, 2to3-3.12, 2to3-3.9, bundle, bundler, corepack, erb, foreman, gem, idle, idle3, idle3.12, idle3.9, irb, node, npm, npx, pip, pip3, pip3.12, pip3.9, pipenv, pipenv-resolver, pydoc, pydoc3, pydoc3.12, pydoc3.9, python, python-config, python3, python3-config, python3.12, python3.12-config, python3.12-gdb.py, python3.9, python3.9-config, racc, rake, rbs, rdbg, rdoc, ri, ruby, syntax_suggest, typeprof, update_rubygems, virtualenv, yarn, yarnpkg

mise Config file /opt/xxxxxx/.mise.toml is not trusted.
Trust it with `mise trust`.
mise Run with --verbose or MISE_VERBOSE=1 for more information

I think a change was made to the way cache hashes were made so this is not surprising but also should not happen again

Hash changes were made on https://github.com/jdx/mise/releases/tag/v2024.8.5 but seems it happened again.
We have set MISE_TRUSTED_CONFIG_PATHS to avoid this from happening again.

Haven't been able to reproduce the error so it might be something on our side.

Looking at the change this really should use a cryptographically secure hash and not one where collisions are trivial to compute, especially given the entire point is to have confidence the file you trust hasn't changed maliciously.

I don't see how a cryptographically secure hash would be necessary here. If a bad actor can create the cache files they can almost certainly also set trusted_config_paths.

They don't have to manipulate the cache file but the toml file and just adjust it so the hash doesn't change after doing their (presumably) malicious modifications, which is what using a good hash would make unfeasible.

the hash is of the file path not the contents

this isn't checking the contents, it's a hash of the file path

Oh... well then in that case sorry my bad.  I was confusing this with how .envrc works.


Testing

Objective
This PR introduces benchmark testing and does a small refactor into structure.
Closes Issue
It starts to closes Issue #548

travis failing


 Is this intentional or have they merely been forgotten?

https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.1.1
https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.1.2
https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.2.0
https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.2.1
https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.2.2
https://github.com/cucumber/cucumber/releases/tag/cucumber-expressions%2Fv6.2.3

Expected Behavior
npm install<EMAIL_ADDRESS>shouldn't fail.
Current Behavior
$ npm install<EMAIL_ADDRESS>npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/..../.npm/_logs/2019-05-23T12_58_54_446Z-debug.log

Our release process was broken for a while without anyone noticing. 7.0.0 is there, and hopefully future releases will not have this problem.

I see. I was hoping to make use of 77d5831f8b610f57bec7440f796156c33ffb4919, but cypress-cucumber-preprocessor currently has cucumber-expressions locked to ^6.0.1. Is it possible to release the other versions manually?

Not sure what's going on here. I tried publishing again and got this:
✨  Done in 0.79s.
error Couldn't publish package: "https://registry.yarnpkg.com/cucumber-expressions: You cannot publish over the previously published versions: 6.0.1."
info Visit https://yarnpkg.com/en/docs/cli/publish for documentation about this command.

Looks like it was published but then it disappeared from npm?

Oh wait a minute, 6.0.1 is on npm, but you're asking for the versions above? That's not semver-compatible with ^6.0.1 though.
Please clarify what exact version you need.

My point is, I could publish 6.1.1 - 6.2.3, but that won't get picked up by ^6.0.1 - only 6.0.X will.

Are you sure about that? I believe carrot matches on minor, while tilde matches on patch, as shown below.
require('semver').satisfies("6.2.3", "^6.0.1") // => true
require('semver').satisfies("6.2.3", "~6.0.1") // => false

You are right - got ^ and ~ mixed up :-)
I just released 6.6.2 on npm. Will that work for you?

Yes, thank you so much! :tada: :heart:

Fett - bare hyggelig :-P


Create wiki page about interpolate / extrapolate / service provider

Create a wiki page that discusses the combinations of these parameters:

fixed delta time
application framerate
rigidbody interpolation
frame optimization (provider setting)
physics extrapolation (provider setting)

Some of the combinations of settings are good and some are bad, and it's not immediately obvious which is which.

Closing here. Tracked as UNITY-747


Create varlamorethieving

Varlamore Thieving Plugin for RuneLite
The Varlamore Thieving Plugin is designed to enhance the Thieving experience in Old School RuneScape when played through the RuneLite client. It provides real-time overlays and notifications to assist players in their thieving endeavors in Varlamore and surrounding areas.
Features

NPC Tracking: Automatically tracks specific NPCs (e.g., "Wealthy Citizens") and displays an overlay around them. The overlay helps players identify their targets quickly.
State Indicators: NPCs display different colors based on their current state:

Red: Indicates an NPC is "Guarded".
Green: Indicates an NPC is "Distracted".
Yellow: Temporarily appears after an NPC performs a specific action (e.g., punching), indicating they are "Guarded" for a brief period.

Custom Notifications: Players receive notifications for specific in-game events, such as when a homeowner is spotted returning.
Custom Chat Messages: In certain scenarios, custom advice or tips are displayed in the game's chatbox to guide the player.

Do not use "example" as your config group.
LGTM otherwise


The input variables' csv and json files are now archived after validation has completed

Note that we need to clarify the following:

Is it ok to version the json and cvs separately
A suitable place for the _get_file_list_from_dir helper function (currently duplicated since we need to agree on where we should put test-helpers)
Also, please excuse some debug prints (these will ofc be removed)

@essbb I have usually put common test functions in a common module named test_util.py or similar under the test directory. Not sure what I prefer here thought.

Note: rebased on master


[RFC] Apache TVM 0.6.0 Release Candidate (verifying, feedback, etc.)

Dear Community,
This is an RFC for verifying whether v0.6.0.rc1 is good to go. The release candidate (release note, artifact and source code) can be find here
This is not an official vote. Please help us verifying,

Incubating in name
DISCLAIMER exists
LICENSE and NOTICE are fine
No unexpected binary files
Checked PGP signatures
Checked Checksums
Functionality works as expected.

For the vote afterwards, we propose to allow vote via github issue, which will be synced to @dev and back.  See historical community vote on this thread dev@ thread: tvm apache community plan github thread: tvm apache community plan
We do encourage people also subscribe email list for tvm developers by sending email to<EMAIL_ADDRESS>@markusweimer @sscdotopen @tqchen

one typo... [RUTNIME] -> [RUNTIME]

@FrozenGene Thanks. Fixed just now. Also we fixed some license problem per IPMC's comments. RC1: https://github.com/apache/incubator-tvm/releases/tag/0.6.0.rc1

we just moved the main website to https://tvm.apache.org/, might be worth cherry pick https://github.com/apache/incubator-tvm/pull/4429

@tqchen sounds good.

https://github.com/apache/incubator-tvm/pull/4431

There is a broken tutorial  https://github.com/apache/incubator-tvm/blob/master/vta/tutorials/frontend/deploy_vision_on_vta.py  which was caused by quantization changes that need to be fixed.
Originally the quantize pass won't produce multiply if the scale is power2, and it is a hard requirement for VTA because vta does not have multiplier. seems the change https://github.com/apache/incubator-tvm/pull/4295 allows creation of model with mul. @vinx13 would be great if you can help look into the problem.

Fixed by https://github.com/apache/incubator-tvm/pull/4433

I have made another RC per IPMC's comments and includes the bug fix.
https://github.com/apache/incubator-tvm/releases/tag/v0.6.0.rc2

voting thread https://github.com/apache/incubator-tvm/issues/4443


[BEAM-1835] NPE in DirectRunner PubsubReader.ackBatch

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @tgroh -- I think that Thomas was looking into this.

One very simple solution to this problem is to just always reuse reader, not sure if that is best, but decided to create this PR cause it's the simplest one, but I'm open to any suggestions.

My understanding is that the bug that caused the NPE should have been fixed in #2237 and https://github.com/apache/beam/pull/2323, which have both been merged into master. They're in the nightly builds as well, but not the most recent release. This occurs when you build from github HEAD?

@tgroh yep, i tested this on the master, let me double check again, just so I'm sure.

Changes Unknown when pulling 6a577da0c993f3c770094c5c616bf712db78138b on ravwojdyla:npe_pubsub into ** on apache:master**.

Changes Unknown when pulling 6a577da0c993f3c770094c5c616bf712db78138b on ravwojdyla:npe_pubsub into ** on apache:master**.

Changes Unknown when pulling 6a577da0c993f3c770094c5c616bf712db78138b on ravwojdyla:npe_pubsub into ** on apache:master**.

@tgroh yep - just double checked - i can reproduce this on the current master, and sorry for the delay, had to adjust code and create #2366 in the mean time. Also looking at the issues you listed, I don't think they address the issue described in the jira.
Also the travis error does not seems to be related to this change:
2017-03-30T00:52:21.323 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (default) on project beam-sdks-parent: Failed during checkstyle execution: Unable to find suppressions file at location: beam/suppressions.xml: Could not find resource 'beam/suppressions.xml'. -> [Help 1]

Is this known issue?

Also I would like to understand why direct runner even has DEFAULT_READER_REUSE_CHANCE (apart from the comment in the code), that would let me understand if this PR is even acceptable.

The DEFAULT_READER_REUSE_CHANCE is there to ensure that authors of IO Connectors will exercise the resume-from-checkpoint behavior of their readers while running in the DirectRunner; I'd like to avoid removing it if possible.
I can reproduce the failure. This is actually a bug in PubsubUnboundedSource or PubsubCheckpoint. The finalizeCheckpoint documentation states that
"This finalize method may be called from any thread, concurrently with calls to {@link UnboundedReader} it was created from."
and
"It is not safe to assume the {@link UnboundedReader} from which this checkpoint was created still exists at the time this method is called."
The Runner is permitted to close the reader and finalize all outstanding checkpoints in whatever order, potentially interleaving the two operations, so the checkpoint mark must not assume that the client is still available, or that the client, if it is available and open when the call to finalizeCheckpoint begins, is still available and open at any future point.
I'm looking into fixes for the source proper.

@tgroh If we would like to avoid disabling DEFAULT_READER_REUSE_CHANCE, I'm happy to adjust this PR to keep it.
About the issue - agree - sounds pretty much like the description in the jira ticket.

Yeah. https://github.com/apache/beam/pull/2368 should fix your problem, but I'd like @dhalperi to weigh in there.


Performance Degradation After Finetuning

Environment
Tesseract Version: v<IP_ADDRESS>81030
Platform: Ubuntu16
Motivation Introduction
There are some articles, which contain both English alphabets and Greek alphabets, need to be OCRed. And I turned to Tesseract.
After installing Tesseract successfully, I opened a terminal and ran the command tesseract detector_sample_1.png result -l eng+grc, and get result.txt as a result.
The original image named "detector_sample_1.png" is shown as bellow.

And the result.txt is shown as bellow too.

I found that Tesseract works quite well, if disregarded the content in red block(s).

Actually, Greek alphabets do not appear too frequently in these articles. So I came up with the idea that I should retrain/finetune the existing eng.traineddata.
Therefore, I resorted to your code.
Description of My Experiment Process
After reading your README.md, I think I should firstly run 8-makedata_layernew.sh and 9-layernew.sh later. (Should do some modification certainly!)
In that I need to finetune the eng.traineddata with Greek alphabets, I prepared a training_text
eng.anhao.training_text.txt. (I need to change the extension to .txt in that I can not upload the file with extension .training_text.) And I only cat ../langdata/eng/eng.training_text ../langdata/eng/eng.anhao.training_text >../langdata/eng/eng.layer.training_text (in 8-makedata_layernew.sh). What is more, I prepared a new test file
eng.layertest.training_text.txt.
Then I ran ./8-makedata_layernew.sh and 9-layernew.sh. Afterwards, I get the eng_layer.traineddata.
Experiment Result
It is disappointed that the performance degraded, although the eng_layer.traineddata can recognize some Greek alphabets.

Conclusion
I tried to extend the existing model "eng.traineddata" with Greek alphabets, and I tried your code. But the result is disappointing. So I hope you could help me.

@Shreeshrii  I also come across the similar issue, could you please help to address?


Add types to state dump

Thank you very much! I'm not used to using type annotations, but I totally recognize the value, especially for a) larger code bases or b) for random users to not make mistake.
Greatly appreciated!


Blips in audio when PTS values are incorrect

I stumbled upon a file that was playing back with weird audio artifacts (popping), but worked fine in other players (QuickTime, VLC, ffplay all worked fine). I added some prints to resampler.c inside the compensation code in ffw_audio_resampler_push_frame, as well as printing out the before/after info about the AudioFrame in Rust. It comes out like this:
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "0/48000") to 925 samples at 44100Hz (pts "0/44100")
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "1024/48000") to 941 samples at 44100Hz (pts "925/44100")
[ffw_audio_resampler_push_frame] dropping samples, pts_delta is -8
Resampled audio from 1024 samples @ 48000Hz (pts "2040/48000") to 933 samples at 44100Hz (pts "1866/44100")
[ffw_audio_resampler_push_frame] dropping samples, pts_delta is -16
Resampled audio from 1024 samples @ 48000Hz (pts "3048/48000") to 927 samples at 44100Hz (pts "2799/44100")
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "4072/48000") to 941 samples at 44100Hz (pts "3726/44100")
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "5096/48000") to 941 samples at 44100Hz (pts "4667/44100")
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "6120/48000") to 941 samples at 44100Hz (pts "5608/44100")
[ffw_audio_resampler_push_frame] dropping samples, pts_delta is -16
Resampled audio from 1024 samples @ 48000Hz (pts "7128/48000") to 926 samples at 44100Hz (pts "6549/44100")
[ffw_audio_resampler_push_frame] injecting silence, pts_delta is 32
Resampled audio from 1024 samples @ 48000Hz (pts "8184/48000") to 971 samples at 44100Hz (pts "7475/44100")
[ffw_audio_resampler_push_frame] frame is fine
Resampled audio from 1024 samples @ 48000Hz (pts "9208/48000") to 940 samples at 44100Hz (pts "8446/44100")

I think part of the problem is that this video was probably encoded badly. Other players seem to handle it fine though, and I'd like mine to handle it fine too 😄 It seems reasonable to me to ignore the junk timestamps and go off the length of the samples themselves, so for now, I've taken out the code that does the compensation it's playing fine with no blips.
I saw that ffmpeg has a swr_next_pts function that looks similar to what the code in ffw_audio_resampler_push_frame is doing, and has a few modes controlled by some variables on the context. It looks like it can effectively be "off", "soft compensation", or "hard compensation". ac-ffmpeg's implementation looks most similar to hard compensation. Maybe ac-ffmpeg could have a similar set of flags, or use swr_next_pts directly?

Sorry for the delay, I was out of office for a few weeks. You're right that the audio resampler is quite aggressive. It crops audio frames or adds silence whenever the timestamp sequence does not match the actual number of samples.
It's quite crucial for us at Angelcam because we use it to correct crappy audio received from IP cameras. We haven't tested the swr_next_pts() function yet. I'll definitely take a look at it. It's important for us to keep the current behavior. Additional options would be useful though.


bluetuith: 0.0.3 -> 0.0.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/bluetuith/versions.
meta.description for bluetuith is: "TUI-based bluetooth connection manager"
meta.homepage for bluetuith is: "https://github.com/darkhz/bluetuith"
meta.changelog for bluetuith is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.0.5 in filename of file in /nix/store/zzimlpaq6j0bahgzd1cm3ch0m025a1yq-bluetuith-0.0.5

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
bluetuith

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zzimlpaq6j0bahgzd1cm3ch0m025a1yq-bluetuith-0.0.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bluetuith https://github.com/r-ryantm/nixpkgs/archive/6ad503e5ecb97e6ada05e3cd36ab9469d2843fa0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zzimlpaq6j0bahgzd1cm3ch0m025a1yq-bluetuith-0.0.5
ls -la /nix/store/zzimlpaq6j0bahgzd1cm3ch0m025a1yq-bluetuith-0.0.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bluetuith

Maintainer pings
cc @theHedgehog0 for testing.

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

1 package built:

bluetuith


faust2: fix build with llvm 5.0.2 [18.03]

Motivation for this change
Build was broken by  llvm: 5.0.1 -> 5.0.2 (#39979)  - error "unknown llvm version".
Fixed by adding 5.0.2 to the list of known llvm versions.
Opened upstream issue https://github.com/grame-cncm/faust/issues/181.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: faust2
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: faust2
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

llvm 5.0.2 is still in staging, so the faust2 issue hasn't appeared in master yet - and I didn't want to pick from staging (where not much builds currently) to 18.03...

So it looks like they are now preferring to use CMake. Would it be possible to just use that instead of Makefile.unix? Not sure if possible but might be worth looking into.

I'll give that a try.

After some experiments, migrating to CMake looks possible but I'm not sure how that would affect the different backends and related packages, and I don't know how to test everything.
So I'll merge this more conservative fix for 18.03 now.
For 18.09, I'd like to ask maintainers @magnetophon @pmahoney to look into using CMake.

@xeji Could you post those experiments, I'll test them.

@magnetophon thank you! https://github.com/xeji/nixpkgs/commit/f08409b07daf36184542023044396b9f1e7fa673 is as far as I got. It builds faust2 but I have not tested the result at all, or even compared it to previous builds to see if anything's missing.

Thanks! Let's see what upstream says...


Pleblist Configuration/Setup Issue

I am having trouble getting the Pleblist working (most likely something I am doing wrong). Basically, I think the issue is I can't find the player or how to access it /pleblist.
I have the Song requests module enabled, and I was able to request a song via chat, it added it to the Pleblist History and it shows up as Playing now!.
I have had the streamer go to the pleblist on the website, and log in with twitch, but still no player showing or link to a player. So I had him log in with Twitch Alerts from the host page /pleblist/host and we got this error:
Logged in with twitchalerts!
Unable to validate with this TwitchAlerts. Contact pajlada if you believe this is wrong.

Is there any documentation for configuring the Pleblist, or could you possibly point me in the right direction? Let me know if I can provide anything else, including access to the site if necessary.
Thanks again for the assistance, so far loving the bot.
Version: 2.8.1 DEV (master, 80c77670, commit 1480)
EDIT: I should also mention that the Pleblist is not showing up in the main menu, I have to manually go to /pleblist.

The pleblist areea is very undocumented unfortunately.
To log in with TwitchAlerts, you need to already be logged in on the pajbot
website with a user that is level 1000 or more.
So the steps to make this work:

Log in on pajbot website with an account that's level 1000 or more
Go to /pleblist/host
Log in with TwitchAlerts

On 18 September 2016 at 05:06, smashedr<EMAIL_ADDRESS>wrote:

I am having trouble getting the Pleblist working (most likely something I
am doing wrong). Basically, I think the issue is I can't find the player or
how to access it /pleblist.
I have the Song requests module enabled, and I was able to request a song
via chat, it added it to the Pleblist History and it shows up as Playing
now!.
I have had the streamer go to the pleblist on the website, and log in with
twitch, but still no player showing or link to a player. So I had him log
in with Twitch Alerts from the host page /pleblist/host and we got this
error:
Logged in with twitchalerts!
Unable to validate with this TwitchAlerts. Contact pajlada if you believe this is wrong.
Is there any documentation for configuring the Pleblist, or could you
possibly point me in the right direction? Let me know if I can provide
anything else, including access to the site if necessary.
Thanks again for the assistance, so far loving the bot.
Version: 2.8.1 DEV (master, 80c77670, commit 1480)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pajlada/pajbot/issues/316, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6xrdCyN9ZfkJ518WASHW_30F0TIdXXks5qrKqggaJpZM4J_yH6
.

--
Rasmus Karlsson  |  p (SE) +46 739 277 285 |

So when I, or the Streamer logs in with 1000 level or more, we see our donations from twitch alerts, but still get this error:
Logged in with twitchalerts!
Unable to validate with this TwitchAlerts. Contact pajlada if you believe this is wrong.

Upon refreshing the page, the Log in with TwitchAlerts button is shown again.
We are first logging into twitch, then going to the host page and logging in via twitch alerts.

You've set up the proper variables in your config file under the section
[twitchalerts] right?
And do you get redirected properly to the twitchalerts login page? I'll
take a proper screenshot of what the process should look like when I get to
a pc
On Sep 19, 2016 01:30, "smashedr"<EMAIL_ADDRESS>wrote:

So when I, or the Streamer logs in with 1000 level or more, we see our
donations from twitch alerts, but still get this error:
Logged in with twitchalerts!
Unable to validate with this TwitchAlerts. Contact pajlada if you believe this is wrong.
Upon refreshing the page, the Log in with TwitchAlerts button is shown
again.
We are first logging into twitch, then going to the host page and logging
in via twitch alerts.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pajlada/pajbot/issues/316#issuecomment-247890644, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA6xraJxto7rVaUjM8JrtKeyXTYrjlCVks5qrcmfgaJpZM4J_yH6
.

I am quite positive the [twitchalerts] section is configure properly, because it would not let me log in until I had all that correct and I am very familiar with OAuth flows.
I noticed in the javascript console I am getting a 500 error:
http://squadbott.cssnr.com/api/v1/twitchalerts/validate Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)

Let me know if I can provide anything else.

Could you link the website and  !level pajlada 1000
Im 15 minutes walk from my pc, so I can debug in a bit
On Sep 19, 2016 6:00 AM, "smashedr"<EMAIL_ADDRESS>wrote:

I am quite positive the [twitchalerts] section is configure properly,
because it would not let me log in until I had all that correct and I am
very familiar with OAuth flows.
I noticed in the javascript console I am getting a 500 error:
http://squadbott.cssnr.com/api/v1/twitchalerts/validate Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)
Let me know if I can provide anything else.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pajlada/pajbot/issues/316#issuecomment-247907856, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA6xrRHA_2X4te-eilmn2j1RbBnN8r0Cks5qrgjZgaJpZM4J_yH6
.

Done.
http://squadbott.cssnr.com/