Refactor Menu.swift

This works towards refactoring Menu.swift to be easier to understand and less reliant on implicit assumptions and behaviours. The current changes should be rather uncontroversial. Further goals would be:

Move to a single source of truth about pinned/unpinned. Currently this is checked through both HistoryMenuItem and HistoryItem.
More specifically extract a data model which is reflected by the menu on the ui side. Essentially the goal is to make the state of the menu independent of the ui side and be the single source of truth of the state. Of course this model needs to make sure that this is always reflected by the UI.
Move heavy computations to a background thread which calls back into the main ui thread to update the model/ui.

What do you think about this proposal?

Changes:

Rebased on #652
Extracted removal/insertion of all menu items associated to an IndexedItem into separate functions.

Not sure why the tests are failing
✗ testAllowsToFocusSearchField, failed - Maccy did not pop up
✗ testAllowsToFocusSearchField, Failed to Error Domain=com.apple.dt.xctest.ui-testing.error Code=10001 "Application org.p0deje.Maccy is not running" UserInfo={NSLocalizedDescription=Application org.p0deje.Maccy is not running}: Application org.p0deje.Maccy is not running

None of the changes should affect starting up Maccy (Tests pass fine locally).

Converted back to draft to bisect the CI failure

I suppose it needs another rebase now that #652 is merged.

If I understand it correctly there is a mechanism for the searchable content (value) of a IndexedItem to be different from its title, however this isn't utilised currently i.e. value == title always holds. Are there plans to make use of it?

value is a full string while title is shortened to fit the menu width. Allowing to searching within title first speeds search up because it often contains the search pattern.

If I understand it correctly there is a mechanism for the searchable content (value) of a IndexedItem to be different from its title, however this isn't utilised currently i.e. value == title always holds. Are there plans to make use of it?

value is a full string while title is shortened to fit the menu width. Allowing to searching within title first speeds search up because it often contains the search pattern.

Ah got it, thank you for the clarification. Totally missed that :D. I have adjusted the commit to reflect the earlier behaviour. I couldn't make the searchableContent member @NSManaged. Not even sure whether  it should be. How should this be handled. I think it makes more sense to have the content in the HistoryItem instead of IndexedItem.

I don't quite follow the refactoring of IndexedItem - what does it bring compared to existing code? It's been added as an internal struct in Menu to support quick search/manipulation of items and their menu items.

Menu.swift is rather large and overwhelming to navigate. I just felt that it makes the code easier to follow. Changed it to now live inside an extensions Menu so it is clear that is internal to Menu.

I don't follow the changes in HistoryItem/HistoryMenuItem. Frankly, the storage implementation probably needs to be rewritten to support Maccy After being used in the background for many times, the memory occupation increases linearly #384, so I'd rather not touch it at this point.

With the latest changes only the value member from HistoryMenuItem is removed. I was only used to provide the value for IndexedItem, which now reuses code from HistoryItem to compute the value member. Effectively this just - deduplicates the code for turning the content of HistoryItem into a string (HistoryMenuItem duplicated the pre-truncation code paths from HistoryItem.generateTitle)

and removes the value member from HistoryMenuItem as it is then no longer needed.

Preview is show only after the first menu popup - afterwards the preview popover is not shown at all.

This should be fixed now.

With 999 history size, Menu shows noticeably slower on the first and subsequent popups. I haven't profiled yet, might as well just try to bisect the commit where it's introduced.

Currently looking into this. Should have a fix ready by tomorrow.

Will try to finish this on the weekend :)

I will close this in favour of upcoming smaller PRs containing smaller batches of these changes.


Two VNET with the same name in the instructions

Hello,
I am following steps mentioned in this article and found out that instructions in two section has the same name as "vnet-1" to be created as VNET in the same region and resource group. Am I missing something or is it an error in the documentation?
https://learn.microsoft.com/en-us/azure/private-link/tutorial-inspect-traffic-azure-firewall#create-a-virtual-network-and-bastion-host
https://learn.microsoft.com/en-us/azure/private-link/tutorial-inspect-traffic-azure-firewall#create-a-virtual-network-for-a-private-endpoint
[Enter feedback here]

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

ID: 9439656b-123f-d2a6-0b09-2dd4d1c45b9d
Version Independent ID: 6b5c63b6-69ee-009e-7232-7d81c174e411
Content: Tutorial: Inspect private endpoint traffic with Azure Firewall
Content Source: articles/private-link/tutorial-inspect-traffic-azure-firewall.md
Service: private-link
GitHub Login: @asudbring
Microsoft Alias: allensu

@ravick4u
You are correct.  Something got messed up on the update on that one.  Will fix.

PR has been merged and changes are in doc.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/250490
#please-close


overcommit breaks if most current version of pysch gem is installed.

Here is a transcript of running some basic overcommit functionality both with and without the most current version of psych being installed.  If the most current version 2.0.13 is installed it seems to break overcommit and every git operation on a repo with overcommit hooks installed.  I have installed Ruby 2.2.2 using rbenv.
$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]

$ overcommit -r
Running pre-commit hooks

✓ All pre-commit hooks passed

$ gem install psych
Fetching: psych-2.0.13.gem (100%)
Building native extensions.  This could take a while...
Successfully installed psych-2.0.13
1 gem installed

$ gem list | grep psych
psych (2.0.13, 2.0.8)

$ overcommit -r
/usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/configuration_loader.rb:25:in `load_from_file': Unable to load configuration from '/Users/glenn/src/strongpass/.overcommit.yml': undefined method `load_file' for Psych:Module (Overcommit::Exceptions::ConfigurationError)
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/configuration_loader.rb:57:in `load_file'
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/configuration_loader.rb:49:in `load_repo_config'
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/cli.rb:205:in `config'
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/cli.rb:187:in `run_all'
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/lib/overcommit/cli.rb:25:in `run'
	from /usr/local/var/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/overcommit-0.26.0/bin/overcommit:8:in `<top (required)>'
	from /usr/local/var/rbenv/versions/2.2.2/bin/overcommit:23:in `load'
	from /usr/local/var/rbenv/versions/2.2.2/bin/overcommit:23:in `<main>'

$ gem uninstall psych
Successfully uninstalled psych-2.0.13

$ overcommit -r
Running pre-commit hooks

✓ All pre-commit hooks passed

I've seen this reported on a number of projects. It seems like it's a RubyGems bug and the solution is to run gem update --system. I haven't run into the problem personally so I can't verify whether the proposed solution works. Let me know it doesn't.

Yes, that did fix it. I also noticed in the comments in the bug link you pasted above that the error might show if two versions of Psych are installed (which was the case on my system).  I did the gem update --system prior to trying to whittle my gems down to a single version of psych so I can't confirm that.
Cheers.
~/src/strongpass (test ✗)$ gem --version
2.4.5
~/src/strongpass (test ✗)$ gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.4.8.gem (100%)
Successfully installed rubygems-update-2.4.8
Installing RubyGems 2.4.8
RubyGems 2.4.8 installed

=== 2.4.8 / 2015-06-08

Bug fixes:

* Tightened API endpoint checks for CVE-2015-3900

=== 2.4.7 / 2015-05-14

Bug fixes:

* Backport: Limit API endpoint to original security domain for CVE-2015-3900.
  Fix by claudijd

=== 2.4.6 / 2014-02-05

Bug fixes:

* Fixed resolving gems with both upper and lower requirement boundaries.
  Issue #1141 by Jakub Jirutka.
* Moved extension directory after require_paths to fix missing constant bugs
  in some gems with C extensions.  Issue #784 by André Arko, pull request
  #1137 by Barry Allard.
* Use Gem::Dependency#requirement when adding a dependency to an existing
  dependency instance.  Pull request #1101 by Josh Cheek.
* Fixed warning of shadowed local variable in Gem::Specification.  Pull request
  #1109 by Rohit Arondekar
* Gem::Requirement should always sort requirements before coercion to Hash.
  Pull request #1139 by Eito Katagiri.
* The `gem open` command should change the current working directory before
  opening the editor.  Pull request #1142 by Alex Wood.
* Ensure quotes are stripped from the Windows launcher script used to install
  gems.  Pull request #1115 by Youngjun Song.
* Fixed errors when writing to NFS to to 0444 files.  Issue #1161 by Emmanuel
  Hadoux.
* Removed dead code in Gem::StreamUI.  Pull request #1117 by mediaslave24.
* Fixed typos.  Pull request #1096 by hakeda.
* Relaxed CMake dependency for RHEL 6 and CentOS 6.  Pull request #1124 by Vít
  Ondruch.
* Relaxed Psych dependency.  Pull request #1128 by Vít Ondruch.

=== 2.4.5 / 2014-12-03

Bug fixes:

* Improved speed of requiring gems.  (Around 25% for a 60 gem test).  Pull
  request #1060 by unak.
* RubyGems no longer attempts to look up gems remotely with the --local flag.
  Pull request #1084 by Jeremy Evans.
* Executable stubs use the correct gem version when RUBYGEMS_GEMDEPS is
  active.  Issue #1072 by Michael Kaiser-Nyman.
* Fixed handling of pinned gems in lockfiles with versions.  Issue #1078 by
  Ian Ker-Seymer.
* Fixed handling of git@example:gem.git URIs.  Issue #1054 by Mogutan Mogu.
* Fixed handling of platforms retrieved from the dependencies API.  Issue
  #1058 and patch suggestion by tux-mind.
* RubyGems now suggests a copy-pasteable `gem pristine` command when
  extensions are missing.  Pull request #1057 by Shannon Skipper.
* Improved errors for long file names when packaging.  Pull request #1016 by
  Piotrek Bator.
* `gem pristine` now skips gems cannot be found remotely.  Pull request #1064
  by Tuomas Kareinen.
* `gem pristine` now caches gems to the proper directory.  Pull request #1064
  by Tuomas Kareinen.
* `gem pristine` now skips bundled gems properly.  Pull request #1064 by
  Tuomas Kareinen.
* Improved interoperability of Vagrant with RubyGems.  Pull request #1057 by
  Vít Ondruch.
* Renamed CONTRIBUTING to CONTRIBUTING.rdoc to allow markup.  Pull request
  #1090 by Roberto Miranda.
* Switched from #partition to #reject as only one collection is used.  Pull
  request #1074 by Tuomas Kareinen.
* Fixed installation of gems on systems using memory-mapped files.  Pull
  request #1038 by Justin Li.
