Enhance Bot.Solutions with a speech-focused library to provide SSML formatted responses

Is your feature request related to a problem? Please describe.

Currently speak properties are populated with a series of dashes and periods to emphasize breaks, but this is not standardized. Each Skill uses their own logic for reading out lists which will make a conversational experience inconsistent to users and difficult to maintain for developers
Describe the solution you'd like

Use SSML as described in Speech Synthesis Markup Language (SSML) for Speech Service and W3C . These will be available in some helper functions in the Microsoft.Bot.Solutions project to enable easy use by Skills dependent on this solution.
For the Speech channel, the expectation is to use the top-level Speak property on an incoming Activity. Skills may pass an Activity, card Attachments, or a list of Prompt Options. The returned formatted string will be set or appended to the parent Activity's speak property.
Scenario: When reading out an Activity & it's list of card attachments, add appropriate pauses between items. Provide methods that implement the best practices for reading out lists.

Current implementation
New implementation

I found the following options., 1 - Starbucks., 2 - Contoso., 3 - Anchorhead.
I found the following options. The first option is Starbucks. The second option is Contoso. The third option is Anchorhead.

Will investigate but this may not even need added breaks if we replace the number with a formatted string.

Provide guidance for complex list readout where options should be presented like "The first option is [option], do you want to select this ? If you want to hear the next option, please say next.". This applies to current Skill's implementations when readSize=1.
If readSize is not provided

listSize <= 4, readSize = listSize.
listSize > 4, readSize = 4.

Potential Scenario: Convert bolded text to a strong emphasis

Current implementation
New implementation

Hi, I'm **your** Virtual Assistant
Hi, I'm <emphasis level="strong">your</emphasis> Virtual Assistant

@Quirinevwm @rng do you have any opinions on how we should read ordinals out to a user? For example:

Read all ordinals

The first option is A. The second option is B. The third option is C. The fourth option is D.

Highlight last option

The first option is A. The second option is B. The third option is C. The last option is D.

We are tracking a known issue at Microsoft/botbuilder-dotnet#1477 where bots don't recognize when a user says "the last one," but after that's cleared we can set the right expectations with this experience.

@ryanlengel it differs a bit per scenario, but I would recommend to go for highlight last option on a page. Exception is for task list, users have an order in their mind and think more like a list in that.


Closes: #1

Updated validations.py script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Issue 267: Upgrade version of commander dependency

Description
A new version of the commander package is available. However, there are no functional changes in the release; it is simply a repackaging with an older version of npm to get around a bug that had been introduced in npm 5.7.1. This lack of functional changes can be verified by comparing the differences in the codebase between v2.15.0 and v2.15.1. Though nothing has changed, it is important to keep the dependency's version number up to date.
Testing
Ran the full test suite with npm test.
Related Issue

GitHub issue link: #267

👍


Unifying settings for all types of items + dialogue roll window for STATS

Hi, I am not sure this is the right place where to write it, but I didn't find any better :) The system is very nice and has wonderful functionality, but I need to ask for few quality-of-life improvements.
I was wondering if it's possible to unify settings for all item types - e. g. for loot and spells, you have these options to input use/effort/mastery, but these are not available for abilities. Is it possible to add them to abilities as well?
Also, to add equipped/unequipped for Spells would be helpful.
A big thing for me - abilities, spells and loot will trigger opening of a roll dialogue window, where you can input ad hoc modifiers and choose the difficulty of the roll (easy/normal/hard). But this dialogue window is not available when rolling from the front page of character sheet - when clicking on STATS (like STR and DEX, or any of the EFFORTS). Is it possible to add this dialogue window to those stats as well? Rolling Attributes and Efforts also doesn't work with targeting - in combat it won't deduce HP upon succesful attack, for example, while rolling from Loot will do that.
And the very last thing - STUN has only one field for current STUN value. Is it possible to do it as HP, to have current and maximum value?
Thanks a lot,
Jan

Hey @HyperLight-Drifter Thanks, but as mentioned on the front page, this project has been abandoned. See this fork for continued development and further improvements.
I maintained this project up to ICRPG version 1.2.4 which was at that time compatible with Foundry VTT version 8.8.0.


[NFC static + WiFi] Keystore get PresentationSession's "sessionTranscript" issue with 3rd party reader

Expected Behavior

Use Google Holder
Use 3rd party Reader with the setting
Enable "readerAuth data" send in reader requests
Perform NFC static + WiFi scenario
The document should be received as usual

Actual Behavior
1-3. Same as described in expected
4. Got an exception on Google Holder right after the user consent popup. reader's request was parsed correctly.
Then issue on creating the response happened
Note
This scenario works correctly in the case of QR + WiFi.
So it seems that the NFC code stack has some difference in internal Google data processing which may lead to such an issue
Log
Samsung reader_20230413.txt
Google holder_20230413.txt
Google Holder's excerpt log:
11269 AndroidRuntime         E  FATAL EXCEPTION: main
                                Process: com.android.mdl.app, PID: 11269
                                com.android.identity.InvalidReaderSignatureException: readerSignature non-null but sessionTranscript was null
                                	at com.android.identity.KeystoreIdentityCredential.getEntries(KeystoreIdentityCredential.java:479)
                                	at com.android.identity.KeystorePresentationSession.getCredentialData(KeystorePresentationSession.java:135)
                                	at com.android.mdl.app.transfer.TransferManager.addDocumentToResponse(TransferManager.kt:182)
                                	at com.android.mdl.app.viewmodel.TransferDocumentViewModel.sendResponseForSelection(TransferDocumentViewModel.kt:107)
                                	at com.android.mdl.app.authconfirmation.AuthConfirmationFragment.sendResponse(AuthConfirmationFragment.kt:97)

In case of disabling readerAuth data to check the logic where this issue expected to be omitted - another issue happened - Issue #279


DR Operator was not available in operator hub

A few of the labels were missing in the CSV files.
  labels:
    operatorframework.io/arch.amd64: supported
    operatorframework.io/arch.ppc64le: supported
    operatorframework.io/arch.s390x: supported

fixes https://github.com/RamenDR/ramen/pull/824

PR has been merged. use make docker-buildx to build ramen for different architectures


Add capture of director-v2 loglevel

Goes with:

https://git.speag.com/oSparc/osparc-ops-deployment-configuration/-/commit/a9c912c51dd3163e9f7a731e58053fa5f7141d8a

We need to replicate this settings in all 7 deployment repo.configs. Otherwise, director-v2 will fail to start.

yes, I have tried to already prepare it an all deployments, there is a commit in each branch of osparc-ops-deployment-configuration


[maps] android_google_map_test shows No tests ran.

android_google_map_test does not run because of @TestOn('android') annotation.
On removing the annotation the test runs and fails, because of the assertion Platform.isAndroid which is false as the test is not integration test and not running on android.
I think the test is unnecessary as there is already integration test testLiteModeEnabled.
Steps to Reproduce

flutter test .\packages\google_maps_flutter\google_maps_flutter\test\android_google_map_test.dart

Hi @mohammaduvez
Thanks for filing the issue
With @TestOn('android') annotation.
@TestOn('android')
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

tahatesser@Tahas-MacBook-Pro google_maps_flutter % flutterm test test/android_google_map_test.dart
No tests ran.
tahatesser@Tahas-MacBook-Pro google_maps_flutter %

Without @TestOn('android') annotation.
// @TestOn('android')
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

logs
tahatesser@Tahas-MacBook-Pro google_maps_flutter % flutterm test test/android_google_map_test.dart
00:02 +0: Can update liteModeEnabled
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following assertion was thrown running a test:
'package:google_maps_flutter/src/google_map.dart': Failed assertion: line 469 pos 16:
'!map.liteModeEnabled || Platform.isAndroid': is not true.

When the exception was thrown, this was the stack:
#2      new _GoogleMapOptions.fromWidget (package:google_maps_flutter/src/google_map.dart:469:16)
#3      _GoogleMapState._updateOptions (package:google_maps_flutter/src/google_map.dart:295:60)
#4      _GoogleMapState.didUpdateWidget (package:google_maps_flutter/src/google_map.dart:286:5)
#5      StatefulElement.update (package:flutter/src/widgets/framework.dart:4774:57)
#6      Element.updateChild (package:flutter/src/widgets/framework.dart:3365:15)
#7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4612:16)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:4281:5)
#9      ProxyElement.update (package:flutter/src/widgets/framework.dart:4935:5)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:3365:15)
#11     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1189:16)
#12     RenderObjectToWidgetElement.update (package:flutter/src/widgets/binding.dart:1167:5)
#13     RenderObjectToWidgetElement.performRebuild (package:flutter/src/widgets/binding.dart:1181:7)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:4281:5)
#15     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2599:33)
#16     AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1106:19)
#17     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:329:5)
#18     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#19     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#20     AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:973:9)
#23     TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:72:41)
#24     AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:960:27)
#25     WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:521:22)
#28     TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:72:41)
#29     WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:518:27)
#30     main.<anonymous closure> (file:///Users/tahatesser/AndroidStudioProjects/plugins/packages/google_maps_flutter/google_maps_flutter/test/android_google_map_test.dart:44:18)
<asynchronous suspension>
<asynchronous suspension>
(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace)

The test description was:
  Can update liteModeEnabled
════════════════════════════════════════════════════════════════════════════════════════════════════
00:02 +0 -1: Can update liteModeEnabled [E]
  Test failed. See exception logs above.
  The test description was: Can update liteModeEnabled

══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure object was thrown running a test (but after the test had completed):
  Expected: <true>
  Actual: <false>

When the exception was thrown, this was the stack:
#0      fail (package:test_api/src/frontend/expect.dart:155:31)
#1      _expect (package:test_api/src/frontend/expect.dart:150:3)
#2      expect (package:test_api/src/frontend/expect.dart:59:3)
#3      expect (package:flutter_test/src/widget_tester.dart:428:3)
#4      main.<anonymous closure> (file:///Users/tahatesser/AndroidStudioProjects/plugins/packages/google_maps_flutter/google_maps_flutter/test/android_google_map_test.dart:54:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
00:02 +0 -1: Some tests failed.
tahatesser@Tahas-MacBook-Pro google_maps_flutter %

flutter doctor -v
[✓] Flutter (Channel master, 1.27.0-5.0.pre.132, on macOS 11.2.1 20D74 darwin-x64, locale en-GB)
    • Flutter version 1.27.0-5.0.pre.132 at /Users/tahatesser/Code/flutter_master
    • Framework revision 65e94f51c0 (3 hours ago), 2021-02-23 19:56:02 -0800
    • Engine revision f925e560de
    • Dart version 2.13.0 (build 2.13.0-68.0.dev)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.
[!] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (3 available)
    • iPhone 12 (mobile) • 948EC106-78EE-4A69-8D31-83C00E6419DE • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 11.2.1 20D74 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 88.0.4324.192
! Doctor found issues in 2 categories.

Looks like a simple solution would just be remove the test.


CLOUDSTACK-3049: update dynamic role for an account

Description

Existing 'updateAccount' API call now can update role as well as account name and network domain. During the implementation 'newname' attribute was marked as optional, previously in the API was annotated as required, which is not a right behavior.
New Dockerfile was added Dockerfile.smokedev which is convenient if you develop smoke tests.
Helper script was added to deploy datacenter and run tests from the same docker image which guarantees a predictable environment.
docker run -v ~/dev/tmp:/tmp \
      -v ~/IdeaProjects/cloudstack/test/integration/smoke:/root/test/integration/smoke \
      -it \
      --name simulator -p 8080:8080 -p8096:8096 simulator:4.12

# second console
docker exec -it simulator bash
# deploy datacenter
bash /root/docker_run_tests.sh advanced smoke
# follow the instructions

Implements #3049

Types of changes

[x] Enhancement (improves an existing feature and functionality)

Screenshots (if appropriate):
How Has This Been Tested?

The code was tested with cloudmonkey
Smoketest for Marvin was implemented

Can you instead implement a cleaner approach, say create a new API?

@blueorangutan package

@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2464

@blueorangutan test

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Can you instead implement a cleaner approach, say create a new API?

@rhtyd I considered both alternatives. My arguments for the current implementation:

it adds smoke tests for updateAccount and as you can see before the implementation there wasn't testing for the method at all.
updateAccount method was strangely implemented, e.g. one has to pass newname mandatory, this enhancement fixes the behavior as well.
It's natural, I agree with Rafael, otherwise, it's true to implement every update<Entity><Attribute> separately and it will be hell without scoping.

What do you think?

 In short, my hesitation stems from the fact that the operation in question has some security and privileges implications. As a general rule such an update param/operation must be privileged and checked. It's better to have this as separate api. Take example of other apis which change ownership, transfer relationships etc all cases which could too be solved by an update api as well.

Another note that there is a translation implication of accounttype that maybe implemented as well. Due to backward compatibility, we support both account type and roleid for the create api for example.

 In short, my hesitation stems from the fact that the operation in question has some security and privileges implications. As a general rule such an update param/operation must be privileged and checked. It's better to have this as separate api. Take example of other apis which change ownership, transfer relationships etc all cases which could too be solved by an update api as well.

@rhtyd Well, if we decide that only global admin (not domain admin) can change that, then you are right, it's better to implement as a separate API call.

@bwsw if you use the authorize field in the @Parameter definition for the new role (the role being changed/updated) I think that then you can achieve what @rhtyd wanted. I mean, then we would be able to allow the use of such parameter only for admins or root admins.

Trillian test result (tid-3220)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 20717 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3058-t3220-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_multipleips_per_nic.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 68 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_nic_secondaryip_add_remove
Error
22.60
test_multipleips_per_nic.py

test_04_rvpc_network_garbage_collector_nics
Failure
441.49
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Failure
282.94
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Error
306.08
test_vpc_redundant.py

@rhtyd @rafaelweingartner
Well, currently the implementation allows changing the account details only for admin or domain admin. Admin can set any role while domain admin can set only DomainAdmin, ResourceAdmin, User types.
I suppose that basically, it's what users need.
Please, approve the basic design and then I write the tests for security assurance. Just don't want to spend the time if the design initially doesn't fit.


Cairo code for spy_message_to_l1

Stack:

#2284
#2283
#2281
#2280 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #2284


Use AccessibleView for hovers

          An excellent fix. Works as expected. It would be great if the same could be done for the Show or Focus Hover command.

Originally posted by @jvesouza in https://github.com/microsoft/vscode/issues/173911#issuecomment-1505602012

I did a quick test and it turned out excellent, exactly as I thought. A small detail is that when I pressed alt+f1 orca read something like terminal accessibility help.

@jvesouza this has not been implemented yet

Maybe it has nothing to do with the implementation made but I can't access accessibility help anymore.
If I am for example in an editor and I press alt+f1 nothing is announced by orca. The same happens in the terminal and in the chat input.

hm, it's working for me - and you're using the latest insider's, correct? can you try with NVDA?

@jvesouza hm, it's working for me - and you're using the latest insider's, correct? can you try with NVDA?
what happens now for the help menus is they open in a monaco editor. can you tell what element is focused when you use alt+f1?

Yes, I am using The latest insider and I'll try to test using nvda as soon as possible.
However I noticed that the "show accessibility help" command doesn't seem to exist anymore because I press ctrl+shift+p, type "show accessibility help" and I get the information that nothing was found.

Yeah, that's because it is a multi-command, which doesn't allow it to show up in the quick pick. I'll make an issue for that

I can't tell which element gets the focus when I press alt+f1, but the impression I get is that the focus doesn't change. What leads me to think this is the fact that after pressing alt+f1 if I press down arrow, orca reads the next line in the file being edited.
Something similar happens when I'm in the terminal.
Something that caught my attention is that I found the following in the default key bindingss:
{ "key": "alt+f1",                "command": "editor.action.accessibilityHelp" },
{ "key": "shift+alt+f1",          "command": "editor.action.accessibilityHelp" },
{ "key": "alt+f1",                "command": "editor.action.accessibilityView" },
{ "key": "shift+alt+f1",          "command": "editor.action.accessibilityView" },

Is this right?

@jvesouza that explains it - the default keybindings are:
{ "key": "alt+f1",                "command": "editor.action.accessibilityHelp" },
{ "key": "alt+f2",                "command": "editor.action.accessibilityView" },

Replacing the above with those should fix it for you

@jvesouza that explains it - the default keybindings are:
{ "key": "alt+f1",                "command": "editor.action.accessibilityHelp" },
{ "key": "alt+f2",                "command": "editor.action.accessibilityView" },

Replacing the above with those should fix it for you

Instead of using the combination alt+f2 I used alt+shift+f1 because alt+f2 is the shortcut used in gnome to activate the command execution dialog.
Once configured, I ran the following tests:

Open the VSCode editor.

Press alt+f1
The accessibility help for the VSCode editor was displayed, although orca read accessibility help for the terminal. The title seems wrong but the content is correct.

Open the VSCode editor.

Press alt+shift+f1.
Nothing was read by orca.

I ran the same tests after opening a terminal but nothing was read by orca.

I would assume the keybinding is not working for some reason in that case. Could you toggle keyboard shortcuts troubleshooting, which will print to the output what might be going on, and share that?
Thanks

I would assume the keybinding is not working for some reason in that case. Could you toggle keyboard shortcuts troubleshooting, which will print to the output what might be going on, and share that?
Thanks

I'm sorry I didn't respond sooner, I've had a very difficult and busy week.
In the meantime something seems to have changed as now everything is working as expected.
The exception is the alt+f2 and shift+alt+f2 keys which are probably used by gnome, at least on my machine. I have associated the command assigned to these keys to shift+alt+f1 and it is working ok.
If I still need toggle keyboard shortcuts troubleshooting I will need guidance on how to do it because I honestly don't know the procedure for doing so.
Thanks.

Sounds like it's now working for you other than the conflict with gnome, so no need to toggle the keyboard troubleshooting


added htaccess

This will prevent your application build from resulting in a 404 error and will instead direct it to its designated route.

You can directly copy and paste the .htaccess file onto your server. You only need to add it once.


Ability to log the generated nonce

We are using this gem to communicate with Jira instances. However we are having a recurring issue (~1-10 a day) where for some reason the Jira hosted instances are claiming we are  reusing a nonce.
I have ran the code from this gem used to generate the nonce's on our production server in a loop (say 100K request) and was unable to create any duplicate.
The next step would be to somehow log and extract the nonce that was used in a request they claim was duplicate so I can throw it to them and have them search in their logs so we can further identify what is actually going on.    And this is where I am stuck.
In lib/oauth/consumer.rb I see that a block is consulted with the request object before it is run (and after the request is created and signed)..  This, in theory, would be the perfect location to hook in and extract the nonce data from the request.. However I am unable to find a way to GET a block into that method as the access_token.get/request does not pass the block along.
I next looked into seeing if I could hook into the OAuth::Helper, however the ConsumerToken#request method passes {} for the options to be passed into that class.
Any help in figuring out how to accomplish this in some means would be greatly appreciated.

3 years on, and I'm experiencing the same issue (albeit with Confluence). Did you ever get to the bottom of this @urkle ?

nope we have been not been able to get to the bottom of the issue.  It just hasn't been a big enough issue for us to fight with it further.

Thanks for the response. Will post here if we find a resolution.
FYI we've contacted Atlassian and apparently their guidance is to use Basic authentication instead of OAuth...


👍 chores: setup project

About
Setup the project and the project repository
Tasks

[ ] Add Readme
[ ] Add Contributing
[ ] Add License
[ ] Add Code of Conduct
[ ] Add Changelog
[ ] Add Wiki
[ ] Add pull request and Issue Template
[ ] Refactor the labels and Milestones
[ ] Add security
[ ] Add dependable bot
[ ] Create Project Using monorepos
[ ] Add Discussion
[ ] Add Funding
[ ] Add code scanning
[ ] Add deployment

So let's start it

It's done


Migrate 'PerformanceTest' to be a real integration test

In the API-module we find a class PerformanceTest which currently has this TODO:

// TODO Shall this call here also work against a MySQL backend? Seems this should be put into a real Integration Test.

So this should be moved to src/it/java in the respective module. It should then be triggered via the maven-failsafe plugin against one or more site-specific MySQL integration profiles, e.g. UKP or HHN.