* Fixed bug in Gem::Text#min3 where `a == b < c`.  Pull request #1026 by
  fortissimo1997.
* Fixed uninitialized variable warning in BasicSpecification.  Pull request
  #1019 by Piotr Szotkowski.
* Removed unneeded exception handling for cyclic dependencies.  Pull request
  #1043 by Jens Wille.
* Fixed grouped expression warning.  Pull request #1081 by André Arko.
* Fixed handling of platforms when writing lockfiles.

------------------------------------------------------------------------------

RubyGems installed the following executables:
	/usr/local/var/rbenv/versions/2.2.2/bin/gem

RubyGems system software updated
~/src/strongpass (test ✗)$ overcommit -r
Running pre-commit hooks

✓ All pre-commit hooks passed

~/src/strongpass (test ✗)$ gem install psych
Fetching: psych-2.0.13.gem (100%)
Building native extensions.  This could take a while...
Successfully installed psych-2.0.13
1 gem installed
~/src/strongpass (test ✗)$ overcommit -r
Running pre-commit hooks

✓ All pre-commit hooks passed


[MNT] delete duplicate classifier tests

This deletes duplcate tests from sub-folders of the classifier module.
The tests duplicate the tests on unit test and basic motions in TestAllClassifiers.

I may have missed this addition, but unless the general tests have changed to include running _get_train_probs then these are not duplicates.

I see - would you be so kind then to add that to TestAllClassifiers?
Easy to write, just do if hasattr(estimator, "_get_train_probs"), no?


TRADFRI bulb GU10 WS 400lm Not Supported

TRADFRI bulb GU10 WS 400lm
Looks like Zigbee2MQTT 1.14 has broken your plugin with this device
{"ieeeAddr":"0x000d6ffffe4c76a2","type":"Router","networkAddress":52214,"model":"LED1537R6/LED1739R5","vendor":"IKEA","description":"TRADFRI LED bulb GU10 400 lumen, dimmable, white spectrum","friendly_name":"IkeaKitchen4","manufacturerID":4476,"manufacturerName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelID":"TRADFRI bulb GU10 WS 400lm","hardwareVersion":1,"softwareBuildID":"2.0.023","dateCode":"20190407","lastSeen":1592333651020},
zigbee2mqtt/IkeaKitchen4/set
{
"state": "ON",
"brightness": 100,
"color_temp": 325
}
{"state":"ON","linkquality":94,"brightness":100,"color_temp":325,"color":{"x":0.46,"y":0.411},"update_available":false}
Domoticz:
2020-06-16 19:50:33.429 (ZigBee2MQTT) This plugin does not support zigbee device with model "LED1537R6/LED1739R5" yet
2020-06-16 19:50:33.429 (ZigBee2MQTT) If you would like plugin to support this device, please create ticket by this link: https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin/issues/new?labels=new+device&template=new-device-support.md

same here
{"id":6,"type":"Router","ieeeAddr":"0x90fd9ffffedc81fb","nwkAddr":52017,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"TRADFRI bulb GU10 WS 400lm","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":268,"inClusterList":[0,3,4,5,6,8,768,4096,64636],"outClusterList":[5,25,32,4096],"clusters":{"genBasic":{"attributes":{"modelId":"TRADFRI bulb GU10 WS 400lm","manufacturerName":"IKEA of Sweden","powerSource":1,"zclVersion":3,"appVersion":33,"stackVersion":98,"hwVersion":1,"dateCode":"20200311","swBuildId":"2.3.050"}}},"binds":[]},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[]}},"appVersion":33,"stackVersion":98,"hwVersion":1,"dateCode":"20200311","swBuildId":"2.3.050","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1592496562461}
{"id":7,"type":"Router","ieeeAddr":"0x000d6ffffe12d3d6","nwkAddr":36064,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"TRADFRI bulb GU10 WS 400lm","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":268,"inClusterList":[0,3,4,5,6,8,768,4096,64636],"outClusterList":[5,25,32,4096],"clusters":{"genBasic":{"attributes":{"modelId":"TRADFRI bulb GU10 WS 400lm","manufacturerName":"IKEA of Sweden","powerSource":1,"zclVersion":2,"appVersion":32,"hwVersion":1,"dateCode":"20190407","swBuildId":"2.0.023"}}},"binds":[]},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[]}},"appVersion":32,"hwVersion":1,"dateCode":"20190407","swBuildId":"2.0.023","zclVersion":2,"interviewCompleted":true,"meta":{},"lastSeen":1592497056883}

Could you please update and check now

THX Stas! It Works!

Perfect, that fixed the issue, the light I unpaired and repaired to see if that would help, showed up straight after Domoticz was restarted and all the others are working again


[BUG] datastream shrinking policy creates hidden indices ignored by ISM

What is the bug?
We created a shrink action in a policy for our datastreams to reduce the number of shards.
We start out with index .ds-example-000001 and this one turns into .ds-example-000001_shrunken. The shrunken index is not part of the datastream after shrinking and treated as a hidden index. We can now no longer apply a retention policy specifically for these shrunken indices, because the ISM ignores them:
https://github.com/opensearch-project/index-management/blob/main/src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/ManagedIndexCoordinator.kt#L368
How can one reproduce the bug?
Create the datastream index template
PUT _index_template/example

{
    "index_patterns": [
        "example"
    ],
    "data_stream": {},
    "priority": 100,
    "template": {
        "settings": {
            "number_of_shards": 2,
            "number_of_replicas": 1
        }
    }
}

Create the policy
PUT _plugins/_ism/policies/example-policy

{
    "policy": {
        "policy_id": "example-policy",
        "description": "",
        "schema_version": 1,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [
                    {
                        "rollover": {
                            "min_doc_count": "3"
                        }
                    }
                ],
                "transitions": [
                    {
                        "state_name": "cold"
                    }
                ]
            },
            {
                "name": "cold",
                "actions": [
                    {
                        "force_merge": {
                            "max_num_segments": 1
                        }
                    },
                    {
                        "shrink": {
                            "num_new_shards": 1,
                            "force_unsafe": false
                        }
                    },
                    {
                      "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [
                    "example*"
                ],
                "priority": 100
            }
        ]
    }
}

Create documents
POST example/_doc

{
    "@timestamp": "2022-08-16T10:00:00.0",
    "@version": "1",
    "message": "example message 1"
}

POST example/_doc

{
    "@timestamp": "2022-08-16T10:00:01.0",
    "@version": "1",
    "message": "example message 2"
}

POST example/_doc

{
    "@timestamp": "2022-08-16T10:00:02.0",
    "@version": "1",
    "message": "example message 3"
}

POST example/_doc

{
    "@timestamp": "2022-08-16T10:00:03.0",
    "@version": "1",
    "message": "example message 4"
}

Now we wait and after a while we have the following indices:
GET /_cat/indices/.*example*

green open .ds-example-000002          q0Pi8T2VRH6hJlconGvpnw 2 1 0 0   832b  416b
green open .ds-example-000001_shrunken zxeuCq8sSJuuQL0TCRPtCg 1 1 4 0 19.3kb 9.6kb

What is the expected behavior?
I would expect perhaps some more ability to change the future index name, remove the .ds- prefix.
An alternative would be to unhide the index after shrinking.
What is your host/environment?

Docker Deskstop 4.11.1
opensearchproject/opensearch:2.2.0

According to the doc, can you try this to define a template to add a prefix to the shrunk index
"shrink": {
    "target_index_name_template": {
        "source": "shrunk_{{ctx.index}}"
    }
}

For why the shrunk index .ds-example-000001_shrunken is hidden after creation, I suspect it relates to the template you need for setting up data stream. The new shrunk index got matched by the data stream template.

Feel free to open if you have other idea

Thanks @bowenlan-amzn , this has been helpful in better understanding the shrink operation.
Unfortunately the shrunken index is created with "index.hidden": "true" (tested in 2.17.1). This is unaffected by the template for the data stream.
The behavior is similar with the shrink API. The shrink API has a settings paramater that allows changing settings, but using this doesn't help with getting ISM to recognize the index.
The only workaround I currently see is to have a recurring script that applies the policies to new shrunken indices. This returns failures for the indices that already have a policy, but seems to succeed in updating the others.
POST _plugins/_ism/add/shrunk-*
{
"policy_id": "..."
}

According to the doc, can you try this to define a template to add a prefix to the shrunk index
"shrink": {
    "target_index_name_template": {
        "source": "shrunk_{{ctx.index}}"
    }
}

Behind the scene, it's parsed by Mustache. I didn't find out Mustache can slice the string to remove .ds. But I confirmed that we can create an index with . in the middle.
For why the shrunk index .ds-example-000001_shrunken is hidden after creation, I suspect it relates to the template you need for setting up data stream. The new shrunk index got matched by the data stream template.


SWAP-1202 Keep track of the deployed versions

Description
This PR adds support for requesting the current build version of the user office factory.

Motivation and Context
The goal is to make it easier to track/figure out the deployed version.
How Has This Been Tested

[x] Manual testing

Fixes
https://jira.esss.lu.se/browse/SWAP-1202

Changes

during build add a build version to the container
endpoint added for requesting build version

Depends on
https://github.com/UserOfficeProject/user-office-factory/pull/7
For easier comparison:
https://github.com/UserOfficeProject/user-office-factory/compare/SWAP-1201_CI_CD_Improvements...SWAP-1202_Keep_track_of_the_deployed_versions
Tests included/Docs Updated?

[ ] I have added tests to cover my changes.
[ ] All relevant doc has been updated

@UserOfficeProject/stfc-user-programme


WIP Associate WAF ACL.

@joshrosso I think I'm getting somewhere here with re-working https://github.com/coreos/alb-ingress-controller/pull/115 off of continued_stabilization. It looks like the tests have passed, and there's an error with goveralls token. Do you have any time to 👀 ?

@bigkraig I know you were a bit closer to the goveralls work.
Any idea what the token issue is? Seems to be related to when PR source is fork rather than branch on this repo.
If not, i'll investigate soon.

@athal7 Have you tested this in k8s? Or is there still work to be done integrating it?
Just checking to see if you need a review / testing of the code itself.

@joshrosso I am not an admin on our k8s cluster, so if you don't mind checking out the functionality as well that'd be super helpful

It's going to be a bit before I can test this (need to research WAF and such as i've not made use of it in AWS previously).
Is this ready to test though or do you feel there's still work to do from a code perspective?