Also relevant: PerformanceTestPageIterator, thus it should also be moved into the IT setup.


Website pages have no vertical/horizontal scroll bars

For some of the pages, you can't access some of the page because there are no scroll bars. This should be fixed so the whole page can be seen

Probably should have made a PR or something but as of this commit this issue is fixed.


mysql password error exit

Describe the bug
configure database with password specifiq give crash.
Error is :
20:29:58 mysql-configure.1 | /nix/store/jmssma22x92p28mhdp94ajw01qyqdi4a-configure-mysql/bin/configure-mysql: line 39: $6: unbound variable
20:29:58 system            | mysql-configure.1 stopped (rc=1)
20:29:58 system            | sending SIGTERM to mysql.1 (pid 99855)
20:29:58 mysql.1           | 2023-01-07T19:29:58.768004Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.31).
20:29:59 mysql.1           | 2023-01-07T19:29:59.600491Z 0 [System] [MY-010910] [Server] /nix/store/ggb5lnmxyk9ggpgj1myxpjyibzwlig3j-mysql-8.0.31/bin/mysqld: Shutdown complete

To Reproduce
services.mysql.initialDatabases = [
    {
      name = "demo_pwd";
    }
  ];
  services.mysql.ensureUsers = [
    {
      name = "demo_pwd";
      password = "LSye?SnTE$6#etjh";
      ensurePermissions = { "demo_pwd.*" = "ALL PRIVILEGES"; };
    }
  ];

Version
devenv: 0.5

@shyim

et sera dispo quand ?

devenv update then it should work


Fix the client.add_auth hangs by xids mismatch.

This commit fixes https://github.com/python-zk/kazoo/issues/229  by throwing the runtime exception into the dequeued async_result. It will end the waiting of user threading.
But this commit doesn't fix the xids mismatch itself (https://github.com/python-zk/kazoo/issues/254). The unordered xids may caused by a bug from the ZooKeeper server side, such as the official issues ZOOKEEPER-1863 described.

@bbangert Could you review this patch?
CC @wooparadog

Looks good, nice test too!


(AzureCXP) fixes MicrosoftDocs/azure-docs#75381

Update the url for C# sample since bing moved to microsoft brand

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

#sign-off


No camera feed, everything else works

Using windows to run octoprint on a laptop and octoprint anywhere cant seem to get video. I still get it on the regular octoprint site, and controls/reads work great on both.

Can you post your octoprint.log file so I can take a look?

Am I able to do that while a print is going? If not itll be done in about 20 minutes, then I can send you all the info and follow whatever steps you need to see the issue

I think it's ok to download the log files while it's printing.

octoprint.log
Is this right? Im on my phone haha, also it says the file is from yesterday but I guess thats fine? If theres just a mess there i can try to get a new log

Thanks @FledPotato
From the log file it looks like the plugin couldn't connect to the configured webcam URL. Can you post a screenshot on your webcam and timelapse settings? This link is for my another plugin but is relevant for the problem you are experiencing.

The timelapse link thing doesnt work, but normal webcam stream does, also can i just show my ip to everyone like this?

I'm not a security expert but since it's your private ip I'd assume it's fine. I've been doing it many times.
Can you remove the value from snapshot URL? The plugin code looks for it first, and will try to use it if it's there. After you remove it, the plugin will fall back to webcam URL after OctoPrint is restarted.

Still "waiting for camera feed"

As well as i noticed the printer status is "idle" even if im mid print

Sorry somehow I missed your comments.
Did you clear the snapshot URL in your OctoPrint settings?
It sounds like a bigger problem if the printer status is off. In that case, you can download octoprint.log file and post it here again?

Im mid print right now without ocotprint running, could I do this tomorrow? (11pm here) Then i can do all the troubleshooting after a fresh start of octoprint so the log isnt as messy, if thats how it works

A "messy" log is fine. The errors usually hide in all this messiness. :)

Sorry for the late response, but seems the issue was fault of another program, which was streaming my webcam. Switched software and reinstalled, now it works great! Is there any chance I could have a higher streaming fos though? My laptop is whats running ocotoprint so the webcam is always at 20-30 fps, which is quite a bit more than the capped site shows :/

Glad you figured this out!
We are actively working on a premium webcam streaming service that allows user to go to higher frame rate. However it'll be a paid service as it costs a lot to transfer the webcam pictures between user's network and our servers.


Update Readme

Changing "dockerfile/elasticsearch" to "elasticsearch" to fix "Error: image dockerfile/elasticsearch:latest not found" error.

:+1 this just caught me out.

:+1:

Also note that the paths have changed from /data to /usr/share/elasticsearch


Verify release pipeline is working properly

in preparation for the Apache release, verify the release pipeline is working properly and make any adjustments if needed.
If possible run a test/dry-run for the pipeline.

First I tried to test this via my fork, but in fork there's too many things that need to be either altered or disabled, so we might run into false negatives (failures) caused by these changes rather than pipelines themselves. Therefore I decided to try branching via original jobs with version 9.9.9. My findings so far:

Drools automated branching works without any issues.
Optaplanner branching is blocked by #776 and the changes in configuration in the main branch will need to be commited manually

After creating new branches, the new jobs were successfully generated. Turned out that build and release pipeline are spanned across 10 repositories while each of them has its own specific implementation details. In order to not to risk releasing something we don't want to or sending notifications where it wouldn't be desired I decided, that I won't do the dry-run. It seemed to me too risky that such event would occur. But during visual inspection of jobs structure and pipeline code I've found nothing outstanding, what would block release.


Typo: Double "add and" in the description.

Challenge http://freecodecamp.com/challenges/waypoint-manipulate-javascript-objects has an issue. Please describe how to reproduce it, and include links to screenshots if possible.

duplicate of https://github.com/FreeCodeCamp/FreeCodeCamp/issues/1982


[SPARK-16756][SQL][WIP] Add sql function to LogicalPlan and NonSQLPlan trait

What changes were proposed in this pull request?
This PR is a part of SPARK-16576 that moves logicalPlan SQL generation code from SQLBuilder into logical operators.
Like Expression, this PR adds sql function for LogicalPlan and NonSQLPlan trait. The method will be abstract method. All logical plan should implement that or use trait NonSQLPlan explicitly.
/**
 * Returns SQL representation of this plan. For the plans extending [[NonSQLPlan]],
 * this method may return an arbitrary user facing string.
 */
def sql: String

This PR updates testsuites includingLogicalPlanToSQLSuite and ExpressionToSQLSuite in order to test new sql function, but does not remove SQLBuilder and its usage in views.scala of sql/core.
How was this patch tested?
Pass the Jenkins tests.

Test build #63074 has started for PR 14435 at commit 1392c8a.

Test build #63074 has finished for PR 14435 at commit 1392c8a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait NonSQLPlan extends LogicalPlan
case class ReturnAnswer(child: LogicalPlan) extends UnaryNode with NonSQLPlan
case class With(child: LogicalPlan, cteRelations: Map[String, SubqueryAlias])
case class StreamingExecutionRelation(source: Source, output: Seq[Attribute])
case class MemoryPlan(sink: MemorySink, output: Seq[Attribute]) extends LeafNode with NonSQLPlan

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63074/
Test FAILed.

Thank you for attention, @jaceklaskowski . It sounds better. I'll update like your comments.

Test build #64573 has started for PR 14435 at commit 3a3f8ac.

Test build #64573 has finished for PR 14435 at commit 3a3f8ac.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait NonSQLPlan extends LogicalPlan
case class ReturnAnswer(child: LogicalPlan) extends UnaryNode with NonSQLPlan
case class With(child: LogicalPlan, cteRelations: Seq[(String, SubqueryAlias)])
trait RunnableCommand extends LogicalPlan with Command with NonSQLPlan
case class StreamingExecutionRelation(source: Source, output: Seq[Attribute])
case class MemoryPlan(sink: MemorySink, output: Seq[Attribute]) extends LeafNode with NonSQLPlan

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64573/
Test FAILed.

Merged build finished. Test FAILed.

I close this PR since the issue is closed.


Port Eyes Guard to .NET Core

Description
Port Eyes Guard to .NET Core
Feature Domain
Plase check any of the chackbox that is related to your request:

[ ] UI/UX Improvement
[ ] Avoid people from making mistake
[ ] Creativity
[ ] New fucntionality
[x] Extend support

I just installed the app and am enjoying it. I may wish to help with this if it's still a goal. Perhaps I'll fork it later and poke around a bit.

I may wish to help with this if it's still a goal

@Chiramisu It is still a goal because after porting to .NET Core it's possible to enable .NET Desktop CI from GitHub Actions marketplace, which would let us publish exe and other packages automatically.
I haven't done it because I'm busy with other stuff right now, but I was going to do this in the future. Please let me know if you've managed to have a working build of Eyes Guard running on .NET Core.


Pads for the Accelerometer, Gyroscope, and any other QFN style packages should be extended.

This allows touch-up with an iron after reflow allowing easy resolution of bridges and missed connections.

FIxed


Added De-registration to gcm-notifications.

The change looks good, but the API is no longer supported in Chrome, so there isn't much point in taking the change, let me know if you disagree.  The original gcm-notifications was replaced by "gcm for chrome" about 2 years ago, and this API has been turned off everywhere.

Thanks for making the change, by the way!  I appreciate that you spent time on it, and I'm sorry that the time has gone to waste.  I also appreciate being corrected.

No worries. I was able to use the gcm-notifications chrome app though so the API has not been turned off and still connects to the GCM push network. The tool was good for testing push notifications to GCM to simulate an Android App 👍 .


Install Swagger Codegen

Install VM with Swagger Codegen and map it to "codegen.apinf.io"

Created VM and installed Swagger Codegen and mapped it to codegen.apinf.io


Fall back to lower LOD levels in assembleImage

When the imagery and map tiles are using a different profile to the tile key, they'll need reprojecting, and if any image is unavailable, it can affect several tiles. That also means there can be tiles which are partially covered by tiles at a particular LOD level.
Without this change, only one LOD level is tried, and if a tile is partially covered, it'll get used, but leave gaps in the map. With this change, those gaps will be filled with lower-quality imagery from other LOD levels.
Before

After

To reproduce the problem, you can use this map (which was originally a .earth file):
{
    "layers": [
        {
            "name": "ReadyMap 15m Imagery",
            "type": "TMSImage",
            "uri": "http://readymap.org/readymap/tiles/1.0.0/7/"
        },
        {
            "name": "ReadyMap 90m Elevation",
            "type": "TMSElevation",
            "uri": "http://readymap.org/readymap/tiles/1.0.0/116/",
            "vdatum": "egm96"
        },
        {
            "time": "1.5",
            "type": "xi:include",
            "viewpoint": {}
        }
    ],
    "options": {
        "cache": {},
        "profile": {}
    },
    "profile": {
        "extent": {
            "srs": "+proj=utm +zone=30 +datum=WGS84 +units=m +no_defs",
            "xmax": 750000.0,
            "xmin": 650000.0,
            "ymax": 4400000.0,
            "ymin": 4300000.0
        },
        "tx": 1,
        "ty": 1
    }
}

Thanks. I'll merge this for now, since it solves the problem.
However it looks like it has the potential to create a LOT of image tiles that are not used. Do you agree? Caching, or a global LUT, are both planned items that would help with this down the road. Another solution would be to load ancestor tiles on-demand then a pixel's data isn't available in any of the sources.

Yeah, that sounds about right. All of those suggested improvements would be good things.


RSS Log level not (always) carried over from config

RSS logs despite setting it to off / 6. Even worse it logs more infos.

Fixed with 4717c260d1bc02e68a2363505dea4872ae9def5f


Added and fixed some things...

The bot will now add the Member role when user has confirmed reading the server rules.
Added a fire command to do the following things:

Remove all their staff related roles.
Remove the staff role from their bot (if any)
Kick the user from the verification server.
Delete user from the db.

Added the missing admin check for rr
Replaced staff_embed command with force_update_staff_embed this can be used to force update the staff embed if on_member_update didn't do it.
Added a bot var for all staff roles
Update requirements to the alpha version of discord.py

Please review the fire command and all the other changes. And remember that the role add thing needs the dev version 1.6 of discord.py.

lgtm


upper bound on X11

Please make buildable with X11 1.9

See https://github.com/xmonad/xmonad-contrib/pull/254

Thanks

Closed by #254.


Error uploading profile xml document

I have tried to follow the steps outlined in the tutorial. When I try to upload the modified ProfileEdit.xml file, I get the following error: "Unable to upload policy. Reason : Azure AD B2C cannot find the extensions app with app id '#######-####-####-####-############'. Please visit http://go.microsoft.com/fwlink/?linkid=851224 for more information.". However, the "B2C_1A_ProfileEdit" policy does appear in the list of policies uploaded.

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

ID: 29fb9816-df6a-6f60-35d0-c2a04732f295
Version Independent ID: ffc8b13a-b2c9-a502-1580-abea596194ab
Content: Add your own attributes to custom policies in Azure Active Directory B2C
Content Source: articles/active-directory-b2c/active-directory-b2c-create-custom-attributes-profile-edit-custom.md
Service: active-directory
GitHub Login: @davidmu1
Microsoft Alias: davidmu

(I have added the extensions app as detailed under "Creating a new application to store the extension properties")

And when I test the profile, I get the same error text when I click "Continue" in the edit profile page.

@matdcooper Thanks for your feedback! We will investigate and update as appropriate.

I have faced the same issue. Can you please help on this as early

@matdcooper / @vibhubanga Can you make sure that you are registering the application in the B2C tenant. I am able to upload the profile XML document with the changes as mentioned in the document.  Also, for simplicity, I have copied only relevant tags from the document to actual ProfileEdit.xml or any other policy files(Base/Extension).
e.g. copy only the tag relevant to LoyalityId in policy document.

  <OutputClaim ClaimTypeReferenceId="extension_loyaltyId" />

See below the decoded token details  -

Thanks, Saurabh. I was able to successfully upload the file. I created the app in the parent AD.

Thanks @SaurabhSharma-MSFT, but the application is definitely registered in the B2C tenant. I will attempt to go through the steps again to make sure I have not missed anything.

When you create an extension app. Make sure:

Insert the Application object Id to ApplicationObjectId, and Application id to ClientId. See the screenshot.
You create the application in the same Azure AD B2C directory.

@matdcooper We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


How Can I Get The File ‘Segmentation_Network.pkl’

the python file address is 'semantic_extraction/VOC/main_semantic_encoding_diff_compre.py', in the line 451
has a statement 'model.load_state_dict(torch.load('Segmentation_Network.pkl'))'. I want to know how can I get the File ‘Segmentation_Network.pkl’

the python file address is 'semantic_extraction/VOC/main_semantic_encoding_diff_compre.py', in the line 451 has a statement 'model.load_state_dict(torch.load('Segmentation_Network.pkl'))'. I want to know how can I get the File ‘Segmentation_Network.pkl’

Hi, I meet the same question, did you solved it and how? Could you please share your method?


en_tb has not been open-sourced yet

The feature/hcom-ideas branch has been blocked from merging back to master for a long time because it depends on en_tb, which is waiting to be open-sourced.
This issue serves as a reminder not to merge until en_tb has been open-sourced.

en_tb sources have been open-sourced and copied locally into en_cl_fix.


docs: update README.md

cc: @SteveLasker @afflom @sabre1041
Cleaned up the home page so folks get a better idea of what we are trying to do.

If there are no further objections, will merge this and we can iterate.


High value pointer starts at 0 instead of specified position on Safari/FF

I set the highValue attribute to some non-0 value and it still initially displays at the 0 position, on Safari and FF.
My slider is hidden by default which might influence things; may be related to recently resolved issue: https://github.com/angular-slider/ng5-slider/issues/106.
On chrome it works correctly.

As I described in comments on #106, this is because I used ResizeObserver API to solve this problem. It is currently available in Chrome and Opera; other browsers will add support for it in upcoming versions.
As a workaround, you can use manualRefresh input to trigger a refresh. See manual refresh demo for how to use it.


Will this work with AWS Lambda

Hi,
Since you state the it needs a linux distro to get it working, will this work with Lambda?
I want to publish messages to IOT MQTT from a lambda app.
Additionally, I am developing using Windows, does that mean that I need to build it on a linux machine?
Thanks

To answer my own question, it works fine!


Overflow of the button when taking a front photo in French

What

Overflow of the button when taking a front photo in French

Part of

Add the issue number preceded by # (that also allows searching by name for similar issues): eg #525

Screenshot

How do we plan on fixing this?
Changing the button height would make the UI look weird.
Would a change in the text in french change text in all languages?

@alphaNewrex, @Gagarod is already working on it in #1497


Performance

With the awesome work by @gaearon with #432 and #433 6to5 has had massive performance boosts. There's still a variety of ways that things can be improved so this an issue for tracking future optimisations and performance. Would love to hear feedback, the faster the better!

IMO optimizing this might give a perf boost:
https://github.com/6to5/6to5/blob/master/lib/6to5/transformation/transformer.js#L56
It's a very hot paths and it would be nice to eliminate closures there (e.g. inner function inside build closing over exit, file and transformer). Also, I'm sure perf can be better if there were less calls to traverse with anonymous objects a la
  traverse(file.ast, {
    enter: build(),
    exit:  build(true)
  });

— calls like these are all over the place — and instead, where possible, it would be something like traverse(file.ast, this). In other words, extract state from closures into dedicated objects that apply transformations and hold their state.

Another thing worth keeping an eye on is whether V8 can effectively reuse types.
Again, having objects that set all their fields in constructors and don't add any dynamic fields, would help.
 Pseudo-code is fine.

@sebmck
Imagine you weren't allowed to use closures at all.
6to5 API is stateless for consumer (she calls transform and gets the result). However, it is stateful inside, at least while transform is running. Some of this state is currently dispersed in various closures.
What I suggest is moving more state from closures into objects. This is similar to what I did in #433: instead of having a function inside a function, we have a dedicated object with a prototype. What was previously a closure variable, is now a field on that object. Thus we avoid potential leaks and function allocations in tight places.
I can't suggest pseudocode at the moment because I don't yet really understand how pieces come together (e.g. how transforms are run, what Scope does, etc).
For an example of codebase that tries hard to avoid closures and function allocations, check out React, they're really great at that.

@gaearon Ah right, thanks! Some of the current code is pretty dense and I've been adding comments as I've been working on it to make things much more clearer. Hopefully I'll get around to documenting a lot more of the internals.

Another strategy is replacing lodash methods with the equivalent native version, contains => indexOf, _.each => for etc.

Another strategy is replacing lodash methods with their equivalent native version, contains => indexOf, _.each => for etc.