From what I can tell it’s ready to be tested.
In case it helps at all, I think the level of verification can be scoped to whether the wafacl resource gets associated to the alb (which can be seen in the waf section of the aws console). The functionality of the waf rules themselves probably don’t need verification.

I just pushed 2f7fd3019a9cc1583071757c2cfeabb3dc8f490d which will ignore the goveralls update errors on forks. :+1:

Thanks @athal7.
Little weekend project for me to read up and see if I can test this against my own cluster.

@joshrosso just checking in on this one, thanks!

@joshrosso any luck?

@atha7 I blocked off part of my calendar to test this out tomorrow :+1:

Hi all,
I've been checking this PR because we badly needed the functionnality, and unfortunately this work is not complete (it panics at start, then after the panic has been solved, I discovered that the loadbalancer reconciliation didn't call the WAF association code, so no WAF associations were applied).
I've finished the work for our use case and validated that it works on our live k8s cluster. Since I can't contribute to this PR directly, I've open a new one: PR #278.
Please let me know if there's anything I need to do.
Thanks
Brice

i've closed this out in favor of #278


Raising an exception from GenericRpcHandler should terminate RPCs with UNKNOWN status code

Currently it terminates with CANCELLED status code and sends the exception info across the wire.
Since it is a programming error to throw an exception, gRPC Python should catch it and terminate the RPC with UNKNOWN status code.

Fixed by https://github.com/grpc/grpc/pull/13633


Fix kyverno infinite cycling

Kyverno is applying policies in an infinite loop, there appears to be several underlying issues

maybe wait with the merge until we know that all the policies have been applied as expected


deprecation note added to the chef backend docs

Signed-off-by: Dishank Tiwari<EMAIL_ADDRESS>Description
The origin of this PR : https://github.com/chef/chef-web-docs/issues/3063
The deprecation note has been added to the Chef Backend docs. The warning has already been added and merged to the chef-web-docs repo via https://github.com/chef/chef-web-docs/pull/3120 PR.

You appear to have a warning inside of a warning.

Try reducing it to just the shortcode.


vRPex: playerDropped event doesn't call for "vRP:playerLeave"

Hey Imagic, great work!
I encountered this issue with the vRPex branch, the event playerDropped seem to be having problems with the vRPclient.removePlayer(-1, source) function because if I have that function uncommented the event fails to run and hangs there. I tested it by commenting the event out and adding prints like so:

AddEventHandler("playerDropped",function(reason)
  local source = source
  print(source)
  Debug.pbegin("playerDropped")

  -- remove player from connected clients
  -- vRPclient.removePlayer(-1, source)

  local user_id = vRP.getUserId(source)
  print(user_id)
  if user_id then
    TriggerEvent("vRP:playerLeave", user_id, source)

    -- save user data table
    vRP.setUData(user_id,"vRP:datatable",json.encode(vRP.getUserDataTable(user_id)))

    print("[vRP] "..vRP.getPlayerEndpoint(source).." disconnected (user_id = "..user_id..")")
    vRP.users[vRP.rusers[user_id]] = nil
    vRP.rusers[user_id] = nil
    vRP.user_tables[user_id] = nil
    vRP.user_tmp_tables[user_id] = nil
    vRP.user_sources[user_id] = nil
  end
  Debug.pend()
end)

With the function un-commented the event hangs there. With it commented it runs the whole event.
I will look for a solution, if I find it, I will make a pull request.

It could be fixed if we had a reliable FiveM disconnect event, for now playerDropped is not always called so I can't really add a disconnect handler to remove the waiting Tunnel requests to fix this issue. If you find one, or if you can check if they fixed it, it will be good.

What about https://github.com/ImagicTheCat/vRP/commit/90dcea1ba46475a1c02493bd8fe18503931fb507 ?

Just tested the new update, apparently now the event goes through and call the vRP:playerLeave and prints the message with the correct user_id, the only weird thing is the IP on the message is always <IP_ADDRESS> but I think that has to do with source being lost before the vRP.getPlayerEndpoint is called.
This update fixed other issues with my scripts that were related to Tunnel calls and the event playerDropped not going through, thank you very much for working on it.

Creating a variable endpoint and calling it before the vRPclient tunnel call proved to solve the issue with IPs <IP_ADDRESS>, my event is like this:
AddEventHandler("playerDropped",function(reason)
  local source = source
  Debug.pbegin("playerDropped")

  local endpoint = vRP.getPlayerEndpoint(source)
  -- remove player from connected clients
  vRPclient.removePlayer(-1, source)

  local user_id = vRP.getUserId(source)

  if user_id then
    TriggerEvent("vRP:playerLeave", user_id, source)

    -- save user data table
    vRP.setUData(user_id,"vRP:datatable",json.encode(vRP.getUserDataTable(user_id)))

    print("[vRP] "..endpoint.." disconnected (user_id = "..user_id..")")
    vRP.users[vRP.rusers[user_id]] = nil
    vRP.rusers[user_id] = nil
    vRP.user_tables[user_id] = nil
    vRP.user_tmp_tables[user_id] = nil
    vRP.user_sources[user_id] = nil
  end
  Debug.pend()
end)

Thanks for the feedback, added the display fix.


Add Support for Transmission Username & Port

Category

Feature

Overview

Added new form fields to AppShelfItem to allow for user submitted username & port for Transmission service.

Issue Number (if applicable)

Related issue: #208

New Vars (if applicable)

port was added to AppShelfItemMenu

Screenshot
https://i.imgur.com/xVclVXB.png

Hey, thank you for the PR ! Why would you need a port input when your port is already in your service URL ?

Hey, thank you for the PR ! Why would you need a port input when your port is already in your service URL ?

I figured it was easier for user setup if there was a designated field for port configuration instead of needing to supply it in the URL... But now that you mention it the placeholder text for Service URL field already shows the port being added and without the other services having the port field this would make Transmission setup not match the rest. So I guess it would be better to exclude that change and just have this be a Username field addition?
Would you like me to re-submit without the port modifications?
(This is my first PR on GitHub so not sure on the process of editing an already submitted PR :P)

I guess anytime I commit to my fork it always adds to my most recent PR?

I submitted an additional commit that adds a Logo toggle for Related Issue #209
And commited changes to remove the port additions of Transmission.

I think working on another branch should not add commits to this PR

I guess anytime I commit to my fork it always adds to my most recent PR?
I submitted an additional commit that adds a Logo toggle for Related Issue #209
And commited changes to remove the port additions of Transmission.

I think working on another branch should not add commits to this PR

Ok. So I should create a new branch for every PR I plan to submit?
Would you like me to do anything else with this PR or is it ok?

Yes you should. I will review this PR and then merge it / not. One thing you could change is not making any of the fields required. I think sometimes you don't need a username or sometimes you don't need a password

Ok, I will remove required username/password for Transmission. I was basing it off your others like qBittorrent has required for username/password.
Thank you!

I guess anytime I commit to my fork it always adds to my most recent PR?
I submitted an additional commit that adds a Logo toggle for Related Issue #209
And commited changes to remove the port additions of Transmission.

Yes it seems like you need to make a different branch for each PR

Closing this because it's really messy and does multiple things.

I don’t understand how to use branches to make pull request so I didn’t know every commit I made would be entered into the same submission, I hope that’s what you mean by “very messy”, and not my coding technique.
I’ll hold off on any further PR’s until I figure out how to properly do them.

I don’t understand how to use branches to make pull request so I didn’t know every commit I made would be entered into the same submission, I hope that’s what you mean by “very messy”, and not my coding technique.
I’ll hold off on any further PR’s until I figure out how to properly do them.

Yeah don't worry your code was not bad aha. There should be tutorials out there on how to contribute to open sourced projects. Good luck!


Fix concurrent map iteration and map write error on GetMemberPIDs

Hey there,
I received the following error stack trace and it seems to be a locking problem with the GetMemberPIDs function.
fatal error: concurrent map iteration and map write

goroutine 4229872 [running]:
runtime.throw(0xd033c3, 0x26)
	/usr/local/go/src/runtime/panic.go:616 +0x81 fp=0xc4206b5a88 sp=0xc4206b5a68 pc=0x42ad31
runtime.mapiternext(0xc4206b5c38)
	/usr/local/go/src/runtime/hashmap.go:747 +0x55c fp=0xc4206b5b18 sp=0xc4206b5a88 pc=0x408b7c
rs.daimler.com/apptwin/vendor/github.com/AsynkronIT/protoactor-go/cluster.GetMemberPIDs(0xcf8067, 0x1b, 0xb9f600, 0xc436dfa2d0, 0xc42565a300, 0xc4209c5d70)
...

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Android] -2013 when __WEEX_CALL_JAVASCRIPT__TypeError: t[0].apply is not a function. (In 't[0].apply(t,t.slice(2))', 't[0].apply' is undefined)  getTemplateInfo== template md5 d6e1a36b7e84509c17c4d60b7539d395 length 842756 base64 md5 1uGja36EUJwXxNYLdTnTlQ== response header {"templateSourceBase64MD5":["1uGja36EUJwXxNYLdTnTlQ=="],"templateSourceMD5":["d6e1a36b7e84509c17c4d60b7539d395"]} where weex version is org.apache.weex:sdk_legacy:0.28.0

Dear
Weex onException show code:-2013 and msg is "__WEEX_CALL_JAVASCRIPT__TypeError: t[0].apply is not a function. (In 't[0].apply(t,t.slice(2))', 't[0].apply' is undefined)  getTemplateInfo== template md5 d6e1a36b7e84509c17c4d60b7539d395 length 842756 base64 md5 1uGja36EUJwXxNYLdTnTlQ== response header {"templateSourceBase64MD5":["1uGja36EUJwXxNYLdTnTlQ=="],"templateSourceMD5":["d6e1a36b7e84509c17c4d60b7539d395"]}"
or "__WEEX_CALL_JAVASCRIPT__TypeError: undefined is not an object (evaluating 't.ref')  getTemplateInfo== template md5 null ,httpHeader:{}"
or "__WEEX_CALL_JAVASCRIPT__TypeError: this.form.quantity.trim is not a function. (In 'this.form.quantity.trim()', 'this.form.quantity.trim' is undefined)  getTemplateInfo== template md5 61816eeb786ca07ec458b4746705e4d9 length 635411 base64 md5 YYFu63hsoH7EWLR0ZwXk2Q== response header {"templateSourceBase64MD5":["YYFu63hsoH7EWLR0ZwXk2Q=="],"templateSourceMD5":["61816eeb786ca07ec458b4746705e4d9"]}"
This version we update weex_sdk to org.apache.weex:sdk_legacy:0.28.0,and add the libjsc.so such as armeabi-v7a, arm64-v8a, x86.I also add them in build.gradle ndk at the same time.
Because when QA run the automated testing,our project occurs white screen,so I copy the armeabi-v7a to armeabi.
Looking forward to your reply!  Ths