Nah, not always. Replacing _.each gives some wins (but again, not always—I only left those that mattered in my bench in #432) but only because we save function allocation with a for loop.
It's a common misconception that “natives are faster”; more often they're not because they have to adhere to very complex semantics for edge cases.
See:
http://stackoverflow.com/a/18886242/458193
https://github.com/angular/angular.js/issues/6697#issuecomment-42771111

I'd expect native browser methods to be an order of magnitude faster.

Built-ins need to adhere to ridiculous semantic complexity which only gets worse as more features get added into the language. The spec is ruthless in that it doesn't leave any case as "undefined behavior" - what happens when you use splice on an array that has an indexed getter that calls Object.observe on the array while the splice is looping?

If you implemented your own splice, then you probably wouldn't even think of supporting holed arrays, observable arrays, arrays with funky setters/getters and so on. Your splice would not behave well in these cases but that's ok because you can just document that. Additionally, since you pretty much never need the return value of splice, you can just not return anything instead of allocating a wasted array every time (you could also make this controllable from a parameter if needed).

Already with the above, you could probably reach the perf of "native splice" without even considering the fact that user code is actually optimized and compiled into native code. And when you consider that, you are way past any "native" except when it comes to special snowflakes like charCodeAt, the math functions and such.

@gaearon For the scenarios where they're used, they almost certainly will give performance boosts. lodash calls indexOf for _.contains anyway, it has a lot of logic to handle different input types. Same goes for _.each.

@sebmck fast.js's indexOf beats Array.prototype.indexOf quite significantly -
Native .indexOf() vs fast.indexOf() (3 items)
    ✓  Array::indexOf() x 15,648,086 ops/sec ±1.72% (89 runs sampled)
    ✓  fast.indexOf() x 32,152,806 ops/sec ±1.93% (85 runs sampled)
    ✓  fast.indexOf() v0.0.2 x 35,245,178 ops/sec ±1.53% (92 runs sampled)
    ✓  underscore.indexOf() x 30,916,655 ops/sec ±1.74% (91 runs sampled)
    ✓  lodash.indexOf() x 25,338,411 ops/sec ±1.33% (91 runs sampled)

    Result: fast.js is 105.47% faster than Array::indexOf().

@phpnode Interesting. I'll have to sit down and do some thorough benchmarks. I also have to take into consideration maintenance costs with these changes, since if it makes things significantly harder then the trade-offs aren't worth it IMO.

Personally I haven't seen perf improvements from replacing lodash methods in other code paths. Definitely needs benchmarking before complicating maintenance.
By the way another hot path is buffer.js and newline method. I think there was quite some time spent on regex there.

The way I benchmarked:

A script like https://gist.github.com/gaearon/69979b63d39b4d72cff5 to run 6to5 repeatedly on a complex file

After changes, run it several times to see if numbers drop consistently

To look what to change, do node --prof bench.js and run nprof later (from npm install -g profiler). Its output will show hot methods, first in a list, then in a tree. Don't waste time on anything below the first couple of tree entries. If you see a method name without a *, it's not optimized.

@gaearon Yeah, the entire code generator needs to be optimised. Thanks for the profiling tips, I've been experimenting with different v8 options but that's much more helpful.

cc @jdalton this thread may interest you

There are quite a few instances where 6to5 enumerates over an array with for (var i in arr) {...} during tree transformation and code generation. This came up in https://github.com/6to5/gobble-6to5/pull/1 because another library was adding enumerable properties to Array.prototype, which caused the for-in loop to fail, but I think this has potential performance implications as well - iterating is many times faster than enumerating.

Ya for x in y over an array is currently a fail in v8

There are quite a few instances where 6to5 enumerates over an array with for (var i in arr) {...}

Indeed. I fixed a few of these which affected perf, but the rest I didn't touch because I couldn't squeeze any improvements out of them. Still, it's better to rewrite these.

There are so many more low hanging fruit than pedantically worry about for...in loops.

Can dig. @gaearon's got the right idea on profile based priority. With most things-ES5y it'll be faster to fallback to simplified vanilla js alternatives with exceptions of things like Array.isArray or Object.keys when wanting to avoid the for-in gotchas. Optimizations & techniques are scenario & context specific so there may not be a silver bullet. There's also engine intricacies which may mean having to get into ugly code to squeeze out perf.
You could break this issue into a profiled study of each of 6to5's components starting with ones you think are problem areas and working outward.

Just as with game engines in tight loops it'll be beneficial to ditch general purpose methods, which includes lodash, for highly tuned scenario specific code.

If you're wanting different takes on perf I know @stefanpenner has done a lot of perf work for Ember and has insight into property access and hash map perf. I've been refining my approach to Lo-Dash (getting overall 25-45% improvements) so I can speak to the techniques used there too.

@jdalton Awesome, thanks for your help!

OK I think I have a plan for potential optimization.
As I said I want opts passed to traverse to have a prototype. So its enter and exit will be defined on prototype and will not be closures.
Now that I think of it, this object takes the same role as TraversalContext from my refactor. So I suggest we extract TraversalContext from traverse/index and have all transforms build on top of its prototype (but also declaring enter and exit).
The natural consequence of this is we'll just call this.enter instead of opts.enter.call(this, ...). So it's not just a performance refactor—I believe this will actually make existing code more comprehensive.
Thoughts?

https://github.com/6to5/6to5/pull/494

nice thread! but you guys should remember that if some js alternatives beat native functions today it may not be true for some tomorrow's build of v8. also readability matters

In this case for things like ES5 implementations plain JS has been faster for going on 10 years now. Even if native one day V8 catches up, the current fast plain JS alternative won't likely be getting slower.

yea I know I just wanna say don't be too fanatic

yea I know I just wanna say don't be too fanatic

I don't think anyone has said being fanatic is the best approach. I think profiled based investigations and optimizations are the way to go. As mentioned earlier optimizations are context specific so some bits may require uglier code. That seems like a grounded and reasonable approach which should avoid micro-opts & superstitious coding.

https://github.com/6to5/6to5/pull/518

It seems the require times, using
require("6to5/register")({
  experimental: true
});

are quite slow using 3.0.10. You can find them here: https://gist.github.com/Globegitter/3c7272a3f32d91833290
I have been comparing it to traceur with asyncFunctions: true and it takes about 1-1.5s more to load.
I know I could compile the code for better loading time, but I am trying to avoid a build step and traceur does perform decently.

@Globegitter Caching is automatically done in 3.x with 6to5/register and 6to5-node so the performance you're likely experiencing is just due to loadtime in general.

Or are you referring to the actual time spent actually executing require("6to5/register");.

Yep, it is the actual time spent executing the require.

Only takes 280ms for me.
$ node
> var time = Date.now(); require("6to5/register"); Date.now() - time;
280

Yeah, that is odd. It was just some quick testing. Will do more and report back if the performance issues persist.

Definently something weird going on, not sure if it's 6to5 related.

Some deps are just slow to require, this typically just affects command-line tools, the approach I have taken is to lazily require those deps so we only encure the penalty if they are used.
and extra 300ms for commandline tools is gnarly.
@sebmck maybe @Globegitter has a slow disk? HDD/thumbdrive or disk encryption

@stefanpenner Ah yeah, understood. Not sure if there's anything that can be done as I can't seem to locate any problem files that can be optimised.

@sebmck i can take a look for you after work,  the above tool helpers identify problematic areas, but does mask which specific modules are the problem. It is a good guide for further investigation.

It'd be more helpful if node-require-timings dumped all the times/requires as a tree because it makes it hard to visualise.

@sebmck i know the maintainer, he is open to PR's https://github.com/stefanpenner/node-require-timings

@stefanpenner Haha, that'll teach me to not check out packages more thoroughly :stuck_out_tongue_winking_eye:

Managed to cut the transpilation speed in ~half.

12738 passing (57s)

from

12738 passing (2m)

how?!

I made all the transformers export a methods that check if an input node would require the transformer to be ran. Then before any of the transformers are ran I do a prepass of the ast and run all the transformer checks against each node. It's a little more complicated than that but that's the gist of it.

Also the code generator is looking to be the bottleneck now. Plenty of places for potential optimisation.

Most of the performance work I've had in mind has already been completed so I'm closing this. Superseded by #883 anyway since there are various architectural changes I'm making that will improve this even more.

Comparing the total time of the transpilation process with Traceur.
Our codebase consists of 83 files with average of 400 LOC.
We use this configuration:
{
	optional: [
		'es7.comprehensions'
	],
	blacklist: [
		'validation.react',
		'es7.exponentiationOperator',
		'es6.constants',
		'es6.blockScoping',
		'es6.tailCall',
		'es3.memberExpressionLiterals',
		'es3.propertyLiterals',
		'regenerator',
		'flow',
		'optimisation.flow.forOf',
		'spec.functionName',
		'spec.blockScopedFunctions'
	]
}

The transpilation process takes about 15s, which is too long compared with Traceur. Traceur can handle the transpilation in less than 2s.
I am wondering where could be another performance issues?
I think, there must be something slow with a parser or a code generatoration.
When I run transpilation with DEBUG=babel I can see a lot of useful information. I can see how much time each of the transformers took. And probably, I can see the total time spent on parsing each of the files as well. An output for one file follows (this file has 1022 LOC):
babel /controllers/groupsCtrl.spec.js +340ms
babel /controllers/groupsCtrl.spec.js: Running transformer strict +235ms
babel /controllers/groupsCtrl.spec.js: Running transformer _validation +0ms
babel /controllers/groupsCtrl.spec.js: Running transformer _modules +19ms
babel /controllers/groupsCtrl.spec.js: Running transformer es7.comprehensions +16ms
babel /controllers/groupsCtrl.spec.js: Running transformer es6.templateLiterals +17ms
babel /controllers/groupsCtrl.spec.js: Running transformer es6.properties.shorthand +17ms
babel /controllers/groupsCtrl.spec.js: Running transformer es6.forOf +17ms
babel /controllers/groupsCtrl.spec.js: Running transformer es6.modules +44ms
babel /controllers/groupsCtrl.spec.js: Running transformer _blockHoist +27ms
babel /controllers/groupsCtrl.spec.js: Running transformer _declarations +22ms
babel /controllers/groupsCtrl.spec.js: Running transformer _shadowFunctions +21ms
babel /controllers/groupsCtrl.spec.js: Running transformer _strict +49ms
babel /controllers/groupsCtrl.spec.js: Running transformer _moduleFormatter +20ms
babel /controllers/groupsCtrl.spec.js: Running transformer _cleanUp +69ms
babel /controllers/groupsCtrl.spec.js: Running transformer _declarations +24ms

I assume, the first line in the output above expresses a parsing time of the whole file (???). In this instance, running all transformers took 597ms.
So if I understand the log above correctly, it took 597+340=937ms for transpiling that particular file in total.
It can be seen that the parsing time of the file (again, assuming the first line expresses the parsing time) and strict transformer are most slowest operations.
This slowness makes using Babel unusable for us and for any larger projects in general. And that's a pitty :(
Is there any plan to do another optimizations?
Thanks for reply.

So if I understand the log above correctly, it took 597+340=937ms for transpiling that particular file in total.

No, the 235ms is the time from initial load to the file actually being transformed so it includes all the overhead from parsing and require calls.

This slowness makes using Babel unusable for us and for any larger projects in general. And that's a pitty :(

It's working great for many ember-cli users :) You should be using incremental builds anyway (it's crazy not to), but there is definently room for improvement.
What version are you using? I recall cleaning up the debug output to be more clear.

Is there any plan to do another optimizations?

There are always plans for optimisations.


'qiime metadata tabulate' command is wrong only 'taxonomy.qza' to 'taxonomy.qzv'

Hello, I'm currently using qiime2. Thank you for the good tools.
Currently, I am experiencing something strange about the qiime metadata tabulate command.
The qza file created through the denoising process is well converted to qzv and leaves the following log.
qiime dada2 denoise-paired \
--p-n-threads 40 \
--i-demultiplexed-seqs 1.Import_data/Manifest.qza \
--p-trunc-len-f 277 \
--p-trunc-len-r 222 \
--p-trim-left-f 13 \
--p-trim-left-r 5 \
--o-representative-sequences 2.Denoising/rep_seqs.qza \
--o-table 2.Denoising/table.qza \
--o-denoising-stats 2.Denoising/stats_dada2.qza \
--verbose

qiime metadata tabulate \
--m-input-file 2.Denoising/stats_dada2.qza \
--o-visualization 2.Denoising/stats_dada2.qzv

Saved Visualization to: stats_dada2.qzv
However, the qza file created after 'quiime feature-classifier classify-sklearn' leaves the following logs, and the qzv file is not saved.
qiime feature-classifier classify-sklearn \
--i-classifier 0.DB/silva-138-99-nb-classifier.qza \
--i-reads 2.Denoising/rep_seqs.qza \
--p-n-jobs 20 \
--o-classification 3.Classification/taxonomy.qza

qiime metadata tabulate \
--m-input-file 3.Classification/taxonomy.qza \
--o-visualization 3.Classification/taxonomy.qzv

Saved FeatureData[Taxonomy] to: 3.Classification/taxonomy.qza
I tried --output-dir instead of --o-visualization of the 'qiime metadata tabulate', but it was still not saved, and the relevant files were not saved using the qiime tools export.
The problem only occurs in qza generated after classify-sklearn!
The qiime2 currently in use is 2021.11 version, and I tried it as 2021.8 version, but there was no difference.
Do you know how to solve it?
Is it over the command or is it a program problem?
After the update, taxonomy.qza no longer supports qzv?
Thank you for reading the long text.
Thank you for your answer in advance.

Hi @hyoj-seo,
I think this question should probably go to the QIIME 2 Forum as I'm not able to reproduce, so there's probably something else going on.
I set up a similar situation and saw this:
§ qiime metadata tabulate \
> --m-input-file 3.Classification/taxonomy.qza \
> --o-visualization 3.Classification/taxonomy.qzv

Saved Visualization to: 3.Classification/taxonomy.qzv

Is there any chance you hit the <tab> key while filling in --o-visualization? I did that almost instinctively while running the above and it auto-completes with 3.Classification/taxonomy.qza which would match what you see as output from the command.

Thank you for your quick response, @ebolyen!
When I organized the script, I used \, but when I actually ran, I connected it in one line.
As follows.
qiime metadata tabulate  --m-input-file 3.Classification/taxonomy.qza  --o-visualization 3.Classification/taxonomy.qzv
I can't believe it, but when I ran with the command you wrote me, I created a great qzv file! (Running directly on linux. Previously, it was written on python and printed out.)
But if you make your code in a single line, it doesn't generate qzv.
It's a strange problem, but we created qzv, so it's successful.
Once again, thank you for your quick help.
hyoj-seo.


Removing dummy content from Docusaurus

There are a lot of dummy content in the Docusaurus. Please remove it.
branch: gh-pages

Could you please elaborate more ....
Which dummy content ?

this

I can do this ...
Only this is or some more content is there which has to be removed ??

Can you assign this to me please?

Could you please assign it to me.

@FrozenGirl-spd You give it try. Make sure to complete it by today.

@sarthology I want to work on this issue, If its not assigned to anyone else.

@sarthology These dummy docs are being refered in docusaurus siteConfig.js and  sidebars.json files, Should I remove those references also?

Yes and remove files as well.

Can I work on this issue?


customView extension function not resolving

According to your guide I should do it like this:
val myView: View = // ...

MaterialDialog(this)
  ...
  .customView(view = myView)
  .show()

but unfortunately
  .customView(view = myView)

function is nowhere to be found. Am I missing something?
then I do it like this:
 val dialog = MaterialDialog(this)
.title(R.string.recommend_restaurant)
.positiveButton(text="OK")
//then this
 dialog.setContentView(R.layout.dialog_recommend_resto)
//the show
dialog.show()

but it shows the dialog with customView but it doesn't show title and positive button

What version of the library are you using?

See #1607

Thanks! I updated the version to 2.0.0-alpha11 and now its working!

I'm using 2.0.0-alpha10 when I encounter the problem


Result table are not getting generated when I am using mysql

I am using mysql as database and following my config file.

# Results database configuration (MySQL)
[results.my_results]
type = "mysql"  # Change this to MySQL
dsn = ""  # MySQL DSN for results
max_idle = 10
max_active = 100
connect_timeout = "10s"
results_table = "results_%s"

[db.my_db]
type = "mysql"  # Change this to MySQL
dsn = ""  # MySQL DSN for main database
max_idle = 10
max_active = 100
connect_timeout = "10s"

and when I am trying to get the job current state using following API:
http://<IP_ADDRESS>:6060/jobs/e13
I am getting below error:
{"status":"success","data":{"job_id":"e13","state":"FAILURE","count":0,"error":"could not execute job : error writing columns to result backend: Error 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\"results_e13\"' at line 1"}}
this is my db details:

Server: MySQL (<IP_ADDRESS> via TCP/IP)
Server type: MySQL
Server connection: SSL is not being used Documentation
Server version: 8.0.31 - MySQL Community Server - GPL
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8mb4)

what I understood from the error code is that its not able to create a table.
is there anything I am missing?

hm, it could be that the MySQL result table generation broke at some point. Can you try a Postgres instance as your results DB and see if this recurs in your environment? If it works, then we know that there's a potential bug and can start debugging.

I tried with postgress and it working as expected please find attached screenshots for more details so maybe there is some breaking changes for mysql.


Allow for custom dynamic parsers

It would be really good if we could include our own custom dynamic parsers similar to what is here;
https://github.com/concrete5-community/translation-library/blob/master/src/Parser/DynamicItem/Area.php
Would be good if we can define these classes in a config or perhaps add them in some other way for it to be picked up when you click "reload strings"
This would allow us to translate custom dashboard entities that we create that are used on the site

See https://github.com/concrete5-community/translation-library/pull/20 and https://github.com/concretecms/concretecms/pull/12164


bidding success and failure

Do you have callback mechanism in prebid-server-java? How does the bidding success and failure callback process work? If yes, can you provide the specific implementation class?

@xzhaoxz - I suspect you're talking about loss notifications. Prebid Server does not and (probably) will not ever support loss notifications because PBS doesn't choose the auction winner -- the ad server does. i.e. we don't know if you're going to lose.
While most of the time a bid that is not the highest CPM bid in PBS is unlikely to render, that is not always true:

the ad server could be set up to apply internal bid adjustments to certain bidders
the PBJS limited bid cache could be in use and a competitive bid could be used on a refresh

So for loss notification, the best that PBS could say is "you weren't the highest known bid so you're probably not going to render."
For wins, there's an /event endpoint, but it must be fired by the rendering client and is not currently available to bid adapters. I would say render success is a scenario where you don't need PBS support -- just put something in the render logic.
Besides not knowing for sure that a loss has happened, another reason why PBS is going to continue pushing back on loss notification is cost. Prebid Server host companies spend a lot of money (and carbon) on hardware and networking. Loss notifications will be expensive no matter the implementation:

if they're done synchronously as separate notifications at the end of the auction, there could be a rather high volume of additional network requests.
if they're done asynchronously as an add-on to the next auction request ("hey, you're probably not going to win the last auction"), that requires storing state between auctions, which is probably even more expensive because it would require state, which means RAM or no-sql connections.

@xzhaoxz - did this answer your question?


feat(tracker): support gen 7 and regional dexes

✲ﾟ｡✧٩(･ิᴗ･ิ๑)۶✲ﾟ｡✧
api

[x] add gen 7 pokemon into db
[x] add gen 7 evolutions into db

frontend

[x] add gen 7 to create dex page
[x] change serebii url
[x] change which locations to show
[x] add alola region filter
[x] add sprites
[x] get alola form sprites

to do

[x] add gen 7 to edit dex page (will be done in the edit page pr)
[x] region mobile has an extra border when last region is selected. will take care of this later, issue added: https://github.com/robinjoseph08/pokedextracker.com/issues/213
[x] region - when region filter is missing (not national dex), the padding is off
[x] profile - possibly adding an indicator for which gen/region a dex is

@robinjoseph08 indicator added and region padding fixed!

@ami i fixeded it!

@ami updated! wanna take one more look or is this good to merge?

LGTM!


Delete mojs-shapes from DOM on timeline Complete?

Hi Oleg,
Im excited to play with this library. Thanks for your work on it, and for the recent push on documentation, curve editor + player. These are AWESOME tools that I'm sure will push adoption.
I'm exploring this lib to draw shape fx for a web app. I'm already using isShowEnd to hide shapes generated, though considering so many will be generated in the life of a session (hours, even days in an open tab), it would be great to auto delete DOM elements created when each timeline completes.
A couple of questions:

Have I missed an option for this?
If not, is there a clean way to get a reference to that DOM element created, inside the onPlaybackComplete callback so I can manually delete?

Even better, would you consider a deleteshapeOnComplete option or similar?

Much appreciated!
~s

Hi Steven! Thanks a lot! Your demo looks awesome! Sorry for delayed reply.
Adding/removing elements to/from DOM is bad for performance since every DOM change will trigger the chain of browser reorganizations and cleanups. So every time you will remove an element from the DOM it will trigger reflow/repaint events which are bad for your animation. Also deleted elements have to be garbage collected just like any other objects are, which will block the main thread for a while and will make your animation jabber.
So mojs modules were designed to make as little DOM changes as possible. The best way to deal with the issue is to create modules once at page initialization and then reuse exact same modules on subsequent calls. For that, you have the tune public method that tunes options of module for ones that work for your current call:
const burst = new mojs.Burst({
  // options
});

$(document.body).on('click', '.some-card', function (e) {
   // reuse same burst by just tuning `x`/`y` of the burst to the current element's coordinates
   burst
       .tune({ x: e.pageX, y: e.pageY })
       // replay it after tune
       .replay()
});