The stacktrace is pretty straightforward, there is something wrong in your JS code, undefined is not an object (evaluating 't.ref') .
FYI: Some corner case of JavaScript code may be supported by one JavaScript interpreter, and not supported by another JavaScript interpreter.
You need to chech the JS code to fix the problem.

The stacktrace is pretty straightforward, there is something wrong in your JS code, undefined is not an object (evaluating 't.ref') .
FYI: Some corner case of JavaScript code may be supported by one JavaScript interpreter, and not supported by another JavaScript interpreter.
You need to chech the JS code to fix the problem.

OK,thanks! I will chech with the web developer.

The stacktrace is pretty straightforward, there is something wrong in your JS code, undefined is not an object (evaluating 't.ref') .
FYI: Some corner case of JavaScript code may be supported by one JavaScript interpreter, and not supported by another JavaScript interpreter.
You need to chech the JS code to fix the problem.

Do I need to copy the armeabi-v7a to armeabi?

In most Android phones I have met, armeabi-v7a is compatibility with armeabi, which means you could just move files from jni/armeabi-v7a to jni/armeabi without any problems.
Of course, there are very few cases ( I only met once) where moving so files will cause you problems.
So, generally, you don't need to copy files.

In most Android phones I have met, armeabi-v7a is compatibility with armeabi, which means you could just move files from jni/armeabi-v7a to jni/armeabi without any problems.
Of course, there are very few cases ( I only met once) where moving so files will cause you problems.
So, generally, you don't need to copy files.

👌,thas


Has crystal ever considered adding dynamic require

Discussion
if 1
require "foo"
end
or
str = "sth"
require "#{str}adapter" --> that can loads different db gem in web framework or different llm connector based on config value.
(It's common needs app that needs to connect to llm now)
ruby can dynamic require,
Has crystal ever considered adding dynamic require.

It's not really my area of expertise, but I don't really see this being a thing. Just because Ruby has something doesn't mean Crystal needs/wants it.
It's unclear how this would work given Crystal is compiled. I.e. if you can only know if code should be required at runtime, then the compiler has no way to know if that code is compatible with the rest of the program until you run it. This essentially negates all the benefits of compile time type checking.
Crystal also comes with tree shaking, so unused code will not be included in the final binary. I.e. it's not really that big of a deal including potentially optional code.

this relates to
https://github.com/crystal-lang/crystal/issues/14179
Generally ruby web framework
will let you specify db type to connect and dynamic require the
related gem. how does Athena handles it? (I just bought your
book, but haven't have time to read it:)

What does this have to do with marshaling support? Why would you need to dynamically required the related DB shard? If you know what DB you're using just add a require "pg" or require "mysql" and be done with it.

how does Athena handles it? Or does Athena doesn't have db component?
I'm assuming it has like rails does, which is a big whole full stack framework.
Then what about llm? In MetaGPT I'm contributing to,
https://github.com/geekan/MetaGPT
the framework using config to connects to different llm provider,
which makes sense not to load all llm provider eggs.

how does Athena handles it?

There is no dedicated ORM component or anything at the moment. The user installs/requires whatever DB they want to use, and generally follows https://crystal-lang.org/reference/1.10/database/index.html. Likely also leveraging https://crystal-lang.github.io/crystal-db/api/latest/DB/Serializable.html. Even if it did however, it wouldn't need dynamic requires.

Then what about llm?
which makes sense not to load all llm provider eggs.

The user would just have to require which ones they want to us? I'm not familiar with LLMs, but that seems reasonable.

The user would just have to require which ones they want to us? I'm not familiar with LLMs, but that seems reasonable.
the user, that depends, if it's fixed user, a company, that can do.
but if it's some general provider, then that's not good.
like https://huggingface.co/spaces/deepwisdom/MetaGPT here
huggingface is a generally platform where you can host your machine learning model, so MetaGPT created
a space here to let others from the world try MetaGPT. assume there will be different configuration to
fill in the form. To huggingface it wouldn't know beforehand which file to require.

I need to know Core Team's attitude towards this, if they want to go for a more dynamic path or not.
to support dynamic require, we need to split the compilation unit,
which means every file compiles to bytecode first, (which better needs Marshal support,
dump bytecode into file) , Marshal.dump(RubyVM::InstructionSequence.compile(code)),

How does interpreter implement require(currently interpreter
can require files that unknown to it beforehand)

In contrast to Ruby, Crystal is a compiled language, so the concept of dynamic require doesn't translate that well. The interpreter is a bit special, it can require code at runtime, but that's only possible because of its natural overlap of run time and compile time.
In Crystal we need to know all code at compile time. If you know which code you need at compile time, you can use compile time macros to make requires conditional. If you don't know which code you need at compile time (e.g. your program needs to support multiple db backends and it's only decided at runtime which one is used), then you need to compile all the code and only use what you need at run time.
In case it's impossible to know all the code that might need to be executed at compile time, this is quite difficult in Crystal. You could have some kind of pluggable components at runtime via dynamic libraries which you load as necessary. Crystal doesn't work very well for dynamic libraries though, so you would most likely need to write the libraries in a different language (or abstain from using almost anything from Crystal's standard library).


fix Ember.K deprecation warning

http://emberjs.com/deprecations/v2.x/#toc_code-ember-k-code

looks like this was already and better addressed by https://github.com/Vestorly/torii/pull/322


[Proposal] Support SELECT INTO OUTFILE feature.

Motivation
Doris' current data export method is relatively simple, and data can only be exported through the Export feature. The Export feature can only export data in partition level, and does not support advanced SQL functions such as Expressions, Joins, and Group By.
In some cases, Doris users will have the function to export the query results:

Export the query results, provide other users to download.
Export query results for further processing by other systems.
Bitmap type export: Sometimes users store a large number of ids (100 million +) through bitmap, and need to return these ids. At present, Doris does not support UDTF. And If it is returned through the MySQL protocol, it will not be processed because the result set is too large.

Alternatives
Support SELECT ... FROM tbl INTO OUTFILE xxx ...
This is the most intuitive and user-friendly way. The grammar is referenced from the MySQL grammar manual. In the implementation of Mysql, the exported file will be written to the local file system of the MySQL server. Since Doris is a distributed system, query results may be produced by any node. So here are two options to export:

Write the result to the local file system of a BE. And provide users with an http connection for downloading.
This solution is relatively simple. But some problems are involved:

File cleanup problem. As a result, the file may be very large and it will take up too much BE disk space. And the file cannot exist for a long time, it needs a mechanism to clean it regularly.
Connection problems. The user may not have permission or cannot directly access a BE node, so the file cannot be downloaded.

For the first problem, it can be satisfied by limiting the size of a single file, monitoring disk space, and increasing the file timeout setting and regularly cleaning up. The second problem cannot be solved, but it can be used as a temporary solution to meet the needs of some users.

Write the result to a remote storage system, such as hdfs.
This solution can use the Broker to write files to the remote system. This solves the two problems in Option 1.

I plan to implement Option 1 in the first phase so that users who do not have remote storage in time can use this feature. And then only need to make less changes, add different write file interface, we can support Option 2.
Other system
For AWS Redshift, it provides a UPLOAD command to satisfy this requirement. And it acts same as SELECT INTO OUTFILE in MySQL.
For Vertica and Snowflake, they provides shell tools to export the query result. Vertica, Snowflake. And Snowflake also support a Copy Into command.
Export format
CSV is a common way to export the query result. But some columns are in binary type, such as BITMAP_UNION and HLL. So that we should find a way to save these kind of types.
Parquet, I think, is a good format to do this. And for binary type, we can use BINARY_ARRAY type in Parquet to save.
But Parquet does not support Largeint. I will think about it later. But for most case, Parquet works.
Implementation
Syntax
query_stmt INTO OUFILE "file:///path/to/export" FORMAT AS CSV|PARQUET opt_properties

Example:
SELECT a, sum(b) FROM tbl1 GROUP BY a LIMIT 10 INTO OUFILE "file:///path/to/export" FORMAT AS CSV
PROPERTIES("prop1" = "value1");

SELECT a FROM tbl1 UNION SELECT b FROM tbl2 INTO OUFILE "file:///path/to/export" FORMAT AS CSV;

OutFileSink class
The subclass of DataSink, and it will replace the ResultSink in query plan when user specified the OUTFILE clause.
The OutFileSink will receive the query result and write it to user specified location.
GC
We can reuse the data file cleanup thread to help us clean up expired result files.
Statement return value
In MySQL, the SELECT INTO OUTFILE will return empty result set with number of rows exported.
mysql> select * from tbl1 into outfile "/tmp/out.txt";
Query OK, 100 row affected (0.06 sec)

We keep consistent with it. And more, for local file export, we will return a downlink:
mysql> select * from tbl1 into outfile "/tmp/out.txt";
{"download_url" : "http://be:http_port/file.."}
Query OK, 100 row affected (0.06 sec)

Options
Some options can be specified in properties of the statement:

result_size_in_bytes
Limit the size result file, default is 1GB. This is only limit the file size in local file system.

result_file_expiration_time
The expiration time of the result file in local file system in seconds. After expiration. the file will be removed.

file name
The result file name. The result file name format is name.expiration.csv|parquet. If file name is not specified, it will use QueryId and a timestamp instead.
For example:
my_result_file.86400.csv

10abb9b9a7c4e67-8a6a11ee73dd6278_1589177135.3600.parquet

Remaining problem

Whether to support asynchronous export operations
Some queries may take a long time or have a large result set, which may cause the request to occupy the connection for a long time.
We can consider supporting asynchronous commands. And through the Session Variable to control whether to use asynchronous commands.

Scheduling Plan

Realize the OutFileSink on BE and complete the local file export function (in CSV format).
Implement the FE side syntax and query plan, and add support for OutFileSink.
Support OutFileSink to export files to remote storage system through Broker.
Support Parquet format export.

@morningman
Wonderful proposal.
I have some questions about this.

Write the result to the local file system of a BE. And provide users with an http connection for downloading.

If the result file will be downloaded through HTTP, what's the authentication information will be attached for the download request. If there is an authentication check for the download request, the relation between user and result file will be saved. Maybe through rule, such as all result belong to one user locates in the same directory. Or FE will store all the authentication information.
Besides that, it is not a clever idea to store huge data in one single local file. So we should have a solution to support split a huge result into many files in local filesystem. And if it is supported, what user gets is not a single URL, he will get a list of URLs.
And there is another choice that we don't support unload to local file, we only can unload file to remote storage, such as S3, HDFS.

{"download_url" : "http://be:http_port/file.."}

I think download operation should be routed by FE. And we can't give user the absolute path in the URL. It is a good that FE can rewrite the path.
Usually unload is a heavy operation, if user lose the returned download URL, what left for him/her is to do this unload again, which is not efficient. If we make sure to support unload to local file, what I suggest is that we should support a command for users to list all unload result information.
As far as I know, it is hard to get information from OK message of MySQL protocol. It is not a good design to return load-id for insert into select command. So I think we should avoid this in unload operation.

result_size_in_bytes
I think "max_result_bytes" is better.

result_file_expiration_time
result_expiration_second. Better to give unit information in name.

file name
fix typo to name_prefix and I think there is no need to add TTL in file name.

After all, I think it is a good way to support remote FS first, because it will avoid us to do many things unrelated.

Hi @imay, actually, I totally agree your consideration about the local file upload. We have to care about all  messy things, such as the authentication, GC, disk space, etc..
So I may directly implement the remote storage function, after all, they are not much different.
The local file function may only be used as a test case for convenient testing of the rest of the processes.

It is OK for test, and remember to disable it when releasing. Better to update proposal for others to review it.

Updated

For the updated proposal, lack naming rule for the exported files.

For the updated proposal, lack naming rule for the exported files.

Hi @imay , for the new design, the export file name depends on user's specification in OUTFILE clause, such as:
select * from tbl1 INTO OUTFILE "/path/to/export_file_name.csv"

@morningman
If the exported file name is specified in OUTFILE, how do you want to handle when the output will be split into many files.
In Redshift, user can specify the prefix of the output files. It has some benefits, it is easy to handle when the output will be split. And the file extension can be deferred from output type.
And split_file_bytes can be renamed to max_file_size.

@morningman
If the exported file name is specified in OUTFILE, how do you want to handle when the output will be split into many files.
In Redshift, user can specify the prefix of the output files. It has some benefits, it is easy to handle when the output will be split. And the file extension can be deferred from output type.
And split_file_bytes can be renamed to max_file_size.

Updated

For the example when the prefix is "file:///path/to/file_prefix", the result should be "file:///path/to/file_prefix0.csv" rather than "file:///path/to/file_prefix_0.csv".
max_file_size may be better, because we can allow user to write size like "512MB", "1GB".


missing setup.py

can't seem to find the setup.py which is required in the install.py
running in /python setup.py install
/software/rez/rez-install/CentOS/6/2.0.0/bin/python: can't open file 'setup.py': [Errno 2] No such file or directory

setup.py was dropped in the "cleanup" commit ( ff70672c0faba3ee64cbeb6613a7f2c9f572b71c ). As it's in the commit message it seems to be on purpose.
Re-adding the file works fine here to deploy and the installed version also seems to work for now.

thanks that worked.
@nerdvegas what is supposed to replace the setup.py?

Whoops, that's a fail on my behalf. I haven't touched the installation in a
long time and I thought setup.py was a hangover from long ago.
I can't easily fix this from work. If one of you could submit a PR I can
merge it online and get it fixed ASAP. Otherwise I'll fix it tonight.
Thx
A
On Mon, Aug 1, 2016 at 2:04 AM, Lars van der Bijl<EMAIL_ADDRESS>wrote:

thanks that worked.
@nerdvegas https://github.com/nerdvegas what is supposed to replace the
setup.py?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/334#issuecomment-236527452, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSl8BBKol4RFE44kII3tfvko208Phks5qbba2gaJpZM4JZW29
.

Scratch that. Just fixed it.
A
On Mon, Aug 1, 2016 at 9:09 AM, Allan Johns<EMAIL_ADDRESS>wrote:

Whoops, that's a fail on my behalf. I haven't touched the installation in
a long time and I thought setup.py was a hangover from long ago.
I can't easily fix this from work. If one of you could submit a PR I can
merge it online and get it fixed ASAP. Otherwise I'll fix it tonight.
Thx
A
On Mon, Aug 1, 2016 at 2:04 AM, Lars van der Bijl <
<EMAIL_ADDRESS>wrote:

thanks that worked.
@nerdvegas https://github.com/nerdvegas what is supposed to replace
the setup.py?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/334#issuecomment-236527452, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjqSl8BBKol4RFE44kII3tfvko208Phks5qbba2gaJpZM4JZW29
.


there is something odd with the schizophrenia

there is something odd with the schizophrenia. is there routing for the subtypes in the data set? @mollyrdavies

data needs reexporting because tons of NAs

question has been added 3 months later. we should discuss re-sending it to the sample with gerome


Compatibility template changes to standardize rbf/segwit sections

@dongcarl pointed out inconsistencies between the RBF/segwit sections in the template. This PR helps bring them into the same layout.

LGTM.  Good catch, @dongcarl!

Perhaps not urgent for this release, but I think these sections in the template might want to link out to other resources detailing RBF/Segwit just so people have some context. Not sure what our policy is on that though. For example, "generates P2SH-wrapped P2WPKH segwit receiving addresses" might be quite familiar to us... But perhaps not every reader.

I think these sections in the template might want to link out to other resources detailing RBF/Segwit

I agree. Options for linking:

scaling book (once the chapters are complete)
optech website topics pages (once https://github.com/bitcoinops/bitcoinops.github.io/pull/167 is merged)
Bitcoin wiki
btcinformation.org


Incorrect autocomplete for "File" class

VSCode Version: 1.45.1
OS Version: Windows 10

Steps to Reproduce:

New JavaScript file + following code:

class File {
    Method() {
    }
}
const file = new File;
file

Put the dot (.) on the last line and wait until the window with suggestions appears.
It is expected for the list in the window to has a Method member, but it contains a Blob class members instead:

It seems that VSCode thinks that it is a File class for web:

Does this issue occur when all extensions are disabled?: Yes

dom is one of lib values that are used in default TS config.
In your case you would need to create jsconfig.json that explicitly doesn't contain dom in lib array, but has libs that are relevant to your Node.js version (or other runtime).
Example

According to the JavaScript language rules local class File shall override global one.
To the contrast commercial Microsoft Visual Studio Professional 2015 Update 3 is smart enough to display hint correctly:

@IllusionMH
I'm not sure if this is related to tsconfig.
How about the case when we override the browser's class and dom can't be removed from tsconfig?

OK, looks like I was (partially) wrong about dom in lib.
TS won't have any problems with local File in module scope, but without top level import/export/require/module.exports it would be treated and global scope (see https://github.com/microsoft/TypeScript/issues/18232)
If you are not expect to work in global scope adding export {} (or other import/export according to module format) should resolve problem.
For global scope it became more tricky - TS has a lot of declarations that not expected to be overridden in global scope (related issue https://github.com/microsoft/TypeScript/issues/29237).
In the meantime I can guess that it's only excluding dom from lib and providing own "patched" copy would work out of the box.
@olvap80 not sure what configuration and TS version VS 2015 uses by default  (if any).
/assing mjbvz


Re-render

It looks like the CI for last PR (#1 noarch migration) actually failed after merge. Presumably just a random failure that would succeed if re-run. Anyway, I figured it would be worth doing a re-render as it has been 9 months.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


OFFICIAL BREAKING-CHANGES NOTIFICATION THREAD

This is the official announcement thread for breaking changes.  If you'd like to be informed about breaking changes, subscribe to this thread.

Signed up now.

I would much prefer it if you emphasized strongly on backwards compatibility. There's so many things to keep track of already.

I agree with @annevk that it would be great if Bikeshed starts focusing on backwards compatibility now. I am signed up but won't have much time for a lot of edits the next weeks.

Eh. Living standards need living tools. I've certainly spent more than a few hours cleaning up tool-induced breakage, but I suspect we could deal with that by tagging release branches so that folks who want to stay on the bleeding edge can get all the new stuff, and folks who want to stay in the past can do so easily. :)

Yeah, fast evolution + semantic versioning (including of the curl API) to avoid unexpected breakage would be my preferred solution

I already focus pretty strongly on backwards compat.  Things break on occasion, but unintentionally, and I fix fast.  The #230 bug I'm referring to is a long-standing footgun/issue that I'd like to fix to make Bikeshed make more sense for the future.  Being unable to provide a real title for things is annoying. :(
But back to the subject - y'all all subscribed to spec-prod?  Or would you prefer something else that's potentially less noisy and more Bikeshed-focused, like a custom mailing list?

Slight preference for just Bikeshed.

What if there was a list of bleeding-edge specs that could be used as test cases? Breaking changes are fine, but if a bikeshed change breaks anything in those specs, you also have to update the spec source to accommodate the bikeshed change? I'd much rather have everything up-to-date in my spec sources than find out about a breaking change weeks or months in the future.

Within CSSWG/FXTF, you're covered now; just delete Overview.html from the repo, and Shepherd will automatically generate for you on push (and regenerate when necessary, if link targets change). If there's problems, it'll email you (and me).
I try to run Bikeshed periodically on some other specs as full-integration tests, particularly Web Animations, as they stress a bunch of features that aren't used as much in the CSSWG.

I very much prefer test-before-check-in to check-in-and-see-what-breaks, so I'd suggest running more specs through your changed code more often. Perhaps even as an automated step…
But this is your project, not mine. So I'll try out letting Shepherd generate the file (after doing that myself to a temp directory before checking in, of course)

No need to generate to a temp directory.  The repo also has ignore rules for Overview.html, so you can generate it locally and just ignore it; you just have to delete it from the repo.
And I've finally set up a TravisCI system for auto-running my tests, so I'll get notification a few minutes after a push if I break everything.

Since I haven't yet set up the Bikeshed-only mailing list, let this suffice as a warning to everyone that I have made the title => lt change described in #230.  This is a breaking change - Bikeshed will fail to link things properly if you continue to use title.  For a while, Bikeshed will warn you if you having any title attributes on <a> or <dfn>.

Perhaps we can just use this issue thread for announcements? (And remove irrelevant comments now and then to make it a bit clearer.)

Sounds good. THIS IS NOW THE OFFICIAL ANNOUNCEMENT THREAD.

New (relatively minor) breaking change: @annevk convinced me to simplify the ID generation for IDL methods when there's no conflict, to generate prettier IDs.  This just means that method IDs will be of the form dom-{interface}-{method}, rather than dom-{interface}-{method}{args}, unless you specifically defined several overloads in the same spec.

Not really a breaking change, but likely to bork you at first: I just switched syntax highlighting from Prism.js to Pygments.  If you don't have the pygments package installed, Bikeshed will complain and tell you how to download it.

Not really a breaking change, but I just pushed some commits that change the format of one of the metadata files. Run bikeshed update or else you'll get a crash.  (I'll write the code to automatically pick up more up-to-date files from the repo copy next, I swear!)

Possibly breaking change: annevk ran into a markdown parsing bug https://github.com/tabatkins/bikeshed/issues/623 that, if I want to fix it, requires being more strict about markup.
Specifically, I check to see if we're starting an "opaque block" (script/style/pre/xmp) by just seeing if the start tag shows up anywhere on the line.  Markdown processing happens before HTML parsing, so this fires on tags in comments or attribute values, which the HTML parser obviously won't see as a start tag.
The only way to fix this reasonably is to tighten the requirements for recognizing these blocks. Specifically, I'd change them to only be recognized when they're the first non-whitespace content on the line.
This shouldn't be a change for style/script in practice, but if you have any <pre> that aren't the first thing on that line (or you use the Opaque Elements metadata and those tags aren't the first on their line), they'll start getting markdown-processed, which probably isn't what you want.  Let me know before I change this!

Never mind, this wasn't necessary. Fixed the problem more directly by just stripping comments at Markdown-parsing time.
This is not a breaking change, because (a) the minify setting defaults to removing comments, and (b) regardless of the minify setting, the serializer was accidentally just skipping comments anyway, so your output has been comment-less without any recourse for some time now.
I'll delete this comment and the preceding in a sec. Just wanted to give everyone an update that the previous comment can be ignored anyway.

Just pushed some internal rearchitecting of how I handle refs, separating out local/anchor-block/foreign into separate data structures. Shouldn't be any visible change (I ran it on a couple of specs to make sure), but if you see anything confusing, let me know.
On the plus side, this is a minor but significant perf win; DOM processes about 10% faster!

And... Bikeshed is now a Python 3 project. It'll now print out a nice refusal message if you try to run it on Py2.
Install instructions forthcoming, but the most relevant bit is that it requires Python 3.7; this isn't the default py3 install on many OSes, so I recommend using pyenv to install it. Here's a tutorial.

@frivoal just pushed a very nice set of commits improving various little bits of the <wpt> element, most notably the new WPT Display: closed value and associated styles. When this is turned on, the <wpt> element is a <details> that starts closed, with the summary being a small, out-of-the-way little "TESTS" that doesn't visually interrupt at all.
This is looking so good that I think I'll flip it to the default soon, for non-TR documents. If you're currently use <wpt> and definitely do not want tests to show in your document, add a WPT Display: none metadata to your spec or your group's defaults.include file.
We flipped it on by default in the CSSWG just a few minutes ago, so in a little bit (once everything regens) you'll be able to see how it looks on any CSSWG spec - I recommend checking Color 4 and searching for "tests".

This is looking so good that I think I'll flip it to the default soon, for non-TR documents.

I would prefer to see them like this on /TR documents, too.

Ah yeah it's been nearly a year and the experience has been great, I'll just flip the default

As part of my quest to add typing hints to all of Bikeshed, I'm also ending up refreshing some old confusing code that dates back to my earliest implementation. Most recently, I did a decent rewrite of my biblio handling, which will likely cause some changes - in particular, I believe I now correctly handle the Default Biblio Status metadata (and its default, which is based on your spec's Status) in all places, which from the testsuite diff will probably affect a lot of references, switching them from snapshots to EDs or vice versa.
If anything looks wrong, please let me know.

Notice of breaking change, effective for a while already and documented in https://github.com/speced/bikeshed/issues/1773#issuecomment-1599680734:
The ABSTRACTATTR macro is no longer supported by bikeshed. If you use that in your templates or documents, they need updating.


CI: v1.12: ConformanceEKS: Connectivity test failure

CI failure
❌ command "curl -w %{local_ip}:%{local_port} -> %{remote_ip}:%{remote_port} = %{response_code} --silent --fail --show-error --output /dev/null --connect-timeout 2 --max-time 10 http://<IP_ADDRESS>:8080/" failed: command terminated with exit code 22
  ℹ  curl output:

...

📋 Test Report
❌ 1/41 tests failed (1/276 actions), 8 tests skipped, 1 scenarios skipped:
Test [allow-all-except-world]:
  ❌ allow-all-except-world/pod-to-pod/curl-ipv4-1: cilium-test/client-755fb678bd-7r8kg (<IP_ADDRESS>) -> cilium-test/echo-same-node-6c486c6b76-2j8b2 (<IP_ADDRESS>:8080)

Sysdump: cilium-sysdumps (3).zip
Link: https://github.com/cilium/cilium/actions/runs/4942065114

👀 Looks like there's no network policies at the time of the failure:
» cat *networkpolicies*yaml
apiVersion: cilium.io/v2
items: []
kind: CiliumClusterwideNetworkPolicyList
metadata:
  resourceVersion: "4769"
apiVersion: cilium.io/v2
items: []
kind: CiliumNetworkPolicyList
metadata:
  resourceVersion: "4769"
apiVersion: networking.k8s.io/v1
items: []
kind: NetworkPolicyList
metadata:
  resourceVersion: "4769"

I see it got deleted here:
483:2023-05-10T23:23:42.409157593Z level=info msg="Deleted CiliumNetworkPolicy" ciliumNetworkPolicyName=allow-all-except-world k8sApiVersion= k8sNamespace=cilium-test subsys=k8s-watcher

Prior to the drops seen in the tests:
cat hubble-flows*json | grep <IP_ADDRESS> | jq '.flow | select(.verdict=="DROPPED") | .time'
"2023-05-10T23:32:52.573131244Z"
"2023-05-10T23:32:52.573133413Z"
"2023-05-10T23:32:53.599004463Z"
"2023-05-10T23:32:53.599006445Z"
"2023-05-10T23:32:57.567658481Z"
"2023-05-10T23:32:57.567660376Z"
"2023-05-10T23:32:58.591156136Z"
"2023-05-10T23:32:58.591158429Z"


Update Composer dependencies (2021-07-01-00-11)

Visual regression test passed!
View the visual regression test report


Fix resource leak (error handler)

See #2601. The early return in detectEWMH is leaking the error handler resource. This is a problem for window manager developers.

I've confirmed this fix works on my machine. I can reload my WM without restarting X server if I compile it with the patched version of GLFW

This is a duplicate of #2593, but that is also not yet merged.

When will this get merged?


Fixes deprecation warnings introduced in React 15.5.0

Description

Updates dependencies
React.PropTypes -> PropTypes
React.createClass -> createReactClass

Motivation and Context
React 15.5.0 introduced deprecation warnings for PropTypes, createClass, and react-addons: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Fixes #114
How Has This Been Tested?
Ran npm test on my machine, all tests passed.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

This pull request has been up for a month -- any word on when we can get this merged in?

I'm currently using this library but I don't like to see those warnings and this pull request seems to be well-structured, why don't we get this update?

This got merged and after reinstall from this repo I keep getting the same error, any idea why?

@tonoslav we have to wait a new release.

any updates on this? warnings are still here


feat(presets): new preset stencil

Add preset for projects based in the Stencil framework.
Relates to: https://github.com/aziontech/bundler-examples/pull/66

:tada: This PR is included in version 4.3.0-stage.1 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Magic number

Cleanup
What should be cleaned up or changed:
To avoid problems with "number magic" in the future
My suggestion is to change comments by a variable. It is easier to read and understand.
Provide any links for context:
Code
That's my suggestion

fixed by: https://github.com/ResultadosDigitais/matrix/pull/353


Weather widget does not refresh automatically

Category

Bugfix

Overview

add refresh interval

Issue Number

Related issue: #1825

Does it really need to be fetched every 5 minutes?
That's a once an hour job at most I think. maybe 30 minutes.
I do agree it needs refreshing, I'm surprised it didn't have one yet.
5 minutes interval for a small request like that may seem small, but we're using an external API for this one, and we really don't want to abuse their kindness, from what I heard, it was hard enough to find an API that was free and open.

Ok you're right but if we want that it will be reliable so 30 minutes is the best.


Create enum types for string attributes that contain a set of allowed values

Note that I've kept the string version of the setter for now so that it would still work with current WildFly Swarm API's. I do think once we've converted the API's to use the enums we should remove the string setter.

Wow, thats great James. I'll have a look on monday.

Has anyone had a chance to look at this?

@jamezp sorry, my bad. I'll take a note and get back to you soon.

I've rebased and merged it manually. Thanks James. For now I've left the deprecated String API.

Awesome. Thanks @heiko-braun!


Add explicit --resolv-conf to kubelet

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
xref https://github.com/kubermatic/machine-controller/issues/1377
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Add explicit --resolv-conf to kubelet

we don't need this


[INFRA] EF Team Git IDs - Contact

I released today that a EF git IDs wiki is necessary to enable MPWG to collaborate via git issues without wondering around for those IDs.
https://github.com/eclipse/microprofile-marketing/wiki/Eclipse-Foundation-Team-GitHub-IDs

@rstjames, thank you for your help on this!
Can you please add the wiki to the MPWG page https://microprofile.io/workinggroup/  under Email Forums?
Position:
Below the CN4J forum
Description
Eclipse Foundation Team GitHub IDs- Contact Information
If you need to collaborate with the Eclipse Foundation Team on any specific task associated with the project such as Ops, Marketing, or Infrastructure, find the individual's gitID & submit your ticket request via the  MPWG git issues & the MicroProfile Marketing.

Updated


Correction for raw affiliation Environmental Policy Group (ENP), Wageningen University and Research, Wageningen, The Netherlands; Food and Healthy Living Group, Aeres University of Applied Sciences, Almere, The Netherlands

Correction needed for raw affiliation Environmental Policy Group (ENP), Wageningen University and Research, Wageningen, The Netherlands; Food and Healthy Living Group, Aeres University of Applied Sciences, Almere, The Netherlands
raw_affiliation_name: Environmental Policy Group (ENP), Wageningen University and Research, Wageningen, The Netherlands; Food and Healthy Living Group, Aeres University of Applied Sciences, Almere, The Netherlands
new_rors: 04qw24q55;03jnx2c74
previous_rors: 04qw24q55;015d5s513
works_examples: W4364378753
contact: c679cf3b84bb109dc3f5ca52a0731ecf:511216b222119b575d0d @ hotmail.com

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Update compatibility MLJModelInterface = "^0.3.5,^0.4"

Codecov Report

Merging #4 (40091b8) into master (b11fb86) will decrease coverage by 24.07%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master       #4       +/-   ##
===========================================
- Coverage   88.88%   64.81%   -24.08%
===========================================
  Files           1        1
  Lines          54       54
===========================================
- Hits           48       35       -13
- Misses          6       19       +13

Impacted Files
Coverage Δ

src/MLJNaiveBayesInterface.jl
64.81% <0.00%> (-24.08%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #4 (40091b8) into master (b11fb86) will decrease coverage by 24.07%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master       #4       +/-   ##
===========================================
- Coverage   88.88%   64.81%   -24.08%
===========================================
  Files           1        1
  Lines          54       54
===========================================
- Hits           48       35       -13
- Misses          6       19       +13

Impacted Files
Coverage Δ

src/MLJNaiveBayesInterface.jl
64.81% <0.00%> (-24.08%)
:arrow_down:

Continue to review full report at Codecov.

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

Waiting for https://github.com/dfdx/NaiveBayes.jl/pull/48

Waiting for https://github.com/dfdx/NaiveBayes.jl/pull/48


[WIP, need CI] Unsettle some dependencies to unpin the max matplotlib version

What is the change?
BRB
Why is the change being made?
matplotlib v3.8 being the max version doesn't always work with higher python versions. The pip resolution in github actions  is not behaving the same elsewhere. So let's just fix the max pin instead.

Checklist

[x] This PR has only one purpose or idea.
[ ] Tests have been added/updated to verify any new/changed code.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[ ] The release notes have been updated if necessary.
[ ] The documentation is still up-to-date in the doc folder.
[ ] The dependencies are still up-to-date in pyproject.toml.

Okay, I see broken tests. But I like the IDEA of the PR, and am happy to support it in whatever way you need.

Okay, I see broken tests. But I like the IDEA of the PR, and am happy to support it in whatever way you need.

Yep I'm just playing around trying to find a set of deps that works with the unpinned matplotlib for higher python versions.
I have to find the place in the code responsible for returning the np.int64 dudes and force an int, otherwise we are close!

@john-science This is ready now! let me know if it's important enough for the release notes. I guessed "no" but I'm willing to be wrong.


Android Improvements

This branch adds minor improvements to TensorFlow on Android.

e02edef lowers API support to level 14 — which is confirmed to work, rather than level 21 as indicated right now. This setting is commented out by default, but could be a useful guideline to most users. It might be more interesting to update the CI server to naturally produce nightly builds at that level, but it doesn’t seem like I can send a PR for that (unless I missed it).

5971f69 introduces the use of GC sections when compiling libtensorflow_inference.so, which has the effect of reducing final binary size.
At the time of this PR, the following improvements were observed:

arch
master
this branch
delta
%

armeabi-v7a
10197000 bytes
9353164 bytes
-0.8 MB
-8%

arm64-v8a
16568952 bytes
14693056 bytes
-1.8 MB
-11%

x86
16631748 bytes
14751612 bytes
-1.8 MB
-11%

x86_64
16509880 bytes
14715632 bytes
-1.7 MB
-11%

Final observed impact on an app is around 1MB on a unified release APK.

Can one of the admins verify this patch?

@andrewharp PTAL

Just wondering, is there anything else I need to do here? It seems like the Sanity Checks haven’t been completed/reported yet. cc @andrewharp

@tensorflow-jenkins Test this, please.

Jenkins, test this please

Sweet, thanks for the help @andrewharp @dandelionmane @jhseu. And thanks @petewarden for giving me the motivation to get into TensorFlow in the first place.


Create unit test for /pkg/exec/exec.go

Is this a BUG REPORT or FEATURE REQUEST?
FEATURE REQUEST

What happened:

Create unit test for https://github.com/openebs/litmus/blob/master/pkg/exec/exec.go

Anything else we need to know?:

Refer tests at https://github.com/openebs/maya/tree/master/pkg/task/v1alpha1

I would like to take this issue.

Sure @kaustumbh7 !

The go-based executor has been deprecated for now, with plans for the same being developed independently in a separate repo. Closing this issue now. Will be created on the new repo once available.


Fix issue where token color is not being overridden

Was trying out the editor.tokenColors option, and saw that it was busted. Fixing it so it has parity with the documentation - this is important for the usability of our textmate highlighting feature.


Grade avatar background color in dark theme

Describe the bug / expected behavior
In dark theme, grade avatars' background color should match the custom "filled container" colors. This is mostly for the yellow grade color to not be too "glowy" in the dark.
Left: Current implementation; right: design

full design rationale:

To Reproduce
In React Native showcase demo, scroll to the grades part. Turn on dark theme. Observe.

BLUI-5065


loudness_window() and max_history()

Here are some patches for your consideration.
I am using libebur128 as a component in an audio loudness normalization filter for MLT. I would like to have the ability to control how much data is uses  for the calculations.
loudness_window() allows the calculation of durations other than 400ms (momentary) and 3s (shortterm).
max_history() allows the integrated loudness to be calculated over an arbitrary period of time (e.g. the last 10 minutes.
I also made some other changes which I find useful.
I would also appreciate some discussion about the names of function or perhaps better ways to pass new parameters into the library.

Hello,
as an end user of the library, I'm not sure this is a good idea.
Although I can understand your needs, your proposed changes would allow the library users to break BS 1770 / R128 standard, which sort of doesn't fit well with the library name, while at the same time making the code less easy to maintain.
Nevertheless, this is just my opinion, which only represent myself.

Thanks for your comments. Here is some more context for my perspective:
5599ca0 and d8d6087 are cleanup/bug fixes that (in my opinion) should not be controversial. I think they should be considered on their own merit. I could submit them as a separate pull request if that would be better.
I kind of feel the same way about 9eda37f. If you call a loudness function before enough frames have been provided, you can get bad values with no error. Maybe one could argue that the application should take responsibility for keeping track of when it is safe to call the functions, but I think the change is minimal and the benefit is worth it.
For 8eb2220, I can understand why there might be some reluctance. I would offer two points:

The current implementation uses an unbounded linked list. This might be fine if you use the library to create replaygain tags for your mp3 files. But in a real-time linear application, this is irresponsible because the list could grow until the system runs out of memory. I understand that the histogram can avoid that situation, but why allow the non-histogram mode to have the possibility? I think there should be some bounds.

For real-time linear applications, it isn't really useful to know the program loudness over last 5 days because the program loudness could have changed multiple times over those days. EBU suggests that you can "reset" the meter whenever you want. But that requires manual interaction and then you lose recent history. In my opinion, the most useful way to put R128 to use in a real-time environment is to know program loudness over the last x minutes of time so that you can see if a particular program is moving out of tolerance. The value for x might be application dependent, but I could see 30 or 60 minutes as very useful windows.

Also, I'm not completely satisfied with adding a whole new function just to set the history parameter. An initialization parameter might be more appropriate, but then I don't know how to maintain backwards compatibility (if only C supported function overloading). So I would be open to comments on that.
Regarding 8eb2220, I think this one is the most obtrusive, and I could imagine some good arguments for excluding it. Again, I'm targeting real-time linear applications. All I really wanted was to be able to get the earliest estimate possible when I start analyzing data so that I can try to detect transitions in programming and respond very quickly with a down-stream gain adjustment. Even the momentary loudness of 400 ms is too long to detect transitions and respond quickly in some situations. But maybe i overreached by making the window configurable.
I'm very open to discussion on all topics and am looking forward to evolving this into a valuable contribution.

I've reviewed the commits and pushed them into the "review-pr-49" branch with some changes.
Some comments and questions:

5599ca00f2aef1c8e69e8b5e34467e3797c9c593 and d8d6087f8edf1781ff96809c41b82f62e25f9849 look fine to me.

8eb222023bd2b71532232fe81dd1c1729c13abd8: The window parameter must not live in the ebur128_state struct as it would break the ABI. I've moved it into the private struct and made it an "unsigned long" as "unsigned int" could be a 16 bit type on some systems.

I haven't included the EBUR128_ERROR_INSUFFICIENT_DATA commit yet. What does R128 say on the matter of momentary/shortterm loudness at the beginning of a file? What are other tools doing? I've added a commit that sets the audio_data buffer to 0 after allocation, though. Without this commit calling ebur128_loudness_momentary() at the beginning of a file causes undefined behavior as it reads uninitialized memory inside the loudness calculation. So ebur128_loudness_momentary() will truly always succeed now. Everything before the start of the file is interpreted as "silence".

Before I look more at the histogram limit commit, I'd like to ask if anyone would miss the non-histogram mode. The only upside this mode has is that it is slightly more accurate. But the histogram mode is well inside the tolerance allowed by R128. The default mode uses a linked list, which results in many memory allocations. Traversal of this list is also probably not so fast (bad cache behavior). Are there any reasons for using the default mode instead of the histogram mode?

Thanks for your thoughtful consideration.
Regarding EBUR128_ERROR_INSUFFICIENT_DATA:
R128 (and corresponding EBU docs) do not define any meaning to momentary/shortterm loudness before 400/3000ms respectively. In my experience with other metering tools, they tend not to show anything until the minimum time has elapsed. Initializing the buffer with silence is a good idea. But that doesn’t mean a call to ebur128_loudness_momentary() will return meaningful results before 400ms has elapsed.
In my metering application, it was my desire to not show anything until the minimum time had elapsed. Adding EBUR128_ERROR_INSUFFICIENT_DATA was a convenience for me so that my application didn’t have to keep track of the number of samples processed. If you choose not to take the EBUR128_ERROR_INSUFFICIENT_DATA patch, I will just modify my application to count the processed samples and turn on the display when appropriate.
Another option to consider would be for libebur128 to take a hardline stance and declare that there is no measurement until the minimum time has elapsed. The ebur128_loudness_*() functions could return –HUGE_VAL until sufficient data has been received.
Regarding history limits:
I agree that in the current release, the histogram mode is sufficiently accurate and the default (linked list) mode is not necessary. However, I think you should give serious consideration to my ebur128_set_max_history() patch which uses the linked-list mode. This feature allows one to calculate the integrated loudness over a sliding window of time. While this capability isn’t required by R128, they do hint at its usefulness in Tech 3341:

There may be cases where it is relevant to use other window lengths or time constants than those specified above. This is allowed in a loudness meter offering ‘EBU Mode’, but it should be clearly indicated on the meter whether or not the set of EBU parameters are in effect (‘EBU Mode’).

In my specific application, I use a sliding integration window to provide a feedback loop to an automatic gain control block. This allows my application to perform automatic loudness normalization on live and long-form content. The sliding window duration is configurable to meet different live scenarios.
Also, I use ebur128_loudness_window() at the beginning of a program in order to make a fast initial guess of its loudness level – this is the first value that feeds into the AGC block to set the initial gain offset.
I think that historically, most libebur128 users have been using the library to calculate metadata or fixed gain offsets for short-form content (like music files or commercials). The max_window and max_history features add capabilities that are most useful for live and long-form content. So I hope people will be open to these ideas even if they fall outside of the traditional uses for this library.

I've merged the ebur128_set_max_history commit with some minor changes that should not affect how the function behaves. Please let me know if it works for you.

Looks good. Thanks!


Can you please let me know, how to run the SOTA CODS model mentioned in the paper.

Amazing work. I read the paper and it says, CODS can actually control the number of sentences in the summary.   I think you have mentioned the generation pipeline under the topic of CODS: Salesforce/cods-bart-large-xsum-samsum.
I am interested in generating 1 sentence summaries. But I noticed sometimes, it does not generate TLDR, where it throws an error saying list out of index (due to this  split(" TLDR ")[1]).  Is there a specific reason to this?
When the number of words in conversation is less than the maximum output length (400), it says manually reduce the  max_length parameter.  Why are you using the parameter, 400 for this? Is it a hyperparameter? If I remove it will it generate dynamic length outputs?

@shamanez,
During training, we train the model to generate KEY_PHRASES TLDR SUMMARY, and during inference, if the KEY_PHRASES generated are longer than the max_length set, then we may see that error. One potential solution is you increase the max_length.
max_length is an inference hyperparameter that you can play with so the model will stop exploring until it reaches max_length. The warning you get is coming from huggingface library because it tries to remind you that your input is shorter than the output max_length summary. You can ignore that.

Thanks.


Daemons/server-side apps via Client Credential Flow

The documentation says this is not supported but the user voice feedback item says you can do this now:
Daemons/server-side apps

This flow is not currently supported by Azure AD B2C.

user voice:

Currently, you can use “App Registration” blade in the Azure Portal (outside of the Azure AD B2C blades) to register an apps that define application permission and the register apps that use client credentials to request these. The caveat is that this is done using the same mechanism that you’d use in regular Azure AD.

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

ID: b05da885-25ac-99ff-890d-97e9c670f1d7
Version Independent ID: 0673a2a2-e408-8ed4-83c8-1acc461d2c74
Content
Content Source
Service: active-directory-b2c

@spottedmahn Thanks for reporting this. I have assigned the issue to the content author to take a look and update as appropriate.

#in-process

Reference: SO Post: headless authentication Azure AD b2c

@spottedmahn You can do it outside of AD B2C using this information:
https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devquickstarts-webapi-dotnet
https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds
But as you know, this would be completely outside of B2C. I have opened an item in our documentation backlog to clear this up in the article.
We'll respond back to you on this issue when we've done the work. For now, we'll close this GitHub issue.
#please-close

@spottedmahn An update to this issue: The article Application types that can be used in Active Directory B2C already had a discussion about the limitations around server-side apps. I revised the text per engineering feedback and added a link to the active directory article that describes the flow.

Nice, looks good, thanks @davidmu1 👍


Support RTL animation

First of all I'd like to thank you for this great package,
Right now there is no support for RTL skeleton animation, is there a way to add a direction (direction: string, Defaults to ltr) or rtl (rtl: boolean Defaults to false) prop on SkeletonTheme component to deal with that?
Happy to help on that!

It will change only the element direction and not the animation

Since are you using animation CSS property, the only way to change the animation direction is to use animation-direction property.
Right now we can set that only on Skeleton component using className/style properties which will be repetitive if you are using many Skeleton components.
A better way to deal with that in my opinion is to set a new property (direction) on SkeletonTheme component and change the animation-direction value from normal to reverse according to direction value (rtl/ltr).

Ah sorry I didn't explain my idea well. I meant that we can modify the library so that it already comes with CSS that detects if a skeleton is in a rtl document (or section), and if so apply animation-direction: reverse by itself. This would maintain the ethos that the skeleton should automatically adapt to the contents of your page, rather than having to manually specify the direction in some another way. It seems that the :dir pseudo-selector I mentioned earlier has limited browser support, but if your page is using the dir HTML attribute then we could still make the idea work.

I opened a PR for it @dvtng https://github.com/dvtng/react-loading-skeleton/pull/78, hopefully it will work

Hello @saadaouad @dvtng last open PR looks good to me, please merge it and issue will be fixed, we are waiting for rtl props to skeletontheme, Thanks!!

I had fixed this issue with this
${({theme:{isRTL}}) => isRTL && css`
    .react-loading-skeleton {
      animation-direction: reverse;
    }
  `}


Issue when trying to access to the tutorial

Hi,
When trying to access to the tutorial https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/, the Linux terminal is returning this error:
`Sorry, we encountered a problem. Support has been alerted.
This is potentially due to a HTTP Proxy blocking Websockets.
Websocket Error - Connection Failed. Reload the page to try again.
`
Yesterday I was able to access to the tutorial with no problems, and my proxy configuration hasn't changed. Could you help me?
Regards.

Maybe cause by your network, I can access the page normally.

there is no problem with accessing the tutorial docs.
/close


Unable to run skhd directly after Sequoia upgrade

After upgrading to macOS Sequoia, I was prompted to re-grant skhd access to accessibility features. It was already enabled, and flipping the toggle off and on did nothing. To rid the prompt appearing when running skhd --start-service or skhd --restart-service, I had to:

Remove the skhd entry from the list of applications which have been granted accessibility access.
Run skhd --restart-service.
Grant access to the new entry through following the prompt once more.

However, I still cannot just run skhd directly in my terminal. I am constantly met with a prompt to grant accessibility access to eitherskhd, or alacritty.  Both of these have been granted permissions, and all has worked fine until the upgrade.
All of this is to debug and test some broken features with Sequoia, specifically to interact with yabai, and more specifically, this, which seems to have broken every single keybind I have configured in skhd.
For clarity, even with skhd running as a service, none of my keybinds are working. Assumed due to the link above.

Funny temporary fix, I found that typing skhd -V in the terminal, and leaving the output open in the terminal returns the hot keys back.
But I can replicate the above issue, currently skhd --restart-service is completely stuck

I had a similar problem. Doing an install from source into another location than the standard homebrew location and starting the service from Terminal worked for me. I also had to allow Accessibility services for the Terminal app though. Some key bindings for yabai (those moving windows to other spaces) still don't work but this may well be due to yabai and not skhd.

reinstalled using brew and it worked for me.


Incorrect spacing on tabs for repo homepage

Screenshots taken from: https://github.com/alichtman/shallow-backup, although I can only reproduce this on my own repos, so I imagine it'll be the same for you.
With Refined Github enabled:

Without:

Env Info
OS: macOS 10.14.6
Browser: Firefox 71.0 (64-bit)

Do you have the more-dropdown feature disabled? If not, do you have a console error you can share? I correctly see the Security and Insights tab under More.

Do you have the more-dropdown feature disabled?

I don't remember disabling that feature, as I haven't modified these settings in about half a year and this bug is new, but that did fix the issue.
Thanks :)

You probably disabled it when it had a bug that prevented you from using the repo (it was stuck open)


Deku/playwright port

Pull Request Template
Description
Please include a summary of the change or which issue is fixed. Also, include relevant motivation and context.
Remember, as mentioned in the contribution guidelines that
PR's should be as atomic as possible 1 feature === 1 PR. 1 bugfix === 1 PR.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:

[ ] My code follows the style guidelines of this project. npm run lint passes with no errors.
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes. npm run test passes with no errors.

@kumardeepakr3 this looks very interesting. Any reason for immediately closing the PR?

Hey @tnolet , I was just trying something for a internal hackathon project. I saw that puppeteer's extension was created by you but there is nothing that existed for playwright. I saw on Playwright's github repo too. There was an open issue pending there. So I tweaked the codegen to output code for puppeteer recorder for playwright.
I closed the PR immediately because I was intending to merge changes to my master branch rather than for the main project.
Also I see that you have plans of extending the scope of the recorder to playwright. I'll be happy to help and collaborate if needed.

@kumardeepakr3 gotcha! Thanks for explaining


Add emotion

What I did:
-Upgraded Deps

Added cross platform utils (rimraf ect)
added emotion to be accessed by import grid from 'easy-grid/emotion'
added new testing utils and tests with emotion
used object styles functions rather than template literals for  GridDiv & GridCell . (bundle and performance)
Removed Example folder as repo in oder to not have to deal with deps

For Future thoughts:

Was thinking about wrapping grid in another factory that way it can also be exported as const createGridComponentFactory=(styled,OptionalGridDivStyles, OptionalGridCellStyles  that way this factory  can be used extend the styles of GridDiv & GridCell if needed, and also not depend on a certain css-js lib, but will depend if the css-js share similar api to emotion & SC.

from there we can have a createGridComponentFactory as an export, and default exports for styled-components and emotion files would just be export default createGridComponentFactory(styled)

May do the higher level factory on a separate PR. Not currently using it anywhere, i just went down a rabbit hole one day searching around seeing how people are using cssGrid with css-js. 😆  Sparking from a random idea to see if it would be possible to create a Table/Grid component with draggable cells using cssGrid. This library didnt help with that, but i did appreciate its usefulness so 👍 job.

Sounds good. Thanks for the help!

So - before I can accept the pull request, I have to ask that you sign Google's Contributor License Agreement here: https://cla.developers.google.com
It allows you to retain ownership of the code submitted while granting Google the necessary legal rights to use the contribution. If you don't feel comfortable with that, no hard feelings.

Did it before making any commits, read that handy dandy CONTRIBUTING.md 😉

Awesome - thanks again for the help.