codepen example
Of course, since user can click on your cards frequently, with small delay, and you animations can overlap, you want to create a pool of bursts and increment pointer to current element in that pool on each click event, probably 5 would be enough to cover all your cards: codepen example
I hope it sets more light over the problem. Please let me know if you have any further difficulties or if you have any thoughts.

P.S.
If you do want to remove the element from DOM after its done with it's job - just use .el property of the module. Callbacks are bound to module that they are called on and each module has .el property that is the root of the markup. So just do:
onPlaybackComplete () {
  $(this.el).remove();
}

Of course, I won't suggest to proceed with this approach since it will cause DOM thrashing and will bother GC a lot.
Cheers

hey Oleg,
Thanks for the good words, and for the detailed reply!
Ah I see, I had a feeling there was a good reason for keeping things in the DOM. That makes a lot of sense, re:performance. For our prototyping, the $(this.el).remove() is perfect for us, and we'll definitely continue exploring reuse as our project matures. Thanks for the Codepen + code examples, really helpful in understanding.
Talk soon,
~s

Happy to help, please let me know if something you'll stumble upon something! 🎉

This was great to know, @legomushroom. Have you considered writing out an FAQ for something like this (or build one as we go along)? I'm sure more than a few of us will be creating thousands of animations for art projects and can always benefit from advice like this on how to manage performance.

@darrentorpey thanks for the feedback. Yeah, we definitely need the faq section and better docs. I'm working on the stable release at the moment and plan to do the better job with the docs and even to create a full-length mojs video course. The main issue is that I have limited capacity and the docs always seemed to be low priority (since the API can change) but it will change with the stable release. If you want/can help with the docs, shoot me a message I will highly appreciate your help.

Pure javascript implementation
onComplete: function () {this.el.parentNode.removeChild(this.el);} }

React js Component for context
import mojs from '@mojs/core';

class Heart extends mojs.CustomShape {}

Heart.prototype.getShape = () => {
    return '<path d="M73.6170213,0 C64.4680851,0 56.5957447,5.53191489 51.7021277,13.8297872 C50.8510638,15.3191489 48.9361702,15.3191489 48.0851064,13.8297872 C43.4042553,5.53191489 35.3191489,0 26.1702128,0 C11.9148936,0 0,14.0425532 0,31.2765957 C0,48.0851064 14.893617,77.8723404 47.6595745,99.3617021 C49.1489362,100.212766 50.8510638,100.212766 52.1276596,99.3617021 C83.8297872,78.5106383 99.787234,48.2978723 99.787234,31.2765957 C100,14.0425532 88.0851064,0 73.6170213,0 L73.6170213,0 Z"></path>';
};

mojs.addShape('heart', Heart);

const CIRCLE_RADIUS = 32;
const RADIUS = 48;
const circle = new mojs.Shape({
    left: 0,
    top: 0,
    stroke: '#E5214A',
    strokeWidth: { [2 * CIRCLE_RADIUS]: 0 },
    fill: 'none',
    scale: { 0: 1 },
    radius: CIRCLE_RADIUS,
    duration: 400,
    easing: 'cubic.out',
});

const burst = new mojs.Burst({
    left: 0,
    top: 0,
    radius: { 4: RADIUS },
    angle: 45,
    count: 14,
    timeline: { delay: 300 },
    children: {
        radius: 2.5,
        fill: '#E5214A',
        scale: { 1: 0, easing: 'quad.in' },
        pathScale: [0.8, null],
        degreeShift: [13, null],
        duration: [500, 700],
        easing: 'quint.out',
    },
});

const heart = new mojs.Shape({
    left: 0,
    top: 2,
    shape: 'heart',
    fill: '#E5214A',
    scale: { 0: 2 },
    easing: 'elastic.out',
    duration: 1600,
    delay: 300,
    radius: 11,
});

const showHeartWhereClicked = (e) => {
    const x = e.clientX;
    const y = e.clientY;
    const cords = { x, y };
    burst.tune(cords).replay();

    circle.tune(cords).replay();

    heart.tune(cords).replay();
};

export {
    showHeartWhereClicked
};

In the current code, I can show an animation but the heart remains on the screen even though the animation has ended, is there a fix for this?
Note: when the animation is fired again the heart is deleted and new animation is played, this is not an issue, the issue is again the next heart will remain on the screen.

Hi @rajchandra3,
As explained by @almgwary, you need to remove it by yourself as it is not implemented yet in the library.
Use:
const heart = new mojs.Shape({
  left: 0,
  top: 2,
  shape: 'heart',
  fill: '#E5214A',
  scale: { 0: 2 },
  easing: 'elastic.out',
  duration: 1600,
  delay: 300,
  radius: 11,
  onComplete: function() {
    this.el.parentNode.removeChild(this.el);
  }
});

:wink:

Thanks, @xavierfoucrier for the quick response and making this clear.


TLS memory leaks fix

My goal was to use OpenCV TLS storage for per-thread data initialization in threaded OpenCV function, to separate data management from processing. But it was leaking memory like there is no tomorrow.
So in the process of memory leak fixing, I redesigned TLS classes in more straightforward way (at least from my point of view).

Right, current implementation is not designed for this heavy usage (we use it for global flags).
I see these issues in current OpenCV implementation:

key index leakage: https://github.com/Itseez/opencv/blob/master/modules/core/src/system.cpp#L1090-L1095
Need to scan for NULL entries and return them instead of new entry allocation.
Also synchronization with entries in TLSStorage is required.
Leakage of thread-linked custom data, which is mentioned in the comment here: https://github.com/Itseez/opencv/blob/master/modules/core/src/system.cpp#L1101
May be some list of all TLSStorage will help here (via call getTLSContainerStorage().destroyData(i, data))

Yes, I observed such problems.
I didn't really try to fix the first one, as I don't see it as a huge problem. But I made lazy check for release of an index which is the last in the array:

   // If we removing last element, decriment slots size to save space

   if(tlsSlots-1 == slotIdx)

       tlsSlots--;

The second one was my priority. As it prevents using of this class for anything but global objects. So, I changed data flow a bit and created shared vector which has pointers to every thread data, so we can cleanup object from every thread then TLSData is destructed.

So, it fails with ABI check, is this a serious problem?

Thanks! Looks good.
Could you please squash commits into one?

:+1:


Mac重启后无法启动tidevice.exceptions.MuxReplyError: UsbmuxReplyCode.ConnectionRefused

之前一切正常可以运行，设备无故重启之后就无法启动，更换usb插口也无效，详细报错：
Traceback (most recent call last):
File "/usr/local/bin/tidevice", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 669, in main
actionsargs.subparser
File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 227, in cmd_xctest
d.xctest(args.bundle_id,
File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 1002, in xctest
x1 = self._connect_testmanagerd_lockdown()
File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 801, in _connect_testmanagerd_lockdown
conn = self.start_service(LockdownService.TestmanagerdLockdown)
File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 454, in start_service
return self._unsafe_start_service(name)
File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 483, in _unsafe_start_service
conn = self.create_inner_connection(data['Port'], _ssl=_ssl)
File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 294, in create_inner_connection
self._usbmux._check(data)
File "/usr/local/lib/python3.9/site-packages/tidevice/_usbmux.py", line 84, in _check
raise MuxReplyError(data['Number'])
tidevice.exceptions.MuxReplyError: UsbmuxReplyCode.ConnectionRefused

之前一切正常可以运行，设备无故重启之后就无法启动，更换usb插口也无效，详细报错： Traceback (most recent call last): File "/usr/local/bin/tidevice", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 669, in main actionsargs.subparser File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 227, in cmd_xctest d.xctest(args.bundle_id, File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 1002, in xctest x1 = self._connect_testmanagerd_lockdown() File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 801, in _connect_testmanagerd_lockdown conn = self.start_service(LockdownService.TestmanagerdLockdown) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 454, in start_service return self._unsafe_start_service(name) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 483, in _unsafe_start_service conn = self.create_inner_connection(data['Port'], _ssl=_ssl) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 294, in create_inner_connection self._usbmux._check(data) File "/usr/local/lib/python3.9/site-packages/tidevice/_usbmux.py", line 84, in _check raise MuxReplyError(data['Number']) tidevice.exceptions.MuxReplyError: UsbmuxReplyCode.ConnectionRefused

解决了 一样的问题

之前一切正常可以运行，设备无故重启之后就无法启动，更换usb插口也无效，详细报错： Traceback (most recent call last): File "/usr/local/bin/tidevice", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 669, in main actionsargs.subparser File "/usr/local/lib/python3.9/site-packages/tidevice/main.py", line 227, in cmd_xctest d.xctest(args.bundle_id, File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 1002, in xctest x1 = self._connect_testmanagerd_lockdown() File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 801, in _connect_testmanagerd_lockdown conn = self.start_service(LockdownService.TestmanagerdLockdown) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 454, in start_service return self._unsafe_start_service(name) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 483, in _unsafe_start_service conn = self.create_inner_connection(data['Port'], _ssl=_ssl) File "/usr/local/lib/python3.9/site-packages/tidevice/_device.py", line 294, in create_inner_connection self._usbmux._check(data) File "/usr/local/lib/python3.9/site-packages/tidevice/_usbmux.py", line 84, in _check raise MuxReplyError(data['Number']) tidevice.exceptions.MuxReplyError: UsbmuxReplyCode.ConnectionRefused

解决了吗？ 一样的问题

主要还是usbmuxd这个服务出了点问题

开始安装的时候试过，可以正常启动app。但一段时间后再用就报这个错误，不知道啥问题


proposal: net: add support for Happy Eyeballs version 2 (RFC 8305)

Since RFC 6555 published, research papers, for example, Measuring the Effects of Happy Eyeballs, depict improvement space for the RFC. In addition, network or service operators speak up that the race is not only for TCP connection setup but for DNS query handling. RFC 8305 Happy Eyeballs version 2 addresses such issues.
To summarize, version 2 clarifies the existing algorithm, modifies the configurable variable values for performance improvement and adds consideration for various circumstances such as IPv6-IPv4 transition and VPN. Luckily, there's no significant user-visible behavioral change.
I'd like to propose to replace the existing RFC 6555 implementation with RFC 8305 implementation after landing dns/dnsmessage package (#16218).

Summarize what this means for Go, so we don't need to diff RFC 6555 vs 8305.
Just add Happy Eyeballs-ish behavior to DNS lookups?

Just add Happy Eyeballs-ish behavior to DNS lookups?

Yup, mostly. FWIW, https://tools.ietf.org/html/rfc8305#appendix-A

Seems fine. As long as the code can be done without too much complexity.

Accepted but only if the result is simple enough.


Updated README for the new repo

This is Chef offering to take maintainership of this gem. :)
Signed-off-by: JJ Asghar<EMAIL_ADDRESS>

@tshak do you think you could merge this?

Thanks!


InitialState does not implement Default

The documentation for GetInitialState says:

If no such entry exists due to being the first time the node has come online, then the default value for InitialState should be used.

However, InitialState does not implement Default, and neither does HardState.

@Diggsey btw, the docs that I had there were definitely misleading 😬😬😬 sorry about that. And sorry that it has token so long to get this stuff updated.
I'm finishing up my work over in #59 and have updated the docs for the InitialState type to resolve this confusion.

Nice :)


fix: support the changed field name "imagePath" -> "refImg.path"

Coverage remained the same at 100.0% when pulling dda2b8ec04f37e106c52f50499cec36a1b59d373 on dd.support_modified_field_name into 69f595c15a76f6a4a0381ce71f7d708628da2b09 on master.


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
PythonIsort.updateStatusbarText (/Users/davide/.atom/packages/python-isort/lib/python-isort.coffee:20:23)

Same as #3
Fixed already


Null check for partitionGroupSmallestOffset and metric for failure in RealtimeSegmentValidationManager

Recently saw an exception in RealtimeValidationManager, wherein the partitionGroupSmallestOffset was returned as null (when trying to fix a segment which was marked OFFLINE). As a result, the periodic task encounters NPE and exits.
In this PR

Handling the null value gracefully
Adding a metric for catching errors in PeriodicTasks
Verified metric is emitted

Codecov Report

Merging #9020 (4af3088) into master (de16a0a) will decrease coverage by 54.71%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #9020       +/-   ##
=============================================
- Coverage     70.08%   15.36%   -54.72%
+ Complexity     4957      170     -4787
=============================================
  Files          1827     1780       -47
  Lines         96064    94008     -2056
  Branches      14356    14125      -231
=============================================
- Hits          67327    14447    -52880
- Misses        24092    78531    +54439
+ Partials       4645     1030     -3615

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
15.36% <0.00%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...g/apache/pinot/common/metrics/ControllerMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...elix/core/periodictask/ControllerPeriodicTask.java
66.07% <0.00%> (-1.21%)
:arrow_down:

.../core/realtime/PinotLLCRealtimeSegmentManager.java
65.70% <0.00%> (-12.08%)
:arrow_down:

...src/main/java/org/apache/pinot/sql/FilterKind.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ain/java/org/apache/pinot/core/data/table/Key.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/spi/utils/BooleanUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/data/table/Record.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/util/GroupByUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1383 more

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 de16a0a...4af3088. Read the comment docs.

What was the stream type of the table in which this error happened? Could be a bug in retrieving the smallest offset in one of the stream implementations.


feat: make  slot more flexible

📑 Description
The current <TableHead> component just put the slot in a <tr> element. This weakens the flexibility of this component, such as multiple head rows or style modification on head rows. For the sake of compatibility with users' existing code, I add a boolean prop defaultRow rather than deleting that single <tr> element.
✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] I have checked the page with https://validator.unl.edu/
[ ] All the tests have passed
[x] My pull request is based on the latest commit (not the npm version).

Thank you for your PR.
Can you run tests by npm run test?
Can you also confirm this is based on the latest commit.

I have updated my PR to let it be based on the latest commit, but unluckily I cannot successfully start up the tests with trying 10 times, it kept timeout. However, my local preview and the two previews deployed by the github vercel bot all don't show any bug, so this PR maybe safe enough to be merged. It's okay to let this PR wait for a few days, I will try to run the tests more times.

After adjusting the playwright webServer.timeout configuration to 300000, I finally started up the tests, and except xxx page should have h1, there were no other failed tests. BTW, this PR is updated again to be based on the latest commit.


Support the new Popover API natively

Feature Request
The new Popover API has just been released and it works in every browser, using this in dioxus would greatly improve the look and feel of a lot of apps
Implement Suggestion
Adding the necessary attributes in the GlobalAttributes to utilize the Popover API declaratively

Declaratively, via a set of new HTML attributes. A simple popover with a toggle button can be created using the following code:

<button popovertarget="mypopover">Toggle the popover</button>

Popover content

Closed by https://github.com/DioxusLabs/dioxus/pull/2498


Installation Patch

Makefile is expanded so that the makefile installs the program into /usr/local/bin.

Hey @theunpleasantowl!  Sorry for the delay in responding: I legitimately didn't see this PR until now.  Thanks for adding an install target!  The changes to the Makefile and readme look good to me.  I'm not really comfortable from removing the license from the repo, even though the Unlicense is fairly permissive — I'd be happy to merge if you could restore the license.  Cheers!


Add more unit tests for pkg/attribute

This change is

Jenkins job mixer/presubmit passed

Jenkins job mixer/pilot-regression passed


WSL terminal: read failed 5: I/O error when opening a file with a Windows editor on a file in \wsl$

Environment
Windows build number: `Microsoft Windows [Version 10.0.19041.450]`
Your Distribution version: `Ubuntu 18.04`
Whether the issue is on WSL 2 and/or WSL 1: WSL2

Steps to reproduce
FYI: This behaviour did not exist under WSL1
See: #5590 for a similar Python related issue.
I use gvim for Windows to edit files on the WSL filesystem. I do this via the \\wsl$ fileshare via this script:
~/bin/gvim:
#!/bin/bash
CMNT='/c'
CMD='/c/Windows/System32/cmd.exe'
GVIM='/c/Program Files (x86)/Vim/vim81/gvim.exe'
FILE=`realpath "${1:-.}"`
if [[ $FILE == $CMNT/* ]] ;
then
  FILE=${FILE/$CMNT\//C:\\}
else
  # replace the first forward slash
  FILE=${FILE/\//\\\\wsl\$\\Ubuntu\\}
fi
# replace the rest
FILE=${FILE//\//\\}
echo Launch gvim for file: $FILE
`"$GVIM" $FILE` &

This allows me to type: gvim myfile and have it do the necessary conversion of the path from WSL to Windows for myfile.txt.  For instance:
$ pwd
/home/craiger/tmp
$ gvim myfile.txt

This would launch gvim for Windows in the following way:
/c/Program Files (x86)/Vim/vim81/gvim.exe \\wsl$\Ubuntu\home\craiger\tmp\myfile.txt &
If I was in a /c folder (Windows filesystem) then it'd open C:\...\myfile.txt instead.
I will  then receive a: read failed 5: I/O error for each character I type in the terminal as long as gvim remains open.  As soon as I close gvim, the errors go away.
For instance, here I was typing ls -al while that gvim instance was still open, I got the error after typing each character:

Is there something I can do to maintain my ability to use gvim to open files within the WSL filesystem but get rid of the error I'm receiving in the terminal as a result?
Note: If I simply launch '/c/Program Files (x86)/Vim/vim81/gvim.exe' \\\\wsl$\\Ubuntu\\home\\craiger\\src\\tmp\\hello.txt & directly from the command line (without using my gvim script) then the problem is not present.  So I think it has to do with launching a windows program from a bash script.
WSL logs: Submitted and issue to the Feedback Hub, however the "Recreate My Problem" button in the Feedback Hub was disabled for me, so I could not submit any logs
Expected behavior
Regardless of whether or not I'm editing a file from my Windows process that was spawned from WSL, I should be able to type in my terminal without receiving read failed 5: I/O error
Actual behavior
Launching gvim from a bashscript for a Windows process using & to background it whilst editing a file (i.e. error doesn't happen if I just launch gvim without passing it a file) causes the terminal to display read failed 5: I/O error when I type in characters. It is only after I terminate the gvim process that the terminal is restored to normal working conditions.

This is not related to–and will not help with–your problem, but you might be happy to learn about the wslpath utility that is accessible from any WSL distribution. It will do mount-table-aware translation of paths between Windows and WSL. :smile:

"$GVIM" $FILE &

You've started a job on a shell that is about to die. If it worked on WSL1, that was likely by chance. Running it from the commandline is not the same putting a & inside of a script. [And we're setting aside that a win32 program can't take job control signals, because it isn't a Linux program.]
Wasn't able to reproduce here on WSL2 (your script worked). But that almost certainly has to do with the behavior being undefined. That EIO is de-facto by-design. And probably a dupe of #5590, but the OP repro over there is too cray to verify that with any certainty.
You probably want something like:
$ powershell.exe -Command 'Start ${env:ProgramFiles(x86)}\Vim\vim82\gvim.exe \\wsl$\focal2\home\ken\Devel\5878\hello.txt'

Or maybe just:
$ powershell.exe Start '${env:ProgramFiles(x86)}\Vim\vim82\gvim.exe' hello.txt

Also what Dustin said.

I dunno; doing job control in a shell that's about to get terminated should be fine. Running a graphical application on actual Linuxen via thing & from a script isn't an unusual or uncommon thing to do, and interop should make it quite possible for WSL to do the same.
 It's encoded in decades of scripting knowledge :smile:

I dunno; doing job control in a shell that's about to get terminated should be fine.

That is plenty common. Spawning that xsession with ssh to a remote machine.... less common. Which is in effect what is happening with that gvim and interop (spiritually, anyway). The job control is on the other side of the wire. Hence PS Start.
That said, whether it "should be fine", I won't deign to say. I am not even sure whether #4649 "should be fine" or not. Which is why it is still chirping crickets.

This is not related to–and will not help with–your problem, but you might be happy to learn about the wslpath utility that is accessible from any WSL distribution. It will do mount-table-aware translation of paths between Windows and WSL. 😄

Oh yes, I know about wslpath however when I'm in /c, gvim won't understand how to get to that path so I have to convert it all to C:\...

@therealkenc neat, it'll make my script a lot simpler for sure 👍

@DHowett Thanks for the suggestion of wslpath -w and to you @therealkenc for getting it working via Powershell. I'm no longer experiencing the read failed 5 error.